Compare commits

..

975 Commits
3.3_M3 ... sumo

Author SHA1 Message Date
Richard Purdie
b39f4146de bitbake: fetch2: Change git fetcher not to destroy old references
It looks like we're about to see a lot of changes in branch names in repos. If
we have the prune option here, those old names are lost, the changes propagate
to our source mirrors and our old releases break.

We have the force option so any replaced references should be replaced, its only
orphaned branches which will now be preserved.

I believe this behaviour will cause us fewer problems given the changes that
look likely to happen.

(Bitbake rev: 1df4fb1c9bf2fde0b274374bff1235c4b1f7ac79)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-09-08 14:46:17 +01:00
Ivan Efimov
cbb677e9a0 bitbake: bitbake-worker child process create group before registering SIGTERM handler
The bitbake-worker child on the SIGTERM signal handling send the SIGTERM to all
processes in it's process group. In cases when the bitbake-worker child got
SIGTERM after registering own SIGTERM handler and before the os.setsid() call
it can send SIGTERM to unwanted processes.

In the worst case during SIGTERM processing the bitbake-worker child can be in
the group of the process that started BitBake itself. As a result it can kill
processes that not related to BitBake at all.

(Bitbake rev: 945719d852da6c787bc9115bd0aa90c429f5de07)

Signed-off-by: Ivan Efimov <i.efimov@inango-systems.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-11-07 19:47:12 +00:00
Armin Kuster
e58082e22d bitbake: tests/fetch: Resolve fetch error in bitbake-selftest
FAIL: test_wget_latest_versionstring (bb.tests.fetch.FetchLatestVersionTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/pokybuild/yocto-worker/oe-selftest/build/bitbake/lib/bb/tests/fetch.py", line 1229, in test_wget_latest_versionstring
      self.assertTrue(verstring, msg="Could not find upstream version for %s" % k[0])
      AssertionError: '' is not true : Could not find upstream version for db

[YOCTO #13496]

The Oracle UPSTREAM_CHECK_URI used changed and does not work with logic in wget.

Update UPSTREAM_CHECK_URI and UPSTREAM_CHECK_REGEX to match the ones used in the
recipe. Also change the version being checked.

(Bitbake rev: 50d2166054338b7a63c4dc7116cd212a9ecfbfaf)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-11-07 07:40:31 +00:00
Richard Purdie
5ddf7fff99 devtool: Split tests into multiple classes
This allows better parallelism between the different tests as currently
this block takes the longest time to execute. devtool tests are still
all grouped into the "devtool" module for ease of exection.

This also makes it easier to execute some subset of devtool tests for
testing devtool changes.

(From OE-Core rev: 84f19e78d9b1f3d634cf1d46ce48f24670199d0b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-25 15:01:21 +01:00
Richard Purdie
9a8d6d9fd2 oeqa: Default to buffer mode for tests
Currently some tests run in buffer mode and some don't. Those that don't can
corrupt stdout/stderr. Switch to using buffer mode everywhere so we're consistent.

If there is useful output on stdout/stderr, it will be displayed if the test
fails.

(From OE-Core rev: 85c1b6fb516aae58240330a0aca659bfafcd3883)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-25 15:01:21 +01:00
Richard Purdie
65681147b2 oeqa/selftest/devtool: Ensure dbus is built befoe running test
If dbus isn't build first the dbus dependency of dbus-wait can't be detected
through pkgconfig and the test fails:

AssertionError: {'DEPENDS': {'dbus'}} != {}
- {'DEPENDS': {'dbus'}}
+ {} : Some expected variables not found in recipe: {'DEPENDS': {'dbus'}}

Ensure dbus is built and present in the sysroot.

(From OE-Core rev: af7ba26a603a12de0aed35e786674c92049c2bee)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-25 15:01:21 +01:00
Chen Qi
8c7ca97dd6 logging: use warning instead warn
The warn method is deprecated. We should use the documented warning instead.

Quoting from the python's official doc:
"""
Note: There is an obsolete method warn which is functionally identical to warning.
      As warn is deprecated, please do not use it - use warning instead.
"""

(From OE-Core rev: cc771aa4b74f222f1bea38b0b50196b2fbc97ab4)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-25 15:01:21 +01:00
Khem Raj
8dcc23b5cc lib/oe: Fix collections ABCs DeprecationWarning in Python 3.7+
- Prefer collections.abc (new in Python 3.3) over collections for abstract base classes

- In Python 3.8, the abstract base classes in collections.abc will no longer be exposed in
  the regular collections module. This will help create a clearer distinction between
  the concrete classes and the abstract base classes."

- https://docs.python.org/3.7/whatsnew/3.7.html#deprecated

- see c66f9f8d39

(From OE-Core rev: b254ab6ce34da3d3241a51958b5770664d317fcc)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-25 15:01:21 +01:00
Ross Burton
3794496ef7 wic: use explicit errno import
os.errno doesn't work in Python 3.7 and shouldn't have ever worked, so use
import errno explicitly.

(From OE-Core rev: 7b1dba1a464862e35295756ecf52b24d0962528b)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-25 15:01:21 +01:00
Richard Purdie
bc6a09c36e wic/engine: Fix missing parted autobuilder failures
OE-Core rev: a88bcbae850a2e6d182291d3f8e167aabdbe4842 broke the ability
to find parted as it may be in sbin which is not in PATH for some users
on some distros.

Iterate on the original patch to fix this and also fix the original problem.

(From OE-Core rev: af3803e5189d7814f9dbd238fb6dab200f351e1a)

(From OE-Core rev: 68f56a4967d3121940669ca9116e759081b0b73b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-25 15:01:21 +01:00
William Bourque
e90f7a24fe wic/engine.py: Load paths from PATH environment variable
Load self.paths from environment variable and
if it fails, fall back to hardcoded list.
This is required for users that would need to load
different e2fsprogs binaries if their system's ones
are not recent enought

(From OE-Core rev: a88bcbae850a2e6d182291d3f8e167aabdbe4842)

(From OE-Core rev: c8331fa157b83a3ed77f77a6e884c7fbc4f1d91b)

Signed-off-by: William Bourque <wbourque@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-25 15:01:21 +01:00
Leonardo Augusto
796788c025 scripts/lib/wic/engine: Fix cp's target path for ext* filesystems
Python subprocess' shell=True defaults to /bin/sh[1][2], which
often refers to a POSIX-compliant shell. As the -e flag is
not defined in the POSIX standard[3], some shells may
interpret "-e" as the first argument to the echo command,
causing the rest of the command line to fail.

In this particular case, "echo -e 'cd {}'" is interpreted
as "-e cd {}", which causes the first line of the command
to fail, and causing cp to always place the source file
in the filesystem's root.

Replacing "echo -e" for a printf command makes this
more portable.

This issue only affects "wic cp" for ext* filesystems.

[1] https://docs.python.org/2/library/subprocess.html
[2] https://docs.python.org/3/library/subprocess.html
[3] http://pubs.opengroup.org/onlinepubs/9699919799

(From OE-Core rev: 9a5b703d4e60c3ccdf80b5289b8e6fc91133fcde)

(From OE-Core rev: b9ccf44edccd31264890fa790d6120fc9e2c0238)

Signed-off-by: Leonardo Augusto <leobsd@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-25 15:01:21 +01:00
Kai Kang
13ad350647 wic: search nonarch STAGING_DATADIR for multilib
It fails to build multilib image such as lib32-core-image-minimal with
wic by set 'IMAGE_FSTYPES = "wic"':

| ERROR: Couldn't find correct bootimg_dir, exiting

When multilib is enabled, STAGING_DATADIR is expanded with MLPREFIX. But
dependencies of images such as syslinux is still populated to nonarch
STAGING_DATADIR.

Search nonarch STAGING_DATADIR to fix the error.

(From OE-Core rev: 6f53c61dd989045a7075b678c7030421d715bc16)

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-25 15:01:21 +01:00
Geoff Parker
bc7a89f5ec wic: make engine.py:get_partitions() resilient to parted/dmidecode stderr output
Running wic commands on Debian 10 systems fail in
scripts/lib/wic/engine.py:get_partitions() due to new stderr output captured
when trying to parse the output from /sbin/parted as a non-root user.

The parted command calls the dmidecode utility, which produces this error
as a non-root user:
    /sys/firmware/dmi/tables/smbios_entry_point: Permission denied
    /dev/mem: Permission denied

scripts/lib/wic/engine.py:get_partitions() calls misc.py:exec_cmd(),
a subprocess wrapper which returns a combined stderr and sdtdout.
These messages to stderr confuse the partition table parser in
get_partitions().

This patch has the partition table parser ignore lines before the expected
"BYT;" header string.

Running wic in Debian 9 does not have this issue.

(From OE-Core rev: 6b5681533eed4e6c00e1cc7ee442c93076f1c976)

Signed-off-by: Geoff Parker <geoffhp@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-25 15:01:21 +01:00
Richard Purdie
87c218c006 scripts/wic: Be consistent about how we call bitbake
Whilst its tempting to call bitbake_main(), the script also directly executes
bitbake. By doing both this creates all kinds of races. Therefore
change to use subprocess execution in all cases.

(From OE-Core rev: 0507ec4c6069490c9a503e9e2b65f0e7b1962d34)

(From OE-Core rev: 2f2d52a958d3e9d511a2f5b8b14ed46466dd0d23)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-25 15:01:21 +01:00
Davis, Michael
d335a43030 wic: Support for changing the imager.
(From OE-Core rev: 30b33d787595b8c3120b73c755a432a0f0f30fa7)

Signed-off-by: Michael Davis <michael.davis@essvote.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-25 15:01:21 +01:00
Chen Qi
56ddd6b3f4 pkgdata.py: avoid target-sdk-dummy-provides to mess things up
Sometimes we meet the following failure for the test_lookup_recipe
test case.

  AssertionError: 'zlib\nbusybox is in the RPROVIDES of target-sdk-provid[32 chars]ummy' != 'zlib\nbusybox'
    zlib
  + busybox- busybox is in the RPROVIDES of target-sdk-provides-dummy:
  - target-sdk-provides-dummy

This is because target-sdk-provides-dummy rprovides busybox.

So clean things up to avoid failure.

(From OE-Core rev: 5ae49260180adc0070287db01c01a0820ce99ad3)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-25 15:01:21 +01:00
Yeoh Ee Peng
0e946eb5b2 resulttool/manualexecution: Refactor and simplify codebase
Simplify and removed unnecessary codes.
Refactor to allow pythonic loop.

(From OE-Core rev: 77ede7cbb7da2ed1b01d11441edcbd7dedad9b9a)

Signed-off-by: Yeoh Ee Peng <ee.peng.yeoh@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-25 15:01:21 +01:00
Yeoh Ee Peng
add04306cd resulttool/manualexecution: Fixed step sorted by integer
Currently the manual execution display step by sorting
the step as string, where steps were not being sorted
correctly when there are more than 9 steps.

Fixed the step sorting by sorting step as integer.

(From OE-Core rev: 1e5fba51f022a9320e72b6df753a02bfc1732af8)

Signed-off-by: Yeoh Ee Peng <ee.peng.yeoh@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-25 15:01:21 +01:00
Yeoh Ee Peng
b351f59c28 resulttool/manualexecution: Enable display full steps without press enter
Current manualexecution required pressing enter button to show each step
information, where this was wasting execution time. Enable display
full steps without needing to any press enter button.

(From OE-Core rev: c833aba64f26546894a0c58d8a59db75d18e2ff7)

Signed-off-by: Mazliana <mazliana.mohamad@intel.com>
Signed-off-by: Yeoh Ee Peng <ee.peng.yeoh@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-25 15:01:21 +01:00
Yeoh Ee Peng
e450fa09a6 resulttool/manualexecution: Standardize input check
Current input checking does not match the standard input practiced
by QA team. Change the input checking to match the standard
input practiced by the QA team.

(From OE-Core rev: 6eb041fd930a3731743cc715eb8d73b045cf8932)

Signed-off-by: Yeoh Ee Peng <ee.peng.yeoh@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-25 15:01:21 +01:00
Richard Purdie
7999c7d556 resulttool: Allow extraction of ptest data
Rather than simply discarding the ptest data, change the code to discard
it when writing out the new testresult files, or optionally either preserve
it, or write it as seperate discrete logs.

This means the autobuilder should start writing out individual ptest log
files as well as allowing ueers to extract these manually.

(From OE-Core rev: 08c5471c5abd95616af8df862e96072d022a6f42)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-25 15:01:21 +01:00
Richard Purdie
59fe038433 resulttool: Allow store to work on single files
Store operations using a single file as a source weren't working as the os.walk
command didn't like being given a single file. Fix the store operation to
work for single files.

(From OE-Core rev: 639598aa855df523e3dd1f8df1b0eacfa7fb13d6)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-25 15:01:21 +01:00
Yeoh Ee Peng
597d0da6b4 resulttool: Enable report for single result file
Current validation check function inside resulttool disallow the
report for single result file although the underlying library
was able to handle both directory and file as source input to report.
Removed the validation check as it was no longer needed and to
enable report for single result file.

(From OE-Core rev: 69ccfb9f978382f935c4d0609e09e00aab327188)

Signed-off-by: Yeoh Ee Peng <ee.peng.yeoh@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-25 15:01:21 +01:00
Yeoh Ee Peng
4498fea205 oeqa/manual/toaster: updated test id naming
All test id (eg. @alias) inside manual testcase file shall follow the same
test id naming convention from oeqa automated tests (eg. selftest,
runtime, sdk, etc), where the test id consists of
<test_module>.<test_suite>.<test_function>. Furthermore, there shall be
only 1 unique test_module per each manual testcases file, where
test_module match the file name itself.

This file was using test_module name that does not match the file name
itself. Fixed test_module name as well as the test_suite name.

(From OE-Core rev: 05e08a64771e40c147bdd6f02492b85edc01e946)

Signed-off-by: Yeoh Ee Peng <ee.peng.yeoh@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-25 15:01:21 +01:00
Yeoh Ee Peng
442b9f2dfa oeqa/manual/toaster: transfer manual toaster test cases to oeqa
As part of the solution to replace Testopia, manual test cases
need to be migrated to OEQA. These manual test case json files
will serve two use cases.

Use case#1: as input to the future commandline-based manual test
runner script, where this script will display actions and expected
result information in user friendly text, then it will capture
user input for test result and log, finally it will write test
result and log into existing standardize test result json format
from OEQA framework for automated tests.

Use case#2: QA will open and read these json file manually for
planning manual test execution. Any reader interested in
understanding manual test cases will open and read these files.

(From OE-Core rev: 73f5446c38a5d7766c81cda7a7bb22df9cfe0f23)

Signed-off-by: Yeoh Ee Peng <ee.peng.yeoh@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-25 15:01:21 +01:00
sangeeta jain
ad2fe82652 oeqa/manual/kernel-dev.json: test id updated
All test id (eg. @alias) inside manual testcase file shall follow the same test id
naming convention from oeqa automated tests (eg. selftest, runtime, sdk, etc), where
the test id consists of  <test_module>.<test_suite>.<test_function>. Furthermore,
there shall be only 1 unique test_module per each manual testcases file.

This file was using more than 1 unique test_module for testcases. Furthermore,
some of the testcases were defined using different test_suite where it was not needed.
This patch fix the manual testcases file to have only 1 unique test_module
as well as test_suite to simplify test id naming.

(From OE-Core rev: 35233e411db1a5978bfb2f4265b8e3a8fbdc4246)

Signed-off-by: sangeeta jain <sangeeta.jain@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-25 15:01:21 +01:00
sangeeta jain
fcde665168 oeqa/manual/compliance-test.json: test id updated and missing test cases added
Two changes made in oeqa/manual/compliance-test.json:

1. All test id (eg. @alias) inside manual testcase file shall follow the same test id
naming convention from oeqa automated tests (eg. selftest, runtime, sdk, etc), where
the test id consists of  <test_module>.<test_suite>.<test_function>. Furthermore,
there shall be only 1 unique test_module per each manual testcases file.

This file was using more than 1 unique test_module for testcases. Furthermore, some of
the testcases were defined using different test_suite where it was not needed. This patch
fix the manual testcases file to have only 1 unique test_module as well as test_suite to
simplify test id naming.

2. Added 2 missing test cases for Beaglebone Stress Test.

(From OE-Core rev: 7d95d4c6d30ae2977cd9feb5a45f96d05ff9b763)

Signed-off-by: sangeeta jain <sangeeta.jain@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-25 15:01:21 +01:00
sangeeta jain
baceab8697 oeqa/manual/bsp-hw.json: test id updated and obsolete test cases removed
Two changes made in oeqa/manual/bsp-hw.json:

1. All test id (eg. @alias) inside manual testcase file shall follow the same test id naming
convention from oeqa automated tests (eg. selftest, runtime, sdk, etc), where the
test id consists of  <test_module>.<test_suite>.<test_function>. Furthermore,
there shall be only 1 unique test_module per each manual testcases file.

This file was using more than 1 unique test_module for testcases.
Furthermore, some of the testcases were defined using different test_suite where it was not
needed. This patch fix the manual testcases file to have only 1 unique
test_module as well as test_suite to simplify test id naming.

2. As per review by Intel and Windriver team, 7 testcases were found obsolete. Removed 7 testcases.

(From OE-Core rev: 862c96a98d2087cf05fbfeeafb57dcef1225d978)

Signed-off-by: sangeeta jain <sangeeta.jain@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-25 15:01:21 +01:00
Mazliana
f075c32754 oeqa/manual/bsp-hw.json: add non-IA tests
QA team found that 10 manual bsp test cases from Testopia for
Beaglebone, EdgeRouter, and MPC need to be up streamed

[YOCTO #12650]

(From OE-Core rev: 05f785937be3d06f38cff4de238d7bd85d4a452a)

Signed-off-by: Mazliana <mazliana.mohamad@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-25 15:01:21 +01:00
sangeeta jain
ad60684664 oeqa/manual/sdk.json: Updated toolchain tarball to core-image-sato
Manual test step for SDK is updated. Previously toolchain was "poky-glibc-x86_64-core-image-sato-sdk<type-arch>-toolchain-<release-version>.sh"
But toochain for core-image-sato-sdk is not available in releases after 2.1, hence changed it to "poky-glibc-x86_64-core-image-sato-<type-arch>-toolchain-<release-version>.sh

Other less significant update is to add exepcted result in intermediate test steps.

(From OE-Core rev: 4e26c3a6aa647a322a8e8a3027a4114caed38f7d)

Signed-off-by: sangeeta jain <sangeeta.jain@intel.com>

"poky-glibc-x86_64-core-image-sato-<type-arch>-toolchain-<release-version>.sh"

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-25 15:01:21 +01:00
Sudhir Sharma
a9b4c75d2f oeqa/manual: Add manual runtime 'compliance' testcases to json
Added json file for compliance test cases to the manual runtime tests

(From OE-Core rev: 3f143119def5a84430762790f69b426fdc8ad281)

Signed-off-by: Sudhir Sharma <sudhirx.sharma@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-25 15:01:18 +01:00
Robert Yang
febbb0f2c9 oeqa/manual/bsp-qemu.json: Update for QEMU_USE_KVM
Now QEMU_USE_KVM can only be boolean, can not contain MACHINE any more.

(From OE-Core rev: cd3c467b9419238494e8c525e86be0cf85321c4e)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-25 15:01:18 +01:00
Richard Purdie
004b3a6193 oeqa/manual/build-appliance: Drop test which is already automated
The nightly-build-appliance target already tests this particular build.

(From OE-Core rev: 90d9542900b6a941a3c3355c15dbfc2e2ac78232)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-25 15:01:18 +01:00
Richard Purdie
848fe75d30 oeqa/manual: Remove bitbake-selftest execution
The autobuilder runs bitbake-selftest already so we don't need
to execute this manually.

(From OE-Core rev: 772b2b883249c8606b2df380f749320cb683a7b2)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-25 15:01:18 +01:00
Yeoh Ee Peng
ed668ec695 oeqa/manual: transfer manual test cases from testopia to oeqa
As part of the solution to replace Testopia, manual test cases
need to be migrated to OEQA. These manual test case json files
will serve two use cases.

Use case#1: as input to the future commandline-based manual test
runner script, where this script will display actions and expected
result information in user friendly text, then it will capture
user input for test result and log, finally it will write test
result and log into existing standardize test result json format
from OEQA framework for automated tests.

Use case#2: QA will open and read these json file manually for
planning manual test execution. Any reader interested in
understanding manual test cases will open and read these files.

(From OE-Core rev: a1675c33638288363b243e7412fe4cea63756ae6)

Signed-off-by: Yeoh Ee Peng <ee.peng.yeoh@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-25 15:01:18 +01:00
Richard Purdie
84b78df15f build-appliance-image: Update to sumo head revision
(From OE-Core rev: 0a2db923fd17019d07d88204b355aa46590f0b97)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-27 23:22:02 +00:00
Richard Purdie
c10a028e27 oeqa/utils/gitarchive: Handle case where parent is only on origin
The parent code currently assumed that any parent branch is locally
checked out which may not be the case.

Use the local branch by default but fall back to the origin. This
also means removing the later saftey check as the branch may not exist
locally.

This fixes the autobuilder resulttool test pushing code.

(From OE-Core rev: 633e024f5d492ba38debf745b59813f6a2f4a3f0)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-27 23:21:47 +00:00
Richard Purdie
a01fba7973 build-appliance-image: Update to sumo head revision
(From OE-Core rev: ece8242187558011940d7c6762b64c7116e38689)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-26 15:54:21 +00:00
Richard Purdie
7255a417d4 poky.conf: Bump version for 2.5.3 sumo release
(From meta-yocto rev: c19ec95877614314ab236fd89d9b5055f33de0c4)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-26 15:54:12 +00:00
Richard Purdie
6690c4962c yocto-uninative: Update to 2.4
This supports glibc 2.29 which is appearing in distros like Ubuntu 19.04

(From OE-Core rev: 661ac7ed164965690a4334d372bf22f04c3bfd3a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[Fixed up for Sumo context; no aarch64]
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-26 15:38:28 +00:00
Richard Purdie
ee12af6556 oe-build-perf-report/gitarchive: Move common useful functions to library
These functions can be reused by the resulttool code so move to the common
function library for this purpose.

(From OE-Core rev: c66f848938c04e133259c5b6903dc592866ab385)

(From OE-Core rev: 94a3ca85d30fc957f8f01a216a75342be49f9143)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-26 15:38:28 +00:00
Richard Purdie
622e5728da scripts/oe-git-archive: Separate out functionality to library function
This turns the core of the script into a library function. Ultimately this
will let us call that code with custom 'keywords' rather than relying
on the data parsed from bitbake metadata which can't be used when archiving
historical results.

(From OE-Core rev: 4820ca2b0850e29b04a4fd5659a6e9837d6714d0)

(From OE-Core rev: ab5d49ba8bb02410fb9f3024f98ff19a04acb3ca)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-26 15:38:28 +00:00
Richard Purdie
14e86a2968 oe-build-perf-report: Fix missing buildstats comparisions
Integers were being compared to strings leading to missing buildstats comparision
data. Fix this.

(From OE-Core rev: 2dbbf598192ae2b3aa488df042f56aa6c6634a00)

(From OE-Core rev: e8651b2e01db0777b23a0359f9413c3b27bae77f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-26 15:38:28 +00:00
Richard Purdie
b25e586458 oe-build-perf-report: Improve branch comparision handling
When comparing branches, correctly filter the revisions corresponding
to the specific branch specified.

Also use the commit numbers as a way to gauge spatially related commits
for comparision meaning comparisions for out of order build revisions
becomes meaninful.

This should improve the reporting for autobuilder generated builds.

Also improve the branch option help text.

(From OE-Core rev: 9f6f4ab6eec9dca07af7f53da5f737a6167bfb38)

(From OE-Core rev: d6645c4c931565d62df85db0fa71f15d51265828)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-26 15:38:28 +00:00
Richard Purdie
988205356d oe-build-perf-report: Allow commits from different branches
The code won't currently allow comparisions of two commits on different
branches even if the commits are specified by their hashes.

This updates the code to search two branches for any relavent commits,
hence allowing comparisions to be made. A particularly useful case is
master vs. master-next for example.

(From OE-Core rev: 2d835bb1570c515ae501442f3ce19fae8e249b27)

(From OE-Core rev: c6351550a9bff3e0b0e3d3c0baefed4041c47b33)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-26 15:38:28 +00:00
Richard Purdie
3975e0ea7a oe-build-perf-report: Allow branch without hostname
Allow the branch to be set without the hostname option. Previously
if hostname wasn't set, branch would be overwritten regardless of
whether it was set or not.

(From OE-Core rev: 3ec43bf4c6c8f7730a67f63ad4e14903f289014e)

(From OE-Core rev: e95277e859adb3e3ca26c8c618954ae52ec3bff4)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-26 15:38:28 +00:00
Mazliana
dd4921cf36 resulttool/manualexecution: To output right test case id
We found that manualexecution does not capture test suite values
correctly if there are more than one test suite in test cases.
After verification has made we found out we should retrieved
full test cases value <test_module.test_suite.test_case> from
oeqa/manual/ json file rather than split it them into new
variables test_suite and test_cases.

(From OE-Core rev: d1dee26b13dd565bf06307c99b02f6d57ff0ddef)

Signed-off-by: Mazliana <mazliana.mohamad@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-26 15:38:28 +00:00
Yeoh Ee Peng
86aa896b9e resulttool/report: Enable roll-up report for a commit
Enable roll-up all test results belong to a commit
and to provide a roll-up report.

(From OE-Core rev: 8f23018bcb76c1b431f69183f993f08adb660fae)

Signed-off-by: Yeoh Ee Peng <ee.peng.yeoh@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-26 15:38:28 +00:00
Yeoh Ee Peng
3e6a012462 scripts/resulttool: Enable manual result store and regression
To enable store for testresults.json file from manualexecution,
add layers metadata to configuration and add "manual" map to
resultutils.store_map.

To enable regression for manual, add "manual" map to
resultutils.regression_map. Also added compulsory configurations
('MACHINE', 'IMAGE_BASENAME') to manualexecution.

(From OE-Core rev: 514a9165790dda2afb412c519cb1444493dff1f9)

Signed-off-by: Yeoh Ee Peng <ee.peng.yeoh@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-26 15:38:28 +00:00
Yeoh Ee Peng
43823fbe11 resulttool/regression: Ensure regressoin results are sorted
Sorted regression results to provide friendly viewing of report.

(From OE-Core rev: de222c3c9e3aa34e42e1ad6ba6cbb9e1a18ccd80)

Signed-off-by: Yeoh Ee Peng <ee.peng.yeoh@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-26 15:38:27 +00:00
Richard Purdie
fa60137844 resulttool/store: Fix missing variable causing testresult corruption
(From OE-Core rev: 811d2be3cef340ee945335552892a2a49a46bf4b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-26 15:38:27 +00:00
Richard Purdie
e2a49f2679 resulttool/report: Ensure ptest results are sorted
(From OE-Core rev: f182217970029ba0260df3c3089101352da083ce)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-26 15:38:27 +00:00
Richard Purdie
c381ceb8eb resulttool/report: Ensure test suites with no results show up on the report
ptest suites with no results don't show up on the reports even though we have
a duration for them. Fix this so the fact they report no tests is visible.

(From OE-Core rev: a61ad19d5f997cb2377ca307c94ca2d53f8c0c49)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-26 15:38:27 +00:00
Richard Purdie
652b502456 resulttool/report: Handle missing metadata sections more cleanly
Currently some older results files cause the code to give tracebacks.
Handle these missing sections more cleanly.

(From OE-Core rev: 829754c380ca2b614afa23500e53a8c5b850932f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-26 15:38:27 +00:00
Richard Purdie
a1a31bb856 resulttool/store: Handle results files for multiple revisions
Currently we cant store results if the results files span multiple
different build revisons. Remove this limitation by iterating.

(From OE-Core rev: 22a5982dbcb624ffcdbacef92b2a235851214663)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-26 15:38:27 +00:00
Richard Purdie
da75c0b5b4 resulttool/resultutils: Avoids tracebacks for missing logs
(From OE-Core rev: d5d62b31b192b88c6a829099b74bfb30583b066e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-26 15:38:27 +00:00
Richard Purdie
c7eb843d7c resulttool: Improvements to allow integration to the autobuilder
This is a combined patch of the various tweaks and improvements I
made to resulttool:

* Avoid subprocess.run() as its a python 3.6 feature and we
  have autobuilder workers with 3.5.

* Avoid python keywords as variable names

* Simplify dict accesses using .get()

* Rename resultsutils -> resultutils to match the resultstool ->
  resulttool rename

* Formalised the handling of "file_name" to "TESTSERIES" which the code
  will now add into the json configuration data if its not present, based
  on the directory name.

* When we don't have failed test cases, print something saying so
  instead of an empty table

* Tweak the table headers in the report to be more readable (reference
  "Test Series" instead if file_id and ID instead of results_id)

* Improve/simplify the max string length handling

* Merge the counts and percentage data into one table in the report
  since printing two reports of the same data confuses the user

* Removed the confusing header in the regression report

* Show matches, then regressions, then unmatched runs in the regression
  report, also remove chatting unneeded output

* Try harder to "pair" up matching configurations to reduce noise in
  the regressions report

* Abstracted the "mapping" table concept used to pairing in the
  regression code to general code in resultutils

* Created multiple mappings for results analysis, results storage and
  'flattening' results data in a merge

* Simplify the merge command to take a source and a destination,
  letting the destination be a directory or a file, removing the need for
  an output directory parameter

* Add the 'IMAGE_PKGTYPE' and 'DISTRO' config options to the regression
  mappings

* Have the store command place the testresults files in a layout from
  the mapping, making commits into the git repo for results storage more
  useful for simple comparison purposes

* Set the oe-git-archive tag format appropriately for oeqa results
  storage (and simplify the commit messages closer to their defaults)

* Fix oe-git-archive to use the commit/branch data from the results file

* Cleaned up the command option help to match other changes

* Follow the model of git branch/tag processing used by oe-build-perf-report
  and use that to read the data using git show to avoid branch change

* Add ptest summary to the report command

* Update the tests to match the above changes

(From OE-Core rev: e4195565d2a50046d4378c97f7a593c41bed51bd)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-26 15:38:27 +00:00
Mazliana
075cd5e7fe scripts/resulttool: enable manual execution and result creation
Integrated “manualexecution” operation to resulttool scripts.
Manual execution script is a helper script to execute all manual
test cases in baseline command, which consists of user guideline
steps and the expected results. The last step will ask user to
provide their input to execute result. The input options are
passed/failed/blocked/skipped status. The result given will be
written in testresults.json including log error from the user
input and configuration if there is any.The output test result
for json file is created by using OEQA library.

The configuration part is manually key-in by the user. The system
allow user to specify how many configuration they want to add and
they need to define the required configuration name and value pair.
In QA perspective, "configuration" means the test environments and
parameters used during QA setup before testing can be carry out.
Example of configurations: image used for boot up, host machine
distro used, poky configurations, etc.

The purpose of adding the configuration is to standardize the
output test result format between automation and manual execution.

To use these scripts, first source oe environment, then run the
entry point script to look for help.
        $ resulttool

To execute manual test cases, execute the below
        $ resulttool manualexecution <manualjsonfile>

By default testresults.json store in <build_dir>/tmp/log/manual/

[YOCTO #12651]

(From OE-Core rev: cd2ef260569a67907801299b1397db94aa871cb5)

Signed-off-by: Mazliana <mazliana.mohamad@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-26 15:38:27 +00:00
Yeoh Ee Peng
d038d97d48 resulttool: enable merge, store, report and regression analysis
OEQA outputs test results into json files and these files were
archived by Autobuilder during QA releases. Example: each oe-selftest
run by Autobuilder for different host distro generate a
testresults.json file.

These scripts were developed as a test result tools to manage
these testresults.json file.

Using the "store" operation, user can store multiple testresults.json
files as well as the pre-configured directories used to hold those files.

Using the "merge" operation, user can merge multiple testresults.json
files to a target file.

Using the "report" operation, user can view the test result summary
for all available testresults.json files inside a ordinary directory
or a git repository.

Using the "regression-file" operation, user can perform regression
analysis on testresults.json files specified. Using the "regression-dir"
and "regression-git" operations, user can perform regression analysis
on directory and git accordingly.

These resulttool operations expect the testresults.json file to use
the json format below.
{
    "<testresult_1>": {
        "configuration": {
            "<config_name_1>": "<config_value_1>",
            "<config_name_2>": "<config_value_2>",
            ...
            "<config_name_n>": "<config_value_n>",
        },
        "result": {
            "<testcase_namespace_1>": {
                "status": "<PASSED or FAILED or ERROR or SKIPPED>",
                "log": "<failure or error logging>"
            },
            "<testcase_namespace_2>": {
                "status": "<PASSED or FAILED or ERROR or SKIPPED>",
                "log": "<failure or error logging>"
            },
            ...
            "<testcase_namespace_n>": {
                "status": "<PASSED or FAILED or ERROR or SKIPPED>",
                "log": "<failure or error logging>"
            },
        }
    },
    ...
    "<testresult_n>": {
        "configuration": {
            "<config_name_1>": "<config_value_1>",
            "<config_name_2>": "<config_value_2>",
            ...
            "<config_name_n>": "<config_value_n>",
        },
        "result": {
            "<testcase_namespace_1>": {
                "status": "<PASSED or FAILED or ERROR or SKIPPED>",
                "log": "<failure or error logging>"
            },
            "<testcase_namespace_2>": {
                "status": "<PASSED or FAILED or ERROR or SKIPPED>",
                "log": "<failure or error logging>"
            },
            ...
            "<testcase_namespace_n>": {
                "status": "<PASSED or FAILED or ERROR or SKIPPED>",
                "log": "<failure or error logging>"
            },
        }
    },
}

To use these scripts, first source oe environment, then run the
entry point script to look for help.
    $ resulttool

To store test result from oeqa automated tests, execute the below
    $ resulttool store <source_dir> <git_branch>

To merge multiple testresults.json files, execute the below
    $ resulttool merge <base_result_file> <target_result_file>

To report test report, execute the below
    $ resulttool report <source_dir>

To perform regression file analysis, execute the below
    $ resulttool regression-file <base_result_file> <target_result_file>

To perform regression dir analysis, execute the below
    $ resulttool regression-dir <base_result_dir> <target_result_dir>

To perform regression git analysis, execute the below
    $ resulttool regression-git <source_dir> <base_branch> <target_branch>

[YOCTO# 13012]
[YOCTO# 12654]

(From OE-Core rev: bb0bc6368bb51ac0be77d13fe931601d493951ea)

Signed-off-by: Yeoh Ee Peng <ee.peng.yeoh@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-26 15:38:27 +00:00
Jonathan Rajotte-Julien
cefa08aeef lttng-tools: update to 2.9.11
(From OE-Core rev: 4af5a794497746629a35726ce515556b53d40da9)

Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-25 23:12:03 +00:00
Jonathan Rajotte-Julien
3fd4794b16 lttng-modules: update to 2.10.9
Pertinent fix for OE-Core since 2.10.6:
    Fix: out of memory error handling
    Fix: access migrate_disable field directly
    Prevent allocation of buffers if exceeding available memory

2.10.9 also contains the necessary fix to support kernel up to 5.0.

(From OE-Core rev: 9666e9f6058bfd8294cb4e6b03752f28159a76bc)

Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-25 23:12:03 +00:00
Jonathan Rajotte-Julien
26745f6b22 lttng-ust: update to 2.10.3
(From OE-Core rev: 9d8b3988a53449fa18398e9eaae1627923eeef97)

Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-25 23:12:03 +00:00
Stefan Müller-Klieser
61f17352ec coreutils: 8.29: fix native build
This fixes the native build on glibc 2.28 hosts, by backporting two
gnulib patches from master.

(From OE-Core rev: fe7c33cd470d7466be48391b11ea703746812014)

Signed-off-by: Stefan Müller-Klieser <s.mueller-klieser@phytec.de>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-25 23:12:03 +00:00
Martin Jansa
2333147fa6 busybox: backport fix for issues introduced by CVE-2011-5325.patch
(From OE-Core rev: d0555e89514f2641387ef061f9ffcd1c8ced008c)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-25 23:12:03 +00:00
Mingli Yu
e0fdb98b0f logrotate.py: restore /etc/logrotate.d/wtmp
During the test logrotate.LogrotateTest.test_1_logrotate_setup,
there is below logic:
 # mkdir $HOME/logrotate_dir
 # sed -i "s#wtmp {#wtmp {\n    olddir $HOME/logrotate_dir#" /etc/logrotate.d/wtmp

After all logrotate.LogrotateTest finished, only cleanup
$HOME/logrotate_dir as below, but don't restore
the config file /etc/logrotate.d/wtmp.
[snip]
def tearDownClass(cls):
    cls.tc.target.run('rm -rf $HOME/logrotate_dir')
[snip]

That's to say, there is one additional line added
to /etc/logrotate.d/wtmp and will make the logrotate
service start failed when run systemd.SystemdBasicTests.test_systemd_failed

Take an example as below when run test as root:
 # cat /etc/logrotate.d/wtmp
 # no packages own wtmp -- we'll rotate it here
 /var/log/wtmp {
    olddir /root/logrotate_dir
    missingok
    monthly
    create 0664 root utmp
    minsize 1M
    rotate 1
 }

 # ls /root/logrotate_dir
 ls: cannot access '/root/logrotate_dir': No such file or directory

 # systemctl start logrotate
 Job for logrotate.service failed because the control process exited with error code.
 See "systemctl status logrotate.service" and "journalctl -xe" for details.

 # systemctl status logrotate
  logrotate.service - Rotate log files
   Loaded: loaded (/lib/systemd/system/logrotate.service; static; vendor preset>
   Active: failed (Result: exit-code) since Wed 2019-02-13 03:35:19 UTC; 7s ago
     Docs: man:logrotate(8)
           man:logrotate.conf(5)
   Process: 540 ExecStart=/usr/sbin/logrotate /etc/logrotate.conf (code=exited, status=1/FAILURE)
   Main PID: 540 (code=exited, status=1/FAILURE)

  Feb 13 03:35:18 qemumips systemd[1]: Starting Rotate log files...
  Feb 13 03:35:19 qemumips logrotate[540]: error: wtmp:9 error verifying olddir path /root/logrotate_dir: No such file or directory
  Feb 13 03:35:19 qemumips logrotate[540]: error: found error in file wtmp, skipping
  Feb 13 03:35:19 qemumips systemd[1]: logrotate.service: Main process exited, code=exited, status=1/FAILURE
  Feb 13 03:35:19 qemumips systemd[1]: logrotate.service: Failed with result 'exit-code'.
  Feb 13 03:35:19 qemumips systemd[1]: Failed to start Rotate log files.

Add the logic to restore /etc/logrotate.d/wtmp to
make the cleanup complete to fix the above issue.

(From OE-Core rev: a2db9320d97d12d87524ff16a329f9c38a8da33f)

(From OE-Core rev: a5dcf0c4bd9a0be2f2484b0b1b3e77f1f2128dfc)

Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-24 16:49:54 +00:00
George McCollister
0278e515fd systemd: fix CVE-2019-6454
Apply patches from systemd_237-3ubuntu10.13 to fix CVE-2019-6454.
CVE-2019-6454 is an issue in which systemd (PID1) can be crashed
with a specially formed D-Bus message.

For information see:
https://usn.ubuntu.com/3891-1/
https://git.launchpad.net/ubuntu/+source/systemd/commit/?h=applied/ubuntu/bionic-updates&id=d7584b894afcaa8a4a1abb69db2a9c81a6276e80

(From OE-Core rev: 342157b135e7493e5965b706ede93bee190fbe32)

Signed-off-by: George McCollister <george.mccollister@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-24 16:49:54 +00:00
George McCollister
4c55db6d5c systemd: fix CVE-2018-6954
Apply patches to fix CVE-2018-6954

NVD description from https://nvd.nist.gov/vuln/detail/CVE-2018-6954

systemd-tmpfiles in systemd through 237 mishandles symlinks present in
non-terminal path components, which allows local users to obtain
ownership of arbitrary files via vectors involving creation of a
directory and a file under that directory, and later replacing that
directory with a symlink. This occurs even if the fs.protected_symlinks
sysctl is turned on.

Patches from systemd_237-3ubuntu10.13.debian.

These patches shouldn't be required on newer OE releases since they use
systemd v239 or higher.

(From OE-Core rev: 607350d98aa4c65b71fe1f10900e205fad81d1ec)

Signed-off-by: George McCollister <george.mccollister@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-24 16:49:54 +00:00
Marcus Cooper
d4e0f92528 systemd: Security fix CVE-2018-16866
Affects < v240

(From OE-Core rev: 10fa35a75617e82650b12d3e353a554f05f036dd)

Signed-off-by: Marcus Cooper <marcusc@axis.com>

>From v2 patch on openembedded-core@lists.openembedded.org
Incresed file name number from 0026 to 0027.

Signed-off-by: George McCollister <george.mccollister@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-24 16:49:54 +00:00
George McCollister
7be61780af systemd: Security fix CVE-2018-16865
Affects < v240

Based on thud commit d5d2b821fc85b8cf39f683061ac2a45bddd2139f
The second patch in the thud commit doesn't apply against 237. Use the
version of the second patch CVE-2018-16865_2.patch from
systemd_237-3ubuntu10.13.debian.

(From OE-Core rev: da41e48567eb21a47426a6fbe23ea07ce780cd3c)

Signed-off-by: George McCollister <george.mccollister@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-24 16:49:54 +00:00
George McCollister
c3890467ff systemd: Security fix CVE-2018-16864
Affects < v240

Based on thud commit 403e74b07b6f3c4a2444e68c74a8434fb17aee49
The patch in the thud commit doesn't compile against 237. Use the
version of this patch, CVE-2018-16864.patch from
systemd_237-3ubuntu10.13.debian.

(From OE-Core rev: ddbe969d0c9052a3ae17ef8f1cec8da847c722d3)

Signed-off-by: George McCollister <george.mccollister@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-24 16:49:54 +00:00
Chen Qi
b3ed759360 systemd: fix CVE-2018-15688
Backport patch to fix the following CVE.

CVE: CVE-2018-15688

(From OE-Core rev: d490839e881f3ff30a4bde8137cb04cb0fd37acd)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>

Cherry-picked from thud 13591d7224393dc0ae529a03cdf74aceb3540ce9

Signed-off-by: George McCollister <george.mccollister@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-24 16:49:54 +00:00
George McCollister
0e63d91b2b systemd: fix CVE-2018-15687
Backport patch to fix the following CVE.

CVE: CVE-2018-15687

Based on thud commit eeb621aa19f690971caf862290a172a115578ba1
The patch in the thud commit doesn't compile against 237. Use the
version of this patch,  CVE-2018-15687.patch from
systemd_237-3ubuntu10.13.debian.

(From OE-Core rev: 3e8ba9af58253ed9db0f0376a8e2966e45ee089e)

Signed-off-by: George McCollister <george.mccollister@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-24 16:49:54 +00:00
Chen Qi
d5400f11dd systemd: fix CVE-2018-15686
Backport patch to fix the following CVE.

CVE: CVE-2018-15686

(From OE-Core rev: 06bf145cee24b677ab076498fe8399126971bc43)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>

Cherry-picked from thud 0ef70603bc983315eb0e8a97958d995a31198c35

Signed-off-by: George McCollister <george.mccollister@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-24 16:49:54 +00:00
ROGEZ Matthieu
0b554def18 systemd: Fix typo in root home variable.
This regression has been introduced while upgrading to version 237
(commit 906230a73b3ccfa4afd2a19a6b0aa18cd1d5fa08)
and seems to only affect sumo version.

(From OE-Core rev: 665b41d326654235d305649be4be69a1be8dc00b)

Signed-off-by: Matthieu Rogez <matthieu.rogez@fivesgroup.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-24 16:49:54 +00:00
Richard Purdie
0a8f50fd31 oeqa/runtime/dnf: Fix test error when static libs are enabled
The test works by excluding curl-dev which curl-staticdev depends upon.
When static libraries aren't disabled, this leads to an odd looking test
failure.

Simply exclude curl-staticdev as well in case its enabled to make sure
the test always works.

(From OE-Core rev: dfded083d9456c8d2bb168dbe8e08b2ffb3e1a26)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-24 16:49:54 +00:00
Stefan Agner
b4daa5ba96 run-postinsts: for dpkg/opkg, do not rely on /etc/*-postinsts
Start opkg/dpkg as soon as the respective package managers status
file is present, no matter whether /etc/$pm-postinsts exists. This
decouples the implicit link between postinsts scripts in /etc and
the package manager: Currently the package manager is only started
if those scripts are present, although the package manager does not
use those scripts at all! Package managers install their own set of
postinst scripts.

The behavior when using rpm packages stays the same.

Note that using the package managers capability to execute postinst
scripts is preferred for good reasons: It makes sure that the
package managers database reflects that the packages have been
completely installed and configured.

This change allows to drop installation of the postinsts scripts
when package management is present. This will be done in a separate
change.

Note: Before commit 5aae19959a44 ("rootfs.py: Change logic to
unistall packages") rootfs.py did not install /etc/$pm-postinsts
when package management is installed! The change caused YOCTO #8235
which lead to the behavior change of run-postinsts in first place.

(From OE-Core rev: 85e498a4671426999610d90c87c354d41cfe8443)

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-24 16:49:54 +00:00
Filip Jareš
7aae52eae2 ref-manual: Fixed SRC_URI cut-and-paste error.
The update fixes a copy-paste-and-forget-to-update-everything error
in the documentation of the `SRC_URI` entry in the Reference Manual.
The `maxdate` paragraph just repeated what is there for the
neighboring `mindate` paragraph which was incorrect.

(From yocto-docs rev: 26c5549580e108c40aa7c95860d12c675596820c)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-19 23:54:08 +00:00
Richard Purdie
b28f5672ab bitbake: COW: Fix StopIteration warning
Fix the warning:

WARNING: lib/bb/data_smart.py:235: DeprecationWarning: generator 'COWDictMeta.iter' raised StopIteration
  for k, v in self.variables.iteritems():

by using return from the generator, not raising StopIteration.

(Bitbake rev: c0af6c81f8d5487ea2cef54a78fd1cb1d0dc6520)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 407d6e07b09123c12c382b4a92107f002c314b05)
Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-13 14:38:56 -07:00
Paul Eggleton
d3ad243822 bitbake: utils: add optional callback to edit_bblayers_conf()
Add a callback that lets you modify or remove items in addition to the
current scheme where you can only add or remove. This enables you to for
example replace a layer with a temporary copy (which is what we will use
this for first in OE's oe-selftest).

(Bitbake rev: 4f6ba26e8335f975038d90b9e1c1767160bd5272)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:46 +00:00
Richard Purdie
9f8d417c32 bitbake: process: Rewrite multiple connection handling
If the bitbake server recieved multiple connections, it currently closes
ones it can't handle (while its dealing with another). This is rather
antisocial behaviour which causes clients to quickly run through their
retries and abort.

Instead, queue any other connections until the current one is closed. This
way the client can decide when it wants to stop waiting for the server. If the
client is gone by the time we handle it, we handle that gracefully.

This also fixes a number of bugs in the connection handling where connections
which did drop early were badly handled causing tracebacks in the logs.

Also, handle queue incomming connections in a loop to ensure that the main
client handling doesn't starve that piece of the system.

This code was stress tested by running 50 connection attempts in parallel at
once, ensuring the code correctly handled them.

(Bitbake rev: f675293d86504db66442532258d99b26333742bf)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:46 +00:00
Richard Purdie
d1baf887cd bitbake: process: Handle EWOULDBLOCK in socket connect
Now that we set a timeout for the socket, it can return EWOULDBLOCK
if a signal or other event happens to wake up even if we don't timeout.

If this happens, retry the connection, else we simply see it quickly
loop through the retries and abort the connection in a very short
interval.

(Bitbake rev: f770d6a332812031682dc6bef1a2a84da52a4c32)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:46 +00:00
Richard Purdie
83dbc768d3 bitbake: process.py: Set socket timeout to 10 seconds
The current value of 2 seconds has shown to be short in
wider testing.

(Bitbake rev: c4a940991f261959eb08273d2250d3866b868938)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:46 +00:00
Richard Purdie
d3b7f2ead5 bitbake: server/process: Ensure socket has a timeout set
We're seeing hangs in oe-selftest where server startup and shutdown are
racing. The assumption was a connect would timeout however no timeout is
set which can leave processes hanging. Set a short timeout for
the connection to avoid this.

(Bitbake rev: e53c1009356cc49c57d3b9af1e3dda6927acd78d)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:46 +00:00
Richard Purdie
3690c081c1 bitbake: cooker: Add some timing debug messages to the server startup
We're seeing slow startup in bitbake, add some timeing debug messages so
the logs are more useful for debugging when its slow.

(Bitbake rev: 39548791c84982c44c872a579e5b42d2720af98f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:46 +00:00
Richard Purdie
245e1c251a bitbake: server/process: Increase server startup time delay
On loaded production systems we've seen bitbake server take over
40s to start up. Increase the timeout to 90s which tries to avoid
failures in selftests.

The delays come from setting up the inotify watches (31s) so can't
really be avoided.

After 5s delay we now warn the user we're waiting for 90s so the
interactive exeperience shouldn't be much changed and its very
unlikely the user would see that anyway.

(Bitbake rev: 64055fdb0d8485b40ba710a762e9a0af5c4540b4)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:46 +00:00
Peter Kjellerstedt
caad85d90b bitbake: bitbake-diffsigs: Support recursive deps with signature files
Follow dependent hash changes recursively also when specifying two
signature files explicitly. Previously this was only done when using the
--task option.

(Bitbake rev: 65c2a64d6dd5dc85cb14b9e808964c699e890517)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:46 +00:00
Peter Kjellerstedt
6b6567cb6b bitbake: bitbake-diffsigs: Merge with bitbake-dumpsig
The functionalities of bitbake-diffsigs and bitbake-dumpsig are so
similar that they can be merged into one. Add an option --dump to make
bitbake-diffsigs dump the last signature data instead of comparing it.
Keep bitbake-dumpsig as a symbolic link to bitbake-diffsigs. When it is
called as bitbake-dumpsig, it behaves as if --dump was specified.

Also make -D the short option for --debug again (the way it used to be,
and still was for bitbake-dumpsig), so that -d can be used as the short
option for --dump.

(Bitbake rev: de298ff0b0cfeb29b569f946ab95329be102caa8)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:46 +00:00
Richard Purdie
27d5f46f45 bitbake: server/process: Show last 60 lines of the log if the server didn't start
We're seeing issues where the server doesn't start with no logs as to why. Allow
the server to print the last 60 log lines just in case this shows us something useful
about what is failing.

(Bitbake rev: da54a3fef9cee308dfa87eea9b9638796d734abd)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:46 +00:00
Richard Purdie
ba9f093318 bitbake: server/process: Show the last 60 log lines, not the last 10
10 log lines may not capture any full traceback, increase the number of
lines to 60 which covers most tracebacks.

(Bitbake rev: 340a7d91b5030e4d62680f427286fc419509879b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:46 +00:00
Robert Yang
633d22650c bitbake: server/process: print a message when no logfile
[YOCTO #12898]

There might be no bitbake-cookerdaemon.log, print a message for debugging.

(Bitbake rev: cc32e703a8e68107353702edb230296503f5dad0)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:46 +00:00
Richard Purdie
feee885613 bitbake: server/process: Make lockfile handling clearer
This simplifies the code and makes it easier to read but has the
same functionality.

(Bitbake rev: 21dcec291d58ab7ac5d2c07186c68e01d85e6f65)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:46 +00:00
Ross Burton
6ddeba54a4 bitbake: layerindex: don't use shell=True when cloning
(Bitbake rev: fd1504a5e92390b8e1c0e689b4c2cb0ac7096b1a)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:46 +00:00
Ross Burton
4e75f5cc6b bitbake: fetch: don't use shell=True when listing ar files
(Bitbake rev: d150e50355444b0a67cad4d6a100d9bf6fadb2ae)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:46 +00:00
Richard Purdie
d3dcc4f92e package_rpm/archiver: Apply bandaid to src.rpm creation
| error: create archive failed on file /media/build1/poky/build/tmp/work/all-poky-linux/xcursor-transparent-theme/0.1.1+gitAUTOINC+23c8af5ba4-r0/deploy-sources/allarch-poky-linux/xcursor-transparent-theme-0.1.1+gitAUTOINC+23c8af5ba4-r0/xcursor-transparent-theme-0.1.1+git0+23c8af5ba4-r0.src.rpm: cpio: read failed - No such file or directory
| Building target platforms: noarch-poky-linux
| Building for target noarch-poky-linux

This is caused by:

$ cat log.task_order

do_cleansstate (24289): log.do_cleansstate.24289
do_deploy_archives_setscene (24395): log.do_deploy_archives_setscene.24395
do_fetch (24407): log.do_fetch.24407
[..]
do_package_write_rpm (25448): log.do_package_write_rpm.25448
do_package_qa (25451): log.do_package_qa.25451

So do_deploy_archives can run from sstate, created a .src.rpm in WORKDIR/deploy-sources,
then it was removed when rpm was running. This leads to a broken Source line in the
spec file as the original file was found by the os.listdir().

This fix is just a bandaid over much more fundamental problems sadly.

(From OE-Core rev: a10020ace4c3cd863c782760f7cbecea557ec6e7)

(From OE-Core rev: 6d56e912fbbaa22830b4da5ab230586a3d15b23e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:46 +00:00
Richard Purdie
31a84b4316 archiver/package_rpm: Fix the worst src.rpm generation race
The package_rpm code is writing outside the task's sstate directory into
the sstate of do_deploy_archives. This is "out of spec" since if the
task is installed from sstate, the files are not restored. This means
the files may appear/disappear, things are not deterministic and there are
races.

Extend the do_package_write_rpm code to handle writing the src.rpm into
place to avoid these issues. There are other problems but this avoids races
around this file.

(From OE-Core rev: c6e151ba7fe0f14044537cf0ab2cac436f1496e3)

(From OE-Core rev: b119872fb794a36b6eb9ef5e9c42a9c6c991e835)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:46 +00:00
Richard Purdie
6ab2cac421 libtool-cross: Handle ccache sstate 'infection' issues
On a system without ccache, f you:

INHERIT += "ccache"
bitbake libtool-cross
<remove INHERIT>
bitbake apmd

then it fails due to being unable to find ccache. The references to ccache are
coded into libtool-cross but the sstate checksum doesn't reflect this due to the
way the class is coded (output should be the same regardless).

The simplest solution is to remove references to ccache from the libtool script.
The output then works regardless of whether ccache is present or not. The
libtool-cross script is only used in a handful of cases (most of the time its
dynamically generated by autoconf) so any performance issue is minor.

(From OE-Core rev: ed550a49d2114c56e5bc033ecd0e83073d2d4067)

(From OE-Core rev: ee6a2e0ccb11e5f5267bc2e406203c78b0443415)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:46 +00:00
Richard Purdie
ddd9042420 libtool: Fix patch status tag
(From OE-Core rev: 28fc470e5e10ee9cce893d037ed5e518bc5612f5)

(From OE-Core rev: c7c4920fc287bdb5f7a0bca7b2ec2ab7a43f58fd)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:46 +00:00
Richard Purdie
656897e761 libtool: Fix problem with libtoolize in multilib installations
Without this patch /usr/bin/libtoolize is different for each multilib
since their host-triplets are different, despite there being no difference in
the functionality of libtoolize itself.

This change just patches out the problematic line since its just a comment for the user
in help text. Ugly but solves the problem. This fixes issues where libtool and
libXX-libtool couldn't be installed into the same system.

(From OE-Core rev: f70040fd3ca3508d33ed24c749c0b8095b020dab)

(From OE-Core rev: 8480fff287e660f85a99fcc28119fe80d517e0b2)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:46 +00:00
Richard Purdie
6bbdd7b569 multilib_script: Add support for multilib scripts
Whilst the package managers handle multilib ELF binaries well, they don't
handle scripts in the *bindir directories well. This adds support for
marking these up so that they can be handled using update-alternatives.

Its done this way so that non-multilib systems don't see any changes and
there is standardisation amongst the multilibs on how the alternatives are
named and prioritiesd. The priotitisation code needs to be added but this
change means there is somewhere to add it.

Recipe needs to set MULTILIB_SCRIPTS in the form <pkgname>:<scriptname>, e.g.
MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/file1 ${PN}:${base_bindir}/file2"
to indicate which script files to process from which packages.

libtool is used a as a reference to stop the libtool scripts conflicting
in a multilib case and allows the kernel-devsrc change to be merged.

(From OE-Core rev: 18e837433d07cfdce4019c13f682c6676425a2ad)

(From OE-Core rev: 97e2d65d1c406bc58fe693e500fcc939459bac1a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:46 +00:00
Ross Burton
5d249ac250 image_types: use cpio-native to build cpio images
As per the previous commit, upstream cpio has a bug which means it crashes on
append. If the image being built has already had testimage ran then cpio-native
will be in the sysroot.  It's also possible that some distributions are shipping
this broken CVE patch too.

Now that our cpio-native is fixed, until we can be sure that the host cpio isn't
broken depend on cpio-native if building a cpio image.

[ YOCTO #13042 ]

(From OE-Core rev: c3b9aedcbe538d7fa74bd814644b4899769dec46)

(From OE-Core rev: a75eba71145efa1c3d206c5e5c00608a50f013bc)

(From OE-Core rev: 9e1c69932add702b9c5bc1faa9ef5db975de0ee3)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:46 +00:00
Ross Burton
ac03a57bf3 cpio: fix crash when appending to archives
The upstream fix for CVE-2016-2037 introduced a read from uninitialized memory
bug when appending to an existing archive, which is an operation we perform when
building an image.

(From OE-Core rev: 046e3e1fca925febf47b3fdd5d4e9ee2e1fad868)

(From OE-Core rev: 2ff6ab2e2944c6a53523b4b1611e1d22f6393500)

(From OE-Core rev: c0a3874799224c9ae0d6d7dc4d0a0acf364ccdab)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:46 +00:00
Peter Kjellerstedt
c4681cc02e oe-selftest: devtool: Support meta being a symbolic link
oe-selftest's devtool tests have been broken since commit 2457cd57
(oe-selftest: devtool: avoid parallel races by using temporary copy of
core) if meta is a symbolic link.

(From OE-Core rev: daba6c5a991b370709d17e51305334f55a3858ec)

(From OE-Core rev: 3eb59559ecd2e93fb590a330b47de1db0750fc0b)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:46 +00:00
Paul Eggleton
e5eadb501b oe-selftest: devtool: avoid parallel races by using temporary copy of core
Some of the devtool tests make changes to files under meta/ -
legitimately since we want these tests to be working with real recipes
and associated files. Unfortunately with the new oe-selftest
parallelisation this can break other tests if files go missing at the
wrong time (among other scenarios). To avoid this issue, simply take a
copy of the core repository and use that for these tests. (We copy the
entire repository since changing the path of meta/ influences COREBASE
and thus we need to have things like scripts/ alongside as well).

(From OE-Core rev: 2457cd57b4195924ef127f497efa2f34f411e660)

(From OE-Core rev: 9cb8353a4f0137823d6ed3e467db9dd7ead7b3de)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:46 +00:00
Jeremy Puhlman
5e376572d4 Only add uninative and checksum if inherited uninative class
The checksum value is only calculated if the uninative class is
inherited, so check for inherit before adding it to local.conf

(From OE-Core rev: 3b5b832589d943700b273e3a4d83561be0c47f36)

(From OE-Core rev: 8e23a3d59421f34961f39a7db512e93eb9647ec6)

Signed-off-by: Jeremy Puhlman <jpuhlman@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:46 +00:00
Richard Purdie
9947f6ad5b oeqa/utils/httpserver: Rework to avoid hangs and improve logging
testimage.bbclass installs a SIGTERM handler which conflicts with the
use of multiprocessing here. This is paritcularly problematic if the http
service is terminated before its started and hence before its had a chance
to reset the default signal handler (as the code was written).

Instead, temporarily remove testimage's handler whilst forking the http process
which means the correct handler is installed and won't deadlock.

Also take the opportunity to add in some log messages about the server start
and shutdown so that future debugging is easier and its clearer what the code
is doing.

(From OE-Core rev: cc0471439aa0085ca87deccf061c5b676ef12388)

(From OE-Core rev: 4eac9a5337d93b6cbd3916af97f62bb04881c9cd)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:46 +00:00
Yeoh Ee Peng
4ca53b38ce oeqa/runtime/dnf: Make sure test_dnf_install does not skipped
During debugging dnf issue, we found that the test_dnf_install
PASSED the testing even though the environment does not allow
dnf install to run successfully. Further debugging had identified
that current test_dnf_install will execute dnf install even when
the package to be installed already exist, thus dnf install
will just skipped and this test will PASSED even though it was
not.

To solve this, added additional logic to check if the package
to be installed already exist, if yes then remove the package
before actually run dnf install. This will make sure dnf install
was tested as expected.

(From OE-Core rev: 4f662b253f7313c4e02bfafb527cdac076b6309a)

(From OE-Core rev: a80498e62898110e2ed6b01cbb9f5dd85995d13b)

Signed-off-by: Yeoh Ee Peng <ee.peng.yeoh@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:46 +00:00
Armin Kuster
f663c39ce2 perl: add testdepends for ssh
fixes:

 DEBUG: [Running]$ ssh -l root -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -o LogLevel=ERROR 192.168.7.4 export PATH=/usr/sbin:/sbin:/usr/bin:/bin; perl -e '$_="Uryyb, jbeyq"; tr/a-zA-Z/n-za-mN-ZA-M/;print'
| DEBUG: time: 1548816904.4024463, endtime: 1548817204.397057
| DEBUG: Partial data from SSH call: ssh: connect to host 192.168.7.4 port 22: Connection refused

for master/thud/sumo

(From OE-Core rev: 76c66e061cdcdcbad73ed503668115120feb0ea3)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:46 +00:00
Ross Burton
5a8fcc4d0c oeqa: rationalise Perl tests
As with the Python test, this can be both better and faster.  No need to copy a
file, just run a one-liner.

(From OE-Core rev: c6eef46747fe58bb2310be4f06d2fa9b67901d72)

(From OE-Core rev: 9188ef8d1edbba8041a73d3bb8a9bfd194db0e92)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:46 +00:00
Richard Purdie
4b21bf658f oeqa/utils/buildproject: Only clean files if we've done something
We should only be wiping out things on target if the tests have
actually run.

(From OE-Core rev: d38c3eac0a5a1a9b0eb98385832e92f48145655e)

(From OE-Core rev: dab22dc58eabaeb421afa3c7de1cc08c5ec34c61)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:45 +00:00
Robert Yang
0bda550627 oeqa/selftest/runqemu: Enable kvm when QEMU_USE_KVM is set
(From OE-Core rev: 564de3681353fe8e203425388e8be9703a89d2da)

(From OE-Core rev: 1207949c986cc9f6b3940a99e87bc4d8cfb86d5b)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:45 +00:00
Yeoh Ee Peng
3c7d4f0526 oeqa/qemu & runtime: qemu do not need ip input from external
Qemu do not use the ip input from external. It will
retrieve ip from QemuRunner instance and assign
ip value.

(From OE-Core rev: 14d99dc6c39c963ba3e0d9a30274846bd5369210)

(From OE-Core rev: e4990ae01c9f3f486b4b745a2602795e9d496109)

Signed-off-by: Yeoh Ee Peng <ee.peng.yeoh@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:45 +00:00
Richard Purdie
e1b97539c8 oeqa/runtime/cases: Improve dependencies of kernel/gcc/build tests
Mark up these tests as needing a compiler, make and kernel source code
as appropriate, the image feature requirements can then be retired.

(From OE-Core rev: 9f64e6c25abdf494fb511e9cd401f8dcaa08be2a)

(From OE-Core rev: 544c56b6950f0598d5eaf62d9ae9d9de5fcb7eaf)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:45 +00:00
Richard Purdie
d853fa2680 oeqa/runtime/cases: Improve test dependency information
Add the OEHasPackage decorator to a variety of tests so they determine
automatically if they should run against a given image.

To ensure tests can do this we need to move target operations such
as scp commands into the tests and out of the class startup/teardown.

(From OE-Core rev: 60d6580b85714b8960a964e775d76a7f937f5e5a)

(From OE-Core rev: 03b7658369bb7c1c8fbbaac7d9e281617cc16135)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:45 +00:00
Ross Burton
e9055b90c0 oeqa/runtime/python: clean up Python test
Currently this is three test cases:

1) test_python_exists.  Fail if python3 isn't in PATH.
2) test_python_stdout.  Run a Python script and check the output is as expected
3) test_python_testfile.  Check that a file test_python_stdout wrote to exists.

(1) should be a setup and skip the test module if it isn't present.
(2) and (3) should be merged, there's no point copying over a two line Python
file, and the test doesn't verify that the file doesn't exist in the first
place.

Rewrite the test to check that Python is present in a class setup so the entire
test is skipped if it isn't and do some simple rot13 to verify that bytecode is
being executed correctly.

(From OE-Core rev: a35be5f32b4fe70b18ac1e2eccfd94558cecfbba)

(From OE-Core rev: babdd2f6addb06c23e4882107be07034ca49bcb8)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:45 +00:00
Alexander Kanavin
128b07d200 oeqa/runtime/cases/python: use python 3 rather than python 2
For example, core-image-sato skipped the test alltogether, as it
no longer pulls in Python 2.x at all.

(From OE-Core rev: 5ad0fe9ac6b6362011a17afaa7bee8e788093915)

(From OE-Core rev: bde50fc78ae75fd585f8914e458d65c328857fb2)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:45 +00:00
Robert Yang
5f63f1718e runqemu-gen-tapdevs: Allow run --help without sudo
Then we can get user's UID and GID rather than hardcode to 1000, e.g.:

- Without sudo
$ runqemu-gen-tapdevs --help
[snip]
$ sudo ../poky/scripts/runqemu-gen-tapdevs 15220 100 4 tmp/sysroots-components/x86_64/qemu-helper-native/usr/bin
[snip]

- With sudo
$ sudo ../poky/scripts/runqemu-gen-tapdevs --help
[snip]
$ sudo ../poky/scripts/runqemu-gen-tapdevs 15220 100 4 tmp/sysroots-components/x86_64/qemu-helper-native/usr/bin
[snip]

(From OE-Core rev: 446e7da7e56f9de3602498b5ef40e9e0f8f71837)

(From OE-Core rev: e5bebaddab47b418013f3d329dbb105ce69118bf)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:45 +00:00
Ross Burton
d28969259f runqemu: clean up subprocess usage
Where possible pass lists instead of strings, don't use a subshell, and call
check*() instead of using Popen directly.

(From OE-Core rev: d2374623444752af1ad748ed36b68ea58f629bf6)

(From OE-Core rev: a2cbc5954d44b0922136fc3d75f891064a948298)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:45 +00:00
Chen Qi
0676240f4c oeqa/runtime/cases/rpm.py: change to use base-passwd-doc
The test cases assume that rpm-doc is built out, as it says it its
comment. This is not always true. And it sometimes results in
following error.

  |     cls.tc.target.copyTo(test_file, dst)
  | UnboundLocalError: local variable 'test_file' referenced before assignment

Change to use base-passwd-doc, as this package is more likely to be
built out than rpm-doc.

(From OE-Core rev: 2e23543b48921182307065c1fa9e8b9d7fbb3cdc)

(From OE-Core rev: 1ce378ce07d2c49f40054893a623456c8471e177)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:45 +00:00
Alexander Kanavin
c172c8fdc6 oeqa: replace Alex Kanavin's @intel email address with a personal one
As I will be leaving Intel, this address will no longer be valid,
so swap it for my personal one for now.

(From OE-Core rev: ea58ff101e28dfda3410de66d775df3d8a1e5a96)

(From OE-Core rev: 61bca5a7f6b3fc03cd88cbf8867708d28e0a3522)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:45 +00:00
Robert Yang
e8b9772ab8 oeqa: make it work for multiple users
There are failures when multiple users run oe-selftest on the same
host:

PermissionError: [Errno 13] Permission denied: '/tmp/oe-saved-
tests/201812250324_qemu'

This is because /tmp/oe-saved-tests was created by user A, while user B tries
to write data in it, then the error will happen. This patch can fix the
problem.

Move the dumped data to ${LOG_DIR}/runtime-hostdump/ rather than
/tmp/oe-saved-tests/ to fix the problem.

(From OE-Core rev: e219fe5329599cd6c3682f521eaee3852a2c8980)

(From OE-Core rev: 872c6e5101f4f27dcfc63d141d1b6568f46d2b5f)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:45 +00:00
Aníbal Limón
75bcf06098 meta/classes/testimage.bbclass: Only validate IMAGE_FSTYPES when is QEMU
When use simpleremote target the flash/boot process is executed
manually, the IMAGE_FSTYPES validation is only needed when execute
testimage against qemu.

The supported_fstypes comes from oeqa.core.target.qemu module.

(From OE-Core rev: e7dc5963adbacc091fe8943119262166977623ad)

(From OE-Core rev: 05896e2f83ffef5262ccd3a0fa20b81b2a878957)

Signed-off-by: Aníbal Limón <anibal.limon@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:45 +00:00
Kai Kang
33504386a3 testimage.bbclass: remove boot parameter systemd.log_target
Boot parameter systemd.log_target=console affects command journalctl's
output and causes oe selftest case test_systemd_boot_time fail to pass.

| Error at obtaining the boot time from journalctl
| RESULTS:
| RESULTS - systemd.SystemdJournalTests.test_systemd_boot_time - Testcase -1: SKIPPED (0.74s)

systemd.log_target=console was introduced by oe-core commit a0bb649 and
work with parameter systemd.log_level to enable systemd debug.
systemd.log_level has been removed already, so remove systemd.log_target
too to make case test_systemd_boot_time pass.

(From OE-Core rev: caa776bdcf8ea34c857f45970370bf771075f4bc)

(From OE-Core rev: 9d8a97b43c42b87c56d3b2ac318cb5482e86c397)

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:45 +00:00
Erik Botö
07b748ba62 testimage: Add possibility to pass parmeters to qemu
Add a variable called TEST_QEMUPARAMS in testimage.bbclass to make it
possible to pass parameters to qemu. This can be useful for e.g.
increasing the amount of RAM available during testimage runs.

(From OE-Core rev: 1a9163f5779d233c884c8fd50e0812eabab4fdf3)

(From OE-Core rev: 643457d350a921379600248f99d73374e6a2f5a2)

Signed-off-by: Erik Botö <erik.boto@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:45 +00:00
Yeoh Ee Peng
2e1b7400b2 testimage: Add support for slirp
Enable testimage to support qemu slirp. Configure "QEMU_USE_SLIRP"
& "TEST_SERVER_IP" variables to enable slirp.

[YOCTO#10713]

(From OE-Core rev: 3df9ee85ce7fe52f0893fd33aea3bf1fcc6ead0a)

(From OE-Core rev: 8bf8cbb82472a0547b62f94fafa5790cf67ff9cb)

Signed-off-by: Yeoh Ee Peng <ee.peng.yeoh@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:45 +00:00
Richard Purdie
3850b6021a testimage: Enable autorunning of the package manager testsuites
Now that the hangs in httpservice are fixed we can let these tests
auto skip as appropriate.

(From OE-Core rev: 42a0d70291d551578e21f590fcb85ca72a78ccb5)

(From OE-Core rev: d82f2a0a17ecad5fdb2d2450f5048d00cf0448b1)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:45 +00:00
Richard Purdie
689ca19f41 testimage: Further cleanup DEFAULT_TEST_SUITES
Now the test markup of the development tools tests is complete, this
can be further tweaked to auto run the correct tests.

(From OE-Core rev: bd4f8d12fe1f9f2643ee9e68fa2bb981134294fb)

(From OE-Core rev: 4b9641505f39718fe820eb199ed6554662d4d4cf)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:45 +00:00
Richard Purdie
4cf3a9724a testimage: Simplfy DEFAULT_TEST_SUITES logic
Now that the tests have correct markup to automatically determine which images
they can run against, clean up the default test suites logic to be simpler
and not image specific.

Some cleanup of the compiler tests still needs to be completed but this
is a good first step.

The only downside to this is more noise during testing as we now see
many skipped messages for simple images like core-image-minimal.

The auto type is being removed since it currently breaks badly due to the
socat mandatory inclusion from the meta-selftest layer which is a problem
which needs to be addressed seperately.

(From OE-Core rev: 4966bc33845752eb0aeae54b72e8ba0146a7ed52)

(From OE-Core rev: eeee75d0a51ab7c15457b89233b7bb5254d7ee0b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[Fix for sumo context]
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:45 +00:00
Jose Perez Carranza
79d42d2b2f runtime/dnf: Add new dnf test cases
Add test cases to test “exclude” and “installroot“ options, also modify
the logic of filtering packages on the feed to have all the packages
needed by the tests.

[YOCTO #10744]

(From OE-Core rev: 1121806603c6f621d084b692216f3f616a0768dc)

(From OE-Core rev: e1b050f53ece2a31cd6866d2d737d7c67a44cea4)

Signed-off-by: Jose Perez Carranza <jose.perez.carranza@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:45 +00:00
Federico Sauter
4fee712eda kernel: don't assign the build user/host
The KBUILD_BUILD_USER and KBUILD_BUILD_HOST variables were
assigned at the kernel class level, which made it impossible
to override them in the local configuration.

By setting only the default values of those variables in the
kernel class, it is now possible to override them as expected.

(From OE-Core rev: a3e8cdf9c3ba966fa4b5a21235540eb0b00fb487)

(From OE-Core rev: 2fac83ff87d9ad934250f712d2d0fd91fccb8728)

Signed-off-by: Federico Sauter <federico.sauter@ableton.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:45 +00:00
Robert Yang
122d638e22 oeqa: Fix for QEMU_USE_KVM
Fixed:
MACHINE = "qemux86"
QEMU_USE_KVM = "qemux86"
IMAGE_CLASSES += "testimage"

$ oe-selftest -r runqemu.RunqemuTests.test_boot_rootfs

[snip]
  File "/buildarea1/lyang1/poky/meta/lib/oe/types.py", line 122, in boolean
    raise ValueError("Invalid boolean value '%s'" % value)
ValueError: Invalid boolean value 'qemux86'

Now QEMU_USE_KVM can only be boolean, can not contain MACHINE any more, kvm
will be enabled if target_arch == build_arch or both of them are x86 archs.

(From OE-Core rev: 7c1a8a624cad8d967635c6cb5f99cf655bde3d44)

(From OE-Core rev: de1b80f7f7b787f6b5b62c576ca6c62d2440031c)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:45 +00:00
Douglas Royds
71bcf6c051 patch: reproducibility: Fix host umask leakage
Some patch files create entirely new files, so their permissions are subject to
the host umask. If such a file is later installed into a package with no change
in permissions, it breaks the reproducibility of the package.

This was observed on libpam, for instance: The patch file
pam-security-abstract-securetty-handling.patch creates a new file
(tty_secure.c). This file is later copied into the -dbg package with no change
in permissions.

(From OE-Core rev: 2a2bbd755b330cd63f7f6e2f2b374a3ae065b37a)

(From OE-Core rev: ae10351f4aa443fc6df5a674b0aae0731304254d)

Signed-off-by: Douglas Royds <douglas.royds@taitradio.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:45 +00:00
Yeoh Ee Peng
a739dc6c21 scripts/oe-git-archive: fix non-existent key referencing error
Without installing gitpython package, oe-git-archive will face error
below, where it was referencing key that was non-existent inside
metadata object.

Traceback (most recent call last):
  File "<poky_dir>/scripts/oe-git-archive", line 271, in <module>
    sys.exit(main())
  File "<poky_dir>/scripts/oe-git-archive", line 229, in main
    'commit_count': metadata['layers']['meta']['commit_count'],
KeyError: 'commit_count'

Fix this error by adding exception catch when referencing
non-existent key (based on inputs provided by Richard Purdie).

[YOCTO# 13082]

(From OE-Core rev: 9a3cc9b8523b78dda6c3f3f2e12798b2b907d7e5)

(From OE-Core rev: 89dcc555f57ce13645c3876b42be3846fe3b7863)

Signed-off-by: Yeoh Ee Peng <ee.peng.yeoh@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:45 +00:00
Chen Qi
16c530c0cf package.bbclass: fix python unclosed file ResourceWarning
Fix the following warning.

  ResourceWarning: unclosed file <_io.TextIOWrapper name='/.../systemd/1_239-r0/debugsources.list' mode='a' encoding='UTF-8'>

(From OE-Core rev: 91810a57f0edd8b37c5f3f989a5aca69d9a40b37)

(From OE-Core rev: f8c111891066609ed40d11fee61ca9e29b5b6029)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[Fixup for sumo context]
Signed-off-by: Armin Kuster <akuster808@gmail.com>

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:45 +00:00
Richard Purdie
d668ce8421 package: Rework PACKAGELOCK based upon sstate for do_packagedata
I think this lock dates from before we had sstate for do_packagedata.

Since WORKDIR is recipe specific and we write into WORKDIR, we no longer need
any write locks in the do_packagedata code itself, its handled by the sstate
task lock for the final copy in at the end. The final write lock can be simply
removed.

The only time we need read locking is when actually reading data from the
shared directory. We can therefore reduce the window the lock is held
significantly as well, hence improving the speed of packagedata tasks running
in parallel.

(From OE-Core rev: f7106cdf2190d9ec59132a1cb2bb431d653cd9c5)

(From OE-Core rev: 1af1e9c23965637ab4a23b3eaf64192694c5448d)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:45 +00:00
Emmanuel Roullit
185f6a7fd8 testimage.bbclass: fix qemu_use_kvm handling
QEMU_USE_KVM can either be a boolean or a whitespace separated list
of kvm supported machines.
For the 'intel-corei7-64' machine, defined in meta-intel, kvm could not be
used as the 'x86' substring is not part of its machine name.

By changing the order of this 'or' statement and setting
the 'QEMU_USE_KVM' variable to 'intel-corei7-64', it is possible to run the
'testimage' task with kvm support successfully.

(From OE-Core rev: a22789253aa653dc50fb159b40910248c2f98dd4)

(From OE-Core rev: 3383b1f9bb4aedfb88e888e88fe316e3f361c7bf)

Signed-off-by: Emmanuel Roullit <emmanuel.roullit@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:45 +00:00
Richard Purdie
fa5ebe62e2 testimage/testsdk/selftest: Avoid platform.distro_identifier deprecation warnings
Use our own lsb function instead as used elsewhere by the codebase.

(From OE-Core rev: acac45a6fd604d28ef7c23d67482af3d7e8bcfe3)

(From OE-Core rev: 570256a64af5a3fa994a20a5cc4c74d59ffc361f)

(From OE-Core rev: d58fe9d352ae7de857e7f55b88f6e7d35b2cd706)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:45 +00:00
Robert Yang
7375570a24 oeqa/utils/qemurunner: set timeout to 60s for run_serial
The 5s timeout for non-kvm is too short, especially when the load is high,
which leads to unexpected errors, so set timeout to 60s by default.

(From OE-Core rev: 8197d0f638a760fc03062c7a9009117d083d7ead)

(From OE-Core rev: 6c930a8f5c11947c3b916efe23f33af462701bee)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:45 +00:00
Armin Kuster
928528ae96 tzdata/tzcode-native: update to 2018i
2018i:

  Briefly:
    São Tomé and Príncipe switches from +01 to +00 on 2019-01-01.

  Changes to future timestamps

    Due to a change in government, São Tomé and Príncipe switches back
    from +01 to +00 on 2019-01-01 at 02:00.  (Thanks to Vadim
    Nasardinov and Michael Deckers.)

2018h:
Briefly:
    Qyzylorda, Kazakhstan moved from +06 to +05 on 2018-12-21.
    New zone Asia/Qostanay because Qostanay, Kazakhstan didn't move.
    Metlakatla, Alaska observes PST this winter only.
    Guess Morocco will continue to adjust clocks around Ramadan.
    Add predictions for Iran from 2038 through 2090.

  Changes to future timestamps

    Guess that Morocco will continue to fall back just before and
    spring forward just after Ramadan, the practice since 2012.
    (Thanks to Maamar Abdelkader.)  This means Morocco will observe
    negative DST during Ramadan in main and vanguard formats, and in
    rearguard format it stays in the +00 timezone and observes
    ordinary DST in all months other than Ramadan.  As before, extend
    this guesswork to the year 2037.  As a consequence, Morocco is
    scheduled to observe three DST transitions in some Gregorian years
    (e.g., 2033) due to the mismatch between the Gregorian and Islamic
    calendars.

    The table of exact transitions for Iranian DST has been extended.
    It formerly cut off before the year 2038 in a nod to 32-bit time_t.
    It now cuts off before 2091 as there is doubt about how the Persian
    calendar will treat 2091.  This change predicts DST transitions in
    2038-9, 2042-3, and 2046-7 to occur one day later than previously
    predicted.  As before, post-cutoff transitions are approximated.

  Changes to past and future timestamps

    Qyzylorda (aka Kyzylorda) oblast in Kazakhstan moved from +06 to
    +05 on 2018-12-21.  This is a zone split as Qostanay (aka
    Kostanay) did not switch, so create a zone Asia/Qostanay.

    Metlakatla moved from Alaska to Pacific standard time on 2018-11-04.
    It did not change clocks that day and remains on -08 this winter.
    (Thanks to Ryan Stanley.)  It will revert to the usual Alaska
    rules next spring, so this change affects only timestamps
    from 2018-11-04 through 2019-03-10.

  Change to past timestamps

    Kwajalein's 1993-08-20 transition from -12 to +12 was at 24:00,
    not 00:00.  I transcribed the time incorrectly from Shanks.
    (Thanks to Phake Nick.)

    Nauru's 1979 transition was on 02-10 at 02:00, not 05-01 at 00:00.
    (Thanks to Phake Nick.)

    Guam observed DST irregularly from 1959 through 1977.
    (Thanks to Phake Nick.)

    Hong Kong observed DST in 1941 starting 06-15 (not 04-01), then on
    10-01 changed standard time to +08:30 (not +08).  Its transition
    back to +08 after WWII was on 1945-09-15, not the previous day.
    Its 1904-10-30 change took effect at 01:00 +08 (not 00:00 LMT).
    (Thanks to Phake Nick, Steve Allen, and Joseph Myers.)  Also,
    its 1952 fallback was on 11-02 (not 10-25).

    This release contains many changes to timestamps before 1946 due
    to Japanese possession or occupation of Pacific/Chuuk,
    Pacific/Guam, Pacific/Kosrae, Pacific/Kwajalein, Pacific/Majuro,
    Pacific/Nauru, Pacific/Palau, and Pacific/Pohnpei.
    (Thanks to Phake Nick.)

    Assume that the Spanish East Indies was like the Philippines and
    observed American time until the end of 1844.  This affects
    Pacific/Chuuk, Pacific/Kosrae, Pacific/Palau, and Pacific/Pohnpei.

  Changes to past tm_isdst flags

    For the recent Morocco change, the tm_isdst flag should be 1 from
    2018-10-27 00:00 to 2018-10-28 03:00.  (Thanks to Michael Deckers.)
    Give a URL to the official decree.  (Thanks to Matt Johnson.)

(From OE-Core rev: 100d0d0f24cabedd1a89b69ac8ffb05d85663761)

(From OE-Core rev: 40679b9ee29b600a514f2fb82865a0fecca70bf7)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:45 +00:00
Armin Kuster
72ee6a8f79 tzcode-native: update to 2018g
Changes to code

    When generating TZif files with leap seconds, zic no longer uses a
    format that trips up older 32-bit clients, fixing a bug introduced
    in 2018f.  (Reported by Daniel Fischer.)  Also, the zic workaround
    for QTBUG-53071 now also works for TZif files with leap seconds.

    The translator to rearguard format now rewrites the line
    "Rule Japan 1948 1951 - Sep Sat>=8 25:00 0 S" to
    "Rule Japan 1948 1951 - Sep Sun>=9  1:00 0 S".
    This caters to zic before 2007 and to Oracle TZUpdater 2.2.0
    and earlier.  (Reported by Christos Zoulas.)

  Changes to past time zone abbreviations

    Change HDT to HWT/HPT for WWII-era abbreviations in Hawaii.
    This reverts to 2011h, as the abbreviation change in 2011i was
    likely inadvertent.

  Changes to documentation

    tzfile.5 has new sections on interoperability issues.

(From OE-Core rev: a24d0c174411a32a2793c89980ca87c4f9d98bc4)

(From OE-Core rev: fc8a9e3929a6042bd3d68755799138f417413ab3)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:45 +00:00
Armin Kuster
4266c061a7 tzdata: update to 2018g
Changes to code

    When generating TZif files with leap seconds, zic no longer uses a
    format that trips up older 32-bit clients, fixing a bug introduced
    in 2018f.  (Reported by Daniel Fischer.)  Also, the zic workaround
    for QTBUG-53071 now also works for TZif files with leap seconds.

    The translator to rearguard format now rewrites the line
    "Rule Japan 1948 1951 - Sep Sat>=8 25:00 0 S" to
    "Rule Japan 1948 1951 - Sep Sun>=9  1:00 0 S".
    This caters to zic before 2007 and to Oracle TZUpdater 2.2.0
    and earlier.  (Reported by Christos Zoulas.)

  Changes to past time zone abbreviations

    Change HDT to HWT/HPT for WWII-era abbreviations in Hawaii.
    This reverts to 2011h, as the abbreviation change in 2011i was
    likely inadvertent.

  Changes to documentation

    tzfile.5 has new sections on interoperability issues.

(From OE-Core rev: 32e5dd919a61b1c245fb6a867d0ea4a71d394aca)

(From OE-Core rev: 94c5cc56031b8558cdb75d5d4df05f6715618ab3)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:45 +00:00
Robert Yang
13ab7c2229 oeqa/utils/qemurunner: Print output when failed to login
This is useful for debugging.

(From OE-Core rev: da527d73f5eeae0f29b5f99aab757491d3f87ec7)

(From OE-Core rev: 7fb953573635afb1b6482dbd9f51eb0f05731eae)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:45 +00:00
Richard Purdie
0e75b95e00 busybox: Put klogd/syslogd alternative links in syslog package
Currently these are in ${PN} and ${PN}-syslog may get replaced by
other packages but update-alternatives would error in the postinst
if other files were installed first. Avoid the problems by putting
the links in the correct package.

(From OE-Core rev: ef11c54ba99af261a70ec31091216cdd1556da24)

(From OE-Core rev: a0afcd457af14c3bf3a74514be0e8a029a4fcf63)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:45 +00:00
Scott Rifenbark
7c3899304b overview-manual, mega-manual: Updated Package Feeds diagram
The diagram had a typo in it ".ipd" rather than ".ipk".
Fixed and dropped in the figures folder for each manual.

(From yocto-docs rev: 7047930390d16d0a349ee552969b72de073a7627)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 10:44:02 +00:00
Daniel Ammann
c3d45fbece ref-manual: Typo found and fixed.
(From yocto-docs rev: d94b51fca608c34019b3349763a976c27cf6abdc)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 10:44:02 +00:00
Scott Rifenbark
070fbe7316 dev-manual: Updated clone and checkout examples.
Updated the list of returned branches.  That had gone a bit stale
for the exmaple.  Updated the tag checkout example to include the
yet-to-be created "yocto-2.5.3" tag.

(From yocto-docs rev: 7d8074e7543dac90d2d6f42bdfba16810ee8dab9)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 10:44:02 +00:00
Scott Rifenbark
1c26e2219d brief-yoctoprojectqs: Updated clone and checkout example.
Including the yet-to-be established "yocto-2.5.3" tag.

(From yocto-docs rev: f31fa64c75b8e4c287d94821cd94cf9e15d64639)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 10:44:02 +00:00
Scott Rifenbark
131233f58d documentation: Updates to support a 2.5.3 release:
poky-ent: Fixed the variables and set release to March 2019
<manual>.xml: Fixed manual revision tables

(From yocto-docs rev: 16f3ecf054baa4316ab8946681eda353f7c5ece8)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 10:43:59 +00:00
Scott Rifenbark
c9bd4984f8 bitbake: bitbake-user-manual: Fixed section head typo
Unseting -> Unsetting

(Bitbake rev: 0cfc389598939039496488038c18286d2d9fa735)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-12 21:44:22 +00:00
Scott Rifenbark
58e82c4510 brief-yoctoprojectqs, dev-manual: Updated poky clone examples.
The examples in these manuals for checkout of poky by tag need
to be updated immediately after a release.  The reason is that the
examples use recent tags.  I have updated both the examples
that show how to checkout poky based on a specific tag.  This
particular commit makes the YP 2.5.2 release examples correct.
Note, that I use &DISTRO; ENTITY variables to do this but timing
for when they are correct for a release needs to be monitored.

(From yocto-docs rev: 2a3980300465488ef36bf2fc0d034c968ce96e34)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-01-16 15:35:54 +00:00
Scott Rifenbark
9e28f5aeb0 poky.ent: Updated release date to "January 2019".
(From yocto-docs rev: 9613212edae2c29e3f1b7f5c4dad0fa5fd091fdc)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-01-16 15:35:54 +00:00
Scott Rifenbark
623b778850 Documentation: Updated dates for 2.5.2 release.
Updated the variable in poky.ent.

(From yocto-docs rev: ae0fb9ef999478e03cd93a9e8e18700e7707c6fd)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-12-27 22:53:19 +00:00
Richard Purdie
78020fb639 testsdk: Improvements to the json logging
Tweak the preceeding commit to:
* Add STARTTIME to the identifier to make it unique
* Add MACHINE to the identifier
* Use LOG_DIR
* Store the layer config in a more natural json format
* Drop '_' function prefixes

(From OE-Core rev: 31f0c5e59c7fb0ae0915de584fbfcf3d95bbb061)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-12-16 14:31:27 +00:00
Richard Purdie
e331378e17 testimage: Improvements to the json logging
Tweak the preceeding commit to:

* Add STARTTIME to the identifier to make it unique
* Log DISTRO
* Use LOG_DIR
* Store the layer config in a more natural json format
* Drop '_' function prefixes

(From OE-Core rev: fd07da4d46a8167807f6ce872497fbdc812494ad)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-12-16 14:31:27 +00:00
Richard Purdie
6512ffb090 oeqa/selftest/esdk: Fix typo causing test failure
2018-12-06 23:19:24,564 - oe-selftest - INFO - Traceback (most recent call last):
  File "/media/build1/poky-sumo/meta/lib/oeqa/core/case.py", line 32, in _oeSetUpClass
    clss.setUpClassMethod()
  File "/media/build1/poky-sumo/meta/lib/oeqa/selftest/cases/eSDK.py", line 78, in setUpClass
    cls.tmpdir_eSDKQA = cls.tempdirobj.name
AttributeError: type object 'oeSDKExtSelfTest' has no attribute 'tempdirobj'

(From OE-Core rev: 2c60908a2039d333a9fe2651622750ff6ed4cce1)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-12-16 14:31:27 +00:00
Stefan Lendl
59bc88092e default-versions.inc: Make PREFERRED_VERSION_openssl* overwritable
defaultsetup.conf and therefore default-versions.inc is sourced pretty late in bitbake.conf.
default-versions.inc overwrites previous assignments of PREFERRED_VERSION_openssl.
Assigning it with ?= allows other .conf files to assign correctly.
in particular assignment in conf/local.conf and machine config is used instead of default.

(From OE-Core rev: c9786adf81434e2d58247f55cf80fdd3131121e7)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-12-16 14:31:27 +00:00
Richard Purdie
766a95ecb2 oeqa/selftest/esdk: Ensure parent directory exists
INFO - ======================================================================
INFO - ERROR: setUpClass (eSDK.oeSDKExtSelfTest)
INFO - ----------------------------------------------------------------------
INFO - Traceback (most recent call last):
  File "/home/pokybuild/yocto-worker/oe-selftest-debian/build/meta/lib/oeqa/core/case.py", line 32, in _oeSetUpClass
    clss.setUpClassMethod()
  File "/home/pokybuild/yocto-worker/oe-selftest-debian/build/meta/lib/oeqa/selftest/cases/eSDK.py", line 76, in setUpClass
    cls.tmpdirobj = tempfile.TemporaryDirectory(prefix="selftest-esdk-", dir=bb_vars["WORKDIR"])
  File "/usr/lib/python3.5/tempfile.py", line 929, in __init__
    self.name = mkdtemp(suffix, prefix, dir)
  File "/usr/lib/python3.5/tempfile.py", line 507, in mkdtemp
    _os.mkdir(file, 0o700)
FileNotFoundError: [Errno 2] No such file or directory: '/home/pokybuild/yocto-worker/oe-selftest-debian/build/build/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/selftest-esdk-q7ln84gc'

(From OE-Core rev: 170a601a99836d13b69e5287bee0d3e71983dd46)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-12-16 14:31:27 +00:00
Richard Purdie
5df29d420a image-buildinfo,oeqa/selftest/containerimage: Ensure image-buildinfo doesn't break tests
Having image-buildinfo enabled causes containerimage.ContainerImageTests.test_expected_files
to fail due to the presence of an unexpected file:
  ['./',
   './etc/',
-  './etc/build',
   './etc/default/',
   './etc/default/postinst',

Tweak the class to allow it to be disabled and disable it from the test just in
case it was enabled.

(From OE-Core rev: af67bf422a4df5b7e07894512ff73a5f493682ab)

(From OE-Core rev: f49ab8b1610c045acaed7b964d12f07f969df856)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-12-16 14:31:27 +00:00
Richard Purdie
1f1367a59d oeqa/utils/metadata: Allow to function without the git module
The python git module may or may not be enabled, allow this code to
function without it, falling back to the same method as metadata_scm.bbclass
uses. This will be cleaned up in the next round of feature development.

(From OE-Core rev: 6350586ba9f4a4107a2d457590824cd4d662d5b9)

(From OE-Core rev: 32c9169b76e13e53b6a9ab4a59932cea7863d992)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-12-16 14:31:27 +00:00
Yeoh Ee Peng
152a347f8d oeqa/selftest: Standardize json logging output directory
Currently sdk & sdkext will output json file to LOG_DIR, while
selftest will output json file to TOPDIR/log.

Standardize selftest json output file to LOG_DIR.

(From OE-Core rev: 9f2e39684cbbe9f87eeef6a81961e6db783439e3)

Signed-off-by: Yeoh Ee Peng <ee.peng.yeoh@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-12-16 14:31:27 +00:00
Richard Purdie
f50977c3b5 oeqa/selftest: Improvements to the json logging
Tweak the preceeding commit to:

* Add STARTTIME to the identifier to make it unique
* Use LOG_DIR
* Store the layer config in a more natural json format
* Drop '_' function prefixes

(From OE-Core rev: 173f59acf9722e2ef27fdd49c20f7d3d664917eb)

(From OE-Core rev: 3b69099edc7db99c11bfb41eab2af50bd0e3d4f2)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-12-16 14:31:27 +00:00
Yeoh Ee Peng
8ea47d187d testsdk.bbclass: write testresult to json files
As part of the solution to replace Testopia to store testresult,
OEQA sdk and sdkext need to output testresult into json files, where
these json testresult files will be stored into git repository
by the future test-case-management tools.

By default, json testresult file will be written to "oeqa"
directory under the "WORKDIR" directory.

To configure multiple instances of bitbake to write json testresult
to a single testresult file at custom directory, user will define
the variable "OEQA_JSON_RESULT_DIR" with the custom directory for
json testresult.

(From OE-Core rev: eefb07907873d20f2e66d3784106f6f72030b5b2)

Signed-off-by: Yeoh Ee Peng <ee.peng.yeoh@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-12-16 14:31:27 +00:00
Yeoh Ee Peng
e92ebb4295 testimage.bbclass: write testresult to json files
As part of the solution to replace Testopia to store testresult,
OEQA testimage need to output testresult into json files, where
these json testresult files will be stored into git repository
by the future test-case-management tools.

By default, json testresult file will be written to "oeqa"
directory under the "WORKDIR" directory.

To configure multiple instances of bitbake to write json testresult
to a single testresult file at custom directory, user will define
the variable "OEQA_JSON_RESULT_DIR" with the custom directory for
json testresult.

(From OE-Core rev: 2b8b47ec8ee835d2e70cc4ff3ec484f9e4e4d02d)

Signed-off-by: Yeoh Ee Peng <ee.peng.yeoh@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-12-16 14:31:27 +00:00
Yeoh Ee Peng
5a99880992 oeqa/selftest/context: write testresult to json files
As part of the solution to replace Testopia to store testresult,
OEQA selftest need to output testresult into json files, where
these json testresult files will be stored into git repository
by the future test-case-management tools.

By default, json testresult file will be written to "oeqa"
directory under the oe-selftest log directory.

To configure multiple instances of bitbake to write json testresult
to a single testresult file at custom directory, user will define
the variable "OEQA_JSON_RESULT_DIR" with the custom directory for
json testresult.

(From OE-Core rev: a95218525a4c8228fff9908ffbda85c6b85e101c)

Signed-off-by: Yeoh Ee Peng <ee.peng.yeoh@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-12-16 14:31:27 +00:00
Richard Purdie
3f2c5e0e24 oeqa/runner: Sort the test result output by result class
We want to see failures/errors listed last since this is the most easily
visible part of the log on consoles or autobuilder output and makes
human processing easier rather than having to scroll up and scan for
a single failure.

(From OE-Core rev: 2cc07ab253f1ba6a1f07a66051c9ba6d98cd2357)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-12-16 14:31:27 +00:00
Richard Purdie
1123da4368 oeqa/runner: Always show a summary of success/fail/error/skip counts
Its useful to have the counts of success/failure/error/skipped at the end of the
results to allow for easier human reading of what happened.

(From OE-Core rev: 5942318a261ce7a885f351e214669068ff9d8931)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-12-16 14:31:27 +00:00
Richard Purdie
ed5c12f11f oeqa/runtime/ptest: Inject results+logs into stored json results file
This allows the ptest results from ptest-runner, run in an image to be
transferred over to the resulting json results output.

Each test is given a pass/skip/fail so individual results can be monitored
and the raw log output from the ptest-runner is also dumped into the
results json file as this means after the fact debugging becomes much easier.

Currently the log output is not split up per test but that would make a good
future enhancement.

I attempted to implement this as python subTests however it failed as the
output was too confusing, subTests don't support any kind of log
output handling, subTest successes aren't logged and it was making things
far more complex than they needed to be.

We mark ptest-runner as "EXPECTEDFAILURE" since its unlikely every ptest
will pass currently and we don't want that to fail the whole image test run.
Its assumed there would be later analysis of the json output to determine
regressions. We do have to change the test runner code so that
'unexpectedsuccess' is not a failure.

Also, the test names are manipuated to remove spaces and brackets with
"_" used as a replacement and any duplicate occurrences truncated.

(From OE-Core rev: a13e088942e2a3c3521e98954a394e61a15234e8)

(From OE-Core rev: 526ceab9d0e43f73635bb92e8dd7763ef75ad33b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-12-16 14:31:27 +00:00
Yeoh Ee Peng
eee5b0d104 oeqa/core/runner: write testresult to json files
As part of the solution to replace Testopia to store testresult,
OEQA need to output testresult into single json file, where json
testresult file will be stored in git repository by the future
test-case-management tools.

The json testresult file will store more than one set of results,
where each set of results was uniquely identified by the result_id.
The result_id would be like "runtime-qemux86-core-image-sato", where
it was a runtime test with target machine equal to qemux86 and running
on core-image-sato image. The json testresult file will only store
the latest test content for a given result_id. The json testresult
file contains the configuration (eg. COMMIT, BRANCH, MACHINE, IMAGE),
result (eg. PASSED, FAILED, ERROR), test log, and result_id.

Based on the destination json testresult file directory provided,
it could have multiple instances of bitbake trying to write json
testresult to a single testresult file, using locking a lockfile
alongside the results file directory to prevent races.

Also the library class inside this patch will be reused by the future
test-case-management tools to write json testresult for manual test
case executed.

(From OE-Core rev: 00e03b5004f1eb6d59295544b3a8620504278f51)

(From OE-Core rev: 045511425577ccbe89d8eb91e2a87e385390cabf)

Signed-off-by: Yeoh Ee Peng <ee.peng.yeoh@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-12-16 14:31:27 +00:00
Yeoh Ee Peng
b3b337adb3 oeqa/core/runner: refactor for OEQA to write json testresult
Refactor the original _getDetailsNotPassed method to return
testresult details (test status and log), which will be reused
by future OEQA code to write json testresult.

Take the opportunity to consolidate and simplify the logic used
to gather test status and log within the TestResult instance.

(From OE-Core rev: 79ee7d1c371a86edeb61c99679985118da657e5d)

(From OE-Core rev: bc444181f9658423856621b2f2c60364642ae5b1)

Signed-off-by: Yeoh Ee Peng <ee.peng.yeoh@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-12-16 14:31:27 +00:00
Richard Purdie
52fba04068 oeqa: Remove xmlrunner
This isn't present on modern distros by default and doesn't work with
testtools, needing multiple code paths in the code. Remove it in favour
of finding a better replacement for results collection/analysis.

(From OE-Core rev: 8001d933a8dc86004db014777f094d718086687d)

(From OE-Core rev: 02449e89d62a7714d30ab6e2e58c476dc9441f7a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-12-16 14:31:27 +00:00
Richard Purdie
d8dc75de8b oeqa/runner: Simplify code
There doesn't appear to be any reason we need this _results indirection
any more so remove it.

(From OE-Core rev: b618261811c48ff3b98eab1b340a8cd09ef183c6)

(From OE-Core rev: ab271b49d9b55ea271d519c3a4da0b639a07f0bb)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-12-16 14:31:27 +00:00
Richard Purdie
58678f5aa7 oeqa/core/threaded: Remove in favour of using concurrenttests
We have several options for parallel processing in oeqa, parallel
execution of modules, threading and mulitple processes for the runners.

After much experimentation is appears the most scalable and least
invasive approach is multiple processes using concurrenttestsuite
from testtools. This means we can drop the current threading code
which is only used by the sdk test execution.

oeqa/decorator/depends: Remove threading code

Revert "oeqa/sdk: Enable usage of OEQA thread mode"
This reverts commit adc434c063.

Revert "oeqa/core/tests: Add tests of OEQA Threaded mode"
This reverts commit a4eef558c9.

Revert "oeqa/core/decorator/oetimeout: Add support for OEQA threaded mode"
This reverts commit d3d4ba902d.

(From OE-Core rev: a98ab5e560e73b6988512fbae5cefe9e42ceed53)

(From OE-Core rev: bb9a85e157e669d7a91c3bbefc8d5138e7b8b6ae)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-12-16 14:31:27 +00:00
Richard Purdie
783e1ae8fa oeqa/runner: Ensure we don't print misleading results output
The current code assumes if something isn't a failure of some
kind, it was a pass. When test case IDs weren't matching, this lead
to very confusing output where things would fail, then be listed as
passing.

This adds code to track successes, ensuring we don't end up in this
position again with unmatched entries being listed as UNKNOWN.

(From OE-Core rev: 4374c296d8963e4f6a1aa7bef7983ad0a1c2fcff)

(From OE-Core rev: bcb2948773d76befef2be787be6d25cf544e49a9)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-12-16 14:31:27 +00:00
Richard Purdie
521d02e6f5 oeqa/core/runner: Improve test case comparision
We can directly compare the test case IDs rather than representations,
then if we're using subunit to split the tests, the comparisions still
work as intended.

(From OE-Core rev: 72e5f46f75454ba4c445c65c1cbc616a9e72fc6e)

(From OE-Core rev: 4c53aac5315f9d0a0ed95cbeb48b7704e274e3a9)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-12-16 14:31:27 +00:00
Richard Purdie
fa12ad627b oeqa/selftest/context: Improve log file handling
The existing logfile is simply placed in the current directory. Since the test
changes cwd to BUILDDIR, the symlink to the log can be placed in an invalid
directory. We also see trackbacks if the symlink is invalid.

Improve things by:

* Placing logs in LOG_DIR (or BUILDDIR if unset).
* Using a full path to the log meaning the log and link are placed in the same directory.
* Using lexists instead of exists so invalid symlinks are handled correctly.

(From OE-Core rev: 750ece11bed0e62a11e0003d1d16a81f7c219761)

(From OE-Core rev: 9c4c3c876dd5d224133571fcad1095af1098ae1d)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-12-16 14:31:27 +00:00
Richard Purdie
c7a841625d oeqa/utils/qemurunner.py: Fix python regex warnings
Fix the warnings:

meta/lib/oeqa/utils/qemurunner.py:250: DeprecationWarning: invalid escape sequence \.
  ips = re.findall("((?:[0-9]{1,3}\.){3}[0-9]{1,3})", cmdline.split("ip=")[1])
meta/lib/oeqa/utils/qemurunner.py:343: DeprecationWarning: invalid escape sequence \-
  if re.search("root@[a-zA-Z0-9\-]+:~#", output):
poky/meta/lib/oeqa/utils/qemurunner.py:350: DeprecationWarning: invalid escape sequence \-
  if re.search("root@[a-zA-Z0-9\-]+:~#", output):
meta/lib/oeqa/utils/qemurunner.py:448: DeprecationWarning: invalid escape sequence \-
  if re.search("[a-zA-Z0-9]+@[a-zA-Z0-9\-]+:~#", data):

by correctly marking the regexs.

(From OE-Core rev: 8e6987735002560fca714f77ea8ece9d4b28f7fa)

(From OE-Core rev: 7eb1f0be82d7ee12f893cdd40384da306fa597a7)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-12-16 14:31:27 +00:00
Richard Purdie
ea1539b872 oeqa/selftest/context: Replace deprecated imp module usage
Avoid the warning:

meta/lib/oeqa/selftest/context.py:8: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses
  import imp

In this case importlib is a direct replacement.

(From OE-Core rev: db7a60c36a2d3eefc61ae6e1ede01680dc932035)

(From OE-Core rev: 351a7b75959593922909d7e1929a6429a2bf94a7)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-12-16 14:31:27 +00:00
Richard Purdie
76d7cf2415 oeqa/utils/commands: Avoid unclosed file warnings
Avoid warnings such as:

meta/lib/oeqa/utils/commands.py:213: ResourceWarning: unclosed file <_io.BufferedReader name=4>
  return runCmd(cmd, ignore_status, timeout, output_log=output_log, **options)

(From OE-Core rev: 6a68c42de08cffbadb59ebda63fa5e19f6e5acef)

(From OE-Core rev: 682d7b2810b235e86a28a8afe034e3853dbe8c45)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-12-16 14:31:27 +00:00
Richard Purdie
eb0dd09cf5 oeqa/loader: Fix deprecation warning
Clean up the warning:
meta/lib/oeqa/core/loader.py:27: DeprecationWarning: inspect.getargspec() is deprecated, use inspect.signature() or inspect.getfullargspec()
  _failed_test_args = inspect.getargspec(unittest.loader._make_failed_test).args

(From OE-Core rev: d2deb66830be2d44532fea3d5db763b57778252a)

(From OE-Core rev: f9ab10bb08446052fd6af2a21f38d8454e466d51)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-12-16 14:31:27 +00:00
Ross Burton
5f74f3c639 oeqa/selftest/esdk: run selftest inside workdir not /tmp
We've seen issues with rootfs size calculations and we've seen systems
like opensuse which have btrfs mounted on /tmp causing selftest failures.

(From OE-Core rev: 61be3cd748d1b7321a1fc4cfe84efa9b26a6aee0)

(From OE-Core rev: d936faabfb29ea377d74e77332a2a91603747ac7)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-12-16 14:31:27 +00:00
Ross Burton
899f4baef7 oeqa: don't litter /tmp with temporary directories
If we need to create a temporary directory in targetbuild or buildproject use
tempfile.TemporaryDirectory so that when the test case is finished, the
directory is deleted.

Also synchronise the logic and don't possibly store the temporary directory in
self.tmpdir as nothing uses that.

(From OE-Core rev: db0e658097130d146752785d0d45f46a3e0bad71)

(From OE-Core rev: d39252324a13580cc96f0694b88bc10515e030a0)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-12-16 14:31:27 +00:00
Richard Purdie
2fae64eae4 oeqa/utils/qemurunner: Avoid tracebacks on closed files
Reorder the shutdown/teardown to avoid:

  File "/home/pokybuild/yocto-worker/oe-selftest-ubuntu/build/meta/lib/oeqa/utils/qemurunner.py", line 224, in launch
    op = self.getOutput(output)
  File "/home/pokybuild/yocto-worker/oe-selftest-ubuntu/build/meta/lib/oeqa/utils/qemurunner.py", line 90, in getOutput
    fl = fcntl.fcntl(o, fcntl.F_GETFL)
ValueError: I/O operation on closed file

(From OE-Core rev: 8e7d756862d2a8d62f3c87497d6d65ddb3c1b962)

(From OE-Core rev: 48979ffbe25351f92179021a973207a71bbe7a4e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-12-16 14:31:27 +00:00
Richard Purdie
9bd0b59f73 oeqa/selftest/runqemu: Improve testcase failure handling
assertTrue doesn't give good debug information when things fail. Update
several to use assertIn which gives information upon failure, for the
others print the log information upon failure.

(From OE-Core rev: c29cb75d5ce6b0873a934f4709b0c8824f7164d3)

(From OE-Core rev: 6f2bb2c12289422396deb793ae4b4e99cfa88c7b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-12-16 14:31:27 +00:00
Ross Burton
765f90b383 oeqa/oelib/path: don't leak temporary directories
setUp() is used to populate a directory of temporary files, and deleted in
__del__.  However setUp() is called once *per test* so __del__ would only be
able to remove the last directory created.

Fix the code by using the natural counterpart to setUp, tearDown(), to clean up.

(From OE-Core rev: 68b4723e6fb11d171869185bccf28f32f6284c18)

(From OE-Core rev: edd2ecbc86d8b02a0467491451306f67e81d9ead)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-12-16 14:31:27 +00:00
Richard Purdie
202097fe5b oeqa/selftest/buildoptions: Ensure diskmon tests run consistently
Heartbeat events default to once a second and we need to ensure we have
enough time in the task to see them.

Add a nostamp delay task 5s long so we can have a consistently timed
task which doesn't need cleanup or have unneeded dependencies. This
ensures we should deterministically see the disk moinitor events
regardless of the state of the build. This is done in a way which
doesn't corrupt build state or need cleanup and is efficient.

(From OE-Core rev: ecc49ee8986929e2429d948000a0ca588fe63959)

(From OE-Core rev: d5ce38168238181423c9dcd1d258253e3515d0a5)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-12-16 14:31:27 +00:00
Richard Purdie
26f65c2612 oeqa/selftest/buildoptions: Improve ccache test
This test occisionally fails as m4 doesn't recompile, meaning the logfile test
then doesn't find mention of ccache.

To ensure m4 does recompile, clean m4 before force compiling it.

(Reading the test is confusing due to the test cleanup also involving a clean)

(From OE-Core rev: 6e0b9214a0d57ed45a5df0ba5c9887a9045b89b1)

(From OE-Core rev: b729a46820cce38b3d500271df19bdaf31973140)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-12-16 14:31:27 +00:00
Richard Purdie
9901fd4842 oeqa/qemurunner: Remove resource python warnings
If runqemu fails it would leak an unclosed socket and file. Ensure we
close these in all cases to remove the resource warning.

(From OE-Core rev: ed80e46ccbc8fe8e9148d80723152066fa00ba28)

(From OE-Core rev: baa8313e492cff8c31633a558792500b10493e9e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-12-16 14:31:27 +00:00
Richard Purdie
89b637bb9d oeqa/utils/commands: Avoid log message duplication
Each time a runqemu() fails, the log handler would be left behind meaning
messages from any subsequent run would be duplicated (or worse/more).

This ensures we remove the handler regardless and means we no longer
have the duplication.

(From OE-Core rev: 532984708436bdfa3a8cac2c684a425eb249bad0)

(From OE-Core rev: 600e71ede1977c45fed1958dd5356911e4fcf272)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-12-16 14:31:27 +00:00
Richard Purdie
3de93e3d4a oeqa/utils/qemurunner: Fix python ResourceWarning for unclosed file
Fixes:

Stderr:
/media/build1/poky/meta/lib/oeqa/utils/qemurunner.py:381: ResourceWarning: unclosed file <_io.BufferedWriter name=16>
  self.runqemu = None

(From OE-Core rev: b9e0bf919e6fc1a58e02145a363ebe7066e5bf4f)

(From OE-Core rev: b8a9eec2c9e56181350269acd6b42a14cc4abb3e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-12-16 14:31:27 +00:00
Richard Purdie
3260af7ab4 oeqa/utils/commands: Add extra qemu failure logging
Rather than just referring the user to the logs containing the failure, print
them on the console. This aids debugging with oe-selftest with parallelisation
as the logs may otherwise be lost.

(From OE-Core rev: 36a018e245a232f520ff946f152cc875927a6fb4)

(From OE-Core rev: 0ea441ab6a6fe752cc8820fb371e67eee92353e4)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-12-16 14:31:27 +00:00
Richard Purdie
029c414cd5 oeqa/selftest/buildoptions: Improve ccache test failure output
The current failure mode doesn't show us what the logs actually looked like
and later cleans can lose them. Show the whole log in case of failure
to aid debugging intermittent problems on the autobuilder.

(From OE-Core rev: 7c3a0dc5978cea898b1ca51decf4d6e7cf9d519f)

(From OE-Core rev: 60b58e976dcc2a45a036e18cfcc87933a8859c9f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-12-16 14:31:27 +00:00
Richard Purdie
c2fdfb7981 oeqa/selftest/case: Use bb.utils.remove() instead of shutil.remove()
This avoids problems where shutil.remove will error with:

  File "/usr/lib/python3.5/shutil.py", line 436, in _rmtree_safe_fd
    os.unlink(name, dir_fd=topfd)
FileNotFoundError: [Errno 2] No such file or directory: 'S.gpg-agent.extra'

when there are races over file deletion (gpg agent may be slow to exit).

We already worked around speed and race issues in bb.utils.

(From OE-Core rev: 00a8fd5b93a5c19ce0b7498e2bc653ce8ad58aaf)

(From OE-Core rev: e7c0d29e063d1a47004acdc07a63996be98c74ef)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-12-16 14:31:26 +00:00
Richard Purdie
de5ed54deb oeqa/selftest/signing: Use do_populate_lic target instead of do_package
This should speed the test up signficiantly without any loss of functionality
for the purposes of the test.

(From OE-Core rev: 3dde0b749643575878bfbca2f8d2d9ec30bad166)

(From OE-Core rev: 51989db2d9eebd9f190994109c2932dac3f3034b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-12-16 14:31:26 +00:00
Richard Purdie
d030fa6043 oeqa/selftest/signing: Allow tests not to need gpg on the host
We ideally don't want to use gpg from the host. This is straightforward for package
management but not for sstate.

For sstate, create a second build directory to run the test in using gnupg-native
from the original build directory.

(From OE-Core rev: 10afa94c3f0d7eb7524a26deda86949073d55fde)

(From OE-Core rev: c5d68a24b0c6df0a16f50075a690b3aab0e273ee)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-12-16 14:31:26 +00:00
Richard Purdie
ac34287384 oeqa/selftest/signing: Skip tests if gpg isn't found
Raising an assertionError in the class setup isn't a particuarly good way to
indicate gpg isn't installed. Instead skip the tests if the required binary
isn't present. For the signing tests we do require it to be present and can't
use a prebuilt one.

(From OE-Core rev: 2d486af97e51b9daa9c40482c31d637c9ab4ae79)

(From OE-Core rev: 65403bb556f7e3132722288a62ef36631af0b557)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-12-16 14:31:26 +00:00
Richard Purdie
30148ab874 scripts/runqemu: Improve lockfile handling for python with close_fd=True
On python versions with close_fds=True (python 3.2 onwards), the tap
device lockfile isn't passed to the child process.

Since this guards against use of an active interface, we really want this
here, so pass it in pass_fds. This means if the parent exits early, the child
still holds the lock, avoiding messages like:

runqemu - ERROR - Failed to run qemu: qemu-system-x86_64: could not configure /dev/net/tun (tap0): Device or resource busy

(From OE-Core rev: 17a0a067d597c445c5892ff9914e91a2187f7e09)

(From OE-Core rev: d3b3c55ddc312039380ce8e23e68dd8bb2439388)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-12-16 14:31:26 +00:00
Richard Purdie
d99e6afb8d scripts/runqemu: Tidy up lock handling code
Various tweaks:
- Balance up the aquire/release functions
- Use debug messge for both acquiring and release message for consistency in logs
- Use None instead of an empty string
- Reset the value of the field if we don't have the lock any more

(From OE-Core rev: d3c052e6ccd81d544b23a3bee80ba00cafaedbbd)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-12-16 14:31:26 +00:00
Michael Halstead
f7b5f33ae1 scripts/runqemu: Replace subprocess.run() for compatibilty
subprocess.run() was introduced in Python 3.5. We currently support down to
Python 3.4 so I've replaced it with subprocess.check_call() which is available
in that version.

(From OE-Core rev: 1c61f3017a6a2d95747883c722c376763ec77c9d)

Signed-off-by: Michael Halstead <mhalstead@linuxfoundation.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-12-16 14:31:26 +00:00
Scott Rifenbark
c5ee326ea9 documentation: Prepared for 2.5.2 document release
Updated poky.ent to use "TBD" for the release date variable.
Updated the mega-manual.sed file to use "2.5.2"
Updated all the <manual>.xml files to include a new entry for
  the 2.5.2 release date
Updated poky.ent to have all applicable 2.5.2 variables changed.

(From yocto-docs rev: 189ec469aa8797d75567cfef444b9896d3467e7a)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-12-15 11:49:10 +00:00
Yong, Jonathan
a4c7d28688 bitbake: bitbake-user-manual: Added "usehead" parameter.
(Bitbake rev: 17fb5216c9a5b5d4305bef6dcb267345040280c6)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-12-10 20:41:28 +00:00
Richard Purdie
fa962ec72f bitbake: main: Don't use print() directly, use logger
Avoid failures like:

2018-12-04 03:30:56,033 - oe-selftest - INFO - ======================================================================
2018-12-04 03:30:56,033 - oe-selftest - INFO - FAIL: pkgdata.OePkgdataUtilTests.test_find_path (subunit.RemotedTestCase)
2018-12-04 03:30:56,033 - oe-selftest - INFO - ----------------------------------------------------------------------
2018-12-04 03:30:56,033 - oe-selftest - INFO - testtools.testresult.real._StringException: Traceback (most recent call last):
[...]
AssertionError: 'Previous bitbake instance shutting down?,[77 chars]xist' != 'ERROR: Unable to find any package produci[14 chars]xist'
- Previous bitbake instance shutting down?, waiting to retry...
  ERROR: Unable to find any package producing path /not/exist

We need to use the logger so output is correctly handled in such cases.

(Bitbake rev: 34a2ef91e6172c9d63819f4d8005a382956d741a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-12-06 10:28:05 +00:00
Richard Purdie
a13af733dc bitbake: process: Flush key output to logs
Small tweak to ensure these items are printed into the log since there
is other logging code which looks for the header and this makes it clearer
the server did start but is slow somewhere in startup.

(Bitbake rev: e698ff1817e3536211f40af161c563d15e2ef3b5)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-12-06 10:28:05 +00:00
Richard Purdie
61125e3e8f bitbake: runqueue: Ensure disk monitor is started when no setscene tasks are run
Currently if there are no setscene tasks, the disk monitor isn't started.

Move the startup code to somewhere to ensure it always is started. This
issue would partially explain occasional selftest failures.

(Bitbake rev: 9f72f5af7eb04c87be0e11a9c519a3941789bf7e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-12-06 10:28:04 +00:00
Richard Purdie
fdb46449d9 bitbake: server/process: Fix ConnectionRefusedError tracebacks
Improve connetion refused error handling:

NOTE: Retrying server connection...
NOTE: Reconnecting to bitbake server...
NOTE: Retrying server connection... (Traceback (most recent call last):
  File "/home/pokybuild/yocto-worker/oe-selftest-opensuse/build/bitbake/lib/bb/server/process.py", line 471, in connectProcessServer
    sock.connect(os.path.basename(sockname))
ConnectionRefusedError: [Errno 111] Connection refused

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/pokybuild/yocto-worker/oe-selftest-opensuse/build/bitbake/lib/bb/main.py", line 464, in setup_bitbake
    server_connection = bb.server.process.connectProcessServer(sockname, featureset)
  File "/home/pokybuild/yocto-worker/oe-selftest-opensuse/build/bitbake/lib/bb/server/process.py", line 502, in connectProcessServer
    os.close(i)
TypeError: an integer is required (got type NoneType)
)
WARNING: /home/pokybuild/yocto-worker/oe-selftest-opensuse/build/bitbake/lib/bb/main.py:481: ResourceWarning: unclosed <socket.socket fd=14, family=AddressFamily.AF_UNIX, type=SocketKind.SOCK_STREAM, proto=0>
  logger.info("Retrying server connection... (%s)" % traceback.format_exc())

(Bitbake rev: 0d0d8558d753ab3723325246c7d6c11e93cd18b8)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-12-06 10:28:04 +00:00
Richard Purdie
caf1c2c1ef bitbake: lib/bb/server: Avoid UnboundLocalError traceback
Traceback (most recent call last):
  File "/home/pokybuild/yocto-worker/nightly-oe-selftest/build/bitbake/lib/bb/main.py", line 464, in setup_bitbake
    server_connection = bb.server.process.connectProcessServer(sockname, featureset)
  File "/home/pokybuild/yocto-worker/nightly-oe-selftest/build/bitbake/lib/bb/server/process.py", line 490, in connectProcessServer
    if command_chan_recv:
UnboundLocalError: local variable 'command_chan_recv' referenced before assignment

(Bitbake rev: bdffac83bcbd12668d262867f3a6e329327ff1e4)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-12-06 10:28:04 +00:00
Richard Purdie
005d59b13d bitbake: server/process: Fix unclosed socket warnings upon server connection refused
Extend the server error handling to avoid:

Reconnecting to bitbake server...
NOTE: Retrying server connection... (Traceback (most recent call last):
  File "/home/pokybuild/yocto-worker/nightly-oe-selftest/build/bitbake/lib/bb/main.py", line 464, in setup_bitbake
    server_connection = bb.server.process.connectProcessServer(sockname, featureset)
  File "/home/pokybuild/yocto-worker/nightly-oe-selftest/build/bitbake/lib/bb/server/process.py", line 457, in connectProcessServer
    sock.connect(os.path.basename(sockname))
ConnectionRefusedError: [Errno 111] Connection refused
)
WARNING: /home/pokybuild/yocto-worker/nightly-oe-selftest/build/bitbake/lib/bb/main.py:481: ResourceWarning: unclosed <socket.socket fd=20, family=AddressFamily.AF_UNIX, type=SocketKind.SOCK_STREAM, proto=0>
  logger.info("Retrying server connection... (%s)" % traceback.format_exc())

NOTE: Starting bitbake server...

(Bitbake rev: 115919f0c11e22df783348422e06ab95f5c943e1)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-12-06 10:28:04 +00:00
Richard Purdie
95ebfb33e4 build-appliance-image: Update to sumo head revision
(From OE-Core rev: 6637f400fb01501353f376d73658b359cedfa3c2)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-12-05 22:35:24 +00:00
Richard Purdie
1566ecdb01 poky.conf: Bump version for 2.5.2 sumo release
(From meta-yocto rev: 8bb2d9892b1b24318095282c8c51721dd68751fd)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-12-05 22:35:16 +00:00
Anuj Mittal
0d4a6b9f7d linux-yocto: update genericx86* SRCREV for 4.14
Bump to kernel release v4.14.67.

(From meta-yocto rev: 08f99ac34faeb9b02e6194b3bb2c2989598a6967)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-12-05 22:34:00 +00:00
Richard Purdie
a11f559ad3 poky.conf: Update the distros we test against on the autobuilder
(From meta-yocto rev: e2bad29f075d668d70b55f85aec4fd6039e7c119)

(From meta-yocto rev: dae049870f930ab029cdf205b0caf7d405b64393)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-12-05 22:34:00 +00:00
Richard Purdie
f67c02816c sanity: Add check for WSL
Users are starting to expect OE to work under WSL which it doesn't. Add a warning to
tell them about this up front and manage expectations.

(From OE-Core rev: 4f22710f9a310412f1de0b4e6905c058ec416f25)

(From OE-Core rev: 33a577864123833d7d8182fe90df7069fc583bc6)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-12-05 22:34:00 +00:00
Martin Hundebøll
52ac6715c7 busybox: make busybox.links.{suid, nosuid} reproducible
The busybox.link.* files are generated from autoconf.h and applets.h,
which are both auto-generated by the build system. The contents of the
two files might be in different order, and so the link files are not
reproducble as is.

Fix this by sorting the lists using `sort`.

(From OE-Core rev: bade7cc344c2f0e9316f973c34e9c9dfcbdbe32d)

(From OE-Core rev: 0f70da971e6e01ed9b669137b3ba39b1898a7dfe)

Signed-off-by: Martin Hundebøll <martin@geanix.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-12-05 22:34:00 +00:00
Martin Hundebøll
9b66c49eab shadow: improve reproducibility by hard-coding shell path
The shadow configure script tries really hard to detect the running
shell to make sure it doesn't do unsupported calls.

On my system the shell is detected as /bin/sh, while a build in an
ubuntu docker it resolves to /bin/bash. And since the shell path is
baked into the target binaries through config.h, the build becomes
inreproducible.

Fix reproducibility by hard-coding the shell to be /bin/sh

(From OE-Core rev: 5f4fe91cb6c21cd3ecd0b68d1c6b46a9530c7570)

(From OE-Core rev: 83214b835cd82d5dddb47c418c4e7a20ac433f61)

Signed-off-by: Martin Hundebøll <martin@geanix.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-12-05 22:34:00 +00:00
Paul Eggleton
cd6ac316c2 socat: fix LICENSE
According to both the README and source headers, the LICENSE value for
socat is explicitly GPLv2, not v2 or later, so adjust LICENSE
accordingly (leaving aside whether "GPL-2.0+-with-OpenSSL-exception"
should actually be considered a valid LICENSE string or not).

(From OE-Core rev: 466044a341a8b42159bd9388950c9079e0d7a2c3)

(From OE-Core rev: caa0b85cecf37945d67d5844c772a11ed790f8a5)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-12-05 22:34:00 +00:00
Ross Burton
64a257fa22 gnupg: patch gnupg-native to allow path relocation
GnuPG hard-codes $bindir etc and uses them to find the helper binaries, such as
gpg-agent.  This breaks if gnupg-native is reused from sstate for a different
build directory and GPG signing of packages is required.

Patch in getenv() checks for gnupg-native when returning the hardcoded paths,
and create a wrapper script which overrides GNUPG_BINDIR. There are more paths
that can be overridden, but this one is sufficient to make GnuPG work.

(From OE-Core rev: dfd69ff889ed78bf137116583d8ae351859ee203)

(From OE-Core rev: ddaf41f210f80556eca1d0acaee1e3f9cbf80122)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-24 21:49:51 +00:00
Awais Belal
26864d29ef bitbake: bitbake: toaster: allow OE_ROOT to be provided through environment
Updates for YOCTO #12891 allowed a user to have a directory
structure different to that of yocto (bitbake isn't inside
oe-core) whereas the definition of OE_ROOT in the main toaster
binary still assumes the same while checking for .templateconf
and hence we see an error on the cmdline in such cases:
bash: <repo-path>/bitbake/bin/../../.templateconf: No such file or directory
The change here now allows the user to provide OE_ROOT through
the environment in such cases and otherwise defaults to the older
mechanism to fix this issue.

(Bitbake rev: 79d01b9fec99cec19156e0ebe05b4f2040bcef05)

Signed-off-by: Awais Belal <awais_belal@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-24 21:45:58 +00:00
Armin Kuster
4f454cdca3 dhcp: allow for excluding the external bind
There is a known issue when using ISC DHCP alongside bind 9.10. DHCP uses libraries
provided by bind and there is a bug which results in dhcpd/dhclient not
running in the background and not responding to sigterm.

The issue was first reported in 02/2015 by the fedora team here:

https://lists.isc.org/pipermail/bind-users/2015-February/094636.html

and as of 02/2018 it is still unresolved:

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

Fedora's workaround seems to consist of providing working libraries from the bind 9.9
package just for DHCP.

added 'ext-bind' in PACKACGECONFIG
added notes on how to enable the workaround
refreshed patches too

[ Yocto # 12744 ]

(From OE-Core rev: 1c35c68da07ccca5d80820e2de51c0b6bf51b349)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-24 21:45:58 +00:00
Ross Burton
b200094891 curl: actually apply latest CVE patches
(From OE-Core rev: f0394e80a37f1da47042a1aa0487594f390603f9)

(From OE-Core rev: b2ccfeeffc5762648ee6b1f1d05c3cc6f347ed28)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-24 21:45:58 +00:00
Ross Burton
2ddc94e8e6 unzip: actually apply CVE-2018-18384
(From OE-Core rev: d8e1b7afc536f989e7e6efdab0998d54f26ad1f6)

(From OE-Core rev: 1a42e6401369ffaf02f4711c01f757007f831cc8)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-24 21:45:58 +00:00
Mohamad Noor Alim Hussin
0995109f36 oeqa/selftest/recipetool: Fix problems from changing upstream source
The upstream source tarball checksums changed. Use the copy from our source
mirror to avoid failures.

[YOCTO #12979]

(From OE-Core rev: e97a31e6bbaec5cb56d4750bf5171dbba510ee33)

(From OE-Core rev: d637eea4af8b538fb45056f0022975d7c41cdf5f)

Signed-off-by: Mohamad Noor Alim Hussin <mohamad.noor.alim.hussin@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-24 21:45:58 +00:00
Matthias Schiffer
070ce7bdbf base.bbclass: avoid 'find -ignore_readdir_race -delete'
Due to a bug in find [1], -ignore_readdir_race does not work correctly with
-delete. This can lead to spurious build failures when files disappear
while such a command is running; specifically this was seen in the case of
do_configure and do_populate_lic running concurrently for packages
with ${B} == ${WORKDIR}:

   find: '.../sstate-build-populate_lic': No such file or directory

While the issue is fixed in the findutils git master, the find command of
the host system is called here, so we can't ensure that the used version
contains the fix. Many common distros have not updated to a recent enough
findutils version yet (Ubuntu 18.10 contains the fix, while 18.04 is still
affected).

Work around the issue by passing the output of find to 'rm -f' instead of
using -delete.

[1] https://savannah.gnu.org/bugs/?52981

(From OE-Core rev: 8079e2d62e23f7c274f46185e6dad64fa95394c1)

(From OE-Core rev: 0808fe2c1b465114c16265bea3442e878586a8e6)

Signed-off-by: Matthias Schiffer <matthias.schiffer@ew.tq-group.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-24 21:45:58 +00:00
Fabien Lahoudere
a2eb50176b archiver: Drop unwanted directories
In sources directory we can find patches/ and temp/.
The first one is filled with symbolic link unusable on another
machines.
The second contains yocto logs to create this archives and are
typically copied when 'S = "${WORKDIR}"'

(From OE-Core rev: 3904f98851c6a63dd9377e38f1432be6b1c0a94d)

(From OE-Core rev: f0eebea19ff8d9dfd89d104be04ca3510a546424)

Signed-off-by: Fabien Lahoudere <fabien.lahoudere@collabora.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-24 21:45:58 +00:00
Kosta Zertsekel
52db6681b2 meta: Use double colon for chown OWNER:GROUP
Rationale - excerp from `info chown`
====================================

OWNER‘:’GROUP
     If the OWNER is followed by a colon and a GROUP (a group name or
     numeric group ID), with no spaces between them, the group ownership
     of the files is changed as well (to GROUP).

   Some older scripts may still use ‘.’ in place of the ‘:’ separator.
POSIX 1003.1-2001 (*note Standards conformance::) does not require
support for that, but for backward compatibility GNU ‘chown’ supports
‘.’ so long as no ambiguity results.  New scripts should avoid the use
of ‘.’ because it is not portable, and because it has undesirable
results if the entire OWNER‘.’GROUP happens to identify a user whose
name contains ‘.’.

(From OE-Core rev: 185918234a07cb506d7d7464a49ac33972c7d963)

(From OE-Core rev: 8105b6384042e04d8bdfaa881370616c6e46acfa)

Signed-off-by: Kosta Zertsekel <zertsekel@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-24 21:45:58 +00:00
Richard Purdie
5ed5ca2f03 crosssdk: Remove usage of host flags for cross-compilation
Similarlly to OE-Core rev 4b936cde58ca0a6f34092ce82640a02859110411 for
cross.sdk, BUILD_* flags can't be used as TARGET_* flags

gcc-crosssdk buils leaks config.log's through "gcc-stashed-builddir" and
TARGET_* flags to libgcc cross-build through "gcc/libgcc.mvars" file
on "gcc-stashed-builddir". This means that if BUILD_CFLAGS contains
host-specific flags like "-isystem/usr/include" libgcc build will
fail "do_qa_configure" and "do_package_qa" checks.

Remove host-related flags from TARGET_* flags for gcc-crosssdk builds.

[YOCTO #11874]

(From OE-Core rev: 6e162e619b6f5173c073cd9bedbcadf205017e30)

(From OE-Core rev: 702917592ffca04fb1447fca60f6377ef96a57a0)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-24 21:45:58 +00:00
Peter Kjellerstedt
0eb20f7cc4 pixman: Trim license info extracted from pixman-matrix.c
Four unrelated lines were extracted from pixman-matrix.c for the
license information.

License-Update: Only extract the relevant part from pixman-matrix.c
(From OE-Core rev: d0a209e8cf29d982567e3978e1dcbb3871505a39)

(From OE-Core rev: e1c9d4d57aa3ebe9b733241e3f8139551a77d7cb)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-24 21:45:58 +00:00
Peter Kjellerstedt
92a984b100 apr-util: Trim license info extracted from apu_version.h
Two unrelated lines were extracted from apu_version.h for the license
information.

License-Update: Only extract the relevant part from apu_version.h
(From OE-Core rev: 2edb0f24a13f27b2fae94fb447221ad2ddb924a0)

(From OE-Core rev: 6aebc3a4452d1422cf2ba59dd9b381f89e2fefcc)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-24 21:45:58 +00:00
Peter Kjellerstedt
5398272834 apr: Trim license info extracted from apr_lib.h
Two unrelated lines were extracted from apr_lib.h for the license
information.

License-Update: Only extract the relevant part from apr_lib.h
(From OE-Core rev: 90ab83ecc509c2fdc1f6083d771031decdcaad63)

(From OE-Core rev: f7883a0fae697eefffccd56a45e013f24e20ba5c)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-24 21:45:58 +00:00
Peter Kjellerstedt
859b4c7269 common-licenses: Correct the FreeType license text
It now matches:
http://git.savannah.gnu.org/cgit/freetype/freetype2.git/tree/docs/FTL.TXT

(From OE-Core rev: 9dcb393551b65c8b674f625e90171b512f5e5a60)

(From OE-Core rev: 92609b0ffe36db5b8cf0669b71adf8b030930c31)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-24 21:45:58 +00:00
Changqing Li
62c0904ed4 curl: fix for CVE-2018-16839/CVE-2018-16840/CVE-2018-16842
(From OE-Core rev: 0f0db9fc8512a0ecd0cdba3304a195cd925a5029)

(From OE-Core rev: b3e92c0c1864cac8c8f6c693ede713a2fc7f2ef5)

Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-24 21:45:58 +00:00
Changqing Li
ca635e3c6f unzip: fix for CVE-2018-18384
(From OE-Core rev: 2ddb3b25ed063b47d3fe2b3e9e17b7f9d0e2a7e5)

(From OE-Core rev: 5667a43ff0c8200acb8b4bde64ae0a73a983e28b)

Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-24 21:45:58 +00:00
Ioan-Adrian Ratiu
0561549730 wic: isoimage-isohybrid: fix UEFI spec breakage
It's really good that OE supports multiple EFI_PROVIDERs and that
commit 9a1709278de87 ("wic: isoimage-isohybrid: use grub-efi from
deploy dir") makes re-use of the grub-efi built image, but we should
still respect the standard otherwise the ISO will not boot, so install
grub images as boot[x64|ia32].efi not ${PN}-boot[x64|ia32].efi.

(From OE-Core rev: 1608129692d92c239b5fb9244b649a32b9009254)

(From OE-Core rev: ce1815374254d1f23556b7fe2e46aa0e676d8d1a)

Signed-off-by: Ioan-Adrian Ratiu <adrian.ratiu@ni.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-24 21:45:58 +00:00
Richard Purdie
0b96af3645 selftest/wic: Improve error message for test_fixed_size
Currently this can fail with a message like 127 != 0 which is unhelpful.

If we remove the ignore_status=False, the debugging from runCmd is much
more helpful printing status.output.

Also remove the now unneeded exit code check.

(From OE-Core rev: 1aa7471b11aedc68de5116c461fe73152e3985fd)

(From OE-Core rev: d9ad083ee5a1bc8723b01b31a0010128e26375fd)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-24 21:45:58 +00:00
Richard Purdie
200366f34a oeqa/selftest/wic: Ensure initramfs exists for test_iso_image
AssertionError: Command 'wic create mkhybridiso --image-name core-image-minimal -o /var/tmp/wic.oe-selftest/' returned non-zero exit status 1:

ERROR: _exec_cmd: gzip -f -9 -c /var/tmp/wic.oe-selftest/tmp.wic.drhn6edm/initrd.cpio > /var/tmp/wic.oe-selftest/tmp.wic.drhn6edm/initrd.cpio.gz returned '1' instead of 0
output: gzip: /var/tmp/wic.oe-selftest/tmp.wic.drhn6edm/initrd.cpio: No such file or directory

This is because in a clean build directory, the initramfs may not be rebuilt.
Add a call to ensure it is built to avoid the error.

(From OE-Core rev: 2a80fa234d31992691a157425e8990db30158fd1)

(From OE-Core rev: cdc226b8d4114ef4ff51d6f13ceb09f8d264bf76)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-24 21:45:58 +00:00
Richard Purdie
8799bc3171 oeqa/selftest/wic: Use a subdir of builddir, not /var/
Using /var/ leave wic open to races with other processes on the system, use
a subdir of builddir instead to avoid this.

(From OE-Core rev: e07ec908ce7f26143a7bdf0a07a1230c0fd6ac87)

(From OE-Core rev: 17223b0045896c9f342e9079d2345b730a3048cc)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-24 21:45:58 +00:00
Scott Rifenbark
091d470a8a kernel-dev: Updated phrasing for what a "defconfig" file is.
It was over simplistic.

(From yocto-docs rev: 7eb909de44d5782ec1389c07df0cecf487e558d8)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-22 12:21:08 +00:00
Richard Purdie
eebbc00b25 oeqa/selftest/runtime_test: Ensure we build/use gnupg-native
Without this, we see errors if gpg is missing from the host system
for "oe-selftest -r runtime_test.TestImage.test_testimage_dnf".

(From OE-Core rev: e91838b63b506e2969582b2b8511fd3724d6aa3f)

(From OE-Core rev: 40e0b6244c0c6f276de501765daff660d7a44363)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-16 16:33:09 +00:00
Peter Kjellerstedt
1a2f356116 curl: Include the complete license information
For some reason, the copyright part was left out of the license
information included in LIC_FILES_CHKSUM, preventing it from being
used in, e.g., documentation to satisfy the requirements of the
license.

License-Update: Include the complete license information
(From OE-Core rev: 390becd2dcf4fe791ec3715a74e34a46bd457e7a)

(From OE-Core rev: 015f65b5c391c75fe96f927a007a8be04db70a63)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-16 16:33:09 +00:00
Zhixiong Chi
b949a00e76 curl: CVE-2018-14618
Backport the CVE patch from the upstream
57d299a499.patch
https://curl.haxx.se/docs/CVE-2018-14618.html
https://nvd.nist.gov/vuln/detail/CVE-2018-14618

(From OE-Core rev: b76903b4b7bfec71be0a8a14e2cab4e2ec852222)

(From OE-Core rev: 4c51e82e43cbcc74d9bcabe24b778aae3cf123ca)

Signed-off-by: Zhixiong Chi <zhixiong.chi@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-16 16:33:09 +00:00
Changqing Li
6f0d13a19e apt: update SRC_URI
update SRC_URI since previous link is not valid now

(From OE-Core rev: 0b5972c8189dade0e77df175651b8d8707647bb1)

(From OE-Core rev: c7ec464643682215edab491fada150544b717b4d)

Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-16 16:33:09 +00:00
Hongxu Jia
d06bddc162 nasm: fix CVE-2018-1000667
Since the latest nasm is  2.14rc16 (not formal release),
so backport a patch to 2.13 to fix CVE-2018-1000667.

(From OE-Core rev: 024b395425c95a08c881d922c310be78ffad483a)

(From OE-Core rev: 4de7f29b8a0a57e14029a630fa7cfd0ef9583a9e)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-16 16:33:09 +00:00
Khem Raj
1baed89cdb m4: Workaround gnulib's fseeko.c implementation
exposed by glibc 2.28 for details see
https://lists.gnu.org/r/bug-gnulib/2018-03/msg00000.html

(From OE-Core rev: acca7f964bf9c21f3777085563a7928b8246f17f)

(From OE-Core rev: 4cbfd526eebb2ff0a15042094e972e132deb985e)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-16 16:33:09 +00:00
Chen Qi
24132c45bc python: backport patch to fix CVE-2018-14647
Backport patch to fix the following CVE.

CVE: CVE-2018-14647

(From OE-Core rev: 68e51756f67499081c3c53cff6c5c1efdf4b60f0)

(From OE-Core rev: c566c8d6525a263a48035d4de5249780ab08e521)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-16 16:33:09 +00:00
Chen Qi
87f8184671 python: backport patch to fix CVE-2018-1000802
Backport a patch to fix the following CVE.

CVE: CVE-2018-1000802

(From OE-Core rev: c0343f1035af98cb451eea0de94c16fe89ffdf48)

(From OE-Core rev: 64d0cfb0f2291434f3ceacff99015f6a35942868)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-16 16:33:09 +00:00
Ross Burton
1e88059649 python: don't use runtime checks to identify float endianism
Python uses AC_RUN_IFELSE to determine the byte order for floats and doubles,
and falls back onto "I don't know" if it can't run code.  This results in
crippled floating point numbers in Python, and the regression tests fail.

Instead of running code, take a macro from autoconf-archive which compiles C
with a special double in which has an ASCII representation, and then greps the
binary to identify the format.

This is essentially a backport of the Python 3 patch in oe-core 1781b87.

(From OE-Core rev: 94cea72a23a374eb616d5642977b45172537beac)

(From OE-Core rev: ceae3eb0d8a0ee69182cf4f4cfa5a6a3814df1f8)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-16 16:33:09 +00:00
Ross Burton
74408fe750 python: clean up ptest
As the manifest handling is done differently now, just inherit ptest with the
other inherits.

test_shutil needs unzip so add to RDEPENDS.

Instead of using a patched Makefile, call test.regrtest directly.

(From OE-Core rev: 84f34ad223b1e3f36cab2ac12246eb90efc919bc)

(From OE-Core rev: c4647674da480c5925178cd821ce2d485c7467b7)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-16 16:33:09 +00:00
Derek Straka
62f52fdda0 python: update to version 2.7.15
Update to the latest stable version

License-Update: Copyright year updated to include 2018

Remove the alignment patch that is included upstream

(From OE-Core rev: 855020053906478cea164ed254c08bedce48479d)

(From OE-Core rev: ab2dd15f72a94cce528276e6e3e38c56677e7ba4)

Signed-off-by: Derek Straka <derek@asterius.io>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[Bug fix update only, drop patches included in update]
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-16 16:33:09 +00:00
Bruce Ashfield
28ef114253 linux-yocto/4.14: update to v4.14.76
Integrating the korg -stable updates that comprise the following commits:

   0b46ce3e3423 Linux 4.14.76
   c03f0ab15f3b ath10k: fix scan crash due to incorrect length calculation
   711b942ae3be virtio_balloon: fix increment of vb->num_pfns in fill_balloon()
   7f42eada5e3f virtio_balloon: fix deadlock on OOM
   251bc1f44c33 rds: rds_ib_recv_alloc_cache() should call alloc_percpu_gfp() instead
   4c925efc2230 ubifs: Check for name being NULL while mounting
   5656b7354183 ucma: fix a use-after-free in ucma_resolve_ip()
   3a7a9fb68c97 f2fs: fix invalid memory access
   dfe96e30b5a5 perf utils: Move is_directory() to path.h
   75fc05a20f5f crypto: chelsio - Fix memory corruption in DMA Mapped buffers.
   b5dcd4ab8e6c ARC: clone syscall to setp r25 as thread pointer
   af1a8101794d powerpc/lib: fix book3s/32 boot failure due to code patching
   609fbeddb24c powerpc: Avoid code patching freed init sections
   4e43fbc8ef25 powerpc/lib/code-patching: refactor patch_instruction()
   0f6e2f4e06be nvme_fc: fix ctrl create failures racing with workq items
   1b2ad48a85c4 ath10k: fix kernel panic issue during pci probe
   8146256b7dcd ath10k: fix use-after-free in ath10k_wmi_cmd_send_nowait
   327400b3a708 perf tools: Fix python extension build for gcc 8
   ec727693a9ef perf annotate: Use asprintf when formatting objdump command line
   79f87e09bcb2 of: unittest: Disable interrupt node tests for old world MAC systems
   171f90d4ae84 tty: Drop tty->count on tty_reopen() failure
   c92e73b11ed1 usb: cdc_acm: Do not leak URB buffers
   821c42e7d5ea USB: serial: simple: add Motorola Tetra MTP6550 id
   35123e64a168 usb: xhci-mtk: resume USB3 roothub first
   c096f5c4a8bc xhci: Add missing CAS workaround for Intel Sunrise Point xHCI
   ec6ae632e04b dm cache: fix resize crash if user doesn't reload cache table
   f11a6abfdb41 dm cache metadata: ignore hints array being too small during resize
   1364055c96c5 PM / core: Clear the direct_complete flag on errors
   9047696cb3f8 mac80211: fix setting IEEE80211_KEY_FLAG_RX_MGMT for AP mode keys
   8ebd65583375 PCI: Reprogram bridge prefetch registers on resume
   25bc6e80f9d6 x86/vdso: Fix vDSO syscall fallback asm constraint regression
   1194e838b879 x86/vdso: Only enable vDSO retpolines when enabled and supported
   64ff5747e2af selftests/x86: Add clock_gettime() tests to test_vdso
   30500cc74a36 x86/vdso: Fix asm constraints on vDSO syscall fallbacks
   71a0556255de drm/syncobj: Don't leak fences when WAIT_FOR_SUBMIT is set
   0c0dd182adae drm/amdgpu: Fix vce work queue was not cancelled when suspend
   309a1c5cfc59 xen-netback: fix input validation in xenvif_set_hash_mapping()
   f66d89483bb3 fbdev/omapfb: fix omapfb_memory_read infoleak
   887361696fb9 clocksource/drivers/timer-atmel-pit: Properly handle error cases
   8e2e2192eb35 blk-mq: I/O and timer unplugs are inverted in blktrace
   87a9d1cc2e8f KVM: x86: fix L1TF's MMIO GFN calculation
   5178716b55c4 mm/vmstat.c: skip NR_TLB_REMOTE_FLUSH* properly
   a2e0493f99e6 mm, thp: fix mlocking THP page with migration enabled
   5f4f5b1f4491 mm: migration: fix migration of huge PMD shared pages
   ab18409cf05f perf/core: Add sanity check to deal with pinned event failure
   8e6a9240b191 Linux 4.14.75
   4e7ea65127ac dm thin metadata: fix __udivdi3 undefined on 32-bit
   07f79b39d474 ixgbe: check return value of napi_complete_done()
   de0e2a92ccc5 ocfs2: fix locking for res->tracking and dlm->tracking_list
   f8566a92ab75 proc: restrict kernel stack dumps to root
   4de0fb95a287 tools: hv: fcopy: set 'error' in case an unknown operation was requested
   1d24e2609002 Drivers: hv: vmbus: Use get/put_cpu() in vmbus_connect()
   119bf9470be9 gpiolib: Free the last requested descriptor
   1df517a4cafd crypto: caam/jr - fix ablkcipher_edesc pointer arithmetic
   3b1a8535b8e1 crypto: mxs-dcp - Fix wait logic on chan threads
   90ecb700345c crypto: qat - Fix KASAN stack-out-of-bounds bug in adf_probe()
   a5bb359c078a ALSA: hda/realtek - Cannot adjust speaker's volume on Dell XPS 27 7760
   06f93e40f939 iommu/amd: Clear memory encryption mask from physical address
   dcdb2262d389 smb2: fix missing files in root share directory listing
   b420b7b7923b sysfs: Do not return POSIX ACL xattrs via listxattr
   fa7d75f64b80 ovl: fix format of setxattr debug
   8d75ecc13fdc ovl: fix memory leak on unlink of indexed file
   be406434737b ovl: fix access beyond unterminated strings
   aa41fb9593af xen: fix GCC warning and remove duplicate EVTCHN_ROW/EVTCHN_COL usage
   a502165dae09 xen: avoid crash in disable_hotplug_cpu
   4e1494794ebc xen/manage: don't complain about an empty value in control/sysrq node
   dfb29d69e4d8 cifs: read overflow in is_valid_oplock_break()
   7d60f98cde7a s390/qeth: don't dump past end of unknown HW header
   d5afd6b6eae5 s390/qeth: use vzalloc for QUERY OAT buffer
   ad297898159f r8169: Clear RTL_FLAG_TASK_*_PENDING when clearing RTL_FLAG_TASK_ENABLED
   f7b86faf0bd1 drm/amdgpu: fix error handling in amdgpu_cs_user_fence_chunk
   f2c9d68ed3c2 arm64: jump_label.h: use asm_volatile_goto macro instead of "asm goto"
   7a2df42a5371 hexagon: modify ffs() and fls() to return int
   2eb3072b2785 arch/hexagon: fix kernel/dma.c build warning
   1484d4ff2770 dm thin metadata: try to avoid ever aborting transactions
   1e9054e75d22 perf/x86/intel: Add support/quirk for the MISPREDICT bit on Knights Landing CPUs
   36918e899e3c net: ena: fix missing calls to READ_ONCE
   3e2cc5bd61fe net: ena: fix driver when PAGE_SIZE == 64kB
   a5bdc726e5ff fs/cifs: suppress a string overflow warning
   3941dbe190ba dm raid: fix rebuild of specific devices by updating superblock
   112d65a51f2b drm/nouveau/disp: fix DP disable race
   1a255bf1e749 drm/nouveau/TBDdevinit: don't fail when PMU/PRE_OS is missing from VBIOS
   34d54566ae4a net/mlx5: Consider PCI domain in search for next dev
   f36f3ebdf1e1 nvmet-rdma: fix possible bogus dereference under heavy load
   a90a52c51ad4 USB: yurex: Check for truncation in yurex_read()
   2c423318f07c HID: sensor-hub: Restore fixup for Lenovo ThinkPad Helix 2 sensor hub report
   d4da71220317 RDMA/ucma: check fd type in ucma_migrate_id()
   60ea8815d6e8 Revert "iio: temperature: maxim_thermocouple: add MAX31856 part"
   1173678a4f4a netfilter: nf_tables: release chain in flushing set
   c00f01c40211 perf probe powerpc: Ignore SyS symbols irrespective of endianness
   4095fd29fee7 perf util: Fix bad memory access in trace info.
   9d7bc329c123 perf evsel: Fix potential null pointer dereference in perf_evsel__new_idx()
   8b98b7eeb45d scsi: qedi: Add the CRC size within iSCSI NVM image
   dd44c35cc16c scsi: iscsi: target: Set conn->sess to NULL when iscsi_login_set_conn_values fails
   b6515e0f915b HID: hid-saitek: Add device ID for RAT 7 Contagion
   81c823c22355 usb: gadget: fotg210-udc: Fix memory leak of fotg210->ep[i]
   b6cc0ba2cbf4 HID: add support for Apple Magic Keyboards
   b969656b4662 netfilter: xt_cluster: add dependency on conntrack module
   10fdfea70d46 bpf: 32-bit RSH verification must truncate input before the ALU op
   dcc89aaf5a8d mm: madvise(MADV_DODUMP): allow hugetlbfs pages
   ee0516c4a1fe tools/vm/page-types.c: fix "defined but not used" warning
   5cbf015b971c tools/vm/slabinfo.c: fix sign-compare warning
   27c4ad84fd01 mac80211: shorten the IBSS debug messages
   e132eb09fdd2 mac80211: don't Tx a deauth frame if the AP forbade Tx
   8788737af389 mac80211: Fix station bandwidth setting after channel switch
   37cdc7e35ae4 mac80211: fix a race between restart and CSA flows
   4fa55f6d29fd cfg80211: fix a type issue in ieee80211_chandef_to_operating_class()
   43a01409ef4c mac80211: fix an off-by-one issue in A-MSDU max_subframe computation
   25cb8544342a fs/cifs: don't translate SFM_SLASH (U+F026) to backslash
   8590e6fecb5e net: cadence: Fix a sleep-in-atomic-context bug in macb_halt_tx()
   b08d15cc921f i2c: uniphier-f: issue STOP only for last message or I2C_M_STOP
   82fc9c6b7b9a i2c: uniphier: issue STOP only for last message or I2C_M_STOP
   da26e5729c04 RAID10 BUG_ON in raise_barrier when force is true and conf->barrier is 0
   36fadeb87be8 md/raid5-cache: disable reshape completely
   dc492842b700 ARC: atomics: unbork atomic_fetch_##op()
   7e259a0537be gpio: Fix crash due to registration race
   3b83a52796cd tools/kvm_stat: fix handling of invalid paths in debugfs provider
   52614f7bf1b5 tools/kvm_stat: fix python3 issues
   0d66ce687869 mac80211: always account for A-MSDU header changes
   2592adfe326b mac80211: do not convert to A-MSDU if frag/subframe limited
   b22a5d20aab1 cfg80211: nl80211_update_ft_ies() to validate NL80211_ATTR_IE
   e7577a1f1a65 net: hns: add netif_carrier_off before change speed and duplex
   7fd11a1ad542 net: hns: add the code for cleaning pkt in chip
   bdd29365a74c gpiolib-acpi: Register GpioInt ACPI event handlers from a late_initcall
   73bfec0a6bde gpiolib: acpi: Switch to cansleep version of GPIO library call
   9a5d353908db mac80211: avoid kernel panic when building AMSDU from non-linear SKB
   79448960e3d7 mac80211: mesh: fix HWMP sequence numbering to follow standard
   34bec4daf88c gpio: adp5588: Fix sleep-in-atomic-context bug
   0081e67083ed mac80211_hwsim: correct use of IEEE80211_VHT_CAP_RXSTBC_X
   7c209ebc7f15 mac80211: correct use of IEEE80211_VHT_CAP_RXSTBC_X
   6054817c5e07 scsi: csiostor: add a check for NULL pointer after kmalloc()
   4e380c50cf12 btrfs: btrfs_shrink_device should call commit transaction at the end
   9e685bec07ae KVM: PPC: Book3S HV: Don't truncate HPTE index in xlate function
   381538ae75cf mac80211_hwsim: require at least one channel
   4ae9a73be7ac mac80211: Run TXQ teardown code before de-registering interfaces
   3a738e7f734c tools/power turbostat: fix possible sprintf buffer overflow
   cdb2d37d345d serial: mvebu-uart: Fix reporting of effective CSIZE to userspace
   a17e2a72e714 drm/amdgpu: add another ATPX quirk for TOPAZ
   d9e61345652b drm/amd/pp: initialize result to before or'ing in data
   e6abbe80c883 Linux 4.14.74
   d61ba3417e4f media: v4l: event: Prevent freeing event subscriptions while accessed
   fcaca557760f arm64: KVM: Sanitize PSTATE.M when being set from userspace
   4fff53acff15 x86/pti: Fix section mismatch warning/error
   23210d92f617 i2c: i801: Allow ACPI AML access I/O ports not reserved for SMBus
   647b6d4ff699 arm/arm64: smccc-1.1: Handle function result as parameters
   826d8678cde2 arm/arm64: smccc-1.1: Make return values unsigned long
   75b3054d6807 ARM: dts: omap4-droid4: Fix emmc errors seen on some devices
   d11237bdcf95 nvme-fcloop: Fix dropped LS's to removed target port
   516b72e36ded ata: ftide010: Add a quirk for SQ201
   46cb720a8a3e drm/amdgpu: Update power state at the end of smu hw_init.
   50850b432cc5 drm/amdgpu: Enable/disable gfx PG feature in rlc safe mode
   9190a7ea313f Revert "ARM: dts: imx7d: Invert legacy PCI irq mapping"
   d3ddd8e16cab hwmon: (adt7475) Make adt7475_read_word() return errors
   0647ce03bd48 hwmon: (ina2xx) fix sysfs shunt resistor read access
   59f5838cc950 crypto: cavium/nitrox - fix for command corruption in queue full case with backlog submissions.
   243af256387c e1000: ensure to free old tx/rx rings in set_ringparam()
   716865940461 e1000: check on netif_running() before calling e1000_up()
   e8baff89bc3f net: hns: fix skb->truesize underestimation
   333f26129fd9 net: hns: fix length and page_offset overflow when CONFIG_ARM64_64K_PAGES
   92935e1c2a7e bpf: sockmap: write_space events need to be passed to TCP handler
   f0a8c1257fc3 tls: possible hang when do_tcp_sendpages hits sndbuf is full case
   97ee8505c637 isofs: reject hardware sector size > 2048 bytes
   083be6fbfdcb thermal: of-thermal: disable passive polling when thermal zone is disabled
   308206bd2770 qed: Avoid sending mailbox commands when MFW is not responsive
   583f866501c1 qed: Prevent a possible deadlock during driver load and unload
   73046b822c4c qed: Wait for MCP halt and resume commands to take place
   33906ae926e0 qed: Wait for ready indication before rereading the shmem
   38d070f9090a arm64: KVM: Tighten guest core register access from userspace
   d428e43eb684 serial: imx: restore handshaking irq for imx1
   016d4aae9d84 drm/i915: Remove vma from object on destroy, not close
   d134e9170417 ovl: hash non-dir by lower inode for fsnotify
   105470069de3 RDMA/uverbs: Atomically flush and mark closed the comp event queue
   693536a7ce39 IB/hfi1: Fix context recovery when PBC has an UnsupportedVL
   412a4b4db1a6 IB/hfi1: Invalid user input can result in crash
   d9e49e9ed8d6 IB/hfi1: Fix SL array bounds check
   fcbe49c82b82 IB/srp: Avoid that sg_reset -d ${srp_device} triggers an infinite loop
   3011b91478ff Input: elantech - enable middle button of touchpad on ThinkPad P72
   9691f745e17a USB: remove LPM management from usb_driver_claim_interface()
   be2360ed2d22 Revert "usb: cdc-wdm: Fix a sleep-in-atomic-context bug in service_outstanding_interrupt()"
   ec6dc4b61c33 USB: usbdevfs: restore warning for nonsensical flags
   25a8d4825165 USB: usbdevfs: sanitize flags more
   67d8e231759f media: uvcvideo: Support realtek's UVC 1.5 device
   1ddc0781c0ce slub: make ->cpu_partial unsigned int
   e75c01761a11 usb: musb: dsps: do not disable CPPI41 irq in driver teardown
   5b6717c6a3c0 USB: handle NULL config in usb_find_alt_setting()
   4253abe6a3aa USB: fix error handling in usb_driver_claim_interface()
   5eaaa5e9bd56 regulator: fix crash caused by null driver data
   b6adc1f24bb3 spi: rspi: Fix interrupted DMA transfers
   082e34f367a5 spi: rspi: Fix invalid SPI use during system suspend
   6074b71d617d spi: sh-msiof: Fix handling of write value for SISTR register
   d120858fca5f spi: sh-msiof: Fix invalid SPI use during system suspend
   429773341c34 spi: tegra20-slink: explicitly enable/disable clock
   dc89d37f9098 intel_th: Fix device removal logic
   247cc73cd8f5 serial: cpm_uart: return immediately from console poll
   2b7ba104769b tty: serial: lpuart: avoid leaking struct tty_struct
   4fe780c1baec x86/mm: Expand static page table for fixmap space
   04bc4dd86d0f floppy: Do not copy a kernel pointer to user memory in FDGETPRM ioctl
   f88e50ea0300 ARM: dts: dra7: fix DCAN node addresses
   99795ed0c62d iio: 104-quad-8: Fix off-by-one error in register selection
   a82a772da750 Input: xen-kbdfront - fix multi-touch XenStore node's locations
   91e30cae8903 fs/lock: skip lock owner pid translation in case we are in init_pid_ns
   0c4439c44416 EDAC: Fix memleak in module init error path
   a4f7bea87887 nfsd: fix corrupted reply to badly ordered compound
   de6ccdbd7734 gpio: Fix wrong rounding in gpio-menz127
   5bcbbadf6ac5 module: exclude SHN_UNDEF symbols from kallsyms api
   05f78b1a0e0c ASoC: dapm: Fix potential DAI widget pointer deref when linking DAIs
   3fd534a5480e EDAC, i7core: Fix memleaks and use-after-free on probe and remove
   c96c2f2b11b6 scsi: megaraid_sas: Update controller info during resume
   a56b97a2fc2d iomap: complete partial direct I/O writes synchronously
   13ab355240a9 scsi: bnx2i: add error handling for ioremap_nocache
   d5963fae7f36 perf/x86/intel/lbr: Fix incomplete LBR call stack
   85222eb56f2a MIPS: boot: fix build rule of vmlinux.its.S
   b8e30b822d08 HID: hid-ntrig: add error handling for sysfs_create_group
   69cb15d6596d arm: dts: mediatek: Add missing cooling device properties for CPUs
   5ef7a3782de8 ARM: mvebu: declare asm symbols as character arrays in pmsu.c
   e87efc44dd36 wlcore: Add missing PM call for wlcore_cmd_wait_for_event_or_timeout()
   dad01c56989a brcmsmac: fix wrap around in conversion from constant to s16
   62bd8064fa88 rndis_wlan: potential buffer overflow in rndis_wlan_auth_indication()
   3c7f6b2cf6d6 ath10k: transmit queued frames after processing rx packets
   c1283a6270a2 drm/sun4i: Fix releasing node when enumerating enpoints
   3f7056e1822d net: phy: xgmiitorgmii: Check phy_driver ready before accessing
   accb431813bf ath10k: protect ath10k_htt_rx_ring_free with rx_ring.lock
   0f4ca55e441c net: phy: xgmiitorgmii: Check read_status results
   8d9fd12b1eef ALSA: hda: Add AZX_DCAPS_PM_RUNTIME for AMD Raven Ridge
   0ebe95dee2f2 media: tm6000: add error handling for dvb_register_adapter
   0091a4ede783 drivers/tty: add error handling for pcmcia_loop_config
   3af342f5ddbd staging: android: ashmem: Fix mmap size validation
   1b16d06a9e27 media: omap3isp: zero-initialize the isp cam_xclk{a,b} initial data
   daefaacc6e02 media: soc_camera: ov772x: correct setting of banding filter
   381f8d235dd8 media: s3c-camif: ignore -ENOIOCTLCMD from v4l2_subdev_call for s_power
   85d3dbd8e7f2 ALSA: snd-aoa: add of_node_put() in error path
   3e3f075f72bd posix-timers: Sanitize overrun handling
   a05bd4ba655f posix-timers: Make forward callback return s64
   cf373da10039 iio: accel: adxl345: convert address field usage in iio_chan_spec
   8cbb2f74c093 mtd: rawnand: atmel: add module param to avoid using dma
   a838008bb11f s390/extmem: fix gcc 8 stringop-overflow warning
   33cd135ebc97 s390/scm_blk: correct numa_node in scm_blk_dev_setup
   98a34e26d93d s390/dasd: correct numa_node in dasd_alloc_queue
   a4dbaf7c2de0 alarmtimer: Prevent overflow for relative nanosleep
   9374ffc6f3d3 s390/sysinfo: add missing #ifdef CONFIG_PROC_FS
   8deb5801f154 powerpc/powernv/ioda2: Reduce upper limit for DMA window size
   45d3d58f9739 ath10k: sdio: set skb len for all rx packets
   b31f41e02c80 ath10k: sdio: use same endpoint id for all packets in a bundle
   149f530334f0 usb: wusbcore: security: cast sizeof to int for comparison
   ebee32dd8f04 scsi: target: Avoid that EXTENDED COPY commands trigger lock inversion
   336b73754169 scsi: ibmvscsi: Improve strings handling
   1390c37d1670 scsi: klist: Make it safe to use klists in atomic context
   bdfc40bc1b09 scsi: target/iscsi: Make iscsit_ta_authentication() respect the output buffer size
   2cbead46fd4e ARM: dts: ls1021a: Add missing cooling device properties for CPUs
   8430918a04e3 x86/entry/64: Add two more instruction suffixes
   8e90c7ef50e2 ARM: hwmod: RTC: Don't assume lock/unlock will be called with irq enabled
   0a29ab00339e x86/tsc: Add missing header to tsc_msr.c
   23e4ab4069d1 media: staging/imx: fill vb2_v4l2_buffer field entry
   6fd38ba41e34 media: fsl-viu: fix error handling in viu_of_probe()
   769ae06e4442 powerpc/kdump: Handle crashkernel memory reservation failure
   333cb98f393b IB/mlx4: Test port number before querying type.
   1f94cf4c81cb media: exynos4-is: Prevent NULL pointer dereference in __isp_video_try_fmt()
   0ca45668ecdb IB/core: type promotion bug in rdma_rw_init_one_mr()
   eca859882359 RDMA/i40w: Hold read semaphore while looking after VMA
   e862ab6b69c4 RDMA/bnxt_re: Fix a couple off by one bugs
   e0ccd2360a47 md-cluster: clear another node's suspend_area after the copy is finished
   e70f938a605a power: remove possible deadlock when unregistering power_supply
   1117e411a46c s390/mm: correct allocate_pgste proc_handler callback
   bc4ce060b305 iommu/msm: Don't call iommu_device_{,un}link from atomic context
   96e878907c90 6lowpan: iphc: reset mac_header after decompress to fix panic
   410534a34315 USB: serial: kobil_sct: fix modem-status error handling
   90de5688afc3 Bluetooth: Add a new Realtek 8723DE ID 0bda:b009
   834a9ef5f831 iommu/amd: make sure TLB to be flushed before IOVA freed
   c7e653a24c18 power: vexpress: fix corruption in notifier registration
   c1a630680c8b uwb: hwa-rc: fix memory leak at probe
   72bad20e9316 serial: sh-sci: Stop RX FIFO timer during port shutdown
   0470189cd9b9 misc: sram: enable clock before registering regions
   914b4daa9b6d power: supply: axp288_charger: Fix initial constant_charge_current value
   2efa4bd5aa9a staging: rts5208: fix missing error check on call to rtsx_write_register
   6ecd10b1aa22 x86/numa_emulation: Fix emulated-to-physical node mapping
   127cd4e23323 vmci: type promotion bug in qp_host_get_user_memory()
   4804f372b53f tsl2550: fix lux1_input error in low light
   db12e7d3e9bc iio: adc: ina2xx: avoid kthread_stop() with stale task_struct
   29db2772349d crypto: skcipher - Fix -Wstringop-truncation warnings
   3b65f403d7d0 Linux 4.14.73
   97513162cd6d spi: Fix double IDR allocation with DT aliases
   ed5e9462f661 tick/nohz: Prevent bogus softirq pending warning
   3a411a04be4e iw_cxgb4: only allow 1 flush on user qps
   956fa50745b3 vmw_balloon: include asm/io.h
   23ac2a32b2f8 PCI: aardvark: Size bridges before resources allocation
   fe87d18b1471 sched/fair: Fix vruntime_normalized() for remote non-migration wakeup
   0d09307bc242 ext4: show test_dummy_encryption mount option in /proc/mounts
   3dc006d212e3 ext4: don't mark mmp buffer head dirty
   ba48e66e3f53 ext4: fix online resizing for bigalloc file systems with a 1k block size
   6a4d7b584d38 ext4: fix online resize's handling of a too-small final block group
   22654a3b4a30 ext4: recalucate superblock checksum after updating free blocks/inodes
   779af00b3fa3 ext4: avoid arithemetic overflow that can trigger a BUG
   3f9eafe8772f ext4: avoid divide by zero fault when deleting corrupted inline directories
   31343d27f18f ext4: check to make sure the rename(2)'s destination is not freed
   4334a6ae867a tty: vt_ioctl: fix potential Spectre v1
   57c806be0160 drm/amdgpu: add new polaris pci id
   5575041b09cd drm: udl: Destroy framebuffer only if it was initialized
   c70d8a488a41 drm/vc4: Fix the "no scaling" case on multi-planar YUV formats
   35e48a086071 drm/nouveau/drm/nouveau: Prevent handling ACPI HPD events too early
   0f966da783a3 drm/nouveau/drm/nouveau: Use pm_runtime_get_noresume() in connector_detect()
   409af02c200e drm/nouveau/drm/nouveau: Fix bogus drm_kms_helper_poll_enable() placement
   9ac837e079a0 drm/nouveau/drm/nouveau: Don't forget to cancel hpd_work on suspend/unload
   42387d8e4aef drm/nouveau: Fix deadlocks in nouveau_connector_detect()
   7c1ca8fb8633 ocfs2: fix ocfs2 read block panic
   1d7e23f9068f Revert "ubifs: xattr: Don't operate on deleted inodes"
   44383139a39c scsi: target: iscsi: Use bin2hex instead of a re-implementation
   755e45f3155c scsi: target: iscsi: Use hex2bin instead of a re-implementation
   50ec69edf3f0 Revert "uapi/linux/keyctl.h: don't use C++ reserved keyword as a struct member name"
   13d216167d3d Revert "rpmsg: core: add support to power domains for devices"
   6447b34fc270 mm: shmem.c: Correctly annotate new inodes for lockdep
   7eba38a3f65d ring-buffer: Allow for rescheduling when removing pages
   0e5cdbac0303 Revert "PCI: Add ACS quirk for Intel 300 series"
   f3765abb60c7 spi: fix IDR collision on systems with both fixed and dynamic SPI bus numbers
   5ca87a38202e xen/x86/vpmu: Zero struct pt_regs before calling into sample handling code
   7eced4478f4e xen/netfront: don't bug in case of too many frags
   e2d5285b98ef platform/x86: alienware-wmi: Correct a memory leak
   ff6805037d83 ALSA: oxfw: fix memory leak of private data
   08f4f8b93809 ALSA: oxfw: fix memory leak of discovered stream formats at error path
   996899a9cbd8 ALSA: oxfw: fix memory leak for model-dependent data at error path
   d9929097176d ALSA: fireworks: fix memory leak of response buffer at error path
   40e2596f06b0 ALSA: firewire-tascam: fix memory leak of private data
   933f20a61e26 ALSA: firewire-digi00x: fix memory leak of private data
   70165a445b00 ALSA: fireface: fix memory leak in ff400_switch_fetching_mode()
   352701c288c1 ALSA: emu10k1: fix possible info leak to userspace on SNDRV_EMU10K1_IOCTL_INFO
   7c4881d64ed7 ALSA: bebob: use address returned by kmalloc() instead of kernel stack for streaming DMA mapping
   16b8c03864b7 ALSA: bebob: fix memory leak for M-Audio FW1814 and ProjectMix I/O at error path
   c7cf0304d41f ASoC: rsnd: fixup not to call clk_get/set under non-atomic
   a388e6d7a822 ASoC: cs4265: fix MMTLR Data switch control
   6ead7a8a4ec1 NFC: Fix the number of pipes
   4a16b3cd084d NFC: Fix possible memory corruption when handling SHDLC I-Frame commands
   18fef87e05d3 tls: clear key material from kernel memory when do_tls_setsockopt_conf fails
   0c0334299a7e tls: zero the crypto information from tls_context before freeing
   10cacaf13189 tls: don't copy the key out of tls12_crypto_info_aes_gcm_128
   ee547ed7dee4 net/sched: act_sample: fix NULL dereference in the data path
   b13f721a3409 udp6: add missing checks on edumux packet processing
   ff64a1a2ca3d neighbour: confirm neigh entries when ARP packet is received
   0f6f77f3b8f4 udp4: fix IP_CMSG_CHECKSUM for connected sockets
   6f5ec16ee02b qmi_wwan: set DTR for modems in forced USB2 mode
   f3aa1f3a1113 pppoe: fix reception of frames with no mac header
   c0f2c063abc8 net: hp100: fix always-true check for link up state
   9951e17efd05 net/appletalk: fix minor pointer leak to userspace in SIOCFINDIPDDPRT
   bba90d3686fd ipv6: fix possible use-after-free in ip6_xmit()
   13a47054f0b2 gso_segment: Reset skb->mac_len after modifying network header

(From OE-Core rev: 62c7a970de40e8c4d57cb6d3feebbfbcae089b27)

(From OE-Core rev: 17434b9c148d88e33dde7aa901c0a0423827e4e0)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-16 16:33:09 +00:00
Bruce Ashfield
879fec0dec linux-yocto-rt: fixup 4.14 merge issues
The latest -stable updates broke 4.14 -rt with some rtmutex
issues. We sync with the rt-stable tree to pickup the fix.

(From OE-Core rev: 8a172a8ac87cc63d6f89ff0f584a75fe7fcd10dd)

(From OE-Core rev: ff495ab238dc1fe0a669b4405c3b1a466ea2dbdd)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-16 16:33:09 +00:00
Bruce Ashfield
91bad931e5 linux-yocto/4.14: fix beaglebone configuration warnings
Backporting the following fixes from 4.18 to 4.14 to remove beaglebone
configuration warnings:

  1fb0b0379fb5 beaglebone: Clean up the cfg file
  4176e7ded8e1 beaglebone: Drop the needless unsetting of the kernel options
  65c209da574d beaglebone: Drop the obsolete kernel options

(From OE-Core rev: 2adec315b44dad0f99ad55e04b4e3b6608613147)

(From OE-Core rev: 1abca8bf4aa854bdf204d0426048c4895090428b)

Signed-off-by: Kevin Hao <kexin.hao@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-16 16:33:09 +00:00
Bruce Ashfield
3963875e4a linux-yocto: enable pci and CRYPTO_DEV_VIRTIO
With recent kernels and the latest openssl we observe hangs when there
is not sufficient entropy in the system before crypto is used
(i.e. OpenVSwitch or openssh server).

This was mainly observed on qemuarm64, but can happen elsewhere. So
we enable CRYPTO_DEV_VIRTIO in the main virtio fragment and enable
PCI for qemuarm64 to ensure that entropy is available.

(From OE-Core rev: 8cc08e44cf3e969c124456d459c6c06a76cad018)

(From OE-Core rev: 76a51f21af63b99b71dce4f068a11c9073d0f1b2)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[Dropped 4.18 changes]
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-16 16:33:09 +00:00
Bruce Ashfield
41bfca7bb5 linux-yocto/4.14: update to v4.14.71
Integrating the korg stable releases up to v4.14.71 which comprise
the following commits:

   1244bbb3e921 Linux 4.14.71
   06274364edb4 mm: get rid of vmacache_flush_all() entirely
   8b34a7b14ee7 autofs: fix autofs_sbi() does not check super block type
   daf0ca743b28 tuntap: fix use after free during release
   ab75811f7181 tun: fix use after free for ptr_ring
   8626c40a3093 mtd: ubi: wl: Fix error return code in ubi_wl_init()
   08fb833b40e3 ip: frags: fix crash in ip_do_fragment()
   b3a0c61b7369 ip: process in-order fragments efficiently
   c91f27fb5716 ip: add helpers to process in-order fragments faster.
   04b28f406e86 ipv4: frags: precedence bug in ip_expire()
   6b921536f170 net: sk_buff rbnode reorg
   37c7cc80b1d7 net: add rb_to_skb() and other rb tree helpers
   6bf32cda46eb net: pskb_trim_rcsum() and CHECKSUM_COMPLETE are friends
   5123ffdad659 ipv6: defrag: drop non-last frags smaller than min mtu
   3bde783eca23 net: modify skb_rbtree_purge to return the truesize of all purged skbs.
   7750c414b89b net: speed up skb_rbtree_purge()
   1c44969111cc ip: discard IPv4 datagrams with overlapping segments.
   5fff99e88a1f inet: frags: fix ip6frag_low_thresh boundary
   48c2afc16888 inet: frags: get rid of ipfrag_skb_cb/FRAG_CB
   8291cd943a9b inet: frags: reorganize struct netns_frags
   bd946fb5226e rhashtable: reorganize struct rhashtable layout
   3226bdcb0448 ipv6: frags: rewrite ip6_expire_frag_queue()
   085a0147447a inet: frags: do not clone skb in ip_expire()
   990204ddc5f6 inet: frags: break the 2GB limit for frags storage
   caa4249eca08 inet: frags: remove inet_frag_maybe_warn_overflow()
   5b1b3ad46dd1 inet: frags: get rif of inet_frag_evicting()
   bd3df633f17d inet: frags: remove some helpers
   9aee41eff751 inet: frags: use rhashtables for reassembly units
   33dc9f7c5d12 rhashtable: add schedule points
   11be675bf0aa ipv6: export ip6 fragments sysctl to unprivileged users
   266da0fb83f3 inet: frags: refactor lowpan_net_frag_init()
   eb1686ae5e20 inet: frags: refactor ipv6_frag_init()
   0512f7e93504 inet: frags: Convert timers to use timer_setup()
   0cbf74b9519d inet: frags: refactor ipfrag_init()
   673220d6417d inet: frags: add a pointer to struct netns_frags
   6093d5abcf5a inet: frags: change inet_frags_init_net() return value
   6f7bf899b92d drm/i915: set DP Main Stream Attribute for color range on DDI platforms
   bdbf6e0b9326 RDMA/cma: Do not ignore net namespace for unbound cm_id
   0d1d365d1d44 MIPS: WARN_ON invalid DMA cache maintenance, not BUG_ON
   1181e8687a8d NFSv4.1: Fix a potential layoutget/layoutrecall deadlock
   0983ef553d8f f2fs: fix to do sanity check with {sit,nat}_ver_bitmap_bytesize
   7beff543897c mfd: ti_am335x_tscadc: Fix struct clk memory leak
   b28c14ae3576 iommu/ipmmu-vmsa: Fix allocation in atomic context
   1252c1daa9c3 f2fs: Fix uninitialized return in f2fs_ioc_shutdown()
   9d54a48ef296 f2fs: fix to wait on page writeback before updating page
   9e850bc7691a media: helene: fix xtal frequency setting at power on
   5deea7d63ba1 partitions/aix: fix usage of uninitialized lv_info and lvname structures
   f3677a5c7d08 partitions/aix: append null character to print data from disk
   758289892a13 media: s5p-mfc: Fix buffer look up in s5p_mfc_handle_frame_{new, copy_time} functions
   b0a6faaa6060 Input: atmel_mxt_ts - only use first T9 instance
   e85940a5bb5f dm cache: only allow a single io_mode cache feature to be requested
   94f885db2a18 net: dcb: For wild-card lookups, use priority -1, not 0
   946cf3fe1be6 MIPS: generic: fix missing of_node_put()
   e607db7ce984 MIPS: Octeon: add missing of_node_put()
   7fb2b50ee596 f2fs: fix to do sanity check with reserved blkaddr of inline inode
   ee5067c60606 tpm/tpm_i2c_infineon: switch to i2c_lock_bus(..., I2C_LOCK_SEGMENT)
   cf503dbe5c22 tpm_tis_spi: Pass the SPI IRQ down to the driver
   894b7c6584ed f2fs: fix to skip GC if type in SSA and SIT is inconsistent
   7141f97cdd83 pktcdvd: Fix possible Spectre-v1 for pkt_devs
   5f91efc475c8 f2fs: try grabbing node page lock aggressively in sync scenario
   fd4e3615936c net: mvneta: fix mtu change on port without link
   0cfe17c2a909 pinctrl/amd: only handle irq if it is pending and unmasked
   acd73639c38c gpio: ml-ioh: Fix buffer underwrite on probe error path
   1fc16c07d63b pinctrl: imx: off by one in imx_pinconf_group_dbg_show()
   591ee8d9cd2f x86/mm: Remove in_nmi() warning from vmalloc_fault()
   60deae3d9fc9 Bluetooth: hidp: Fix handling of strncpy for hid->name information
   1dac27c707c8 ath10k: disable bundle mgmt tx completion event support
   6158c2b70a8a tools/testing/nvdimm: kaddr and pfn can be NULL to ->direct_access()
   383195f9feca scsi: 3ware: fix return 0 on the error path of probe
   62128a8d8489 ata: libahci: Correct setting of DEVSLP register
   7cadaaa96c07 ata: libahci: Allow reconfigure of DEVSLP register
   3f3d6c0608b7 MIPS: Fix ISA virt/bus conversion for non-zero PHYS_OFFSET
   1ed3a9307230 rpmsg: core: add support to power domains for devices
   0e890d1cf491 wlcore: Set rx_status boottime_ns field on rx
   bd21eb8aa705 ath10k: prevent active scans on potential unusable channels
   2dacb8cc67ef ath9k_hw: fix channel maximum power level test
   473983f319cc ath9k: report tx status on EOSP
   40992419f135 macintosh/via-pmu: Add missing mmio accessors
   968f03158db5 perf evlist: Fix error out while applying initial delay and LBR
   cc33476b67b8 perf c2c report: Fix crash for empty browser
   521aedea92cd NFSv4.0 fix client reference leak in callback
   c39273ce0d85 perf tools: Allow overriding MAX_NR_CPUS at compile time
   e296ac45b568 f2fs: fix defined but not used build warnings
   e04910746abe f2fs: do not set free of current section
   d85e49570227 f2fs: fix to active page in lru list for read path
   ca21de151016 tty: rocket: Fix possible buffer overwrite on register_PCI
   4bb1d3ec658c Drivers: hv: vmbus: Cleanup synic memory free path
   eec63d96d0e4 firmware: vpd: Fix section enabled flag on vpd_section_destroy
   16c6e01a4a98 uio: potential double frees if __uio_register_device() fails
   2458e91302aa misc: ti-st: Fix memory leak in the error path of probe()
   8e6ee30ad80f gpu: ipu-v3: default to id 0 on missing OF alias
   3b9909896570 media: camss: csid: Configure data type and decode format properly
   cb71229f6483 timers: Clear timer_base::must_forward_clk with timer_base::lock held
   d1060bfcdc72 md/raid5: fix data corruption of replacements after originals dropped
   1f6324f4ea5b scsi: target: fix __transport_register_session locking
   3ddbcd49bbb3 blk-mq: fix updating tags depth
   47a6917f4b72 net: phy: Fix the register offsets in Broadcom iProc mdio mux driver
   6b7c7186c210 media: dw2102: Fix memleak on sequence of probes
   cbd5e67820a9 media: davinci: vpif_display: Mix memory leak on probe error path
   77e120a9c64a selftests/bpf: fix a typo in map in map test
   274977d99c19 powerpc/powernv: Fix concurrency issue with npu->mmio_atsd_usage
   16aa222d2293 gpio: tegra: Move driver registration to subsys_init level
   fb281ed2e4dc Bluetooth: h5: Fix missing dependency on BT_HCIUART_SERDEV
   0455f5d63b3e i2c: aspeed: Add an explicit type casting for *get_clk_reg_val
   5ffdd121d0c4 ethtool: Remove trailing semicolon for static inline
   96e5b8cc3cfd misc: mic: SCIF Fix scif_get_new_port() error handling
   0b2d28449e68 ARC: [plat-axs*]: Enable SWAP
   e5d857d5f1fc tpm: separate cmd_ready/go_idle from runtime_pm
   64def6f35348 crypto: aes-generic - fix aes-generic regression on powerpc
   0fad94cf1016 switchtec: Fix Spectre v1 vulnerability
   ff225750dc4e x86/microcode: Update the new microcode revision unconditionally
   05104410c9d1 x86/microcode: Make sure boot_cpu_data.microcode is up-to-date
   1d92a611db50 cpu/hotplug: Prevent state corruption on error rollback
   cb2625854091 cpu/hotplug: Adjust misplaced smb() in cpuhp_thread_fun()
   cc4271088619 ALSA: hda - Fix cancel_work_sync() stall from jackpoll work
   a709c46fdcd0 KVM: VMX: Do not allow reexecute_instruction() when skipping MMIO instr
   d5fca5314c4d KVM: s390: vsie: copy wrapping keys to right place
   ae3968b41645 Btrfs: fix data corruption when deduplicating between different files
   55bcfe019ac4 smb3: check for and properly advertise directory lease support
   b0b69369eecc SMB3: Backup intent flag missing for directory opens with backupuid mounts
   9efcaa7c4afb MIPS: VDSO: Match data page cache colouring when D$ aliases
   492519107c9d android: binder: fix the race mmap and alloc_new_buf_locked
   381992bcccac block: bfq: swap puts in bfqg_and_blkg_put
   23ecbbad7bf9 nbd: don't allow invalid blocksize settings
   425739151e03 scsi: lpfc: Correct MDS diag and nvmet configuration
   d98b67089c0e i2c: i801: fix DNV's SMBCTRL register offset
   831223b294f8 i2c: xiic: Make the start and the byte count write atomic
   5dfe87ac34e2 Linux 4.14.70
   ab088bc2911d arm64: Handle mismatched cache type
   469c89aa5d7e arm64: Fix mismatched cache line size detection
   0d2e80411a1a ASoC: wm8994: Fix missing break in switch
   03717f80cf2c arm64: cpu_errata: include required headers
   82a0e0f5cf40 x86: kvm: avoid unused variable warning
   e02c9275beea kvm: x86: Set highest physical address bits in non-present/reserved SPTEs
   39cff99ba469 Revert "ARM: imx_v6_v7_defconfig: Select ULPI support"
   e37957305de3 irda: Only insert new objects into the global database via setsockopt
   77be9452d0e5 irda: Fix memory leak caused by repeated binds of irda socket
   63fd9d43c018 s390/lib: use expoline for all bcr instructions
   9370868fd3ca kbuild: make missing $DEPMOD a Warning instead of an Error
   1e0750745bdf drm/i915: Increase LSPCON timeout
   13b23ccfa288 x86/xen: don't write ptes directly in 32-bit PV guests
   d85c2999a7b5 x86/pae: use 64 bit atomic xchg function in native_ptep_get_and_clear
   685a452ce3bf usb: dwc3: core: Fix ULPI PHYs and prevent phy_get/ulpi_init during suspend/resume
   44e5d0b6ce63 HID: add quirk for another PIXART OEM mouse used by HP
   801fc191bb15 mm: Fix devm_memremap_pages() collision handling
   1508043c32a9 lightnvm: pblk: free padded entries in write buffer
   fd8cb2e71cdd sched/deadline: Fix switching to -deadline
   8d015a362a84 debugobjects: Make stack check warning more informative
   448b5498f6c6 uapi/linux/keyctl.h: don't use C++ reserved keyword as a struct member name
   589a8eafc74e drm/amdgpu:add VCN booting with firmware loaded by PSP
   4a4afcf76c96 drm/amdgpu:add VCN support in PSP driver
   d47d14de2438 drm/amdgpu:add new firmware id for VCN
   997157c4eb38 drm/amdgpu:add tmr mc address into amdgpu_firmware_info
   65d20e40552f drm/amdgpu: update tmr mc address
   f40ecf3fe04a drm/edid: Add 6 bpc quirk for SDC panel in Lenovo B50-80
   d991f8ae4071 drm/amd/pp/Polaris12: Fix a chunk of registers missed to program
   c46a1b2622fa drm/amdgpu: Fix RLC safe mode test in gfx_v9_0_enter_rlc_safe_mode
   7e1a6951ca99 drm/i915/lpe: Mark LPE audio runtime pm as "no callbacks"
   a35d3352434d ARM: rockchip: Force CONFIG_PM on Rockchip systems
   1f62d35cd2e1 arm64: rockchip: Force CONFIG_PM on Rockchip systems
   33f4c5c68044 btrfs: Don't remove block group that still has pinned down bytes
   0cdbc3faf960 btrfs: relocation: Only remove reloc rb_trees if reloc control has been initialized
   2f92584bf1f6 btrfs: replace: Reset on-disk dev stats value after replace
   145b1f56b992 btrfs: Exit gracefully when chunk map cannot be inserted to the tree
   80f97c79f3e1 kvm: nVMX: Fix fault vector for VMX operation at CPL > 0
   1187e0186d81 KVM: vmx: track host_state.loaded using a loaded_vmcs pointer
   0aa49a4ddc8e clk: rockchip: Add pclk_rkpwm_pmu to PMU critical clocks in rk3399
   92ef9425c6e1 powerpc/pseries: Avoid using the size greater than RTAS_ERROR_LOG_MAX.
   f3c124c3077d powerpc/64s: Make rfi_flush_fallback a little more robust
   17b1473e6433 powerpc/platforms/85xx: fix t1042rdb_diu.c build errors & warning
   e5f0192fe220 SMB3: Number of requests sent should be displayed for SMB3 not just CIFS
   f6a01ab96067 smb3: fix reset of bytes read and written stats
   9dd38052a3eb cfq: Suppress compiler warnings about comparisons
   9b3fa26f0092 RDS: IB: fix 'passing zero to ERR_PTR()' warning
   e33c8a2896ec selftests/powerpc: Kill child processes on SIGINT
   c861151b1fe9 iommu/omap: Fix cache flushes on L2 table entries
   0a65ab39f8b6 ASoC: rt5677: Fix initialization of rt5677_of_match.data
   3e86f5157661 staging: comedi: ni_mio_common: fix subdevice flags for PFI subdevice
   120130a75724 dm kcopyd: avoid softlockup in run_complete_job
   50956ef66cdb PCI: mvebu: Fix I/O space end address calculation
   301ae5910648 xen/balloon: fix balloon initialization for PVH Dom0
   a333f3f2a255 Input: do not use WARN() in input_alloc_absinfo()
   a9fac97e2e50 NFSv4: Fix error handling in nfs4_sp4_select_mode()
   8ac6b147534c scsi: aic94xx: fix an error code in aic94xx_init()
   24165131bcab ACPI / scan: Initialize status to ACPI_STA_DEFAULT
   c953a5038d2d s390/dasd: fix panic for failed online processing
   ab16afe8c624 s390/dasd: fix hanging offline processing due to canceled worker
   d67c7c9dd14f block: bvec_nr_vecs() returns value for wrong slab
   6952b4ed9e42 perf probe powerpc: Fix trace event post-processing
   af675a6eefe9 powerpc: Fix size calculation using resource_size()
   c20a5e06b750 powerpc/uaccess: Enable get_user(u64, *p) on 32-bit
   47425c36d3fb f2fs: fix to clear PG_checked flag in set_page_dirty()
   c2842800d6bd net/9p: fix error path of p9_virtio_probe
   4cd195263e42 net/9p/trans_fd.c: fix race by holding the lock
   5859129cf62e irqchip/bcm7038-l1: Hide cpu offline callback when building for !SMP
   5e51aa84f4e8 perf tools: Check for null when copying nsinfo.
   800dbcee10cd net: hns3: Fix for phy link issue when using marvell phy driver
   a77439e5fb28 net: hns3: Fix for command format parsing error in hclge_is_all_function_id_zero
   c16a0727c71a RDMA/hns: Fix usage of bitmap allocation functions return values
   0c02e0c3fd13 tcp, ulp: add alias for all ulp modules
   58de2cef2b68 netfilter: fix memory leaks on netlink_dump_start error
   e4f419133dfa platform/x86: asus-nb-wmi: Add keymap entry for lid flip action on UX360
   044e9463ec20 mfd: sm501: Set coherent_dma_mask when creating subdevices
   ccf1ae823e4a ipvs: fix race between ip_vs_conn_new() and ip_vs_del_dest()
   a2805f40c77e s390/kdump: Fix memleak in nt_vmcoreinfo
   2b81b00edba1 netfilter: ip6t_rpfilter: set F_IFACE for linklocal addresses
   f95c5cde34e8 platform/x86: intel_punit_ipc: fix build errors
   e20c4abf9186 fs/dcache.c: fix kmemcheck splat at take_dentry_name_snapshot()
   4570403f6e11 mm/fadvise.c: fix signed overflow UBSAN complaint
   2dc61587a103 pwm: meson: Fix mux clock names
   52ec8484a7c5 IB/hfi1: Invalid NUMA node information can cause a divide by zero
   e5ef973b137f x86/mce: Add notifier_block forward declaration
   b7540b6235f0 virtio: pci-legacy: Validate queue pfn
   ab4bddc2d032 scripts: modpost: check memory allocation results
   7bbf1e8a2471 fat: validate ->i_start before using
   305277dae99e fs/proc/kcore.c: use __pa_symbol() for KCORE_TEXT list entries
   68e787c3c800 hfsplus: fix NULL dereference in hfsplus_lookup()
   003d4c3bf5a5 reiserfs: change j_timestamp type to time64_t
   f552f8c28d34 fork: don't copy inconsistent signal handler state to child
   8b89affb42ae sunrpc: Don't use stack buffer with scatterlist
   ece4ba1c0c90 hfs: prevent crash on exit from failed search
   7d6eba211a1a hfsplus: don't return 0 when fill_super() failed
   d4e42116f77e cifs: check if SMB2 PDU size has been padded and suppress the warning
   c9ba1b82ce96 net: sched: action_ife: take reference to meta module
   e54c50709019 act_ife: fix a potential deadlock
   cd7330c06195 act_ife: move tcfa_lock down to where necessary
   8aa07625eb81 hv_netvsc: Fix a deadlock by getting rtnl lock earlier in netvsc_probe()
   dadb0110a49d hv_netvsc: ignore devices that are not PCI
   bf82c2cb1450 vhost: correctly check the iova range when waking virtqueue
   fe0d111fea19 mlxsw: spectrum_switchdev: Do not leak RIFs when removing bridge
   3c035a48e774 sctp: hold transport before accessing its asoc in sctp_transport_get_next
   456e46f05b37 nfp: wait for posted reconfigs when disabling the device
   8fed734df375 tipc: fix a missing rhashtable_walk_exit()
   417b068a6a7a net/sched: act_pedit: fix dump of extended layered op
   56af4184d356 vti6: remove !skb->ignore_df check from vti6_xmit()
   e4b6c5fd31bd tcp: do not restart timewait timer on rst reception
   3eada53de462 r8169: add support for NCube 8168 network card
   d19688e347a1 qlge: Fix netdev features configuration.
   7f1e6ec4ff12 net: sched: Fix memory exposure from short TCA_U32_SEL
   cb765f5c3c5b net: macb: do not disable MDIO bus at open/close time
   1ef819e411f8 net: bcmgenet: use MAC link status for fixed phy
   a16405ad27f6 ipv4: tcp: send zero IPID for RST and ACK sent in SYN-RECV and TIME-WAIT state
   a08d7ea10bc7 act_ife: fix a potential use-after-free
   7fe7a0f4c5cf Linux 4.14.69
   29245d36680e arm64: mm: always enable CONFIG_HOLES_IN_ZONE
   3098933c1213 fs/quota: Fix spectre gadget in do_quotactl
   0682e027f39d crypto: caam/qi - fix error path in xts setkey
   ccb38942fbe1 crypto: caam/jr - fix descriptor DMA unmapping
   be6f98b203d3 crypto: caam - fix DMA mapping direction for RSA forms 2 & 3
   9f830cf2d510 crypto: vmx - Fix sleep-in-atomic bugs
   300ec47ab8ea perf auxtrace: Fix queue resize
   5a842ecca279 cap_inode_getsecurity: use d_find_any_alias() instead of d_find_alias()
   d1a265da7b29 bcache: release dc->writeback_lock properly in bch_writeback_thread()
   c8d875b471b6 libnvdimm: fix ars_status output length calculation
   ff0791f467d0 getxattr: use correct xattr length
   19b99719970b udlfb: set optimal write delay
   d0f2eb3a419b fb: fix lost console when the user unplugs a USB adapter
   9b0dd656d593 pwm: tiehrpwm: Fix disabling of output of PWMs
   0ef9c771924d pwm: tiehrpwm: Don't use emulation mode bits to control PWM output
   63bbaa1469e6 ubifs: Fix synced_i_size calculation for xattr inodes
   8a23348d76a1 ubifs: xattr: Don't operate on deleted inodes
   f6d7acc1d9ca ubifs: Check data node size before truncate
   3259dd7176e4 Revert "UBIFS: Fix potential integer overflow in allocation"
   a230db38a9fd ubifs: Fix memory leak in lprobs self-check
   656d6e6f6d23 userns: move user access out of the mutex
   b692c405a1ae sys: don't hold uts_sem while accessing userspace memory
   c2ea292b1350 iommu/vt-d: Fix dev iotlb pfsid use
   eb58c40465f3 iommu/vt-d: Add definitions for PFSID
   7cf82f3b7a77 mm/tlb: Remove tlb_remove_table() non-concurrent condition
   ddcb92700552 ARM: tegra: Fix Tegra30 Cardhu PCA954x reset
   d453f04e813a NFSv4: Fix a sleep in atomic context in nfs4_callback_sequence()
   c5759d5a7e6a NFSv4: Fix locking in pnfs_generic_recover_commit_reqs
   bf23ba3737e0 NFSv4 client live hangs after live data migration recovery
   ec13c53dc59f pnfs/blocklayout: off by one in bl_map_stripe()
   ed480f2b9e86 block, bfq: return nbytes and not zero from struct cftype .write() method
   fe806eb54bca xtensa: increase ranges in ___invalidate_{i,d}cache_all
   0d78efe0412b xtensa: limit offsets in __loop_cache_{all,page}
   025cc91f8c52 KVM: PPC: Book3S: Fix guest DMA when guest partially backed by THP pages
   58936d4d7b14 KVM: VMX: fixes for vmentry_l1d_flush module parameter
   015156f50179 PM / sleep: wakeup: Fix build error caused by missing SRCU support
   924383edf44c cpufreq: governor: Avoid accessing invalid governor_data
   256f63f52ec3 drivers/block/zram/zram_drv.c: fix bug storing backing_dev
   8840ca570f2b ovl: fix wrong use of impure dir cache in ovl_iterate()
   aa9ceea20788 mfd: hi655x: Fix regmap area declared size for hi655x
   4f6789cad647 uprobes: Use synchronize_rcu() not synchronize_sched()
   a36e2aa90576 livepatch: Validate module/old func name length
   68a735eb9a16 printk/tracing: Do not trace printk_nmi_enter()
   cbde057aa0e7 tracing/blktrace: Fix to allow setting same value
   4c9016757e3b tracing: Do not call start/stop() functions when tracing_on does not change
   2b4c940dccbe rtc: omap: fix potential crash on power off
   bbac5374b537 vmw_balloon: fix VMCI use when balloon built into kernel
   89667b269e87 vmw_balloon: VMCI_DOORBELL_SET does not check status
   d3b403844db5 vmw_balloon: do not use 2MB without batching
   9fd44e90903c vmw_balloon: fix inflation of 64-bit GFNs
   c0a8e047734c extcon: Release locking when sending the notification of connector state
   3f9481902f0b iio: ad9523: Fix return value for ad952x_store()
   e4d3a25111dc iio: ad9523: Fix displayed phase
   b86374912fee iio: sca3000: Fix missing return in switch
   91b48a9ced06 Drivers: hv: vmbus: Reset the channel callback in vmbus_onoffer_rescind()
   d286cfd45277 uart: fix race between uart_put_char() and uart_shutdown()
   5044eb05026e dm crypt: don't decrease device limits
   f961be894413 dm cache metadata: set dirty on all cache blocks after a crash
   b7227e6044be dm cache metadata: save in-core policy_hint_size to on-disk superblock
   3bef88257145 dm thin: stop no_space_timeout worker when switching to write-mode
   4f4b1c5c4c8a dm integrity: change 'suspending' variable from bool to int
   5f04d296f24b net/9p/trans_fd.c: fix race-condition by flushing workqueue before the kfree()
   312479e06828 net/9p/client.c: version pointer uninitialized
   f92953b0765b 9p/virtio: fix off-by-one error in sg list bounds check
   4827a583871a fs/9p/xattr.c: catch the error of p9_client_clunk when setting xattr failed
   390671089d62 9p: fix multiple NULL-pointer-dereferences
   def89b81ef45 RDMA/rxe: Set wqe->status correctly if an unexpected response is received
   bac5c3c122f4 ib_srpt: Fix a use-after-free in srpt_close_ch()
   241e62005c74 cxl: Fix wrong comparison in cxl_adapter_context_get()
   1eb08e7b192d powerpc/powernv/pci: Work around races in PCI bridge enabling
   15677df25afc PCI: Add wrappers for dev_printk()
   4bfd910e8fb3 powerpc/pseries: Fix endianness while restoring of r3 in MCE handler.
   ed53c0ecc959 powerpc/fadump: handle crash memory ranges array index overflow
   259c5122f3a8 Fix kexec forbidding kernels signed with keys in the secondary keyring to boot
   f70805bef73e Replace magic for trusting the secondary keyring with #define
   9cbb32610233 mailbox: xgene-slimpro: Fix potential NULL pointer dereference
   c160382ab064 media: Revert "[media] tvp5150: fix pad format frame height"
   fba6b7f4bbe2 libertas: fix suspend and resume for SDIO connected cards
   7188f7416438 drm/i915/userptr: reject zero user_size
   1e2698976822 block: really disable runtime-pm for blk-mq
   0affbaece6d0 block: blk_init_allocated_queue() set q->fq as NULL in the fail case
   cf12d0f9c0dc readahead: stricter check for bdi io_pages
   8513c01ae15f mmc: renesas_sdhi_internal_dmac: fix #define RST_RESERVED_BITS
   e7b6b3699b97 spi: cadence: Change usleep_range() to udelay(), for atomic context
   dc9a7dd57f63 spi: spi-fsl-dspi: Fix imprecise abort on VF500 during probe
   23554cab1ebd spi: pxa2xx: Add support for Intel Ice Lake
   aa1d05c50483 spi: davinci: fix a NULL pointer dereference
   4d3016e56c3d 9p/net: Fix zero-copy path in the 9p virtio transport
   4a2262972b5d net: mac802154: tx: expand tailroom if necessary
   54c0fa829d45 net: 6lowpan: fix reserved space for single frames
   ee13f7edca58 Linux 4.14.68
   77d1658e5dd1 gcc-plugins: Use dynamic initializers
   616d41d1b408 gcc-plugins: Add include required by GCC release 8
   73b2e7073b51 cdrom: Fix info leak/OOB read in cdrom_ioctl_drive_status
   63a0f9de021a watchdog: Mark watchdog touch functions as notrace
   f9f67667e0ae power: generic-adc-battery: check for duplicate properties copied from iio channels
   54cecb7440bc power: generic-adc-battery: fix out-of-bounds write when copying channel properties
   d2a97eba0c4e PM / clk: signedness bug in of_pm_clk_add_clks()
   2adc2541a5c4 clk: rockchip: fix clk_i2sout parent selection bits on rk3399
   ae302d685162 iscsi target: fix session creation failure handling
   5b55b24cec4c scsi: core: Avoid that SCSI device removal through sysfs triggers a deadlock
   c984f4d1d40a scsi: sysfs: Introduce sysfs_{un,}break_active_protection()
   d071004e0249 scsi: mpt3sas: Fix _transport_smp_handler() error path
   61ec14f42c84 tpm: Return the actual size when receiving an unsupported command
   ba0797a8016c MIPS: lib: Provide MIPS64r6 __multi3() for GCC < 7
   1c40cd97ffe3 MIPS: Change definition of cpu_relax() for Loongson-3
   156b5e33ab12 MIPS: Always use -march=<arch>, not -<arch> shortcuts
   62c59b1ddbdc MIPS: Correct the 64-bit DSP accumulator register size
   4bdf9c175980 kprobes: Make list and blacklist root user read only
   6ba27d3e2b4a kprobes/arm: Fix %p uses in error messages
   0536c9e41f3f s390/pci: fix out of bounds access during irq setup
   2ac8fbd174d7 s390/numa: move initial setup of node_to_cpumask_map
   97e3dcc08e4e s390/qdio: reset old sbal_state flags
   bcd169a2726a s390: fix br_r1_trampoline for machines without exrl
   9fae74e9a441 s390/mm: fix addressing exception after suspend/resume
   bbcbaf56ff4b x86/entry/64: Wipe KASAN stack shadow before rewind_stack_do_exit()
   cf9fcdd6c2a2 hwmon: (nct6775) Fix potential Spectre v1
   ec4034835eaf x86/speculation/l1tf: Increase l1tf memory limit for Nehalem+
   f64979512c5e x86/spectre: Add missing family 6 check to microcode check
   f822ceb82608 x86/irqflags: Mark native_restore_fl extern inline
   53f01e2004ae x86/nmi: Fix NMI uaccess race against CR3 switching
   fbd5b82d30d2 x86/vdso: Fix lsl operand order
   42228037aa5f pinctrl: freescale: off by one in imx1_pinconf_group_dbg_show()
   7806d2ef4904 ASoC: sirf: Fix potential NULL pointer dereference
   2ef691428ee3 ASoC: zte: Fix incorrect PCM format bit usages
   d1913b9e07e7 ASoC: dpcm: don't merge format from invalid codec dai
   e16bbdeccdd7 b43/leds: Ensure NUL-termination of LED name string
   f0f3784ee3e9 b43legacy/leds: Ensure NUL-termination of LED name string
   f337a54878e2 udl-kms: avoid division
   c0357c1895ae udl-kms: fix crash due to uninitialized memory
   86c18c5a4bc5 udl-kms: handle allocation failure
   29e641a3693a udl-kms: change down_interruptible to down
   e8a3f3a03655 fuse: Add missed unlock_page() to fuse_readpages_fill()
   ff4a71855d0a fuse: Fix oops at process_init_reply()
   973206923812 fuse: umount should wait for all requests
   fc17d7519e8e fuse: fix unlocked access to processing queue
   cfb6eca6e4bb fuse: fix double request_end()
   7d392674443c fuse: fix initial parallel dirops
   eaebcf902ae0 fuse: Don't access pipe->buffers without pipe_lock()
   c49505f6efb1 x86/kvm/vmx: Remove duplicate l1d flush definitions
   933e1ab12051 KVM: x86: SVM: Call x86_spec_ctrl_set_guest/host() with interrupts disabled
   cedb8037f069 x86/process: Re-export start_thread()
   4587db4c2a95 x86/vdso: Fix vDSO build if a retpoline is emitted
   310f2a6e3ad3 x86/speculation/l1tf: Suggest what to do on systems with too much RAM
   59463ec29cac x86/speculation/l1tf: Fix off-by-one error when warning that system has too much RAM
   7418d7086217 x86/speculation/l1tf: Fix overflow in l1tf_pfn_limit() on 32bit
   e9afa7c1ef17 mm/tlb, x86/mm: Support invalidating TLB caches for RCU_TABLE_FREE
   3e0994616d4a mm: move tlb_table_flush to tlb_flush_mmu_free
   7d91aa5717db platform/x86: ideapad-laptop: Apply no_hw_rfkill to Y20-15IKBM, too
   0c9bed369889 nvme-pci: add a memory barrier to nvme_dbbuf_update_and_check_event
   509c0cdfb438 ext4: reset error code in ext4_find_entry in fallback
   5043e05dd571 ext4: sysfs: print ext4_super_block fields as little-endian
   7773a6d94896 ext4: check for NUL characters in extended attribute's name
   bd0f93a630ff stop_machine: Atomically queue and wake stopper threads
   e72107b2d995 stop_machine: Reflow cpu_stop_queue_two_works()
   97f76f3bc406 s390/kvm: fix deadlock when killed by oom
   4a06fdf2c490 KVM: arm/arm64: Skip updating PTE entry if no change
   792a039415dc KVM: arm/arm64: Skip updating PMD entry if no change
   75677d72be74 arm64: dts: rockchip: corrected uart1 clock-names for rk3328
   5a56b307992e arm64: mm: check for upper PAGE_SHIFT bits in pfn_valid()
   a8affa695373 kprobes/arm64: Fix %p uses in error messages
   cd71265a8cd6 printk/nmi: Prevent deadlock when accessing the main log buffer in NMI
   943276ef14c7 printk: Create helper function to queue deferred console handling
   646e7c04803f printk: Split the code for storing a message into the log buffer
   b48522b7887a iommu/arm-smmu: Error out only if not enough context interrupts
   f91ca31f5379 Btrfs: fix btrfs_write_inode vs delayed iput deadlock
   e7457f97d2af btrfs: don't leak ret from do_chunk_alloc
   770025cc4b69 btrfs: use correct compare function of dirty_metadata_bytes
   758f55f91833 smb3: fill in statfs fsid and correct namelen
   66913d23eeda smb3: don't request leases in symlink creation and query
   be1210c7758c smb3: Do not send SMB3 SET_INFO if nothing changed
   82a856f52733 smb3: enumerating snapshots was leaving part of the data off end
   d5f2790a7a1e cifs: check kmalloc before use
   cba34b940773 cifs: add missing debug entries for kconfig options
   cfcfbe08d298 mei: don't update offset in write
   cf7ab2abc524 mm/memory.c: check return value of ioremap_prot
   7bb880a11650 scsi: vmw_pvscsi: Return DID_RESET for status SAM_STAT_COMMAND_TERMINATED
   4ce46fff750d scsi: fcoe: clear FC_RP_STARTED flags when receiving a LOGO
   a67aef68ef24 scsi: fcoe: drop frames in ELS LOGO error path
   95239b2db50f scsi: fcoe: fix use-after-free in fcoe_ctlr_els_send
   fbb37b72489d gpiolib-acpi: make sure we trigger edge events at least once on boot
   1d7bf02d716d memcg: remove memcg_cgroup::id from IDR on mem_cgroup_css_alloc() failure
   47041cf42a47 drivers: net: lmc: fix case value for target abort error
   28013eecf6a0 Squashfs: Compute expected length from inode size rather than block length
   249778d9459a mm: delete historical BUG from zap_pmd_range()
   8babbc02f893 squashfs metadata 2: electric boogaloo
   dfa5c4bf8c94 enic: do not call enic_change_mtu in enic_probe
   574a4f3e6173 sparc: use asm-generic version of msi.h
   7c841ea7f8f1 sparc/time: Add missing __init to init_tick_ops()
   24fab572ae7d arc: fix type warnings in arc/mm/cache.c
   391e3007e447 arc: fix build errors in arc/include/asm/delay.h
   aca05b1741d3 arc: [plat-eznps] fix printk warning in arc/plat-eznps/mtm.c
   79f9c523ca43 arc: [plat-eznps] fix data type errors in platform headers
   d267258ee192 ARC: [plat-eznps] Add missing struct nps_host_reg_aux_dpc
   2312e6a802b3 enic: handle mtu change for vf properly
   d4f96c0515fc nfp: flower: fix port metadata conversion bug
   bc928fdf5d1e bpf: use GFP_ATOMIC instead of GFP_KERNEL in bpf_parse_prog()
   331c36cd01d8 ARC: dma [non-IOC] setup SMP_CACHE_BYTES and cache_line_size
   49c1fba34589 Revert "MIPS: BCM47XX: Enable 74K Core ExternalSync for PCIe erratum"
   9339ea7c92fc tools/power turbostat: Read extended processor family from CPUID
   a73b6c4c2601 zswap: re-check zswap_is_full() after do zswap_shrink()
   92c159863d8a ipc/sem.c: prevent queue.status tearing in semop
   2dd2f7722570 hinic: Link the logical network device to the pci device in sysfs
   d00c34f8e205 selftests/ftrace: Add snapshot and tracing_on test case
   2c69b0300458 cachefiles: Wait rather than BUG'ing on "Unexpected object collision"
   4029dd9fc48b cachefiles: Fix refcounting bug in backing-file read monitoring
   819b476c2138 fscache: Allow cancelled operations to be enqueued
   165335d4f18e x86/boot: Fix if_changed build flip/flop bug
   d35aab9df15a sched/rt: Restore rt_runtime after disabling RT_RUNTIME_SHARE
   0ba83f87c3f1 i2c/mux, locking/core: Annotate the nested rt_mutex usage
   b3da5df23900 locking/rtmutex: Allow specifying a subclass for nested locking
   354e35beb0c5 net: axienet: Fix double deregister of mdio
   f63868841a31 qmi_wwan: fix interface number for DW5821e production firmware
   637de2c01678 bnx2x: Fix invalid memory access in rss hash config path.
   1875957f2ec4 media: staging: omap4iss: Include asm/cacheflush.h after generic includes
   00f795e12b8b perf/x86/amd/ibs: Don't access non-started event
   385b40b4fc1b i2c: davinci: Avoid zero value of CLKH
   562d7bc6c966 can: m_can: Move accessing of message ram to after clocks are enabled
   0b14a856f918 can: mpc5xxx_can: check of_iomap return before use
   06ab42734529 net: prevent ISA drivers from building on PPC32
   5803ce5effc9 atl1c: reserve min skb headroom
   ffb34418ca94 qed: Correct Multicast API to reflect existence of 256 approximate buckets.
   f4e284f1db9e qed: Fix possible race for the link state value.
   77c65d5f40c6 qed: Fix link flap issue due to mismatching EEE capabilities.
   b970d8a1c213 net: caif: Add a missing rcu_read_unlock() in caif_flow_cb
   a10170d94ed4 tools/power turbostat: fix -S on UP systems
   10ca6b3f92d3 KVM: vmx: use local variable for current_vmptr when emulating VMPTRST
   123534dbd490 netfilter: nf_tables: don't allow to rename to already-pending name
   4a0144a43c52 netfilter: nf_tables: fix memory leaks on chain rename
   e3476a6da5d8 bpf, ppc64: fix unexpected r0=0 exit path inside bpf_xadd
   a685c4c4d6e8 netfilter: nft_set_hash: add rcu_barrier() in the nft_rhash_destroy()
   70e88fef36ec usb: gadget: f_uac2: fix endianness of 'struct cntrl_*_lay3'
   7cd80fc138f2 tools: usb: ffs-test: Fix build on big endian systems
   645fef5e8dde usb/phy: fix PPC64 build errors in phy-fsl-usb.c
   a362655deb0e usb: gadget: u_audio: protect stream runtime fields with stream spinlock
   c7d18686e87a usb: gadget: u_audio: remove cached period bytes value
   42b09bece176 usb: gadget: u_audio: remove caching of stream buffer parameters
   224c0d0894ff usb: gadget: u_audio: update hw_ptr in iso_complete after data copied
   dc126a1e5fb8 usb: gadget: u_audio: fix pcm/card naming in g_audio_setup()
   fa18ff7edb88 usb: gadget: f_uac2: fix error handling in afunc_bind (again)
   43b058dc21cd usb: gadget: r8a66597: Fix a possible sleep-in-atomic-context bugs in r8a66597_queue()
   3f41c2d0e618 usb: gadget: r8a66597: Fix two possible sleep-in-atomic-context bugs in init_controller()
   05ee6166d702 nbd: handle unexpected replies better
   ced413c5ef85 nbd: don't requeue the same request twice.
   962ff36dac01 drm/imx: imx-ldb: check if channel is enabled before printing warning
   a43eac2d855b drm/imx: imx-ldb: disable LDB on driver bind
   9ac1a4644bb8 scsi: libiscsi: fix possible NULL pointer dereference in case of TMF
   ca5fc53ad401 scsi: target: iscsi: cxgbit: fix max iso npdu calculation
   384f0d9fe4ad drm/bridge: adv7511: Reset registers on hotplug
   7cb625dd9ed6 nl80211: Add a missing break in parse_station_flags
   147b89c421d0 ext4: clear mmp sequence number when remounting read-only
   de044d4ecc65 mac80211: add stations tied to AP_VLANs during hw reconfig
   b6f147a2d907 esp6: fix memleak on error path in esp6_input
   0118f86d21f1 xfrm: free skb if nlsk pointer is NULL
   d35cc7ed2cfe xfrm: fix missing dst_release() after policy blocking lbcast and multicast
   d2adc199957f vti6: fix PMTU caching and reporting on xmit
   7ff4bf211f3e crypto: vmx - Use skcipher for ctr fallback

(From OE-Core rev: 636ffaec45db57a3eb5ae1ca9a81b763dc1a6a53)

(From OE-Core rev: 02f3fa232c82674c72c03ffce8e6f3ad34e5ead6)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-16 16:33:09 +00:00
Bruce Ashfield
3c3b06116f linux-yocto/4.14: fix kernel configuration audit warnings
Some of the reference BSPs for 4.14 need fixes that have been done
on 4.18 and master to silence warnings, so we cherry-pick the
following changes:

  f991b21d7858 config: flash: drop obselete config values
  da7524cf2980 edgerouter: Drop the obsolete kernel options
  675c5b0cde65 cfg: drop MACH_VERSATILE_PB and MACH_VERSTAILE_AB
  0936b18ed8d5 cfg/timer/rtc: toggle RTC_CLASS instead of GEN_RTC
  634d8f2230d1 mpc8315e-rdb: Drop the obsolete kernel options
  9beb3a28736e rt: drop obselete configuration options

(From OE-Core rev: bfe6a9b2d1a118791cebcd1019f3e80bced294c6)

(From OE-Core rev: d986ced945462164f7410a4df083b792e0f90cdf)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-16 16:33:09 +00:00
Bruce Ashfield
16c560cad1 linux-yocto: tweak RTC configuration
[
  Author: Jens Rehsack <sno@netbsd.org>
  Date:   Thu Sep 13 19:29:54 2018 +0200

    cfg/timer/rtc: toggle RTC_CLASS instead of GEN_RTC

    In 2016, the final removal of GEN_RTC happened with commit
    6705fdb3 char/genrtc: remove the rest of the driver

    What is remaining, is a legacy driver (char/rtc) and the new
    RTC_CLASS framework - which supports everything except S390
    and Atari. Many platforms automatically support the right
    driver for RTC_CLASS framework.

    Signed-off-by: Jens Rehsack <sno@netbsd.org>
    Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
]

(From OE-Core rev: 7ddcba89a3bbed4b582768661585684ffdc85f31)

(From OE-Core rev: 924ce56ab8a957087906c97ffbfcf9a4a96e0d4f)

Signed-off-by: Jens Rehsack <sno@netbsd.org>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[Drop 4.18 changes]
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-16 16:33:09 +00:00
Bruce Ashfield
33380465d7 linux-yocto: configuration warning fixes
Integrating the following commits to address kernel configuration
audit warnings:

  856794172e8f features/intel-pinctrl: Fix conflict with configs
  397b67321037 bsp/intel-x86: Rename CONFIG_R8723BE to CONFIG_RTL8723BE
  fca2a16483f2 features/thermal: Add dependency for kernel option
  b6110e2e8e55 features/tpm: fix conflict with configs and add dependency
  ee22bc1f8fcd features/mmc: modify dependency
  e50eb6bd929b features: drop the obsolete kernel option
  f5327047994f features/hostapd: drop obsolete configs
  48b54e625876 bsp/intel-x86: Drop configs that has been removed by kernel

(From OE-Core rev: a49c66844c8c3a87f8383085661ff59bfb045452)

(From OE-Core rev: 73a4746a5d37ab4869b0eb17979dc9d8970f2ae3)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[Dropped 4.18 changes]
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-16 16:33:09 +00:00
Hongzhi.Song
e964083b2b linux-yocto-rt: Add paravirt_kvm support for qemux86-64
This feature includes paravirtualized KVM guest support, including
KVMCLOCK for enhancing clock accuracy of guest OS.

(From OE-Core rev: 2b2238e5e81748475de8a339c33529484971b0ff)

(From OE-Core rev: 0c13f6b8ba3460029ee239eac080e57d42650841)

Signed-off-by: He Zhe <zhe.he@windriver.com>
Signed-off-by: Hongzhi.Song <hongzhi.song@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[Drop 4.18 changes]
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-16 16:33:09 +00:00
Bruce Ashfield
cf94b2ad85 linux-yocto/4.14/4.18: address kernel configuration warnings
Making the following commits available to address kernel configuration
warnings:

  734172039130 preempt-rt: remove entry for aufs
  7a6753341309 common_pc: remove config audit warnings
  dea9c6aa7ddd common-pc/tiny: mask configuration warnings

(From OE-Core rev: cc3fa85467c0423b06e78b3e775d5358c422ee4e)

(From OE-Core rev: 3b7e38b6519a0ff6edcf40941976a8b65eab8a17)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[Drop 4.18 changes]
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-16 16:33:09 +00:00
Bruce Ashfield
7585efa91c kernel-yocto/cfg: configuration warning fixes
Now that the kernel configuration audit output is visible, we cleanup
and drop obselete configs:

   bae5cc4e973f bsp/romley: drop obsolete config
   2e39f82df02a x86: update microcode configs
   6894481e965e wifi: CONFIG_VENDOR_ATH must be build in
   3a9f687cdf42 pm: drop obselete CONFIG_USB_SUSPEND
   bb869e576f6b pm: change CONFIG_PM_RUNTIME to CONFIG_PM
   49547fd6b4a3 i915: remove obselete CONFIG_DRM_I915_KMS
   4b49aa8e8d09 i915: rename preliminary_hw_support to alpha_support
   d6186c621856 sound: fix CONFIG_SND_SST_MFLD_PLATFORM
   d57f4ebf6b54 netfilter: drop CONFIG_NF_CONNTRACK_PROC_COMPAT
   c8e3cf86df8b netfilter: remove obselete ULOG configs
   13da6cb561c0 fs: drop old ext3 options
   8e25da60cfd3 cgroups: remove obselete options
   aa6a61d826e0 wifi: ATH_CARDS -> WLAN_VENDOR_ATH
   4e32f99a1591 intel: remove CONFIG_CPU_FREQ_TABLE
   131df62ce93a common-pc: remove obselete subsystem
   0040deb2fad7 bsp: don't include crypto.scc
   3f94205d082c features/crypto: drop feature
   e2951464ef97 features/thermal: use the correct config name
   5a09f42be52e features: drop obsolete configs

(From OE-Core rev: fbd0ae4e302fa8e18a15d9081537c58edec2a460)

(From OE-Core rev: ad44a133cdc3aa9ad9ecf57a7cf8754951f6fd96)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[Drop 4.18 changes]
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-16 16:33:09 +00:00
Dan McGregor
8522638d56 base-files: change permissions on /sys and /proc
The kernel mounts /proc and /sys with the mode 555. Fedora explicitly
sets this value in its filesystem setup package. Debian doesn't seem
to set it explictly.  Having them be 755 causes permission issues on
upgrades inside a container where the guest does not have the
permission to change the modes of the mount points.

So, just bite the bullet and force them to be 555.

(From OE-Core rev: 7e311b0c7222fa9127a96945c9ded7bee5e40eb3)

(From OE-Core rev: 26d5ceb33425fa85bc84b825609e1b45b13d3ddd)

Signed-off-by: Dan McGregor <dan.mcgregor@usask.ca>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-16 16:33:09 +00:00
Dan McGregor
4c21eb49eb os-release: move to nonarch_libdir
Even on multilib systems, /usr/lib is where systemd expects the
os-release file to live.

(From OE-Core rev: b7b476efee8c959a0227905e40bd9b5ef493632d)

(From OE-Core rev: 0362788144c3eff36099d8812c85cc70e8736859)

Signed-off-by: Dan McGregor <dan.mcgregor@usask.ca>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-16 16:33:09 +00:00
Armin Kuster
2b901687ab tzdata: update to 2018f
Briefly:
  Volgograd moves from +03 to +04 on 2018-10-28.
  Fiji ends DST 2019-01-13, not 2019-01-20.
  Most of Chile changes DST dates, effective 2019-04-06.

  Changes to future timestamps

    Volgograd moves from +03 to +04 on 2018-10-28 at 02:00.
    (Thanks to Alexander Fetisov and Stepan Golosunov.)

    Fiji ends DST 2019-01-13 instead of the 2019-01-20 previously
    predicted.  (Thanks to Raymond Kumar.)  Adjust future predictions
    accordingly.

    Most of Chile will end DST on the first Saturday in April at 24:00 mainland
    time, and resume DST on the first Saturday in September at 24:00 mainland
    time.  The changes are effective from 2019-04-06, and do not affect the
    Magallanes region modeled by America/Punta_Arenas.  (Thanks to Juan Correa
    and Tim Parenti.)  Adjust future predictions accordingly.

  Changes to past timestamps

    The 2018-05-05 North Korea 30-minute time zone change took place
    at 23:30 the previous day, not at 00:00 that day.

    China's 1988 spring-forward transition was on April 17, not
    April 10.  Its DST transitions in 1986/91 were at 02:00, not 00:00.
    (Thanks to P Chan.)

    Fix several issues for Macau before 1992.  Macau's pre-1904 LMT
    was off by 10 s.  Macau switched to +08 in 1904 not 1912, and
    temporarily switched to +09/+10 during World War II.  Macau
    observed DST in 1942/79, not 1961/80, and there were several
    errors for transition times and dates.  (Thanks to P Chan.)

    The 1948-1951 fallback transitions in Japan were at 25:00 on
    September's second Saturday, not at 24:00.  (Thanks to Phake Nick.)
    zic turns this into 01:00 on the day after September's second
    Saturday, which is the best that POSIX or C platforms can do.

    Incorporate 1940-1949 Asia/Shanghai DST transitions from a 2014
    paper by Li Yu, replacing more-questionable data from Shanks.

  Changes to time zone abbreviations

    Use "PST" and "PDT" for Philippine time.  (Thanks to Paul Goyette.)

 Changes to documentation

    New restrictions: A Rule name must start with a character that
    is neither an ASCII digit nor "-" nor "+", and an unquoted name
    should not use characters in the set "!$%&'()*,/:;<=>?@[\]^`{|}~".
    The latter restriction makes room for future extensions (a
    possibility noted by Tom Lane).

    tzfile.5 now documents what time types apply before the first and
    after the last transition, if any.

    Documentation now uses the spelling "timezone" for a TZ setting
    that determines timestamp history, and "time zone" for a
    geographic region currently sharing the same standard time.

    The name "TZif" is now used for the tz binary data format.

    tz-link.htm now mentions the A0 TimeZone Migration utilities.
    (Thanks to Aldrin Martoq for the link.)

  Changes to build procedure

    New 'make' target 'rearguard_tarballs' to build the rearguard
    tarball only.  This is a convenience on platforms that lack lzip
    if you want to build the rearguard tarball.  (Problem reported by
    Deborah Goldsmith.)

    tzdata.zi is now more stable from release to release.  (Problem
    noted by Tom Lane.)  It is also a bit shorter.

    tzdata.zi now can contain comment lines documenting configuration
    information, such as which data format was selected, which input
    files were used, and how leap seconds are treated.  (Problems
    noted by Lester Caine and Brian Inglis.)  If the Makefile defaults
    are used these comment lines are absent, for backward
    compatibility.  A redistributor intending to alter its copy of the
    files should also append "-LABEL" to the 'version' file's first
    line, where "LABEL" identifies the redistributor's change.
(From OE-Core rev: 9d786808fb9471eff46d95dd354f6254e468aa17)

(From OE-Core rev: 7ac4ecb04f02a7df943d1f9f0542e28e8f414cc5)

Signed-off-by: Armin Kuster <akuster808@gmail.com>

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-16 16:33:08 +00:00
Armin Kuster
3425e75e01 tzcode: update to 2018f
Changes to code

    zic now always generates TZif files where time type 0 is used for
    timestamps before the first transition.  This simplifies the
    reading of TZif files and should not affect behavior of existing
    TZif readers because the same set of time types is used; only
    their internal indexes may have changed.  This affects only the
    legacy zones EST5EDT, CST6CDT, MST7MDT, PST8PDT, CET, MET, and
    EET, which previously used nonzero types for these timestamps.

    Because of the type 0 change, zic no longer outputs a dummy
    transition at time -2**59 (before the Big Bang), as clients should
    no longer need this to handle historical timestamps correctly.
    This reverts a change introduced in 2013d and shrinks most TZif
    files by a few bytes.

    zic now supports negative time-of-day in Rule and Leap lines, e.g.,
    "Rule X min max - Apr lastSun -6:00 1:00 -" means the transition
    occurs at 18:00 on the Saturday before the last Sunday in April.
    This behavior was documented in 2018a but the code did not
    entirely match the documentation.

    localtime.c no longer requires at least one time type in TZif
    files that lack transitions or have a POSIX-style TZ string.  This
    future-proofs the code against possible future extensions to the
    format that would allow TZif files with POSIX-style TZ strings and
    without transitions or time types.

    A read-access subscript error in localtime.c has been fixed.
    It could occur only in TZif files with timecnt == 0, something that
    does not happen in practice now but could happen in future versions.

    localtime.c no longer ignores TZif POSIX-style TZ strings that
    specify only standard time.  Instead, these TZ strings now
    override the default time type for timestamps after the last
    transition (or for all time stamps if there are no transitions),
    just as DST strings specifying DST have always done.

    leapseconds.awk now outputs "#updated" and "#expires" comments,
    and supports leap seconds at the ends of months other than June
    and December.  (Inspired by suggestions from Chris Woodbury.)
(From OE-Core rev: 4670dcdb6e2504469c30ebed828d4702d8c0003c)

(From OE-Core rev: 9702041a732ca062a9899543d05e585c930407f3)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-16 16:33:08 +00:00
Armin Kuster
4237732138 tzdata: update to 2018e
Briefly:

    North Korea switches back to +09 on 2018-05-05.
    The main format uses negative DST again, for Ireland etc.
    'make tarballs' now also builds a rearguard tarball.
    New 's' and 'd' suffixes in SAVE columns of Rule and Zone lines.

  Changes to past and future time stamps

    North Korea switches back from +0830 to +09 on 2018-05-05.
    (Thanks to Kang Seonghoon, Arthur David Olson, Seo Sanghyeon,
    and Tim Parenti.)

    Bring back the negative-DST changes of 2018a, except be more
    compatible with data parsers that do not support negative DST.
    Also, this now affects historical time stamps in Namibia and the
    former Czechoslovakia, not just Ireland.  The main format now uses
    negative DST to model time stamps in Europe/Dublin (from 1971 on),
    Europe/Prague (1946/7), and Africa/Windhoek (1994/2017).  This
    does not affect UT offsets, only time zone abbreviations and the
    tm_isdst flag.  Also, this does not affect rearguard or vanguard
    formats; effectively the main format now uses vanguard instead of
    rearguard format.  Data parsers that do not support negative DST
    can still use data from the rearguard tarball described below

(From OE-Core rev: f717eeff2d4823163cb72fb79101220cc48b3286)

(From OE-Core rev: 24227750484cca1c1fdf431751247960c19b926f)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-16 16:33:08 +00:00
Armin Kuster
cce73a588c tzcode-native: updatet to 2018e
Changes to build procedure

    The command 'make tarballs' now also builds the tarball
    tzdataVERSION-rearguard.tar.gz, which is like tzdataVERSION.tar.gz
    except that it uses rearguard format intended for trailing-edge
    data parsers.

  Changes to data format and to code

    The SAVE column of Rule and Zone lines can now have an 's' or 'd'
    suffix, which specifies whether the adjusted time is standard time
    or daylight saving time.  If no suffix is given, daylight saving
    time is used if and only if the SAVE column is nonzero; this is
    the longstanding behavior.  Although this new feature is not used
    in tzdata, it could be used to specify the legal time in Namibia
    1994-2017, as opposed to the popular time (see below).

  Changes to past time stamps

    From 1994 through 2017 Namibia observed DST in winter, not summer.
    That is, it used negative DST, as Ireland still does.  This change
    does not affect UTC offsets; it affects only the tm_isdst flag and
    the abbreviation used during summer, which is now CAT, not WAST.
    Although (as noted by Michael Deckers) summer and winter time were
    both simply called "standard time" in Namibian law, in common
    practice winter time was considered to be DST (as noted by Stephen
    Colebourne).  The full effect of this change is only in vanguard
    format; in rearguard and main format, the tm_isdst flag is still
    zero in winter and nonzero in summer.

    In 1946/7 Czechoslovakia also observed negative DST in winter.
    The full effect of this change is only in vanguard format; in
    rearguard and main formats, it is modeled as plain GMT without
    daylight saving.  Also, the dates of some 1944/5 DST transitions
    in Czechoslovakia have been changed.
(From OE-Core rev: aeb3d295581908ca9a9d8f1705f70b49b2de32e3)

(From OE-Core rev: a8f643726e991608d5595cd551a4c3e43a254d6a)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-16 16:33:08 +00:00
Grygorii Tertychnyi
3baf63563f curl: extend CVE_PRODUCT
There are both "curl" and "libcurl" CPEs in NVD.
All "curl" CVEs are now missed in the reports.

Hence, switch "CVE_PRODUCT" to a space separated list
of the items.

(From OE-Core rev: 69ff709c2450c42139fd9705e3a74464221ad754)

(From OE-Core rev: 5df0d75fe63a0e1ada396f5ecfa953ac63f65354)

Signed-off-by: Grygorii Tertychnyi <gtertych@cisco.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-16 16:33:08 +00:00
Grygorii Tertychnyi
cd1157b658 cve-check: Allow multiple entries in CVE_PRODUCT
There are both "curl" and "libcurl" CPEs in NVD.
All "curl" CVEs are currently missing in the reports.

Hence, switch "CVE_PRODUCT" to a space separated list.
It is useful for recipes generating several packages,
that have different product names in NVD.

(From OE-Core rev: 404f75e026393ddc55da87f6f04fb1201cff4e11)

(From OE-Core rev: 667d5e77e1ce0f0e531ed87f6fc30e1d65b16759)

Signed-off-by: Grygorii Tertychnyi <gtertych@cisco.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-16 16:33:08 +00:00
Richard Purdie
2492836a2b yocto-uninative: Upgrade to verson 2.3 which includes glibc 2.28
This allows us to handle distros which contain glibc 2.28 such as
Ubuntu 18.10.

(From OE-Core rev: 5c7d9abcd611d23d4340f9a0aee2564f72158a0b)

(From OE-Core rev: f01153e1782425756a40929ffb3fa72993b7a3b1)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[Fixed up for sumo context]
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-16 16:33:08 +00:00
Bruce Ashfield
3728760048 kernel: specify dependencies for compilation for config tasks
With recent kernels (i.e. 4.17+) the configuration phase of the kernel
will check for capabilities/options of the compiler for CVE and other
mitigation support.

For a general kernel, we want to ensure that CC is fully defined when
the config targets are invoked (so the proper compiler will be checked).

For linux-yocto, we also need to specify the compiler/tools dependencies
for the configme task since it executes before configure and hence the
main kernel build DEPENDS will not always be in the sysroot before it
executes. Without those dependencies the kernel will be incorrectly
configured (i.e. bison is missing) or the configuration will fail the
mitigation tests.

[YOCTO #12757]

(From OE-Core rev: ff1bdd75d50f0ebac3d599e461685ace29559a82)

(From OE-Core rev: ec5cc387ca6828c5dbb3d36c9a92e2d7654c616a)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Sinan Kaya <okaya@kernel.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-16 16:33:08 +00:00
Hongxu Jia
118724e464 valgrind: fix compile ptest failure on mips32
- Pass mips32's CFLAGS to tests

- Fix broken inline asm in tests on mips32-linux

- Build mips n32 successfully, support it.

(From OE-Core rev: 23d9eba99d1180a0b859aadc23a10b391b8f6440)

(From OE-Core rev: 74308b2ca81bb7a3d294ce344ba6e8fdf7ebca5d)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-16 16:33:08 +00:00
Jagadeesh Krishnanjanappa
c7d80dc8d7 valgrind: fix ptest compilation for PowerPC64
The fix is similar to what was done for PowerPC32.
It solves below error, while compiling for PowerPC64,

-- snip --
| ../../../../valgrind-3.13.0/none/tests/ppc64/test_isa_2_06_part2.c: In function 'usage':
| ../../../../valgrind-3.13.0/none/tests/ppc64/test_isa_2_06_part2.c:1778:3: warning: implicit declaration of function 'fprintf' [-Wimplicit-function-declaration]
|    fprintf(stderr,
|    ^~~~~~~
| ../../../../valgrind-3.13.0/none/tests/ppc64/test_isa_2_06_part2.c:1778:3: warning: incompatible implicit declaration of built-in function 'fprintf'
| ../../../../valgrind-3.13.0/none/tests/ppc64/test_isa_2_06_part2.c:1778:3: note: include '<stdio.h>' or provide a declaration of 'fprintf'
| ../../../../valgrind-3.13.0/none/tests/ppc64/test_isa_2_06_part2.c:1778:11: error: 'stderr' undeclared (first use in this function)
|    fprintf(stderr,
|            ^~~~~~
-- snip --

(From OE-Core rev: 9f82bb4bf3d0ded246eb252b3f9b4b618b22fc95)

Signed-off-by: Jagadeesh Krishnanjanappa <jkrishnanjanappa@mvista.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-16 16:33:08 +00:00
Anuj Mittal
8cc8988943 perl: skip tests that are not useful
Some tests, like the one that compares the hashes for a list of files
against those stored in a .dat file, don't make sense for downstream
distros packaging perl.

Backport a patch from upstream that allows skipping of these tests at
runtime. Also remove the local patch trying to keep hashes up-to-date
for one of those tests.

Fixes [YOCTO #12787]

(From OE-Core rev: 557f4618b75b8739a647e46054ab587ae2bbdc25)

(From OE-Core rev: 7157e7804b21a84ecbd809b6e171106d7ddc86a6)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-16 16:33:08 +00:00
Ola x Nilsson
d240b885f2 externalsrc.bbclass: Set BB_DONT_CACHE for non-target recipes
BB_DONT_CACHE was not set for non-virtual recipes where PN != BPN, such
as quilt-native.  Recipes that do not set BBCLASSEXTEND should always
have BB_DONT_CACHE set by externalsrc.

(From OE-Core rev: 4eff427a0ee629a1541a420a9591411648569a97)

(From OE-Core rev: 30b055d2296f060a4ca054d042f353a2153fdd4e)

Signed-off-by: Ola x Nilsson <olani@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-10-18 11:08:53 +01:00
Ioan-Adrian Ratiu
78a406431a rootfs: always update the opkg index
The previous logic assumed that if $BUILD_IMAGES_FROM_FEEDS=1 then a
complete set of ipk feeds from which to build the image is already
present under $IPK_FEED_URIS at do_rootfs runtime.

$IPK_FEED_URIS usually contains "file://${DEPLOY_DIR_IPK}" which
renders the above assumption bad because some recipes in the current
build can contain code like do_install[nostamp] = "1" which will cause
rebuilds bumping $PR and invalidating the index.

Even when the index is manually re-created before an image build
("bitbake package-index"), the nostamp will cause failures because the
dependency gets rebuilt before do_rootfs in the "bitbake <image>" call.

So make the opkg rootfs index logic the same as for rpm/deb, to always
update the index in $DEPLOY_DIR_IPK to fix the above nostamp failure.

Feeds outside $DEPLOY_DIR_IPK added to $IPK_FEED_URIS continue to work
as usual, for eg. by using a http:// URI.

(From OE-Core rev: bce90f48d1cc136fdfdf98b3830f5d99e381271b)

(From OE-Core rev: 6e03d1d56587d93b9a9ec936ceb69350234c627a)

Signed-off-by: Ioan-Adrian Ratiu <adrian.ratiu@ni.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-10-18 11:08:53 +01:00
Chen Qi
30a244ba7b runqemu: fix handling of SIGTERM and the problem of line wrapping
The current handling of SIGTERM is incorrect as the process pid returned
by Popen call with shell setting to True is actualy the shell instead of
the qemu process. So use shlex to split cmd so that we can avoid using
shell=True. This ensures the child process is the actual qemu process.

Also, as we install a SIGTERM handler, we need handle the situation of
qemu terminated by SIGTERM, otherwise we will get ERROR message in such
case.

Besides, we have a problem that after running qemu, the terminal's behavior
is incorrect regarding long lines or long commands. Long commands or long
outputs should appear in multiple lines, but they appear in the same line,
overriding previous output. Use `tput smam' to fix this problem.

(From OE-Core rev: e8acef383767cfd1ef0c3d3c45d9d6eb1c83b3e7)

(From OE-Core rev: a2ee5c8a1ff449250e6f37fccf01b85a7361b24c)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-10-18 11:08:53 +01:00
Jagadeesh Krishnanjanappa
fff3aa6b07 runqemu: exit gracefully with an error message if qemu system is not evaluated
It solves below error:
-- snip --
return 'qemu-system-%s' % qbsys
UnboundLocalError: local variable 'qbsys' referenced before assignment
-- snip --

[YOCTO #12846]

(From OE-Core rev: 519273f54c0b8a6fff36afeb7646d8e37717be22)

(From OE-Core rev: bc030c9f5af4af5a8bad48bc8beca9324a65d25b)

Signed-off-by: Jagadeesh Krishnanjanappa <jkrishnanjanappa@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-10-18 11:08:53 +01:00
Chen Qi
edc09e102e runqemu: add SIGTERM handler to make sure things are cleaned up
Add SIGTERM handler so that runqemu could clean things up correctly
when receving such signal.

This problem was originally observed when running testimage. On
some hosts, after running testimage task, the user has to manually
operate on the tap interface (e.g. `sudo ip link del tap0') in order
for the next runqemu command to launch successfully.

The problem is about runqemu, SIGTERM and network manager on the host.

In testimage task, the runqemu process will receive SIGTERM. In such
situation, its cleanup() function is not run, resulting in tap interface
not cleaned up. On some hosts, the network manager will bring down the
tap interface automatically, thus this problem. I saw this problem on
Fedora21.

I think we'd better just clean up the tap interface ourselves.

So this patch adds to runqemu a SIGTERM handler, in which the actual
qemu process is terminated and other things cleaned up.

(From OE-Core rev: 02709d4709c56f9b9095e3555da35b659b03a8a3)

(From OE-Core rev: 05c2a590980819e31acee29e1e7282d2ed3586b7)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-10-18 11:08:53 +01:00
Joe Slater
bda2ae1f06 libtiff: fix CVE-2017-17095
Backport fix from gitlab.com/libtiff/libtiff.
nvd.nist.gov does not yet reference this patch.

(From OE-Core rev: f72c8af3f2c1ec9e4d9ffcf0cc6e7fdf572b21b9)

(From OE-Core rev: 6681ba9759b2d09945e415daf251162ac9600df7)

Signed-off-by: Joe Slater <joe.slater@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-10-18 11:08:53 +01:00
Khem Raj
23be36d46f x264: Disable asm on musl/x86
Fixes

WARNING: x264-r2854+gitAUTOINC+e9a5903edf-r0 do_package_qa: QA Issue: ELF binary '/mnt/a/yoe/build/tmp/work/i586-yoe-linux-musl/x264/r2854+gitAUTOINC+e9a5903edf-r0/packages-split/x264/usr/lib/libx264.so.152'
has relocations in .text [textrel]
WARNING: x264-r2854+gitAUTOINC+e9a5903edf-r0 do_package_qa: QA Issue: ELF binary '/mnt/a/yoe/build/tmp/work/i586-yoe-linux-musl/x264/r2854+gitAUTOINC+e9a5903edf-r0/packages-split/x264-bin/usr/bin/x264'
has relocations in .text [textrel]

(From OE-Core rev: ea1204c6d9a02f0e38cf616e89d46530908972bb)

(From OE-Core rev: 221a02355c8c2128f086f71bcbe95085a6306dcc)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-10-18 11:08:53 +01:00
Changqing Li
cbdc5ca4f8 libsndfile1: CVE-2018-13139
A stack-based buffer overflow in psf_memset in common.c in libsndfile 1.0.28.

Fixed in https://github.com/erikd/libsndfile/issues/397

(From OE-Core rev: 6b5a9078a7c5035590ee4dc2e23582da94d4a104)

(From OE-Core rev: da7342a774ae9bcd876ceb7c260dfb49791949d5)

Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-10-18 11:08:53 +01:00
Hongxu Jia
255160b689 nasm: fix CVE-2018-10016
Previously fix of CVE-2018-10016 caused ovmf build failure,
I reported the failure to upstream and it replied with
this V2 fix.

Details at:
https://bugzilla.nasm.us/show_bug.cgi?id=3392473

(From OE-Core rev: e2fa6bc137faebba3c440cac93c88092421e8e82)

(From OE-Core rev: 19138a21aabe60b67015e3383f4030db0d4d37a4)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-10-18 11:08:53 +01:00
Richard Purdie
842dc807b7 recipes: Update git.gnome.org addresses after upstream changes
git.gnome.org is no more. It has ceased to be. It's an ex-git.

Please see here:
https://about.gitlab.com/2018/05/31/welcome-gnome-to-gitlab/

Note that gitlab does not support git://, only https:// (and ssh).

[Commit message from Alexander Kanavin]

(From OE-Core rev: 8382cdc0888ca645a44aacaac1155afb8dcde979)

(From OE-Core rev: a6b6af83e344501057b0eb28dce1077992e5a7f3)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[Fixup for sumo context]
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-10-18 11:08:53 +01:00
Sinan Kaya
fbc735796f git: CVE-2018-11233
* CVE-2018-11233
Code to sanity-check pathnames on NTFS can result in reading
out-of-bounds memory.

Affects < 2.17.1

CVE: CVE-2018-11233
Ref: https://bugzilla.redhat.com/show_bug.cgi?id=1583888
(From OE-Core rev: d145f605c274386baf0dde023f15cddf37523f3b)

Signed-off-by: Sinan Kaya <okaya@kernel.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-10-18 11:08:53 +01:00
Sinan Kaya
97ee1f8087 python3: CVE-2018-1061
* CVE-2018-1060
Prevent low-grade poplib REDOS:
The regex to test a mail server's timestamp is susceptible to
catastrophic backtracking on long evil responses from the server.

Happily, the maximum length of malicious inputs is 2K thanks
to a limit introduced in the fix for CVE-2013-1752.

* CVE-2018-1061
Prevent difflib REDOS
The default regex for IS_LINE_JUNK is susceptible to
catastrophic backtracking.
This is a potential DOS vector.
Replace it with an equivalent non-vulnerable regex.

Affects < 3.5.6rc1

CVE: CVE-2018-1060
CVE: CVE-2018-1061
Ref: https://access.redhat.com/security/cve/cve-2018-1060
Ref: https://access.redhat.com/security/cve/cve-2018-1061

(From OE-Core rev: 1461bcc72e6649920ecf4226e006e5667c48a21c)

Signed-off-by: Sinan Kaya <okaya@kernel.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-10-18 11:08:53 +01:00
Sinan Kaya
536412ec4d libxml2: CVE-2018-14404
* CVE-2018-14404
A null pointer dereference vulnerability exists in the xpath.c:xmlXPathCompOpEval()
function of libxml2 when parsing invalid XPath expression. Applications processing
untrusted XSL format inputs with the use of libxml2 library may be vulnerable to
denial of service attack due to crash of the application.

Affects libxml <= 2.9.8

CVE: CVE-2018-14404
Ref: https://access.redhat.com/security/cve/cve-2018-14404

(From OE-Core rev: 06d7f9039b005c2112e28336ac1c30e5120ec815)

Signed-off-by: Sinan Kaya <okaya@kernel.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-10-18 11:08:53 +01:00
Nicolas Dechesne
967d42170e checklayer: avoid recursive loop in add_layer_dependencies
When Layer A and Layer B depend on each other, then we will end up in a
recursive loop in function recurse_dependencies(). To avoid such situation
before making the recursive function call we check whether or not we have
already processed this layer.

e.g. without this patch, running this script on layers with dependency loops, we are seeing:

$ yocto-check-layer -d  /srv/work/oe/meta-openembedded/
INFO: Detected layers:
INFO: meta-python: LayerType.SOFTWARE, /srv/work/oe/meta-openembedded/meta-python
INFO: meta-filesystems: LayerType.SOFTWARE, /srv/work/oe/meta-openembedded/meta-filesystems
INFO: meta-gnome: LayerType.SOFTWARE, /srv/work/oe/meta-openembedded/meta-gnome
INFO: meta-xfce: LayerType.SOFTWARE, /srv/work/oe/meta-openembedded/meta-xfce
INFO: meta-networking: LayerType.SOFTWARE, /srv/work/oe/meta-openembedded/meta-networking
INFO: meta-initramfs: LayerType.SOFTWARE, /srv/work/oe/meta-openembedded/meta-initramfs
INFO: meta-oe: LayerType.SOFTWARE, /srv/work/oe/meta-openembedded/meta-oe
INFO: meta-multimedia: LayerType.SOFTWARE, /srv/work/oe/meta-openembedded/meta-multimedia
INFO: meta-perl: LayerType.SOFTWARE, /srv/work/oe/meta-openembedded/meta-perl
INFO: meta-webserver: LayerType.SOFTWARE, /srv/work/oe/meta-openembedded/meta-webserver
INFO:
INFO: Setting up for meta-python(LayerType.SOFTWARE), /srv/work/oe/meta-openembedded/meta-python
DEBUG: Processing dependencies core openembedded-layer for layer meta-python.
DEBUG: Processing dependencies core networking-layer for layer meta-oe.
DEBUG: Processing dependencies core openembedded-layer meta-python for layer meta-networking.
DEBUG: Processing dependencies core networking-layer for layer meta-oe.
DEBUG: Processing dependencies core openembedded-layer meta-python for layer meta-networking.
DEBUG: Processing dependencies core networking-layer for layer meta-oe.
DEBUG: Processing dependencies core openembedded-layer meta-python for layer meta-networking.
DEBUG: Processing dependencies core networking-layer for layer meta-oe.
DEBUG: Processing dependencies core openembedded-layer meta-python for layer meta-networking.
DEBUG: Processing dependencies core networking-layer for layer meta-oe.
DEBUG: Processing dependencies core openembedded-layer meta-python for layer meta-networking.
DEBUG: Processing dependencies core networking-layer for layer meta-oe.
DEBUG: Processing dependencies core openembedded-layer meta-python for layer meta-networking.
DEBUG: Processing dependencies core networking-layer for layer meta-oe.
DEBUG: Processing dependencies core openembedded-layer meta-python for layer meta-networking.
DEBUG: Processing dependencies core networking-layer for layer meta-oe.
DEBUG: Processing dependencies core openembedded-layer meta-python for layer meta-networking.
DEBUG: Processing dependencies core networking-layer for layer meta-oe.
DEBUG: Processing dependencies core openembedded-layer meta-python for layer meta-networking.
DEBUG: Processing dependencies core networking-layer for layer meta-oe.
DEBUG: Processing dependencies core openembedded-layer meta-python for layer meta-networking.
DEBUG: Processing dependencies core networking-layer for layer meta-oe.
DEBUG: Processing dependencies core openembedded-layer meta-python for layer meta-networking.
...
...
...
[keep repeating]

This patch fixes this situation.

(From OE-Core rev: 759290ed5fedc1ce10639b3584d4532d688ea714)

Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 171900b4bcb06416685ce90b63114a10fefe0b94)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-10-18 11:08:53 +01:00
Paulo Neves
36d5cee56b bitbake: fetcher: Fixed remote removal not throwing exception.
Before this fix it is assumed that the removal of the
remote can only fail because there is not remote to remove. This
is a false assumption. Example error which would be ignored:

git -c core.fsyncobjectfiles=0 remote rm origin failed with exit code 1, output:
Note: A branch outside the refs/remotes/ hierarchy was not removed;
to delete it, use:
  git branch -d master
error: could not lock config file config
error: Could not remove config section 'remote.origin'

Due to the masking of this error a stranger error will be
presented to the user, because this time we do not mask the
exception:

git -c core.fsyncobjectfiles=0 remote add --mirror=fetch origin https://github.com/ptsneves/tl-wn722.git failed with exit code 128, output:
fatal: remote origin already exists.

The most likely reason that the remote cannot be removed nor
modified is that the DL_DIR/git2 does not have permissions
compatible with the user running bitbake.

This commit fixes:
https://bugzilla.yoctoproject.org/show_bug.cgi?id=12728

(Bitbake rev: 67189588a68b9bcb39421ef12103507b4c8820c3)

Signed-off-by: Paulo Neves <ptsneves@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-10-10 13:26:25 +01:00
Anuj Mittal
2974054b45 initramfs-framework/udev: call settle before kill
When mount command is executed in rootfs module of initrd, eudev creates
a loop0 device node, applies rules and adds a inotify watch to it. Right
after this step, we execute finish which first tries to kill any running
udevd daemon before doing a switch_root.

In some cases, it is possible that switch_root is executed before
inotify_add_watch was actually processed which would lead to errors like:

| inotify_add_watch(6, /dev/loop0, 10) failed: No such file or directory

Make sure that we process all the events in queue before actually trying
to kill udevd to prevent this race.

Fixes [YOCTO #12861]

(From OE-Core rev: a85c34d263fcf1542bbedcaf1634302466bb20cf)

(From OE-Core rev: 196659ca05623996e2b36f7b1e52195a81fd3bdd)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-10-10 13:26:25 +01:00
Armin Kuster
242829e5b6 libcroco: CVE-2017-7961
* CVE-2017-7961
The cr_tknzr_parse_rgb function in cr-tknzr.c in libcroco has an
"outside the range of representable values of type long" undefined
behavior issue, which might allow remote attackers to cause a denial
of service (application crash) or possibly have unspecified other
impact via a crafted CSS file.

CVE: CVE-2017-7961
Ref: https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2017-7961
(From OE-Core rev: 9b321cf141c3fa18d5b85f17ffe1710f4555ca49)

Signed-off-by: Sinan Kaya <okaya@kernel.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-10-10 13:26:25 +01:00
Sinan Kaya
c8a29e6c81 gnupg: CVE-2018-9234
* CVE-2018-9234
GnuPG 2.2.4 and 2.2.5 does not enforce a configuration in which key
certification requires an offline master Certify key, which results
in apparently valid certifications that occurred only with access to
a signing subkey.

Affects gnupg <= 2.2.5

CVE: CVE-2018-9234
Ref: https://access.redhat.com/security/cve/cve-2018-9234
(From OE-Core rev: af920831ed1ef607db195372f135cc56e9f53b41)

Signed-off-by: Sinan Kaya <okaya@kernel.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-10-10 13:26:25 +01:00
Anuj Mittal
5315ebeded qemux86-directdisk: remove mem= parameter
Remove usage of a specific amount of memory and let it be controlled by
users. This was the default behaviour before it was changed by commit
3b79d9a78 that switched the wks file to be used for qemux86.

Also fixes the bitbake parsing issues seen because of memory starvation
using build appliance images.

Fixes [YOCTO #12894]

(From OE-Core rev: 18d6b668c52dc881cff7b107420e0de527eecce4)

(From OE-Core rev: a53026f03a1d07cef1d1590c689e036f3ee21026)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-10-10 13:26:25 +01:00
Ross Burton
b8a4eb8062 cmake: put cmake.m4 and toolchain file in PN
Previously cmake-dev held some files which should be in cmake.

- cmake.m4 should be in installed in cmake so it can be used out of the box
- nativesdk-specific OEToolchainConfig.cmake file used to be in cmake, but the
  change of default packaging rules move it into cmake-dev.  This recipe is the
  exception and it should be moved back.

Add the extra paths to cmake, and clear FILES for cmake-dev to ensure nothing
else slips in.

(From OE-Core rev: a6ce79b87d3db57033a3d1710cb3292366a0a8f7)

(From OE-Core rev: 5f985f02a932ebce238a6b1c644d2e3179226aab)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-10-10 13:26:25 +01:00
Chong Yi Chai
b747e9e61a mkefidisk: fix installation of kernel image
Kernel image can be 'vmlinuz' for 'bzImage' but the script is written to
support 'vmlinuz' only. When building with meta-intel on sumo branch, the
kernel image is now bzImage and the installation will fail. Add option to
install bzImage as well.

(From OE-Core rev: a702a5efdaece4197ceefec2a3b4c1e872e82f11)

Signed-off-by: Chong Yi Chai <chong.yi.chai@intel.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-10-10 13:26:25 +01:00
Andreas Müller
3acc7a6e28 libsdl2: Fix left rotated display for RaspPi/VC4/GLES2
The patch should increase performance for libsdl2 on GLES2 too.

(From OE-Core rev: 52f9659f2bb44affec2f67935df01f13b6ff3e02)

(From OE-Core rev: 80b6a08f55e322bfc41f69476509dc5a62ada83f)

Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-10-10 13:26:25 +01:00
Ross Burton
5b544a3bce security_flags: disable static PIE in glibc
Static PIE doesn't work entirely right in GCC 7, for example ldconfig on ARM
with the flags enabled will something segfault during initialisation.

To mitigate this until we have GCC 8 integrated, don't enable static PIE.

(From OE-Core rev: 502de6f5db232a104eb269782a690f52fd665ef4)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-10-10 13:26:25 +01:00
Richard Purdie
04810e606c bitbake: main: Fix environment handling for UI module imports
The environment was being cleared before the UI imports occurred which
caused problems for graphical UIs like taskexp. The full environment was
intended to be available to UI clients and it was only meant to be cleared
for the server/cooker, so tweak the code order so this is the case.

This fixes problems reported for taskexp.

[YOCTO #12670]

(Bitbake rev: 66ac33b6888edb7077b6e94a4d3d1e1d1d53c0c5)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-10-10 13:21:55 +01:00
Awais Belal
161eaa28ed bitbake: toaster: Fix bitbake flexible path error from Bugzilla #12891
Commit 15340edce23e63b060c75114d508e1f76757239c introduced a way which
allowed bitbake to be found from the PATH variable when directory
structures different from poky are used. This just drops a leftover
bitbake definition which made the earlier implementation meaningless
by reassigning the path relative to oe-core/meta.

[YOCTO #12942]

(Bitbake rev: 99321236c516277c9d423b1b355bbce1245d9923)

Signed-off-by: Awais Belal <awais_belal@mentor.com>
Signed-off-by: David Reyna <David.Reyna@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-10-04 14:57:25 +01:00
Zheng Ruoqin
3b8dc3a88e glibc: fix CVE-2018-11237
glibc: fix CVE-2018-11237

(From OE-Core rev: b9b254da08c1db94ac9ded5f67d7e2e82e3b9be7)

(From OE-Core rev: 361c40d4bea101875747eac9c8cc46e92ced173f)

Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-27 12:17:46 +01:00
Sinan Kaya
a36165011e sqlite3: CVE-2018-8740
* CVE-2018-8740
In SQLite through 3.22.0, databases whose schema is corrupted
using a CREATE TABLE AS statement could cause a NULL pointer dereference,
related to build.c and prepare.c.

Affects sqlite3 <= 3.22.0

CVE: CVE-2018-8740
Ref: https://access.redhat.com/security/cve/cve-2018-8740
(From OE-Core rev: 0469c075d904026ec37214fb39397bb1cb07ab43)

Signed-off-by: Sinan Kaya <okaya@kernel.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-27 12:17:46 +01:00
Sinan Kaya
b77082e38f libpng: CVE-2018-13785
* CVE-2018-13785
In libpng 1.6.34, a wrong calculation of row_factor in the
png_check_chunk_length function (pngrutil.c) may trigger an
integer overflow and resultant divide-by-zero while processing
a crafted PNG file, leading to a denial of service.

(cherry picked from 8a05766cb74af05c04c53e6c9d60c13fc4d59bf2)

Affects libpng <= 1.6.34

CVE: CVE-2018-13785
Ref: https://access.redhat.com/security/cve/cve-2018-13785
(From OE-Core rev: 4cc1862695c6899b61e3900216376c1b2f338a19)

Signed-off-by: Sinan Kaya <okaya@kernel.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-27 12:17:46 +01:00
Sinan Kaya
d39e43f17f busybox: CVE-2017-15874
* CVE-2017-15874
busybox: Integer underflow in archival/libarchive/decompress_unlzma.c

(cherry picked from 9ac42c500586fa5f10a1f6d22c3f797df11b1f6b)

Affects busybox <= 1.27.2

CVE: CVE-2017-15874
Ref: https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2017-15874
(From OE-Core rev: c35a0355a3561cd17703ece3a66c3389ceb224bf)

Signed-off-by: Sinan Kaya <okaya@kernel.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-27 12:17:46 +01:00
Konstantin Shemyak
af42d0cae4 cve-check.bbclass: do not download the CVE DB in package-specific tasks
Disable downloading of the vulnerability DB in do_check_cves() task.

When invoked in this task, cve-check-tool attempts re-download of the CVE DB
if the latter is older than certain threshold. While reasonable for a
stand-alone CVE checker, this behavior can cause errors in parallel builds
if the build time is longer than this threshold:
* Other tasks might be using the DB.
* Several packages can start the download of the same file at the same time.

This check is not really needed, as the DB has been downloaded by
cve_check_tool:do_populate_cve_db() which is a prerequisite of any do_build().
The DB will be at most (threshold + build_time) old.

(From OE-Core rev: 125789b6ee6d47ab84192230f63971c4e22418ba)

(From OE-Core rev: 2f84939b0e17dfba1fc43bf053871ea930d9a04c)

Signed-off-by: Konstantin Shemyak <konstantin.shemyak@ge.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-27 12:17:46 +01:00
Jon Szymaniak
ac94652d02 cve-check.bbclass: detect CVE IDs listed on multiple lines
Some backported patches fix multiple CVEs and list the corresponding
identifiers on multiple lines, rather than on a single line.

cve-check.bbclass yields false positive warnings when CVE IDs are
presented on multiple lines because re.search() returns only
the first match.

An example of this behavior may be found when running do_cve_check() on
the wpa-supplicant recipe while in the rocko branch. Only CVE-2017-13077
is reported to be patched by commit de57fd8, despite the patch including
fixes for a total of 9 CVEs.

This is resolved by iterating over all regular expression matches,
rather than just the first.

(From OE-Core rev: 8fb70ce2df66fc8404395ecbe66a75d0038f22dd)

(From OE-Core rev: 1c6ae927ca8acc1e5f362b1424b2c6a5da1e8be9)

Signed-off-by: Jon Szymaniak <jon.szymaniak.foss@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-27 12:17:46 +01:00
Changqing Li
2d1aef0b0d apr-util: fix ptest fail problem
Test suite test_dbm failed after gdbm upgrtade to 13.1,
from 13.1, return value of some function are changed.

* gdbm_fetch, gdbm_firstkey, and gdbm_nextkey behavior

If the requested key was not found, these functions return datum with
dptr pointing to NULL and set gdbm_errno to GDBM_ITEM_NOT_FOUND (in
prior releases, gdbm_errno was set to GDBM_NO_ERROR),

(From OE-Core rev: 0952c190fc6aec333676ce3883e8232fa8595551)

(From OE-Core rev: a8cb9b68e91db42a17bfb54591e3ea91565f9241)

Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-27 12:17:46 +01:00
Ross Burton
38a3d3c3b7 lrzsz: fix CVE-2018-10195
"Integer overflow in src/zm.c:zsdata() causes crash in sz and can leak
information to receiver."

Take a patch from Fedora to resolve CVE-2018-10195.

(From OE-Core rev: a7b50fcee9a295de57f743fa3637905992da722e)

(From OE-Core rev: 0a1ff2a8df4a4033b23ce1513ec02711005d6883)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-27 12:17:46 +01:00
Bruce Ashfield
18f68b48bb linux-yocto/4.14: update to v4.14.67
Integrating the korg -stable updates that comprise the following commits:

   f4c88459f7c9 Linux 4.14.67
   ef3cf941e0df reiserfs: fix broken xattr handling (heap corruption, bad retval)
   82c6d4994ba8 i2c: imx: Fix race condition in dma read
   415a02d8b65a i2c: core: ACPI: Properly set status byte to 0 for multi-byte writes
   b5b7417ed9d6 PCI: pciehp: Fix unprotected list iteration in IRQ handler
   2f27dfad05ef PCI: pciehp: Fix use-after-free on unplug
   8af37982c3b2 PCI: Skip MPS logic for Virtual Functions (VFs)
   cf9c2bc5eea0 PCI: hotplug: Don't leak pci_slot on registration failure
   6541d98d114e parisc: Remove unnecessary barriers from spinlock.h
   3f59cf41fbfb net/smc: no shutdown in state SMC_LISTEN
   9e9f27e0d7ac packet: refine ring v3 block size test to hold one frame
   c764f22b2fc3 netfilter: conntrack: dccp: treat SYNC/SYNCACK as invalid if no prior state
   caf3d4bd62cc xfrm_user: prevent leaking 2 bytes of kernel memory
   fdb441da3858 parisc: Remove ordered stores from syscall.S
   deebf1d61e70 f2fs: sanity check for total valid node blocks
   2ab95e71c8a5 f2fs: return error during fill_super
   270d5d771917 KVM: irqfd: fix race between EPOLLHUP and irq_bypass_register_consumer
   7a12f4ed07a5 nvme: fix handling of metadata_len for NVME_IOCTL_IO_CMD
   0ee106583f9c ARM: dts: imx6: RDU2: fix irq type for mv88e6xxx switch
   119970f4775b ACPI / EC: Use ec_no_wakeup on more Thinkpad X1 Carbon 6th systems
   715f5f92aabf soc: imx: gpc: restrict register range for regmap access
   90e7d66508e3 tcp: identify cryptic messages as TCP seq # bugs
   e86aaeb8a630 net: qca_spi: Fix log level if probe fails
   7f117d7000ee net: qca_spi: Make sure the QCA7000 reset is triggered
   f600a10d05da net: qca_spi: Avoid packet drop during initial sync
   96dfb7652e17 PCI: versatile: Fix I/O space page leak
   0e66392d985c PCI: OF: Fix I/O space page leak
   114a5608cde4 kvmclock: fix TSC calibration for nested guests
   1b1968d8f6ae net: usb: rtl8150: demote allmulti message to dev_dbg()
   70cc6b67508c octeon_mgmt: Fix MIX registers configuration on MTU setup
   fc9caa36d80e btrfs: scrub: Don't use inode page cache in scrub_handle_errored_block()
   2daadcdc5827 ibmvnic: Fix error recovery on login failure
   a6c35a5c8750 net/ethernet/freescale/fman: fix cross-build error
   7b4ab0e6510b hv/netvsc: fix handling of fallback to single queue mode
   dcedabcab045 drm/nouveau/gem: off by one bugs in nouveau_gem_pushbuf_reloc_apply()
   b6fadd93ad96 pinctrl: nsp: Fix potential NULL dereference
   54046f1793c7 pinctrl: nsp: off by ones in nsp_pinmux_enable()
   87011fb97fe5 pinctrl: ingenic: Fix inverted direction for < JZ4770
   2d2eacd650c6 tcp: remove DELAYED ACK events in DCTCP
   bf106eaa181c qlogic: check kstrtoul() for errors
   75425326b88c packet: reset network header if packet shorter than ll reserved space
   edf81993dc29 kbuild: suppress warnings from 'getconf LFS_*'
   abf9fb6e1537 tools: build: Use HOSTLDFLAGS with fixdep
   bd43d233acaa ixgbe: Be more careful when modifying MAC filters
   95b08af40269 ARM: dts: am3517.dtsi: Disable reference to OMAP3 OTG controller
   e77c08b7c6f0 ARM: DRA7/OMAP5: Enable ACTLR[0] (Enable invalidates of BTB) for secondary cores
   b900c624d467 ARM: 8780/1: ftrace: Only set kernel memory back to read-only after boot
   26c7588c28ca RDMA/mlx5: Fix memory leak in mlx5_ib_create_srq() error path
   a6629efeef9d nfit: fix unchecked dereference in acpi_nfit_ctl
   953c9cddc999 perf script python: Fix dict reference counting
   d1d2e7d014d2 perf tools: Fix compilation errors on gcc8
   42a061a16675 perf llvm-utils: Remove bashism from kernel include fetch script
   e238b259b774 scsi: qedi: Send driver state to MFW
   a38adc3e104b scsi: qedf: Send the driver state to MFW
   fdf578210a0e bnxt_en: Fix for system hang if request_irq fails
   cab718feb18f bnxt_en: Always set output parameters in bnxt_get_max_rings().
   822bbc4c7966 bnxt_en: Fix inconsistent BNXT_FLAG_AGG_RINGS logic.
   09af6c90819d ARC: Improve cmpxchg syscall implementation
   e653e79ace50 netfilter: nf_conntrack: Fix possible possible crash on module loading.
   a76e62b50dc0 netfilter: nft_compat: explicitly reject ERROR and standard target
   afd13311ee01 drm/armada: fix irq handling
   3d211fefdd52 drm/armada: fix colorkey mode property
   f2cbde943d97 drm/tegra: Fix comparison operator for buffer size
   d3f205d2d3cd gpu: host1x: Check whether size of unpin isn't 0
   1b57c5876c08 ieee802154: fakelb: switch from BUG_ON() to WARN_ON() on problem
   c1f84e47ec26 ieee802154: at86rf230: use __func__ macro for debug messages
   68e70bc28d53 ieee802154: at86rf230: switch from BUG_ON() to WARN_ON() on problem
   1b8f1ab088ba nvmem: Don't let a NULL cell_id for nvmem_cell_get() crash us
   de9f2452b1ad net/sched: act_tunnel_key: fix NULL dereference when 'goto chain' is used
   431f0995a5e8 ARM: pxa: irq: fix handling of ICMR registers in suspend/resume
   924d13694a13 ravb: fix invalid context bug while changing link options by ethtool
   1465aba3428d ravb: fix invalid context bug while calling auto-negotiation by ethtool
   7947dc71b9de sh_eth: fix invalid context bug while changing link options by ethtool
   533b9559ff83 sh_eth: fix invalid context bug while calling auto-negotiation by ethtool
   5860ae76e018 net: qrtr: Broadcast messages only from control port
   8e39e96f23d8 ipv6: make ipv6_renew_options() interrupt/kernel safe
   365279b70bf3 netfilter: x_tables: set module owner for icmp(6) matches
   2d0da2188643 ieee802154: 6lowpan: set IFLA_LINK
   f599525df7f1 samples/bpf: Check the error of write() and read()
   3bbb0484a731 samples/bpf: Check the result of system()
   2b533daef882 samples/bpf: add missing <linux/if_vlan.h>
   bf030b2faacb drm/bridge/sii8620: Fix display of packed pixel modes
   5996929435a8 smsc75xx: Add workaround for gigabit link up hardware errata.
   6e7084e2c3f9 kasan: fix shadow_size calculation error in kasan_module_alloc
   017fe62bb794 tracing: Use __printf markup to silence compiler
   56f059c87bc6 bpf: hash map: decrement counter on error
   fa97c9162779 ARM: imx_v4_v5_defconfig: Select ULPI support
   2059e527a659 ARM: imx_v6_v7_defconfig: Select ULPI support
   2aebd462a5fd HID: wacom: Correct touch maximum XY of 2nd-gen Intuos
   979c7c0dd75d x86/mm/32: Initialize the CR4 shadow before __flush_tlb_all()
   bf6c97326381 drm/amdgpu: fix swapped emit_ib_size in vce3
   f3ef33ee85c1 ipvlan: call dev_change_flags when ipvlan mode is reset
   0bcba95686be objtool: Support GCC 8 '-fnoreorder-functions'
   e793dc3d9766 m68k: fix "bad page state" oops on ColdFire boot
   83141913ca6b openrisc: entry: Fix delay slot exception detection
   c845344aa2e2 acpi/nfit: fix cmd_rc for acpi_nfit_ctl to always return a value
   f06fae164194 dpaa_eth: DPAA SGT needs to be 256B
   fba7c43d9368 fsl/fman: fix parser reporting bad checksum on short frames
   3baa3f9221e2 bnx2x: Fix receiving tx-timeout in error or recovery state.
   441712f28d69 PCI: faraday: Add missing of_node_put()
   7851cea48abc PCI: xilinx-nwl: Add missing of_node_put()
   dfcee0c7d9cb PCI: xilinx: Add missing of_node_put()
   a21b37053edc bpf, s390: fix potential memleak when later bpf_jit_prog fails
   a567493430be drbd: Fix drbd_request_prepare() discard handling
   8a9e8b683a7c drm/exynos: decon5433: Fix WINCONx reset value
   4091040d025b drm/exynos: decon5433: Fix per-plane global alpha for XRGB modes
   49316955f501 drm/exynos: gsc: Fix support for NV16/61, YUV420/YVU420 and YUV422 modes
   d4857eb755d7 nl80211: check nla_parse_nested() return values
   334c9cd8ba8d nl80211: relax ht operation checks for mesh
   0aa88fda693a dev-dax: check_vma: ratelimit dev_info-s
   601c226ea662 md/raid10: fix that replacement cannot complete recovery after reassemble
   94cac10c50c1 ath10k: update the phymode along with bandwidth change request
   bb2b7243e3f7 dmaengine: k3dma: Off by one in k3_of_dma_simple_xlate()
   4cea08638e9a dmaengine: pl330: report BURST residue granularity
   4c68433396e1 ARM64: dts: meson-gxl: fix Mali GPU compatible string
   58b22343150b ARM: dts: da850: Fix interrups property for gpio
   9f8da50b0232 selftests/x86/sigreturn: Do minor cleanups
   90c45a36250b selftests/x86/sigreturn/64: Fix spurious failures on AMD CPUs
   778bce908b84 nfp: cast sizeof() to int when comparing with error code
   a5b6bb86cc12 net/mlx5: E-Switch, Disallow vlan/spoofcheck setup if not being esw manager
   77c967872e8e ceph: fix dentry leak in splice_dentry()
   4c3b0ae79f07 netfilter: nf_log: fix uninit read in nf_log_proc_dostring
   1ea053d1cc8b ARM: davinci: board-da850-evm: fix WP pin polarity for MMC/SD
   0f868ad81fac perf bench: Fix numa report output code
   28dbfc731fec perf tools: Fix a clang 7.0 compilation error
   b4d84dcee9ef perf report powerpc: Fix crash if callchain is empty
   f33194bca6c3 perf test session topology: Fix test on s390
   6367516474c8 perf record: Support s390 random socket_id assignment
   2f9e98dbccf7 kconfig: fix line numbers for if-entries in menu tree
   5a64e0870cc1 typec: tcpm: Fix a msecs vs jiffies bug
   d341ce9a63dc NFC: pn533: Fix wrong GFP flag usage
   8a7ac5ee6856 usb: xhci: increase CRS timeout value
   13a049bebb76 usb: xhci: remove the code build warning
   b171162cbd94 ALSA: seq: Fix UBSAN warning at SNDRV_SEQ_IOCTL_QUERY_NEXT_CLIENT ioctl
   36bc1e1e69be ARM: dts: am437x: make edt-ft5x06 a wakeup source
   fc3b4e774cec brcmfmac: stop watchdog before detach and free everything
   dc68381f4919 iio: pressure: bmp280: fix relative humidity unit
   9265a4509509 cxgb4: when disabling dcb set txq dcb priority to 0
   04954b2dca34 batman-adv: Fix multicast TT issues with bogus ROAM flags
   44fed77fc7e4 batman-adv: Avoid storing non-TT-sync flags on singular entries too
   d50e1f18eace batman-adv: Fix bat_v best gw refcnt after netlink dump
   cc210a039ed1 batman-adv: Fix bat_ogm_iv best gw refcnt after netlink dump
   7634aad31a73 arm64: dts: msm8916: fix Coresight ETF graph connections
   4545cfb006b7 Smack: Mark inode instant in smack_task_to_inode
   f8e7a1bd752a ipv6: mcast: fix unsolicited report interval after receiving querys
   b580cead624b x86/microcode/intel: Fix memleak in save_microcode_patch()
   99654c9ffcea mtd: dataflash: Use ULL suffix for 64-bit constants
   a17ea7fb07ac selftests: bpf: notification about privilege required to run test_kmod.sh testing script
   c55300fcac1c locking/lockdep: Do not record IRQ state within lockdep code
   097a82cb1a71 drm/bridge/sii8620: fix display of packed pixel modes in MHL2
   7a21294b84fa KVM: arm/arm64: Drop resource size check for GICV window
   8fb20507bca0 sctp: fix erroneous inc of snmp SctpFragUsrMsgs
   363b8de31ac9 net: davinci_emac: match the mdio device against its compatible if possible
   9b0b625841d8 nbd: Add the nbd NBD_DISCONNECT_ON_CLOSE config flag.
   fbeb2ee3ecca ARC: Enable machine_desc->init_per_cpu for !CONFIG_SMP
   6d2b87505f7a block: sed-opal: Fix a couple off by one bugs
   955887c1fe90 nvmet: reset keep alive timer in controller enable
   62e4c9049e86 net: stmmac: socfpga: add additional ocp reset line for Stratix10
   e0eaae387284 net: propagate dev_get_valid_name return code
   7c828ea375a1 net: hamradio: use eth_broadcast_addr
   fb24c6df0f8e enic: initialize enic->rfs_h.lock in enic_probe
   9418ea8cf216 qed: Do not advertise DCBX_LLD_MANAGED capability.
   3b29b09a53ab qed: Add sanity check for SIMD fastpath handler.
   26c6ffff8eec qed: Fix possible memory leak in Rx error path handling.
   d22240dd6ab3 arm64: make secondary_start_kernel() notrace
   a929f067a88f arm64: dma-mapping: clear buffers allocated with FORCE_CONTIGUOUS flag
   2e62d135dd53 xen/scsiback: add error handling for xenbus_printf
   91e1bb748bcc scsi: xen-scsifront: add error handling for xenbus_printf
   586ae5694e37 pNFS: Always free the session slot on error in nfs4_layoutget_handle_exception
   395c67c1c02d xen: add error handling for xenbus_printf
   72bc7a2f77ba dwc2: gadget: Fix ISOC IN DDMA PID bitfield value calculation
   6958ade76b36 usb: gadget: dwc2: fix memory leak in gadget_init()
   66cae9b5a1d9 usb: gadget: composite: fix delayed_status race condition when set_interface
   a54f59199a81 usb: dwc2: fix isoc split in transfer with no data
   6a38c8a49a9f usb: dwc2: alloc dma aligned buffer for isoc split in
   7ccd2c1be366 libahci: Fix possible Spectre-v1 pmp indexing in ahci_led_store()
   ed4afe79ba5a IB/rxe: Fix missing completion for mem_reg work requests
   6bcd5cdf3a36 drm/arm/malidp: Preserve LAYER_FORMAT contents when setting format
   0a43cd3ea76a drm: mali-dp: Enable Global SE interrupts mask for DP500
   997a6b6b3017 drivers/perf: xgene_pmu: Fix IOB SLOW PMU parser error
   fec2c747ae39 arm64: dts: Stingray: Fix I2C controller interrupt type
   22dc4f2b8b46 arm64: dts: ns2: Fix PCIe controller interrupt type
   db0b1a4b0772 arm64: dts: ns2: Fix I2C controller interrupt type
   69347a9150c9 arm64: dts: specify 1.8V EMMC capabilities for bcm958742t
   31b16a0302be arm64: dts: specify 1.8V EMMC capabilities for bcm958742k
   eab85e8bd486 ARM: dts: Cygnus: Fix PCIe controller interrupt type
   6542fcfbd4c5 ARM: dts: Cygnus: Fix I2C controller interrupt type
   2d4ac6f1837b ARM: dts: BCM5301x: Fix i2c controller interrupt type
   d8ff67605d54 ARM: dts: NSP: Fix PCIe controllers interrupt types
   7ab23e15c7d2 ARM: dts: NSP: Fix i2c controller interrupt type
   0104d49dc06f selftests: sync: add config fragment for testing sync framework
   a626c95346e1 selftests: vm: return Kselftest Skip code for skipped tests
   3a9907ebf83b selftests: zram: return Kselftest Skip code for skipped tests
   41325fa657b9 selftests: user: return Kselftest Skip code for skipped tests
   d5f9d1d350bc selftests: sysctl: return Kselftest Skip code for skipped tests
   bc5e458a9ee2 selftests: static_keys: return Kselftest Skip code for skipped tests
   81810e45384b selftests: pstore: return Kselftest Skip code for skipped tests
   175b38277b6d netfilter: nf_ct_helper: Fix possible panic after nf_conntrack_helper_unregister
   69c471908ddd netfilter: ipv6: nf_defrag: reduce struct net memory waste
   dcf6f268deee ACPI / EC: Use ec_no_wakeup on Thinkpad X1 Carbon 6th
   987a7dab8308 usb: dwc3: of-simple: fix use-after-free on remove
   7b2dc4515f03 usb: dwc2: gadget: Fix issue in dwc2_gadget_start_isoc()
   3572fd055e69 usb: gadget: ffs: Fix BUG when userland exits with submitted AIO transfers
   48168383379f usb: dwc3: pci: add support for Intel IceLake
   bf3bb8b549da soc: imx: gpcv2: correct PGC offset
   4dff89e722d5 hwmon: (nct6775) Fix loop limit
   c0f29f9d8aa8 ARC: Explicitly add -mmedium-calls to CFLAGS
   c170373c7230 drm/bridge/sii8620: fix potential buffer overflow
   69004038f01c drm/bridge/sii8620: fix loops in EDID fetch logic
   da327a4b9d09 IB/mlx4: Fix an error handling path in 'mlx4_ib_rereg_user_mr()'
   048f62f3725d Input: synaptics-rmi4 - fix axis-swap behavior
   d4108ed2a57f perf tools: Fix error index for pmu event parser
   7dcffd98360a vfio: ccw: fix error return in vfio_ccw_sch_event
   67c0f84827e1 arm: dts: armada: Fix "#cooling-cells" property's name
   4aec7c283904 pty: fix O_CLOEXEC for TIOCGPTPEER
   96de65df1936 EDAC: Add missing MEM_LRDDR4 entry in edac_mem_types[]
   b518e870f1f6 drm/i915/kvmgt: Fix potential Spectre v1
   4bc32484df6a ext4: fix spectre gadget in ext4_mb_regular_allocator()
   c5f7d3c4daf1 Linux 4.14.66
   178742867e4f cls_matchall: fix tcf_unbind_filter missing
   2b2cdec98e03 isdn: Disable IIOCDBGVAR
   f276e2efb661 Bluetooth: avoid killing an already killed socket
   31e4f8ba0173 misc: sram: fix resource leaks in probe error path
   3620bc1ceb14 serial: 8250_dw: Add ACPI support for uart on Broadcom SoC
   f6790793d80d serial: 8250_dw: always set baud rate in dw8250_set_termios
   da93a03fdd0a serial: 8250_exar: Read INT0 from slave device, too
   71cc9159212b tty: serial: 8250: Revert NXP SC16C2552 workaround
   21be9327e00c ACPI / PM: save NVS memory for ASUS 1025C laptop
   60d93a4b6d32 USB: option: add support for DW5821e
   925bce3815d8 USB: serial: pl2303: add a new device id for ATEN
   d17b9ab7d954 USB: serial: sierra: fix potential deadlock at close
   33a3444a096a ALSA: vxpocket: Fix invalid endian conversions
   79018e171ae5 ALSA: memalloc: Don't exceed over the requested size
   fda20e719212 ALSA: hda: Correct Asrock B85M-ITX power_save blacklist entry
   6b4af40779cc ALSA: cs5535audio: Fix invalid endian conversion
   f4253b46437a ALSA: virmidi: Fix too long output trigger loop
   f13a825ae2c6 ALSA: vx222: Fix invalid endian conversions
   f7de68a8d6cd ALSA: hda - Turn CX8200 into D3 as well upon reboot
   7f4c155214ae ALSA: hda - Sleep for 10ms after entering D3 on Conexant codecs
   50670d158cfa net: aquantia: Fix IFF_ALLMULTI flag functionality
   b3fb93987232 ip6_tunnel: use the right value for ipv4 min mtu check in ip6_tnl_xmit
   59f9f2c76fe1 vhost: reset metadata cache when initializing new IOTLB
   e125b1cc673a net_sched: Fix missing res info when create new tc_index filter
   36e55fde4ccf vsock: split dwork to avoid reinitializations
   4396f5024b9e net_sched: fix NULL pointer dereference when delete tcindex filter
   222e05e0a29a llc: use refcount_inc_not_zero() for llc_sap_find()
   46be8e4471d7 l2tp: use sk_dst_check() to avoid race on sk->sk_dst_cache
   64d9b03d082a dccp: fix undefined behavior with 'cwnd' shift in ccid2_cwnd_restart()
   4cea13b66144 Linux 4.14.65
   3f2e4f5dd834 x86/speculation/l1tf: Exempt zeroed PTEs from inversion
   7251bd56d925 Linux 4.14.64
   21ed56ef827e x86/mm: Add TLB purge to free pmd/pte page interfaces
   a34806961be4 ioremap: Update pgtable free interfaces with addr
   6e2c702e797c Bluetooth: hidp: buffer overflow in hidp_process_report
   9efed51870be ASoC: Intel: cht_bsw_max98090_ti: Fix jack initialization
   643a9d6d4ff7 ASoC: msm8916-wcd-digital: fix RX2 MIX1 and RX3 MIX1
   1a2d99218d87 block, bfq: fix wrong init of saved start time for weight raising
   3f745fe61ac6 clk: sunxi-ng: Fix missing CLK_SET_RATE_PARENT in ccu-sun4i-a10.c
   c13fddcb9822 ASoC: rsnd: fix ADG flags
   de59521d508a fw_cfg: fix driver remove
   13f12749af15 sched/debug: Fix task state recording/printout
   e5f4bae2e3c8 ACPI / APEI: Remove ghes_ioremap_area
   7e179bffb681 crypto: skcipher - fix crash flushing dcache in error path
   0f2981ee03ff crypto: skcipher - fix aligning block size in skcipher_copy_iv()
   68432fd1665b crypto: ablkcipher - fix crash flushing dcache in error path
   2cde72d94f0a crypto: blkcipher - fix crash flushing dcache in error path
   e7aefb13e61c crypto: vmac - separate tfm and request context
   ef70d14553ed crypto: vmac - require a block cipher with 128-bit block size
   e73828389b1c crypto: x86/sha256-mb - fix digest copy in sha256_mb_mgr_get_comp_job_avx2()
   50123ab8c47d kbuild: verify that $DEPMOD is installed
   3d0170b8af8d x86/mm: Disable ioremap free page handling on x86-PAE
   7985292f97b4 x86: i8259: Add missing include file
   5f7a645432d6 x86/l1tf: Fix build error seen if CONFIG_KVM_INTEL is disabled

(From OE-Core rev: 304fa05177b638c6a591d2cd03d397beb8e1dc35)

(From OE-Core rev: 42660b3817396c24d1ecac02339f4d9ae6b146b5)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[Fixup for Sumo context]
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-27 12:17:46 +01:00
Bruce Ashfield
48aa77ab5a linux-yocto/4.14: update to v4.14.62
Integratign the korg -stable updates that comprise the following
commits:

   1aa1166eface Linux 4.14.62
   7d29fb53439c jfs: Fix inconsistency between memory allocation and ea_buf->max_size
   59f35b983e8a xfs: don't call xfs_da_shrink_inode with NULL bp
   6f021e4ef39a xfs: validate cached inodes are free when allocated
   27c41b170183 xfs: catch inode allocation state mismatch corruption
   a34399927da1 intel_idle: Graceful probe failure when MWAIT is disabled
   d626ac9669f2 nvmet-fc: fix target sgl list on large transfers
   4af9c61ad953 nvme-pci: Fix queue double allocations
   12c058df8272 nvme-pci: allocate device queues storage space at probe
   0ea7fcfc7fe6 Btrfs: fix file data corruption after cloning a range and fsync
   ea464580fef7 i2c: imx: Fix reinit_completion() use
   60baabc37bc1 ring_buffer: tracing: Inherit the tracing setting to next ring buffer
   ff28e5cc58c2 ACPI / PCI: Bail early in acpi_pci_add_bus() if there is no ACPI handle
   dd69abaccbf7 ext4: fix false negatives *and* false positives in ext4_check_descriptors()
   09901e570c9e netlink: Don't shift on 64 for ngroups
   2d898915ccf4 nohz: Fix missing tick reprogram when interrupting an inline softirq
   e5bcbedadfd9 nohz: Fix local_timer_softirq_pending()
   a6d9dacf4e44 genirq: Make force irq threading setup more robust
   a96feef5b071 scsi: qla2xxx: Return error when TMF returns
   f70766f1338d scsi: qla2xxx: Fix ISP recovery on unload
   01cda405c88b scsi: qla2xxx: Fix NPIV deletion by calling wait_for_sess_deletion
   43d7c954b22e scsi: qla2xxx: Fix unintialized List head crash
   2ae6c0413b47 Linux 4.14.61
   b4653a3ea3d7 scsi: sg: fix minor memory leak in error path
   1a08888316d2 drm/vc4: Reset ->{x, y}_scaling[1] when dealing with uniplanar formats
   51ef850c78bb crypto: padlock-aes - Fix Nano workaround data corruption
   65be9cbe1224 RDMA/uverbs: Expand primary and alt AV port checks
   4aa0acf29064 iwlwifi: add more card IDs for 9000 series
   0eba9f5d3d48 userfaultfd: remove uffd flags from vma->vm_flags if UFFD_EVENT_FORK fails
   a1b5bcffe4a4 audit: fix potential null dereference 'context->module.name'
   e5a16c6a6707 kvm: x86: vmx: fix vpid leak
   c1a29c2d00c6 x86/entry/64: Remove %ebx handling from error_entry/exit
   7cf6b325f554 x86/apic: Future-proof the TSC_DEADLINE quirk for SKX
   34a938cd3ad4 virtio_balloon: fix another race between migration and ballooning
   45c8178cf69e net: socket: fix potential spectre v1 gadget in socketcall
   c8159f9a1ae9 can: ems_usb: Fix memory leak on ems_usb_disconnect()
   e7de67165efe squashfs: more metadata hardenings
   953f918d548b squashfs: more metadata hardening
   a766ccbf1d29 net/mlx5e: E-Switch, Initialize eswitch only if eswitch manager
   e0638b6a054c rxrpc: Fix user call ID check in rxrpc_service_prealloc_one
   83a46456c983 net: stmmac: Fix WoL for PCI-based setups
   1828cb3d10d9 netlink: Fix spectre v1 gadget in netlink_create()
   bcbdea137159 net: dsa: Do not suspend/resume closed slave_dev
   8721f3608945 ipv4: frags: handle possible skb truesize change
   fc63057d5fda inet: frag: enforce memory limits earlier
   dc8edd08cd89 bonding: avoid lockdep confusion in bond_get_stats()
   deaacd62c217 Linux 4.14.60
   0a2f6725115d tcp: add one more quick ack after after ECN events
   1f04d750f668 tcp: refactor tcp_ecn_check_ce to remove sk type cast
   fd31083cbe05 tcp: do not aggressively quick ack after ECN events
   1c005489fa98 tcp: add max_quickacks param to tcp_incr_quickack and tcp_enter_quickack_mode
   5a1baf194475 tcp: do not force quickack when receiving out-of-order packets
   fffd3058eaf4 netlink: Don't shift with UB on nlk->ngroups
   e208cda5f10e netlink: Do not subscribe to non-existent groups
   da970765b24c xen-netfront: wait xenbus state change when load module manually
   7309441887f6 tcp_bbr: fix bw probing to raise in-flight data for very small BDPs
   7f36a065963a NET: stmmac: align DMA stuff to largest cache line length
   e071e2fdf45e net: mdio-mux: bcm-iproc: fix wrong getter and setter pair
   ccdbe7e2374a net: lan78xx: fix rx handling before first packet is send
   112e80ac8285 net: fix amd-xgbe flow-control issue
   11b694387ab4 net: ena: Fix use of uninitialized DMA address bits field
   1494a3a70ce0 ipv4: remove BUG_ON() from fib_compute_spec_dst
   20556dc7f239 net: dsa: qca8k: Allow overwriting CPU port setting
   2eda475b0849 net: dsa: qca8k: Add QCA8334 binding documentation
   1fbc97b32b7e net: dsa: qca8k: Enable RXMAC when bringing up a port
   62310e69f1ae net: dsa: qca8k: Force CPU port to its highest bandwidth
   a61b3378b847 RDMA/uverbs: Protect from attempts to create flows on unsupported QP
   b8e9dd160ca3 usb: gadget: udc: renesas_usb3: should remove debugfs
   6aaaca7b81e4 ovl: Sync upper dirty data when syncing overlayfs
   21b5b5e80bcf PCI: xgene: Remove leftover pci_scan_child_bus() call
   011626d61a43 PCI: pciehp: Assume NoCompl+ for Thunderbolt ports
   f547aa20b4f6 ext4: fix check to prevent initializing reserved inodes
   dc1b4b710fbe ext4: check for allocation block validity with block group locked
   cdcbe750acd6 ext4: fix inline data updates with checksums enabled
   961f9feb4332 squashfs: be more careful about metadata corruption
   af41fd042fc1 random: mix rdrand with entropy sent in from userspace
   b8088c524ae2 block: reset bi_iter.bi_done after splitting bio
   cc5d7097ba8f blkdev: __blkdev_direct_IO_simple: fix leak in error case
   2258351cf086 block: bio_iov_iter_get_pages: fix size of last iovec
   2488689fe468 drm/dp/mst: Fix off-by-one typo when dump payload table
   2aa0e652bce1 drm/atomic-helper: Drop plane->fb references only for drm_atomic_helper_shutdown()
   20f01a1b7b6d drm: Add DP PSR2 sink enable bit
   a2fdb85a15eb ASoC: topology: Add missing clock gating parameter when parsing hw_configs
   b754906cd9c9 ASoC: topology: Fix bclk and fsync inversion in set_link_hw_format()
   e1d4f1e2856e media: si470x: fix __be16 annotations
   98121d665d93 media: atomisp: compat32: fix __user annotations
   a5ed99bc6f59 scsi: cxlflash: Avoid clobbering context control register value
   bb7cccb01c84 scsi: cxlflash: Synchronize reset and remove ops
   07b2a0d00183 scsi: megaraid_sas: Increase timeout by 1 sec for non-RAID fastpath IOs
   0b45eb5a340d scsi: scsi_dh: replace too broad "TP9" string with the exact models
   fb2b60e27a16 regulator: Don't return or expect -errno from of_map_mode()
   4886bf00337f media: omap3isp: fix unbalanced dma_iommu_mapping
   09740f513e3f crypto: authenc - don't leak pointers to authenc keys
   a07fc8dd2bd4 crypto: authencesn - don't leak pointers to authenc keys
   f17d397bfed4 usb: hub: Don't wait for connect state at resume for powered-off ports
   d136b7ab24b8 microblaze: Fix simpleImage format generation
   6cfd0d3c627f soc: imx: gpcv2: Do not pass static memory as platform data
   62079c8371aa serial: core: Make sure compiler barfs for 16-byte earlycon names
   41e1f1feee06 staging: lustre: ldlm: free resource when ldlm_lock_create() fails.
   e906355a7f96 staging: lustre: llite: correct removexattr detection
   fea5a0d87816 staging: vchiq_core: Fix missing semaphore release in error case
   06d6d1ad241d audit: allow not equal op for audit by executable
   e7cb8f11f6e2 rsi: fix nommu_map_sg overflow kernel panic
   0be8aa812cef rsi: Fix 'invalid vdd' warning in mmc
   e660508795d6 ipconfig: Correctly initialise ic_nameservers
   18a48a7a4418 drm/gma500: fix psb_intel_lvds_mode_valid()'s return type
   75d1087174d2 igb: Fix queue selection on MAC filters on i210
   c7ab132d7e3d arm64: defconfig: Enable Rockchip io-domain driver
   2ee4fbcd27f9 nvme: lightnvm: add granby support
   503f22cf7b2a memory: tegra: Apply interrupts mask per SoC
   9746d3696de9 memory: tegra: Do not handle spurious interrupts
   c06f5a018f71 delayacct: Use raw_spinlocks
   da2b62c740de stop_machine: Use raw spinlocks
   4531135811a5 backlight: pwm_bl: Don't use GPIOF_* with gpiod_get_direction
   232703c9091f dt-bindings: net: meson-dwmac: new compatible name for AXG SoC
   c3b540c06954 net: hns3: Fixes the out of bounds access in hclge_map_tqp
   17b26041363f spi: meson-spicc: Fix error handling in meson_spicc_probe()
   c9e5888ec8ae dt-bindings: pinctrl: meson: add support for the Meson8m2 SoC
   d6ce4f1bf79a mmc: pwrseq: Use kmalloc_array instead of stack VLA
   f0b0debbb49d mmc: dw_mmc: update actual clock for mmc debugfs
   ab76f866c8f0 ALSA: hda/ca0132: fix build failure when a local macro is defined
   c6f9830cfb47 drm/atomic: Handling the case when setting old crtc for plane
   cf0061396910 media: siano: get rid of __le32/__le16 cast warnings
   4bbf1ce3a1e3 f2fs: avoid fsync() failure caused by EAGAIN in writepage()
   15239633dc55 bpf: fix references to free_bpf_prog_info() in comments
   b62ed0bbbd63 thermal: exynos: fix setting rising_threshold for Exynos5433
   66eb9942673a staging: lustre: o2iblnd: Fix FastReg map/unmap for MLX5
   52a21fcafa71 staging: lustre: o2iblnd: fix race at kiblnd_connect_peer
   de3da42dc775 scsi: qedf: Set the UNLOADING flag when removing a vport
   ad1562ae8135 scsi: hisi_sas: config ATA de-reset as an constrained command for v3 hw
   13e4e358b94c scsi: megaraid: silence a static checker bug
   ca588ff3e7d6 scsi: 3w-xxxx: fix a missing-check bug
   a0e86c016bb4 scsi: 3w-9xxx: fix a missing-check bug
   112f47373e36 bnxt_en: Check unsupported speeds in bnxt_update_link() on PF only.
   c9b5d1519c24 perf: fix invalid bit in diagnostic entry
   d5d8223d7c67 s390/cpum_sf: Add data entry sizes to sampling trailer entry
   af5e8846a5e9 brcmfmac: Add support for bcm43364 wireless chipset
   59d9b120600d mtd: rawnand: fsl_ifc: fix FSL NAND driver to read all ONFI parameter pages
   d49f8498042a media: saa7164: Fix driver name in debug output
   f3766ad7d325 media: media-device: fix ioctl function types
   ce222fb1256b ACPI / LPSS: Only call pwm_add_table() for Bay Trail PWM if PMIC HRV is 2
   885d2128ab7f libata: Fix command retry decision
   adf9ceabfc16 media: rcar_jpu: Add missing clk_disable_unprepare() on error in jpu_open()
   240bc678f726 net: phy: phylink: Release link GPIO
   fa57e8d54494 dma-iommu: Fix compilation when !CONFIG_IOMMU_DMA
   deb1feaad03a tty: Fix data race in tty_insert_flip_string_fixed_flag
   731b918a624c i40e: free the skb after clearing the bitlock
   6fdc5235693b nvmem: properly handle returned value nvmem_reg_read
   901366594729 ARM: dts: sh73a0: Add missing interrupt-affinity to PMU node
   9c552c4e262f ARM: dts: emev2: Add missing interrupt-affinity to PMU node
   b565e4e9dd09 ARM: dts: stih407-pinctrl: Fix complain about IRQ_TYPE_NONE usage
   d7ed9da96a8a EDAC, altera: Fix ARM64 build warning
   d0eca5d32b11 HID: i2c-hid: check if device is there before really probing
   83eef34c65f1 powerpc/embedded6xx/hlwd-pic: Prevent interrupts from being handled by Starlet
   b42848b2a819 drm/amdgpu: Remove VRAM from shared bo domains.
   14bedc05ab2d drm/radeon: fix mode_valid's return type
   3ee32f73fc72 arm64: dts: renesas: salvator-common: use audio-graph-card for Sound
   d85073283aa7 HID: hid-plantronics: Re-resend Update to map button for PTT products
   6a43d5a3ca6c arm64: cmpwait: Clear event register before arming exclusive monitor
   62a87c8759f2 media: atomisp: ov2680: don't declare unused vars
   25436aa5c184 ALSA: usb-audio: Apply rate limit to warning messages in URB complete callback
   d239ee35ddb2 net: ethernet: ti: cpsw-phy-sel: check bus_find_device() ret value
   0bd08027bd19 media: smiapp: fix timeout checking in smiapp_read_nvm
   41b16e6ec6a8 ixgbevf: fix MAC address changes through ixgbevf_set_mac()
   7627ecfc4902 md: fix NULL dereference of mddev->pers in remove_and_add_spares()
   1b3433cfa222 md/raid1: add error handling of read error from FailFast device
   6192b115c58b regulator: pfuze100: add .is_enable() for pfuze100_swb_regulator_ops
   9b56c4151ac2 ALSA: emu10k1: Rate-limit error messages about page errors
   9f25b548732c rtc: tps65910: fix possible race condition
   8f5e7596fe3a rtc: vr41xx: fix possible race condition
   aca6728fa1ed rtc: tps6586x: fix possible race condition
   192591ade6ec Bluetooth: btusb: add ID for LiteOn 04ca:301a
   33775b07426b drm/nouveau/fifo/gk104-: poll for runlist update completion
   fdb5207dc1f1 scsi: zfcp: assert that the ERP lock is held when tracing a recovery trigger
   b095b5888eab scsi: ufs: fix exception event handling
   c9f744135ad7 scsi: ufs: ufshcd: fix possible unclocked register access
   63c7e58dab1e fscrypt: use unbound workqueue for decryption
   1d6908ce90b5 net: hns3: Fix the missing client list node initialization
   625d1e783375 spi: Add missing pm_runtime_put_noidle() after failed get
   d0a963cf845c drivers/perf: arm-ccn: don't log to dmesg in event_init
   cffbdb7702ba ima: based on policy verify firmware signatures (pre-allocated buffer)
   945e6ce33d80 mwifiex: correct histogram data with appropriate index
   a30ff89c34b8 net: dsa: qca8k: Add support for QCA8334 switch
   082900a6d567 PCI: pciehp: Request control of native hotplug only if supported
   39da0cf774db bpf: powerpc64: pad function address loads with NOPs
   cf957ba7c6e8 pinctrl: at91-pio4: add missing of_node_put
   210807e92b49 powerpc/8xx: fix invalid register expression in head_8xx.S
   56a58a5395ab spi: sh-msiof: Fix setting SIRMDR1.SYNCAC to match SITMDR1.SYNCAC
   7eda31872980 powerpc: Add __printf verification to prom_printf
   566be4969b83 powerpc/powermac: Mark variable x as unused
   d26f8af1a126 powerpc/powermac: Add missing prototype for note_bootable_part()
   ee8c480702a6 powerpc/chrp/time: Make some functions static, add missing header include
   c0ff32b7e852 powerpc/32: Add a missing include header
   935674605cf8 ath: Add regulatory mapping for Bahamas
   936058197fbb ath: Add regulatory mapping for Bermuda
   c4b93c91bb63 ath: Add regulatory mapping for Serbia
   aafbcce424ec ath: Add regulatory mapping for Tanzania
   5e895c9cb8ca ath: Add regulatory mapping for Uganda
   3c51226005d9 ath: Add regulatory mapping for APL2_FCCA
   cdd106451c6a ath: Add regulatory mapping for APL13_WORLD
   f198926d6a40 ath: Add regulatory mapping for ETSI8_WORLD
   be1c9763cbc7 ath: Add regulatory mapping for FCC3_ETSIC
   1afb8720b694 nvme-pci: Fix AER reset handling
   4bb1acf80c7f nvme-rdma: stop admin queue before freeing it
   2040b0d8c9c0 PCI: Prevent sysfs disable of device while driver is attached
   d93663a78783 PM / wakeup: Make s2idle_lock a RAW_SPINLOCK
   652b94b72696 x86/microcode: Make the late update update_lock a raw lock for RT
   2737a4adec5a btrfs: qgroup: Finish rescan when hit the last leaf of extent tree
   31371d2dad49 btrfs: add barriers to btrfs_sync_log before log_commit_wait wakeups
   3bf165384e82 Btrfs: don't BUG_ON() in btrfs_truncate_inode_items()
   ef61d940cd96 Btrfs: don't return ino to ino cache if inode item removal fails
   9aecdc961e6a media: videobuf2-core: don't call memop 'finish' when queueing
   b7ffc03574f8 media: tw686x: Fix incorrect vb2_mem_ops GFP flags
   1a95962bf210 net: hns3: Fixes the init of the VALID BD info in the descriptor
   6f8688bf299b wlcore: sdio: check for valid platform device data before suspend
   852feed35dcd mwifiex: handle race during mwifiex_usb_disconnect
   6648fdc71138 mfd: cros_ec: Fail early if we cannot identify the EC
   3d4837733945 ASoC: dpcm: fix BE dai not hw_free and shutdown
   5650a9be9635 Bluetooth: btusb: Add a new Realtek 8723DE ID 2ff8:b011
   678e64c63217 Bluetooth: hci_qca: Fix "Sleep inside atomic section" warning
   73425f6ad6eb iwlwifi: pcie: fix race in Rx buffer allocator
   59b837d5927c btrfs: balance dirty metadata pages in btrfs_finish_ordered_io
   233cba023484 PCI: Fix devm_pci_alloc_host_bridge() memory leak
   f559bb20c1ae selftests: intel_pstate: return Kselftest Skip code for skipped tests
   4312c2df0b7b selftests: memfd: return Kselftest Skip code for skipped tests
   9c8f3af66282 selftests/intel_pstate: Improve test, minor fixes
   596a9bfe8190 perf/x86/intel/uncore: Correct fixed counter index check for NHM
   71b1bf6e9753 perf/x86/intel/uncore: Correct fixed counter index check in generic code
   38c8c0a9709d usbip: dynamically allocate idev by nports found in sysfs
   bc30588b8e08 usbip: usbip_detach: Fix memory, udev context and udev leak
   63019044fb89 block, bfq: remove wrong lock in bfq_requests_merged
   67226fb52c23 f2fs: fix race in between GC and atomic open
   ad8d61efc9b7 f2fs: fix to detect failure of dquot_initialize
   c92d09e35d2d f2fs: Fix deadlock in shutdown ioctl
   4f979af7b0ad f2fs: fix to wait page writeback during revoking atomic write
   de13b2ac741f f2fs: fix to don't trigger writeback during recovery
   f3f029197738 f2fs: fix error path of move_data_page
   122031c29202 disable loading f2fs module on PAGE_SIZE > 4KB
   1339e2b8eaea pnfs: Don't release the sequence slot until we've processed layoutget on open
   20fc8b34c195 netfilter: nf_tables: check msg_type before nft_trans_set(trans)
   4f5fd8a1ae16 lightnvm: pblk: warn in case of corrupted write buffer
   929e1a3906e1 RDMA/mad: Convert BUG_ONs to error flows
   a23e1da9773b powerpc/64s: Fix compiler store ordering to SLB shadow area
   0aceed2d7ec1 hvc_opal: don't set tb_ticks_per_usec in udbg_init_opal_common()
   bc0b4615cc97 powerpc/eeh: Fix use-after-release of EEH driver
   04cda3ac3312 powerpc/64s: Add barrier_nospec
   47b356145017 powerpc/lib: Adjust .balign inside string functions for PPC32
   e27dad1eb1ac infiniband: fix a possible use-after-free bug
   848f260301d0 e1000e: Ignore TSYNCRXCTL when getting I219 clock attributes
   4c717e335ae1 ceph: fix alignment of rasize
   cdad03c1f21e bpf, arm32: fix inconsistent naming about emit_a32_lsr_{r64,i64}
   8dcf2dbf65ef printk: drop in_nmi check from printk_safe_flush_on_panic()
   2f6a38b131ab watchdog: da9063: Fix updating timeout value
   d90c9b07cb32 irqchip/ls-scfg-msi: Map MSIs in the iommu
   ff60eda50453 netfilter: ipset: List timing out entries with "timeout 1" instead of zero
   52f072f580e4 netfilter: ipset: forbid family for hash:mac sets
   a47ece2b17c2 perf tools: Fix pmu events parsing rule
   6a929b97b777 rtc: ensure rtc_set_alarm fails when alarms are not supported
   191d00f8c872 mm/slub.c: add __printf verification to slab_err()
   b9d1724cf618 mm: vmalloc: avoid racy handling of debugobjects in vunmap
   9e1a1fc0cd9b mm: /proc/pid/pagemap: hide swap entries from unprivileged users
   9691035cbf72 kernel/hung_task.c: show all hung tasks before panic
   827faa4eb566 vfio/type1: Fix task tracking for QEMU vCPU hotplug
   8f38152f2ae2 vfio/mdev: Check globally for duplicate devices
   ca014df110e9 vfio: platform: Fix reset module leak in error path
   5a47fe3efd4d nfsd: fix potential use-after-free in nfsd4_decode_getdeviceinfo
   baad2bf44770 NFSv4.1: Fix the client behaviour on NFS4ERR_SEQ_FALSE_RETRY
   42b1df406a29 ALSA: fm801: add error handling for snd_ctl_add
   40ff9a54dd9b ALSA: emu10k1: add error handling for snd_ctl_add
   44a78f7d1757 skip LAYOUTRETURN if layout is invalid
   0a84c912f575 hv_netvsc: fix network namespace issues with VF support
   51b694070738 xen/netfront: raise max number of slots in xennet_get_responses()
   a45f5ee6850b kcov: ensure irq code sees a valid area
   73990abb1a04 mlxsw: spectrum_switchdev: Fix port_vlan refcounting
   c1550e014135 arm64: fix vmemmap BUILD_BUG_ON() triggering on !vmemmap setups
   4681e8820f99 tracing: Quiet gcc warning about maybe unused link variable
   86428ec165ee tracing/kprobes: Fix trace_probe flags on enable_trace_kprobe() failure
   f957456878eb kthread, tracing: Don't expose half-written comm when creating kthreads
   10419b0c16d4 tracing: Fix possible double free in event_enable_trigger_func()
   9158a7debe53 tracing: Fix double free of event_trigger_data
   a2f85c02810f delayacct: fix crash in delayacct_blkio_end() after delayacct init failure
   8eead4f5dea9 kvm, mm: account shadow page tables to kmemcg
   ca6427facd96 Input: elan_i2c - add another ACPI ID for Lenovo Ideapad 330-15AST
   e0e385e2126e Input: i8042 - add Lenovo LaVie Z to the i8042 reset list
   b4667635de2e Input: elan_i2c - add ACPI ID for lenovo ideapad 330
   c09032b71fc6 spi: spi-s3c64xx: Fix system resume support
   e581f7c590cc drivers/infiniband/ulp/srpt/ib_srpt.c: fix build with gcc-4.4.4
   1e8bb2e9c9df IB/srpt: Fix an out-of-bounds stack access in srpt_zerolength_write()
   d02c9c8bfef1 drivers/infiniband/core/verbs.c: fix build with gcc-4.4.4
   3af618717e71 RDMA/core: Avoid that ib_drain_qp() triggers an out-of-bounds stack access
   c0b86d269bf0 i2c: core: decrease reference count of device node in i2c_unregister_device
   2d5fc7ffa84b fork: unconditionally clear stack on fork
   53208e12faa5 Linux 4.14.59
   e94f784fddd5 turn off -Wattribute-alias
   08382d3a1be2 can: m_can.c: fix setup of CCCR register: clear CCCR NISO bit before checking can.ctrlmode
   a55d3d73d457 can: peak_canfd: fix firmware < v3.3.0: limit allocation to 32-bit DMA addr only
   60454a9715df can: xilinx_can: fix RX overflow interrupt not being enabled
   19c756e01b09 can: xilinx_can: fix incorrect clear of non-processed interrupts
   189c7890f33b can: xilinx_can: keep only 1-2 frames in TX FIFO to fix TX accounting
   96bf3257c866 can: xilinx_can: fix device dropping off bus on RX overrun
   c5846b2fd57b can: xilinx_can: fix recovery from error states not being propagated
   f820de2a08b6 can: xilinx_can: fix power management handling
   464a3f9139f4 can: xilinx_can: fix RX loop if RXNEMP is asserted without RXOK
   55cb8f40c8d7 driver core: Partially revert "driver core: correct device's shutdown order"
   5421694d8cd7 usb: gadget: f_fs: Only return delayed status when len is 0
   68fc92a0f391 usb: dwc2: Fix DMA alignment to start at allocated boundary
   ac3f65c6b635 usb: core: handle hub C_PORT_OVER_CURRENT condition
   e089c305af49 usb: cdc_acm: Add quirk for Castles VEGA3000
   ab9489c4db89 staging: speakup: fix wraparound in uaccess length check
   22e3d3178b18 tcp: add tcp_ooo_try_coalesce() helper
   ec645ae62309 tcp: call tcp_drop() from tcp_data_queue_ofo()
   6285a74a536f tcp: detect malicious patterns in tcp_collapse_ofo_queue()
   81e6b01d1c10 tcp: avoid collapses in tcp_prune_queue() if possible
   f3a5ba6310e1 tcp: free batches of packets in tcp_prune_ofo_queue()
   ae70b6153197 tcp: do not delay ACK in DCTCP upon CE status change
   78636179f6e6 tcp: do not cancel delay-AcK on DCTCP special ACK
   f7f24b369383 tcp: helpers to send special DCTCP ack
   68c9bdfc8b42 tcp: fix dctcp delayed ACK schedule
   68974d0b9c86 vxlan: fix default fdb entry netlink notify ordering during netdev create
   bb0335aacfdd vxlan: make netlink notify in vxlan_fdb_destroy optional
   1c345a529258 vxlan: add new fdb alloc and create helpers
   23557c5d34b9 rtnetlink: add rtnl_link_state check in rtnl_configure_link
   464e2326a7f5 sock: fix sg page frag coalescing in sk_alloc_sg
   50b464d33964 net: phy: consider PHY_IGNORE_INTERRUPT in phy_start_aneg_priv
   46f9e1d0bd4e multicast: do not restore deleted record source filter mode to new one
   6d5b7d68f45b net/ipv6: Fix linklocal to global address with VRF
   047af2d8ced3 net/mlx5e: Fix quota counting in aRFS expire flow
   c83cd44202b5 net/mlx5e: Don't allow aRFS for encapsulated packets
   291d99ac4dc2 net/mlx5: Adjust clock overflow work period
   f208fbad98fd net: skb_segment() should not return NULL
   6e92f04a4fef net/mlx4_core: Save the qpn from the input modifier in RST2INIT wrapper
   df20f746d68b ip: in cmsg IP(V6)_ORIGDSTADDR call pskb_may_pull
   c2ce657fd68c ip: hash fragments consistently
   f1fb27fc256c bonding: set default miimon value for non-arp modes if not set
   7e454c18b76f drm/nouveau: Set DRIVER_ATOMIC cap earlier to fix debugfs
   d0bd2c70ffcb drm/nouveau/drm/nouveau: Fix runtime PM leak in nv50_disp_atomic_commit()
   58113603a4ea KVM: PPC: Check if IOMMU page is contained in the pinned physical page
   14500f14e0b6 xen/PVH: Set up GS segment for stack canary
   de019e7857fb MIPS: Fix off-by-one in pci_resource_to_user()
   4c686d73bc3e MIPS: ath79: fix register address in ath79_ddr_wb_flush()
   4168a8422364 Revert "cifs: Fix slab-out-of-bounds in send_set_info() on SMB2 ACE setting"
   f952480a8fc1 Linux 4.14.58
   3fcc143edcdd xhci: Fix perceived dead host due to runtime suspend race with event handler
   ff42682f21d7 powerpc/powernv: Fix save/restore of SPRG3 on entry/exit from stop (idle)
   ea8a50e5f829 cxl_getfile(): fix double-iput() on alloc_file() failures
   b12c7d0847e2 alpha: fix osf_wait4() breakage
   78cdeb665fb1 net: usb: asix: replace mii_nway_restart in resume path
   bbf9b1a46420 ipv6: make DAD fail with enhanced DAD when nonce length differs
   7c14cf21867c net: systemport: Fix CRC forwarding check for SYSTEMPORT Lite
   65851c6b6d6e net/mlx4_en: Don't reuse RX page when XDP is set
   7e7fefde7dec hv_netvsc: Fix napi reschedule while receive completion is busy
   c7daaa272dda tg3: Add higher cpu clock for 5762.
   c84c7d8383c2 qmi_wwan: add support for Quectel EG91
   294dc77bb75e ptp: fix missing break in switch
   811ad4b366a6 net: phy: fix flag masking in __set_phy_supported
   78382d78bb4a net/ipv4: Set oif in fib_compute_spec_dst
   829f4fd66354 skbuff: Unconditionally copy pfmemalloc in __skb_clone()
   6403b54a4f7e net: Don't copy pfmemalloc flag in __copy_skb_header()
   cc0ab64759c8 net: diag: Don't double-free TCP_NEW_SYN_RECV sockets in tcp_abort
   cfb876dc3042 lib/rhashtable: consider param->min_size when setting initial table size
   9f7276ce825b ipv6: ila: select CONFIG_DST_CACHE
   a5d33d38bd37 ipv6: fix useless rol32 call on hash
   0348dcd98af3 ipv4: Return EINVAL when ping_group_range sysctl doesn't map to user ns
   c8347d91cfd7 gen_stats: Fix netlink stats dumping in the presence of padding
   dd1363ca743e drm/nouveau: Avoid looping through fake MST connectors
   22c4488c8649 drm/nouveau: Use drm_connector_list_iter_* for iterating connectors
   387362c3ed80 drm/i915: Fix hotplug irq ack on i965/g4x
   d21fb63010c4 stop_machine: Disable preemption when waking two stopper threads
   9a2e4a01ded2 vfio/spapr: Use IOMMU pageshift rather than pagesize
   a5b8eae53672 vfio/pci: Fix potential Spectre v1
   dfc328156dde cpufreq: intel_pstate: Register when ACPI PCCH is present
   70ef1db1f21d mm/huge_memory.c: fix data loss when splitting a file pmd
   be2657752e9e mm: memcg: fix use after free in mem_cgroup_iter()
   95c58105bd97 ARC: mm: allow mprotect to make stack mappings executable
   3c732b3ab3a5 ARC: configs: Remove CONFIG_INITRAMFS_SOURCE from defconfigs
   13e5197d7ef6 ARC: Fix CONFIG_SWAP
   edb5e3eeb14a ARCv2: [plat-hsdk]: Save accl reg pair by default
   a82d4478337a ALSA: hda: add mute led support for HP ProBook 455 G5
   feefc072d10d ALSA: hda/realtek - Add Panasonic CF-SZ6 headset jack quirk
   5d251646ab15 ALSA: rawmidi: Change resized buffers atomically
   321089a0aa35 fat: fix memory allocation failure handling of match_strdup()
   1450a7c5da03 x86/MCE: Remove min interval polling limitation
   aa49e48232ee x86/events/intel/ds: Fix bts_interrupt_threshold alignment
   b4108288eab8 x86/apm: Don't access __preempt_count with zeroed fs
   3a46a033bfa8 KVM/Eventfd: Avoid crash when assign and deassign specific eventfd in parallel.
   763ccb4d1980 scsi: sd_zbc: Fix variable type and bogus comment
   ecc160ece609 Linux 4.14.57
   779128d80cb0 string: drop __must_check from strscpy() and restore strscpy() usages in cgroup
   96fd60c8160c arm64: KVM: Add ARCH_WORKAROUND_2 discovery through ARCH_FEATURES_FUNC_ID
   1b749f8a2416 arm64: KVM: Handle guest's ARCH_WORKAROUND_2 requests
   805357aa65bb arm64: KVM: Add ARCH_WORKAROUND_2 support for guests
   0592871918f0 arm64: KVM: Add HYP per-cpu accessors
   b769d86ea9d4 arm64: ssbd: Add prctl interface for per-thread mitigation
   e7d02797288f arm64: ssbd: Introduce thread flag to control userspace mitigation
   c5c89bb4deb8 arm64: ssbd: Restore mitigation status on CPU resume
   02e26bd9ad58 arm64: ssbd: Skip apply_ssbd if not using dynamic mitigation
   8d6907af4583 arm64: ssbd: Add global mitigation state accessor
   45808ab2f924 arm64: Add 'ssbd' command-line option
   837c87c233c1 arm64: Add ARCH_WORKAROUND_2 probing
   1bffd4869011 arm64: Add per-cpu infrastructure to call ARCH_WORKAROUND_2
   5ad09d2abb5a arm64: Call ARCH_WORKAROUND_2 on transitions between EL0 and EL1
   1de2719134b5 arm/arm64: smccc: Add SMCCC-specific return codes
   2cdc2e62a6ac KVM: arm64: Avoid storing the vcpu pointer on the stack
   dca7815605af KVM: arm/arm64: Do not use kern_hyp_va() with kvm_vgic_global_state
   e77175fafa7d arm64: alternatives: Add dynamic patching feature
   286950e0831b KVM: arm64: Stop save/restoring host tpidr_el1 on VHE
   0dac9f10d952 arm64: alternatives: use tpidr_el2 on VHE hosts
   6256b86e8519 KVM: arm64: Change hyp_panic()s dependency on tpidr_el2
   8ad56472d67c KVM: arm/arm64: Convert kvm_host_cpu_state to a static per-cpu allocation
   ed812b882599 KVM: arm64: Store vcpu on the stack during __guest_enter()
   115df2a7c5ba net/nfc: Avoid stalls when nfc_alloc_send_skb() returned NULL.
   a4b57440d971 rds: avoid unenecessary cong_update in loop transport
   1bbe05e27af1 bdi: Fix another oops in wb_workfn()
   28c74ff85efd netfilter: ipv6: nf_defrag: drop skb dst before queueing
   b124e97f3ef5 nsh: set mac len based on inner packet
   00235ab80007 autofs: fix slab out of bounds read in getname_kernel()
   30a7a7b04f8b tls: Stricter error checking in zerocopy sendmsg path
   d9bb71d76c07 KEYS: DNS: fix parsing multiple options
   cba5008502f2 reiserfs: fix buffer overflow with long warning messages
   766a7ad6639b netfilter: ebtables: reject non-bridge targets
   b5199c61e95c PCI: hv: Disable/enable IRQs rather than BH in hv_compose_msi_msg()
   aa6be396714c block: do not use interruptible wait anywhere
   f1059632a4fc mtd: rawnand: denali_dt: set clk_x_rate to 200 MHz unconditionally
   c4bfed85bae8 crypto: af_alg - Initialize sg_num_bytes in error code path
   16b3ae12337e clocksource: Initialize cs->wd_list
   a406abeb7416 media: rc: oops in ir_timer_keyup after device unplug
   67f7c68a9085 xhci: Fix USB3 NULL pointer dereference at logical disconnect.
   2be27d444f61 net: lan78xx: Fix race in tx pending skb size calculation
   12c0949a0745 rtlwifi: rtl8821ae: fix firmware is not ready to run
   ee8d2e719c1e rtlwifi: Fix kernel Oops "Fw download fail!!"
   3caea5150c15 net: cxgb3_main: fix potential Spectre v1
   d8530e891edd VSOCK: fix loopback on big-endian systems
   7eba6537c3d1 vhost_net: validate sock before trying to put its fd
   2dc4696ee6d9 tcp: prevent bogus FRTO undos with non-SACK flows
   3373d6d056d7 tcp: fix Fast Open key endianness
   4f5f7bce308e strparser: Remove early eaten to fix full tcp receive buffer stall
   32761addd300 stmmac: fix DMA channel hang in half-duplex mode
   5e90946baa57 r8152: napi hangup fix after disconnect
   d8c1603d0bb4 qmi_wwan: add support for the Dell Wireless 5821e module
   dd537828bf73 qed: Limit msix vectors in kdump kernel to the minimum required count.
   023a2043bc8a qed: Fix use of incorrect size in memcpy call.
   4c2849931b23 qed: Fix setting of incorrect eswitch mode.
   d725fde81ffc qede: Adverstise software timestamp caps when PHC is not available.
   35e324ebeee0 net/tcp: Fix socket lookups with SO_BINDTODEVICE
   b3c66b54d8fe net: sungem: fix rx checksum support
   b36f997add36 net_sched: blackhole: tell upper qdisc about dropped packets
   5e6b4b9b28b7 net/packet: fix use-after-free
   ddbbd3e05743 net: mvneta: fix the Rx desc DMA address in the Rx path
   7ae129dd6778 net/mlx5: Fix wrong size allocation for QoS ETC TC regitster
   46ff2bc7aeb1 net/mlx5: Fix required capability for manipulating MPFS
   8b7b5f76693c net/mlx5: Fix incorrect raw command length parsing
   075b50381248 net/mlx5: Fix command interface race in polling mode
   c3994f4f8bda net/mlx5: E-Switch, Avoid setup attempt if not being e-switch manager
   b216867c02ac net/mlx5e: Don't attempt to dereference the ppriv struct if not being eswitch manager
   1d8dda4444fa net/mlx5e: Avoid dealing with vport representors if not being e-switch manager
   f389c17b8dc5 net: macb: Fix ptp time adjustment for large negative delta
   b364a914c499 net: fix use-after-free in GRO with ESP
   fb6b14663d56 net: dccp: switch rx_tstamp_last_feedback to monotonic clock
   a3225a836e56 net: dccp: avoid crash in ccid3_hc_rx_send_feedback()
   a2e53d69f685 ixgbe: split XDP_TX tail and XDP_REDIRECT map flushing
   f5a42d63f0d4 ipvlan: fix IFLA_MTU ignored on NEWLINK
   d10c0baaae3f ipv6: sr: fix passing wrong flags to crypto_alloc_shash()
   e34e92d8b689 hv_netvsc: split sub-channel setup into async and sync
   43c9207d0296 atm: zatm: Fix potential Spectre v1
   f93d65939a4a atm: Preserve value of skb->truesize when accounting to vcc
   c62e2f087af1 alx: take rtnl before calling __alx_open from resume
   03bb9187754e crypto: crypto4xx - fix crypto4xx_build_pdr, crypto4xx_build_sdr leak
   996a6a393b3f crypto: crypto4xx - remove bad list_del
   dc3782a3e9c6 PCI: exynos: Fix a potential init_clk_resources NULL pointer dereference
   b1c3ce0cfff2 bcm63xx_enet: do not write to random DMA channel on BCM6345
   b913a05ab75e bcm63xx_enet: correct clock usage
   1ccab2bf726e ocfs2: ip_alloc_sem should be taken in ocfs2_get_block()
   c59a8f13f36b ocfs2: subsystem.su_mutex is required while accessing the item->ci_parent
   f5778c2d657e xprtrdma: Fix corner cases when handling device removal
   1083a7e8130c cpufreq / CPPC: Set platform specific transition_delay_us
   61a9f6b7fe0c Btrfs: fix duplicate extents after fsync of file with prealloc extents
   edefb935700c x86/paravirt: Make native_save_fl() extern inline
   92e50158fc0a x86/asm: Add _ASM_ARG* constants for argument registers to <asm/asm.h>
   779145a6f6ec compiler-gcc.h: Add __attribute__((gnu_inline)) to all inline declarations
   cff26c95b24c Linux 4.14.56
   eab3a3412215 f2fs: give message and set need_fsck given broken node id
   d2c18ad18cc7 loop: remember whether sysfs_create_group() was done
   e8484443c9db RDMA/ucm: Mark UCM interface as BROKEN
   140eae92cf70 PM / hibernate: Fix oops at snapshot_write()
   6f9f5797fc7d loop: add recursion validation to LOOP_CHANGE_FD
   348b32aa3a37 netfilter: x_tables: initialise match/target check parameter struct
   e5ee20c65b34 netfilter: nf_queue: augment nfqa_cfg_policy
   0032322689bb uprobes/x86: Remove incorrect WARN_ON() in uprobe_init_insn()
   19f39eff68b4 crypto: x86/salsa20 - remove x86 salsa20 implementations
   2a017ea2ea14 nvme-pci: Remap CMB SQ entries on every controller reset
   54ca2776fcca xen: setup pv irq ops vector earlier
   f47f1f976745 iw_cxgb4: correctly enforce the max reg_mr depth
   33beaca902a6 i2c: tegra: Fix NACK error handling
   ac5270d4bd46 IB/hfi1: Fix incorrect mixing of ERR_PTR and NULL return values
   e61f8cb63ede tools build: fix # escaping in .cmd files for future Make
   d8148f732748 arm64: neon: Fix function may_use_simd() return error status
   324881805629 kbuild: delete INSTALL_FW_PATH from kbuild documentation
   36244e3a60cf tracing: Reorder display of TGID to be after PID
   81ebc9decd16 mm: do not bug_on on incorrect length in __mm_populate()
   ff62981880d1 fs, elf: make sure to page align bss in load_elf_library
   e6f011384c92 fs/proc/task_mmu.c: fix Locked field in /proc/pid/smaps*
   684a2d8ed53f mm: do not drop unused pages when userfaultd is running
   f329f46764b1 ALSA: hda - Handle pm failure during hotplug
   11c6be539e1a ALSA: hda/realtek - two more lenovo models need fixup of MIC_LOCATION
   e58114824fa6 scsi: megaraid_sas: fix selection of reply queue
   c3aa570dd539 scsi: megaraid_sas: Create separate functions to allocate ctrl memory
   fda0eab89ccf scsi: megaraid_sas: replace is_ventura with adapter_type checks
   90229163fa6c scsi: megaraid_sas: replace instance->ctrl_context checks with instance->adapter_type
   d7e6dcdaa3ea scsi: megaraid_sas: use adapter_type for all gen controllers
   ef86f3a72adb genirq/affinity: assign vectors to all possible CPUs
   298243a5fb64 Fix up non-directory creation in SGID directories
   a6d26649fda0 devpts: resolve devpts bind-mounts
   cd360be6488c devpts: hoist out check for DEVPTS_SUPER_MAGIC
   7499390b8ba5 xhci: xhci-mem: off by one in xhci_stream_id_to_ring()
   55f51e5b4cff usb: quirks: add delay quirks for Corsair Strafe
   82b9cb4d3f06 USB: serial: mos7840: fix status-register error handling
   90f2a76ccd37 USB: yurex: fix out-of-bounds uaccess in read handler
   f24b02c3a081 USB: serial: keyspan_pda: fix modem-status error handling
   7aa69d8f50be USB: serial: cp210x: add another USB ID for Qivicon ZigBee stick
   7ce4add980f5 USB: serial: ch341: fix type promotion bug in ch341_control_in()
   1fb3563fac7e ahci: Disable LPM on Lenovo 50 series laptops with a too old BIOS
   1e39eb1bb1c0 vmw_balloon: fix inflation with batching
   33b9257a64fe ata: Fix ZBC_OUT all bit handling
   aae31a169efb ata: Fix ZBC_OUT command block check
   a3bb42c1bc6c staging: r8822be: Fix RTL8822be can't find any wireless AP
   e5bb39faedd7 staging: rtl8723bs: Prevent an underflow in rtw_check_beacon_data().
   908bfe10dd14 ibmasm: don't write out of bounds in read handler
   ccb242ec5020 mmc: dw_mmc: fix card threshold control configuration
   2c9fa8ff7045 mmc: sdhci-esdhc-imx: allow 1.8V modes without 100/200MHz pinctrl states
   6fce06b68b44 MIPS: Fix ioremap() RAM check
   0818c44b8df7 MIPS: Use async IPIs for arch_trigger_cpumask_backtrace()
   14ab9902422c MIPS: Call dump_stack() from show_regs()
   77f738e84293 ASoC: mediatek: preallocate pages use platform device
   99ebaf4f43dd media: rc: mce_kbd decoder: fix stuck keys
   1e92e813554a Linux 4.14.55
   b3ef356a096e Revert mm/vmstat.c: fix vmstat_update() preemption BUG
   7cf346dfdea5 sched, tracing: Fix trace_sched_pi_setprio() for deboosting
   32199c810655 staging: comedi: quatech_daqp_cs: fix no-op loop daqp_ao_insn_write()
   6d2b458d3d14 netfilter: nf_log: don't hold nf_log_mutex during user access
   ac6bfe418e04 mtd: cfi_cmdset_0002: Change erase functions to check chip good only
   b76d8aa04240 mtd: cfi_cmdset_0002: Change erase functions to retry for error
   eb638a002274 mtd: cfi_cmdset_0002: Change definition naming to retry write operation
   74ec37d03a12 dm: prevent DAX mounts if not supported
   0605fa6daa66 dm: set QUEUE_FLAG_DAX accordingly in dm_table_set_restrictions()
   3729e5561e1e dax: check for QUEUE_FLAG_DAX in bdev_dax_supported()
   8214347c260b dax: change bdev_dax_supported() to support boolean returns
   a19385766b4f fs: allow per-device dax status checking for filesystems
   5941026fc7a5 mtd: rawnand: mxc: set spare area size register explicitly
   c4097c64d03a media: cx25840: Use subdev host data for PLL override
   e82885490a61 Kbuild: fix # escaping in .cmd files for future Make
   3bb6397ba643 Revert "dpaa_eth: fix error in dpaa_remove()"
   42dc2a7bb72e f2fs: truncate preallocated blocks in error case
   a2c7493c7f31 media: vb2: core: Finish buffers at the end of the stream
   b16a6af97461 mm: hwpoison: disable memory error handling on 1GB hugepage
   07a1c2d1131b irq/core: Fix boot crash when the irqaffinity= boot parameter is passed on CPUMASK_OFFSTACK=y kernels(v1)
   50b4d984f55e HID: debug: check length before copy_to_user()
   c1d21fe74c25 HID: hiddev: fix potential Spectre v1
   702027291bf5 HID: i2c-hid: Fix "incomplete report" noise
   c894755d1bc8 block: cope with WRITE ZEROES failing in blkdev_issue_zeroout()
   3e3f1310c606 block: factor out __blkdev_issue_zero_pages()
   fba3230595cb ext4: check superblock mapped prior to committing
   54bf664ae4fa ext4: add more mount time checks of the superblock
   c24aab6d8664 ext4: add more inode number paranoia checks
   02945e49dc20 ext4: avoid running out of journal credits when appending to an inline file
   8a9ef17c0dc9 ext4: never move the system.data xattr out of the inode body
   deb465ec750b ext4: clear i_data in ext4_inode_info when removing inline data
   64804502d0e9 ext4: include the illegal physical block in the bad map ext4_error msg
   d69a9df614fc ext4: verify the depth of extent tree in ext4_find_extent()
   44a4bc970bfa ext4: only look at the bg_flags field if it is valid
   ac48bb9bc0a3 ext4: always check block group bounds in ext4_init_block_bitmap()
   ac93c718365a ext4: make sure bitmaps and the inode table don't overlap with bg descriptors
   3150e8913b95 ext4: always verify the magic number in xattr blocks
   0dc148230f38 ext4: add corruption check in ext4_xattr_set_entry()
   0321e68838d7 jbd2: don't mark block as modified if the handle is out of credits
   b541f470d4bd drm/udl: fix display corruption of the last line
   3cb81bce2191 drm: Use kvzalloc for allocating blob property memory
   748144f35514 cifs: Fix slab-out-of-bounds in send_set_info() on SMB2 ACE setting
   28cada984c0e cifs: Fix infinite loop when using hard mount option
   f5f485d888d5 cifs: Fix memory leak in smb2_set_ea()
   ff533735af1d cifs: Fix use after free of a mid_q_entry
   5d8ddc819c84 vfio: Use get_user_pages_longterm correctly
   0ce6c4646371 drbd: fix access after free
   2b6eff5923ce s390: Correct register corruption in critical section cleanup
   e6cf7e687285 scsi: target: Fix truncated PR-in ReadKeys response
   6e51bfa95086 scsi: sg: mitigate read/write abuse
   54f1da1ff034 tracing: Fix missing return symbol in function_graph output
   48b019a51ab8 mm: hugetlb: yield when prepping struct pages
   6fe74fb8af89 userfaultfd: hugetlbfs: fix userfaultfd_huge_must_wait() pte access
   5893f4c3fb78 Linux 4.14.54
   88b01cac4add net: dsa: b53: Add BCM5389 support
   28b64cc7a846 net/sonic: Use dma_mapping_error()
   4888ced6b749 platform/x86: asus-wmi: Fix NULL pointer dereference
   0d5e04e239ad sched/core: Require cpu_active() in select_task_rq(), for user tasks
   e4c55e0e6a75 sched/core: Fix rules for running on online && !active CPUs
   93b84462eadf fs: clear writeback errors in inode_init_always
   ae14c044587e perf bpf: Fix NULL return handling in bpf__prepare_load()
   be5af6bec31a perf test: "Session topology" dumps core on s390
   d689ad5c91af net: qmi_wwan: Add Netgear Aircard 779S
   d20dcd2f1135 atm: zatm: fix memcmp casting
   3ee6bd9411a6 iwlwifi: pcie: compare with number of IRQs requested for, not number of CPUs
   4abab5dca723 ipvs: fix buffer overflow with sync daemon and service
   27aa533f24e9 netfilter: nft_limit: fix packet ratelimiting
   510e1e8020a8 s390/dasd: use blk_mq_rq_from_pdu for per request data
   db73501ebc3a netfilter: ebtables: handle string from userspace with care
   e36bc9930d85 afs: Fix directory permissions check
   4cf1fbcdef7f xfrm6: avoid potential infinite loop in _decode_session6()
   693d06dffb43 mtd: rawnand: fix return value check for bad block status
   0ed70f206449 ARM: dts: imx6q: Use correct SDMA script for SPI5 core
   259cc05cce43 netfilter: nf_tables: use WARN_ON_ONCE instead of BUG_ON in nft_do_chain()
   5acd64888e02 netfilter: ip6t_rpfilter: provide input interface for route lookup
   3f8e85fbbaa5 netfilter: don't set F_IFACE on ipv6 fib lookups
   2fc45ef96287 md: remove special meaning of ->quiesce(.., 2)
   ce57466d323b md: allow metadata update while suspending.
   7c435e224530 md: use mddev_suspend/resume instead of ->quiesce()
   feabea216559 md: move suspend_hi/lo handling into core md code
   cc091f3fbbdb md: don't call bitmap_create() while array is quiesced.
   e44e4cf3a8db md: always hold reconfig_mutex when calling mddev_suspend()
   b8d8cde449fd netfilter: nf_tables: fix NULL-ptr in nf_tables_dump_obj()
   44956f98fd8b netfilter: nf_tables: add missing netlink attrs to policies
   082711fa3178 netfilter: nf_tables: fix memory leak on error exit return
   174757e28b7b netfilter: nf_tables: increase nft_counters_enabled in nft_chain_stats_replace()
   d3a9b8a51181 netfilter: nf_tables: disable preemption in nft_update_chain_stats()
   491b1a866e4a netfilter: nft_meta: fix wrong value dereference in nft_meta_set_eval
   2b93cb2861de netfilter: nf_tables: bogus EBUSY in chain deletions
   4ae6a7afae53 netfilter: nf_tables: don't assume chain stats are set when jumplabel is set
   365e73e07fba netfilter: nft_compat: fix handling of large matchinfo size
   ea200cdd6056 netfilter: nft_compat: prepare for indirect info storage
   1ea5ed0cadca netfilter: nf_tables: nft_compat: fix refcount leak on xt module
   1d795d1241d3 drm/i915: Enable provoking vertex fix on Gen9 systems.
   78e7000fe63f drm/amdgpu: Refactor amdgpu_vram_mgr_bo_invisible_size helper
   a1bf87cfb6ea drm/amdgpu: Use kvmalloc_array for allocating VRAM manager nodes array
   af597bb61370 drm/atmel-hlcdc: check stride values in the first plane
   7d0ed747bc56 drm/qxl: Call qxl_bo_unref outside atomic context
   dd19ea36f596 drm/amdgpu: fix the missed vcn fw version report
   40e2064b8fc7 drm/amdgpu: Add APU support in vi_set_vce_clocks
   ce686c42476e drm/amdgpu: Add APU support in vi_set_uvd_clocks
   b141de45e2dc vt: prevent leaking uninitialized data to userspace via /dev/vcs*
   b124a1c182fa serdev: fix memleak on module unload
   3ff8e558ba7b serial: 8250_pci: Remove stalled entries in blacklist
   2a7a8556b3b4 staging: android: ion: Return an ERR_PTR in ion_map_kernel
   c034d161fa63 n_tty: Access echo_* variables carefully.
   d105fb8c8894 n_tty: Fix stall at n_tty_receive_char_special().
   716382f1c1ea xhci: Fix kernel oops in trace_xhci_free_virt_device
   0a7db82ed9cc usb: typec: ucsi: Fix for incorrect status data issue
   47adbb26373f usb: typec: ucsi: acpi: Workaround for cache mode issue
   f2e9a38558d8 acpi: Add helper for deactivating memory region
   447294efb995 usb: dwc2: fix the incorrect bitmaps for the ports of multi_tt hub
   e80add5223dd USB: serial: cp210x: add Silicon Labs IDs for Windows Update
   15e449969537 USB: serial: cp210x: add CESINEL device ids
   874f2a7d412e usb: cdc_acm: Add quirk for Uniden UBC125 scanner
   fa745a1bd983 Linux 4.14.53
   4798e96b7646 xhci: Fix use-after-free in xhci_free_virt_device
   0b19825ffa28 dm thin: handle running out of data space vs concurrent discard
   fb4d8744a8f9 dm zoned: avoid triggering reclaim from inside dmz_map()
   0cfb151b9352 x86/efi: Fix efi_call_phys_epilog() with CONFIG_X86_5LEVEL=y
   251141340fd8 block: Fix cloning of requests with a special payload
   29413e068b2b block: Fix transfer when chunk sectors exceeds max
   804a0db743e0 slub: fix failure when we delete and create a slab cache
   cd41a8fac35a ALSA: hda/realtek - Fix the problem of two front mics on more machines
   c75f047560cb ALSA: hda/realtek - Add a quirk for FSC ESPRIMO U9210
   59bcd69457c7 ALSA: hda/realtek - Fix pop noise on Lenovo P50 & co
   69f96e9b570a ALSA: timer: Fix UBSAN warning at SNDRV_TIMER_IOCTL_NEXT_DEVICE ioctl
   3d1de95138fb Input: elantech - fix V4 report decoding for module with middle key
   524a0c6f2efd Input: elantech - enable middle button of touchpads on ThinkPad P52
   ade767642cc7 Input: elan_i2c_smbus - fix more potential stack buffer overflows
   8fa052853d48 Input: xpad - fix GPD Win 2 controller name
   1b241aa840df udf: Detect incorrect directory size
   d08dfdeaf49d xen: Remove unnecessary BUG_ON from __unbind_from_irq()
   fff76ff5e2b0 mm: fix devmem_is_allowed() for sub-page System RAM intersections
   6f23028480c4 mm/ksm.c: ignore STABLE_FLAG of rmap_item->address in rmap_walk_ksm()
   76022230aa64 rbd: flush rbd_dev->watch_dwork after watch is unregistered
   3c718460f5a3 pwm: lpss: platform: Save/restore the ctrl register over a suspend/resume
   24ab6e6858e7 Input: elan_i2c - add ELAN0618 (Lenovo v330 15IKB) ACPI ID
   a7f3c0abac1d ACPI / LPSS: Add missing prv_offset setting for byt/cht PWM devices
   9aa818d42bf5 video: uvesafb: Fix integer overflow in allocation
   fb7fecb4d90f NFSv4: Fix a typo in nfs41_sequence_process
   63715ead82c5 NFSv4: Revert commit 5f83d86cf531d ("NFSv4.x: Fix wraparound issues..")
   c92d800fc9c4 NFSv4: Fix possible 1-byte stack overflow in nfs_idmap_read_and_verify_message
   89864c2e7506 nfsd: restrict rd_maxcount to svc_max_payload in nfsd_encode_readdir
   c508ed236c8b media: dvb_frontend: fix locking issues at dvb_frontend_get_event()
   2c40fa51428b media: cx231xx: Add support for AverMedia DVD EZMaker 7
   06b846486668 media: v4l2-compat-ioctl32: prevent go past max size
   b28f53169c0f media: vsp1: Release buffers for each video node
   3564366d5509 perf/x86/intel/uncore: Add event constraint for BDX PCU
   5cb6105d2211 perf vendor events: Add Goldmont Plus V1 event file
   c3382e70a043 perf intel-pt: Fix packet decoding of CYC packets
   4e7b3632eafa perf intel-pt: Fix "Unexpected indirect branch" error
   65a163984abe perf intel-pt: Fix MTC timing after overflow
   e1587f178eb1 perf intel-pt: Fix decoding to accept CBR between FUP and corresponding TIP
   9e9db211cfb9 perf intel-pt: Fix sync_switch INTEL_PT_SS_NOT_TRACING
   5009bd5b9321 perf tools: Fix symbol and object code resolution for vdso32 and vdsox32
   f810961e06c6 arm: dts: mt7623: fix invalid memory node being generated
   18be8bd3aceb mfd: intel-lpss: Fix Intel Cannon Lake LPSS I2C input clock
   f79c97198b55 mfd: intel-lpss: Program REMAP register in PIO mode
   779d5f71c232 backlight: tps65217_bl: Fix Device Tree node lookup
   f893fca0a4b5 backlight: max8925_bl: Fix Device Tree node lookup
   3db7c40093f6 backlight: as3711_bl: Fix Device Tree node lookup
   b7261fc5f574 UBIFS: Fix potential integer overflow in allocation
   a23cf10d9abb ubi: fastmap: Correctly handle interrupted erasures in EBA
   b24d90f4d66d ubi: fastmap: Cancel work upon detach
   db04f92b6580 rpmsg: smd: do not use mananged resources for endpoints and channels
   dfeb333b590c md: fix two problems with setting the "re-add" device state.
   88896a963b4e rtc: sun6i: Fix bit_idx value for clk_register_gate
   b90f3eccf8aa clk: at91: PLL recalc_rate() now using cached MUL and DIV values
   a98f1946ea58 linvdimm, pmem: Preserve read-only setting for pmem devices
   a64be479ef08 scsi: zfcp: fix missing REC trigger trace on enqueue without ERP thread
   beadcfcca257 scsi: zfcp: fix missing REC trigger trace for all objects in ERP_FAILED
   60ed2673986f scsi: zfcp: fix missing REC trigger trace on terminate_rport_io for ERP_FAILED
   071f23266c30 scsi: zfcp: fix missing REC trigger trace on terminate_rport_io early return
   3d0d31e512f2 scsi: zfcp: fix misleading REC trigger trace where erp_action setup failed
   941e8bee351e scsi: zfcp: fix missing SCSI trace for retry of abort / scsi_eh TMF
   74da693a03ce scsi: zfcp: fix missing SCSI trace for result of eh_host_reset_handler
   9db2ad79b8f0 scsi: qla2xxx: Mask off Scope bits in retry delay
   9224583a5ee2 scsi: qla2xxx: Fix setting lower transfer speed if GPSC fails
   2829829c3e61 scsi: hpsa: disable device during shutdown
   2d329968a883 mm: fix __gup_device_huge vs unmap
   5d6ad5a03067 iio: sca3000: Fix an error handling path in 'sca3000_probe()'
   d55209eeb121 iio: adc: ad7791: remove sample freq sysfs attributes
   6101eea47bf3 Btrfs: fix return value on rename exchange failure
   af20e4eccc2d X.509: unpack RSA signatureValue field from BIT STRING
   7dfc81992a3e irqchip/gic-v3-its: Don't bind LPI to unavailable NUMA node
   88c4318d3633 time: Make sure jiffies_to_msecs() preserves non-zero time periods
   0fe95015fb93 MIPS: io: Add barrier after register read in inX()
   93e1297f9edc cpufreq: intel_pstate: Fix scaling max/min limits with Turbo 3.0
   55be2e6f50ac pinctrl: devicetree: Fix pctldev pointer overwrite
   7cc7ae5ce018 pinctrl: samsung: Correct EINTG banks order
   9e838b2e5a3c auxdisplay: fix broken menu
   226ffbf6135c PCI: pciehp: Clear Presence Detect and Data Link Layer Status Changed on resume
   fc0096bceae9 PCI: Add ACS quirk for Intel 300 series
   78923ba96779 PCI: Add ACS quirk for Intel 7th & 8th Gen mobile
   e4a424c550b6 PCI: hv: Make sure the bus domain is really unique
   43f6a09c8c5b MIPS: BCM47XX: Enable 74K Core ExternalSync for PCIe erratum
   c375d0bd6684 mtd: cfi_cmdset_0002: Avoid walking all chips when unlocking.
   fbbde9343c3e mtd: cfi_cmdset_0002: Fix unlocking requests crossing a chip boudary
   2f11a0c8c23a mtd: cfi_cmdset_0002: fix SEGV unlocking multiple chips
   80349943d56c mtd: cfi_cmdset_0002: Use right chip in do_ppb_xxlock()
   746c1362c434 mtd: cfi_cmdset_0002: Change write buffer to check correct value
   d097e5b5a1bc xprtrdma: Return -ENOBUFS when no pages are available
   786c8d79f34f RDMA/mlx4: Discard unknown SQP work requests
   a33699925122 IB/hfi1: Fix user context tail allocation for DMA_RTAIL
   964705c4a691 IB/hfi1: Optimize kthread pointer locking when queuing CQ entries
   2bd28cba43bd IB/hfi1: Reorder incorrect send context disable
   9e81f9a2cef1 IB/hfi1: Fix fault injection init/exit issues
   c32951862c1a IB/isert: fix T10-pi check mask setting
   7d4aaca8d093 IB/isert: Fix for lib/dma_debug check_sync warning
   c06f8c2173b2 IB/mlx5: Fetch soft WQE's on fatal error state
   96fb9b88385f IB/core: Make testing MR flags for writability a static inline function
   1c82abc1b26a IB/mlx4: Mark user MR as writable if actual virtual memory is writable
   49e1083214c6 IB/{hfi1, qib}: Add handling of kernel restart
   e884ed82995a IB/qib: Fix DMA api warning with debug kernel
   c41cb9cb5611 tpm: fix race condition in tpm_common_write()
   1bf1a5e21798 tpm: fix use after free in tpm2_load_context()
   1ed6871464b8 of: platform: stop accessing invalid dev in of_platform_device_destroy
   6ba51909693c of: unittest: for strings, account for trailing \0 in property length field
   4910cc250b4d of: overlay: validate offset from property fixups
   728ea2302acc ARM64: dts: meson: disable sd-uhs modes on the libretech-cc
   64df84dcf1e4 arm64: mm: Ensure writes to swapper are ordered wrt subsequent cache maintenance
   ee6ae5ac75ab arm64: kpti: Use early_param for kpti= command-line option
   cdfa28c29ad4 arm64: Fix syscall restarting around signal suppressed by tracer
   14ca7d344e27 ARM: dts: socfpga: Fix NAND controller node compatible for Arria10
   ae6647c78ff8 ARM: dts: socfpga: Fix NAND controller clock supply
   3482130d8d1e ARM: dts: socfpga: Fix NAND controller node compatible
   3db24d2e192f ARM: dts: Fix SPI node for Arria10
   eda170a9fe51 ARM: 8764/1: kgdb: fix NUMREGBYTES so that gdb_regs[] is the correct size
   c9debbd1a5b8 cxl: Disable prefault_mode in Radix mode
   971a55574b47 soc: rockchip: power-domain: Fix wrong value when power up pd with writemask
   56fbab60aa47 powerpc/fadump: Unregister fadump on kexec down path.
   3b185e667b52 cpuidle: powernv: Fix promotion from snooze if next state disabled
   a5d49dfb20c9 powerpc/powernv/cpuidle: Init all present cpus for deep states
   134e70c22eb0 powerpc/powernv: copy/paste - Mask SO bit in CR
   0e8bb91c6dd6 powerpc/powernv/ioda2: Remove redundant free of TCE pages
   919c9b8187bc powerpc/ptrace: Fix enforcement of DAWR constraints
   1ab9092356a1 powerpc/perf: Fix memory allocation for core-imc based on num_possible_cpus()
   c12d24161611 powerpc/ptrace: Fix setting 512B aligned breakpoints with PTRACE_SET_DEBUGREG
   5fefd9a5d97a powerpc/mm/hash: Add missing isync prior to kernel stack SLB switch
   69829f749a43 fuse: fix control dir setup and teardown
   3a37d85a90da fuse: don't keep dead fuse_conn at fuse_fill_super().
   2f7bf369b5f8 fuse: atomic_o_trunc should truncate pagecache
   02832578eb9d fuse: fix congested state leak on aborted connections
   a47c3c48769a printk: fix possible reuse of va_list variable
   affd84024cbe Bluetooth: hci_qca: Avoid missing rampatch failure with userspace fw loader
   3ffecef63d09 ipmi:bt: Set the timeout before doing a capabilities check
   26e03f8dcd34 branch-check: fix long->int truncation when profiling branches
   5eff5dbf3108 mips: ftrace: fix static function graph tracing
   5f7a15af646d ftrace/selftest: Have the reset_trigger code be a bit more careful
   ea0ac01f68aa lib/vsprintf: Remove atomic-unsafe support for %pCr
   9fcc267de242 clk: renesas: cpg-mssr: Stop using printk format %pCr
   0cf93821e34d thermal: bcm2835: Stop using printk format %pCr
   b2291a435c29 ASoC: cirrus: i2s: Fix {TX|RX}LinCtrlData setup
   b5e8118779e5 ASoC: cirrus: i2s: Fix LRCLK configuration
   7a1d79de77f5 ASoC: cs35l35: Add use_single_rw to regmap config
   040fecfd714a ASoC: dapm: delete dapm_kcontrol_data paths list before freeing it
   4e0ce7053a12 1wire: family module autoload fails because of upper/lower case mismatch.
   3c22218ed869 usb: do not reset if a low-speed or full-speed device timed out
   8b03376580c9 PM / OPP: Update voltage in case freq == old_freq
   ba0be5973f9e PM / core: Fix supplier device runtime PM usage counter imbalance
   b7ac0389770a PM / Domains: Fix error path during attach in genpd
   8ae5d476a3b7 signal/xtensa: Consistenly use SIGBUS in do_unaligned_user
   980899da5dc9 serial: sh-sci: Use spin_{try}lock_irqsave instead of open coding version
   60711b27c5f5 m68k/mac: Fix SWIM memory resource end address
   da9ad89c72d5 m68k/mm: Adjust VM area to be unmapped by gap size for __iounmap()
   ab693cc665ca x86: Call fixup_exception() before notify_die() in math_error()
   64d44661e220 x86/mce: Do not overwrite MCi_STATUS in mce_no_way_out()
   5b8e086891b0 x86/mce: Fix incorrect "Machine check from unknown source" message
   d292f33b7494 x86/mce: Check for alternate indication of machine check recovery on Skylake
   1d1dd2011adc x86/mce: Improve error message when kernel cannot recover
   dbb37d98b93d x86/xen: Add call of speculative_store_bypass_ht_init() to PV paths
   3ce79716a9ff x86/spectre_v1: Disable compiler optimizations over array_index_mask_nospec()
   a26899e0baa4 Linux 4.14.52
   1d26c112959f mm, page_alloc: do not break __GFP_THISNODE by zonelist reset
   250edf9580f7 fs/binfmt_misc.c: do not allow offset overflow
   7446344baafb vhost: fix info leak due to uninitialized memory
   d37c95f52911 HID: wacom: Correct logical maximum Y for 2nd-gen Intuos Pro large
   ab17de60ceaa HID: intel_ish-hid: ipc: register more pm callbacks to support hibernation
   e3e6bd6a1476 orangefs: report attributes_mask and attributes for statx
   f7e4328c3700 orangefs: set i_size on new symlink
   b8511dbff263 iwlwifi: fw: harden page loading code
   2d58a9ac892a x86/intel_rdt: Enable CMT and MBM on new Skylake stepping
   e6ef46cb8f01 w1: mxc_w1: Enable clock before calling clk_get_rate() on it
   0667483adeee libata: Drop SanDisk SD7UB3Q*G1001 NOLPM quirk
   27c0f1e5d94d libata: zpodd: small read overflow in eject_tray()
   1404d2e5dd36 cpufreq: governors: Fix long idle detection logic in load calculation
   c3c77b5db393 cpufreq: Fix new policy initialization during limits updates via sysfs
   67b46304b92b bdi: Move cgroup bdi_writeback to a dedicated low concurrency workqueue
   ba502bf2be45 blk-mq: reinit q->tag_set_list entry only after grace period
   00946218ffe3 nbd: use bd_set_size when updating disk size
   a477d00557f5 nbd: update size when connected
   edee2e826640 nbd: fix nbd device deletion
   ffb179cfbcf6 cifs: For SMB2 security informaion query, check for minimum sized security descriptor instead of sizeof FileAllInformation class
   2a8737336dbd CIFS: 511c54a2f69195b28afb9dd119f03787b1625bb4 adds a check for session expiry
   ae62f35def75 smb3: on reconnect set PreviousSessionId field
   dcde75924f25 smb3: fix various xid leaks
   e0b510a4170e x86/MCE: Fix stack out-of-bounds write in mce-inject.c: Flags_read()
   c5c00990f75d ALSA: hda: add dock and led support for HP ProBook 640 G4
   e6c9fd8cf7d0 ALSA: hda: add dock and led support for HP EliteBook 830 G5
   a3eb20df0e23 ALSA: hda - Handle kzalloc() failure in snd_hda_attach_pcm_stream()
   03701e42cc19 ALSA: hda/conexant - Add fixup for HP Z2 G4 workstation
   ff7eb857eeca ALSA: hda/realtek - Enable mic-mute hotkey for several Lenovo AIOs
   b1cf23c2c8db btrfs: scrub: Don't use inode pages for device replace
   4cb8942042bd btrfs: return error value if create_io_em failed in cow_file_range
   5f7e3b5b96f8 Btrfs: fix memory and mount leak in btrfs_ioctl_rm_dev_v2()
   55d29ff48222 Btrfs: fix clone vs chattr NODATASUM race
   c81a6be9da6d driver core: Don't ignore class_dir_create_and_add() failure.
   f3233cb2485c ext4: fix fencepost error in check for inode count overflow during resize
   21542545990c ext4: correctly handle a zero-length xattr with a non-zero e_value_offs
   02d45ec6e770 ext4: bubble errors from ext4_find_inline_data_nolock() up to ext4_iget()
   e81d371dac30 ext4: do not allow external inodes for inline data
   bd713edfc85d ext4: update mtime in ext4_punch_hole even if no blocks are released
   f70af46a52b3 ext4: fix hole length detection in ext4_ind_map_blocks()
   84f4d2c6dabe NFSv4.1: Fix up replays of interrupted requests
   5e8a5c30546f tls: fix use-after-free in tls_push_record
   244c10f9bfa3 hv_netvsc: Fix a network regression after ifdown/ifup
   5320e035d7bb net: in virtio_net_hdr only add VLAN_HLEN to csum_start if payload holds vlan
   2e5d3168821d udp: fix rx queue len reported by diag and proc interface
   91717ffc9057 socket: close race condition between sock_close() and sockfs_setattr()
   39f4ae01c1d6 tcp: verify the checksum of the first data segment in a new connection
   81d159444da5 net/sched: act_simple: fix parsing of TCA_DEF_DATA
   73c0eab8d215 net: dsa: add error handling for pskb_trim_rcsum
   6bcc27abfa62 ipv6: allow PMTU exceptions to local routes
   6e48ee025dc9 cdc_ncm: avoid padding beyond end of skb
   584b975af0d2 bonding: re-evaluate force_primary when the primary slave name changes
   33445c07cd45 Linux 4.14.51
   40c809774c69 tcp: do not overshoot window_clamp in tcp_rcv_space_adjust()
   7ab8fc065fff Btrfs: make raid6 rebuild retry more
   6bf89b7c6b31 Btrfs: fix scrub to repair raid6 corruption
   db5f02cc70a8 Revert "Btrfs: fix scrub to repair raid6 corruption"
   5e4b5b7194d3 ARM: kexec: fix kdump register saving on panic()
   bb7a554ae745 ARM: 8758/1: decompressor: restore r1 and r2 just before jumping to the kernel
   c7d7e3f62dbe ARM: 8753/1: decompressor: add a missing parameter to the addruart macro
   823e02ea7be5 efi/libstub/arm64: Handle randomized TEXT_OFFSET
   3f5c7add0d0f parisc: Move setup_profiling_timer() out of init section
   588977742078 sched/deadline: Make the grub_reclaim() function static
   fb49d19ed9da sched/debug: Move the print_rt_rq() and print_dl_rq() declarations to kernel/sched/sched.h
   96ef5c441494 drm/dumb-buffers: Integer overflow in drm_mode_create_ioctl()
   77a60e752ec8 locking/percpu-rwsem: Annotate rwsem ownership transfer by setting RWSEM_OWNER_UNKNOWN
   b3f84e48786d locking/rwsem: Add a new RWSEM_ANONYMOUSLY_OWNED flag
   c5746752bdbe clk: imx6ull: use OSC clock during AXI rate change
   0c5dfa51caf7 ARM: davinci: board-dm646x-evm: set VPIF capture card name
   eb6b0d6987fc ARM: davinci: board-dm646x-evm: pass correct I2C adapter id for VPIF
   ae7418dd09f9 ARM: davinci: dm646x: fix timer interrupt generation
   daf6bdb29d55 i2c: viperboard: return message count on master_xfer success
   cbfe697cdba9 i2c: pmcmsp: fix error return from master_xfer
   0c1885743a9b i2c: pmcmsp: return message count on master_xfer success
   7416dd78ad9a ARM: keystone: fix platform_domain_notifier array overrun
   a187b9c72d0c usb: musb: fix remote wakeup racing with suspend
   634b9e0aabd9 afs: Fix the non-encryption of calls
   a92a28636157 mtd: Fix comparison in map_word_andequal()
   9b9ac282bad9 x86/pkeys/selftests: Add a test for pkey 0
   b1f192a9e0cd x86/pkeys/selftests: Save off 'prot' for allocations
   cdfdffcaa8f9 x86/pkeys/selftests: Fix pointer math
   2dd0e5d62a6b x86/pkeys/selftests: Fix pkey exhaustion test off-by-one
   63bdea73bd52 x86/pkeys/selftests: Add PROT_EXEC test
   1fcd226878b3 x86/pkeys/selftests: Factor out "instruction page"
   777d513aaaf6 x86/pkeys/selftests: Allow faults on unknown keys
   9545530701c9 x86/pkeys/selftests: Remove dead debugging code, fix dprint_in_signal
   8b9f3a7404d7 x86/pkeys/selftests: Stop using assert()
   477c024fb33a x86/pkeys/selftests: Give better unexpected fault error messages
   4824a6473b85 x86/selftests: Add mov_to_ss test
   c25b160c8da6 x86/mpx/selftests: Adjust the self-test to fresh distros that export the MPX ABI
   2361f1f4fff2 x86/pkeys/selftests: Adjust the self-test to fresh distros that export the pkeys ABI
   847f0cacf21e objtool, kprobes/x86: Sync the latest <asm/insn.h> header with tools/objtool/arch/x86/include/asm/insn.h
   5aaee3e9ef32 uprobes/x86: Prohibit probing on MOV SS instruction
   ba202cd5a1f0 kprobes/x86: Prohibit probing on exception masking instructions
   12ddc2639e31 ocfs2: take inode cluster lock before moving reflinked inode from orphan dir
   553495752c82 proc/kcore: don't bounds check against address 0
   20e557fb26ca init: fix false positives in W+X checking
   86900754306e net sched actions: fix invalid pointer dereferencing if skbedit flags missing
   55e95f9ad712 ixgbe: return error on unsupported SFP module when resetting
   33d1c29e935e x86: Delay skip of emulated hypercall instruction
   ce44a4d5db63 KVM: Extend MAX_IRQ_ROUTES to 4096 for all archs
   29475c404b56 rxrpc: Fix the min security level for kernel calls
   b2abd2b98afc rxrpc: Fix error reception on AF_INET6 sockets
   b5b3188098b3 qede: Fix gfp flags sent to rdma event node allocation
   6618d064baca qed: Fix l2 initializations over iWARP personality
   dc5af7b0de98 tipc: eliminate KMSAN uninit-value in strcmp complaint
   6ca2fa569d65 agp: uninorth: make two functions static
   8223298c5075 cifs: smb2ops: Fix listxattr() when there are no EAs
   fcc0315abc95 arm64: Add MIDR encoding for NVIDIA CPUs
   56068475a7f0 can: dev: increase bus-off message severity
   4dc2437cdd6b net: aquantia: driver should correctly declare vlan_features bits
   a951cf4da896 x86/xen: Reset VCPU0 info pointer after shared_info remap
   ba29f3738e86 mac80211: use timeout from the AddBA response instead of the request
   e4bd54eb87c8 ARM: dts: cygnus: fix irq type for arm global timer
   36166445a922 driver core: add __printf verification to __ata_ehi_pushv_desc
   bc707b2d950b drm/omap: handle alloc failures in omap_connector
   771f573cc158 drm/omap: check return value from soc_device_match
   a490d0570df2 drm/omap: fix possible NULL ref issue in tiler_reserve_2d
   9631f32b61dc drm/omap: fix uninitialized ret variable
   ca3c09a74945 drm/omap: silence unititialized variable warning
   6ad69952d50d mac80211: Adjust SAE authentication timeout
   46d6ee12fa9d tee: check shm references are consistent in offset/size
   d40e177f29ab sh: fix build failure for J2 cpu with SMP disabled
   0742396317a0 sched/core: Introduce set_special_state()
   a614eaa465f7 spi: bcm2835aux: ensure interrupts are enabled for shared handler
   373a625cb3c4 RDMA/cma: Do not query GID during QP state transition to RTR
   3c54e919bd4f IB/hfi1: Fix memory leak in exception path in get_irq_affinity()
   77662d35b8c5 IB/hfi1 Use correct type for num_user_context
   194feed06bce smc: fix sendpage() call
   9c0f528f6bf0 ARM: OMAP1: ams-delta: fix deferred_fiq handler
   ac5e86401fea nvme: Set integrity flag for user passthrough commands
   b19122a48f01 nvme: fix potential memory leak in option parsing
   665d3c7f1e50 iommu/vt-d: fix shift-out-of-bounds in bug checking
   d98905c00c4c arm64: tegra: Make BCM89610 PHY interrupt as active low
   61ca60932d52 kthread, sched/wait: Fix kthread_parkme() wait-loop
   e7a65e899d52 stop_machine, sched: Fix migrate_swap() vs. active_balance() deadlock
   a814d1101042 parisc: drivers.c: Fix section mismatches
   609377d79e75 bpf, x64: fix memleak when not converging after image
   666776d5f45d scsi: vmw-pvscsi: return DID_BUS_BUSY for adapter-initated aborts
   09e12b91d12c hexagon: export csum_partial_copy_nocheck
   8794fff6f4d9 hexagon: add memset_io() helper
   960fe000b1d3 Input: atmel_mxt_ts - fix the firmware update
   f8d7147cb60f ARM: dts: logicpd-som-lv: Fix Audio Mute
   8c4511032ac1 ARM: dts: logicpd-som-lv: Fix WL127x Startup Issues
   691f0a6b3b09 ARM: OMAP2+: powerdomain: use raw_smp_processor_id() for trace
   061a560f3293 dt-bindings: panel: lvds: Fix path to display timing bindings
   b1ac1ca7352d ARM: davinci: board-dm355-evm: fix broken networking
   034a9e9b235e ARM: davinci: board-omapl138-hawk: fix GPIO numbers for MMC/SD lookup
   0bf4a2db2964 ARM: davinci: board-da850-evm: fix GPIO lookup for MMC/SD
   38ffd4d581ff ARM: davinci: board-da830-evm: fix GPIO lookup for MMC/SD
   13e4a2083d2b IB/core: Make ib_mad_client_id atomic
   5cb0ba254fee <linux/stringhash.h>: fix end_name_hash() for 64bit long
   3fbbdb44cead IB/rxe: avoid double kfree_skb
   b4f6e28c801a IB/rxe: add RXE_START_MASK for rxe_opcode IB_OPCODE_RC_SEND_ONLY_INV
   d2be557eef15 RDMA/iwpm: fix memory leak on map_info
   019ce25a4ee0 RDMA/cma: Fix use after destroy access to net namespace for IPoIB
   84f66378da20 IB/uverbs: Fix validating mandatory attributes
   fb019834bf8e IB: make INFINIBAND_ADDR_TRANS configurable
   b8500e6e8eb5 ib_srp: depend on INFINIBAND_ADDR_TRANS
   08088b8a0793 ib_srpt: depend on INFINIBAND_ADDR_TRANS
   4e2b7d1687c4 nvmet-rdma: depend on INFINIBAND_ADDR_TRANS
   8e6dba9166ed nvme: depend on INFINIBAND_ADDR_TRANS
   5d33c9d0fbd8 tipc: fix bug in function tipc_nl_node_dump_monitor
   f1e5bbe86ec1 i2c: sprd: Fix the i2c count issue
   201dc1345bfe i2c: sprd: Prevent i2c accesses after suspend is called
   40d526e67212 bpf: fix uninitialized variable in bpf tools
   09daf2df8db8 x86/cpu/intel: Add missing TLB cpuid values
   75b0436b24d6 ata: ahci: mvebu: override ahci_stop_engine for mvebu AHCI
   48c0bf9af161 libahci: Allow drivers to override stop_engine
   81d27c6ed637 KVM: arm/arm64: vgic: fix possible spectre-v1 in vgic_mmio_read_apr()
   e3d1002e14ce arm64: fix possible spectre-v1 in ptrace_hbp_get_event()
   06beec871640 blk-mq: fix sysfs inflight counter
   11ac08bd73eb HID: intel-ish-hid: use put_device() instead of kfree()
   d803d94a3fcd rpmsg: added MODULE_ALIAS for rpmsg_char
   bb7894391aad remoteproc: qcom: Fix potential device node leaks
   af22d1b7705a perf/x86/intel: Don't enable freeze-on-smi for PerfMon V1
   3958294c661e rds: ib: Fix missing call to rds_ib_dev_put in rds_ib_setup_qp
   9079946f612b selftests: ftrace: Add a testcase for multiple actions on trigger
   27e13b330dd2 HID: wacom: Release device resource data obtained by devres_alloc()
   2f3ca3908fc0 HID: lenovo: Add support for IBM/Lenovo Scrollpoint mice
   e6ec885f5f4c arm64: ptrace: remove addr_limit manipulation
   ef0fa5e6f52b net: ethtool: Add missing kernel doc for FEC parameters
   b1d0907c6fed thermal: int3403_thermal: Fix NULL pointer deref on module load / probe
   56dfe52e04a2 drm/amdkfd: fix clock counter retrieval for node without GPU
   73ea96beb771 ACPI / watchdog: Prefer iTCO_wdt on Lenovo Z50-70
   00a85086e51f ARM: dts: da850: fix W=1 warnings with pinmux node
   9148e21d7624 net: phy: marvell: clear wol event before setting it
   b0471926ceb5 powerpc/powernv/memtrace: Let the arch hotunplug code flush cache
   a4fa9189d608 dt-bindings: meson-uart: DT fix s/clocks-names/clock-names/
   71c8e7432a2e ACPI / PM: Blacklist Low Power S0 Idle _DSM for ThinkPad X1 Tablet(2016)
   d3bd4954286b usb: typec: ucsi: fix tracepoint related build error
   6d2707f26892 mm: memcg: add __GFP_NOWARN in __memcg_schedule_kmem_cache_create()
   cd2cc6d13170 kexec_file: do not add extra alignment to efi memmap
   d497efd805fe proc: revalidate kernel thread inodes to root:root
   a20600762300 mm, pagemap: fix swap offset value for PMD migration entry
   6385f2da8b3b scsi: isci: Fix infinite loop in while loop
   12f9bb1a273e scsi: storvsc: Set up correct queue depth values for IDE devices
   fc0d99fde0d2 parisc: time: Convert read_persistent_clock() to read_persistent_clock64()
   6bf379f26a54 vfs: Undo an overly zealous MS_RDONLY -> SB_RDONLY conversion
   bd595dbfcbd6 net: hns: Avoid action name truncation
   ea7246c25892 blkcg: init root blkcg_gq under lock
   b6126afd64d0 drm/msm: don't deref error pointer in the msm_fbdev_create error path
   5151a0c8d730 drm/msm/dsi: use correct enum in dsi_get_cmd_fmt
   be04f7301d8d drm/msm: Fix possible null dereference on failure of get_pages()
   625b5b8c76d4 ASoC: msm8916-wcd-analog: use threaded context for mbhc events
   705fd605237b netfilter: nf_tables: fix out-of-bounds in nft_chain_commit_update
   d11b04c34894 netfilter: nf_tables: NAT chain and extensions require NF_TABLES
   348288a2699c scsi: target: fix crash with iscsi target and dvd
   4fb7926bba58 scsi: megaraid_sas: Do not log an error if FW successfully initializes.
   af2cc1d2e75c scsi: iscsi: respond to netlink with unicast when appropriate
   3f64c0c502ef tipc: fix infinite loop when dumping link monitor summary
   9d5e2d69705f blkcg: don't hold blkcg lock when deactivating policy
   c5b6316c3f51 spi: cadence: Add usleep_range() for cdns_spi_fill_tx_fifo()
   5f4bf078e779 ASoC: topology: Check widget kcontrols before deref.
   ff3080bab10d xen: xenbus_dev_frontend: Really return response string
   d5cf1ed8d3ae ASoC: topology: Fix bugs of freeing soc topology
   bd8acfd77dd3 PCI: kirin: Fix reset gpio name
   150efd30c3a0 soc: bcm2835: Make !RASPBERRYPI_FIRMWARE dummies return failure
   305043739272 soc: bcm: raspberrypi-power: Fix use of __packed
   d066fd9d7e9b eCryptfs: don't pass up plaintext names when using filename encryption
   3f54483edea2 ASoC: rt5514: Add the missing register in the readable table
   9d33f89c40e9 clk: honor CLK_MUX_ROUND_CLOSEST in generic clk mux
   dccf9862a7f5 dt-bindings: dmaengine: rcar-dmac: document R8A77965 support
   20d681359337 dt-bindings: serial: sh-sci: Add support for r8a77965 (H)SCIF
   20d3d7fa75b2 dt-bindings: pinctrl: sunxi: Fix reference to driver
   5eeb26c58c0a doc: Add vendor prefix for Kieback & Peter GmbH
   3ca7dddaa13f spi: sh-msiof: Fix bit field overflow writes to TSCR/RSCR
   b3ccb8a77ed1 MIPS: dts: Boston: Fix PCI bus dtc warnings:
   ba041775a9a8 isofs: fix potential memory leak in mount option parsing
   d27cd5cb9b38 s390/smsgiucv: disable SMSG on module unload
   e7b720ef94d8 MIPS: io: Add barrier after register read in readX()
   dc94ac5fc410 fsnotify: fix ignore mask logic in send_to_group()
   025e42a5e7a3 perf report: Fix switching to another perf.data file
   7bb0c4bd79ab nfp: ignore signals when communicating with management FW
   d96da2acac5d MIPS: io: Prevent compiler reordering writeX()
   df5524e5483b x86: Add check for APIC access address for vmentry of L2 guests
   9b78e9ddc47a KVM: X86: fix incorrect reference of trace_kvm_pi_irte_update
   176ebf4df971 Input: synaptics-rmi4 - fix an unchecked out of memory error path
   65783949c813 clocksource/drivers/imx-tpm: Correct some registers operation flow
   cda6fd4d9382 Linux 4.14.50
   87883c89b405 crypto: omap-sham - fix memleak
   efc67e746b27 crypto: vmx - Remove overly verbose printk from AES XTS init
   1bc36d12a6ed crypto: vmx - Remove overly verbose printk from AES init routines
   b9705796e44b crypto: cavium - Limit result reading attempts
   072e8b1f58d5 crypto: cavium - Fix fallout from CONFIG_VMAP_STACK
   4854c879107c crypto: caam - fix size of RSA prime factor q
   f535e1c3b394 crypto: caam/qi - fix IV DMA mapping and updating
   9ed3135cab14 crypto: caam - fix IV DMA mapping and updating
   635ac89ea764 crypto: caam - fix DMA mapping dir for generated IV
   ed0a79561189 crypto: caam - strip input zeros from RSA input buffer
   3c42aa03cd6a Input: elan_i2c - add ELAN0612 (Lenovo v330 14IKB) ACPI ID
   c4168f192057 Input: goodix - add new ACPI id for GPD Win 2 touch screen
   53e4b19fcd0c kvm: x86: use correct privilege level for sgdt/sidt/fxsave/fxrstor access
   739ac8f4a516 tty: pl011: Avoid spuriously stuck-off interrupts
   5ee296fde55e vmw_balloon: fixing double free when batching mode is off
   a64ff0bea051 serial: 8250: omap: Fix idling of clocks for unused uarts
   804f09011069 serial: samsung: fix maxburst parameter for DMA transactions
   db30b8eb960a tty/serial: atmel: use port->name as name in request_irq()
   95b8204b4491 serial: sh-sci: Stop using printk format %pCr
   d6a9e699a3c2 usb: gadget: udc: renesas_usb3: disable the controller's irqs for reconnecting
   262af4fe6dff usb: gadget: function: printer: avoid wrong list handling in printer_write()
   874cb201d511 phy: qcom-qusb2: Fix crash if nvmem cell not specified
   cb6b5869658b Input: xpad - add GPD Win 2 Controller USB IDs
   5c2e9e9bf444 usb-storage: Add compatibility quirk flags for G-Technologies G-Drive
   c839680e8cbf usb-storage: Add support for FL_ALWAYS_SYNC flag in the UAS driver
   f31eb7298ba4 usbip: vhci_sysfs: fix potential Spectre v1
   1caeb5022449 NFC: pn533: don't send USB data off of the stack
   f1769a9ba4bf staging: android: ion: Switch to pr_warn_once in ion_buffer_destroy
   bd2742e83660 KVM: x86: pass kvm_vcpu to kvm_read_guest_virt and kvm_write_guest_virt_system
   b1bd9caf5e98 kvm: nVMX: Enforce cpl=0 for VMX instructions
   3d2f03393267 KVM: x86: introduce linear_{read,write}_system
   9791d9d7e2ac KVM: X86: Fix reserved bits check for MOV to CR3
   c7a372ddc3db gpio: No NULL owner
   7d970250cb8d af_key: Always verify length of provided sadb_key
   1cbd5ece0527 blkdev_report_zones_ioctl(): Use vmalloc() to allocate large buffers
   d02ae00ab6d0 netfilter: nf_tables: fix NULL pointer dereference on nft_ct_helper_obj_dump()
   70d7bbd9b504 Linux 4.14.49
   2abd4c3ed20d drm: set FMODE_UNSIGNED_OFFSET for drm files
   3fe4b0cf9383 PCI: hv: Do not wait forever on a device that has disappeared
   dd4be396b8c5 cls_flower: Fix incorrect idr release when failing to modify rule
   c931c9aee2f3 rtnetlink: validate attributes in do_setlink()
   fa11d992533b virtio-net: fix leaking page for gso packet during mergeable XDP
   2b8b2b26c378 net/mlx5e: When RXFCS is set, add FCS data into checksum calculation
   155cd575588b virtio-net: correctly check num_buf during err path
   e2d47fa107f9 tun: Fix NULL pointer dereference in XDP redirect
   43153f090165 net/mlx4: Fix irq-unsafe spinlock usage
   31c1e078e3ca virtio-net: correctly transmit XDP buff after linearizing
   0dbd822f6440 net-sysfs: Fix memory leak in XPS configuration
   900679988fdf net: phy: broadcom: Fix auxiliary control register reads
   8d80a839c179 ipv6: sr: fix memory OOB access in seg6_do_srh_encap/inline
   c5e1541ef6fe vrf: check the original netdevice for generating redirect
   6d431f6e6880 vhost: synchronize IOTLB message with dev cleanup
   f2bb94069f3e team: use netdev_features_t instead of u32
   60473d7034ee sctp: not allow transport timeout value less than HZ/5 for hb_timer
   0a3608662ff6 qed: Fix mask for physical address in ILT entry
   0d751192afde packet: fix reserve calculation
   1c2c7767e876 net: usb: cdc_mbim: add flag FLAG_SEND_ZLP
   8acb0708ab6d net: phy: broadcom: Fix bcm_write_exp()
   c85df6eb6e86 net/packet: refine check for priv area size
   95159ad9635a net: metrics: add proper netlink validation
   341c03313a9a net: ipv4: add missing RTA_TABLE to rtm_ipv4_policy
   be1f1827a89a netdev-FAQ: clarify DaveM's position for stable backports
   c6fae49a447c kcm: Fix use-after-free caused by clonned sockets
   ebe79f9cf44f isdn: eicon: fix a missing-check bug
   3f8f52c5f200 ipv6: omit traffic class when calculating flow hash
   ff33a32949c8 ipv4: remove warning in ip_recv_error
   f1409a73b6f4 ipmr: properly check rhltable_init() return value
   f200de49dff8 ip6_tunnel: remove magic mtu value 0xFFF8
   989986db8f66 ip6mr: only set ip6mr_table from setsockopt when ip6mr_new_table succeeds
   cbf561634db3 enic: set DMA mask to 47 bit
   0d2eb422fe35 dccp: don't free ccid2_hc_tx_sock struct in dccp_disconnect()
   d591263c7947 bnx2x: use the right constant
   128f0d700569 be2net: Fix error detection logic for BE3
   d58cf41924e8 kconfig: Avoid format overflow warning from GCC 8.1
   058dd233b559 btrfs: define SUPER_FLAG_METADUMP_V2
   af760b568ef1 mmap: relax file size limit for regular files
   16d7ceb04b55 mmap: introduce sane default mmap limits
   7cb10a4ce724 scsi: sd_zbc: Avoid that resetting a zone fails sporadically
   1110636ed2d9 scsi: sd_zbc: Fix potential memory leak
   2c6025ebc7fd Linux 4.14.48
   1dd9566d9542 powerpc/mm/slice: Fix hugepage allocation at hint address on 8xx
   399e039634a4 powerpc/mm/slice: Enhance for supporting PPC32
   b8b23e8926b3 powerpc/mm/slice: create header files dedicated to slices
   e14db4feb035 powerpc/mm/slice: Remove intermediate bitmap copy
   c95c5f419e57 drm/i915: Disable LVDS on Radiant P845
   72571f26757e drm/i915/lvds: Move acpi lid notification registration to registration phase
   ffedc7ade784 drm/psr: Fix missed entry in PSR setup time table.
   5890358c60e5 intel_th: Use correct device when freeing buffers
   792be048cf9c Revert "rt2800: use TXOP_BACKOFF for probe frames"
   a7027b7d698e mm/huge_memory.c: __split_huge_page() use atomic ClearPageDirty()
   4a1b66bcec03 IB/core: Fix error code for invalid GID entry
   bdf1daba5f62 hwtracing: stm: fix build error on some arches
   1f8c4ed2dba5 stm class: Use vmalloc for the master map
   a70f19b29560 scsi: scsi_transport_srp: Fix shost to rport translation
   8a6576219da8 MIPS: prctl: Disallow FRE without FR with PR_SET_FP_MODE requests
   f7a36d7ac838 MIPS: ptrace: Fix PTRACE_PEEKUSR requests for 64-bit FGRs
   ed5bd13bec35 MIPS: lantiq: gphy: Drop reboot/remove reset asserts
   6d67a723ef37 iio: adc: select buffer for at91-sama5d2_adc
   838f25e3d9f2 iio:kfifo_buf: check for uint overflow
   30ab9366f763 iio:buffer: make length types match kfifo types
   d30819abd1c4 iio: ad7793: implement IIO_CHAN_INFO_SAMP_FREQ
   a6f81fcb2c39 tcp: avoid integer overflows in tcp_rcv_space_adjust()
   96b086a7bfe5 kbuild: clang: disable unused variable warnings only when constant
   9b6eda5797b1 platform/chrome: cros_ec_lpc: remove redundant pointer request
   a81920c73eb0 ASoC: Intel: sst: remove redundant variable dma_dev_name
   bcc9c6f03201 rtlwifi: rtl8192cu: Remove variable self-assignment in rf.c
   8524af02d132 drm/amd/powerplay: Fix enum mismatch
   074e30a3fc09 dma-buf: remove redundant initialization of sg_table
   5a92c6e3e2f3 drm/i915: Always sanity check engine state upon idling
   151b144bc602 kbuild: clang: remove crufty HOSTCFLAGS
   bc342bc02954 cfg80211: further limit wiphy names to 64 bytes
   9808c97d3cb4 selinux: KASAN: slab-out-of-bounds in xattr_getsecurity
   c6a95f37d3a0 tracing: Make the snapshot trigger work with instances
   8441a0014a29 tracing: Fix crash when freeing instances with event triggers
   2be683020be4 Input: elan_i2c_smbus - fix corrupted stack
   9a85abc79483 Input: synaptics - add Lenovo 80 series ids to SMBus
   9c707c93e179 Input: synaptics - add Intertouch support on X1 Carbon 6th and X280
   af504c5a88b3 Input: synaptics - Lenovo Thinkpad X1 Carbon G5 (2017) with Elantech trackpoints should use RMI
   88859f6cc5c4 Input: synaptics - Lenovo Carbon X1 Gen5 (2017) devices should use RMI
   d1db300b8ffc xfs: detect agfl count corruption and reset agfl
   d9a59eac3fd6 xfs: convert XFS_AGFL_SIZE to a helper function
   54978daa9dc5 PCI: hv: Fix 2 hang issues in hv_compose_msi_msg()
   085fc1967b56 Revert "pinctrl: msm: Use dynamic GPIO numbering"
   4cbe6caa4c6c x86/MCE/AMD: Cache SMCA MISC block addresses
   5df3a1b9f87b x86/mce/AMD: Carve out SMCA get_block_address() code
   6bcf3b066c69 objtool: Fix "noreturn" detection for recursive sibling calls
   806a730c0b0b objtool: Detect RIP-relative switch table references, part 2
   afb5e5c8a125 objtool: Detect RIP-relative switch table references
   2c26d5784e71 objtool: Support GCC 8 switch tables
   1bea53df12c4 objtool: Support GCC 8's cold subfunctions
   b968dd7650c8 mm: fix the NULL mapping case in __isolate_lru_page()
   6a19487d5a93 fix io_destroy()/aio_complete() race

(From OE-Core rev: a08dac36a04e7fa1c14c9a770cabe1a0d9386b1a)

(From OE-Core rev: e98edd9d030ca3dcd8c83bb85ec2fd498770d844)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[Fixup for Sumo context]
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-27 12:17:46 +01:00
Bruce Ashfield
0cfeee98ed linux-yocto/4.12: update to v4.12.28
Integrating Paul Gortmaker's -stable updates to 4.12 that comprise the
following changes:

    f4fd7580487d Linux 4.12.28
    d15dfc7d192f net: mvneta: eliminate wrong call to handle rx descriptor error
    c7a79cbd2b44 net: mvneta: use proper rxq_number in loop on rx queues
    f65f1aed2ef2 net: mvneta: clear interface link status on port disable
    402f4ea26693 tcp: add tcp_ooo_try_coalesce() helper
    035eddf502ef tcp: call tcp_drop() from tcp_data_queue_ofo()
    c224a5920d55 tcp: detect malicious patterns in tcp_collapse_ofo_queue()
    7c5d21c36cec tcp: avoid collapses in tcp_prune_queue() if possible
    f999a5cfc3eb tcp: free batches of packets in tcp_prune_ofo_queue()
    3471d76b1128 net: add rb_to_skb() and other rb tree helpers
    fcd212157f50 libnvdimm, pfn: fix start_pad handling for aligned namespaces
    d90d61722843 libnvdimm, dax: fix 1GB-aligned namespaces vs physical misalignment
    df6a2110169e drm/sun4i: Fix error path handling
    d2d90272068d drm/i915: Flush pending GTT writes before unbinding
    55e3ba836aee powerpc/perf: Dereference BHRB entries safely
    32c5b092ac7e clk: sunxi: sun9i-mmc: Implement reset callback for reset controls
    a472f9b5c546 pinctrl: cherryview: Mask all interrupts on Intel_Strago based systems
    32f9f01a1b49 spi: a3700: Fix clk prescaling for coefficient over 15
    39e2376e2774 spi: xilinx: Detect stall with Unknown commands
    104bf43e4653 Revert "parisc: Re-enable interrupts early"
    2c6a864363b5 parisc: Hide Diva-built-in serial aux and graphics card
    4e92abc4d371 parisc: Align os_hpmc_size on word boundary
    8df2ad333664 ALSA: usb-audio: Add native DSD support for Esoteric D-05X
    2d7184d7f8b1 ALSA: rawmidi: Avoid racy info ioctl via ctl device
    425708ccc413 mfd: twl6040: Fix child-node lookup
    d99aacab316b mfd: twl4030-audio: Fix sibling-node lookup
    cd2ca561cdd7 mfd: cros ec: spi: Don't send first message too soon
    f5d153b69e6a crypto: mcryptd - protect the per-CPU queue with a lock
    01b2634b17f4 acpi, nfit: fix health event notification
    1170a37d5339 ACPI: APEI / ERST: Fix missing error handling in erst_reader()
    0cf5d1f5ce10 bpf: fix incorrect sign extension in check_alu_op()
    39cc58874bfc bpf, sparc: fix usage of wrong reg for load_skb_regs after call
    8c570303798e bpf, ppc64: do not reload skb pointers in non-skb context
    05bd23b36b88 bpf, s390x: do not reload skb pointers in non-skb context
    da92e092ffa7 platform/x86: asus-wireless: send an EV_SYN/SYN_REPORT between state changes
    ab3980511fa0 thermal/drivers/hisi: Fix multiple alarm interrupts firing
    ed7ec377cb05 thermal/drivers/hisi: Simplify the temperature/step computation
    b4322338048d thermal/drivers/hisi: Fix kernel panic on alarm interrupt
    e9b4b6019cc2 thermal/drivers/hisi: Fix missing interrupt enablement
    01f1870f5aa8 IB/opa_vnic: Properly return the total MACs in UC MAC list
    59522364dab2 IB/opa_vnic: Properly clear Mac Table Digest
    84cf0ea1cb2a cpuidle: fix broadcast control when broadcast can not be entered
    fdb28a72dafa rtc: set the alarm to the next expiring timer
    245a952509f6 tcp: fix under-evaluated ssthresh in TCP Vegas
    ebe28298b759 clk: sunxi-ng: sun6i: Rename HDMI DDC clock to avoid name collision
    c31c122f7744 staging: greybus: light: Release memory obtained by kasprintf
    7900ee86e495 net: ipv6: send NS for DAD when link operationally up
    0c8d7ea9c7db ibmvnic: Set state UP
    eb3237c59a98 fm10k: ensure we process SM mbx when processing VF mbx
    a076534d71b3 vfio/pci: Virtualize Maximum Payload Size
    0e8c3cf3f83e i40e: fix client notify of VF reset
    2e3bad157461 scsi: lpfc: PLOGI failures during NPIV testing
    022e3fe9ac98 scsi: lpfc: Fix secure firmware updates
    9e7341570bf9 fm10k: fix mis-ordered parameters in declaration for .ndo_set_vf_bw
    af88451b2676 ASoC: codecs: msm8916-wcd-analog: fix module autoload
    2fc38deb5bed ASoC: img-parallel-out: Add pm_runtime_get/put to set_fmt callback
    4529e660bc83 tracing: Exclude 'generic fields' from histograms
    3485fd44f243 PCI/AER: Report non-fatal errors only to the affected endpoint
    64e367610786 Bluetooth: BT_HCIUART now depends on SERIAL_DEV_BUS
    47663fe61367 Bluetooth: hci_uart_set_flow_control: Fix NULL deref when using serdev
    58adf4fe65f8 md: always set THREAD_WAKEUP and wake up wqueue if thread existed
    e9f7be0e550e block,bfq: Disable writeback throttling
    c09fcc304541 IB/rxe: put the pool on allocation failure
    392f4c00adca IB/rxe: check for allocation failure on elem
    179099ba0d69 ixgbe: fix use of uninitialized padding
    e2e131da3b6b i40e: use the safe hash table iterator when deleting mac filters
    757ad831c703 igb: check memory allocation failure
    e156a3afb676 PM / OPP: Move error message to debug level
    9bd17b3b4bb6 PCI: Create SR-IOV virtfn/physfn links before attaching driver
    54da833e63b0 scsi: mpt3sas: Fix IO error occurs on pulling out a drive from RAID1 volume created on two SATA drive
    929cc7c94e3b scsi: cxgb4i: fix Tx skb leak
    84aa72a81de3 PCI: Avoid bus reset if bridge itself is broken
    3932edaebc65 net: phy: at803x: Change error to EINVAL for invalid MAC
    e9bd07539e3f rtc: pl031: make interrupt optional
    9f77ab2f562c crypto: lrw - Fix an error handling path in 'create()'
    59e5a2e7eec9 crypto: crypto4xx - increase context and scatter ring buffer elements
    13c0df6a379d clk: sunxi-ng: sun5i: Fix bit offset of audio PLL post-divider
    68e13e506d6e clk: sunxi-ng: nm: Check if requested rate is supported by fractional clock
    3996734fc715 drm: Add retries for lspcon mode detection
    77190a6d2d57 backlight: pwm_bl: Fix overflow condition
    d3b4b8043ff7 optee: fix invalid of_node_put() in optee_driver_init()
    752218b19686 posix-timer: Properly check sigevent->sigev_notify
    16c39a33a5c6 ACPI / APEI: adjust a local variable type in ghes_ioremap_pfn_irq()
    ba0b2e6cbb82 Linux 4.12.27
    feea4d492d73 usb: musb: da8xx: fix babble condition handling
    6d8d83c4ec67 ath10k: fix build errors with !CONFIG_PM
    00e875f83a3c ath9k: fix tx99 potential info leak
    01cf18e17476 lightnvm: pblk: fix min size for page mempool
    4413575d48be lightnvm: pblk: initialize debug stat counter
    87135620a06a lightnvm: pblk: fix changing GC group list for a line
    3b1abf7d20f6 icmp: don't fail on fragment reassembly time exceeded
    4be8ae2da97b IB/ipoib: Fix lockdep issue found on ipoib_ib_dev_heavy_flush
    7d284754ed54 IB/ipoib: Grab rtnl lock on heavy flush when calling ndo_open/stop
    634b3e0fefd7 RDMA/cma: Avoid triggering undefined behavior
    f9f24086ba42 macvlan: Only deliver one copy of the frame to the macvlan interface
    aba3745fc9b0 udf: Avoid overflow when session starts at large offset
    4a9bf3983ef9 md-cluster: fix wrong condition check in raid1_write_request
    e08da1a3d9d5 raid5-ppl: check recovery_offset when performing ppl recovery
    a6b9b60622b0 scsi: bfa: integer overflow in debugfs
    a6adc19ff5a4 scsi: sd: change allow_restart to bool in sysfs interface
    d23a6641b217 scsi: sd: change manage_start_stop to bool in sysfs interface
    be59ef05ed52 rtl8188eu: Fix a possible sleep-in-atomic bug in rtw_disassoc_cmd
    9257df5ece69 vt6655: Fix a possible sleep-in-atomic bug in vt6655_suspend
    5d0d0b750520 IB/core: Fix calculation of maximum RoCE MTU
    950215a22a7a scsi: scsi_devinfo: Add REPORTLUN2 to EMC SYMMETRIX blacklist entry
    40dd3da9911d raid5: Set R5_Expanded on parity devices as well as data.
    d63147f7712f pinctrl: adi2: Fix Kconfig build problem
    b25a34c20291 dev/dax: fix uninitialized variable build warning
    3b928d69ed7c tty fix oops when rmmod 8250
    6fd73bd5acc5 ipv4: ipv4_default_advmss() should use route mtu
    e8552a24db2a soc: mediatek: pwrap: fix compiler errors
    023499e5fff8 powerpc/xmon: Check before calling xive functions
    7092b9c569ee powerpc/perf/hv-24x7: Fix incorrect comparison in memord
    d85bb8676f60 serdev: ttyport: enforce tty-driver open() requirement
    dcc2d9b7db19 mfd: mxs-lradc: Fix error handling in mxs_lradc_probe()
    d7630ac47698 scsi: hpsa: destroy sas transport properties before scsi_host
    a2133c918746 scsi: hpsa: cleanup sas_phy structures in sysfs when unloading
    37686080a0c8 PCI: Detach driver before procfs & sysfs teardown on device remove
    585eb66776b7 RDMA/cxgb4: Declare stag as __be32
    06a21042a540 xfs: fix incorrect extent state in xfs_bmap_add_extent_unwritten_real
    98da748f2c95 xfs: fix log block underflow during recovery cycle verification
    9aaebfb38490 l2tp: cleanup l2tp_tunnel_delete calls
    4fd806e81bcb nvme: use kref_get_unless_zero in nvme_find_get_ns
    377d9449f868 platform/x86: hp_accel: Add quirk for HP ProBook 440 G4
    89e9f0fce2a4 liquidio: fix kernel panic in VF driver
    85aad298ecc2 samples/bpf: adjust rlimit RLIMIT_MEMLOCK for xdp1
    767f9da42096 ARM64: dts: meson-gxbb-odroidc2: fix usb1 power supply
    65743dd02181 mtd: spi-nor: stm32-quadspi: Fix uninitialized error return code
    0501313aa697 btrfs: tests: Fix a memory leak in error handling path in 'run_test()'
    563e097ec448 btrfs: avoid null pointer dereference on fs_info when calling btrfs_crit
    3faadbbe68b1 btrfs: undo writable superblocke when sprouting fails
    7028f26c6034 btrfs: Explicitly handle btrfs_update_root failure
    3f0a4dfc8eb9 Bluetooth: hci_ldisc: Fix another race when closing the tty.
    abb921b20fa0 Ib/hfi1: Return actual operational VLs in port info query
    879b18ebb8f4 bcache: fix wrong cache_misses statistics
    744eb7bd3386 bcache: explicitly destroy mutex while exiting
    653aad5c1702 media: usbtv: fix brightness and contrast controls
    c4d5c7940953 GFS2: Take inode off order_write list when setting jdata flag
    2e510357e1a6 scsi: scsi_debug: write_same: fix error report
    56c755841ee6 misc: pci_endpoint_test: Avoid triggering a BUG()
    b55d52393e28 misc: pci_endpoint_test: Fix failure path return values in probe
    aeac8e4c0c15 thermal/drivers/step_wise: Fix temperature regulation misbehavior
    aaca414203c4 ASoC: rsnd: rsnd_ssi_run_mods() needs to care ssi_parent_mod
    0587e5a36d00 ppp: Destroy the mutex when cleanup
    4a7735ca4455 clk: tegra: Fix cclk_lp divisor register
    0006385aadd0 clk: tegra: Use readl_relaxed_poll_timeout_atomic() in tegra210_clock_init()
    6ae2754d991b blk-mq-sched: dispatch from scheduler IFF progress is made in ->dispatch
    ec4585cdc959 clk: hi6220: mark clock cs_atb_syspll as critical
    f203d6193f5c clk: imx6: refine hdmi_isfr's parent to make HDMI work on i.MX6 SoCs w/o VPU
    c9ce9a4d1734 clk: imx: imx7d: Fix parent clock for OCRAM_CLK
    5f200f317929 clk: mediatek: add the option for determining PLL source clock
    6f7955a0aa2a crypto: tcrypt - fix buffer lengths in test_aead_speed()
    40734099baaa xfs: truncate pagecache before writeback in xfs_setattr_size()
    165b974bd72a iommu/amd: Limit the IOVA page range to the specified addresses
    a2e1fcc04fb6 badblocks: fix wrong return value in badblocks_set if badblocks are disabled
    75920b77b802 target/file: Do not return error for UNMAP if length is zero
    ca73c042292d target:fix condition return in core_pr_dump_initiator_port()
    8e2ee3f5ff33 iscsi-target: fix memory leak in lio_target_tiqn_addtpg()
    f1ae60da96df target/iscsi: Fix a race condition in iscsit_add_reject_from_cmd()
    d5adfbee09dc target/iscsi: Detect conn_cmd_list corruption early
    edd7fdf83184 platform/x86: intel_punit_ipc: Fix resource ioremap warning
    da2aa58cb07b powerpc/pseries/vio: Dispose of virq mapping on vdevice unregister
    2ae1d60028ab powerpc/ipic: Fix status get and status clear
    1d0cfd6df447 powerpc/opal: Fix EBUSY bug in acquiring tokens
    88189efa7ee7 netfilter: ipvs: Fix inappropriate output of procfs
    39254860365c iommu/mediatek: Fix driver name
    c82f9ea385ab PCI: dwc: Fix enumeration end when reaching root subordinate
    5dad0dfd17df PCI: Do not allocate more buses than available in parent
    4a917030981d powerpc: Don't preempt_disable() in show_cpuinfo()
    0bc0d339ff6c powerpc/powernv/cpufreq: Fix the frequency read by /proc/cpuinfo
    7842177fdc43 PCI/PME: Handle invalid data when reading Root Status
    301c44edb5a1 dmaengine: ti-dma-crossbar: Correct am335x/am43xx mux value type
    2761bc37b1c2 ASoC: Intel: Skylake: Fix uuid_module memory leak in failure case
    c42830902147 PM / s2idle: Clear the events_check_enabled flag
    9c70ec2c413d scsi: aacraid: address UBSAN warning regression
    3819c3c756b0 scsi: aacraid: use timespec64 instead of timeval
    e262d43729be rtc: pcf8563: fix output clock rate
    3ecf1bdeb61e video: fbdev: au1200fb: Return an error code if a memory allocation fails
    d56242baba22 video: fbdev: au1200fb: Release some resources if a memory allocation fails
    3b53b4e4c0ab video: udlfb: Fix read EDID timeout
    f50c8ab6dc0d fbdev: controlfb: Add missing modes to fix out of bounds access
    bfbfacb318cd sfc: don't warn on successful change of MAC
    ae058bf77e63 HID: cp2112: fix broken gpio_direction_input callback
    91590951dec1 ext4: fix crash when a directory's i_size is too small
    4fae0491c35c ext4: fix fdatasync(2) after fallocate(2) operation
    df19eb58d7be dmaengine: dmatest: fix container_of member in dmatest_callback
    100cb4506fb4 dmaengine: dmatest: move callback wait queue to thread context
    4d873e954ac0 eeprom: at24: change nvmem stride to 1
    b90737b239b0 iw_cxgb4: only insert drain cqes if wq is flushed
    6b1f48a27656 dm: fix various targets to dm_register_target after module __init resources created
    26c2e6fc10f1 scsi: core: Fix a scsi_show_rq() NULL pointer dereference
    04039227baf7 nfsd: auth: Fix gid sorting when rootsquash enabled
    143fdc512ac6 NFS: Fix unstable write completion
    7482c56f758c NFS: Use an atomic_long_t to count the number of commits
    3ef4a32040bf nfs: don't wait on commit in nfs_commit_inode() if there were no commit requests
    4a70dd38f444 xhci: Don't add a virt_dev to the devs array before it's fully allocated
    fa7944fd5601 usb: xhci: fix TDS for MTK xHCI1.1
    80aa2eb9b51b ceph: drop negative child dentries before try pruning inode's alias
    b9db0ab47687 mmc: core: apply NO_CMD23 quirk to some specific cards
    ff1b82c5314c usbip: fix stub_send_ret_submit() vulnerability to null transfer_buffer
    cea2ad71f37b usbip: fix stub_rx: harden CMD_SUBMIT path to handle malicious input
    1e5edda8ccd3 usbip: fix stub_rx: get_pipe() to validate endpoint number
    3ac1e4089c48 USB: core: prevent malicious bNumInterfaces overflow
    2479ee21bf60 USB: uas and storage: Add US_FL_BROKEN_FUA for another JMicron JMS567 ID
    b3fd05a19818 tracing: Allocate mask_str buffer dynamically
    5eb37713e296 kernel: make groups_sort calling a responsibility group_info allocators
    d87a616735d8 cifs: fix NULL deref in SMB2_read
    d22121ce1210 crypto: rsa - fix buffer overread when stripping leading zeroes
    0ad02bd37731 mfd: fsl-imx25: Clean up irq settings during removal

(From OE-Core rev: 408daaa6d0fb2147a541b0f14d73b362bd848d3c)

(From OE-Core rev: 768051963683a354a80e11c7d792791b160c2f2b)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
{Fixup for Sumo context]
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-27 12:17:45 +01:00
Armin Kuster
8cdabe1f6f binutils: Change the ARM assembler's ADR and ADRl pseudo-ops so that they will only set the bottom bit of imported thumb function symbols if the -mthumb-interwork option is active.
[Yocto 12865]

< 2.30

(From OE-Core rev: a1c0135e96bca684db0e3a7c6209c0cb2054f306)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-27 12:17:45 +01:00
Jagadeesh Krishnanjanappa
79083fcd0d libcgroup: CVE-2018-14348
Affects libcgroup <= 0.41

(From OE-Core rev: 37101fa37107c498393492ccdbc8652f685b6cce)

(From OE-Core rev: e3254b4ec0f7c22cca1952df22df6568b8d8b81c)

Signed-off-by: Jagadeesh Krishnanjanappa <jkrishnanjanappa@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-27 12:17:45 +01:00
Jagadeesh Krishnanjanappa
64367bbb6b libarchive: CVE-2017-14501
iso9660: validate directory record length

Affects libarchive <= 3.3.2

(From OE-Core rev: dea4280623f945c06e8132c888988373e686318e)

(From OE-Core rev: ab1bfa1872d44ea7fff096df781521143a907545)

Signed-off-by: Jagadeesh Krishnanjanappa <jkrishnanjanappa@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-27 12:17:45 +01:00
Andrej Valek
f86492cca4 wpa-supplicant: fix CVE-2018-14526
Ignore unauthenticated encrypted EAPOL-Key data in supplicant
processing. When using WPA2, these are frames that have the Encrypted
flag set, but not the MIC flag.

(From OE-Core rev: a5a07887e73ebf0aa6b3b1fa247e44743b39322e)

(From OE-Core rev: 96f69ae45a47a8aeb17b494b128e034fb12a5e98)

Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-27 12:17:45 +01:00
Joshua Lock
a43adeb1e3 os-release: fix to install in the expected location
os-release (5) recommends that the os-release file be installed in
/usr/lib/os-release and that /etc/os-release be a relative symlink to it.

(From OE-Core rev: 4feb8614ee25a3d3ceb7f5187120a1256a993155)

(From OE-Core rev: 4e67fa950cd3ca6e44d7f46743904d23a756e498)

Signed-off-by: Joshua Lock <joshua.g.lock@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-27 12:17:45 +01:00
Khem Raj
d4234f8a2f serf: Fix Sconstruct build with python 3.7
These patches will be needed to build serf on hosts with
python 3.7+

(From OE-Core rev: ab0be544b392bbd6cb1dc91edd5fe8563d7de393)

(From OE-Core rev: ffe1795dc6daf9999e1be858a4e97a4c2cf44526)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-27 12:17:45 +01:00
Changqing Li
d759a0659b libice: patch for CVE-2017-2626
(From OE-Core rev: 890093056ccff294364cc768bd797cb54fcbcee3)

(From OE-Core rev: 52d3c4c644807a8fe3badc5aa025c1d48ec67c16)

Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-27 12:17:45 +01:00
Yi Zhao
337e750c40 taglib: Security fix CVE-2018-11439
CVE-2018-11439: The TagLib::Ogg::FLAC::File::scan function in
oggflacfile.cpp in TagLib 1.11.1 allows remote attackers to cause
information disclosure (heap-based buffer over-read) via a crafted audio
file.

References:
https://nvd.nist.gov/vuln/detail/CVE-2018-11439

Patch from:
272648ccfc

(From OE-Core rev: a300c4917b6c22ef039158be7ae92055c35658d4)

(From OE-Core rev: 4b4c663fe048be7e7c39addb022a7ae471c743de)

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-27 12:17:45 +01:00
Armin Kuster
15fe03a352 xserver-xorg: config: fix NULL value detection for ID_INPUT being unset
Fixes Yocto # 12899

Xorg.log message:

(II) config/udev: Adding input device (unnamed) (/dev/tty59)

and cause system freezes.

(From OE-Core rev: e29a330e04baf0881805e4a36d28bafad7fcd318)

(From OE-Core rev: b5fb3a7c5c873747eaa028d588a22a1ca1956544)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-27 12:17:45 +01:00
Changqing Li
a8fd685dfb libid3tag: patch for CVE-2004-2779
(From OE-Core rev: e2bec1f7e05ec014bd887440521da7e1a13555be)

(From OE-Core rev: 86be219d43a72f4786bda25e8c544925b42f3a2f)

Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-27 12:17:45 +01:00
Changqing Li
d3e6b9e6f4 libcroco: patch for CVE-2017-7960
(From OE-Core rev: 2539d7334cbe9693ebe68d33c7a97872a1645510)

(From OE-Core rev: 3abf7932e43115cc6f9a1c85a00e6578bb327b9a)

Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-27 12:17:45 +01:00
Changqing Li
6a1b1ea620 squashfs-tools: patch for CVE-2015-4645(4646)
(From OE-Core rev: 8aa8bc77ef311b1c9dffcd2e2c0da610697b89fd)

(From OE-Core rev: cf3b59c3466d45ce4451dc8d775350e4762fe6d1)

Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-27 12:17:45 +01:00
Changqing Li
b0c32939f2 libexif: patch for CVE-2017-7544
(From OE-Core rev: b25f5e8efbe723520fa6e6311767c35e4cb71859)

(From OE-Core rev: 221e5fca3aa222e67fb6af248a99b2d0f0d1f6a0)

Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-27 12:17:45 +01:00
Mike Looijmans
6af1b257ed busybox/mdev-mount.sh: Fix partition detect and cleanup mountpoint on fail
This fixes issues mainly seen when mounting eMMC devices:

The wildcard /sys/block/${DEVBASE}/${DEVBASE}*1 matches both "mmcblk0p1"
and "mmcblk0boot1" for example, and this results in syntax errors. Fix this
by searching for a "partition" file instead, which only exists for real
partitions and not 'fakes' like the eMMC extra's.

When mount fails, the mountpoint file is left behind, causing later attempts
at auto-mounting it to fail. If mount fails, remove the mountpoint, leaving
the system in the state as it was before the mount attempt.

(From OE-Core rev: 8645c0419456c1bd3ae15a9a7dd2b2e9a960eaf4)

(From OE-Core rev: 38f1648f1472f70a3e747f270cc3230b5993d94b)

Signed-off-by: Mike Looijmans <mike.looijmans@topic.nl>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-27 12:17:45 +01:00
Chen Qi
7da5ae7927 busybox: move init related configs to init.cfg
Move init related configs to init.cfg.

These config items do not make much sense unless busybox is selected
as the init manager. They should belong to init.cfg.

(From OE-Core rev: 4af10fe67a31368163bb5d468ee2c5a85ce0fff3)

(From OE-Core rev: 996247ba7dfffbeb444f793f7e105fcfb5ffa939)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-27 12:17:45 +01:00
Yadi.hu
63eae5751e busybox: handle syslog
If CONFIG_KLOGD is not enabled, then the related service file should
not be installed, The error message is below:

    Cannot add dependency job for unit busybox-klogd.service,
    ignoring: Unit busybox-klogd.service failed to load:
    No such file or directory.

So we should first check the configuration before we install these
service files.

(From OE-Core rev: c3cc402df996654bf6f838b1e79e16a8bdd6d4d7)

(From OE-Core rev: df1cd90140456dbed0c1bd29ead7c1c81f498b99)

Signed-off-by: Yadi.hu <yadi.hu@windriver.com>
Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-27 12:17:45 +01:00
Yi Zhao
9afe31b30c blktrace: Security fix CVE-2018-10689
CVE-2018-10689: blktrace (aka Block IO Tracing) 1.2.0, as used with the
Linux kernel and Android, has a buffer overflow in the dev_map_read
function in btt/devmap.c because the device and devno arrays are too
small, as demonstrated by an invalid free when using the btt program
with a crafted file.

References:
https://nvd.nist.gov/vuln/detail/CVE-2018-10689

Patch from:
https://git.kernel.org/pub/scm/linux/kernel/git/axboe/blktrace.git/commit/?id=d61ff409cb4dda31386373d706ea0cfb1aaac5b7

(From OE-Core rev: 6a7ed8b1db10abd38bdd20c77a8f27427d381156)

(From OE-Core rev: 54b26752149d945955569f163bf9dd1595970d35)

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-27 12:17:45 +01:00
Chen Qi
28c68772cb util-linux: upgrade 2.32 -> 2.32.1
(From OE-Core rev: 711f867b1d036aba04e839e955e0fa9d81d3c794)

(From OE-Core rev: a925096c62b2034c824bfdf68631e037809b6a30)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[Bug fix update]
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-27 12:17:45 +01:00
Karsten Strand
51872d3f99 bitbake: bitbake: toaster: Fix comparison in recipe template
Use == instead of = when comparing task outcome to OUTCOME_FAILED.

Prior to this fix the recipe template would cause a TemplateSyntaxError
exception.

(Bitbake rev: a53ffec4ed3d0f9221bca398e20e8f480fb2b325)

(Bitbake rev: bef6ef1a79b2d5a3688ae845824f722c332d7f19)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-10 12:15:04 +01:00
Awais Belal
73c29f321a bitbake: toaster/layerdetails.js: don't hide local layer info
The local layer info (provided through custom fixtures) should
not be hidden. It is better to handle it in the same manner
as an imported layer, otherwise the layer path and dependency
info is not shown. The layer editing fields are handled in the
html side of things appropriately so this does not harm that
implementation.

[YOCTO #12891]

(Bitbake rev: 75918405346abde6055658372c1a954a214001cc)

Signed-off-by: Awais Belal <awais_belal@mentor.com>
Signed-off-by: David Reyna <David.Reyna@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-10 12:15:04 +01:00
Awais Belal
0b15ee38ad bitbake: toaster/models.py: allow local paths for custom recipe's base
In a case where the layer source is local only and the recipe
is not yet built, we can search for the path with layer's
local_source_dir, and if available that should be used rather
than just skipping the scenario.

[YOCTO #12891]

(Bitbake rev: 30f622dbd874b800c5bbdbeac992dd7783092928)

Signed-off-by: Awais Belal <awais_belal@mentor.com>
Signed-off-by: David Reyna <David.Reyna@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-10 12:15:04 +01:00
Awais Belal
1ba6706ce2 bitbake: toaster/checksettings: allow CUSTOM_XML_ONLY setting through env
This change allows the CUSTOM_XML_ONLY toaster setting to be
provided through the environment so the user can do this without
mingling with the settings.xml, for scenarios where modifying
settings.xml is not achievable.

[YOCTO #12891]

(Bitbake rev: 87060a84e74125be10db062da3032e9b01f5dc96)

Signed-off-by: Awais Belal <awais_belal@mentor.com>
Signed-off-by: David Reyna <David.Reyna@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-10 12:15:04 +01:00
Awais Belal
e4c6642adc bitbake: toastergui/newproject.html: fix release divs
The release drop down divs are not being closed
appropriately, which showed adverse reactions on
the UI that aligned the "Create project" button
with the left edge of the screen without any
margins. This fixes these divs which in turn
aligns the button appropriately.

[YOCTO #12891]

(Bitbake rev: bc6a137f4f8193cadfa8a8d0e43875991d47a818)

Signed-off-by: Awais Belal <awais_belal@mentor.com>
Signed-off-by: David Reyna <David.Reyna@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-10 12:15:04 +01:00
Awais Belal
61428c05bb bitbake: toaster/widgets.py: avoid divide by zero issues
There can be cases where the variables being used
to divide in build percentage expressions can be
zero. For example, a setup consisting of only local
repos will have repos_to_clone=0 and will generate
a divide by zero scenario.
Fix this by checking the divisor in such cases.

[YOCTO #12891]

(Bitbake rev: 30702f29928c3b088f199bf8b1609b2956f8c47a)

Signed-off-by: Awais Belal <awais_belal@mentor.com>
Signed-off-by: David Reyna <David.Reyna@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-10 12:15:04 +01:00
Awais Belal
90a9b1b0f5 bitbake: bitbake: toaster: allow TOASTER_DIR to be overridden from cmdline
TOASTER_DIR is used for higher level toaster artifacts
such the SQL DB and creating toaster internal build
directories for projects. Prior to this change it was
evaluated as `dirname $BUILDDIR` and user had no control
over it. This change allows to override this variable
from the command line for more flexibility. The variable
defaults to its original setting if the optional argument
is not passed.

[YOCTO #12891]

(Bitbake rev: e073775d3b6980fc8004ae28a3ccc3c5bbf50fb2)

(Bitbake rev: 486e571b1caaf7f86f8f969c512566487bcd9841)

Signed-off-by: Awais Belal <awais_belal@mentor.com>
Signed-off-by: David Reyna <David.Reyna@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-10 12:15:04 +01:00
Awais Belal
c1f5ec8f43 bitbake: toaster: use a more flexible way to find bitbake
The current mechanism for finding the bitbake binary
assumes a directory structure which is identical to
poky, where oe-core's meta and bitbake directories are
at the same level. There can be a case where bitbake
is used from elsewhere and in such cases the above
mentioned assumption fails to hold, whereas this is
totally allowed by the oe-init-build-env script which
can take bitbakedir as an argument.
The better approach is to allow bitbake to be derived
from PATH, while keeping the older mechanism in place so
it can be removed after tests are done in various
environments. This makes more sense as toaster has
also been launched from the same bitbake instance
that is the one in PATH.

[YOCTO #12891]

(Bitbake rev: 15340edce23e63b060c75114d508e1f76757239c)

Signed-off-by: Awais Belal <awais_belal@mentor.com>
Signed-off-by: David Reyna <David.Reyna@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-10 12:15:04 +01:00
Awais Belal
e44bb5b5c8 bitbake: toaster: allow pokydirname to be evaluated when all layers are local
Toaster depends on pokydirname for identifying the location of
the oe-init-build-env script (and there might be other purposes
in the future). The problem with current approach is that it
only checks/sets the variable with git based repos, whereas
toaster provides mechanisms to allow having layers that are all
locally available. The evaluation of the variable fails in such
scenarios, so use a more flexible mechanism in this case and
try to locate poky in the local layers as well, if not already
set.

[YOCTO #12891]

(Bitbake rev: 971c728075af05e71edfd8e5212728c3dd0787b6)

Signed-off-by: Awais Belal <awais.belal@mentor.com>
Signed-off-by: David Reyna <David.Reyna@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-10 12:15:04 +01:00
Ross Burton
45ef387cc5 bitbake: checksum: sanity check path when recursively checksumming
In case something goes tragically wrong, catch a request to checksum / and
refuse.

(Bitbake rev: 7444419b7fda34e14d653ba8470f5dfabb5da4f3)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-29 15:23:51 +01:00
Ross Burton
ee176ddba8 bitbake: utils/md5_file: don't iterate line-by-line
Opening a file in binary mode and iterating it seems like the simple solution
but will still break on newlines, which for binary files isn't really useful as
the size of the chunks could be huge or tiny.

Instead, let's be a bit more clever: we'll be MD5ing lots of files, but we don't
want to fill up memory: use mmap() to open the file and read the file in 8k
blocks.

(Bitbake rev: 41e6161c8ce8cc90ebc93d72852673ae60fac923)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-29 15:23:51 +01:00
Joshua Watt
8f7fb9baf8 swig: Remove superfluous python dependency
The actual dependency on native Python and is handled by inheriting
python3native

(From OE-Core rev: 115a6dea664c9b18fd19b79659029afb52b1a660)

(From OE-Core rev: 82b018956763bf85b90d512c8a6bc96d59fa67fd)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-29 15:23:51 +01:00
Hongxu Jia
63a0057efb patch: fix CVE-2018-6952
(From OE-Core rev: 1314a6953aa647706107557faaba8574e307d2bd)

(From OE-Core rev: 100d7f19b7075b54dcc60f07ef8159e0e4f5be8c)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-29 15:23:51 +01:00
Jagadeesh Krishnanjanappa
90cb0ee1c2 perl: CVE-2018-12015
Remove existing files before overwriting them

Archive should extract only the latest same-named entry.
Extracted regular file should not be writtent into existing block
device (or any other one).

https://rt.cpan.org/Ticket/Display.html?id=125523

Affects perl <= 5.26.2

(From OE-Core rev: ca005cd857f8e79b135c43526d5b792478a07eb3)

Signed-off-by: Jagadeesh Krishnanjanappa <jkrishnanjanappa@mvista.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-29 15:23:51 +01:00
Jagadeesh Krishnanjanappa
4f6ff3e60c perl: CVE-2018-6913
(perl #131844) fix various space calculation issues in
 pp_pack.c

- for the originally reported case, if the start/cur pointer is in the
  top 75% of the address space the add (cur) + glen addition would
  overflow, resulting in the condition failing incorrectly.

- the addition of the existing space used to the space needed could
  overflow, resulting in too small an allocation and a buffer overflow.

- the scaling for UTF8 could overflow.

- the multiply to calculate the space needed for many items could
  overflow.

For the first case, do a space calculation without making new pointers.

For the other cases, detect the overflow and croak if there's an
overflow.

Originally this used Size_t_MAX as the maximum size of a memory
allocation, but for -DDEBUGGING builds realloc() throws a panic for
allocations over half the address space in size, changing the error
reported for the allocation.

For non-DEBUGGING builds the Size_t_MAX limit has the small chance
of finding a system that has 3GB of contiguous space available, and
allocating that space, which could be a denial of servce in some cases.

Unfortunately changing the limit to half the address space means that
the exact case with the original issue can no longer occur, so the
test is no longer testing against the address + length issue that
caused the original problem, since the allocation is failing earlier.

One option would be to change the test so the size request by pack is
just under 2GB, but this has a higher (but still low) probability that
the system has the address space available, and will actually try to
allocate the memory, so let's not do that.

Note: changed
plan tests => 14713;
to
plan tests => 14712;
in a/t/op/pack.t
to apply this patch on perl 5.24.1.

Affects perl < 5.26.2

(From OE-Core rev: 0542779d2f1a8977a732800a8998fd88971c0c1d)

Signed-off-by: Jagadeesh Krishnanjanappa <jkrishnanjanappa@mvista.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-29 15:23:51 +01:00
Jagadeesh Krishnanjanappa
69728984e3 perl: CVE-2018-6797
(perl #132227) restart a node if we change to uni rules within the node and encounter...
This could lead to a buffer overflow.

(cherry picked from commit a02c70e35d1313a5f4e245e8f863c810e991172d)

Affects perl >= 5.18 && perl <= 5.26

(From OE-Core rev: 109ffd1b3d10753bfd711a14ad59b194ca3ce831)

Signed-off-by: Jagadeesh Krishnanjanappa <jkrishnanjanappa@mvista.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-29 15:23:51 +01:00
Jagadeesh Krishnanjanappa
7273f1183f perl: CVE-2018-6798
* CVE-2018-6798-1
 The proximal cause is several instances in regexec.c of the code
 assuming that the input was valid UTF-8, whereas the input was too short
 for what the start byte claimed it would be.

 I grepped through the core for any other similar uses, and did not find
 any.

 (cherry picked from commit fe7d8ba0a1bf567af8fa8fea128e2b9f4c553e84)

* CVE-2018-6798-2
 The first patch for 132063 prevented the buffer read overflow when
 dumping the warning but didn't fix the underlying problem.

 The next change treats the supplied buffer correctly, preventing the
 non-UTF-8 SV from being treated as UTF-8, preventing the warning.

 (cherry picked from commit 1e8b61488f195e1396aa801c685340b156104f4f)

Affects perl >= 5.22 && perl <= 5.26

(From OE-Core rev: 4aaf09b9d657b1c2df85bf509008beacd6a00342)

Signed-off-by: Jagadeesh Krishnanjanappa <jkrishnanjanappa@mvista.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-29 15:23:51 +01:00
Jagadeesh Krishnanjanappa
d82d8d4315 qemu: CVE-2018-12617
qga: check bytes count read by guest-file-read

While reading file content via 'guest-file-read' command,
'qmp_guest_file_read' routine allocates buffer of count+1
bytes. It could overflow for large values of 'count'.
Add check to avoid it.

Affects qemu < v3.0.0

(From OE-Core rev: a11c8ee86007f7f7a34b9dc29d01acc323b71873)

Signed-off-by: Jagadeesh Krishnanjanappa <jkrishnanjanappa@mvista.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-29 15:23:51 +01:00
Jagadeesh Krishnanjanappa
2ef1650794 qemu: CVE-2018-7550
multiboot: bss_end_addr can be zero

The multiboot spec
(https://www.gnu.org/software/grub/manual/multiboot/),
section 3.1.3, allows for bss_end_addr to be zero.

A zero bss_end_addr signifies there is no .bss section.

Affects qemu < v2.12.0

(From OE-Core rev: 9f1d026168956e7bf45135577c123f7679a6ebba)

Signed-off-by: Jagadeesh Krishnanjanappa <jkrishnanjanappa@mvista.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-29 15:23:51 +01:00
Jagadeesh Krishnanjanappa
46d4ce537d python: CVE-2018-1000030
* CVE-2018-1000030-1
[2.7] bpo-31530: Stop crashes when iterating over a file on multiple threads

* CVE-2018-1000030-2
Multiple threads iterating over a file can corrupt the file's internal readahead
buffer resulting in crashes. To fix this, cache buffer state thread-locally for
the duration of a file_iternext call and only update the file's internal state
after reading completes.

No attempt is made to define or provide "reasonable" semantics for iterating
over a file on multiple threads. (Non-crashing) races are still
present. Duplicated, corrupt, and missing data will happen.

This was originally fixed by 6401e56, which
raised an exception from seek() and next() when concurrent operations were
detected. Alas, this simpler solution breaks legitimate use cases such as
capturing the standard streams when multiple threads are logging.

Affects python <= 2.7.14

(From OE-Core rev: 4b6c84e0f950f839bfb8c40f197197f838d8b733)

Signed-off-by: Jagadeesh Krishnanjanappa <jkrishnanjanappa@mvista.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-29 15:23:51 +01:00
Jagadeesh Krishnanjanappa
ac9770edca procps: CVE-2018-1124
proc/readproc.c: Fix bugs and overflows in file2strvec().

Note: this is by far the most important and complex patch of the whole
series, please review it carefully; thank you very much!

For this patch, we decided to keep the original function's design and
skeleton, to avoid regressions and behavior changes, while fixing the
various bugs and overflows. And like the "Harden file2str()" patch, this
patch does not fail when about to overflow, but truncates instead: there
is information available about this process, so return it to the caller;
also, we used INT_MAX as a limit, but a lower limit could be used.

The easy changes:

- Replace sprintf() with snprintf() (and check for truncation).

- Replace "if (n == 0 && rbuf == 0)" with "if (n <= 0 && tot <= 0)" and
  do break instead of return: it simplifies the code (only one place to
  handle errors), and also guarantees that in the while loop either n or
  tot is > 0 (or both), even if n is reset to 0 when about to overflow.

- Remove the "if (n < 0)" block in the while loop: it is (and was) dead
  code, since we enter the while loop only if n >= 0.

- Rewrite the missing-null-terminator detection: in the original
  function, if the size of the file is a multiple of 2047, a null-
  terminator is appended even if the file is already null-terminated.

- Replace "if (n <= 0 && !end_of_file)" with "if (n < 0 || tot <= 0)":
  originally, it was equivalent to "if (n < 0)", but we added "tot <= 0"
  to handle the first break of the while loop, and to guarantee that in
  the rest of the function tot is > 0.

- Double-force ("belt and suspenders") the null-termination of rbuf:
  this is (and was) essential to the correctness of the function.

- Replace the final "while" loop with a "for" loop that behaves just
  like the preceding "for" loop: in the original function, this would
  lead to unexpected results (for example, if rbuf is |\0|A|\0|, this
  would return the array {"",NULL} but should return {"","A",NULL}; and
  if rbuf is |A|\0|B| (should never happen because rbuf should be null-
  terminated), this would make room for two pointers in ret, but would
  write three pointers to ret).

The hard changes:

- Prevent the integer overflow of tot in the while loop, but unlike
  file2str(), file2strvec() cannot let tot grow until it almost reaches
  INT_MAX, because it needs more space for the pointers: this is why we
  introduced ARG_LEN, which also guarantees that we can add "align" and
  a few sizeof(char*)s to tot without overflowing.

- Prevent the integer overflow of "tot + c + align": when INT_MAX is
  (almost) reached, we write the maximal safe amount of pointers to ret
  (ARG_LEN guarantees that there is always space for *ret = rbuf and the
  NULL terminator).

Affects procps-ng < 3.3.15

(From OE-Core rev: 82d873a1b73da25ae415afe0e6203693f78b88c9)

Signed-off-by: Jagadeesh Krishnanjanappa <jkrishnanjanappa@mvista.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-29 15:23:51 +01:00
Jagadeesh Krishnanjanappa
f183e88d06 shadow: CVE-2018-7169
newgidmap: enforce setgroups=deny if self-mapping a group

This is necessary to match the kernel-side policy of "self-mapping in a
user namespace is fine, but you cannot drop groups" -- a policy that was
created in order to stop user namespaces from allowing trivial privilege
escalation by dropping supplementary groups that were "blacklisted" from
certain paths.

This is the simplest fix for the underlying issue, and effectively makes
it so that unless a user has a valid mapping set in /etc/subgid (which
only administrators can modify) -- and they are currently trying to use
that mapping -- then /proc/$pid/setgroups will be set to deny. This
workaround is only partial, because ideally it should be possible to set
an "allow_setgroups" or "deny_setgroups" flag in /etc/subgid to allow
administrators to further restrict newgidmap(1).

We also don't write anything in the "allow" case because "allow" is the
default, and users may have already written "deny" even if they
technically are allowed to use setgroups. And we don't write anything if
the setgroups policy is already "deny".

Ref: https://bugs.launchpad.net/ubuntu/+source/shadow/+bug/1729357
Fixes: CVE-2018-7169

Affects shadow <= 4.5

(From OE-Core rev: a875522540372a4fa6658885692e564dfd729f54)

Signed-off-by: Jagadeesh Krishnanjanappa <jkrishnanjanappa@mvista.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-29 15:23:51 +01:00
Jagadeesh Krishnanjanappa
8fcd5a31b9 gnupg: CVE-2018-12020
gpg: Sanitize diagnostic with the original file name.

* g10/mainproc.c (proc_plaintext): Sanitize verbose output.

(From OE-Core rev: f1c0da2bcb0587ac25176db11365d4a2a15b3d30)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-29 15:23:51 +01:00
Jagadeesh Krishnanjanappa
52fc5763c6 git: CVE-2018-11235
submodule-config: verify submodule names as paths

Submodule "names" come from the untrusted .gitmodules file,
but we blindly append them to $GIT_DIR/modules to create our
on-disk repo paths. This means you can do bad things by
putting "../" into the name (among other things).

Let's sanity-check these names to avoid building a path that
can be exploited. There are two main decisions:

  1. What should the allowed syntax be?

     It's tempting to reuse verify_path(), since submodule
     names typically come from in-repo paths. But there are
     two reasons not to:

       a. It's technically more strict than what we need, as
          we really care only about breaking out of the
          $GIT_DIR/modules/ hierarchy.  E.g., having a
          submodule named "foo/.git" isn't actually
          dangerous, and it's possible that somebody has
          manually given such a funny name.

       b. Since we'll eventually use this checking logic in
          fsck to prevent downstream repositories, it should
          be consistent across platforms. Because
          verify_path() relies on is_dir_sep(), it wouldn't
          block "foo\..\bar" on a non-Windows machine.

  2. Where should we enforce it? These days most of the
     .gitmodules reads go through submodule-config.c, so
     I've put it there in the reading step. That should
     cover all of the C code.

     We also construct the name for "git submodule add"
     inside the git-submodule.sh script. This is probably
     not a big deal for security since the name is coming
     from the user anyway, but it would be polite to remind
     them if the name they pick is invalid (and we need to
     expose the name-checker to the shell anyway for our
     test scripts).

     This patch issues a warning when reading .gitmodules
     and just ignores the related config entry completely.
     This will generally end up producing a sensible error,
     as it works the same as a .gitmodules file which is
     missing a submodule entry (so "submodule update" will
     barf, but "git clone --recurse-submodules" will print
     an error but not abort the clone.

     There is one minor oddity, which is that we print the
     warning once per malformed config key (since that's how
     the config subsystem gives us the entries). So in the
     new test, for example, the user would see three
     warnings. That's OK, since the intent is that this case
     should never come up outside of malicious repositories
     (and then it might even benefit the user to see the
     message multiple times).

Credit for finding this vulnerability and the proof of
concept from which the test script was adapted goes to
Etienne Stalmans.

Affects: git < 2.13.7 and  git < 2.14.4 and git < 2.15.2 and git < 2.16.4 and
         git < 2.17.1

(From OE-Core rev: 229bb7cd70c79944d54696d50f4f34df85a5804a)

Signed-off-by: Jagadeesh Krishnanjanappa <jkrishnanjanappa@mvista.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-29 15:23:51 +01:00
Jagadeesh Krishnanjanappa
dfe237a93b libgcrypt: CVE-2018-0495
ecc: Add blinding for ECDSA.

* cipher/ecc-ecdsa.c (_gcry_ecc_ecdsa_sign): Blind secret D with
randomized nonce B.

(From OE-Core rev: e05c9b1be8e852293dfc7026f0e3178c3bc5444d)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-29 15:23:51 +01:00
Jagadeesh Krishnanjanappa
a4ce8dbcc6 coreutils: CVE-2017-18018
CVE-2017-18018-1:
doc: clarify chown/chgrp --dereference defaults
* doc/coreutils.texi: the documentation for the --dereference
  flag of chown/chgrp states that it is the default mode of
  operation. Document that this is only the case when operating
  non-recursively.

CVE-2017-18018-2:
doc: warn about following symlinks recursively in chown/chgrp
In both chown and chgrp (which shares its code with chown), operating
on symlinks recursively has a window of vulnerability where the
destination user or group can change the target of the operation.
Warn about combining the --dereference, --recursive, and -L flags.

* doc/coreutils.texi (warnOptDerefWithRec): Add macro.
(node chown invocation): Add it to --dereference and -L.
(node chgrp invocation): Likewise.

Affects coreutils <= 8.29

(From OE-Core rev: a523bc6a2ff7d5b5415a789de02fb055ccd2c077)

Signed-off-by: Jagadeesh Krishnanjanappa <jkrishnanjanappa@mvista.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-29 15:23:51 +01:00
Jagadeesh Krishnanjanappa
c035a20028 libsndfile1: CVE-2017-14634
double64_init: Check psf->sf.channels against upper bound

This prevents division by zero later in the code.

While the trivial case to catch this (i.e. sf.channels < 1) has already
been covered, a crafted file may report a number of channels that is
so high (i.e. > INT_MAX/sizeof(double)) that it "somehow" gets
miscalculated to zero (if this makes sense) in the determination of the
blockwidth. Since we only support a limited number of channels anyway,
make sure to check here as well.

CVE-2017-14634

Closes: #318

Affects libsndfile1 = 1.0.28

(From OE-Core rev: 00da7bad24cf78c9dba091b9e480515f25886b48)

Signed-off-by: Jagadeesh Krishnanjanappa <jkrishnanjanappa@mvista.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-29 15:23:51 +01:00
Jagadeesh Krishnanjanappa
3c38e69639 libsndfile1: CVE-2017-14245 CVE-2017-14246
sfe_copy_data_fp: check value of "max" variable for being normal
and check elements of the data[] array for being finite.

Both checks use functions provided by the <math.h> header as declared
by the C99 standard.

Fixes #317
CVE-2017-14245
CVE-2017-14246

Affects libsndfile1 = 1.0.28

(From OE-Core rev: 39b1dc89ce2870d1a2630b2319783a6203cbcb08)

Signed-off-by: Jagadeesh Krishnanjanappa <jkrishnanjanappa@mvista.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-29 15:23:51 +01:00
Jagadeesh Krishnanjanappa
c9b7487d4a libarchive: CVE-2017-14503
Reject LHA archive entries with negative size.

Affects libarchive = 3.3.2

(From OE-Core rev: 3e000591928cfc35df192c7eb00db65687930566)

Signed-off-by: Jagadeesh Krishnanjanappa <jkrishnanjanappa@mvista.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-29 15:23:51 +01:00
Jagadeesh Krishnanjanappa
288dbefdf3 flac: CVE-2017-6888
stream_decoder.c: Fix a memory leak

Leak reported by Secunia Research.

Affects flac = 1.3.2

(From OE-Core rev: bca64ae1b02717c04edfee6dcc9a89cfa91d0c73)

Signed-off-by: Jagadeesh Krishnanjanappa <jkrishnanjanappa@mvista.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-29 15:23:51 +01:00
Hongxu Jia
65000da237 nasm: fix CVE-2018-8883 & CVE-2018-8882 & CVE-2018-10316
(From OE-Core rev: 10a52e436d2f9a40c04271bc8aeb04c75fb11383)

(From OE-Core rev: 058bdd077da005d412fbbcd98d70fbd80fa80555)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-29 15:23:51 +01:00
Changqing Li
70ab6ebf3e unzip: fix CVE-2018-1000035
(From OE-Core rev: f75289b9215580030540245cd0b5f945bfb05ffa)

(From OE-Core rev: 97a52df900519b0c7fbb9e92a3168a542d68aba6)

Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-29 15:23:51 +01:00
Ross Burton
c6b1f453b9 unzip: fix symlink problem
Large zip files can cause unzip to crash, take a patch from Fedora to fix it.

(From OE-Core rev: a001833b7c7a0a6eef88e053fe65e2a0c91ca7bc)

(From OE-Core rev: 61235238157b747d47728f6c3d9ad8241dde0102)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-29 15:23:51 +01:00
Andrej Valek
dc09a230d7 openssl: update 1.1.0h -> 1.1.0i
Please see this security advisory:
https://www.openssl.org/news/secadv/20180612.txt

Remove obsolete patch.

(From OE-Core rev: 0d19caefeeca14f44c80ccb716c30b17f14255a5)

(From OE-Core rev: 784059db22d763ca9f579a10a34fd90c68542e82)

Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-29 15:23:51 +01:00
Andrej Valek
205a56fcfa openssl: update 1.0.2o -> 1.0.2p
Please see this security advisory:
https://www.openssl.org/news/secadv/20180612.txt

Refresh patches

(From OE-Core rev: ff3db93e53c4f9d56807d3755c799459944e9a87)

(From OE-Core rev: 84233553e963e26ca5f9f983662d4bd133176bb9)

Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-29 15:23:51 +01:00
Andrej Valek
45e1ed092d openssl-1.1: fix c_rehash perl errors
Patch original c_rehash script with Debian patch instead
of overriding it with own version.

Error output from c_reshah without patching:
  Unknown regexp modifier "/b" at ./c_rehash line 15, at end of line
  Unknown regexp modifier "/W" at ./c_rehash line 28, at end of line
  Unknown regexp modifier "/3" at ./c_rehash line 28, at end of line
  Unknown regexp modifier "/2" at ./c_rehash line 28, at end of line
  No such class installdir at ./c_rehash line 63, near "Prefix our
  installdir"
    (Might be a runaway multi-line // string starting on line 28)
  syntax error at ./c_rehash line 63, near "Prefix our installdir"
  Can't redeclare "my" in "my" at ./c_rehash line 68, near ""
  Execution of ./c_rehash aborted due to compilation errors.

(From OE-Core rev: f8a826f497073533a3e4c390255ae197d65d6ef3)

(From OE-Core rev: 4524d1f916b55db6d280ff51a41933b8ec9046b0)

Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
Signed-off-by: Marko Peter <peter.marko@siemens.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-29 15:23:51 +01:00
Andre McCurdy
b3c24d84a4 openssl_1.0: drop unnecessary call to perlpath.pl from do_configure()
The perlpath.pl script is used to patch the #! lines in all perl
scripts in the utils directory. However, as these scripts are run via
e.g. "perl foo.pl", they don't actually rely on the #! path to be
correct (which can be confirmed by the observation that the path is
currently being set to ${STAGING_BINDIR_NATIVE}/perl, which doesn't
exist).

(From OE-Core rev: ba88fe46d47846042518a5a1017d782ba548202c)

(From OE-Core rev: 1b0dcca0f083081295f32f09b408ab6c6c10f66f)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-29 15:23:50 +01:00
Andre McCurdy
61ab3beed1 openssl_1.0: drop unnecessary dependency on makedepend-native
The openssl Configure script will only select standalone makedepend
(vs running "$CC -M") when building with gcc < 3.x or with an Apple
Xcode version which predates the switch to clang (in approx 2010?).
Neither of these cases are possible when building under OE, therefore
the dependency on makedepend-native can be dropped (ie align the
openssl 1.0 recipe with the 1.1 recipe, which has dropped the
makedepend-native dependency already).

(From OE-Core rev: 4c5bd69e5cb203c8a4c2f3716c941661c0afc830)

(From OE-Core rev: 74524ec2a0f5a4210dd6680afb4b685a69f96a71)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-29 15:23:50 +01:00
Andre McCurdy
d83e13109f openssl: fix missing dependency on hostperl-runtime-native
Openssl 1.1 requires perl in order to build (just as openssl 1.0
does). The missing dependency has gone unnoticed up to now since
hostperl-runtime-native is included in ASSUME_PROVIDED.

(From OE-Core rev: ed5f8bb582453e7d8a1636ad1463380076209bd2)

(From OE-Core rev: 33a9519040b6e5cd9e83bb76589f75b00f1cd1c2)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-29 15:23:50 +01:00
Andre McCurdy
be5382caff openssl_1.0: squash whitespace in CC_INFO
Squash whitespace in CC_INFO to avoid recipe whitespace changes to
CFLAG affecting the final openssl binaries (the value of CC_INFO gets
embedded in libcrypto, via buildinf.h).

(From OE-Core rev: 2227c51896d4399daac9d85f40d7510b7c8ae03f)

(From OE-Core rev: 0bda7fda8ce11b9b8c4c69aee1afbda30c3eadd5)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-29 15:23:50 +01:00
Andre McCurdy
6b3f4c8a66 openssl_1.0: add PACKAGECONFIG option to control manpages
Creating the openssl manpages, which happens as part of do_install(),
can take a significant amount of time (e.g. ~50 seconds on a quad
core laptop). Provide a PACKAGECONFIG option to allow creation of the
manpages to be skipped completely if not required and inherit the
manpages class to automatically control the PACKAGECONFIG option
(based on the "api-documentation" distro feature).

(From OE-Core rev: 1ddca1872f64c566fd812a6ec44f2d4e4d84f58f)

(From OE-Core rev: 061c17ff22f4df573bccbf4b66f2fdf5501c3617)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-29 15:23:50 +01:00
Andre McCurdy
d62b399d6f openssl_1.0: drop unmaintained darwin support
The fact that the darwin support only appears to consider x86 (and
not x86_64) suggests that it's not maintained or tested. In general
oe-core doesn't support building on darwin.

(From OE-Core rev: 9c7f37bb1345c38211acd137c00b9d07f92601a7)

(From OE-Core rev: ebe53ed0e34b88c7d7fef22e1a5ad4959517fdab)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-29 15:23:50 +01:00
Andre McCurdy
e61c7a809d openssl_1.0: drop obsolete exporting of AS, EX_LIBS and DIRS
Previously (when EXTRA_OEMAKE contained -e) exporting these variables
over-rode default values in the top-level openssl Makefile. However,
since -e was removed from EXTRA_OEMAKE as part of:

  http://git.openembedded.org/openembedded-core/commit/?id=537a404cfbb811fcb526cdb5f2e059257de6ef13

exporting these variables does nothing. The comment from that commit
that only AR is affected by removing -e wasn't correct, but the
effects of letting the openssl Makefile also control AS, EX_LIBS and
DIRS seem to be either benign or beneficial.

Since without -e make ignores DIRS from the environment and always
runs for all subdirs (including "test"), adding "test" to DIRS and
calling "make depend" again from do_compile_ptest() can be dropped.

(From OE-Core rev: b3e81e3cf86dd8736b62a6b88d6a6dbe518c9e5e)

(From OE-Core rev: 8aa33c15b7c71cda8de3e3571879a5d39c915adb)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-29 15:23:50 +01:00
Andre McCurdy
3dd619528b openssl_1.0: drop obsolete ca.patch
This patch adds a second line to the -help output of the CA.pl script
(which lists almost the same command line options as the line above
it but in a slightly different order). Although it's tagged as a
Debian backport, there's no patch like it in recent Debian patch sets
for openssl 1.0.2.

(From OE-Core rev: 9b3af406747a3d565d12d948400d44fb12ab0d96)

(From OE-Core rev: 4a136f8b2cfb6cdd5ba16a2ebbe9b418fead1c76)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-29 15:23:50 +01:00
Andre McCurdy
015b6c5686 openssl: minor indent fixes
Fix inconsistent indent (and also make the openssl 1.1 recipe more
consistent and consistent with the openssl 1.0 recipe).

(From OE-Core rev: 69844643aa1b829c27f144db634c8223c18c783f)

(From OE-Core rev: 3e0290b51da404761ac6a7d2657fd10693bf21b9)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-29 15:23:50 +01:00
Andre McCurdy
0f0ee3b94a openssl: support musl-x32 build
Align the openssl 1.1 recipe with changes made to openssl 1.0:

  http://git.openembedded.org/openembedded-core/commit/?id=a072d4620db462c5d3459441d5684cfd99938400

(From OE-Core rev: 24e745aaa2354432a9112879450263cab742c85b)

(From OE-Core rev: ec24fcc63e33b9c808b81968bad94e497051d350)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-29 15:23:50 +01:00
Andre McCurdy
76cdf32f96 openssl: remove uclibc remnants
Align the openssl 1.1 recipe with changes made to openssl 1.0:

  http://git.openembedded.org/openembedded-core/commit/?id=e01e7c543a559c8926d72159b5cd55db0c661434

(From OE-Core rev: 35cf2c1266927b609e0022be2c7bd8e08410a456)

(From OE-Core rev: 7a5fd1ca7d4b3aa0060134e7ea2af57bb9f2fe07)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-29 15:23:50 +01:00
Andre McCurdy
5474c37f90 openssl_1.0: avoid running make twice for target do_compile()
Currently target builds call make twice as part of do_compile(). It
appears to be an accidental side effect of needing to only pass
CC_INFO on the make command line for target builds, since CC_INFO is
only referenced by the reproducible build patches.

(From OE-Core rev: 6c4942b5c771876ad0e62e56923f59cc71776157)

(From OE-Core rev: 1aaca6b00c083eba25eb8502bbdffef4e45fafd8)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-29 15:23:50 +01:00
Andre McCurdy
b92d395feb openssl_1.0: drop leading "-" from no-ssl3 config option
Although passing -no-ssl3 works, comments in the openssl Configure
script suggest doing so isn't really correct:

  s /^-no-/no-/; # some people just can't read the instructions

The documented way to pass no-<cipher> config options is without a
leading "-"

  https://github.com/openssl/openssl/blob/OpenSSL_1_0_2-stable/INSTALL

(From OE-Core rev: 369927de1d94a295671d3750c95b70a497b13425)

(From OE-Core rev: 3936fafb3bd85499361f32abef4919ad3c74d83f)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-29 15:23:50 +01:00
Andre McCurdy
6e18b05305 openssl_1.0: fix cryptodev-linux PACKAGECONFIG support
Since openssl isn't an autotools recipe, defining cryptodev-linux
related config options via PACKAGECONFIG hasn't worked correctly
since PACKAGECONFIG_CONFARGS stopped being automatically appended to
EXTRA_OECONF in 2016:

  http://git.openembedded.org/openembedded-core/commit/?id=c98fb5f5129e71829ffab4449b3d28082bc95ab4

The issue appears to have been hidden as the flags are also hardcoded
in CFLAG - and therefore always enabled, regardless of the state of
the PACKAGECONFIG option. Fix by passing both EXTRA_OECONF and
PACKAGECONFIG_CONFARGS when running the openssl Configure script.
Although the openssl 1.1 recipe doesn't contain any PACKAGECONFIG
options yet, pre-emptively make the same fix there too.

Also only enable cryptodev-linux by default for target builds (based
on the historical comments in the recipe, that seems to have been the
original intention).

(From OE-Core rev: 6fee11b04b979a5b3237902d947db7118cafca2b)

(From OE-Core rev: 201f4a889c0e4b3d13369e38662bf97ed8a9a8e1)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-29 15:23:50 +01:00
Andre McCurdy
7002cfee82 openssl_1.0: drop curly brackets from shell local variables
Make clear distinction between local variables and bitbake variables.

(From OE-Core rev: d1e441db511faf9c170733c01ded8c56faac9ab6)

(From OE-Core rev: cf9f9657eefd65817094f220af92f2791a8cb68e)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-29 15:23:50 +01:00
Andre McCurdy
0333ff4a11 openssl_1.0: minor recipe formatting tweaks etc
Drop redundant setting of S to its default value, fix inconsistent
indent and re-order variables to align more closely to the OE
style-guide.

(From OE-Core rev: c36637a0304551bf2736bb15796947d9aaf00076)

(From OE-Core rev: 67cde33115798b298f7840cad34d8ef91b3b7fa2)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-29 15:23:50 +01:00
Andre McCurdy
c8242ea7ce openssl_1.0: merge openssl10.inc into the openssl_1.0.2o.bb recipe
The openssl10.inc include file only has one user, so we can improve
maintainability by merging the include file into the recipe which
uses it.

(From OE-Core rev: f5568740d5ff72090c3ca894ddfdc3078169da25)

(From OE-Core rev: 5b4ffcbcdc28aec506a21f5abd76848c1de24011)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-29 15:23:50 +01:00
Andre McCurdy
805f8773d1 openssl_1.1: minor recipe formatting tweaks etc
Drop redundant setting of S to its default value and re-order
variables to align more closely to the OE style-guide.

(From OE-Core rev: 4871481e66449dd2b054119b37d0baedb166b72c)

(From OE-Core rev: 5da668175ee7c56067c1272e7a701d5c38e94524)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-29 15:23:50 +01:00
Andre McCurdy
faa3816266 openssl_1.1: avoid using += with an over-ride
Using += with an over-ride can be a source of confusion so try to
avoid the construct in core recipes.

The current usage is incorrect and prevents the aarch64 and musl
specific config options from being active together.

(From OE-Core rev: 2a30a9ecab6465892698f7fc9d14a430d8a26f0c)

(From OE-Core rev: 000da57cc858f5432153be849faba3862e4e9ed5)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-29 15:23:50 +01:00
Ovidiu Panait
da46b29ffd openssl-nativesdk: Fix "can't open config file" warning
When SDK is not installed in the default location, openssl will not be
able to find the the openssl.cnf config file:

"WARNING: can't open config file: XXXX/usr/lib/ssl/openssl.cnf"

To fix this, we need to provide the environment variable $OPENSSL_CONF
pointing to the correct config file location.

(From OE-Core rev: b3f148333515efdb746b78c57d62cfbf3321b21e)

(From OE-Core rev: fcea508efedeb36ca31fe8ad0cbc6d194fcfd1f7)

Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-29 15:23:50 +01:00
Ross Burton
8a42465904 openssl: disable ccache usage
ccache and openssl don't get on:

| make[1]: Entering directory '/home/prj/yocto/build/tmp/work/core2-64-poky-linux/openssl/1.0.2o-r0/openssl-1.0.2o/crypto'
| ccache: invalid option -- 'D'

Disable the use of ccache in the openssl recipe until someone root-causes this.

[ YOCTO #12810 ]

(From OE-Core rev: 8f9ceebb197dba10f2d08449de2dd64584de06bb)

(From OE-Core rev: e90da34e5667acacd9ad0dd167846a6126fefad2)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-29 15:23:50 +01:00
Alexander Kanavin
bd67bb0f6e openssl: fix upstream version check for 1.0 version
(From OE-Core rev: 50dc3283e39e85912cdbeb9e885dcd22011d4a51)

(From OE-Core rev: a1a5b0f814063c1b95024aee763c71b3f069e12b)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-29 15:23:50 +01:00
Anuj Mittal
05c5c8f6e8 wic/qemux86: don't pass ip parameter to kernel in wks
Images that rely on dhcp being used won't have network setup properly
otherwise.

Fixes [YOCTO #12804]

(From OE-Core rev: fb4dd04f65ea78890c1102424765056d93e6ca65)

(From OE-Core rev: ab3b00990434adc4fafc15379e1c2d8d0ed5f145)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-29 15:23:50 +01:00
Joshua Watt
b968128858 alsa-lib: Cleanup packaging
Cleans up the packaging by moving libasound.so.2 back into the alsa-lib
package which was previously empty.

Previously, it was difficult to create an image that had libasound.so.2,
then create an SDK from that image that had the proper development
files, because the only way to get libasound.so.2 was to do:

 IMAGE_INSTALL += "libasound"

This however caused a problem because all of the development files that
would be desired in the SDK were located in alsa-lib-dev, which wouldn't
be included because alsa-lib wasn't included, and it was impossible to
include alsa-lib because it was an empty package that was culled.

(From OE-Core rev: 6c3438a62d10f155cd6a391bdb2f1939fc4774ec)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 30352f3d84)

Change-Id: I2fb065b7e00569ba3a6aac631ac863999455bfb2
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-29 15:23:50 +01:00
Ross Burton
7b10c902cb classes: sanity-check LIC_FILES_CHKSUM
We assume that LIC_FILES_CHKSUM is a file: URI but don't actually verify this,
which can lead to problems if you have a URI that resolves to a path of / as
Bitbake will then dutifully checksum / recursively.

[ YOCTO #12883 ]

(From OE-Core rev: e2b8a3d5a10868f9c0dec8d7b9f5f89fdd100fc8)

(From OE-Core rev: a5db618986746bf9082c4b3cbdac4e523328432e)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-29 15:23:50 +01:00
Jagadeesh Krishnanjanappa
fb3f8f14bd libvorbis: CVE-2018-10392
Sanity check number of channels in setup.

Fixes #2335.
Link: https://gitlab.xiph.org/xiph/vorbis/issues/2335

(From OE-Core rev: 10569dfa6da1f7f9f021852acf4f936b3aead16a)

Signed-off-by: Jagadeesh Krishnanjanappa <jkrishnanjanappa@mvista.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-29 15:23:50 +01:00
Jagadeesh Krishnanjanappa
6a87904a38 libvorbis: CVE-2017-14160 CVE-2018-10393
CVE-2017-14160: fix bounds check on very low sample rates.

(From OE-Core rev: 0b0409ab6ef27599feeb2fc8a82150305b91f26b)

Signed-off-by: Jagadeesh Krishnanjanappa <jkrishnanjanappa@mvista.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-29 15:23:50 +01:00
Ross Burton
874976be9a bzip2: use Yocto Project mirror for SRC_URI
The bzip.org domain expired and is now a holding site for adverts, so we can't
trust a tarball that appears on that site (luckily we have source checksums to
detect this).

For now, point SRC_URI at the tarball in the Yocto Project source mirror, but
set HOMEPAGE and UPSTREAM_CHECK_URI to the sourceware.org/bzip2/ page which
apparently will be resurrected as the new canonical home page.

(From OE-Core rev: 9e291d9923efc988abe8689c64bafbb29da06339)

(From OE-Core rev: 1bd48516cc3f65e860a2d8a8a3c6cee56c8332a1)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-29 15:23:50 +01:00
Richard Purdie
edabecd576 bitbake: tests/fetch: Update gnome.org urls after upstream changes
(Bitbake rev: 822dd77333896538393c657dd220d8f66d8a46a7)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-29 10:44:16 +01:00
Daniel Díaz
bb91b2ae3e multilib_header: recognize BPF as a target
When building with `clang -target bpf` using the
multilib_header, a recursion was unavoidable because
bits/wordsize.h would #include itself, still lacking
a definition for __MHWORDSIZE or __WORDSIZE.

(From OE-Core rev: 70b41b3c335a80b4ac243f468f22331d261299db)

(From OE-Core rev: b4738c5cf68a3a5d38dcd42f5b8361378f247db0)

Signed-off-by: Daniel Díaz <daniel.diaz@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-16 10:00:08 +01:00
Daniel Díaz
e8df58c07a glibc: Make bits/wordsize.h multilibbed again
As reported by ChenQi, leaving bits/wordsize.h out of being
multilibbed introduced a problem in building the SDK for
arm64:
  Error: Transaction check error:
    file /usr/include/bits/wordsize.h conflicts between attempted installs of lib32-libc6-dev-2.27-r0.armv7vet2hf_vfp and libc6-dev-2.27-r0.aarch64

This effectively reverts commit a74c77d6.

(From OE-Core rev: 90ad502bf8faa233e25cf297c1eeefcb0367aea3)

(From OE-Core rev: 056ae940da49b38890c2960651f0fdb5331a5fac)

Signed-off-by: Daniel Díaz <daniel.diaz@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-16 10:00:08 +01:00
Peter Kjellerstedt
6d9ba591e3 oe-pkgdata-util: package-info: Re-add support for the --extra option
Commit 64d3ce83 broke the --extra option.

(From OE-Core rev: cd195bdf5dd2c8ff03c58a63dcabe88b142d2a9c)

(From OE-Core rev: ab9e9e8cde1ab5fba3e1c291ccb6f163140c3386)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-16 10:00:08 +01:00
Peter Kjellerstedt
c30e400e53 oe-pkgdata-util: Make parse_pkgdatafile() support package suffixed vars
Support for variables suffixed with package names, e.g., PKGV_foo, was
removed in commit 3d2c87c4, which broke support for recipes that set
other versions on their packages than what is in ${PV}.

(From OE-Core rev: 38f8284212370999e1e7b0f6559f7cd786e80d1a)

(From OE-Core rev: b750b310afacf298fc450e71d116ed20eef16428)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-16 10:00:08 +01:00
Peter Kjellerstedt
12c4bdbfab oe-pkgdata-util: lookup-recipe, package-info: Don't finish prematurely
If a package name exists in runtime-rprovides, lookup-recipe and
package-info would finish after printing information about that
package even if more packages were specified.

(From OE-Core rev: 32c2a2ddb1614f978f511dfccb6cc3e9398df841)

(From OE-Core rev: 8ec64f613266987417ca4941b55b988b50af7aff)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-16 10:00:08 +01:00
Chen Qi
6069ffb48d devtool/sdk.py: error out in case of downloading file failure
It's possible that downloading file from updateserver fails. In
this case, we should error out instead of continue.

We have users reporting unexpected behavior of 'devtool sdk-update'.
When an invalid url is supplied, e.g., `devtool sdk-update http://invalid',
the program reports 'Note: Already up-to-date'.

This is obviously not expected. We should error out in such case.

(From OE-Core rev: 449564783dfb162536a2f772b3a8704973221e0f)

(From OE-Core rev: 61a56f6c5db9a3575a21f0c206f0fa760cf005e0)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-16 10:00:08 +01:00
Scott Rifenbark
5b5ebab299 documentation: Updated for a 2.5.1 release
poky.ent - updated variables for 2.5.1
mega-manual.sed - updated string from "2.5" to "2.5.1"
<manual>.xml - updated manual revision tables for 2.5.1
               and September 2018 date

(From yocto-docs rev: a47382f00ad1a5a1df02ffa3dead7a0bd597bf45)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-15 10:28:12 +01:00
Scott Rifenbark
be203dd40c ref-manual: Removed non-existant variable from PACKAGE_WRITE_DEPS description
Took out an occurrence of PACKAGE_WRITE_DEPENDS

(From yocto-docs rev: e983c3215139b566ea02df6e6160b05fdcbce081)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-15 10:28:12 +01:00
Scott Rifenbark
264f5717b0 sdk-manual: Fixed bad anchor string.
Broken link fixed.

(From yocto-docs rev: 915f9e8e47ae95a3102063f5825730953afb1ff0)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-15 10:28:12 +01:00
Scott Rifenbark
8e3ead9bb4 sdk-manual: Updated section on minimizing eSDK installer size
I made some re-writes for clearity.

(From yocto-docs rev: 45e710923afb45066383877252af79faf3b2f5fc)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-15 10:28:12 +01:00
Scott Rifenbark
acf3319e5f sdk-manual: Converted bullet list to ordered list
On second thought, the list I turned into a bullet list from the
previous commit was a bit hasty.  That list is order dependent.
Reverted the list.

(From yocto-docs rev: 24a77078af0e7a59dd180bdfe6a29afbaefdffcf)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-15 10:28:12 +01:00
Scott Rifenbark
1fb6f7e3ff sdk-manual: Updated "Providing Additional Installable Extensible SDK Content"
The list appears to be not a numbered list.  Fixed that.  Also, provided
better wording around "exposing" the sstate-cache.

(From yocto-docs rev: e1f8c9bf3ef7028b48b38801557292434c872419)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-15 10:28:12 +01:00
Scott Rifenbark
cba7accf19 sdk-manual: Provided better wording for sharing HTTP or HTTPS server
Step 1 of the "Providing Updates to the Extensible SDK After Installation"
section really did not do much for the reader regarding setting up a
HTTP or HTTPS directory.  I added more detail on how to generally do
that.

(From yocto-docs rev: b90de53859545a835629a56eab08fa58479c36ff)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-15 10:28:12 +01:00
Scott Rifenbark
67fd9e2e60 sdk-manual: Updates to sections for updating installed Ext SDKs
There are two sections that deal with this topic.  One is from the
standpoint of a user using a 3rd party published and installed
extensible SDK ("Applying Updates to an Installed Extensible SDK").
The other is from the standpoint of a person providing Extensible
SDKs for consumption ("Providing Updates to the Extensible SDK
After Installation").  These sections needed some closer examination
regarding fully describing what was going on.  I provided some
re-writes to both.

(From yocto-docs rev: 62028ea4df684e495e78d00a440318d061098f15)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-15 10:28:12 +01:00
Scott Rifenbark
de9bce8f89 sdk-manual: Changed title to updating the SDK after install
The title for the section on how to effect changes to an installed
extensible SDK is better suited as "Providing Updates to the
Extensible SDK AFter Installation."

(From yocto-docs rev: 382c172fd9a51cd4c650333549210aa760ea9774)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-15 10:28:12 +01:00
Scott Rifenbark
d2eefa2df6 sdk-manual: Fixed grammar error
In "Providing Updates After Installing the Extensible SDK" section,
Step 1 had a bit of a grammar error.  Not technically, but it
could have been written better.  I fixed that.

(From yocto-docs rev: f6710a7047c215f9a1a989b9a009399405770c06)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-15 10:28:12 +01:00
Scott Rifenbark
a299c956d9 sdk-manual: Updated section on changing title of extensible SDK installer
I added more information on how this is done.  Still could use a bit
of detail on how you actually do it.

(From yocto-docs rev: 7a035ffb4443f7920521ccd918ec844d1ca118e5)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-15 10:28:12 +01:00
Scott Rifenbark
c90bfdf5d4 ref-manual: Updated DISTRO_NAME variable description.
I provided some real detail on this variable.  It was woefully brief.

(From yocto-docs rev: 6b40243984b7cc69a291b6f90ed04b45b7ce3ac5)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-15 10:28:12 +01:00
Scott Rifenbark
84178b1fd5 ref-manual: Updated the DISTRO variable description
I added a cross-reference to the "DISTRO_NAME" variable as it is
the long version of the distribution name.

(From yocto-docs rev: c707da8121171cc81e0d07ac14369b0045de5119)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-15 10:28:12 +01:00
Scott Rifenbark
0ca3e9a2dc sdk-manual: Grammar fix
(From yocto-docs rev: 76da8279290e3a5752443c097d993766438610a6)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-15 10:28:12 +01:00
Scott Rifenbark
d2f237964f sdk-manual: Updates to "Adjusting the Extensible SDK to Suit Build Host"
I updated this section with clearer text.

(From yocto-docs rev: bb0e6613b7dbe7f8c9ca80a64ee9c67a74e01fc1)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-15 10:28:12 +01:00
Scott Rifenbark
13f406e55f sdk-manual: Updates to "Configuring the Extensible SDK" section
Made improvements to this section and tied the variables together
for the explanation.

(From yocto-docs rev: 592abe8fe11389b58e8c0cf7991a400bdd515b16)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-15 10:28:12 +01:00
Scott Rifenbark
b679ee1519 ref-manual: Fixed cross-reference wording in SDK_LOCAL_CONF_WHITELIST
Wording did not match that of similar SDK variables.

(From yocto-docs rev: 6fab0bbc62e7f9caf020718a4a8fd047b9fb450f)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-15 10:28:12 +01:00
Scott Rifenbark
af9c2c5565 ref-manual: Fixed grammar error in SDK_INHERIT_BLACKLIST description
(From yocto-docs rev: 4ead5a0a8b9ca862ba86e285a7981036018dfb70)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-15 10:28:12 +01:00
Scott Rifenbark
9abadbb3c6 ref-manual: Added cross-reference to SDK_LOCAL_CONF_BLACKLIST var
Put in a cross-reference to the section in the sdk-manual where it
talks about customizing the configuration of the extensible SDK.

(From yocto-docs rev: 23e4a2d0f461a8c672aa3780965ca4e30d1aac50)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-15 10:28:12 +01:00
Scott Rifenbark
4b47d39d77 ref-manual: Updated the SDK_INHERIT_BLACKLIST variable description
Added information on the class in which the default is set.  Also,
put in a reference for more information on customizing the
extensible SDK configuration.

(From yocto-docs rev: 1ca9f8dd90cccb4692c16d7757b80bfd50237495)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-15 10:28:12 +01:00
Scott Rifenbark
6745cc9b8a ref-manual: Updated the SDK_LOCAL_CONF_WHITELIST variable description
Enhanced this description by indicating the class that it is set in
and by including a pointer back into the sdk-manual where filters
are described for extending the extensible SDK.

(From yocto-docs rev: 22dcaf2c75532f45111b79db067edfc92212441e)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-15 10:28:11 +01:00
Scott Rifenbark
b298bb586e ref-manual: Updated the SDK_LOCAL_CONF_BLACKLIST variable description
Added more detail including the class that sets the default variables
for exclusion and the list of actual variables that are excluded by
default.

(From yocto-docs rev: 7764a54add2911c2da8174e48e4d3166a873d63a)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-15 10:28:11 +01:00
Scott Rifenbark
03d1a8acfe sdk-manual, mega-manual: Updated the fig for installed ext. SDK
This figure had changed.  I updated the file and folder hierarchy.

Also fixed some wording.

(From yocto-docs rev: 40e89997f50fdaecee88c8c98e21cc212bf1ed13)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-15 10:28:11 +01:00
Scott Rifenbark
c737fb18ae sdk-manual, mega-manual: Updated standard SDK install directory figure
The figure was incorrect for the installed file and folder hierarchy
for a standard SDK.  I updated it.  This figure goes in both the sdk-manual
and the mega-manual.

(From yocto-docs rev: c21d76b885afedafe7b866d9f4997633a776902c)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-15 10:28:11 +01:00
Scott Rifenbark
008732dcb6 sdk-manual: Final edits to the extracting root filesystem section
Verified a good example and updated the text to match that example.

(From yocto-docs rev: 8655662b1f031463fafcf11fcd22243a75e817f8)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-15 10:28:11 +01:00
Scott Rifenbark
a3473f32a6 sdk-manual: Added note in step to set SDKMACHINE
The value of SDKMACHINE must match the architecture of the machine
on which the SDK installer is being built if you are building an
installer for an extensible SDK.  I added a note to this effect.

(From yocto-docs rev: 8720b3ea9e7260f891db1be46fb756aba09d5f51)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-15 10:28:11 +01:00
Richard Purdie
24a833f40d build-appliance-image: Update to sumo head revision
(From OE-Core rev: 2a4595f0c45a9c0ecdeb1d92613821321e48a1ae)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-06 16:32:48 +01:00
Richard Purdie
2464dd4040 poky.conf: Bump version for sumo 2.5.1
(From meta-yocto rev: bbe6518893a76f4d61c8800eb1054d96e3be8880)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-06 16:32:38 +01:00
Armin Kuster
22e02daa5b binutls: Security fix CVE-2018-10534
Affects <= 2.30

(From OE-Core rev: d18dfef01fb7d37029e5a612f79201adf7ff5921)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-06 16:24:03 +01:00
Armin Kuster
f9998b8ce6 binutls: Security fix CVE-2018-10535
Affects <= 2.30

(From OE-Core rev: 1ff22881249591d64fe61353a4d97ab91dc8efa0)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-06 16:24:03 +01:00
Armin Kuster
8126375423 binutls: Security fix CVE-2018-10372
Affects <= 2.30

(From OE-Core rev: 832316491aab8b90719cefeba2bfd94cef04b80f)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-06 16:24:03 +01:00
Armin Kuster
6d092834bd binutls: Security fix CVE-2018-10373
Affects <= 2.30

(From OE-Core rev: 3c83b9be884015e238249c0382299aedf4d81459)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-06 16:24:03 +01:00
Armin Kuster
ea6a69cb83 binutls: Security fix CVE-2018-7568
Affects <= 2.30

(From OE-Core rev: 9dee4cec26322604e71ca5db4b17b1088a98971b)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-06 16:24:02 +01:00
Armin Kuster
219deb5228 binutls: Security fix CVE-2018-7569
Affects <= 2.30

(From OE-Core rev: f79f5162088ceb29cf4820d2c3ef2aff263d7967)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-06 16:24:02 +01:00
Armin Kuster
3db593919b binutls: Security fix CVE-2018-7208
Affects <= 2.30

(From OE-Core rev: a994ef27a997bce0dd18f8e507b8d795b8111aeb)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-06 16:24:02 +01:00
Armin Kuster
e23d924838 binutls: Security fix CVE-2018-7642
Affects <= 2.30

(From OE-Core rev: 8c58ec80990a2c6b8b5e0832b3d5fe2c3f4378ff)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-06 16:24:02 +01:00
Armin Kuster
0112dfc031 binutls: Security fix CVE-2018-6759
Affects <= 2.30

(From OE-Core rev: 8f9b8ee0e7ad6526a3f93a8f0ca8e9fe055fdff6)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-06 16:24:02 +01:00
Armin Kuster
b283276544 binutls: Security fix CVE-2018-6872
Affects <= 2.30

(From OE-Core rev: 9626b58123eb50cb830443b3f514988f5417cc6c)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-06 16:24:02 +01:00
Armin Kuster
b44ea09983 binutls: Security fix CVE-2018-7643
Affects <= 2.30

(From OE-Core rev: 70308a1133a3bd0e9d297bd66be4e05722484e7a)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-06 16:24:02 +01:00
Armin Kuster
b83fd9847f binutils: Security fix CVE-2018-8945
Affects <= 2.30

(From OE-Core rev: d128790b8593ee0cccd5e3c935ff28fb27644a8c)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-06 16:24:02 +01:00
Joshua Watt
50072546a5 classes/sanity: Clean up getstatusoutput usage
Replace usage of oe.utils.getstatusoutput() with direct subprocess
calls.

(From OE-Core rev: 140ecb4af80c44680278f98153353f2900e7fa98)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-06 16:24:02 +01:00
Martin Jansa
b8f9048de8 linux-firmware: add separate packages for all brcm files
* no changes in the content of previously existing packages

* include some silly commands I've used to "parse" WHENCE file to
  generate these, some manual changes are still needed, like separating
  cypress licensed files, removing duplicates when 2 files are included
  in the same package (bcm4356-pcie is exception because sdio and pcie
  files have different license).

(From OE-Core rev: 27fc32b6c5231b3539940d1e260ab1df3ea4bd14)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-04 07:42:21 +01:00
Martin Jansa
8912733e28 linux-firmware: update LICENSE for bcm43* packages according to WHENCE file
* the license was updated
  brcm/brcmfmac43430-sdio.bin:
  https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/commit/?id=ec734a30
  brcm/brcmfmac43340-sdio.bin:
  https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/commit/?id=5ac5ad5c
  brcm/brcmfmac43362-sdio.bin:
  https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/commit/?id=be1c535e
  brcm/brcmfmac4354-sdio.bin:
  https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/commit/?id=a2921812

* this shows that with every upgrade the changes in WHENCE file should
  checked carefully

(From OE-Core rev: 114e54c2459fe4c65e837b6a22c75c9f0d40ffbb)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-04 07:42:21 +01:00
Martin Jansa
94ddbc21ae linux-firmware: add ${PN}-cypress-license handling from meta-raspberrypi
* this will break meta-raspberrypi once more, by including
  ${PN}-cypress-license package twice in PACKAGES
  I've sent fix here:
  https://github.com/agherzan/meta-raspberrypi/pull/295

(From OE-Core rev: 75caa5dfc79df02b12f1b077ccbd80e4d69c9ead)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-04 07:42:20 +01:00
Ross Burton
72d2148535 python2: Fix build with gcc8
(From OE-Core rev: 910f68c9c8dc26e12d28ef29e956af63d100f121)

(From OE-Core rev: 04c2d53ef48a09747d0577d9ec1ffa548d247615)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Martin Hundebøll <martin@geanix.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-04 07:42:20 +01:00
Changqing Li
6369ddde0c libxml2: fix libxml2 ptest fails
for core-image-minimal image,  missing these two dependency
will cause below warning and error:

warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
./test/icu_parse_test.xml generated an error

(From OE-Core rev: 848031cf0b89b752c6fedcb63fc6938642a87fd8)

(From OE-Core rev: e27b09395c3bd5eb92f0478de03f9738874a7e66)

Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-04 07:42:20 +01:00
Joshua Watt
b91562697d u-boot: Fix pylibfdt generation
u-boot attempts to build a Python library called pylibfdt. By default,
u-boot would attempt to use the build host's Python interpreter, which
causes numerous problems, not least of which is that it fails if the
host doesn't have the Python development package installed (complaining
about not being able to find Python.h)

Rectify this situation by including the proper build time dependencies
for pylibfdt and passing the proper arguments to make.

[YOCTO #12867]

(From OE-Core rev: 3b0b16300b351878790729d6270cd113bca73eff)

(From OE-Core rev: 71c9fc5a9398dc77a4e0f440a7fde346990c0475)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-04 07:42:20 +01:00
Yongxin Liu
78e1856f58 kdump: start kdump.service after basic.target
If kdump.service is set to run on boot and dump-capture kernel isn't
placed in /dev/root, kdump.service will fail to load the kernel,
since other partitions are not mounted yet. Starting kdump.service
after basic.target guarantees dump-capture kernel can be loaded in
this situation.

(From OE-Core rev: ac9a54fc617ff5f1eb75fa8500187c5ed3effe46)

(From OE-Core rev: d6f922ddc14e0b17af5f1de46ec905de2a21a751)

Signed-off-by: Yongxin Liu <yongxin.liu@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-01 23:00:28 +01:00
Joel Stanley
b0d7de41e3 gcc-7.3: Backport fixes for std::pair high memory usage
C++ applications that contain a specfic use of std::pair with tempates
cause the build to require many gigabytes of RAM to build.

This is a fix that was applied to the upstream GCC 7 branch.

Change-Id: I213f96d1d6332e2dce5765482ff3413f1abd7ff8
(From OE-Core rev: 51a09ba2729a840a9f2f87b68c7f50a3e6ac0d04)

(From OE-Core rev: dc6d466edde2ebe26e2ece5601429baabff38bbb)

Signed-off-by: Joel Stanley <joel@jms.id.au>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-01 23:00:28 +01:00
Joel Stanley
d2ad05e0b1 gcc-7.3: Fix build on ppc64le hosts
When building on ppc64le hosts that have GCC 8 (such as Ubuntu 18.10)
the GCC build bootstrap fails.

 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86162

This is a fix that was applied to the upstream GCC 7 branch.

Change-Id: I7796d2a999ec420805dd1c6cf0a1ecba1de5a897
(From OE-Core rev: c17f5e7e954487ad3e97e26c3e0d31443d658d5a)

(From OE-Core rev: 7d1ab4088f67f267b0c5a8ce9913feeedc3a7d7d)

Signed-off-by: Joel Stanley <joel@jms.id.au>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-01 23:00:28 +01:00
Khem Raj
50fe2fd0e9 glibc-locale: Fix host-user-contaminated QA errors
Fixes

ERROR: glibc-locale-2.27-r0 do_package_qa: QA Issue: glibc-locale: /glibc-binary-localedata-hy-am/usr/lib/locale/hy_AM/LC_MEASUREMENT.tmp is owned by uid 3004, which is the same as the user running bitbake. This may be due to host contamination [host-user-contaminated]

(From OE-Core rev: 06d831d12fe2a2366480c79f4c018942937b753a)

(From OE-Core rev: 06003fba975adb1c6c374eb31067bf356cc81baa)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-01 23:00:28 +01:00
Andrej Valek
13b591a304 shadow: fix CVE-2017-2616
(From OE-Core rev: 94a1e2794df15f0f2cb62ae030cd81e6c0798b1f)

(From OE-Core rev: 8894c70ae5a44974f74434d251def3148818a866)

Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-01 22:59:24 +01:00
Joe Slater
753640469e tiff: security fix CVE-2018-7456
NULL pointer use as described at nvd.nist.gov/vuln/detail/CVE-2018-7456.

(From OE-Core rev: 122da5cec495fc8ddfd880327e7c3ed0dc70e04f)

(From OE-Core rev: 0556a6929ea298a3db329b1c1447f01fc65264f9)

Signed-off-by: Joe Slater <joe.slater@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-01 22:59:23 +01:00
Joe Slater
6bfd543340 tiff: security fix CVE-2018-8905
Buffer overflow described at nvd.nits.gov/vuln/detail/CVE-2018-8905.

(From OE-Core rev: 3f6f2a0619b4e243e6a9e52cee2cdd625ebf6769)

(From OE-Core rev: bfa9a8505a143c345ca1038fd5919ac2f6fec722)

Signed-off-by: Joe Slater <joe.slater@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-01 22:59:23 +01:00
Richard Purdie
fe22033339 yocto-uninative: Upgrade to version 2.2
This version adds nativesdk-libnss-nis to resolve glibc symbol issues

We need this to avoid symbol mismatch issues for binaries that use this
on newer systems which then won't run on older ones where it isn't present.

(From OE-Core rev: 98c7ab9cf32765d604c35dc69bc7bd90e94fc8f3)

(From OE-Core rev: 026408c9d90e6241ce1b3d4cadefc48b7aba1734)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-01 22:59:23 +01:00
Martin Jansa
86aaecf948 gio-module-cache.bbclass: disable update_gio_module_cache postinst script for nativesdk
* it fails to execute native binary inside the qemu usermode for target
  arch as shown e.g. for qemuarm and raspberrypi3 build on x86_64
  builder:

  qemuarm-webos-linux-gnueabi/webos-ndk-basic/1.0.0-1-r3/temp/log.do_populate_sdk:
    NOTE: > Executing update_gio_module_cache-nativesdk intercept ...
    WARNING: The postinstall intercept hook 'update_gio_module_cache-nativesdk' failed, details in log.do_populate_sdk
    qemuarm-webos-linux-gnueabi/webos-ndk-basic/1.0.0-1-r3/sdk/image/opt/webos-sdk-x86_64/7.0~s14/sysroots/x86_64-webossdk-linux/usr/libexec/nativesdk-gio-querymodules: Invalid ELF image for this architecture

  qemuarm-webos-linux-gnueabi/my-sdk/1.0.0-1-r3/sdk/image/opt/webos-sdk-x86_64/7.0~s14/sysroots/armv5te-webos-linux-gnueabi/usr/libexec/gio-querymodules:
    ELF 32-bit LSB  executable, ARM, EABI5 version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 3.2.0, BuildID[sha1]=5b7f0c77e8ee9587f4e02eaf1d54a1e230e539bd, stripped
  qemuarm-webos-linux-gnueabi/my-sdk/1.0.0-1-r3/sdk/image/opt/webos-sdk-x86_64/7.0~s14/sysroots/x86_64-webossdk-linux/usr/libexec/nativesdk-gio-querymodules:
    ELF 64-bit LSB  executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 3.2.0, BuildID[sha1]=eeded124aa53c7ac997dd6326e5d9b75e8d9c43d, stripped

  qemuarm-webos-linux-gnueabi/webos-ndk-basic/1.0.0-1-r3/intercept_scripts-ac629c4abfb418548877d2a412f7e552bd21e66f0b645b8875dc56ed9f0df40d/update_gio_module_cache-nativesdk
bindir=/opt/webos-sdk-x86_64/7.0~s14/sysroots/x86_64-webossdk-linux/usr/bin
base_libdir=/opt/webos-sdk-x86_64/7.0~s14/sysroots/x86_64-webossdk-linux/lib
libexecdir=/opt/webos-sdk-x86_64/7.0~s14/sysroots/x86_64-webossdk-linux/usr/libexec
libdir=/opt/webos-sdk-x86_64/7.0~s14/sysroots/x86_64-webossdk-linux/usr/lib
binprefix=nativesdk-

set -e

PSEUDO_UNLOAD=1 qemuwrapper -L $D -E
LD_LIBRARY_PATH=$D${libdir}:$D${base_libdir} \
        $D${libexecdir}/${binprefix}gio-querymodules
$D${libdir}/gio/modules/

[ ! -e $D${libdir}/gio/modules/giomodule.cache ] ||
        chown root:root $D${libdir}/gio/modules/giomodule.cache

  raspberrypi3-webos-linux-gnueabi/webos-ndk-basic/1.0.0-1-r3/temp/log.do_populate_sdk:
    NOTE: > Executing update_gio_module_cache-nativesdk intercept ...
    WARNING: The postinstall intercept hook 'update_gio_module_cache-nativesdk' failed, details in log.do_populate_sdk
    raspberrypi3-webos-linux-gnueabi/webos-ndk-basic/1.0.0-1-r3/sdk/image/opt/webos-sdk-x86_64/7.0~s14/sysroots/x86_64-webossdk-linux/usr/libexec/nativesdk-gio-querymodules: Invalid ELF image for this architecture

  raspberrypi3-webos-linux-gnueabi/my-sdk/1.0.0-1-r3/sdk/image/opt/webos-sdk-x86_64/7.0~s14/sysroots/cortexa7t2hf-neon-vfpv4-webos-linux-gnueabi/usr/libexec/gio-querymodules:
    ELF 32-bit LSB  executable, ARM, EABI5 version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 3.2.0, BuildID[sha1]=5267f1e542b014522af5ab54443d768ba6b47351, stripped
  raspberrypi3-webos-linux-gnueabi/my-sdk/1.0.0-1-r3/sdk/image/opt/webos-sdk-x86_64/7.0~s14/sysroots/x86_64-webossdk-linux/usr/libexec/nativesdk-gio-querymodules:
    ELF 64-bit LSB  executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 3.2.0, BuildID[sha1]=eeded124aa53c7ac997dd6326e5d9b75e8d9c43d, stripped

  raspberrypi3-webos-linux-gnueabi/webos-ndk-basic/1.0.0-1-r3/intercept_scripts-a4270d1427cca0a9d172dbcd8dc262957c8e081c657e1123cc9ad551d65f22ea/update_gio_module_cache-nativesdk
bindir=/opt/webos-sdk-x86_64/7.0~s14/sysroots/x86_64-webossdk-linux/usr/bin
base_libdir=/opt/webos-sdk-x86_64/7.0~s14/sysroots/x86_64-webossdk-linux/lib
libexecdir=/opt/webos-sdk-x86_64/7.0~s14/sysroots/x86_64-webossdk-linux/usr/libexec
libdir=/opt/webos-sdk-x86_64/7.0~s14/sysroots/x86_64-webossdk-linux/usr/lib
binprefix=nativesdk-

set -e

PSEUDO_UNLOAD=1 qemuwrapper -L $D -E
LD_LIBRARY_PATH=$D${libdir}:$D${base_libdir} \
        $D${libexecdir}/${binprefix}gio-querymodules
$D${libdir}/gio/modules/

[ ! -e $D${libdir}/gio/modules/giomodule.cache ] ||
        chown root:root $D${libdir}/gio/modules/giomodule.cache

* it isn't needed in master, because nativesdk postinst were fixed by:
  commit d10fd6ae3fe46290c6e3a5250878966d9f12ca3f
  Author: Alexander Kanavin <alexander.kanavin@linux.intel.com>
  Date:   Mon Jun 11 16:38:20 2018 +0300
  Subject: qemuwrapper-cross: enable multilib and nativesdk variants of the script
* which depends on:
  commit d4f5b8e26acaadffac6df10f9a9d9ebfb3045f5f
  Author: Alexander Kanavin <alexander.kanavin@linux.intel.com>
  Date:   Mon Jun 11 16:38:17 2018 +0300
  Subject: gtk-immodules-cache.bbclass: convert cache creation to postinst_intercept mechanism

* backporting just these 2 isn't enough, we would need to backport
  something else as well, otherwise it fails with:
  webos-ndk-basic/1.0.0-1-r3/intercept_scripts-a4270d1427cca0a9d172dbcd8dc262957c8e081c657e1123cc9ad551d65f22ea/update_gio_module_cache-nativesdk:
  nativesdk-qemuwrapper: not found

  and at this point I would rather safely disable it for nativesdk
  in sumo instead of backporting bunch more commits to stable branch

(From OE-Core rev: 11487d960e8a10ba9f33cffaa631e941b8874fa6)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-30 00:02:53 +01:00
Daniel Díaz
13dc9eedc3 glibc: Avoid multilibbing on wordsize.h
Once another header #includes <bits/wordsize.h>, there is a
potential recursion going on because the
multilib_header_wrapper.h #includes <bits/wordsize.h> again!

This should not happen because an __arm__ (32-bits) or an
__aarch64__ (64-bits) environment guarantees that we will
be getting the correct definition, but when building against
a different target (like BPF), recursion is what happens.

This can be seen, for instance, when building eBPF programs
from the kernel with `clang -target bpf', such as the ones
located in linux/tools/testing/selftests/bpf/.

(From OE-Core rev: a74c77d6168101e88c3a3bce7130f4f52cfab95d)

(From OE-Core rev: 7fe620ed0f9bb0404a1929d9c1c47f432f9a6b37)

Signed-off-by: Daniel Díaz <daniel.diaz@linaro.org>
Signed-off-by: Aníbal Limón <anibal.limon@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-30 00:02:52 +01:00
Joshua Watt
e4f158a461 u-boot: Fix build race condition
Backports 2f61b13d6acba787b00598d519c85222e993e4ca (included in the
2018.07 release) which fixes a race condition when building.

[YOCTO #12705]

(From OE-Core rev: 77586b8e1e50234f34b6c469c41819e36cc8a786)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-30 00:02:52 +01:00
Andre McCurdy
b136c92b29 curl: update 7.60.0 -> 7.61.0
https://curl.haxx.se/changes.html#7_61_0

(From OE-Core rev: b26ca91574a88745910d44777bb17ac0616baf3e)

(From OE-Core rev: 99ea485195327fcdd63f682a41a4b340a2fd1dda)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-30 00:02:52 +01:00
Rui Wang
5fad6a5755 bash: fix wrong exit status offset
In Linux,8 bits of the return code and 8 bits of the number of
the killing signal are mixed into a single value on the exit code,
so the exit status offset should be 8. But the autoconf checker
can not determine it while cross compiling, and then it is set to
the default value 0, which will cause generating the wrong exit
code if program exit with an error code.

(From OE-Core rev: e2dea46607a24620d6d2c250efc9b2e95bfd5ad8)

(From OE-Core rev: befc0dcbbd5d0ccc97ffac1ce24247ac4b001137)

Signed-off-by: Rui Wang <rui.wang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-30 00:02:52 +01:00
Ross Burton
d79d44e27f gnutls: use HTTP instead of FTP
HTTP is in general more reliable so use that in the SRC_URI.

(From OE-Core rev: 4f3378e0763a94a5daac7169f498177fc6ef4e75)

(From OE-Core rev: 195f7a1d1a40c341ca6c84232194a565e9daa9d6)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-30 00:02:52 +01:00
Joe Slater
f259167b77 tiff: security fix CVE-2018-10963
Denial of service described at https://nvd.nist.gov/vuln/detail/CVE-2018-10963.

(From OE-Core rev: d19a9b41d3b2dcba3b102a8289b7787b4b131e96)

(From OE-Core rev: d1327439b800e21a8116f8e33e4fe9d2b6c17198)

Signed-off-by: Joe Slater <joe.slater@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-30 00:02:52 +01:00
Ross Burton
884b883562 insane: optimise buildpath search
Instead of decoding every file we open as UTF-8 (with many errors as machine
code isn't UTF-8), convert the build path to the UTF-8 byte representation and
search for that instead.

(From OE-Core rev: ffb52d383bfe413cf31fef13663fe9937a146c76)

(From OE-Core rev: e0e366731116e62857fa3bdec9e3897aafcc8137)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-30 00:02:52 +01:00
Anuj Mittal
2919a89054 wic/engine: use up all free space when expanding partitions
Currently we just divide up the free space by the number of partitions
that need to be re-sized. This leads to problems when a user has
explicitly specified a subset of partitions (but not all) that need
to re-sized along with the sizes. As an example, for an image with 3
partitions, if we use:

wic write image.wic /dev/sdb --expand 1:10G

This would lead to paritions 2 and 3 each being re-sized to one thirds
of the free space instead of half.

Change the behavior to use up all the free space.

(From OE-Core rev: a88f1b5d88dbc5fb28be24b9787d73b9e0cdf183)

(From OE-Core rev: 167d0c4a9f45e3b8172fc34bf80f3fa587513b0a)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-30 00:02:52 +01:00
Anuj Mittal
19c1d1f902 wic/engine: fix errors when expanding partitions
The UEFI spec implies that GPT partitions should be assumed to be on a 2048
sector boundary (for a 512 byte sector) and the current logic just
divides the free sectors available by the number of partitions that need
re-sizing, which may or may not align and the final result might
overshoot the limits imposed after alignment.

Since we are expanding already aligned partitions, just divide up the
free space in multiples of 2048. Also use the exec_cmd wrapper instead
of the subprocess call directly.

Fixes [YOCTO #12840]

(From OE-Core rev: 5eef63f5afdfbab8e30748cb1bf42bf2e6524759)

(From OE-Core rev: 2217c4ec7682adce1fe683233d80c6d54888300b)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-30 00:02:52 +01:00
Rasmus Villemoes
305711f10a perf: disable parallelism for 'make clean'
Whenever perf got rebuilt, I was consistently getting errors such as

| find: '[...]/perf/1.0-r9/perf-1.0/plugin_mac80211.so': No such file or directory
| find: '[...]/perf/1.0-r9/perf-1.0/plugin_mac80211.so': No such file or directory
| find: find: '[...]/perf/1.0-r9/perf-1.0/libtraceevent.a''[...]/perf/1.0-r9/perf-1.0/libtraceevent.a': No such file or directory: No such file or directory
|
[...]
| find: cannot delete '/mnt/xfs/devel/pil/yocto/tmp-glibc/work/wandboard-oe-linux-gnueabi/perf/1.0-r9/perf-1.0/util/.pstack.o.cmd': No such file or directory

breaking the whole build. The root cause seems to be that the implicit
'make clean' done during do_configure ends up running in parallel, and
thus multiple find commands attempt to stat and/or delete the same
file.

A patch disabling parallelism for the clean target has been ack'ed
upstream (lkml.kernel.org/r/20180705134955.GB3686@krava), but it should
be harmless to pass JOBS=1 even with a fixed kernel. This can be removed
if and when all relevant -stable kernels have that patch.

(From OE-Core rev: bb58203b668df42fd08c2e5fa4a172cf63e37369)

(From OE-Core rev: d12722681a4c13c1a6bc9c965cc43c4544ce7aa9)

Signed-off-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-30 00:02:52 +01:00
Bruce Ashfield
651d49ee02 linux-yocto/4.12: update to v4.12.26
Integrating Paul Gortmaker's -stable 4.12 release, which comprises
the following commits:

b0f63e84c132 Linux 4.12.26
61be5424616e usbnet: fix alignment for frames with no ethernet header
6d0519e75609 tipc: fix memory leak in tipc_accept_from_sock()
8560506d5b7a tipc: call tipc_rcv() only if bearer is up in tipc_udp_recv()
5ceba73f1c24 tcp: remove buggy call to tcp_v6_restore_cb()
450a839e54a6 tcp/dccp: block bh before arming time_wait timer
872d246eaed9 stmmac: reset last TSO segment size after device open
74386d6ee7bf sit: update frag_off info
3df033244a42 s390/qeth: fix GSO throughput regression
b7bd0107008f s390/qeth: fix early exit from error path
7f02573318ba s390/qeth: build max size GSO skbs on L2 devices
3c8a527e0496 rds: Fix NULL pointer dereference in __rds_rdma_map
00c0600c0a35 net: remove hlist_nulls_add_tail_rcu()
193d9a02e802 net: realtek: r8169: implement set_link_ksettings()
8fb1c5e220ee net: qmi_wwan: add Quectel BG96 2c7c:0296
0c2ba29a13d9 net/packet: fix a race in packet_bind() and packet_notifier()
bb06331e9156 net: openvswitch: datapath: fix data type in queue_gso_packets
ea15a664c5b8 usb: gadget: ffs: Forbid usb_ep_alloc_request from sleeping
7f11deffc177 ipmi: Stop timers before cleaning up the module
fb006a18929e fix kcm_clone()
ee82eaf439cc RDMA/cxgb4: Annotate r2 and stag as __be32
b71be191d4ed md: free unused memory after bitmap resize
6d24efc56915 dm raid: fix panic when attempting to force a raid to sync
490fc05683b4 blk-mq: Avoid that request queue removal can trigger list corruption
d9e8cb49aaf1 ide: ide-atapi: fix compile error with defining macro DEBUG
115978628b54 ipvlan: fix ipv6 outbound device
ee2ce344ee06 powerpc/powernv/idle: Round up latency and residency values
0fe4d3f9fb5b afs: Connect up the CB.ProbeUuid
94bdd552d7b1 IB/mlx5: Assign send CQ and recv CQ of UMR QP
aa02d85e4d08 IB/mlx4: Increase maximal message size under UD QP
dd955bcce383 bnxt_re: changing the ip address shouldn't affect new connections
a4b3e59bcb04 f2fs: fix to clear FI_NO_PREALLOC
78f9d39a2735 xfrm: Copy policy family in clone_policy
4577662b6010 atm: horizon: Fix irq release error
d7241b40fe6d kbuild: rpm-pkg: fix jobserver unavailable warning
bffb011d5446 mailbox: mailbox-test: don't rely on rx_buffer content to signal data ready
849ef7edfa4c clk: hi3660: fix incorrect uart3 clock freqency
d561354fe15d clk: uniphier: fix DAPLL2 clock rate of Pro5
eada5db0be6e clk: qcom: common: fix legacy board-clock registration
11ea07285eb4 geneve: fix fill_info when link down
4e0b53bd177a sctp: return error if the asoc has been peeled off in sctp_wait_for_sndbuf
be7cba326d33 sctp: use the right sk after waking up from wait_buf sleep
2c485f6fa3be sctp: do not free asoc when it is already dead in sctp_sendmsg
6e2b427a32da slub: fix sysfs duplicate filename creation when slub_debug=O
e66ebbc23607 zsmalloc: calling zs_map_object() from irq is a bug
dc423eda615d sparc64/mm: set fields in deferred pages
956c73ca6664 block: wake up all tasks blocked in get_request()
1f35bda74d1a dt-bindings: usb: fix reg-property port-number range
412c76f0f9b8 sunrpc: Fix rpc_task_begin trace point
09f79313b317 NFS: Fix a typo in nfs_rename()
a550f7b43f63 dynamic-debug-howto: fix optional/omitted ending line number to be LARGE instead of 0
80f443550f8f lib/genalloc.c: make the avail variable an atomic_long_t
1dfea0e03917 drivers/rapidio/devices/rio_mport_cdev.c: fix resource leak in error handling path in 'rio_dma_transfer()'
4add25bf3dff route: update fnhe_expires for redirect when the fnhe exists
c53ad6cb2f86 route: also update fnhe_genid when updating a route cache
d09b814cd2aa gre6: use log_ecn_error module parameter in ip6_tnl_rcv()
f9ef4cd05462 mac80211_hwsim: Fix memory leak in hwsim_new_radio_nl()
a95269b0e4e5 x86/mpx/selftests: Fix up weird arrays
76e5bd0ae30a coccinelle: fix parallel build with CHECK=scripts/coccicheck
59f2aa43a314 kbuild: pkg: use --transform option to prefix paths in tar
50ce05457e39 irqchip/qcom: Fix u32 comparison with value less than zero
e3fec500f619 ARM: avoid faulting on qemu
602f85aeefb7 crypto: talitos - fix ctr-aes-talitos
73e76cb0ca1f crypto: talitos - fix use of sg_link_tbl_len
f17fe30404de crypto: talitos - fix AEAD for sha224 on non sha224 capable chips
f5fa317606b7 crypto: talitos - fix setkey to check key weakness
519619ec114a crypto: talitos - fix memory corruption on SEC2
e7984cca5abc crypto: talitos - fix AEAD test failures
64d05b5d1d86 bus: arm-ccn: fix module unloading Error: Removing state 147 which has instances left.
e14e213dfd51 bus: arm-ccn: Fix use of smp_processor_id() in preemptible context
63efd55a2c6b bus: arm-ccn: Check memory allocation failure
fd30c25b5596 bus: arm-cci: Fix use of smp_processor_id() in preemptible context
d358187f050b media: dvb: i2c transfers over usb cannot be done from stack
2ae277ebe31f drm/exynos: gem: Drop NONCONTIG flag for buffers allocated without IOMMU
0792a5a27074 drm/bridge: analogix dp: Fix runtime PM state in get_modes() callback
fdc899328ff3 kdb: Fix handling of kallsyms_symbol_next() return value
08f22e2251fd brcmfmac: change driver unbind order of the sdio function devices
f9a77013fa02 powerpc/64s: Initialize ISAv3 MMU registers before setting partition table
9c6dfd696e5a KVM: s390: Fix skey emulation permission check
092937ce1aae s390: fix compat system call table
4f4b2e279816 s390: always save and restore all registers on context switch
8c54b7d880d4 smp/hotplug: Move step CPUHP_AP_SMPCFD_DYING to the correct place
a2ec325c7d20 iommu/vt-d: Fix scatterlist offset handling
743ac71ece80 ALSA: usb-audio: Fix the missing ctl name suffix at parsing SU
1df6e988ae39 ALSA: usb-audio: Add check return value for usb_string()
974394e57a05 ALSA: usb-audio: Fix out-of-bound error
f4753360efda ALSA: seq: Remove spurious WARN_ON() at timer check
478c2ed7ca1c ALSA: pcm: prevent UAF in snd_pcm_info
b12060cae8c2 btrfs: handle errors while updating refcounts in update_ref_for_cow
ecfc013c7f23 btrfs: fix missing error return in btrfs_drop_snapshot
45822ea3d1bf X.509: fix comparisons of ->pkey_algo
19057ced2699 X.509: reject invalid BIT STRING for subjectPublicKey
a3ad8e49bc26 KEYS: reject NULL restriction string when type is specified
7c2ccfe13faa KEYS: add missing permission check for request_key() destination
664879ff9aef ASN.1: check for error from ASN1_OP_END__ACT actions
4c0e7ec3072d ASN.1: fix out-of-bounds read when parsing indefinite length item
17a6f363daf9 efi/esrt: Use memunmap() instead of kfree() to free the remapping
8dd372dd8845 efi: Move some sysfs files to be read-only by root
97c6b857262f scsi: libsas: align sata_device's rps_resp on a cacheline
eb78a8b8f172 scsi: use dma_get_cache_alignment() as minimum DMA alignment
db4a32fa5cf2 scsi: dma-mapping: always provide dma_get_cache_alignment
1f55442d0992 isa: Prevent NULL dereference in isa_bus driver callbacks
93fdb7dc713e hv: kvp: Avoid reading past allocated blocks from KVP file
d745d533737a pinctrl: armada-37xx: Fix direction_output() callback behavior
ae6add36f3ce iio: adc: meson-saradc: fix the bit_idx of the adc_en clock
50c87ecdb250 iio: adc: cpcap: fix incorrect validation
657257ba13ae iio: health: max30102: Temperature should be in milli Celsius
3da92b4ab2cc virtio: release virtio index when fail to device_register
f6fe0d2777b2 can: peak/pcie_fd: fix potential bug in restarting tx queue
654babccd437 can: usb_8dev: cancel urb on -EPIPE and -EPROTO
bda1dccdda47 can: esd_usb2: cancel urb on -EPIPE and -EPROTO
9ff8eb7ef05b can: ems_usb: cancel urb on -EPIPE and -EPROTO
51e5de2b036b can: mcba_usb: cancel urb on -EPROTO
c94c94a367ef can: kvaser_usb: cancel urb on -EPIPE and -EPROTO
c8474d8798ab can: kvaser_usb: ratelimit errors if incomplete messages are received
1936ba2b0b40 can: kvaser_usb: Fix comparison bug in kvaser_usb_read_bulk_callback()
bc86162fa81a can: kvaser_usb: free buf in error paths
4a879f2d1636 can: ti_hecc: Fix napi poll return value for repoll
09b06e3f7b1d can: flexcan: fix VF610 state transition issue
f81db8e7d0cb can: peak/pci: fix potential bug when probe() fails
7b747f65c553 can: mcba_usb: fix device disconnect bug
0a3964b0a8d3 usb: f_fs: Force Reserved1=1 in OS_DESC_EXT_COMPAT
d1c24d05d7ec serdev: ttyport: fix tty locking in close
541fbaaf6db7 serdev: ttyport: fix NULL-deref on hangup
a6d00d0df9e5 serdev: ttyport: add missing receive_buf sanity checks
b30e0bedb66b usb: gadget: udc: renesas_usb3: fix number of the pipes

(From OE-Core rev: 5fddf0226efc996f7eeba76f15e3335c9e60c2f3)

(From OE-Core rev: 650cbbf76742adfd4e8c44c2c98dbeaaebc9e3bc)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-30 00:02:52 +01:00
Bruce Ashfield
4106e8591a linux-yocto/4.12: bump to v4.12.25
Integrating Paul Gortmaker's v4.12.25 -stable queue, which comprises the
following commits:

  e61748ef5db0 Linux 4.12.25
  c34553e3e8af x86/bugs: Rename SSBD_NO to SSB_NO
  4aa9e65a91b9 x86/bugs: Remove x86_spec_ctrl_set()
  7283d22a40c4 x86/bugs: Expose x86_spec_ctrl_base directly
  60fb8f1bbd46 x86/speculation: Rework speculative_store_bypass_update()
  cc8a65725832 x86/cpufeatures: Disentangle SSBD enumeration
  4cadf648f802 x86/cpufeatures: Disentangle MSR_SPEC_CTRL enumeration from IBRS
  14476a34b4d0 x86/speculation: Use synthetic bits for IBRS/IBPB/STIBP
  e66dd0595eac x86/cpu: Make alternative_msr_write work for 32-bit code
  32e38eda9958 x86/bugs: Fix the parameters alignment and missing void
  5593194735ea x86/bugs: Make cpu_show_common() static
  86e7eb199990 x86/bugs: Fix __ssb_select_mitigation() return type
  4efd9170a722 Documentation/spec_ctrl: Do some minor cleanups
  e074092d9d0a proc: Use underscores for SSBD in 'status'
  f57b4be9a391 x86/bugs: Rename _RDS to _SSBD
  f395cafed558 x86/speculation: Make "seccomp" the default mode for Speculative Store Bypass
  9599751872de seccomp: Move speculation migitation control to arch code
  647fb2d84f05 seccomp: Add filter flag to opt-out of SSB mitigation
  44d5a1d9fe07 seccomp: Use PR_SPEC_FORCE_DISABLE
  9490e71c3074 prctl: Add force disable speculation
  ad5b97fe1ab6 x86/bugs: Make boot modes __ro_after_init
  cfc00a7877b6 seccomp: Enable speculation flaw mitigations
  bc4bf81c64b0 proc: Provide details on speculation flaw mitigations
  a41d2136a447 nospec: Allow getting/setting on non-current task
  7e17279e72b9 x86/speculation: Add prctl for Speculative Store Bypass mitigation
  eea6b1abc91e x86/process: Allow runtime control of Speculative Store Bypass
  c8630c28cd28 prctl: Add speculation control prctls
  ecefae5ca101 x86/speculation: Create spec-ctrl.h to avoid include hell
  4bcdf54612aa x86/bugs/AMD: Add support to disable RDS on Fam[15,16,17]h if requested
  6ce1317929a3 x86/bugs: Whitelist allowed SPEC_CTRL MSR values
  cd5e5e6f2e39 x86/bugs/intel: Set proper CPU features and setup RDS
  d97584229d85 x86/bugs: Provide boot parameters for the spec_store_bypass_disable mitigation
  793b7453cfc5 x86/cpufeatures: Add X86_FEATURE_RDS
  c6c3cd47ccbb x86/bugs: Expose /sys/../spec_store_bypass
  2d92a521bda7 x86/bugs: Read SPEC_CTRL MSR during boot and re-use reserved bits
  81865e325abe x86/bugs: Concentrate bug reporting into a separate function
  45245a5b9dc4 x86/bugs: Concentrate bug detection into a separate function
  05e82d536970 x86/nospec: Simplify alternative_msr_write()
  effb0dfecfa2 x86/cpu_entry_area: Sync cpu_entry_area to initial_page_table
  89fffee9d555 x86/xen: Zero MSR_IA32_SPEC_CTRL before suspend
  76199d7beb0b x86/speculation: Move firmware_restrict_branch_speculation_*() from C to CPP
  426210b00b02 x86/speculation: Use IBRS if available before calling into firmware
  63904f8a6d41 x86/entry/64: Fix CR3 restore in paranoid_exit()
  35cf6a9daf5f x86/cpu: Change type of x86_cache_size variable to unsigned int
  7fded60b2cb7 x86/spectre: Fix an error message
  343945a16727 x86/speculation: Add <asm/msr-index.h> dependency
  eb0f059ee2de nospec: Move array_index_nospec() parameter checking into separate macro
  31951a39de73 x86/speculation: Fix up array_index_nospec_mask() asm constraint
  344711f16fec x86/entry/64: Remove the unused 'icebp' macro
  d4324affaf05 x86/entry/64: Fix paranoid_entry() frame pointer warning
  3cadbc9228b4 x86/entry/64: Indent PUSH_AND_CLEAR_REGS and POP_REGS properly
  0d561147160c x86/entry/64: Get rid of the ALLOC_PT_GPREGS_ON_STACK and SAVE_AND_CLEAR_REGS macros
  22c1269eefa9 x86/entry/64: Use PUSH_AND_CLEAN_REGS in more cases
  ac897d25b1d3 x86/entry/64: Introduce the PUSH_AND_CLEAN_REGS macro
  226eea037fa6 x86/entry/64: Interleave XOR register clearing with PUSH instructions
  120d889cac9f x86/entry/64: Merge the POP_C_REGS and POP_EXTRA_REGS macros into a single POP_REGS macro
  2d5eb3888f24 x86/entry/64: Merge SAVE_C_REGS and SAVE_EXTRA_REGS, remove unused extensions
  797a6f4444f1 x86/speculation: Clean up various Spectre related details
  ff032faca431 KVM/nVMX: Set the CPU_BASED_USE_MSR_BITMAPS if we have a valid L02 MSR bitmap
  1aaab2d1a1fd KVM/x86: Reduce retpoline performance impact in slot_handle_level_range(), by always inlining iterator helper methods
  dd17c0f5a114 Revert "x86/speculation: Simplify indirect_branch_prediction_barrier()"
  add7dd4f1f81 x86/speculation: Correct Speculation Control microcode blacklist again
  358f03a9395f x86/speculation: Update Speculation Control microcode blacklist
  0307861327c7 x86/mm/pti: Fix PTI comment in entry_SYSCALL_64()
  a612b987b028 x86/entry/64/compat: Clear registers for compat syscalls, to reduce speculation attack surface
  1b8b432f6dee x86/entry/64: Clear registers for exceptions/interrupts, to reduce speculation attack surface
  513e4bbfc32c x86/entry/64: Clear extra registers beyond syscall arguments, to reduce speculation attack surface

(From OE-Core rev: 400c1bd54c0191b96bccfe0d2755995bdfc04fc1)

(From OE-Core rev: 50bf492ce1db930b5a1c3f0d750015c04a6aaaf0)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-30 00:02:52 +01:00
Lei Maohui
80a498040f linux-libc-headers: To fix build error when enable mutilib on aarch64 Big endian.
(From OE-Core rev: 1c31fa6929fc97e2fb0c4fbfcc66c789c39c1117)

(From OE-Core rev: 4a75ecc980d27ff0d0ed74f6cce0aff41cd080fd)

Signed-off-by: Lei Maohui <leimaohui@cn.fujitsu.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-30 00:02:52 +01:00
Richard Purdie
20a5843837 staging: Always use the default sysroot for allarch recipes
Without this, recipes can't find allarch data files like autoconf-archive.

(From OE-Core rev: 8ae70703f68853a8714a4fb8fa5d959b5e21a02d)

(From OE-Core rev: 9e7aaabc456e186274912edcf6b7f5bb2be1333d)

(From OE-Core rev: a46011097e76813a440a5497d97e56b83541bcb5)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-30 00:02:52 +01:00
Richard Purdie
f55516fef5 staging: Improve fixup processing code
With the fixes to other parts of multilib, it was found that the fixup code's
assumptions about the recipe sysroot were incorrect. We need to use the value
calculated earlier in the function.

It turns out there is a rather neat way to do this which cleans up the code
as an added bonus.

(From OE-Core rev: 2c1978fe1a5b72167c49010fbdd39a9e2eefdef8)

(From OE-Core rev: ef7e612e54d7629518a13ed3b1c2967bf70347a2)

(From OE-Core rev: c1455f3b052fc589fad628e97e35bcc9296726e1)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-30 00:02:52 +01:00
Richard Purdie
842ad94cad staging/image: Fix multilib recipe sysroot issues
Currently if you enable multilib, then build an image, the multilib
recipe sysroot is build in the wrong WORKDIR. If you then clean and
rebuild the image you see "file exists" errors.

This patch ensures the real WORKDIR is used consistently and then
cleans/rebuilds also work correctly.

(From OE-Core rev: c013ae59a158378d06ecf8eb123df0a10bf986b4)

(From OE-Core rev: 7631301b5fc27ab9dda00fcf3d4a0faf685c26dd)

(From OE-Core rev: e167e99621009f92d677ff6dac303d09e42361b5)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-30 00:02:52 +01:00
Alex Kiernan
96fbd39ba3 bmap-tools: Add python3-fcntl dependency
Add missing python3-fcntl dependency

(From OE-Core rev: 5821db83e5c21a7a85b8675951e4e9c1893e4b26)

(From OE-Core rev: 6aaed231cce829aa6684a7e10c7cf0e8b0504781)

Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-19 10:53:52 +01:00
Olof Johansson
66051c128d rpm: Avoid leaking temporary scriplet files
RPM writes each package scriptlet (post-/preinstall) to
/var/tmp/rpm-tmp.XXXXXX --- a lot of files potentially gets created.
When debugging is enabled, these temporary scriptlet files aren't
cleaned up at all and after a while this results in the filesystem
resources are eaten up (like running out of available inodes).

Normally, the temporary files would have been written to the tmp
directory of the target sysroot (which we can easily clean up), but in
this tree, you can't necessarily run the scriptlets.

Fixes [YOCTO #12792]

(From OE-Core rev: ffb0ece83e74797f4c3da3866bb3d691c388a5e5)

(From OE-Core rev: f0e1683d53e3b7436c04d665a181cdf5909e987c)

Signed-off-by: Olof Johansson <olofjn@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-19 10:53:52 +01:00
Fabio Berton
5a1a699415 busybox: Add patch to ignore -c on umount command
Fix error when umounting filesystem on shutdown with a systemd distro.

See more datails here: [https://github.com/systemd/systemd/issues/7786]

(From OE-Core rev: ae23367c85d1a6c84c25736ac3c9a059acbc8dbe)

(From OE-Core rev: 29b1555481a30f9a7eda43f67f3e8ceb5da1b0aa)

(From OE-Core rev: b233c8db7635250c59c02598308b0ea54580f4d0)

Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-19 10:53:52 +01:00
Otavio Salvador
66f380e4b0 go: Update 1.10.2 -> 1.10.3
go1.10.3 (released 2018/06/05) includes fixes to the go command, and
the crypto/tls, crypto/x509, and strings packages. In particular, it
adds minimal support to the go command for the vgo transition.

(From OE-Core rev: 37f288d783257cb9e6c035aaab1b661b1016b4c3)

(From OE-Core rev: aef0052ba416e24e503f5c984f254d023c32d5b3)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-19 10:53:52 +01:00
Otavio Salvador
96341ef44f go: Update 1.9.6 -> 1.9.7
go1.9.7 (released 2018/06/05) includes fixes to the go command, and
the crypto/x509, and strings packages. In particular, it adds minimal
support to the go command for the vgo transition.

(From OE-Core rev: 98d3ec92e8953304db51c73aff7a4e81b97f668c)

(From OE-Core rev: 8c90d5c8ecc146d37de5d7f1076a963c18f04f4c)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-19 10:53:52 +01:00
Otavio Salvador
5e5b2ed9e8 linux-firmware: upgrade to d114732 revision
Following changes are applied:

d114732 Merge branch 'for-upstreaming-v1.7.2-vsw' of https://github.com/felix-cavium/linux-firmware
fe4a9d4 brcm: update firmware for bcm4356 pcie
a292181 brcm: update firmware for bcm4354 sdio
be1c535 brcm: update firmware for bcm43362 sdio
5ac5ad5 brcm: update firmware for bcm43340 sdio
ec734a3 brcm: update firmware for bcm43430 sdio
ba51e86 Update Cypress license termination clause
1fa9ce3 amdgpu: update vega10 VCE firmware to version 55.3
9489f55 linux-firmware: Update firmware patch for Intel Bluetooth 7265 (D0)
6be4747 linux-firmware:Update firmware patch for Intel Bluetooth 7265 (D1)
4949d88 Merge branch 'master' of https://github.com/vgarodia/linux-firmware
7602644 qcom: add venus firmware files for v5.2
7518922 Update AMD cpu microcode for family 15h
3f8243c linux-firmware: Update firmware patch for Intel Bluetooth 8260
2c4f7c1 qed: Add firmware 8.37.2.0
0e193ca linux-firmware: liquidio: update vswitch firmware to v1.7.2
2a9b2cf Merge branch 'for-upstreaming-v1.7.2' of https://github.com/felix-cavium/linux-firmware
112d300 linux-firmware: Update firmware file for Intel Bluetooth,8265
629a5e0 linux-firmware: Update firmware patch for Intel Bluetooth 7260 (B5/B6)
7035335 linux-firmware: Update firmware patch for Intel Bluetooth 7260 (B3/B4)
c84bd66 linux-firmware: Update firmware file for Intel Bluetooth,9260
897330f linux-firmware:Update firmware patch for Intel Bluetooth 7265 (D1)
e94352c linux-firmware: Update firmware file for Intel Bluetooth,9560
7710151 linux-firmware: Update AMD cpu microcode
be1e8c5 Merge commit 'a6327c5a5f74c3d11da76d0dcb51c6f5db7f8a35' of https://github.com/Netronome/linux-firmware
86d39f8 amdgpu: sync up polaris12 firmware with 18.10 release
b5320a9 amdgpu: sync up polaris11 firmware with 18.10 release
152c924 amdgpu: sync up polaris10 firmware with 18.10 release
0d672f7 amdgpu: sync up vega10 firmware with 18.10 release
30447b1 amdgpu: sync up carrizo firmware with 18.10 release
dd6f936 amdgpu: sync up topaz firmware with 18.10 release
de9c175 amdgpu: sync up stoney firmware with 18.10 release
5e22609 amdgpu: sync up tonga firmware with 18.10 release
499042e amdgpu: sync up fiji firmware with 18.10 release
1db3eec amdgpu: sync up raven firmware with 18.10 release
a6327c5 nfp: Add symlink for Agilio CX 1x40GbE flower firmware
8b78780 nfp: update Agilio SmartNIC flower firmware to rev AOTC-2.9.A.16
d3b6941 linux-firmware: liquidio: update firmware to v1.7.2

License-Update: copyright years updated and filelist updated.
(From OE-Core rev: 6be8744d1b8ee35eb47acd517cfa29b2a7f455d5)

(From OE-Core rev: 087a50f4d8075a91fa6aa373a3dc05017e62f1f9)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-19 10:53:52 +01:00
Christopher Larson
71625594a9 ovmf: set PARALLEL_MAKE for target as well
This can fail for target, not just native.

(From OE-Core rev: 747c7dc8702d2241475894876d06a2f1f2b29fed)

(From OE-Core rev: 0d4ccd6eac41c878b5a9eec10e1a00b76241b846)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-19 10:53:52 +01:00
Christopher Larson
f9f9698c9a pcmciautils: depend on bison-native
pcmciautils needs yacc as well as lex.

(From OE-Core rev: dd5208ae22d47504443785daece4bff6331d8904)

(From OE-Core rev: 356fab8a31985b231580666f1f7e198fbf4070f8)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-19 10:53:52 +01:00
He Zhe
5bde99bb6c cryptodev: Fix build errors with v4.17+
Backport from upstream to update internal syscall function usage.
https://github.com/cryptodev-linux/cryptodev-linux
f60aa08c63fc02780554a0a12180a478ca27d49f

(From OE-Core rev: 270a1e9bcf26a43f5cbdc5b901c4c6f79495311d)

(From OE-Core rev: 8289497565e7d5e6d3a8ff0bb58d8369f3bd3292)

Signed-off-by: He Zhe <zhe.he@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-19 10:53:52 +01:00
Hannu Lounento
a1403113c3 systemd: remove the group 'lock'
The upstream commit 61f32bff6130a44d077886d38cff89ad161bf177 included in
the release v229 removed the use of the group:

    commit 61f32bff6130a44d077886d38cff89ad161bf177
    Author: Martin Pitt <martin.pitt@ubuntu.com>
    Date:   Mon Feb 1 12:09:34 2016 +0100

        tmpfiles: drop /run/lock/lockdev

        Hardly any software uses that any more, and better locking mechanisms like
        flock() have been available for many years.

        Also drop the corresponding "lock" group from sysusers.d/basic.conf.in, as
        nothing else is using this.

    [...]
    diff --git a/sysusers.d/basic.conf.in b/sysusers.d/basic.conf.in
    index 823d6cb20..b2dc5ebd4 100644
    --- a/sysusers.d/basic.conf.in
    +++ b/sysusers.d/basic.conf.in
    @@ -19,7 +19,6 @@ g wheel   -     -            -

     # Access to certain kernel and userspace facilities
     g kmem    -     -            -
    -g lock    -     -            -
     g tty     @TTY_GID@     -            -
     g utmp    -     -            -
    [...]

The upstream documentation doc/UIDS-GIDS.md says that basic.conf.in is "the
precise list of the currently defined groups":

    ## Special `systemd` GIDs

    `systemd` defines no special UIDs beyond what Linux already defines (see
    above). However, it does define some special group/GID assignments, which are
    primarily used for `systemd-udevd`'s device management. The precise list of the
    currently defined groups is found in this `sysusers.d` snippet:
    [basic.conf](https://raw.githubusercontent.com/systemd/systemd/master/sysusers.d/basic.conf.in)

    It's strongly recommended that downstream distributions include these groups in
    their default group databases.

Removing the creation of the group also avoids the need to define a GID
for it when using static ids.

(From OE-Core rev: da3659155cd1825a4a8d3d7c5288b4273714de15)

(From OE-Core rev: d3e1ec73a27e0c9305d3c3bd09c141b16d4c7d0d)

Signed-off-by: Hannu Lounento <hannu.lounento@vaisala.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-19 10:53:52 +01:00
Ross Burton
b43dff84e9 minicom: change SRC_URI to use Debian mirrors
Alioth is dead and the minicom project on Salsa (the replacement for Alioth)
doesn't actually have any files in, so just use the Debian mirror instead.

(From OE-Core rev: b0338efcdabeec79c568c74b6888d7d523e8e9dc)

(From OE-Core rev: 62bd9b6efb377ed59cfc1594c36be5805d2951fd)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-19 10:53:52 +01:00
Ross Burton
dbd9f6867e mirrors: add Debian snapshot mirror for 2018
Add a Debian snapshot mirror from 2018 (specifically, 10th March, the date 9.4
was released) to DEBIAN_MIRRORS.

(From OE-Core rev: f3f394913b4e4a7c601ad1158faaf8b9d493e1c7)

(From OE-Core rev: 3d969e8f2979c7b4e7dff268f68c53b782bfa5e4)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-19 10:53:52 +01:00
Ross Burton
b8385ce3d1 shadow: update SRC_URI now Alioth is down
Alioth is dead so we can't use it for SRC_URI anymore.  There is a shadow
repository on GitHub which is the new upstream, but for some reason it is
missing the 4.2.1 tag and tarball that we use.  Also 4.2.1 was never uploaded
into Debian itself, so we can't use their mirror network either.

For now point SRC_URI at the Yocto Project source mirror and set
UPSTREAM_CHECK_URI so that we get nagged to upgrade to 4.6.

(From OE-Core rev: b3e246fef166030f327b5a852718ea907ada1759)

(From OE-Core rev: cdc91a056e315bea71c3ac1a1ac4024d3214a99d)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-19 10:53:52 +01:00
Ross Burton
21344f58ea chrpath: Alioth is dead, use DEBIAN_MIRROR
The previous host of chrpath, Alioth, is dead.  chrpath hasn't yet moved to
Salsa, so download the tarball from the Debian mirrors.

(From OE-Core rev: a8a2c5ec891286a1e7fd5ebdd33565f9ae3965c2)

(From OE-Core rev: 53d9da66dcb684cd2d1c703a4887c30ce7bf14d7)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-19 10:53:52 +01:00
Armin Kuster
0f3409c195 iso-codes: fix SRC_URI
The original FTP server, alioth.debian.org has been permanently taken down by the Debian Project and replaced with salsa.debian.org.

(From OE-Core rev: 565394d69925837c0d6f2140bc9489b68dc39474)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-19 10:53:52 +01:00
Richard Purdie
5887f81bb5 oeqa/selftest/systemd_boot: Never use cleansstate in QA tests without special handling of SSTATE_DIR
Removing things straight from the live sstate directory is prone to issues
since other builds may be relying on the artefact presence.

Also, cleansstate is very slow on the huge sstate that the autobuilder has
on slow NFS drives. This may well be causing long buildtimes in oe-selftest
as the time taken to remove the artefact by be long.

(From meta-yocto rev: f927d1582c93ea71ef760e4de8d5a6accc365284)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-15 16:19:20 +01:00
Scott Rifenbark
90f7edb32a sdk-manual: Updates to section on obtaining the SDK
Updated the example to more current information.

(From yocto-docs rev: 6c37cc5231ae560762c5bc8234331d53ebe7b69d)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-07 10:59:45 +01:00
Scott Rifenbark
40abca6f9a sdk-manual: Updates to "Building an SDK Installer" section.
Updated some links.  Also, rewrote the note about the libraries.
It was inaccurate.

(From yocto-docs rev: ca6593ea9336dd1974ce65ce1d9ca15af8583915)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-07 10:59:45 +01:00
Scott Rifenbark
51f84650f2 sdk-manual: Updates to the section for locating SDK installers
I corrected some wrong information.  Provided the correct terminology
for the build host, and provided quotations for supplied values to
be in line with manual writing conventions.

(From yocto-docs rev: aa88f3f09dce042a2f5b39bf059401b0cd08a6cc)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-07 10:59:45 +01:00
Richard Purdie
4fc9ea2377 meta-yocto-bsp: bump to the latest linux stable kernel for edgerouter/beaglebone
Bump to the latest stable kernel for 4.14 and 4.15 for edgerouter/beaglebone
to fix gcc8 build issues.

(From meta-yocto rev: c5e07b460cf9477181d2dcde8ea93daeeacc9a2e)

(From meta-yocto rev: fa9a4576256d3cab1160cdfde208bff5f10e2288)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-02 11:43:52 +01:00
Kevin Hao
c130b354fd meta-yocto-bsp: bump to the latest linux stable kernel for the non-x86 BSPs
Bump to the latest stable kernel for 4.12, 4.14 and 4.15.

(From meta-yocto rev: eb025ae398c0042ddc7be75e4ebdeb1fb1344c03)

(From meta-yocto rev: 5b1e359882f827f1e95eb79007ae57116a1d9832)

Signed-off-by: Kevin Hao <kexin.hao@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-02 11:43:52 +01:00
Anuj Mittal
ac4cf2f467 linux-yocto: update genericx86* SRCREVs for 4.15
Bump to kernel release 4.15.18.

(From meta-yocto rev: 64e3554d2bdaf037fc7ed86ace468ff2f75a698b)

(From meta-yocto rev: c1f23ef034fe208d549581f899a896cd83a13df0)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-02 11:43:52 +01:00
Anuj Mittal
65b254ec37 linux-yocto: update genericx86* SRCREVs for 4.14
Bump to kernel release 4.14.48.

(From meta-yocto rev: f37cf4dbcadabbbc8445b5c51187a59c2e64d3ec)

(From meta-yocto rev: caf30fdf67f67c7856d345849887b5111b12d318)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-02 11:43:52 +01:00
Anuj Mittal
166772f13b linux-yocto: update genericx86* SRCREVs for 4.12
Bump to kernel release 4.12.24.

(From meta-yocto rev: a2960aacf413837c168e303a89b80fdbb12d3263)

(From meta-yocto rev: 53d90f39d536ebeac9bb7b74a5e245f475f38087)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-02 11:43:52 +01:00
Tzu Hsiang Lin
d53a5f1e8b bitbake: fetch2: fix import error for Python 3.6.5
When running bitbake command with Python 3.6.5 always result in
import error causing by the change of distutils module.
This patch replaces the method to search executable in PATH by
"/usr/bin/env <command>".

(Bitbake rev: eb3bdcc9e7cb273de4114367887d1d7df9f036b7)

Signed-off-by: Tzu Hsiang Lin <t9360341@ntut.org.tw>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-02 11:43:52 +01:00
Kai Kang
c1e3ae9039 lame: remove LICENSE_FLAGS
The patent on mp3 format due to expire, so remove LICENSE_FLAGS from
lame recipe.

Ref:
https://bugzilla.gnome.org/show_bug.cgi?id=774252

(From OE-Core rev: 891dee3d20655eae35310fd684152516b91b44d9)

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit ef98095cabeb54bd86c2cb78229a1180c7403d4d)
Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-02 11:41:26 +01:00
Kai Kang
4640db3533 mpg123: remove LICENSE_FLAGS
mgp123 is patent free from version 1.25.0, so remove LICENSE_FLAGS.

https://mpg123.de/cgi-bin/news.cgi#2017-05-29

(From OE-Core rev: 71210b3299c3818fd89c002a4467f74228b3223e)

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit b0bc82a5f238db82425b3b146e269bc6605cbdce)
Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-02 11:41:26 +01:00
Jeremy Puhlman
cb3a943773 Qemu: CVE-2018-11806 slirp-heap-buffer-overflow
(From OE-Core rev: d3d0798086177c463142e33f1493be6e34536c64)

Signed-off-by: Jeremy Puhlman <jpuhlman@mvista.com>
[Fixed up for Sumo context]
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-02 11:41:26 +01:00
Richard Purdie
1ae140f7be lttng-modules: upgrade 2.10.5 -> 2.10.6
(From OE-Core rev: 3ba2701c2cb837c4c8590604021c4a6c50bf894b)

(From OE-Core rev: 5a046900e4796ced8a0e471825429de035f25836)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-02 11:41:26 +01:00
Anuj Mittal
67e55bf282 bitbake-blayers/create: add version for example recipe
Add version field in recipe name for example recipe created by
bitbake-layers.

Fixes [YOCTO #12767]

(From OE-Core rev: c62f6b9643d31b465ea0e919882e411a5ed35c56)

(From OE-Core rev: 963837bde1c0221333883505cc359e54bf98b10c)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 425af487a3)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-02 11:41:26 +01:00
Robert Yang
158ad96a6c send-error-report: decode response from server
Fixed:
b'Your entry can be found here: http://<snip>'

Now looks like:
Your entry can be found here: http://<snip>

(From OE-Core rev: 4510973fe12a61c21e12b46b8315c56f91eff5b7)

(From OE-Core rev: 8a5ee520cee8c2fd0c2d87f2bba5a6a7a4729bd6)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit e4bacbf94a)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-02 11:41:26 +01:00
Armin Kuster
fff93becc6 popt: update SRC_URI
It appears the rpm5.org has been down for some time, switch to fossies

WARNING: popt-native-1.16-r3 do_fetch: Failed to fetch URL http://rpm5.org/files/popt/popt-1.16.tar.gz, attempting MIRRORS if available

(From OE-Core rev: 347ee336dcc94e6fa4e4788117013615b90abd70)

(From OE-Core rev: 9e3bf0ce4ebb885ca0ede0e636d80e032c29e744)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 50804c0663)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-02 11:41:26 +01:00
Ricardo Ribalda Delgado
71bcd4c0a2 xinetd: Fix systemd service for systemd>237
SystemD 237 implements a stricted PIDfile handling that breaks several
daemons [1].

Change the way we start xinetd, mimicing other distros [2].

Fixes:
root@qt5122:~# journalctl -u xinetd
-- Logs begin at Fri 2018-05-25 14:33:29 UTC, end at Mon 2018-06-11 07:33:08 UTC. --
May 25 14:33:31 qt5122 systemd[1]: Starting Xinetd A Powerful Replacement For Inetd...
May 25 14:33:31 qt5122 systemd[1]: xinetd.service: Permission denied while opening PID file or unsafe symlink chain: /var/run/xinetd.pid
Jun 11 07:27:24 qt5122 systemd[1]: xinetd.service: Start operation timed out. Terminating.
Jun 11 07:27:24 qt5122 systemd[1]: xinetd.service: Failed with result 'timeout'.
Jun 11 07:27:24 qt5122 systemd[1]: Failed to start Xinetd A Powerful Replacement For Inetd.
Jun 11 07:31:38 qt5122 systemd[1]: Starting Xinetd A Powerful Replacement For Inetd...
Jun 11 07:31:38 qt5122 systemd[1]: xinetd.service: Permission denied while opening PID file or unsafe symlink chain: /var/run/xinetd.pid
Jun 11 07:33:08 qt5122 systemd[1]: xinetd.service: Start operation timed out. Terminating.
Jun 11 07:33:08 qt5122 systemd[1]: xinetd.service: Failed with result 'timeout'.
Jun 11 07:33:08 qt5122 systemd[1]: Failed to start Xinetd A Powerful Replacement For Inetd.

[1]: https://github.com/systemd/systemd/issues/8085
[2]: e490406367

(From OE-Core rev: eea25f03e4c46cfe0d05df46f8f50e1389179c80)

(From OE-Core rev: 23dda7c814eb65ac95695982173149142e53fa52)

Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit e4b365eb76)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-02 11:41:26 +01:00
Zhixiong Chi
869d3586b0 glibc: fix CVE-2017-18269 and CVE-2018-11236
Backport two CVE patches from the upstream
https://sourceware.org/git/gitweb.cgi?p=glibc.git;a=summary
commit 5460617d1567657621107d895ee2dd83bc1f88f2
commit cd66c0e584c6d692bc8347b5e72723d02b8a8ada

(From OE-Core rev: 398ac946745bbfad55deb382aeafec0be3298819)

(From OE-Core rev: 39b480b95c7123cd06b171782c610231d274313a)

Signed-off-by: Zhixiong Chi <zhixiong.chi@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit d2efd1f20e)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-02 11:41:26 +01:00
Andre McCurdy
7ff0775d27 cpio: fix CVE-2016-2037
"The cpio_safer_name_suffix function in util.c in cpio 2.11 allows
remote attackers to cause a denial of service (out-of-bounds write)
via a crafted cpio file."

  https://nvd.nist.gov/vuln/detail/CVE-2016-2037

Note that there appear to be two versions of this fix. The original
patch posted to the bug-cpio mailing list [1] is used by Debian [2],
but apparently causes regression [3]. The patch accepted to the
upstream git repo [4] seems to be the most complete fix.

  [1] https://lists.gnu.org/archive/html/bug-cpio/2016-01/msg00005.html
  [2] https://security-tracker.debian.org/tracker/CVE-2016-2037
  [3] https://www.mail-archive.com/bug-cpio@gnu.org/msg00584.html
  [4] http://git.savannah.gnu.org/cgit/cpio.git/commit/?id=d36ec5f4e93130efb24fb9678aafd88e8070095b

(From OE-Core rev: f170288ac706126e69a504a14d564b2e5c3513e4)

(From OE-Core rev: 5f9d19c53c7704bb8d14f3f7dc36fe54fa501e67)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 31a87d4d1d)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-02 11:41:26 +01:00
Andre McCurdy
80c4c6eabd cpio: rely on texinfo.bbclass for texinfo-native dependency
(From OE-Core rev: 7dad119dd0ee82b14a82b2a0b5a89f790e3bc007)

(From OE-Core rev: a716b58a098233ceb9c2403dda428e2b0eded9a9)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit a0a395a8c6)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-02 11:41:26 +01:00
Andre McCurdy
7e6d2d8831 cpio: move contents of cpio_v2.inc into the cpio recipe
Merge contents of cpio_v2.inc into the only recipe which uses it.

(From OE-Core rev: 162ff3871779d646dadc7e7287f4667641d6e612)

(From OE-Core rev: f3e929b6d4304c36264e70a3358ffabf1e1e4e2a)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit b177ee9244)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-02 11:41:26 +01:00
Nicola Lunghi
c456332d5c Add license file EPL-2.0
it is from:

https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.txt

And add 'EPL-2.0' to SRC_DISTRIBUTE_LICENSES.

(From OE-Core rev: f045b3d2c62c70a87277596d20bdb8830faa2963)

(From OE-Core rev: 04921e411328006b3b33f49197201745d53d2b0c)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 72f2b9d6c7)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-02 11:41:26 +01:00
Hong Liu
9a09626430 wpa-supplicant: fix the bug for PATCHTOOL = "patch"
When switch PATCHTOOL to patch, applying 'key-replay-cve-multiple.patch' failed:

checking file src/ap/ieee802_11.c
checking file src/ap/wpa_auth.c
checking file src/ap/wpa_auth.h
checking file src/ap/wpa_auth_ft.c
checking file src/ap/wpa_auth_i.h
checking file src/common/wpa_common.h
checking file src/rsn_supp/wpa.c
checking file src/rsn_supp/wpa_i.h
checking file src/rsn_supp/wpa.c
Hunk #1 FAILED at 709.
Hunk #2 FAILED at 757.
Hunk #3 succeeded at 840 (offset -12 lines).
Hunk #4 FAILED at 868.
Hunk #5 FAILED at 900.
Hunk #6 FAILED at 924.
Hunk #7 succeeded at 1536 (offset -38 lines).
Hunk #8 FAILED at 2386.
Hunk #9 FAILED at 2920.
Hunk #10 succeeded at 2940 (offset -46 lines).
Hunk #11 FAILED at 2998.
8 out of 11 hunks FAILED
checking file src/rsn_supp/wpa_i.h
Hunk #1 FAILED at 32.
1 out of 1 hunk FAILED
checking file src/common/wpa_common.h
Hunk #1 succeeded at 215 with fuzz 1.
checking file src/rsn_supp/wpa.c
checking file src/rsn_supp/wpa_i.h
checking file src/ap/wpa_auth.c
Hunk #1 succeeded at 1898 (offset -3 lines).
Hunk #2 succeeded at 2470 (offset -3 lines).
checking file src/rsn_supp/tdls.c
checking file wpa_supplicant/wnm_sta.c
checking file src/rsn_supp/wpa.c
Hunk #1 succeeded at 2378 (offset -62 lines).
checking file src/rsn_supp/wpa_ft.c
checking file src/rsn_supp/wpa_i.h
Hunk #1 succeeded at 123 (offset -5 lines).

So split the wpa-supplicant/key-replay-cve-multiple to 8 patches.

(From OE-Core rev: 4e9bc513c22b9a52c48588ef276e2ab7f7781526)

(From OE-Core rev: df1b1402733b2f6070badc2cace866030b11241d)

Signed-off-by: Hong Liu <hongl.fnst@cn.fujitsu.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 61e587b32d)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-02 11:41:26 +01:00
Changqing Li
c029685b18 nettle: do the multilib_header magic for nettle-stdint.h and version.h
add multilib support for this receipe, or it will conflicts in mutlilib setting

(From OE-Core rev: ea618e061fa190e4ae647da6466d074b49940395)

(From OE-Core rev: 5a77f191a451c8592be605020597253b37cea1e9)

Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit c8a1e372f3)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-02 11:41:26 +01:00
Ross Burton
d62fbd6281 attr/acl: disable make clean
These packages use hand-grown makefiles which don't handle cleans as they can
invoke /usr/bin/gmake directly which may not exist.  Until new upstream releases
are made (which have ported to automake) set CLEANBROKEN to work around this.

[ YOCTO #12775 ]

(From OE-Core rev: eb924bc684f92fc2d806715872667f241e54b365)

(From OE-Core rev: 1ff55b8810ec2ed61dc6b7c73464a97d7088839d)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit bd0d7c7ed5)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-02 11:41:26 +01:00
Chen Qi
56f615a526 sysklogd: fix typo in RCONFLICTS
It should be RCONFLICTS_${PN} instead of RCONFLICTS_${PN}-syslog.
There's no ${PN}-syslog package.

(From OE-Core rev: 840d04182bc71ae3f6f562f668b9900c5625e1aa)

(From OE-Core rev: 356c5c2ea005b5ee1723a1b3e2826fdd3007db5a)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit ae49d379b7)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-02 11:41:26 +01:00
S. Lockwood-Childs
86835a90ef sqlite3: consistent set of features for nativesdk
Enable use of pread() and enable column metadata API for nativesdk builds.
This brings nativesdk in line with target and native builds.

(From OE-Core rev: 7c8b85e1c3d852975cd5961a297aa939bf4c7fe7)

(From OE-Core rev: b476119fb72511fb384600db659c73c9bd6486e8)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 086610faf0)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-02 11:41:26 +01:00
S. Lockwood-Childs
80b6843e73 coreutils: fix nativesdk install failure
The change "fix hostname conflict with other packages" moved the
hostname util to the list of base_bindir_progs, so do_install_append()
now expects hostname to have been built.

coreutils do_install_append() is shared between target and nativesdk
builds (though not used by native build, see comment) so hostname should
be enabled to build on both of them.

(From OE-Core rev: 57f1f5708306a6121b1172c5163c6566d5bcb89c)

(From OE-Core rev: c936af150459873fe9d135b7d5c2c0d0d9e7745f)

Signed-off-by: S. Lockwood-Childs <sjl@vctlabs.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 5f3a3d4063)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-02 11:41:26 +01:00
Khem Raj
48e24c2edd ovmf: Fix build with gcc8
(From OE-Core rev: 278b00ddccb274150ed85e48e984675b40fc9aaa)

(From OE-Core rev: 2e4a05879f56e96bcdc0770d3fe27abc8b9af35e)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-02 11:41:26 +01:00
Richard Purdie
19e2eb5079 yocto-uninative: Update to version 2.1
This fixes issues with fontforge-native.

(From OE-Core rev: cec85a6fcadc24fd266fa34631cb095e0a773c1a)

(From OE-Core rev: 57ecdffd14b671e09ec90a0d0ff4bba4efec43c0)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-02 11:41:26 +01:00
Bruce Ashfield
3238a7bdd6 linux-yocto/4.14/4.15: fix gcc8 mips compilation issues
Making the following commit available to fix mips gcc8 build issues:

   commit e25dbfe95302eeaa1a03a828d05c09479574488a
   Author: Kevin Hao <kexin.hao@windriver.com>
   Date:   Mon Jun 11 18:17:54 2018 +0800

       MIPS: Use '+=" instead of '=' to avoid the CFLAGS override

       We used the CFLAGS_xxx to workaround the gcc 8 build warnings
       for some specific file. But CFLAGS_xxx is also used with '=' in
       other places of this Makefile. This override the gcc 8 workaround,
       so replace all the '=' with '+=" to fix this issue.

       Signed-off-by: Kevin Hao <kexin.hao@windriver.com>
       Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>

(From OE-Core rev: 8ab5b439ea82ac775494a0ce7a6f3615b61c94be)

(From OE-Core rev: fca73646ccfe7af4d65a7f13b5c7c56063579d3f)

Signed-off-by: Kevin Hao <kexin.hao@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-02 11:41:26 +01:00
Bruce Ashfield
df07b9f7a4 linux-yocto/4.15: crypto: aes-generic - fix aes-generic regression on powerpc
Integrating the following upstream commit to fix gcc regression:

    crypto: aes-generic - fix aes-generic regression on powerpc

    commit 6e36719fbe90213fbba9f50093fa2d4d69b0e93c upstream

    My last bugfix added -Os on the command line, which unfortunately
    caused  a build regression on powerpc in some configurations.

    I've done some more analysis of the original problem and found
    slightly different workaround that avoids this regression and also
    results in better performance on gcc-7.0: -fcode-hoisting is an
    optimization step that got added in gcc-7 and that for all gcc-7 versions causes
    worse performance.

    This disables -fcode-hoisting on all compilers that understand the
    option. For gcc-7.1 and 7.2 I found the same performance as my previous
    patch (using -Os), in gcc-7.0 it was even better. On gcc-8 I could see
    no change in performance from this patch. In theory, code hoisting
    should not be able make things better for the AES cipher, so leaving it
    disabled for gcc-8 only serves to simplify the Makefile
    change.

    Reported-by: kbuild test robot <fengguang.wu@intel.com>
    Link: https://www.mail-archive.com/linux-crypto@vger.kernel.org/msg30418.html
    Link: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83356
    Link: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83651
    Fixes: 148b974deea9 ("crypto: aes-generic - build with -Os on gcc-7+")
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>

(From OE-Core rev: 69e2b2ce2f499058d48a3b35febc757247e9df69)

(From OE-Core rev: 6c6b822a57565564ba7a9bd464322b0ee6bd0764)

Signed-off-by: Kevin Hao <kexin.hao@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-02 11:41:26 +01:00
Bruce Ashfield
cdf8402165 linux-yocto/4.14: update to v4.14.48
Updating to the latest korg -stable for v4.14, which comprises the following
commits:

   2c6025ebc7fd Linux 4.14.48
   1dd9566d9542 powerpc/mm/slice: Fix hugepage allocation at hint address on 8xx
   399e039634a4 powerpc/mm/slice: Enhance for supporting PPC32
   b8b23e8926b3 powerpc/mm/slice: create header files dedicated to slices
   e14db4feb035 powerpc/mm/slice: Remove intermediate bitmap copy
   c95c5f419e57 drm/i915: Disable LVDS on Radiant P845
   72571f26757e drm/i915/lvds: Move acpi lid notification registration to registration phase
   ffedc7ade784 drm/psr: Fix missed entry in PSR setup time table.
   5890358c60e5 intel_th: Use correct device when freeing buffers
   792be048cf9c Revert "rt2800: use TXOP_BACKOFF for probe frames"
   a7027b7d698e mm/huge_memory.c: __split_huge_page() use atomic ClearPageDirty()
   4a1b66bcec03 IB/core: Fix error code for invalid GID entry
   bdf1daba5f62 hwtracing: stm: fix build error on some arches
   1f8c4ed2dba5 stm class: Use vmalloc for the master map
   a70f19b29560 scsi: scsi_transport_srp: Fix shost to rport translation
   8a6576219da8 MIPS: prctl: Disallow FRE without FR with PR_SET_FP_MODE requests
   f7a36d7ac838 MIPS: ptrace: Fix PTRACE_PEEKUSR requests for 64-bit FGRs
   ed5bd13bec35 MIPS: lantiq: gphy: Drop reboot/remove reset asserts
   6d67a723ef37 iio: adc: select buffer for at91-sama5d2_adc
   838f25e3d9f2 iio:kfifo_buf: check for uint overflow
   30ab9366f763 iio:buffer: make length types match kfifo types
   d30819abd1c4 iio: ad7793: implement IIO_CHAN_INFO_SAMP_FREQ
   a6f81fcb2c39 tcp: avoid integer overflows in tcp_rcv_space_adjust()
   96b086a7bfe5 kbuild: clang: disable unused variable warnings only when constant
   9b6eda5797b1 platform/chrome: cros_ec_lpc: remove redundant pointer request
   a81920c73eb0 ASoC: Intel: sst: remove redundant variable dma_dev_name
   bcc9c6f03201 rtlwifi: rtl8192cu: Remove variable self-assignment in rf.c
   8524af02d132 drm/amd/powerplay: Fix enum mismatch
   074e30a3fc09 dma-buf: remove redundant initialization of sg_table
   5a92c6e3e2f3 drm/i915: Always sanity check engine state upon idling
   151b144bc602 kbuild: clang: remove crufty HOSTCFLAGS
   bc342bc02954 cfg80211: further limit wiphy names to 64 bytes
   9808c97d3cb4 selinux: KASAN: slab-out-of-bounds in xattr_getsecurity
   c6a95f37d3a0 tracing: Make the snapshot trigger work with instances
   8441a0014a29 tracing: Fix crash when freeing instances with event triggers
   2be683020be4 Input: elan_i2c_smbus - fix corrupted stack
   9a85abc79483 Input: synaptics - add Lenovo 80 series ids to SMBus
   9c707c93e179 Input: synaptics - add Intertouch support on X1 Carbon 6th and X280
   af504c5a88b3 Input: synaptics - Lenovo Thinkpad X1 Carbon G5 (2017) with Elantech trackpoints should use RMI
   88859f6cc5c4 Input: synaptics - Lenovo Carbon X1 Gen5 (2017) devices should use RMI
   d1db300b8ffc xfs: detect agfl count corruption and reset agfl
   d9a59eac3fd6 xfs: convert XFS_AGFL_SIZE to a helper function
   54978daa9dc5 PCI: hv: Fix 2 hang issues in hv_compose_msi_msg()
   085fc1967b56 Revert "pinctrl: msm: Use dynamic GPIO numbering"
   4cbe6caa4c6c x86/MCE/AMD: Cache SMCA MISC block addresses
   5df3a1b9f87b x86/mce/AMD: Carve out SMCA get_block_address() code
   6bcf3b066c69 objtool: Fix "noreturn" detection for recursive sibling calls
   806a730c0b0b objtool: Detect RIP-relative switch table references, part 2
   afb5e5c8a125 objtool: Detect RIP-relative switch table references
   2c26d5784e71 objtool: Support GCC 8 switch tables
   1bea53df12c4 objtool: Support GCC 8's cold subfunctions
   b968dd7650c8 mm: fix the NULL mapping case in __isolate_lru_page()
   6a19487d5a93 fix io_destroy()/aio_complete() race
   57a3ca783596 Linux 4.14.47
   3e496be2038a Revert "vti4: Don't override MTU passed on link creation via IFLA_MTU"
   bf4367d790c5 Linux 4.14.46
   48aaff1bcde7 Revert "perf record: Fix crash in pipe mode"
   ec39812d2117 tools: sync up .h files with the repective arch and uapi .h files
   c0f1d9bfd913 perf tools: Add trace/beauty/generated/ into .gitignore
   2c2b15bb0e88 Linux 4.14.45
   cd95b6e70712 drm/vmwgfx: Set dmabuf_size when vmw_dmabuf_init is successful
   829484eb3e00 kdb: make "mdr" command repeat
   39958037723a pinctrl: mcp23s08: spi: Fix regmap debugfs entries
   bd36ea57d6d5 pinctrl: msm: Use dynamic GPIO numbering
   bd1a6e338c1b regulator: of: Add a missing 'of_node_put()' in an error handling path of 'of_regulator_match()'
   36016bab698b ARM: dts: porter: Fix HDMI output routing
   105479a0278c ARM: dts: imx7d: cl-som-imx7: fix pinctrl_enet
   0b7761ec49e4 i40e: Add delay after EMP reset for firmware to recover
   be5f9b150b64 regmap: Correct comparison in regmap_cached
   253aa8296a5e ARM: dts: at91: tse850: use the correct compatible for the eeprom
   ffc1f3ac180c drm: rcar-du: lvds: Fix LVDS startup on R-Car Gen2
   e5b5d9be211e drm: rcar-du: lvds: Fix LVDS startup on R-Car Gen3
   ce7da8b88f6a netlabel: If PF_INET6, check sk_buff ip header version
   b9cd90c15ea7 selftests/net: fixes psock_fanout eBPF test case
   6ce500756288 perf tests: Fix dwarf unwind for stripped binaries
   dac66c47df6c perf report: Fix memory corruption in --branch-history mode --branch-history
   fb872eb1131d perf tests: Use arch__compare_symbol_names to compare symbols
   da5329644ad6 perf report: Fix wrong jump arrow
   4489f688fc3b perf test: Fix test case inet_pton to accept inlines.
   39478b7590d0 x86/apic: Set up through-local-APIC mode on the boot CPU if 'noapic' specified
   4c27990631f1 drm/rockchip: Respect page offset for PRIME mmap calls
   8755c4061ea9 MIPS: Octeon: Fix logging messages with spurious periods after newlines
   f0cf2575cd47 dpaa_eth: fix pause capability advertisement logic
   80300e879f9e pinctrl: sh-pfc: r8a7796: Fix MOD_SEL register pin assignment for SSI pins group
   46d8696c613b rcu: Call touch_nmi_watchdog() while printing stall warnings
   162af93fa251 net: stmmac: call correct function in stmmac_mac_config_rx_queues_routing()
   4a856adf2823 audit: return on memory error to avoid null pointer dereference
   a548ba4de32e PCMCIA / PM: Avoid noirq suspend aborts during suspend-to-idle
   7d5ab9bf4f34 ARM: dts: bcm283x: Fix pin function of JTAG pins
   c10dc67e720b ARM: dts: bcm283x: Fix probing of bcm2835-i2s
   13b520688d2c power: supply: ltc2941-battery-gauge: Fix temperature units
   72662ff1cf85 sh_eth: fix TSU init on SH7734/R8A7740
   83e698e4684a ixgbe: prevent ptp_rx_hang from running when in FILTER_ALL mode
   504583768092 udf: Provide saner default for invalid uid / gid
   cb808972d770 PCI: Add function 1 DMA alias quirk for Marvell 88SE9220
   5197a9786fee dpaa_eth: fix SG mapping
   602234ea4466 cpufreq: Reorder cpufreq_online() error code path
   8a6be5403774 net: stmmac: ensure that the MSS desc is the last desc to set the own bit
   a3d4c34cdea9 net: stmmac: ensure that the device has released ownership before reading data
   957094fcc06f drm/amdgpu: adjust timeout for ib_ring_tests(v2)
   230d616f58a9 drm/amdgpu: disable GFX ring and disable PQ wptr in hw_fini
   de9054cdc8d0 ARM: dts: dra71-evm: Correct evm_sd regulator max voltage
   ee6f703020ab drm: omapdrm: dss: Move initialization code from component bind to probe
   909474cd384c dmaengine: qcom: bam_dma: get num-channels and num-ees from dt
   7efeaf6d5193 vfio-ccw: fence off transport mode
   fe2fc07d2a31 pinctrl: artpec6: dt: add missing pin group uart5nocts
   72678f7a2922 pinctrl: devicetree: Fix dt_to_map_one_config handling of hogs
   39c655c5edfe hwrng: stm32 - add reset during probe
   259cdaff0e91 watchdog: asm9260_wdt: fix error handling in asm9260_wdt_probe()
   87337cb5663c enic: enable rq before updating rq descriptors
   b3b26307208e dmaengine: rcar-dmac: Check the done lists in rcar_dmac_chan_get_residue()
   e41de468a6f4 dmaengine: pl330: fix a race condition in case of threaded irqs
   a64948842d00 block: null_blk: fix 'Invalid parameters' when loading module
   f0078d2068b2 tools: hv: fix compiler warnings about major/target_fname
   f85634b7b6d0 drm/bridge: sii902x: Retry status read after DDI I2C
   3b64e1cf6b92 phy: qcom-qmp: Fix phy pipe clock gating
   10626a0c2027 ALSA: vmaster: Propagate slave error
   b1ebc21c146b phy: rockchip-emmc: retry calpad busy trimming
   1fadfed83913 x86/devicetree: Fix device IRQ settings in DT
   5e54596b33f6 x86/devicetree: Initialize device tree before using it
   c78e4a47bc4d gfs2: Fix fallocate chunk size
   c1dab7872b32 soc: qcom: wcnss_ctrl: Fix increment in NV upload
   0a3b66b55a95 arm64: dts: qcom: Fix SPI5 config on MSM8996
   b9e852513fca perf/x86/intel: Fix event update for auto-reload
   359769ca6d16 perf/x86/intel: Fix large period handling on Broadwell CPUs
   ecaa7bd342ad efi/arm*: Only register page tables when they exist
   e6e5de32470b cdrom: do not call check_disk_change() inside cdrom_open()
   017f2ee20675 perf/x86/intel: Properly save/restore the PMU state in the NMI handler
   8f8ebc0ba07c hwmon: (pmbus/adm1275) Accept negative page register values
   afcbcb432e84 hwmon: (pmbus/max8688) Accept negative page register values
   127b06ef520d drm/panel: simple: Fix the bus format for the Ontat panel
   ede5dd7822c6 perf/core: Fix perf_output_read_group()
   8ba9b0300c18 max17042: propagate of_node to power supply device
   ed6244e8b280 perf/core: Fix installing cgroup events on CPU
   82e93a83598b f2fs: fix to check extent cache in f2fs_drop_extent_tree
   fc8cf0e7aa37 f2fs: fix to clear CP_TRIMMED_FLAG
   393e472db4c8 f2fs: fix to set KEEP_SIZE bit in f2fs_zero_range
   d71b8b0d37da cxl: Check if PSL data-cache is available before issue flush request
   bf3a501c1dc0 powerpc/powernv/npu: Fix deadlock in mmio_invalidate()
   dc81e7182747 powerpc: Add missing prototype for arch_irq_work_raise()
   903c66e35fb7 drm/meson: Fix an un-handled error path in 'meson_drv_bind_master()'
   b4d7f0dae8c1 drm/meson: Fix some error handling paths in 'meson_drv_bind_master()'
   6eaf0dd1d9d5 ipmi_ssif: Fix kernel panic at msg_done_handler
   b5c7dedc8426 watchdog: aspeed: Fix translation of reset mode to ctrl register
   e2906fc86978 watchdog: dw: RMW the control register
   e2b3fa0ce98f PCI: Restore config space on runtime resume despite being unbound
   12c663e4f8e4 MIPS: ath79: Fix AR724X_PLL_REG_PCIE_CONFIG offset
   2a0bc4ad7c63 net/smc: pay attention to MAX_ORDER for CQ entries
   289e6fa33b0b spi: bcm-qspi: fIX some error handling paths
   1fae5e92788c regulator: gpio: Fix some error handling paths in 'gpio_regulator_probe()'
   9fe2e97e6f2d coresight: Use %px to print pcsr instead of %p
   12b29e1cfe6a drm/amdkfd: add missing include of mm.h
   739c8e70889a IB/core: Honor port_num while resolving GID for IB link layer
   7166fb174758 perf stat: Fix core dump when flag T is used
   8cde08971b41 perf top: Fix top.call-graph config option reading
   25b69a422b59 KVM: lapic: stop advertising DIRECTED_EOI when in-kernel IOAPIC is in use
   982f8f14e704 i2c: mv64xxx: Apply errata delay only in standard mode
   8d1b1e7902af cxgb4: Fix queue free path of ULD drivers
   1d1646c408f6 ACPICA: acpi: acpica: fix acpi operand cache leak in nseval.c
   c827ed01821d ACPICA: Fix memory leak on unusual memory leak
   bf9b263b3e75 ACPICA: Events: add a return on failure from acpi_hw_register_read
   601ae35b3f19 dt-bindings: add device tree binding for Allwinner H6 main CCU
   35a4f782b521 remoteproc: imx_rproc: Fix an error handling path in 'imx_rproc_probe()'
   4a092479bb4f bcache: quit dc->writeback_thread when BCACHE_DEV_DETACHING is set
   590e13a68177 zorro: Set up z->dev.dma_mask for the DMA API
   5e8f4ec7899b IB/mlx5: Set the default active rate and width to QDR and 4X
   4a8b1c46af58 cpufreq: cppc_cpufreq: Fix cppc_cpufreq_init() failure path
   f69b52965de0 iommu/mediatek: Fix protect memory setting
   8c8f0b1f597d drm/vmwgfx: Unpin the screen object backup buffer when not used
   791a1ef7df36 ext4: don't complain about incorrect features when probing
   1891e0bb60b4 arm: dts: socfpga: fix GIC PPI warning
   b5fb65c559ec virtio-net: Fix operstate for virtio when no VIRTIO_NET_F_STATUS
   a54e06d490a1 watchdog: aspeed: Allow configuring for alternate boot
   cd2399b49de4 ima: Fallback to the builtin hash algorithm
   bc72e4fcc12a ima: Fix Kconfig to select TPM 2.0 CRB interface
   d7b13824c390 cxgb4: Setup FW queues before registering netdev
   aa5a781f59fb ath9k: fix crash in spectral scan
   085ec7d554c1 nvme-pci: disable APST for Samsung NVMe SSD 960 EVO + ASUS PRIME Z370-A
   7e5487b3990d ath10k: Fix kernel panic while using worker (ath10k_sta_rc_update_wk)
   5db7e1bb6a13 watchdog: davinci_wdt: fix error handling in davinci_wdt_probe()
   fc7bcbb94027 net/mlx5: Protect from command bit overflow
   d018d551e7b2 selftests: Print the test we're running to /dev/kmsg
   faace30e6e6a tools/thermal: tmon: fix for segfault
   b652092f8e99 rsi: fix kernel panic observed on 64bit machine
   31dbd9cfcb23 powerpc/perf: Fix kernel address leak via sampling registers
   6a0a9f0ab8a9 powerpc/perf: Prevent kernel address leak to userspace via BHRB buffer
   68a38cedff76 hwmon: (nct6775) Fix writing pwmX_mode
   dbce9e41161c parisc/pci: Switch LBA PCI bus from Hard Fail to Soft Fail mode
   f37519543460 iwlwifi: mvm: check if mac80211_queue is valid in iwl_mvm_disable_txq
   6a020bb3c620 m68k: set dma and coherent masks for platform FEC ethernets
   80fceaf3f16a intel_th: Use correct method of finding hub
   1366b31d1829 iommu/amd: Take into account that alloc_dev_data() may return NULL
   6bc2bf6023dd ath10k: advertize beacon_int_min_gcd
   9c222c497ba2 ieee802154: ca8210: fix uninitialised data read
   c3a2a8782059 powerpc/mpic: Check if cpu_possible() in mpic_physmask()
   fc2de796926b ACPI: acpi_pad: Fix memory leak in power saving threads
   d023498fef35 drivers: macintosh: rack-meter: really fix bogus memsets
   8effa2182d02 xen/acpi: off by one in read_acpi_id()
   637b9b187f4e rxrpc: Don't treat call aborts as conn aborts
   4a9fabcd3440 rxrpc: Fix Tx ring annotation after initial Tx failure
   204bfcda8244 btrfs: qgroup: Fix root item corruption when multiple same source snapshots are created with quota enabled
   de00d5729482 btrfs: fix lockdep splat in btrfs_alloc_subvolume_writers
   92efba91a792 Btrfs: fix copy_items() return value when logging an inode
   d7255626a082 btrfs: tests/qgroup: Fix wrong tree backref level
   27a913cc9177 powerpc/64s: sreset panic if there is no debugger or crash dump handlers
   305f25c1ed53 net: bgmac: Correctly annotate register space
   435290f7a40a net: bgmac: Fix endian access in bgmac_dma_tx_ring_free()
   4a6cd791d6c1 sparc64: Make atomic_xchg() an inline function rather than a macro.
   22f1bde5d1bf fscache: Fix hanging wait on page discarded by writeback
   6d03ff166926 lan78xx: Connect phy early
   80b8f3da4912 KVM: VMX: raise internal error for exception during invalid protected mode state
   fd97bbca67fc x86/mm: Fix bogus warning during EFI bootup, use boot_cpu_has() instead of this_cpu_has() in build_cr3_noflush()
   3aeaeecda057 sched/rt: Fix rq->clock_update_flags < RQCF_ACT_SKIP warning
   be6a5ad51a53 powerpc/64s/idle: Fix restore of AMOR on POWER9 after deep sleep
   839c27f71376 ocfs2/dlm: don't handle migrate lockres if already in shutdown
   9ebe297713af IB/rxe: Fix for oops in rxe_register_device on ppc64le arch
   370b3353f4f8 btrfs: Fix possible softlock on single core machines
   acfd8e886566 Btrfs: fix NULL pointer dereference in log_dir_items
   afef64b10877 Btrfs: bail out on error during replay_dir_deletes
   5ade3c9618f6 mm: thp: fix potential clearing to referenced flag in page_idle_clear_pte_refs_one()
   8d700626fb57 mm: fix races between address_space dereference and free in page_evicatable
   763111d9f337 mm/ksm: fix interaction with THP
   378a1e49f9d1 ibmvnic: Zero used TX descriptor counter on reset
   d04e5e72dfe9 dp83640: Ensure against premature access to PHY registers after reset
   4be06bc0916d perf clang: Add support for recent clang versions
   ee7c28b280b8 perf tools: Fix perf builds with clang support
   6689a4c7b9ed powerpc/fscr: Enable interrupts earlier before calling get_user()
   96fdc64d8eda cpufreq: CPPC: Initialize shared perf capabilities of CPUs
   8bff7ca99fda Force log to disk before reading the AGF during a fstrim
   28143fe3e3e2 sr: get/drop reference to device in revalidate and check_events
   3a0de65acdd9 z3fold: fix memory leak
   2ab7738102ad swap: divide-by-zero when zero length swap file on ssd
   9c9844d9c9d0 fs/proc/proc_sysctl.c: fix potential page fault while unregistering sysctl table
   59bdc587231c x86/mm: Do not forbid _PAGE_RW before init for __ro_after_init
   c1af6891982e x86/pgtable: Don't set huge PUD/PMD on non-leaf entries
   c527ab91f021 Btrfs: fix loss of prealloc extents past i_size after fsync log replay
   f2924e32dcf2 Btrfs: clean up resources during umount after trans is aborted
   1908ca222b36 nvme: don't send keep-alives to the discovery controller
   145b7e06de33 firmware: dmi_scan: Fix UUID length safety check
   d9179b4aa407 sh: fix debug trap failure to process signals before return to user
   4ee9130f6423 net: mvneta: fix enable of all initialized RXQs
   206199412bae vlan: Fix vlan insertion for packets without ethernet header
   34a9a036350f net: Fix untag for vlan packets without ethernet header
   235ca6a0330d qede: Do not drop rx-checksum invalidated packets.
   78c986bf85b7 hv_netvsc: enable multicast if necessary
   28bbb0d963e0 mm/kmemleak.c: wait for scan completion before disabling free
   08e9dbd5184e mm/vmstat.c: fix vmstat_update() preemption BUG
   d2a5d00dcd85 mm/page_owner: fix recursion bug after changing skip entries
   da9ec481d66d mm, slab: memcg_link the SLAB's kmem_cache
   0bbd8e2593ad qede: Fix barrier usage after tx doorbell write.
   38a85f8214e2 builddeb: Fix header package regarding dtc source links
   5b5f4fd97d8f llc: properly handle dev_queue_xmit() return value
   25801736ca48 x86/alternatives: Fixup alternative_call_2
   06956ca1aab3 perf/x86/intel: Fix linear IP of PEBS real_ip on Haswell and later CPUs
   5b3b9ce272a6 net/mlx5: Make eswitch support to depend on switchdev
   07af604f00a5 net: dsa: mt7530: fix module autoloading for OF platform drivers
   77c18f7ea417 bonding: fix the err path for dev hwaddr sync in bond_enslave
   6da5c98d65f0 net: qmi_wwan: add BroadMobi BM806U 2020:2033
   e78be20d1122 lan78xx: Set ASD in MAC_CR when EEE is enabled.
   373304e44fa9 ARM: 8748/1: mm: Define vdso_start, vdso_end as array
   cbecd7187cdf batman-adv: fix packet loss for broadcasted DHCP packets to a server
   110a7c19d9d1 batman-adv: fix multicast-via-unicast transmission with AP isolation
   bbeb1a42dc58 drm/amdkfd: Fix scratch memory with HWS enabled
   629b3a66d5ca selftests: ftrace: Add a testcase for probepoint
   04905c21ad69 selftests: ftrace: Add a testcase for string type with kprobe_event
   f7ed525fcb56 selftests: ftrace: Add probe event argument syntax testcase
   58be6253b003 xfrm: Fix transport mode skb control buffer usage.
   49f4a8c52eeb mm, thp: do not cause memcg oom for thp
   6ca473201d70 mm/mempolicy.c: avoid use uninitialized preferred_node
   5498a2b5795f drm/ast: Fixed 1280x800 Display Issue
   c269eb77dc22 net: dsa: Fix functional dsa-loop dependency on FIXED_PHY
   bf922554682b net/sched: fix idr leak in the error path of tcf_skbmod_init()
   91314c273170 net/sched: fix idr leak in the error path of __tcf_ipt_init()
   01a80839635d net/sched: fix idr leak in the error path of tcp_pedit_init()
   97689fea3c80 net/sched: fix idr leak in the error path of tcf_act_police_init()
   154040a5a869 net/sched: fix idr leak in the error path of tcf_simp_init()
   29e36c3099fc net/sched: fix idr leak on the error path of tcf_bpf_init()
   f8d93c59c78c RDMA/qedr: Fix QP state initialization race
   8ed753eee9bd RDMA/qedr: Fix rc initialization on CNQ allocation failure
   90b87707f0f7 RDMA/qedr: fix QP's ack timeout configuration
   7245e2d1790b RDMA/ucma: Correct option size check using optlen
   405544d5f864 kbuild: make scripts/adjust_autoksyms.sh robust against timestamp races
   0839b0ce6eb6 brcmfmac: Fix check for ISO3166 code
   4ff78587dea6 perf/cgroup: Fix child event counting bug
   92ab37923634 drm/tegra: Shutdown on driver unbind
   3a297d091edb iwlwifi: mvm: fix array out of bounds reference
   7867e6d82fc9 iwlwifi: mvm: make sure internal station has a valid id
   1001e8ec25db iwlwifi: mvm: clear tx queue id when unreserving aggregation queue
   4eaa2618051a iwlwifi: mvm: Increase session protection time after CS
   b57f0fe6e38b vti6: Fix dev->max_mtu setting
   5815901c29c2 vti4: Don't override MTU passed on link creation via IFLA_MTU
   34b6ba622ac4 ip_tunnel: Clamp MTU to bounds on new link
   e675b292c282 vti4: Don't count header length twice on tunnel setup
   87e07eff2772 batman-adv: Fix skbuff rcsum on packet reroute
   f31f64b2d253 net/sched: fix NULL dereference in the error path of tcf_sample_init()
   6b4a3d4e63f1 batman-adv: fix header size check in batadv_dbg_arp()
   99ba9a972870 vlan: Fix out of order vlan headers with reorder header off
   01a68a265ef5 net: Fix vlan untag for bridge and vlan_dev with reorder_hdr off
   000fe789aa76 iwlwifi: mvm: fix error checking for multi/broadcast sta
   ac2b8f5e361f iwlwifi: mvm: Correctly set IGTK for AP
   85e5ae55652e iwlwifi: mvm: set the correct tid when we flush the MCAST sta
   404cbeb36ef7 xfrm: fix rcu_read_unlock usage in xfrm_local_error
   942138f356aa drm/nouveau/bl: fix backlight regression
   872398068503 drm/imx: move arming of the vblank event to atomic_flush
   418c85ea458a gpu: ipu-v3: prg: avoid possible array underflow
   05c401183c2f KVM: arm/arm64: vgic: Add missing irq_lock to vgic_mmio_read_pending
   6ef5b2e5241a sunvnet: does not support GSO for sctp
   8387fbac8e18 ipv4: lock mtu in fnhe when received PMTU < net.ipv4.route.min_pmtu
   7c84e5e9c62c workqueue: use put_device() instead of kfree()
   845c2de95786 bnxt_en: Check valid VNIC ID in bnxt_hwrm_vnic_set_tpa().
   27eebf0800cf can: m_can: select pinctrl state in each suspend/resume function
   27fe367cdde0 can: m_can: change comparison to bitshift when dealing with a mask
   533f5f847dfd netfilter: ebtables: fix erroneous reject of last rule
   2299285fb181 dmaengine: mv_xor_v2: Fix clock resource by adding a register clock
   e2d9442dfe84 lib/test_kmod.c: fix limit check on number of test devices created
   21ccc62ec725 selftests/vm/run_vmtests: adjust hugetlb size according to nr_cpus
   bad682e26d6a arm64: Relax ARM_SMCCC_ARCH_WORKAROUND_1 discovery
   341029c2024b ARM: davinci: fix the GPIO lookup for omapl138-hawk
   b7f1129a2c77 hv_netvsc: fix locking during VF setup
   b37bc05f44c6 hv_netvsc: fix locking for rx_mode
   9241c4f47205 hv_netvsc: fix filter flags
   e7f2b054916f xen: xenbus: use put_device() instead of kfree()
   9238d1fa3ee6 xen-blkfront: move negotiate_mq to cover all cases of new VBDs
   b2709f786741 cxgb4: do not set needs_free_netdev for mgmt dev's
   ba5b9b64e883 IB/core: Fix possible crash to access NULL netdev
   7ae100c41393 net: smsc911x: Fix unload crash when link is up
   a2b2d6ae5a3f net: qcom/emac: Use proper free methods during TX
   c6ce72d59cab qed: Free RoCE ILT Memory on rmmod qedr
   7538ab34136d fsl/fman: avoid sleeping in atomic context while adding an address
   ccf92117d49d fbdev: Fixing arbitrary kernel leak in case FBIOGETCMAP_SPARC in sbusfb_ioctl_helper().
   175e365a6662 IB/mlx5: Fix an error code in __mlx5_ib_modify_qp()
   5759427a0ca8 IB/mlx4: Include GID type when deleting GIDs from HW table under RoCE
   9636bbd409ba IB/mlx4: Fix corruption of RoCEv2 IPv4 GIDs
   7b10604ddf51 RDMA/qedr: Fix iWARP write and send with immediate
   40fe662649be RDMA/qedr: Fix kernel panic when running fio over NFSoRDMA
   87bcb00aa934 ia64/err-inject: Use get_user_pages_fast()
   d98ba4f4567d e1000e: allocate ring descriptors with dma_zalloc_coherent
   d1355ae4c345 e1000e: Fix check_for_link return value with autoneg off
   f766148e47d7 perf record: Fix crash in pipe mode
   8997115bf791 ARM: dts: rockchip: Add missing #sound-dai-cells on rk3288
   a0cc3c18d34c hv_netvsc: propagate rx filters to VF
   ed85935eeafb hv_netvsc: filter multicast/broadcast
   c039c53d1952 hv_netvsc: use napi_schedule_irqoff
   5f8156fd34cf batman-adv: Fix multicast packet loss with a single WANT_ALL_IPV4/6 flag
   73ecd80bca2b watchdog: sbsa: use 32-bit read for WCV
   49995a2931bb watchdog: f71808e_wdt: Fix magic close handling
   266675ab52db rds: Incorrect reference counting in TCP socket creation
   2b6e7f2ff81a iwlwifi: mvm: Correctly set the tid for mcast queue
   3f2eb4ded1ec iwlwifi: mvm: Direct multicast frames to the correct station
   ef3dfb138159 iwlwifi: mvm: fix "failed to remove key" message
   3a0bbca21ca5 iwlwifi: avoid collecting firmware dump if not loaded
   233d80617248 iwlwifi: mvm: fix assert 0x2B00 on older FWs
   6f970847f0e9 iwlwifi: mvm: Fix channel switch for count 0 and 1
   d6bcdf0b14d8 iwlwifi: mvm: fix TX of CCMP 256
   d9ed3aed6d83 net: ethtool: don't ignore return from driver get_fecparam method
   f03cd5862f55 selftests/powerpc: Skip the subpage_prot tests if the syscall is unavailable
   2b103dee283f nvme: pci: pass max vectors as num_possible_cpus() to pci_alloc_irq_vectors
   d68e66060488 nvme-pci: Fix EEH failure on ppc
   3c84b5aaf7a5 block: display the correct diskname for bio
   07d3fb191b5a ceph: fix potential memory leak in init_caches()
   010f5ccbf4c4 Btrfs: fix log replay failure after linking special file and fsync
   9925eea3225e Btrfs: send, fix issuing write op when processing hole in no data mode
   b114296692b0 btrfs: use kvzalloc to allocate btrfs_fs_info
   acb162b9cdb6 drm/sun4i: Fix dclk_set_phase
   cd2dee1ea6d5 arm64: dts: rockchip: Fix rk3399-gru-* s2r (pinctrl hogs, wifi reset)
   5877f41cf8c8 xfrm: Fix ESN sequence number handling for IPsec GSO packets.
   30310d407715 drm/amd/amdgpu: Correct VRAM width for APUs with GMC9
   5b71573794b0 xen/pirq: fix error path cleanup when binding MSIs
   62ee80d3b45b RDMA/bnxt_re: Fix the ib_reg failure cleanup
   2bce0d98b9d9 RDMA/bnxt_re: Fix incorrect DB offset calculation
   466199b440d9 RDMA/bnxt_re: Unconditionly fence non wire memory operations
   b73bc820c4d1 IB/mlx: Set slid to zero in Ethernet completion struct
   2a71d94e4f6b ipvs: remove IPS_NAT_MASK check to fix passive FTP
   738310e1dbc9 ARC: setup cpu possible mask according to possible-cpus dts property
   f7f78191c910 ARC: mcip: update MCIP debug mask when the new cpu came online
   50de7f4347cf ARC: mcip: halt GFRC counter when ARC cores halt
   e44fe4d2a81b spectrum: Reference count VLAN entries
   5a8392f2dc13 mlxsw: spectrum: Treat IPv6 unregistered multicast as broadcast
   47a8c89258e5 mlxsw: core: Fix flex keys scratchpad offset conflict
   953a64ca3353 net/smc: use link_id of server in confirm link reply
   e0a5a0f4749f nvmet: fix PSDT field check in command format
   c6885fb45d4e net/tcp/illinois: replace broken algorithm reference link
   bb19a6a9b598 gianfar: Fix Rx byte accounting for ndev stats
   10c7390ee340 clocksource/drivers/mips-gic-timer: Use correct shift count to extract data
   f97c2bf56bb7 powerpc/boot: Fix random libfdt related build errors
   9bbedb9742f3 ARM: dts: bcm283x: Fix unit address of local_intc
   c43ff936255b ARM: dts: NSP: Fix amount of RAM on BCM958625HR
   615bf75c4690 nbd: fix return value in error handling path
   d2e2e20bbdd3 sit: fix IFLA_MTU ignored on NEWLINK
   2b0fbc2fcd2f ip6_tunnel: fix IFLA_MTU ignored on NEWLINK
   29764acd50d3 ip_gre: fix IFLA_MTU ignored on NEWLINK
   f07b6505f474 bcache: fix kcrashes with fio in RAID5 backend dev
   421c15e803de dmaengine: rcar-dmac: fix max_chunk_size for R-Car Gen3
   3c08f8140a9a virtio-gpu: fix ioctl and expose the fixed status to userspace.
   8b156a0a49c9 r8152: fix tx packets accounting
   9c3e4e41c206 selftests/futex: Fix line continuation in Makefile
   784858e73805 qrtr: add MODULE_ALIAS macro to smd
   0129ee813ef7 ARM: orion5x: Revert commit 4904dbda41c8.
   3ecb681ccf6b xen/pvcalls: fix null pointer dereference on map->sock
   6c88c93898ca ceph: fix dentry leak when failing to init debugfs
   e080e814deb1 libceph, ceph: avoid memory leak when specifying same option several times
   682def914242 clocksource/drivers/fsl_ftm_timer: Fix error return checking
   44cb7ed6e5e2 nvme-pci: Fix nvme queue cleanup if IRQ setup fails
   588078bb272e batman-adv: Fix netlink dumping of BLA backbones
   f03c64fbdd9b batman-adv: Fix netlink dumping of BLA claims
   f08cabec0696 batman-adv: Ignore invalid batadv_v_gw during netlink send
   8b7e379faf15 batman-adv: Ignore invalid batadv_iv_gw during netlink send
   dd20ff0d079d netfilter: ebtables: convert BUG_ONs to WARN_ONs
   84fc57f472f9 netfilter: ipt_CLUSTERIP: put config instead of freeing it
   596816fabe42 netfilter: ipt_CLUSTERIP: put config struct if we can't increment ct refcount
   ff8c6751ecf3 batman-adv: invalidate checksum on fragment reassembly
   ee7a88fc775e batman-adv: fix packet checksum in receive path
   879a73b10a93 md/raid1: fix NULL pointer dereference
   0a4c60471d13 md: fix a potential deadlock of raid5/raid10 reshape
   2565b271aed0 fs: dcache: Use READ_ONCE when accessing i_dir_seq
   3623c1f37efa fs: dcache: Avoid livelock between d_alloc_parallel and __d_add
   ed49851ce15c ARM: dts: imx6dl: Include correct dtsi file for Engicam i.CoreM6 DualLite/Solo RQS
   5f95541a0db5 kvm: fix warning for CONFIG_HAVE_KVM_EVENTFD builds
   1fe15ab15935 KVM: nVMX: Don't halt vcpu when L1 is injecting events to L2
   ce8bdc7aabf9 macvlan: fix use-after-free in macvlan_common_newlink()
   a383f44e7a34 arm64: fix unwind_frame() for filtered out fn for function graph tracing
   3d82155f8547 mac80211: drop frames with unexpected DS bits from fast-rx to slow path
   dff5da4724bb x86/topology: Update the 'cpu cores' field in /proc/cpuinfo correctly across CPU hotplug operations
   95e8297ab206 locking/xchg/alpha: Fix xchg() and cmpxchg() memory ordering bugs
   4ba4273e7218 x86/intel_rdt: Fix incorrect returned value when creating rdgroup sub-directory in resctrl file system
   09897fcbd42a integrity/security: fix digsig.c build error with header file
   0b9f26e97f2b regulatory: add NUL to request alpha2
   c254a86a333c smsc75xx: fix smsc75xx_set_features()
   cc4a2d71cff3 ARM: OMAP: Fix dmtimer init for omap1
   90c9ae5943c3 nfs: system crashes after NFS4ERR_MOVED recovery
   4b0a3b9a511d arm64: dts: cavium: fix PCI bus dtc warnings
   e47c1bf99a14 PKCS#7: fix direct verification of SignerInfo signature
   a72612a1c39d selftests/bpf/test_maps: exit child process without error in ENOMEM case
   dac5d3a100c6 s390/cio: clear timer when terminating driver I/O
   c5b1b2e2185d s390/cio: fix return code after missing interrupt
   5df337455c5a s390/cio: fix ccw_device_start_timeout API
   aa6eeca7bcd7 powerpc/bpf/jit: Fix 32-bit JIT for seccomp_data access
   e1bb3673ae9d soc: imx: gpc: de-register power domains only if initialized
   e65cd9a20343 seccomp: add a selftest for get_metadata
   32e139dfb684 selftests/memfd: add run_fuse_test.sh to TEST_FILES
   305eb32d45f0 bug.h: work around GCC PR82365 in BUG()
   14488f25339e kernel/relay.c: limit kmalloc size to KMALLOC_MAX_SIZE
   cf15cd63000b virtio_net: fix XDP code path in receive_small()
   0e498db68095 md: raid5: avoid string overflow warning
   ca353544670d locking/xchg/alpha: Add unconditional memory barrier to cmpxchg()
   badacb781dce net/mlx5e: Return error if prio is specified when offloading eswitch vlan push
   2e9f41ace36b ibmvnic: Check for NULL skb's in NAPI poll routine
   775cc792bb08 RDMA/bnxt_re: Fix system crash during load/unload
   c0935f1ef990 RDMA/bnxt_re: Unpin SQ and RQ memory if QP create fails
   c5c0632b9c7b arm64: perf: correct PMUVer probing
   33b3f7b5af5d drm/meson: fix vsync buffer update
   2c6a5cc09b46 drm/exynos: fix comparison to bitshift when dealing with a mask
   3f925cc2d399 drm/exynos: g2d: use monotonic timestamps
   c5db4c271ca5 md raid10: fix NULL deference in handle_write_completed()
   3ed913b61e6a gpu: ipu-v3: prg: fix device node leak in ipu_prg_lookup_by_phandle
   9ccb1d53c6ac gpu: ipu-v3: pre: fix device node leak in ipu_pre_lookup_by_phandle
   8dcb7ddb2c83 mac80211: Fix sending ADDBA response for an ongoing session
   707c81727baa mac80211: Do not disconnect on invalid operating class
   f6bfc88f14cc cfg80211: clear wep keys after disconnection
   a7f126b2e1ad mac80211: fix calling sleeping function in atomic context
   99d4fe95e4f6 mac80211: fix a possible leak of station stats
   f49e3a9acc52 mac80211: round IEEE80211_TX_STATUS_HEADROOM up to multiple of 4
   020c32a91ee0 xfrm: do not call rcu_read_unlock when afinfo is NULL in xfrm_get_tos
   d0d9330fa2a3 s390/dasd: fix handling of internal requests
   e08f86697835 md: fix md_write_start() deadlock w/o metadata devices
   ca4363bf7cb8 MD: Free bioset when md_run fails
   f146c6e6506f rxrpc: Work around usercopy check
   54881db3251a NFC: llcp: Limit size of SDP URI
   e5ea0a89bf7b iwlwifi: mvm: always init rs with 20mhz bandwidth rates
   6e752ba6436b iwlwifi: mvm: fix IBSS for devices that support station type API
   8c1cc43e745d iwlwifi: mvm: fix security bug in PN checking
   1510627c63b7 ARM: dts: rockchip: Fix DWMMC clocks
   23b738ce746a arm64: dts: rockchip: Fix DWMMC clocks
   357b528e6b70 IB/uverbs: Fix unbalanced unlock on error path for rdma_explicit_destroy
   5b0622bfe637 IB/uverbs: Fix possible oops with duplicate ioctl attributes
   cdd37f48d6a0 IB/uverbs: Fix method merging in uverbs_ioctl_merge
   44ef222ad099 xhci: workaround for AMD Promontory disabled ports wakeup
   94203f213c19 tls: retrun the correct IV in getsockopt
   cec7d77a1db8 ibmvnic: Clean RX pool buffers during device close
   322d7195572d ibmvnic: Free RX socket buffer in case of adapter error
   4431066edd13 ibmvnic: Wait until reset is complete to set carrier on
   ddca5c776fff ARM: OMAP1: clock: Fix debugfs_create_*() usage
   d615dddc6e0c ARM: OMAP2+: Fix sar_base inititalization for HS omaps
   c22e3886fc65 ARM: OMAP3: Fix prm wake interrupt for resume
   7ffe100ce67c ARM: OMAP2+: timer: fix a kmemleak caused in omap_get_timer_dt
   b2f5d98f3300 selftests: memfd: add config fragment for fuse
   b9ddf39dd579 selftests: pstore: Adding config fragment CONFIG_PSTORE_RAM=m
   a666ad4bbcfb selftest/vDSO: fix O=
   198e26a0efef selftests: sync: missing CFLAGS while compiling
   4adc95c5a020 libata: Fix compile warning with ATA_DEBUG enabled
   afe088b034b4 arm64: dts: rockchip: correct ep-gpios for rk3399-sapphire
   fa4cf9010ed6 arm64: dts: rockchip: fix rock64 gmac2io stability issues
   6fc72fd1565b ptr_ring: prevent integer overflow when calculating size
   052eb2d6dc61 ARC: Fix malformed ARC_EMUL_UNALIGNED default
   0f097096b77a mac80211: mesh: fix wrong mesh TTL offset calculation
   49e30752177f MIPS: generic: Fix machine compatible matching
   3084902aa9fd powerpc/64s: Add support for a store forwarding barrier at kernel entry/exit
   b90a6bddc8af powerpc/64s: Fix section mismatch warnings from setup_rfi_flush()
   1618f211f96e powerpc/pseries: Restore default security feature flags on setup
   f092a180128e powerpc: Move default security feature flags
   a28ff26d5e44 powerpc/pseries: Fix clearing of security feature flags
   046e9adae42a powerpc/64s: Wire up cpu_show_spectre_v2()
   6e77feadbfbc powerpc/64s: Wire up cpu_show_spectre_v1()
   7a62b0f64804 powerpc/pseries: Use the security flags in pseries_setup_rfi_flush()
   3bf1695bbb24 powerpc/powernv: Use the security flags in pnv_setup_rfi_flush()
   d71a3e0a2d0a powerpc/64s: Enhance the information in cpu_show_meltdown()
   ae8afdf604d3 powerpc/64s: Move cpu_show_meltdown()
   f2fdeebd8537 powerpc/powernv: Set or clear security feature flags
   9ba774cc0f75 powerpc/pseries: Set or clear security feature flags
   e2ba26dba530 powerpc: Add security feature flags for Spectre/Meltdown
   4c5463a5a374 powerpc/pseries: Add new H_GET_CPU_CHARACTERISTICS flags
   d1cb5ff450d3 powerpc/rfi-flush: Call setup_rfi_flush() after LPM migration
   123f6d5ccaa2 powerpc/rfi-flush: Differentiate enabled and patched flush types
   6af06dcdea08 powerpc/rfi-flush: Always enable fallback flush on pseries
   d744f8457f2f powerpc/rfi-flush: Make it possible to call setup_rfi_flush() again
   5412a9d91d65 powerpc/rfi-flush: Move the logic to avoid a redo into the debugfs code
   bf434b31bad6 powerpc/powernv: Support firmware disable of RFI flush
   dff1a7e6c3ae powerpc/pseries: Support firmware disable of RFI flush
   2245d95d9f7a powerpc/64s: Improve RFI L1-D cache flush fallback
   421e1fadb0b0 x86/kvm: fix LAPIC timer drift when guest uses periodic mode
   b3ce16455c4b kvm: x86: IA32_ARCH_CAPABILITIES is always supported
   e765fd97e0c2 KVM: x86: Update cpuid properly when CR4.OSXAVE or CR4.PKE is changed
   16c463a4ecfa KVM: s390: vsie: fix < 8k check for the itdba
   9c5eee605677 KVM/VMX: Expose SSBD properly to guests
   058dfcf9c24f kernel/sys.c: fix potential Spectre v1 issue
   1da530fe155d kasan: fix memory hotplug during boot
   b052960484fd kasan: free allocated shadow memory on MEM_CANCEL_ONLINE
   9c7821c67a71 mm/kasan: don't vfree() nonexistent vm_area
   afdc490b36b0 ipc/shm: fix shmat() nil address after round-down when remapping
   67dd0bad8189 Revert "ipc/shm: Fix shmat mmap nil-page protection"
   0472f94cef2e idr: fix invalid ptr dereference on item delete
   2a039b93679f sr: pass down correctly sized SCSI sense buffer
   a59bd819576d IB/umem: Use the correct mm during ib_umem_release
   7a5b3b91f858 IB/hfi1: Use after free race condition in send context error path
   df07f2718440 powerpc/64s: Clear PCR on boot
   92169a015bdd arm64: lse: Add early clobbers to some input/output asm operands
   760e4d7e89a5 drm/vmwgfx: Fix 32-bit VMW_PORT_HB_[IN|OUT] macros
   a0f8cbce7b57 xen-swiotlb: fix the check condition for xen_swiotlb_free_coherent
   4182f5a075f1 libata: blacklist Micron 500IT SSD with MU01 firmware
   21712abb8ba2 libata: Blacklist some Sandisk SSDs for NCQ
   f2a3c8bb4d10 mmc: sdhci-iproc: add SDHCI_QUIRK2_HOST_OFF_CARD_ON for cygnus
   4da8f20a992c mmc: sdhci-iproc: fix 32bit writes for TRANSFER_MODE register
   ebedf0b29047 mmc: sdhci-iproc: remove hard coded mmc cap 1.8v
   f440ea85d429 do d_instantiate/unlock_new_inode combinations safely
   ba3fbb7afde9 ALSA: timer: Fix pause event notification
   fbcede36bbfd aio: fix io_destroy(2) vs. lookup_ioctx() race
   b9659ff375cb fs: don't scan the inode cache before SB_BORN is set
   1e5edf32e44d affs_lookup(): close a race with affs_remove_link()
   2871a701329c KVM: Fix spelling mistake: "cop_unsuable" -> "cop_unusable"
   bba75a0ccdb5 MIPS: Fix ptrace(2) PTRACE_PEEKUSR and PTRACE_POKEUSR accesses to o32 FGRs
   769fc447cced MIPS: ptrace: Expose FIR register through FP regset
   368b70857dd7 MIPS: c-r4k: Fix data corruption related to cache coherence
   102b97d6241d Linux 4.14.44
   6b73dfbd3cfc rtc: goldfish: Add missing MODULE_LICENSE
   6f34e436509e rtc: rp5c01: fix possible race condition
   78227b671e0d rtc: tx4939: avoid unintended sign extension on a 24 bit shift
   459aa4904ab2 rtc: m41t80: fix race conditions
   6266010c3895 rtc: rk808: fix possible race condition
   6c1c17116484 rtc: hctosys: Ensure system time doesn't overflow time_t
   731d965a587c rtc: snvs: Fix usage of snvs_rtc_enable
   8293e6238e03 serial: altera: ensure port->regshift is honored consistently
   e10bbc220e1a serial: 8250: Don't service RX FIFO if interrupts are disabled
   1c447ea13703 serial: arc_uart: Fix out-of-bounds access through DT alias
   db69a1a58844 serial: fsl_lpuart: Fix out-of-bounds access through DT alias
   24182ff06635 serial: imx: Fix out-of-bounds access through serial port index
   5f53807e751e serial: mxs-auart: Fix out-of-bounds access through serial port index
   491e61fe3c53 serial: samsung: Fix out-of-bounds access through serial port index
   eb81dd52b425 serial: sh-sci: Fix out-of-bounds access through DT alias
   d1e7f966521d serial: xuartps: Fix out-of-bounds access through DT alias
   604e648e8bf0 media: cx25821: prevent out-of-bounds read on array card
   9b7c44c43946 media: vivid: fix incorrect capabilities for radio
   8cfcd5bbb723 media: vb2: Fix videobuf2 to map correct area
   81173a58638f media: i2c: adv748x: fix HDMI field heights
   93c72937a26b media: v4l: vsp1: Fix display stalls when requesting too many inputs
   d600eadf7d80 media: em28xx: Add Hauppauge SoloHD/DualHD bulk models
   d62c8d80f84f media: lgdt3306a: Fix a double kfree on i2c device remove
   53ba3526baad media: s3c-camif: fix out-of-bounds array access
   5ebcb4612748 media: cx23885: Set subdev host data to clk_freq pointer
   24858b9c030a media: cx23885: Override 888 ImpactVCBe crystal frequency
   1c94830eeea5 media: ov5645: add missing of_node_put() in error path
   cc4b4af51c13 media: Don't let tvp5150_get_vbi() go out of vbi_ram_default array
   07999bccf2e0 media: dmxdev: fix error code for invalid ioctls
   7bc147610d1e clk: samsung: exynos3250: Fix PLL rates
   3fabe01cdf75 clk: samsung: exynos5250: Fix PLL rates
   90e14be44331 clk: samsung: exynos5433: Fix PLL rates
   256499854098 clk: samsung: exynos5260: Fix PLL rates
   8f4eef93e1ab clk: samsung: exynos7: Fix PLL rates
   264530c6ad12 clk: samsung: s3c2410: Fix PLL rates
   573dda18a809 clk: rockchip: Prevent calculating mmc phase if clock rate is zero
   04adc8209a9a clk: tegra: Fix pll_u rate configuration
   99f29b5c1cc4 clk: hisilicon: mark wdt_mux_p[] as const
   2dc1d1a8715e clk: Don't show the incorrect clock phase
   a225a3ba3213 clk: rockchip: Fix wrong parent for SDMMC phase clock for rk3228
   9311d0b6b466 ASoC: samsung: i2s: Ensure the RCLK rate is properly determined
   27cbb1df79c5 ASoC: topology: create TLV data for dapm widgets
   fbeec965b8d1 ASoC: samsung: odroid: Fix 32000 sample rate handling
   b3bbda7bad73 ASoC: rockchip: rk3288-hdmi-analog: Select needed codecs
   98ffb5cf47e4 ASoC: hdmi-codec: Fix module unloading caused kernel crash
   48e835f89769 scsi: lpfc: Fix frequency of Release WQE CQEs
   8fd4131a9fcc scsi: lpfc: Fix soft lockup in lpfc worker thread during LIP testing
   d5d331cdfcb2 scsi: lpfc: Fix issue_lip if link is disabled
   a9bcbce385ed scsi: mvsas: fix wrong endianness of sgpio api
   5e315f31faef scsi: core: Make SCSI Status CONDITION MET equivalent to GOOD
   3de235c7753b scsi: aacraid: Insure command thread is not recursively stopped
   10859964e0e1 scsi: iscsi_tcp: set BDI_CAP_STABLE_WRITES when data digest enabled
   b1a706fdb5a8 scsi: sd: Keep disk read-only when re-reading partition
   2bb6b7decff0 scsi: mpt3sas: Do not mark fw_event workqueue as WQ_MEM_RECLAIM
   fbc801716092 scsi: qedi: Fix kernel crash during port toggle
   dc6cb0cb91d5 scsi: qla4xxx: skip error recovery in case of register disconnect.
   b24fd4cd9491 scsi: aacraid: fix shutdown crash when init fails
   942cb7bd774a scsi: qedi: Fix truncation of CHAP name and secret
   a9eb1e1031a0 scsi: storvsc: Increase cmd_per_lun for higher speed devices
   1ad71103e12e scsi: qla2xxx: Avoid triggering undefined behavior in qla2x00_mbx_completion()
   62d16de3109f scsi: mptfusion: Add bounds check in mptctl_hp_targetinfo()
   0bf213d90bb2 scsi: sym53c8xx_2: iterator underflow in sym_getsync()
   a1ac3da8431a scsi: bnx2fc: Fix check in SCSI completion handler for timed out request
   af9930622461 scsi: ufs: Enable quirk to ignore sending WRITE_SAME command
   b0ef004e86cf scsi: qla2xxx: Fix memory corruption during hba reset test
   59ad4bb71714 scsi: mpt3sas: fix an out of bound write
   2b2a92910c19 crypto: inside-secure - fix the invalidation step during cra_exit
   c787fb6bdac2 crypto: sunxi-ss - Add MODULE_ALIAS to sun4i-ss
   d03a0a61dc82 crypto: inside-secure - fix the extra cache computation
   6df26587d22d crypto: inside-secure - fix the cache_len computation
   a04b30fd74a1 crypto: inside-secure - do not process request if no command was issued
   41b6f0ffb3ac crypto: ccp - don't disable interrupts while setting up debugfs
   223ba92a8059 crypto: atmel-aes - fix the keys zeroing on errors
   173c55493b81 crypto: inside-secure - wait for the request to complete if in the backlog
   43624647a97c staging: lustre: lmv: correctly iput lmo_root
   281bb7920cc0 staging: ks7010: Use constants from ieee80211_eid instead of literal ints.
   d5ae597ed13d staging: rtl8192u: return -ENOMEM on failed allocation of priv->oldaddr
   20b9506df1b4 staging: fsl-dpaa2/eth: Fix incorrect casts
   ff8eb22e5bb8 staging: lustre: fix bug in osc_enter_cache_try
   bf30d26981a8 staging: bcm2835-audio: Release resources on module_exit()
   0fe68f20e09f xhci: Show what USB release number the xHC supports from protocol capablity
   0249054e4bfd Bluetooth: btusb: Add device ID for RTL8822BE
   e4504b80e012 media: em28xx: USB bulk packet size fix
   f5f6bff50f36 media: lgdt3306a: Fix module count mismatch on usb unplug
   f3f3442027b5 usb: gadget: composite: fix incorrect handling of OS desc requests
   9170c1411eca usb: gadget: udc: change comparison to bitshift when dealing with a mask
   b80114337d31 usbip: Correct maximum value of CONFIG_USBIP_VHCI_HC_PORTS
   dd5541c7a60d usb: gadget: ffs: Execute copy_to_user() with USER_DS set
   7f48c9ddca72 usb: gadget: ffs: Let setup() return USB_GADGET_DELAYED_STATUS
   11cb14a19679 usb: dwc2: host: Fix transaction errors in host mode
   51250a9357d8 usb: dwc2: hcd: Fix host channel halt flow
   db81323e6a5d usb: dwc2: Fix interval type issue
   39280c27031b xhci: zero usb device slot_id member when disabling and freeing a xhci slot
   55aaef4bd8a0 usb: dwc3: Makefile: fix link error on randconfig
   834329c4ad4c usb: dwc3: Update DWC_usb31 GTXFIFOSIZ reg fields
   7fb2d2f1b04d usb: dwc3: Add SoftReset PHY synchonization delay
   81ba08e69fe2 ALSA: usb-audio: Add native DSD support for Luxman DA-06
   d711223606e8 Bluetooth: btusb: Add USB ID 7392:a611 for Edimax EW-7611ULB
   89509cdb713f net-usb: add qmi_wwan if on lte modem wistron neweb d18q1
   58249157c6ad net/usb/qmi_wwan.c: Add USB id for lt4120 modem
   ce04fbcdb39a USB: OHCI: Fix NULL dereference in HCDs using HCD_LOCAL_MEM
   e5c8a6d499a1 usb: host: xhci-plat: revert "usb: host: xhci-plat: enable clk in resume timing"
   38ed02d85840 ARM: dts: imx7d-sdb: Fix regulator-usb-otg2-vbus node name
   5788084ba3cd net: usbnet: fix potential deadlock on 32bit hosts
   f7b3f33c79b7 usb: cdc_acm: prevent race at write to acm while system resumes
   ee4ed01d4b5c usb: dwc2: Fix dwc2_hsotg_core_init_disconnected()
   a3fcccd4a7ef usb: gadget: fsl_udc_core: fix ep valid checks
   36d66139a351 usb: gadget: core: Fix use-after-free of usb_request
   aefc5ce2342a usb: dwc3: omap: don't miss events during suspend/resume
   e8f101ec20c0 usb: dwc3: Undo PHY init if soft reset fails
   0cc948e8ddb5 usb: gadget: f_uac2: fix bFirstInterface in composite gadget
   0ff6b2cac941 x86/kexec: Avoid double free_page() upon do_kexec_load() failure
   f119414a8f8d hfsplus: stop workqueue when fill_super() failed
   9f2c35864ad6 cfg80211: limit wiphy names to 128 bytes
   360964411d57 loop: fix LOOP_GET_STATUS lock imbalance
   c18270ac9f84 loop: don't call into filesystem while holding lo_ctl_mutex
   3c017b9fede9 scsi: zfcp: fix infinite iteration on ERP ready list
   d827bea2d18c scsi: sg: allocate with __GFP_ZERO in sg_build_indirect()
   58442874542f scsi: libsas: defer ata device eh commands to libata
   c1a35f5ddf36 s390: use expoline thunks in the BPF JIT
   457b944b61e6 s390: extend expoline to BC instructions
   a206c82f9bc9 s390: move spectre sysfs attribute code
   2a146a9b3240 s390/kernel: use expoline for indirect branches
   f1bd3b99607b s390/ftrace: use expoline for indirect branches
   0d201ff077a8 s390/lib: use expoline for indirect branches
   d7aa3f13e146 s390/crc32-vx: use expoline for indirect branches
   e3ad546e6094 s390: move expoline assembler macros to a header
   9a38169fb602 s390: add assembler macros for CPU alternatives
   131ff238b859 ext2: fix a block leak
   ea5ffcd46716 sparc: vio: use put_device() instead of kfree()
   c98b38c5ede4 hv_netvsc: Fix net device attach on older Windows hosts
   c7da51021c8d hv_netvsc: Ensure correct teardown message sequence order
   c5345b11680f hv_netvsc: Split netvsc_revoke_buf() and netvsc_teardown_gpadl()
   d8c3e04d3913 hv_netvsc: Use Windows version instead of NVSP version on GPAD teardown
   be9c798d0d13 hv_netvsc: common detach logic
   905f85c289d7 hv_netvsc: change GPAD teardown order on older versions
   9c6439c7b168 hv_netvsc: use RCU to fix concurrent rx and queue changes
   1f3ef8a7a3c6 hv_netvsc: disable NAPI before channel close
   f9aab25e3326 hv_netvsc: defer queue selection to VF
   0ac663c5674a hv_netvsc: fix race in napi poll when rescheduling
   99e06589bd5d hv_netvsc: cancel subchannel setup before halting device
   0ed8945b3aa6 hv_netvsc: fix error unwind handling if vmbus_open fails
   4857dca4dd65 hv_netvsc: only wake transmit queue if link is up
   0395570f81fe hv_netvsc: avoid retry on send during shutdown
   36a9609cef4a hv_netvsc: Use the num_online_cpus() for channel limit
   4c5fef778957 hv_netvsc: empty current transmit aggregation if flow blocked
   41f24dbef177 hv_netvsc: preserve hw_features on mtu/channels/ringparam changes
   284a58c02eeb hv_netvsc: netvsc_teardown_gpadl() split
   6296e73e459d hv_netvsc: Set tx_table to equal weight after subchannels open
   ef1c5903cd2a hv_netvsc: Add initialization of tx_table in netvsc_device_add()
   b3a303352e51 hv_netvsc: Rename tx_send_table to tx_table
   5acc4d1e8fe2 hv_netvsc: Rename ind_table to rx_table
   836f8472f1bd hv_netvsc: Fix the real number of queues of non-vRSS cases
   099612827aa3 vmxnet3: use DMA memory barriers where required
   74327eda43d0 vmxnet3: set the DMA mask before the first DMA map operation
   c89d534301a0 tcp: purge write queue in tcp_connect_init()
   edabcd0f12ae sock_diag: fix use-after-free read in __sk_free
   01a658c1b9d4 packet: in packet_snd start writing at link layer allocation
   c02756173e65 net: test tailroom before appending to linear skb
   2cedbdda01fe net/smc: check for missing nlattrs in SMC_PNETID messages
   8ffa5f978394 net: sched: red: avoid hashing NULL child
   53b2dbbee18d net/sched: fix refcnt leak in the error path of tcf_vlan_init()
   5ff45c86e90a net/mlx4_core: Fix error handling in mlx4_init_port_info.
   047df46d6cef net: Fix a bug in removing queues from XPS map
   1dff08485b9e Linux 4.14.43
   92a3c944d6d5 x86/bugs: Rename SSBD_NO to SSB_NO
   e8837f0a000f KVM: SVM: Implement VIRT_SPEC_CTRL support for SSBD
   3f44c1a3c293 x86/speculation, KVM: Implement support for VIRT_SPEC_CTRL/LS_CFG
   71179d5dcbb9 x86/bugs: Rework spec_ctrl base and mask logic
   d13f068b94a1 x86/bugs: Remove x86_spec_ctrl_set()
   987f49474b06 x86/bugs: Expose x86_spec_ctrl_base directly
   6befd3a735e0 x86/bugs: Unify x86_spec_ctrl_{set_guest,restore_host}
   3e6ab4ca1345 x86/speculation: Rework speculative_store_bypass_update()
   8e1c285a050c x86/speculation: Add virtualized speculative store bypass disable support
   72f46c229ac2 x86/bugs, KVM: Extend speculation control for VIRT_SPEC_CTRL
   b213ab46cde4 x86/speculation: Handle HT correctly on AMD
   7f1efb5e74e3 x86/cpufeatures: Add FEATURE_ZEN
   bbc0d1c33566 x86/cpufeatures: Disentangle SSBD enumeration
   8e0836d1413b x86/cpufeatures: Disentangle MSR_SPEC_CTRL enumeration from IBRS
   b1d1984f3898 x86/speculation: Use synthetic bits for IBRS/IBPB/STIBP
   b1a6028c2374 KVM: SVM: Move spec control call after restore of GS
   bd2059282934 x86/cpu: Make alternative_msr_write work for 32-bit code
   5a53a5fefb73 x86/bugs: Fix the parameters alignment and missing void
   f69c4dd36766 x86/bugs: Make cpu_show_common() static
   4fbc01632e77 x86/bugs: Fix __ssb_select_mitigation() return type
   8dc742f930cc Documentation/spec_ctrl: Do some minor cleanups
   43c47eb2a274 proc: Use underscores for SSBD in 'status'
   89ba80e61a39 x86/bugs: Rename _RDS to _SSBD
   0f18f44ce076 x86/speculation: Make "seccomp" the default mode for Speculative Store Bypass
   61dfdc12ff35 seccomp: Move speculation migitation control to arch code
   9939db75cd5b seccomp: Add filter flag to opt-out of SSB mitigation
   d829fcceb8f5 seccomp: Use PR_SPEC_FORCE_DISABLE
   20d036a2e223 prctl: Add force disable speculation
   c024722ffecd x86/bugs: Make boot modes __ro_after_init
   87895ae1e9b2 seccomp: Enable speculation flaw mitigations
   dd88d569eeff proc: Provide details on speculation flaw mitigations
   7d1254a1489c nospec: Allow getting/setting on non-current task
   d8553911627a x86/speculation: Add prctl for Speculative Store Bypass mitigation
   704609d39680 x86/process: Allow runtime control of Speculative Store Bypass
   33f6a06810cb prctl: Add speculation control prctls
   81c3c2b5917a x86/speculation: Create spec-ctrl.h to avoid include hell
   97224b3da698 x86/KVM/VMX: Expose SPEC_CTRL Bit(2) to the guest
   716bfae3b3f4 x86/bugs/AMD: Add support to disable RDS on Fam[15,16,17]h if requested
   fa2f1c65246d x86/bugs: Whitelist allowed SPEC_CTRL MSR values
   128e69909f7c x86/bugs/intel: Set proper CPU features and setup RDS
   65f747a6b108 x86/bugs: Provide boot parameters for the spec_store_bypass_disable mitigation
   832b579e1e83 x86/cpufeatures: Add X86_FEATURE_RDS
   c6dc89dd04e3 x86/bugs: Expose /sys/../spec_store_bypass
   94ae9d262843 x86/bugs, KVM: Support the combination of guest and host IBRS
   7c9b4959cda4 x86/bugs: Read SPEC_CTRL MSR during boot and re-use reserved bits
   3ce1634f6165 x86/bugs: Concentrate bug reporting into a separate function
   69dc73805969 x86/bugs: Concentrate bug detection into a separate function
   8410540f5aaf x86/nospec: Simplify alternative_msr_write()
   671c9a69f426 btrfs: fix reading stale metadata blocks after degraded raid1 mounts
   7ea5cff55c45 btrfs: Fix delalloc inodes invalidation during transaction abort
   0d670384af3c btrfs: Split btrfs_del_delalloc_inode into 2 functions
   1d16f615bb7d btrfs: fix crash when trying to resume balance without the resume flag
   f9b02febeabf btrfs: property: Set incompat flag if lzo/zstd compression is set
   de1f96cc4a30 Btrfs: send, fix invalid access to commit roots due to concurrent snapshotting
   59bbb5ca4d95 Btrfs: fix xattr loss after power failure
   ca477b42aeaa ARM: 8772/1: kprobes: Prohibit kprobes on get_user functions
   bd4aeb75dab5 ARM: 8770/1: kprobes: Prohibit probing on optimized_callback
   14b4cfb5ab54 ARM: 8769/1: kprobes: Fix to use get_kprobe_ctlblk after irq-disabed
   6986750cb57c tick/broadcast: Use for_each_cpu() specially on UP kernels
   a697b90ef09e x86/mm: Drop TS_COMPAT on 64-bit exec() syscall
   5f3ca3928e08 ARM: 8771/1: kprobes: Prohibit kprobes on do_undefinstr
   e5cefe3570a0 efi: Avoid potential crashes, fix the 'struct efi_pci_io_protocol_32' definition for mixed mode
   83a39c0e4adb x86/pkeys: Do not special case protection key 0
   359b8ff3281c x86/pkeys: Override pkey when moving away from PROT_EXEC
   a6565fdd90cb s390: remove indirect branch from do_softirq_own_stack
   ce2e68b3c260 s390/qdio: don't release memory in qdio_setup_irq()
   56130d932232 s390/cpum_sf: ensure sample frequency of perf event attributes is non-zero
   c568bdf37b6e s390/qdio: fix access to uninitialized qdio_q fields
   e2266ea100ea drm/i915/gen9: Add WaClearHIZ_WM_CHICKEN3 for bxt and glk
   fc170bda2283 mm: don't allow deferred pages with NEED_PER_CPU_KM
   572e2385ae35 radix tree: fix multi-order iteration race
   f6c0f020ee5b lib/test_bitmap.c: fix bitmap optimisation tests to report errors correctly
   5b86f020a789 drm: Match sysfs name in link removal to link creation
   094595ce5701 powerpc/powernv: Fix NVRAM sleep in invalid context when crashing
   f4f05f62d3d1 i2c: designware: fix poll-after-enable regression
   f9882808e355 netfilter: nf_socket: Fix out of bounds access in nf_sk_lookup_slow_v{4,6}
   d233f8d5bdd3 netfilter: nf_tables: can't fail after linking rule into active rule list
   321bc88ec098 netfilter: nf_tables: free set name in error path
   bca7faea5410 tee: shm: fix use-after-free via temporarily dropped reference
   9a19a93bddb3 tracing/x86/xen: Remove zero data size trace events trace_xen_mmu_flush_tlb{_all}
   d2dee2253be8 vfio: ccw: fix cleanup if cp_prefetch fails
   92ce74164efa powerpc: Don't preempt_disable() in show_cpuinfo()
   27ea98a4c50c KVM: arm/arm64: VGIC/ITS: protect kvm_read_guest() calls with SRCU lock
   b6f6d8bfe779 KVM: arm/arm64: VGIC/ITS save/restore: protect kvm_read_guest() calls
   b7f0fc1f0615 spi: bcm-qspi: Always read and set BSPI_MAST_N_BOOT_CTRL
   d18c3d2304de spi: bcm-qspi: Avoid setting MSPI_CDRAM_PCS for spi-nor master
   45804b0e3cb3 spi: pxa2xx: Allow 64-bit DMA
   50c0e85887bf ALSA: control: fix a redundant-copy issue
   6283fcc9b93a ALSA: hda: Add Lenovo C50 All in one to the power_save blacklist
   13fe9058ed09 ALSA: usb: mixer: volume quirk for CM102-A+/102S+
   e842726eccf3 usbip: usbip_host: fix bad unlock balance during stub_probe()
   ec0c93951ecb usbip: usbip_host: fix NULL-ptr deref and use-after-free errors
   5cd4dd77782e usbip: usbip_host: run rebind from exit when module is removed
   cf3bcc3231ad usbip: usbip_host: delete device from busid_table after rebind
   a3d5f6ecba99 usbip: usbip_host: refine probe and disconnect debug msgs to be useful
   d88700f79448 Linux 4.14.42
   5c9a9508de30 proc: do not access cmdline nor environ from file-backed areas
   7a4eda600d77 l2tp: revert "l2tp: fix missing print session offset info"
   036bbd584b0b xfrm: fix xfrm_do_migrate() with AEAD e.g(AES-GCM)
   b0e5b437ecfd btrfs: Take trans lock before access running trans in check_delayed_ref
   d2d85f8d2249 xfrm: Use __skb_queue_tail in xfrm_trans_queue
   73cda9030380 scsi: aacraid: Correct hba_send to include iu_type
   59afc1841b70 udp: fix SO_BINDTODEVICE
   8151fe6861a0 nsh: fix infinite loop
   66fefcabae5e net/mlx5e: Allow offloading ipv4 header re-write for icmp
   cb9e5a0817f4 ipv6: fix uninit-value in ip6_multipath_l3_keys()
   19bf346ca705 hv_netvsc: set master device
   6ecec17f71f5 net/mlx5: Avoid cleaning flow steering table twice during error flow
   eac1ab609be0 net/mlx5e: TX, Use correct counter in dma_map error flow
   b047794cc36c net: sched: fix error path in tcf_proto_create() when modules are not configured
   f6294114ade4 bonding: send learning packets for vlans on slave
   2eca993ddc83 bonding: do not allow rlb updates to invalid mac
   f754c9c88045 tg3: Fix vunmap() BUG_ON() triggered from tg3_free_consistent().
   413d2627692d tcp: ignore Fast Open on repair mode
   3cfe95a0eb02 tcp_bbr: fix to zero idle_restart only upon S/ACKed data
   bf2f3bae31a2 sctp: use the old asoc when making the cookie-ack chunk in dupcook_d
   4dce9afc2d35 sctp: remove sctp_chunk_put from fail_mark err path in sctp_ulpevent_make_rcvmsg
   d3d4d69d9bbd sctp: handle two v4 addrs comparison in sctp_inet6_cmp_addr
   f6c962d27d1a sctp: fix the issue that the cookie-ack with auth can't get processed
   3b54f1fd8770 sctp: delay the authentication for the duplicated cookie-echo chunk
   30ffa967adc3 rds: do not leak kernel memory to user land
   2753ebb4e96c r8169: fix powering up RTL8168h
   2bb66a711cc8 qmi_wwan: do not steal interfaces from class drivers
   c1ce5f359066 openvswitch: Don't swap table in nlattr_set() after OVS_ATTR_NESTED is found
   8e1b8e327903 net/tls: Fix connection stall on partial tls record
   3ac0f3e0b823 net/tls: Don't recursively call push_record during tls_write_space callbacks
   78ac65e8e940 net: support compat 64-bit time in {s,g}etsockopt
   b2a4d52fae0d net_sched: fq: take care of throttled flows before reuse
   6a5b0444e703 net sched actions: fix refcnt leak in skbmod
   1abd8c5fea11 net/mlx5: E-Switch, Include VF RDMA stats in vport statistics
   57e0a9f2174e net/mlx5e: Err if asked to offload TC match on frag being first
   edc0c15f6f61 net/mlx4_en: Verify coalescing parameters are in range
   2213a18303a2 net/mlx4_en: Fix an error handling path in 'mlx4_en_init_netdev()'
   6b10014800ce net: ethernet: ti: cpsw: fix packet leaking in dual_mac mode
   1029fb466b44 net: ethernet: sun: niu set correct packet size in skb
   1e22ffab52c0 llc: better deal with too small mtu
   a7aea8e27359 ipv4: fix memory leaks in udp_sendmsg, ping_v4_sendmsg
   c751af522989 ipv4: fix fnhe usage by non-cached routes
   91c2d70192c7 dccp: fix tasklet usage
   2c13a91e0fc5 bridge: check iface upper dev when setting master via ioctl
   ece94a76618e 8139too: Use disable_irq_nosync() in rtl8139_poll_controller()
   3f07ecbec151 Linux 4.14.41
   e8bbbd11e637 KVM: x86: remove APIC Timer periodic/oneshot spikes
   5138dd0db530 KVM: PPC: Book3S HV: Fix handling of large pages in radix page fault handler
   82e91e07e654 perf/x86: Fix possible Spectre-v1 indexing for x86_pmu::event_map()
   7093d5d0caa7 perf/core: Fix possible Spectre-v1 indexing for ->aux_pages[]
   6467123872a1 perf/x86/msr: Fix possible Spectre-v1 indexing in the MSR driver
   4e4bb64df800 perf/x86/cstate: Fix possible Spectre-v1 indexing for pkg_msr
   df2c71fb5c04 perf/x86: Fix possible Spectre-v1 indexing for hw_perf_event cache_*
   bd05324cdd3a tracing/uprobe_event: Fix strncpy corner case
   bb0b090d836a sched/autogroup: Fix possible Spectre-v1 indexing for sched_prio_to_weight[]
   f2a42c6bca67 smb3: directory sync should not return an error
   57e2ce8bbace nvme: add quirk to force medium priority for SQ creation
   db433f83a81f thermal: exynos: Propagate error value from tmu_read()
   33df2f8a8c87 thermal: exynos: Reading temperature makes sense only when TMU is turned on
   4aa9ef8a29ad Bluetooth: btusb: Only check needs_reset_resume DMI table for QCA rome chipsets
   4fcd0333b21e Bluetooth: btusb: Add Dell XPS 13 9360 to btusb_needs_reset_resume_table
   9ddc1d27a913 Revert "Bluetooth: btusb: Fix quirk for Atheros 1525/QCA6174"
   99e9acc27033 cpufreq: schedutil: Avoid using invalid next_freq
   64a03d3b240f PCI / PM: Check device_may_wakeup() in pci_enable_wake()
   89d5c4eb8105 PCI / PM: Always check PME wakeup capability for runtime wakeup support
   e2023117b877 atm: zatm: Fix potential Spectre v1
   cc21a603273c net: atm: Fix potential Spectre v1
   87aa17ca56b9 drm/atomic: Clean private obj old_state/new_state in drm_atomic_state_default_clear()
   969d4595f4a8 drm/atomic: Clean old_state/new_state in drm_atomic_state_default_clear()
   34a21b17abd6 drm/nouveau: Fix deadlock in nv50_mstm_register_connector()
   b2e01797216d drm/i915: Fix drm:intel_enable_lvds ERROR message in kernel log
   2b2b00374a54 drm/vc4: Fix scaling of uni-planar formats
   d2901e247b10 can: hi311x: Work around TX complete interrupt erratum
   ad25cf42f4c7 can: hi311x: Acquire SPI lock on ->do_get_berr_counter
   d0ca84d74f9f can: kvaser_usb: Increase correct stats counter in kvaser_usb_rx_can_msg()
   4636b4e25112 ceph: fix rsize/wsize capping in ceph_direct_read_write()
   2270dfcc4b12 mm, oom: fix concurrent munlock and oom reaper unmap, v3
   8ee7dabb311d mm: sections are not offlined during memory hotremove
   21fb6d8bc504 z3fold: fix reclaim lock-ups
   899997129276 tracing: Fix regex_match_front() to not over compare the test string
   586d02c1479f dm integrity: use kvfree for kvmalloc'd memory
   3b93fff8f452 libata: Apply NOLPM quirk for SanDisk SD7UB3Q*G1001 SSDs
   d1d5c31fc3a5 rfkill: gpio: fix memory leak in probe error path
   a7ea57b025b1 gpio: fix error path in lineevent_create
   28534d29479d gpio: fix aspeed_gpio unmask irq
   0f40bb84e25e gpioib: do not free unrequested descriptors
   ef7c4825fe5f compat: fix 4-byte infoleak via uninitialized struct field
   50ed0188af8d arm64: Add work around for Arm Cortex-A55 Erratum 1024718
   ca0ecba3ddf3 KVM: PPC: Book3S HV: Fix VRMA initialization with 2MB or 1GB memory backing
   f768d0f981e6 KVM: PPC: Book3S HV: Fix guest time accounting with VIRT_CPU_ACCOUNTING_GEN
   c51eb7379dfa KVM: PPC: Book3S HV: Fix trap number return from __kvmppc_vcore_entry
   683b4520d07e bdi: Fix oops in wb_workfn()
   6b5a99167a79 bdi: wake up concurrent wb_shutdown() callers.
   8c12bd91b597 tcp: fix TCP_REPAIR_QUEUE bound checking
   108cd022c59b perf: Remove superfluous allocation error check
   17ffa29c3556 memcg: fix per_node_info cleanup
   ac91ff2a5f12 inetpeer: fix uninit-value in inet_getpeer
   566804864cd9 soreuseport: initialise timewait reuseport field
   154ff3e04015 ipv4: fix uninit-value in ip_route_output_key_hash_rcu()
   09e45996b3e7 dccp: initialize ireq->ir_mark
   f9327803193a net: fix uninit-value in __hw_addr_add_ex()
   5652aed1de29 net: initialize skb->peeked when cloning
   ced9763b911d net: fix rtnh_ok()
   bf2ecb934603 netlink: fix uninit-value in netlink_sendmsg
   1b6d0db7ed22 crypto: af_alg - fix possible uninit-value in alg_bind()
   19042316b9e1 kcm: Call strp_stop before strp_done in kcm_attach
   725f5ae1a695 netfilter: ebtables: don't attempt to allocate 0-sized compat array
   88c43b469db5 ipvs: fix rtnl_lock lockups caused by start_sync_thread

(From OE-Core rev: 625ab268d598b13b822ffc1cabb6d3452068b29a)

(From OE-Core rev: c2e154ee8cc18ba6333e7481af4aab764cd5af15)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-02 11:41:26 +01:00
Bruce Ashfield
7a7d18f58b linux-yocto: add kernel sample configuration fragment
Add a fragment to the various kernels to support QA testing
of samples.

(From OE-Core rev: 98f78e3e3d65085c000bdfcf890ea498520c0075)

(From OE-Core rev: 479fe63ff0f6636d20f4fb3524ecd1d2e3bb29b3)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-02 11:41:25 +01:00
Bruce Ashfield
abe624ea73 linux-yocto/4.12: gcc8 + platform support
Integrating the following changes to fix gcc8 issues, add perf support
for new platforms, and misc bug fixes:

   7e7ac3f0fda9 perf vendor events intel: Update Goldmont events to V12
   0a384f4a74bb perf intel-pt: Always set no branch for dummy event
   d55c0eebc474 perf intel-pt: Set no_aux_samples for the tracking event
   1f0b8b1b621f perf vendor events: Add Goldmont Plus V1 event file
   6b230bd7967e objtool, perf: Fix GCC 8 -Wrestrict error
   2eb720eab978 tools/lib/subcmd/pager.c: do not alias select() params
   16818d5811b1 clocksource/drivers/arm_arch_timer: Fix mem frame loop initialization
   0924074f300a of: dynamic: fix memory leak related to properties of __of_node_dup
   f6579a9e6a8e debugobjects: Make kmemleak ignore debug objects
   9184d19fa9ba intel-socfpga: dts: improve qspi node for rsu feature
   68846ecd1d27 intel-socfpga: dts: add rsu node to enable rsu driver
   9f174f4e95f7 FogBugz #514234: arm64: dts: stratix10: Add PL330 DMA to Stratix10 dts
   8a97ef8580e8 FogBugz #554835-3: Intel RSU binding documentation
   c850e5570554 FogBugz #554835-1: Add Stratix 10 SoC RSU Driver
   e030a1b198b4 FogBugz #549288-4: dts: add Stratix10 sdram ecc
   c25a3bffb901 FogBugz #549288-3: edac: Add support for Stratix10 SDRAM EDAC
   64430c11c84b FogBugz #549288-2: Add Stratix10 ECC Manager binding
   c34e0d995e50 FogBugz #549288-1: misc: Stratix10 Protected register access defines
   ac8afaba8d13 mtd: spi-nor: cadence-quadspi: Fix page fault kernel panic
   16431863e036 FogBugz #554812: fpga: stratix10: unitialized data
   1ee99e139667 arm64: dts: stratix10: Change pad skew values for EMAC0 PHY driver
   3269b14acb76 FogBugz #251539-2: dts: Add Altera Quad SPI Driver Device Tree Binding
   99a5d81c3ea7 FogBugz #251539-1: Add Altera Quad SPI Driver

(From OE-Core rev: 37410a8ff156530dabdfdc7be4cd575768fa688d)

(From OE-Core rev: bffa3ca508b8542157efdd2ff61ff8a7922a6468)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-02 11:41:25 +01:00
Bruce Ashfield
b22a3f4aac kern-tools: avoid merge_config concatenation issues
Integrating the following kern-tools commit:

    tools/merge_config.sh: add CR after each fragment

    If a fragment file doesn't contain a CR at the end, two config
    options may be merged on the same line in the result file, leading to
    misconfiguration.

    This patch adds a CR after each fragment to ensure that config
    options are well separated in the result file.

    Bug-AGL: SPEC-1475

    Signed-off-by: Stephane Desneux <stephane.desneux@iot.bzh>
    Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>

(From OE-Core rev: c36727f2cad6c2d51aff8da6e2acd5642afe9848)

(From OE-Core rev: bd85f104d214c86e52204d0fe7e66039361d8b9f)

Signed-off-by: Stephane Desneux <stephane.desneux@iot.bzh>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-02 11:41:25 +01:00
Bruce Ashfield
5e03004baf linux-yocto/4.12: fix ppc cryptodev build
commit 6e36719fbe9 [crypto: aes-generic - fix aes-generic regression on
powerpc] addresses a build regression by 4.14-stable. So we cherry pick
it onto our branches while it works through the -stable process.

(From OE-Core rev: 01a4a4e24a2b61229be32f8852b2d5bc28c5689c)

(From OE-Core rev: 8f18cedf2442537249483ae88cfa240aedfab5f1)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-02 11:41:25 +01:00
Bruce Ashfield
43de26b5d0 linux-yocto/4.14/4.15: gcc8 fixes
Integrating Khem's gcc8 kernel patches so that 4.14 and 4.15 can build
with the gcc8 compiler updates.

  51273ff79f4a tools/lib/subcmd/pager.c: do not alias select() params
  b632c05a6263 objtool, perf: Fix GCC 8 -Wrestrict error
  20bc5eb24ac1 mips64: Disable attribute-alias warning
  975042cc72dd mips: Disable attribute-alias warnings
  8632f470f02c powerpc/ptrace: Disable array-bounds warning with gcc8
  59e401ffeda4 powerpc: Disable attribute-alias warnings from gcc8

(From OE-Core rev: eed723d09992c9b89fcb2760f8c95f69c201aa3c)

(From OE-Core rev: b03b4cfed3d06e397c4bc2a1d59b2a3838a97a2a)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-02 11:41:25 +01:00
Bruce Ashfield
f5907bf55a linux-yocto/4.15: update to v4.15.18
Updating v4.15 to the final korg -stable for the v4.15 series. It comprises
the following commits:

   a8ec862fd39d Linux 4.15.18
   c4f45cf301e6 ovl: set lower layer st_dev only if setting lower st_ino
   9def916c750d rtl8187: Fix NULL pointer dereference in priv->conf_mutex
   7a2a6d71eed4 Bluetooth: hci_bcm: Treat Interrupt ACPI resources as always being active-low
   154b354f3171 Bluetooth: Fix connection if directed advertising and privacy is used
   4eb2f39266ac getname_kernel() needs to make sure that ->name != ->iname in long case
   84f086ee4e6a mm/gup_benchmark: handle gup failures
   7e255357ef66 get_user_pages_fast(): return -EFAULT on access_ok failure
   4d03a2e6b9b6 s390/compat: fix setup_frame32
   e025da42c8e6 s390/ipl: ensure loadparm valid flag is set
   0d4e77fe0659 s390/qdio: don't merge ERROR output buffers
   f3eae28761c3 s390/qdio: don't retry EQBS after CCQ 96
   4f2217cbe648 nfit: fix region registration vs block-data-window ranges
   3adc135469c8 block/loop: fix deadlock after loop_set_status
   9d8a3dc99219 apparmor: fix resource audit messages when auditing peer
   93d36bc65698 apparmor: fix display of .ns_name for containers
   5f7dc7d33ed3 apparmor: fix logging of the existence test for signals
   b88779931388 scsi: qla2xxx: Fix small memory leak in qla2x00_probe_one on probe failure
   e4e64ce3fbc4 nfsd: fix incorrect umasks
   f6b213293ed9 hugetlbfs: fix bug in pgoff overflow checking
   004f2df3ae48 xen: xenbus_dev_frontend: Fix XS_TRANSACTION_END handling
   ff37d99aebb3 ovl: fix lookup with middle layer opaque dir and absolute path redirects
   645840a17612 blk-mq: don't keep offline CPUs mapped to hctx 0
   01e12511b9e9 blk-mq: order getting budget and driver tag
   3e0b25015e05 lib: fix stall in __bitmap_parselist()
   a8ce442c67ff nvme: Skip checking heads without namespaces
   c5f1f15ab5f1 block: Change a rcu_read_{lock,unlock}_sched() pair into rcu_read_{lock,unlock}()
   54e869fce691 f2fs: fix heap mode to reset it back
   418a68e55acb sunrpc: remove incorrect HMAC request initialization
   1ff02d3465dc x86/apic: Fix signedness bug in APIC ID validity checks
   84ad0b9e121f ath9k: Protect queue draining by rcu_read_lock()
   70146f28e419 hwmon: (ina2xx) Fix access to uninitialized mutex
   717b489baaf0 x86/mce/AMD: Get address from already initialized block
   ab0ed342375f perf/core: Fix use-after-free in uprobe_perf_close()
   aa9cf90591f8 KVM: PPC: Book3S HV: trace_tlbie must not be called in realmode
   02c74a999d69 PCI: hv: Fix 2 hang issues in hv_compose_msi_msg()
   b5f7ba13889a PCI: hv: Serialize the present and eject work items
   4d12fdda9978 Drivers: hv: vmbus: do not mark HV_PCIE as perf_device
   ed7308bce0a2 parisc: Fix HPMC handler by increasing size to multiple of 16 bytes
   2cad1487248d parisc: Fix out of array access in match_pci_device()
   351b3d90c18d ipmi: Fix some error cleanup issues
   9bb8f59e6ba0 media: v4l: vsp1: Fix header display list status check in continuous mode
   2276552990c4 media: v4l2-compat-ioctl32: don't oops on overlay
   44f9357a588e lan78xx: Correctly indicate invalid OTP
   a6f8bdd9b583 vhost: Fix vhost_copy_to_user()
   5c877c58589f ip_gre: clear feature flags when incompatible o_flags are set
   a818b1e8182e l2tp: fix race in duplicate tunnel detection
   186fab54f609 l2tp: fix races in tunnel creation
   d6b25a259ef9 vhost: fix vhost_vq_access_ok() log check
   f76f647e536b slip: Check if rstate is initialized before uncompressing
   89a990000cd5 rds: MP-RDS may use an invalid c_path
   14fb3c646653 cdc_ether: flag the Cinterion AHS8 modem by gemalto as WWAN
   17da5b1d0a46 netfilter: ipset: Missing nfnl_lock()/nfnl_unlock() is added to ip_set_net_exit()
   7b3f3fa2bdeb drm/i915/edp: Do not do link training fallback or prune modes on EDP
   b22a1fa1b34f Linux 4.15.17
   9e6ee870ad5a net/mlx4_core: Fix memory leak while delete slave's resources
   94f1b8485ce3 vhost_net: add missing lock nesting notation
   a17ab0a5c81c team: move dev_mc_sync after master_upper_dev_link in team_port_add
   0f9e7b328bff route: check sysctl_fib_multipath_use_neigh earlier than hash
   13ed54d5252e vhost: validate log when IOTLB is enabled
   2030a5c0ab13 net/mlx5e: Fix traffic being dropped on VF representor
   2b9260fb6f35 net/mlx4_en: Fix mixed PFC and Global pause user control requests
   e2b83b778065 strparser: Fix sign of err codes
   73a697b3ef62 net/sched: fix NULL dereference on the error path of tcf_skbmod_init()
   39eab2e79f81 net/sched: fix NULL dereference in the error path of tunnel_key_init()
   d6bda9865d4c net/mlx5e: Sync netdev vxlan ports at open
   75744bdbce5f net/mlx5e: Don't override vport admin link state in switchdev mode
   5dfa4fb5cd26 ipv6: sr: fix seg6 encap performances with TSO enabled
   d0f3ccf5293c nfp: use full 40 bits of the NSP buffer address
   9d49e497222c net/sched: fix NULL dereference in the error path of tcf_sample_init()
   e95cdaee3d7d net/mlx5e: Fix memory usage issues in offloading TC flows
   07c70edfbefd net/mlx5e: Avoid using the ipv6 stub in the TC offload neigh update path
   5075e98fb92f net/sched: fix NULL dereference in the error path of tcf_vlan_init()
   a61bf7ba7f9f net_sched: fix a missing idr_remove() in u32_delete_key()
   8c09a81ed1b9 net/mlx5e: Set EQE based as default TX interrupt moderation mode
   34eb1263d97f vti6: better validate user provided tunnel names
   4fba1a669a9a ip6_tunnel: better validate user provided tunnel names
   efcc90fcf90a ip6_gre: better validate user provided tunnel names
   c64153772333 ipv6: sit: better validate user provided tunnel names
   bc4718fcee7c ip_tunnel: better validate user provided tunnel names
   764975439e8b net: fool proof dev_valid_name()
   b9c36c30ccac bonding: process the err returned by dev_set_allmulti properly in bond_enslave
   1999253e11b6 bonding: move dev_mc_sync after master_upper_dev_link in bond_enslave
   4021b1a4ef73 bonding: fix the err path for dev hwaddr sync in bond_enslave
   088d65ddf9c5 vrf: Fix use after free and double free in vrf_finish_output
   51c6ba0d8d71 vlan: also check phy_driver ts_info for vlan's real device
   25d45c0fd16c vhost: correctly remove wait queue during poll failure
   3407271beb99 sky2: Increase D3 delay to sky2 stops working after suspend
   7e72ce101da8 sctp: sctp_sockaddr_af must check minimal addr length for AF_INET6
   9db59791e2b7 sctp: do not leak kernel memory to user space
   cb2b72372ab2 r8169: fix setting driver_data after register_netdev
   3b1c6b30170e pptp: remove a buggy dst release in pptp_connect()
   db714a1ff359 net/sched: fix NULL dereference in the error path of tcf_bpf_init()
   c7aea3ee65f1 net sched actions: fix dumping which requires several messages to user space
   ae4d4eb29e54 net/mlx5e: Verify coalescing parameters in range
   7102de5aef56 netlink: make sure nladdr has correct size in netlink_connect()
   bbf5fab136f6 net/ipv6: Increment OUTxxx counters after netfilter hook
   e3b4bc07821c net/ipv6: Fix route leaking between VRFs
   202f1915fa1d net: fix possible out-of-bound read in skb_network_protocol()
   7dd65ec55e31 net: dsa: Discard frames from unused ports
   14fed02e94a8 lan78xx: Crash in lan78xx_writ_reg (Workqueue: events lan78xx_deferred_multicast_write)
   dad8b0244bac ipv6: the entire IPv6 header chain must fit the first fragment
   30d032b72d06 arp: fix arp_filter on l3slave devices
   fea978223b59 x86/microcode: Fix CPU synchronization routine
   32bfd224e9d6 x86/microcode: Attempt late loading only when new microcode is present
   8e1161f94614 x86/microcode: Synchronize late microcode loading
   7bc523cc535e x86/microcode: Request microcode on the BSP
   194ed6edd93f x86/microcode/intel: Look into the patch cache first
   399c019ea77c x86/microcode: Do not upload microcode if CPUs are offline
   1089ac9dda39 x86/microcode/intel: Writeback and invalidate caches before updating microcode
   1c1f5b2cd2cf x86/microcode/intel: Check microcode revision before updating sibling threads
   abb00ec05909 x86/microcode: Get rid of struct apply_microcode_ctx
   5cea945c5a3b x86/CPU: Check CPU feature bits after microcode upgrade
   1a6150b2bad3 x86/CPU: Add a microcode loader callback
   e280980606e7 x86/microcode: Propagate return value from updating functions
   d3839c26e68d drm/i915/cnp: Properly handle VBT ddc pin out of bounds.
   1710c3baec14 drm/i915/cnp: Ignore VBT request for know invalid DDC pin.
   87ef4d6fc6b0 thermal: int3400_thermal: fix error handling in int3400_thermal_probe()
   452aecd060f2 tcmu: release blocks for partially setup cmds
   46279ed31169 perf tools: Fix copyfile_offset update of output offset
   feb5c349feb5 crypto: aes-generic - build with -Os on gcc-7+
   50dbed12aaa7 mtd: mtd_oobtest: Handle bitflips during reads
   dad8f5220c5d Input: goodix - disable IRQs while suspended
   d7c122fd723f ibmvnic: Don't handle RX interrupts when not up.
   82c353ad3da1 sdhci: Advertise 2.0v supply on SDIO host controller
   55a0ef8d9d71 x86/gart: Exclude GART aperture from vmcore
   6a68ef47bea6 gpio: thunderx: fix error return code in thunderx_gpio_probe()
   27fac1611fdd RDMA/cma: Fix rdma_cm path querying for RoCE
   ce87afbbada6 scsi: megaraid_sas: unload flag should be set after scsi_remove_host is called
   458419bb8429 scsi: megaraid_sas: Error handling for invalid ldcount provided by firmware in RAID map
   edde080c5e33 PM / domains: Don't skip driver's ->suspend|resume_noirq() callbacks
   3018e3d5171e cxgb4vf: Fix SGE FL buffer initialization logic for 64K pages
   b2320552d1f5 drm/amd/powerplay: fix memory leakage when reload (v2)
   70557b7f58db i40evf: don't rely on netif_running() outside rtnl_lock()
   6e80af54604d Bluetooth: hci_bcm: Make shutdown and device wake GPIO optional
   d8d843fe374b Bluetooth: hci_bcm: Validate IRQ before using it
   e34b75c7db20 Bluetooth: hci_bcm: Mandate presence of shutdown and device wake GPIO
   3ca4e49e9be7 uio_hv_generic: check that host supports monitor page
   f0e9997e06a5 EDAC, mv64x60: Fix an error handling path
   7018cb0149d1 serdev: Fix serdev_uevent failure on ACPI enumerated serdev-controllers
   3af99e83a278 block, bfq: put async queues for root bfq groups too
   a551b16c4903 tty: n_gsm: Allow ADM response in addition to UA for control dlci
   13ba69ddf542 blk-mq: fix kernel oops in blk_mq_tag_idle()
   1aa0564aae9e net/mlx5e: IPoIB, Use correct timestamp in child receive flow
   d4beec7ede2a scsi: libsas: initialize sas_phy status according to response of DISCOVER
   a8e93148d4e6 scsi: libsas: fix error when getting phy events
   c16490ba27bb scsi: libsas: fix memory leak in sas_smp_get_phy_events()
   614361530f03 net: Fix netdev_WARN_ONCE macro
   088ebc83060e scsi: libsas: Use dynamic alloced work to avoid sas event lost
   eead4cd85fe3 bcache: segregate flash only volume write streams
   9390f52f68a8 bcache: stop writeback thread after detaching
   18303da51818 bcache: ret IOERR when read meets metadata error
   2300dbc6d1f3 net: hns3: fix for changing MTU
   dfa20d9d7fa9 net: hns3: Fix an error macro definition of HNS3_TQP_STAT
   f55dc2a4c18d net: hns3: Fix a loop index error of tqp statistics query
   4434e6f5820f net: hns3: Fix an error of total drop packet statistics
   c8de98d55dc4 net/mlx5: Fix race for multiple RoCE enable
   717df1176636 wl1251: check return from call to wl1251_acx_arp_ip_filter
   eb49779a13d9 rt2x00: do not pause queue unconditionally on error path
   14d7f455a4da power: supply: axp288_charger: Properly stop work on probe-error / remove
   c9ec5c8ac418 ASoC: Intel: sst: Fix the return value of 'sst_send_byte_stream_mrfld()'
   b00f942fef90 staging: lustre: disable preempt while sampling processor id.
   731edfbaf9e5 perf report: Fix a no annotate browser displayed issue
   4c4f48c3e5d7 tpm: return a TPM_RC_COMMAND_CODE response if command is not implemented
   0a592432e6e9 nvme_fcloop: fix abort race condition
   513f897ed6e5 nvme_fcloop: disassocate local port structs
   9d0b9e874ecf pinctrl: baytrail: Enable glitch filter for GPIOs used as interrupts
   ab0ba11b94b5 nvme-fabrics: don't check for non-NULL module in nvmf_register_transport
   2c624d6fede9 nvme-fabrics: protect against module unload during create_ctrl
   3d4d30ecc250 backlight: tdo24m: Fix the SPI CS between transfers
   3f9ae3bb4dca blk-mq: fix race between updating nr_hw_queues and switching io sched
   f86fd0585e8e blk-mq: avoid to map CPU into stale hw queue
   5be1bc32b82d IB/rdmavt: Allocate CQ memory on the correct node
   a5a2a6bd5d4a powernv-cpufreq: Add helper to extract pstate from PMSR
   618d78622811 arm64: asid: Do not replace active_asids if already 0
   a257594a30d3 gpio: label descriptors using the device name
   b2b11aebe49e crypto: crypto4xx - perform aead icv check in the driver
   56d3fab6bc64 vfb: fix video mode and line_length being set when loaded
   7f12c3f9eec6 mac80211: Fix setting TX power on monitor interfaces
   110909d7a0c9 ACPI: EC: Fix debugfs_create_*() usage
   03e965ebd983 irqchip/gic-v3: Fix the driver probe() fail due to disabled GICC entry
   c97d465daddd irqchip/ompic: fix return value check in ompic_of_init()
   f885f0701f6d scsi: mpt3sas: Proper handling of set/clear of "ATA command pending" flag.
   f212235717ed scsi: libiscsi: Allow sd_shutdown on bad transport
   f4fecf24ae66 RDMA/hns: Update the usage of sr_max and rr_max field
   311b60b294b4 spi: sh-msiof: Fix timeout failures for TX-only DMA transfers
   902dae240b4a IB/ipoib: Fix for notify send CQ failure messages
   3ca14535c781 drm/msm: Fix NULL deref in adreno_load_gpu
   70a6a6877a88 ASoC: Intel: cht_bsw_rt5645: Analog Mic support
   df85cc29794a ASoC: Intel: Skylake: Disable clock gating during firmware and library download
   4577c7f85eda media: videobuf2-core: don't go out of the buffer range
   a8d3eea33c25 clk: sunxi-ng: a83t: Add M divider to TCON1 clock
   e0870e5401ee f2fs: fix lock dependency in between dio_rwsem & i_mmap_sem
   bde6301dbf14 hwmon: (ina2xx) Make calibration register value fixed
   2bddcdd33e3a RDMA/cma: Mark end of CMA ID messages
   7f0880203e52 thermal/drivers/hisi: Remove bogus const from function return type
   a696e385ac75 selftests/net: fix bugs in address and port initialization
   abf63e3cb1a8 net_sch: red: Fix the new offload indication
   ffc544a91a0f gpiolib: don't dereference a desc before validation
   ebc5545383f7 PM / devfreq: Fix potential NULL pointer dereference in governor_store
   34e1b76c57d0 clk: divider: fix incorrect usage of container_of
   5218e11fbd2f watchdog: dw_wdt: add stop watchdog operation
   3a0289a45385 VFS: close race between getcwd() and d_move()
   827fe75987f1 IB/mlx5: Report inner RSS capability
   b644c41acce1 net/mlx4_en: Change default QoS settings
   965736ee654d ACPI / video: Default lcd_only to true on Win8-ready and newer machines
   ce6b782c6f38 rds; Reset rs->rs_bound_addr in rds_add_bound() failure path
   e78a6e9aee5b l2tp: fix missing print session offset info
   d8ffa7dfceb5 net: hns3: add Asym Pause support to phy default features
   353900b83514 net: hns3: fix for getting auto-negotiation state in hclge_get_autoneg
   4edd8be70f11 net: hns3: free the ring_data structrue when change tqps
   295c02ce3322 perf evsel: Enable ignore_missing_thread for pid option
   88d7e9f141c3 perf evsel: Fix swap for samples with raw data
   9ab8894f195d perf probe: Add warning message if there is unexpected event name
   ef0fa7a1ec6e perf probe: Find versioned symbols from map
   2dffefdf975a thermal: power_allocator: fix one race condition issue for thermal_instances list
   4dfb698be2a5 ipv6: Reinject IPv6 packets if IPsec policy matches after SNAT
   542f2cc70fe6 Bluetooth: Add a new 04ca:3015 QCA_ROME device
   7ee903fb3a1b ARM: dts: ls1021a: add "fsl,ls1021a-esdhc" compatible string to esdhc node
   9f8a75a2299e clk: meson: mpll: use 64-bit maths in params_from_rate
   be7835d54626 i40iw: Validate correct IRD/ORD connection parameters
   551ace11e153 i40iw: Correct Q1/XF object count equation
   c2f3d4bf8e4b i40iw: Fix sequence number for the first partial FPDU
   49859d3c5536 Linux 4.15.16
   b36c97615b98 Revert "ip6_vti: adjust vti mtu according to mtu of lower device"
   f4c360885236 Revert "cpufreq: Fix governor module removal race"
   2dae6069c488 Revert "ARM: dts: omap3-n900: Fix the audio CODEC's reset pin"
   0dd269e2a25b Revert "ARM: dts: am335x-pepper: Fix the audio CODEC's reset pin"
   657fda9505c8 Fix slab name "biovec-(1<<(21-12))"
   8282afd8abee net: hns: Fix ethtool private flags
   84c68b621e90 ARM: dts: DRA76-EVM: Set powerhold property for tps65917
   3d07d9f2eebb vt: change SGR 21 to follow the standards
   48eaa5be295c Input: i8042 - enable MUX on Sony VAIO VGN-CS series to fix touchpad
   fd50992f99c2 Input: i8042 - add Lenovo ThinkPad L460 to i8042 reset list
   ec46704f08e8 Input: ALPS - fix TrackStick detection on Thinkpad L570 and Latitude 7370
   9abdc666b793 Revert "base: arch_topology: fix section mismatch build warnings"
   f1fcba111d9e staging: comedi: ni_mio_common: ack ai fifo error interrupts.
   21f07630e75f Btrfs: fix unexpected cow in run_delalloc_nocow
   e847da275f04 crypto: x86/cast5-avx - fix ECB encryption when long sg follows short one
   860783c283c8 crypto: arm,arm64 - Fix random regeneration of S_shipped
   493601f76734 crypto: ccp - return an actual key size from RSA max_size callback
   7abca04ef3a0 crypto: caam - Fix null dereference at error path
   48b9d82caba8 crypto: ahash - Fix early termination in hash walk
   4010d75d2eb4 crypto: talitos - fix IPsec cipher in length
   05c93fe33f94 crypto: testmgr - Fix incorrect values in PKCS#1 test vector
   c3c97a9f2f52 crypto: inside-secure - fix clock management
   7bc247d1fd68 crypto: talitos - don't persistently map req_ctx->hw_context and req_ctx->buf
   27036ade0732 crypto: lrw - Free rctx->ext with kzfree
   5afddba2aaae parport_pc: Add support for WCH CH382L PCI-E single parallel port card.
   39fd6d094397 media: usbtv: prevent double free in error case
   9b664c6a9f68 /dev/mem: Avoid overwriting "err" in read_mem()
   3cde7e2ccec6 mei: remove dev_err message on an unsupported ioctl
   29361c257631 serial: 8250: Add Nuvoton NPCM UART
   ffed9ae46844 USB: serial: cp210x: add ELDAT Easywave RX09 id
   b8541b3dc59c USB: serial: ftdi_sio: add support for Harman FirmwareHubEmulator
   6693f178c9ab USB: serial: ftdi_sio: add RT Systems VX-8 cable
   b5abde6ca2d2 bitmap: fix memset optimization on big-endian systems
   7b2dcf7cc456 drm/i915/dp: Write to SET_POWER dpcd to enable MST hub.
   886125faf5d1 Bluetooth: Fix missing encryption refresh on Security Request
   8f723a276a4d phy: qcom-ufs: add MODULE_LICENSE tag
   a192706b71fa netfilter: x_tables: add and use xt_check_proc_name
   7ab7e3e2a0d4 netfilter: drop template ct when conntrack is skipped.
   c16c62bb4d9f l2tp: fix races with ipv4-mapped ipv6 addresses
   dd19573992b5 netfilter: bridge: ebt_among: add more missing match size checks
   8f4ed22f6b5e netfilter: x_tables: make allocation less aggressive
   5bb3f4acc8aa percpu: add __GFP_NORETRY semantics to the percpu balancing path
   c7f2bd1850a8 xfrm: Refuse to insert 32 bit userspace socket policies on 64 bit systems
   94f84ba56f3d net: xfrm: use preempt-safe this_cpu_read() in ipcomp_alloc_tfms()
   e13d781171fb ipv6: fix possible deadlock in rt6_age_examine_exception()
   b2bf2cb68880 RDMA/ucma: Introduce safer rdma_addr_size() variants
   f55b41ce03a7 RDMA/ucma: Check that device exists prior to accessing it
   c0cbbca14176 RDMA/ucma: Check that device is connected prior to access it
   c88aaa5ab28a RDMA/rdma_cm: Fix use after free race with process_one_req
   5eb56dd0ba03 RDMA/ucma: Ensure that CM_ID exists prior to access it
   0b17ac3f080d RDMA/ucma: Fix use-after-free access in ucma_close
   a6474d6ef156 RDMA/ucma: Check AF family prior resolving address
   7df65ad1d45a xfrm_user: uncoditionally validate esn replay attribute struct
   abb971a27ed5 partitions/msdos: Unable to mount UFS 44bsd partitions
   cc842a34bfb2 powerpc/64s: Fix i-side SLB miss bad address handler saving nonvolatile GPRs
   f8e68e8f8db5 powerpc/64s: Fix lost pending interrupt due to race causing lost update to irq_happened
   5c0b4a907396 powerpc/mm: Workaround Nest MMU bug with TLB invalidations
   d657375f3616 powerpc/mm: Add tracking of the number of coprocessors using a context
   b61312ebb1c9 i2c: i2c-stm32f7: fix no check on returned setup
   19254443adf9 ipc/shm.c: add split function to shm_vm_ops
   f2fb59601631 ceph: only dirty ITER_IOVEC pages for direct read
   9b5b7c382e11 perf/hwbp: Simplify the perf-hwbp code, fix documentation
   a408b211f579 x86/platform/uv/BAU: Add APIC idt entry
   740aa1579526 ALSA: pcm: potential uninitialized return values
   4321a749661b ALSA: pcm: Use dma_bytes as size parameter in dma_mmap_coherent()
   5891c83b01ad ALSA: usb-audio: Add native DSD support for TEAC UD-301
   6aa2e5ddc3cd mtd: nand: atmel: Fix get_sectorsize() function
   e80deb59802c mtd: jedec_probe: Fix crash in jedec_read_mfr()
   26692e9a0aaf ARM: dts: sun6i: a31s: bpi-m2: add missing regulators
   acc7f0201fc3 ARM: dts: sun6i: a31s: bpi-m2: improve pmic properties
   955901702381 ARM: 8746/1: vfp: Go back to clearing vfp_current_hw_state[]
   37496fe93169 ARM: OMAP: Fix SRAM W+X mapping
   ae0a11b2bd33 Linux 4.15.15
   ab58638491e1 team: Fix double free in error path
   a21aaaf921ab skbuff: Fix not waking applications when errors are enqueued
   0a5c5886c3b4 qede: Fix qedr link update
   71aa561fa21b net: systemport: Rewrite __bcm_sysport_tx_reclaim()
   347de2ecf61b net: Only honor ifindex in IP_PKTINFO if non-0
   ffa24344d004 netlink: avoid a double skb free in genlmsg_mcast()
   b471f6727288 net/iucv: Free memory obtained by kzalloc
   24f6021c26ef net: fec: Fix unbalanced PM runtime calls
   fbc1ee88e866 net: ethernet: ti: cpsw: add check for in-band mode setting with RGMII PHY interface
   41d133c01d20 net: ethernet: arc: Fix a potential memory leak if an optional regulator is deferred
   8e903f508390 l2tp: do not accept arbitrary sockets
   f1c344162052 ipv6: fix access to non-linear packet in ndisc_fill_redirect_hdr_option()
   5df0f40809d4 dccp: check sk for closed state in dccp_sendmsg()
   01a82ba817fc dpaa_eth: remove duplicate increment of the tx_errors counter
   8e84c72fe1b7 dpaa_eth: increment the RX dropped counter when needed
   d50884855ed0 dpaa_eth: remove duplicate initialization
   e9b0efd5940c dpaa_eth: fix error in dpaa_remove()
   5b10a404419f soc/fsl/qbman: fix issue in qman_delete_cgr_safe()
   2a00d08da9ff s390/qeth: on channel error, reject further cmd requests
   e992c8b81cd0 s390/qeth: lock read device while queueing next buffer
   4b6cd4820c66 s390/qeth: when thread completes, wake up all waiters
   657a7148bd4b s390/qeth: free netdevice when removing a card
   aac53ed860ee net: Fix hlist corruptions in inet_evict_bucket()
   5eb1b63557d8 net: use skb_to_full_sk() in skb_update_prio()
   7d7d04a6e6d5 ieee802154: 6lowpan: fix possible NULL deref in lowpan_device_event()
   a69b268ae27d sch_netem: fix skb leak in netem_enqueue()
   b6b64dea97e0 kcm: lock lower socket in kcm_attach
   b1bb7e6aa293 test_rhashtable: add test case for rhltable with duplicate objects
   93589a0ae7e7 rhashtable: Fix rhlist duplicates insertion
   8b24af17d5fc ppp: avoid loop in xmit recursion detection code
   a1209e98ff49 net sched actions: return explicit error when tunnel_key mode is not specified
   37c446138df8 ipv6: Reflect MTU changes on PMTU of exceptions for MTU-less routes
   9401d455a739 net: phy: Tell caller result of phy_change()
   33dcdffc31e5 mlxsw: spectrum_buffers: Set a minimum quota for CPU port traffic
   af1ba7e5e0cd ipv6: sr: fix scheduling in RCU when creating seg6 lwtunnel state
   68e01f404461 ipv6: sr: fix NULL pointer dereference when setting encap source address
   7340d647447f ipv6: old_dport should be a __be16 in __ip6_datagram_connect()
   812cb9e2340d net: ipv6: keep sk status consistent after datagram connect failure
   f09036d3d61c macvlan: filter out unsupported feature flags
   2076d28a639e devlink: Remove redundant free on error path
   9c94855066d3 net: phy: relax error checking when creating sysfs link netdev->phydev
   956c93369149 sysfs: symlink: export sysfs_create_link_nowarn()
   986468a18f78 qed: Fix non TCP packets should be dropped on iWARP ll2 connection
   960058fe1963 tcp: purge write queue upon aborting the connection
   10849a12c052 qed: Fix MPA unalign flow in case header is split across two packets.
   cce2b12ee5af openvswitch: meter: fix the incorrect calculation of max delta_t
   1759a5455f7d net: dsa: Fix dsa_is_user_port() test inversion
   0ba3b3aac901 Linux 4.15.14
   9c5ee9934c90 bpf, x64: increase number of passes
   18a9e4d888d6 bpf: skip unnecessary capability check
   700082a54165 kbuild: disable clang's default use of -fmerge-all-constants
   c7674a71bc38 staging: android: ion: Zero CMA allocated memory
   e8689b8bbae9 iio: imu: st_lsm6dsx: introduce conf_lock mutex
   0757dce21913 iio: imu: st_lsm6dsx: fix endianness in st_lsm6dsx_read_oneshot()
   b7a6e26b331d iio: ABI: Fix name of timestamp sysfs file
   b844443b8e89 perf/x86/intel/uncore: Fix multi-domain PCI CHA enumeration bug on Skylake servers
   190e67640d20 perf/x86/intel: Don't accidentally clear high bits in bdw_limit_period()
   a002966e849b trace/bpf: remove helper bpf_perf_prog_read_value from tracepoint type programs
   e623ff1aceff perf/core: Fix ctx_event_type in ctx_resched()
   f736f6560e04 perf stat: Fix CVS output format for non-supported counters
   b42e3e521999 perf/x86/intel/uncore: Fix Skylake UPI event format
   7d4e27d30070 hwmon: (k10temp) Add temperature offset for Ryzen 1900X
   1a0d6102cd02 hwmon: (k10temp) Only apply temperature offset if result is positive
   591b6ad1ddbc x86/boot/64: Verify alignment of the LOAD segment
   b3d1a5bc0e47 x86/build/64: Force the linker to use 2MB page size
   8c42170a40fb kvm/x86: fix icebp instruction handling
   ab26ea17a6dc posix-timers: Protect posix clock array access against speculation
   cd7abf600406 x86/efi: Free efi_pgd with free_pages()
   279ebed98bb2 x86/vsyscall/64: Use proper accessor to update P4D entry
   1e4ed1727e2a selftests/x86/ptrace_syscall: Fix for yet more glibc interference
   69a71b6b418c x86/entry/64: Don't use IST entry for #BP stack
   64c98ba6ddb5 tty: vt: fix up tabstops properly
   dfde88160d7b can: cc770: Fix use after free in cc770_tx_interrupt()
   89fc6c01aae9 can: cc770: Fix queue stall & dropped RTR reply
   f543d85120e1 can: cc770: Fix stalls on rt-linux, remove redundant IRQ ack
   f29397c91e05 can: ifi: Check core revision upon probe
   717885b66fb8 can: ifi: Repair the error handling
   4f39b4fd443c can: peak/pcie_fd: remove useless code when interface starts
   054317e751c7 can: peak/pcie_fd: fix echo_skb is occupied! bug
   9a6730ae707b staging: ncpfs: memory corruption in ncp_read_kernel()
   7b6f657ad598 mtd: nand: fsl_ifc: Read ECCSTAT0 and ECCSTAT1 registers for IFC 2.0
   7cc7ee831a35 mtd: nand: fsl_ifc: Fix eccstat array overflow for IFC ver >= 2.0.0
   1d65c538a1e1 mtd: nand: fsl_ifc: Fix nand waitfunc return value
   a49c7c336348 mtdchar: fix usage of mtd_ooblayout_ecc()
   9b474cd0749d tracing: probeevent: Fix to support minus offset from symbol
   d2e051d5d636 rtlwifi: rtl8723be: Fix loss of signal
   8c210a84ed36 brcmfmac: fix P2P_DEVICE ethernet address generation
   6b7ece4accf1 libnvdimm, {btt, blk}: do integrity setup before add_disk()
   0cb158fadfd5 ACPI / watchdog: Fix off-by-one error at resource assignment
   b0b2d4f74b72 acpi, numa: fix pxm to online numa node associations
   517f745e5e64 module: propagate error in modules_open()
   c8f7955b5493 mm/vmscan: wake up flushers for legacy cgroups too
   01592437b0ec drm: udl: Properly check framebuffer mmap offsets
   1554edbbb723 drm: Reject getfb for multi-plane framebuffers
   f6b53a429e65 drm/amd/display: Add one to EDID's audio channel count when passing to DC
   fa81f6281879 drm/amd/display: We shouldn't set format_default on plane as atomic driver
   19f2fd88d999 drm/radeon: Don't turn off DP sink when disconnected
   5001c04d08bb drm/vmwgfx: Fix a destoy-while-held mutex problem.
   b7c3cc858b02 drm/vmwgfx: Fix black screen and device errors when running without fbdev
   f981611c4ae3 Revert "mm: page_alloc: skip over regions of invalid pfns where possible"
   d3d155da63b9 mm/shmem: do not wait for lock_page() in shmem_unused_huge_shrink()
   29c11d86b74f mm/thp: do not wait for lock_page() in deferred_split_scan()
   babe10f62b6b mm/khugepaged.c: convert VM_BUG_ON() to collapse fail
   63da3be586bb x86/mm: implement free pmd/pte page interfaces
   0454e2fad930 mm/vmalloc: add interfaces to free unmapped page table
   6104f7df1e22 h8300: remove extraneous __BIG_ENDIAN definition
   e0fdb5385c4b hugetlbfs: check for pgoff value overflow
   2800f9c188c7 media: tegra-cec: reset rx_buf_cnt when start bit detected
   0f44e9da465e nfsd: remove blocked locks on client teardown
   401c02d7c9b5 cgroup: fix rule checking for threaded mode switching
   6823e0efcb01 sched, cgroup: Don't reject lower cpu.max on ancestors
   aa0832d01611 libata: Modify quirks for MX100 to limit NCQ_TRIM quirk to MU01 version
   85fd780b26aa libata: Make Crucial BX100 500GB LPM quirk apply to all firmware versions
   a3121f28e584 libata: Apply NOLPM quirk to Crucial M500 480 and 960GB SSDs
   a51206d6a1c3 libata: Enable queued TRIM for Samsung SSD 860
   2cd5b672744b libata: disable LPM for Crucial BX100 SSD 500GB drive
   3c23829899da libata: Apply NOLPM quirk to Crucial MX100 512GB SSDs
   0f849a36c2c3 libata: don't try to pass through NCQ commands to non-NCQ devices
   25af1a9219d6 libata: remove WARN() for DMA or PIO command without data
   b679d0e7d685 libata: fix length validation of ATAPI-relayed SCSI commands
   7ec32f585fef Bluetooth: btusb: Fix quirk for Atheros 1525/QCA6174
   a7f0ce743bfe Bluetooth: btusb: Add Dell OptiPlex 3060 to btusb_needs_reset_resume_table
   ee1195515988 Bluetooth: btusb: Remove Yoga 920 from the btusb_needs_reset_resume_table
   6c927e37a857 pinctrl: samsung: Validate alias coming from DT
   98bb0e40fa7f Drivers: hv: vmbus: Fix ring buffer signaling
   8fe98b2177a9 RDMA/mlx5: Fix crash while accessing garbage pointer and freed memory
   808176cd9eeb clk: sunxi-ng: a31: Fix CLK_OUT_* clock ops
   c3c66b380218 clk: bcm2835: Protect sections updating shared registers
   318078995410 clk: bcm2835: Fix ana->maskX definitions
   cb5cfed66ebc lockdep: fix fs_reclaim warning
   b5f2a5c3c09c ahci: Add PCI-id for the Highpoint Rocketraid 644L card
   23a6254a4ddf PCI: Add function 1 DMA alias quirk for Highpoint RocketRAID 644L
   5b863a4deb8b mmc: dw_mmc: fix falling from idmac to PIO mode when dw_mci_reset occurs
   8049c2c413da mmc: dw_mmc: exynos: fix the suspend/resume issue for exynos5433
   b4a2de90aeb6 mmc: dw_mmc: Fix the DTO/CTO timeout overflow calculation for 32-bit systems
   40888f31f9cf mmc: block: fix updating ext_csd caches on ioctl call
   836b7527a839 mmc: core: Disable HPI for certain Micron (Numonyx) eMMC cards
   1e0ca4f53915 mmc: core: Fix tracepoint print of blk_addr and blksz
   b49428a00020 ALSA: hda/realtek - Always immediately update mute LED with pin VREF
   291bebca94a0 ALSA: hda/realtek - Fix Dell headset Mic can't record
   953434bdd33e ALSA: hda/realtek - Fix speaker no sound after system resume
   1082b81751dd ALSA: hda - Force polling mode on CFL for fixing codec communication
   33cc51d03b60 ALSA: aloop: Fix access to not-yet-ready substream via cable
   66ef51a5c402 ALSA: aloop: Sync stale timer before release
   771782b6fb94 ALSA: usb-audio: Fix parsing descriptor of UAC2 processing unit
   32e6d1ee98ab iio: adc: meson-saradc: unlock on error in meson_sar_adc_lock()
   e1db7d19c6fa iio: st_pressure: st_accel: pass correct platform data to init
   805a995cb8a3 iio: chemical: ccs811: Corrected firmware boot/application mode transition
   f047d3d7f86d MIPS: lantiq: ase: Enable MFD_SYSCON
   ea8cbb7cc71b MIPS: lantiq: Enable AHB Bus for USB
   6b26df694632 MIPS: lantiq: Fix Danube USB clock
   2dcbf520510c MIPS: ralink: Fix booting on MT7621
   fb43da3ac012 MIPS: ralink: Remove ralink_halt()

(From OE-Core rev: 7dd52d9e39109d8b24227163857595f17be16f4d)

(From OE-Core rev: aa9cf8f91431483dea7148ca7dd6d4ffae580334)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-02 11:41:25 +01:00
Bruce Ashfield
2ca0e6fddd linux-yocto/4.14: update to v4.14.30
Integrating the korg -stable releases for 4.14, which comprise the
following commits:

   fc72a4171174 Linux 4.14.40
   27f29dbceb3c tracing: Fix bad use of igrab in trace_uprobe.c
   d86aaca9cea2 irqchip/qcom: Fix check for spurious interrupts
   bd2088d1d77a platform/x86: asus-wireless: Fix NULL pointer dereference
   87fa7da673b4 usb: musb: trace: fix NULL pointer dereference in musb_g_tx()
   303e99bde8dc usb: musb: host: fix potential NULL pointer dereference
   ec6de93fab50 USB: serial: option: adding support for ublox R410M
   3f0c247910d0 USB: serial: option: reimplement interface masking
   0e548f5abae9 USB: Accept bulk endpoints with 1024-byte maxpacket
   425a02545d5e usb: dwc3: gadget: Fix list_del corruption in dwc3_ep_dequeue
   0cc49bb627ad USB: serial: visor: handle potential invalid device configuration
   0799a0ea96e4 errseq: Always report a writeback error once
   b4f6e858433e test_firmware: fix setting old custom fw path back on exit, second try
   43b3ba6ece54 drm/bridge: vga-dac: Fix edid memory leak
   df9703e7e72a drm/vmwgfx: Fix a buffer object leak
   758f3340b803 iw_cxgb4: Atomically flush per QP HW CQEs
   d7683a5c8c94 IB/hfi1: Fix NULL pointer dereference when invalid num_vls is used
   79181a45aa9a IB/hfi1: Fix loss of BECN with AHG
   7f185bc79bb9 IB/hfi1: Fix handling of FECN marked multicast packet
   b5ebbbc72671 IB/mlx5: Use unlimited rate when static rate is not supported
   a27293f2f6e1 NET: usb: qmi_wwan: add support for ublox R410M PID 0x90b2
   14ad51557092 RDMA/mlx5: Protect from shift operand overflow
   be855252ebce RDMA/mlx5: Fix multiple NULL-ptr deref errors in rereg_mr flow
   3ae1bf368135 RDMA/ucma: Allow resolving address w/o specifying source address
   38a65e753503 RDMA/cxgb4: release hw resources on device removal
   bd9ca962eeb0 xfs: prevent creating negative-sized file via INSERT_RANGE
   b68c7af0b2e7 rtlwifi: cleanup 8723be ant_sel definition
   fcd835be6c17 rtlwifi: btcoex: Add power_on_setting routine
   10579ed39e20 Input: atmel_mxt_ts - add touchpad button mapping for Samsung Chromebook Pro
   894937021946 Input: leds - fix out of bound access
   2c698f7b169a scsi: target: Fix fortify_panic kernel exception
   f4438b15755e tracepoint: Do not warn on ENOMEM
   bd0e2aec5686 ALSA: aloop: Add missing cable lock to ctl API callbacks
   4e3460ae33c6 ALSA: aloop: Mark paused device as inactive
   9581fff37b1a ALSA: dice: fix kernel NULL pointer dereference due to invalid calculation for array index
   dfe7f043bcfc ALSA: seq: Fix races at MIDI encoding in snd_virmidi_output_trigger()
   e5e9a770cec2 ALSA: pcm: Check PCM state at xfern compat ioctl
   5f6e6d063ac1 ALSA: hda - Fix incorrect usage of IS_REACHABLE()
   c1e76c30079d USB: serial: option: Add support for Quectel EP06
   c8a622ed9e53 ACPI / button: make module loadable when booted in non-ACPI mode
   63d9df9eb7a5 crypto: talitos - fix IPsec cipher in length
   e9caf1e1d5d4 percpu: include linux/sched.h for cond_resched()
   6a3c946b205f net: don't call update_pmtu unconditionally
   3a928a262c1c geneve: update skb dst pmtu on tx path
   7d6240f0fb85 Linux 4.14.39
   7fddff51f245 powerpc/eeh: Fix race with driver un/bind
   e5a290c4ff77 arm/arm64: KVM: Add PSCI version selection API
   a2066aa76a7a tick/sched: Do not mess with an enqueued hrtimer
   922e5129eb01 x86/microcode: Do not exit early from __reload_late()
   7c6bcaac737f x86/microcode/intel: Save microcode patch unconditionally
   b319531024d9 x86/smpboot: Don't use mwait_play_dead() on AMD systems
   ce911a5b1fea x86/ipc: Fix x32 version of shmid64_ds and msqid64_ds
   8e99c881e497 tools/lib/subcmd/pager.c: do not alias select() params
   d1f1f7771a6a objtool, perf: Fix GCC 8 -Wrestrict error
   bf1d7023c901 drm/i915: Enable display WA#1183 from its correct spot
   559121f5a165 drm/amdgpu: set COMPUTE_PGM_RSRC1 for SGPR/VGPR clearing shaders
   79340bda01ab rtc: opal: Fix OPAL RTC driver OPAL_BUSY loops
   20b0f757da3b cpufreq: powernv: Fix hardlockup due to synchronous smp_call in timer interrupt
   3a5465d0b61d earlycon: Use a pointer table to fix __earlycon_table stride
   9922fd0c681f fpga-manager: altera-ps-spi: preserve nCONFIG state
   7563d6f2be58 libceph: validate con->state at the top of try_write()
   c2bc3eb5599f libceph: reschedule a tick in finish_hunting()
   76f7b52b5bf0 libceph: un-backoff on tick when we have a authenticated session
   b02bbcce8ea3 ASoC: fsl_esai: Fix divisor calculation failure at lower ratio
   674d38ea1850 crypto: drbg - set freed buffers to NULL
   a32a944a60c8 powerpc/powernv/npu: Do a PID GPU TLB flush when invalidating a large address range
   f2acc8dc0644 powerpc/mm: Flush cache on memory hot(un)plug
   5a5ea3401799 KVM: arm/arm64: Close VMID generation race
   0ddb53a67cbd ARM: socfpga_defconfig: Remove QSPI Sector 4K size force
   f671ee8de31a ARM: amba: Don't read past the end of sysfs "driver_override" buffer
   23abff7b984f ARM: amba: Fix race condition with driver_override
   bcd73c772ec1 ARM: amba: Make driver_override output consistent with other buses
   1a6e0a900bce PCI: aardvark: Fix PCIe Max Read Request Size setting
   6b3751e249ff PCI: aardvark: Use ISR1 instead of ISR0 interrupt in legacy irq mode
   f0ae21a86eb5 PCI: aardvark: Set PIO_ADDR_LS correctly in advk_pcie_rd_conf()
   e90b89088a10 PCI: aardvark: Fix logic in advk_pcie_{rd,wr}_conf()
   fd0485e2cc7b ANDROID: binder: prevent transactions into own process.
   bddabeb71f3f vfio: ccw: process ssch with interrupts disabled
   be10336a9072 bfq-iosched: ensure to clear bic/bfqq pointers when preparing request
   b23b4174275d scsi: sd: Defer spinning up drive while SANITIZE is in progress
   a5f4276787d6 kobject: don't use WARN for registration failures
   6840b774dc4d mtd: rawnand: tango: Fix struct clk memory leak
   f69cd2d30a80 mtd: cfi: cmdset_0002: Do not allow read/write to suspend erase block.
   204e0761846b mtd: cfi: cmdset_0001: Workaround Micron Erase suspend bug.
   1de1ad0c2c42 mtd: cfi: cmdset_0001: Do not allow read/write to suspend erase block.
   6c677c5968aa mtd: spi-nor: cadence-quadspi: Fix page fault kernel panic
   3d4612bf62c8 ALSA: hda/realtek - change the location for one of two front mics
   53c4197a2d7e ALSA: hda/realtek - Update ALC255 depop optimize
   c9df23efe5cc ALSA: hda/realtek - Add some fixes for ALC233
   d680a34d82b6 ALSA: hda: Hardening for potential Spectre v1
   bda3aba8c0a1 ALSA: seq: oss: Hardening for potential Spectre v1
   4a52a2127240 ALSA: seq: oss: Fix unbalanced use lock for synth MIDI device
   30ddc329d562 ALSA: core: Report audio_tstamp in snd_pcm_sync_ptr
   00e0495d8327 ALSA: pcm: Return negative delays from SNDRV_PCM_IOCTL_DELAY.
   6ab1a94d17db ALSA: control: Hardening for potential Spectre v1
   9d57d45965dd ALSA: rme9652: Hardening for potential Spectre v1
   f8616ffbb78d ALSA: hdspm: Hardening for potential Spectre v1
   8f1705268fd2 ALSA: asihpi: Hardening for potential Spectre v1
   b67a05364e5d ALSA: opl3: Hardening for potential Spectre v1
   19baecfc1105 ALSA: hda - Skip jack and others for non-existing PCM streams
   d03fbe62e173 ALSA: dice: fix error path to destroy initialized stream data
   ba9c9886a40d ALSA: dice: fix OUI for TC group
   545906124041 tty: Use __GFP_NOFAIL for tty_ldisc_get()
   877f418171af tty: Avoid possible error pointer dereference at tty_ldisc_restore().
   6a50af86a62b tty: n_gsm: Fix DLCI handling for ADM mode if debug & 2 is not set
   6ba9a47d1fc5 tty: n_gsm: Fix long delays with control frame timeouts in ADM mode
   4854b9665c81 tty: Don't call panic() at tty_ldisc_init()
   c0ed8ece4ef3 drm/virtio: fix vq wait_event condition
   998d43ce034b virtio_console: reset on out of memory
   e9287108acce virtio_console: move removal code
   75fc6f2d39bf virtio_console: drop custom control queue cleanup
   6b1c41a0f718 virtio_console: free buffers after reset
   4217a339b37d virtio_console: don't tie bufs to a vq
   7ae93ff136a0 virtio: add ability to iterate over vqs
   cf7405f67543 ALSA: usb-audio: Skip broken EU on Dell dock USB-audio
   e6d2055ba32f USB: Increment wakeup count on remote wakeup.
   c59dc4d13519 usb: core: Add quirk for HP v222w 16GB Mini
   333909311d70 usb: typec: ucsi: Increase command completion timeout value
   f310eb70657e USB: serial: cp210x: add ID for NI USB serial console
   747120e77100 USB: serial: ftdi_sio: use jtag quirk for Arrow USB Blaster
   8f30aa32b716 USB: serial: simple: add libtransistor console
   0b932b1ca9da xhci: Fix USB ports for Dell Inspiron 5775
   64abd2428e54 Revert "xhci: plat: Register shutdown for xhci_plat"
   b792b1f7d01c usbip: vhci_hcd: check rhport before using in vhci_hub_control()
   4abe5b775a16 usbip: vhci_hcd: Fix usb device and sockfd leaks
   944edaf13dee usbip: usbip_host: fix to hold parent lock for device_attach() calls
   470bf16ae1ab usbip: usbip_event: fix to not print kernel pointer address
   76dbabb38a18 random: rate limit unseeded randomness warnings
   ffc5b50a2b53 random: fix possible sleeping allocation from irq context
   812b51a63000 random: set up the NUMA crng instances after the CRNG is fully initialized
   ae0db58dabe5 ext4: fix bitmap position validation
   b39430ea0687 ext4: add validity checks for bitmap block numbers
   55cc3bb0a6c7 ext4: add MODULE_SOFTDEP to ensure crc32c is included in the initramfs
   4a3674acbf8b ext4: set h_journal if there is a failure starting a reserved handle
   1a538cb0879d ext4: prevent right-shifting extents beyond EXT_MAX_BLOCKS
   a87463f7420c Linux 4.14.38
   3e4915873cff ACPI / video: Only default only_lcd to true on Win8-ready _desktops_
   c371fe019001 s390/uprobes: implement arch_uretprobe_is_alive()
   5dad51054d8a s390/dasd: fix IO error for newly defined devices
   3b5c2e1d163a s390/cio: update chpid descriptor after resource accessibility event
   a75bf6f71744 tracing: Fix missing tab for hwlat_detector print format
   d82923c017de block/swim: Fix IO error at end of medium
   06dc2e919593 block/swim: Fix array bounds check
   8c37ac3c04e7 block/swim: Select appropriate drive on device open
   cdb0d5fa2528 block/swim: Rename macros to avoid inconsistent inverted logic
   f359e87feb88 block/swim: Remove extra put_disk() call from error path
   b7100feb26d2 block/swim: Don't log an error message for an invalid ioctl
   0dd9146a2291 block/swim: Check drive type
   43f8a4f2c8b2 m68k/mac: Don't remap SWIM MMIO region
   75b98294e09a fsnotify: Fix fsnotify_mark_connector race
   68c09d548bfc cdrom: information leak in cdrom_ioctl_media_changed()
   f4df47e36ac0 scsi: mptsas: Disable WRITE SAME
   77df079be9b4 commoncap: Handle memory allocation failure.
   540e7b5be492 Revert "mm/hmm: fix header file if/else/endif maze"
   a252b9732243 arm64: dts: rockchip: remove vdd_log from rk3399-puma
   fcc347bc1e34 microblaze: Setup dependencies for ASM optimized lib functions
   5787b55b5019 s390: correct module section names for expoline code revert
   f836b34fb056 s390: correct nospec auto detection init order
   fce1bf054f0b s390: add sysfs attributes for spectre
   68cb884e1228 s390: report spectre mitigation via syslog
   719b84c9aec2 s390: add automatic detection of the spectre defense
   ea1bbd53f055 s390: move nobp parameter functions to nospec-branch.c
   6cdc4b21d219 s390/entry.S: fix spurious zeroing of r0
   74a93ae5c328 s390: do not bypass BPENTER for interrupt system calls
   6288e169a25e s390: Replace IS_ENABLED(EXPOLINE_*) with IS_ENABLED(CONFIG_EXPOLINE_*)
   1d966a6aded3 KVM: s390: force bp isolation for VSIE
   b609eb65f315 s390: introduce execute-trampolines for branches
   0bd4c47c2026 s390: run user space and KVM guests with modified branch prediction
   43cccd87c184 s390: add options to change branch prediction behaviour for the kernel
   c257f81b6d45 s390/alternative: use a copy of the facility bit mask
   2ae89b86a77f s390: add optimized array_index_mask_nospec
   2ae8b68382ce s390: scrub registers on kernel entry and KVM exit
   ea5566fecd03 KVM: s390: wire up bpb feature
   37e79747128b s390: enable CPU alternatives unconditionally
   b44533a06fd8 s390: introduce CPU alternatives
   55c80adf0d0e virtio_net: fix adding vids on big-endian
   d86aacaaf9d2 virtio_net: split out ctrl buffer
   16c36a2c7632 net: ethernet: ti: cpsw: fix tx vlan priority mapping
   7814c479de7a llc: fix NULL pointer deref for SOCK_ZAPPED
   543a60112f01 llc: hold llc_sap before release_sock()
   4c2c574cf6ed net: sched: ife: check on metadata length
   388f3d9708fc net: sched: ife: handle malformed tlv length
   75020d6319ee tcp: clear tp->packets_out when purging write queue
   da499024f6fe net: sched: ife: signal not finding metaid
   2f781ebfb08f strparser: Fix incorrect strp->need_bytes value.
   109feb04c851 amd-xgbe: Only use the SFP supported transceiver signals
   9a66123182a6 strparser: Do not call mod_delayed_work with a timeout of LONG_MAX
   346ba2f22107 amd-xgbe: Improve KR auto-negotiation and training
   29b623b60549 sctp: do not check port in sctp_inet6_cmp_addr
   f42036e8051e amd-xgbe: Add pre/post auto-negotiation phy hooks
   dd997151740f vlan: Fix reading memory beyond skb->tail in skb_vlan_tagged_multi
   88b7895e7c6d pppoe: check sockaddr length in pppoe_connect()
   ed2ba25f6d50 tipc: add policy for TIPC_NLA_NET_ADDR
   6da813d79cfa packet: fix bitfield update race
   70a615d7daa0 team: fix netconsole setup over team
   07cb0b54d7d9 net/smc: fix shutdown in state SMC_LISTEN
   7b4f4d759c8e team: avoid adding twice the same option to the event list
   012e5e5b6991 net: fix deadlock while clearing neighbor proxy table
   d5387e66388f tcp: md5: reject TCP_MD5SIG or TCP_MD5SIG_EXT on established sockets
   7c2352520e51 net: af_packet: fix race in PACKET_{R|T}X_RING
   b76d3f3309cf tcp: don't read out-of-bounds opsize
   cb225e80c9a3 llc: delete timers synchronously in llc_sk_free()
   15efa783286c net: validate attribute sizes in neigh_dump_table()
   dbf57fd1e05e l2tp: check sockaddr length in pppol2tp_connect()
   c7a936b1dd0f KEYS: DNS: limit the length of option strings
   a370d8a3aaf2 ipv6: sr: fix NULL pointer dereference in seg6_do_srh_encap()- v4 pkts
   8d34c6773459 ipv6: add RTA_TABLE and RTA_PREFSRC to rtm_ipv6_policy
   e0286ea0846c bonding: do not set slave_dev npinfo before slave_enable_netpoll in bond_enslave
   5f50186dd810 Revert "ath10k: send (re)assoc peer command when NSS changed"
   781eeb7af2bd tpm: add retry logic
   f6891ec29c59 tpm: tpm-interface: fix tpm_transmit/_cmd kdoc
   ac5881b7814d tpm: cmd_ready command can be issued only after granting locality
   3b38734ed9fe i40e: Fix attach VF to VM issue
   00c54b354411 drm: bridge: dw-hdmi: Fix overflow workaround for Amlogic Meson GX SoCs
   94c0308279ec Revert "pinctrl: intel: Initialize GPIO properly when used through irqchip"
   753be7e83bb8 Linux 4.14.37
   f606893fbbc6 mac80211_hwsim: fix use-after-free bug in hwsim_exit_net
   679833ea1822 Revert "KVM: X86: Fix SMRAM accessing even if VM is shutdown"
   75dceb6872b3 RDMA/mlx5: Fix NULL dereference while accessing XRC_TGT QPs
   01e71c218219 perf: Return proper values for user stack errors
   66038084560d perf: Fix sample_max_stack maximum check
   5bcf16944454 netfilter: x_tables: limit allocation requests for blob rule heads
   764f2162d97a netfilter: compat: reject huge allocation requests
   8d92d5336539 netfilter: compat: prepare xt_compat_init_offsets to return errors
   82b68ecde5d0 netfilter: x_tables: add counters allocation wrapper
   fab0b3ce67a5 netfilter: x_tables: cap allocations at 512 mbyte
   89f3232c394e alarmtimer: Init nanosleep alarm timer on stack
   76cd54fa70ce RDMA/core: Reduce poll batch for direct cq polling
   de16dfcc510d irqchip/gic-v3: Change pr_debug message to pr_devel
   4032cd4fd3ae cpumask: Make for_each_cpu_wrap() available on UP as well
   c834b955d3f0 irqchip/gic-v3: Ignore disabled ITS nodes
   2d8d8d23c485 perf test: Fix test trace+probe_libc_inet_pton.sh for s390x
   74cd9414788c powerpc/powernv: IMC fix out of bounds memory access at shutdown
   c74e004c6273 locking/qspinlock: Ensure node->count is updated before initialising node
   5350cb0111d2 x86/platform/UV: Fix GAM Range Table entries less than 1GB
   288b373264c5 powerpc/mm/hash64: Zero PGD pages on allocation
   f4d6e4598a29 vfs/proc/kcore, x86/mm/kcore: Fix SMAP fault when dumping vsyscall user page
   c064b7c1d203 PM / wakeirq: Fix unbalanced IRQ enable for wakeirq
   afa0ce071488 ACPI / EC: Restore polling during noirq suspend/resume phases
   85bd5c686fe9 bpf: fix rlimit in reuseport net selftest
   ee5fe4bdcf2a net: stmmac: discard disabled flags in interrupt status register
   26bebd5a7865 SUNRPC: Don't call __UDPX_INC_STATS() from a preemptible context
   f58e4ecb9b2e KVM: PPC: Book3S HV: Fix handling of secondary HPTEG in HPT resizing code
   d6b00490a04d tools/libbpf: handle issues with bpf ELF objects containing .eh_frames
   327aac8ccbc5 net: Extra '_get' in declaration of arch_get_platform_mac_address
   0b1fa241dd86 svcrdma: Fix Read chunk round-up
   e781fff7b78f rxrpc: Don't put crypto buffers on the stack
   c5ce9e5b57cc selftests/ftrace: Add some missing glob checks
   ae9c78af577f cpufreq: intel_pstate: Enable HWP during system resume on CPU0
   c4c9fd55899f bcache: return attach error when no cache set exist
   4c8e0270dc7a bcache: fix for data collapse after re-attaching an attached device
   311e31419b72 bcache: fix for allocator and register thread race
   f89edd17aff4 bcache: properly set task state in bch_writeback_thread()
   05921c492fdb cifs: silence compiler warnings showing up with gcc-8.0.0
   4b95781cb6f3 PM / domains: Fix up domain-idle-states OF parsing
   05e52e5bd103 proc: fix /proc/*/map_files lookup
   4ec317a41d80 arm64: spinlock: Fix theoretical trylock() A-B-A with LSE atomics
   693b9589c297 RDS: IB: Fix null pointer issue
   a8e7a4e24374 bpf: sockmap, fix leaking maps with attached but not detached progs
   05c062c3685e xen/grant-table: Use put_page instead of free_page
   70f3461c23ff xen-netfront: Fix race between device setup and open
   2f79b5e52d46 perf evsel: Fix period/freq terms setup
   b1f9f9fb3f99 MIPS: Generic: Support GIC in EIC mode
   76e3ea2f9563 perf record: Fix period option handling
   f938c2acc829 MIPS: TXx9: use IS_BUILTIN() for CONFIG_LEDS_CLASS
   3e01c16d8751 bpf: fix selftests/bpf test_kmod.sh failure when CONFIG_BPF_JIT_ALWAYS_ON=y
   74abca65f1e4 ACPI / scan: Use acpi_bus_get_status() to initialize ACPI_TYPE_DEVICE devs
   f920e914801c ACPI / bus: Do not call _STA on battery devices with unmet dependencies
   51939996acde ACPI: processor_perflib: Do not send _PPC change notification if not ready
   573cb560b4ed firmware: dmi_scan: Fix handling of empty DMI strings
   ee06ed9ba518 x86/dumpstack: Avoid uninitlized variable
   423505471f5e x86/power: Fix swsusp_arch_resume prototype
   074372c8124c netfilter: ipv6: nf_defrag: Kill frag queue on RFC2460 failure
   2cd5100363b7 s390/eadm: fix CONFIG_BLOCK include dependency
   eb41efa13865 drm/nouveau/pmu/fuc: don't use movw directly anymore
   fd370b8e65e3 IB/core: Map iWarp AH type to undefined in rdma_ah_find_type
   f63bb02694f0 IB/ipoib: Fix for potential no-carrier state
   8f96d408a954 IB/hfi1: Fix for potential refcount leak in hfi1_open_file()
   5ceae7690f0d IB/hfi1: Re-order IRQ cleanup to address driver cleanup race
   73027d80d67e blk-mq: fix discard merge with scheduler attached
   6eddea4ba5cc openvswitch: Remove padding from packet before L3+ conntrack processing
   3b1d9626fc58 mm/fadvise: discard partial page if endbyte is also EOF
   1f9c87e25158 mm: pin address_space before dereferencing it while isolating an LRU page
   8054b87fccd4 mm: thp: use down_read_trylock() in khugepaged to avoid long block
   6acb8818eff4 sparc64: update pmdp_invalidate() to return old pmd value
   78185a93d42d asm-generic: provide generic_pmdp_establish()
   305e56756da7 mm/mempolicy: add nodes_empty check in SYSC_migrate_pages
   6cab60ac6a0a mm/mempolicy: fix the check of nodemask from user
   a7fbc7f3134a ocfs2: return error when we attempt to access a dirty bh in jbd2
   a66174eb4a14 ocfs2/acl: use 'ip_xattr_sem' to protect getting extended attribute
   66aaeed2796e ocfs2: return -EROFS to mount.ocfs2 if inode block is invalid
   710b5124aac6 fs/dax.c: release PMD lock even when there is no PMD support in DAX
   cc0600dae30f x86/kvm/vmx: do not use vm-exit instruction length for fast MMIO when running nested
   d757c3a9cf4a kvm: Map PFN-type memory regions as writable (if possible)
   a6a25002e6d8 tcp_nv: fix potential integer overflow in tcpnv_acked
   ad10785a706e netfilter: x_tables: fix pointer leaks to userspace
   2b7cc93682ac x86/hyperv: Check for required priviliges in hyperv_init()
   cdf635a66c5b gianfar: prevent integer wrapping in the rx handler
   67fa8bfff771 ntb_transport: Fix bug with max_mw_size parameter
   d810c548157f RDMA/mlx5: Avoid memory leak in case of XRCD dealloc failure
   0bddd43ac200 powerpc/numa: Ensure nodes initialized for hotplug
   0caebc381032 powerpc/numa: Use ibm,max-associativity-domains to discover possible nodes
   b086dd2d79d9 samples/bpf: Partially fixes the bpf.o build
   64e5e46cdd8b i40e: fix reported mask for ntuple filters
   1ec85fe4e259 i40e: program fragmented IPv4 filter input set
   7addb3e4ad3d ixgbe: don't set RXDCTL.RLPML for 82599
   27eb641f2368 jffs2: Fix use-after-free bug in jffs2_iget()'s error handling path
   19b3638ce460 RDMA/uverbs: Use an unambiguous errno for method not supported
   827aab45cb16 crypto: artpec6 - remove select on non-existing CRYPTO_SHA384
   592ea370bf1c device property: Define type of PROPERTY_ENRTY_*() macros
   c5fda2b8610b tty: serial: exar: Relocate sleep wake-up handling
   519a7119527c x86/hyperv: Stop suppressing X86_FEATURE_PCID
   9a1dda252663 fm10k: fix "failed to kill vid" message for VF
   0e7a0c139cbf igb: Clear TXSTMP when ptp_tx_work() is timeout
   187bf28199d8 igb: Allow to remove administratively set MAC on VFs
   048af64fd48f ASoC: rockchip: Use dummy_dai for rt5514 dsp dailink
   f25ba4f6be4a blk-mq-debugfs: don't allow write on attributes with seq_operations set
   a42ebbdae0a5 KVM: s390: vsie: use READ_ONCE to access some SCB fields
   48d441324a58 platform/x86: thinkpad_acpi: suppress warning about palm detection
   b9d78055c6ae i40evf: ignore link up if not running
   09f6d65db13b i40evf: Don't schedule reset_task when device is being removed
   7c7ae4ed2fcd bpf: test_maps: cleanup sockmaps when test ends
   c6c6e38aeff2 block: Set BIO_TRACE_COMPLETION on new bio during split
   f2e73df302f3 nfp: fix error return code in nfp_pci_probe()
   8591958413bf HID: roccat: prevent an out of bounds read in kovaplus_profile_activated()
   6a5505da41fa Input: stmfts - set IRQ_NOAUTOEN to the irq flag
   8afed2798e50 scsi: fas216: fix sense buffer initialization
   800fda575b11 scsi: devinfo: fix format of the device list
   a09881cfb713 f2fs: avoid hungtask when GC encrypted block if io_bits is set
   889177d172d3 RDMA/cma: Check existence of netdevice during port validation
   48b8839d91a4 Btrfs: raid56: fix race between merge_bio and rbio_orig_end_io
   ebe064401f07 Btrfs: fix unexpected EEXIST from btrfs_get_extent
   c231cec825a9 btrfs: fail mount when sb flag is not in BTRFS_SUPER_FLAG_SUPP
   d91bb7c6988b Btrfs: fix scrub to repair raid6 corruption
   db6d651eccde btrfs: Fix out of bounds access in btrfs_search_slot
   a4909c8518f7 Btrfs: set plug for fsync
   fb5d97a19fc3 ipmi/powernv: Fix error return code in ipmi_powernv_probe()
   afadc440a1cc mac80211_hwsim: fix possible memory leak in hwsim_new_radio_nl()
   18004e6f26ec kconfig: Fix expr_free() E_NOT leak
   0f511f3dda8c kconfig: Fix automatic menu creation mem leak
   8bf116b258c2 kconfig: Don't leak main menus during parsing
   9f2df99f9eb0 watchdog: sp5100_tco: Fix watchdog disable bit
   ebf5ffca1bf2 PCI: Add dummy pci_irqd_intx_xlate() for CONFIG_PCI=n build
   c212c855a09d MIPS: Fix clean of vmlinuz.{32,ecoff,bin,srec}
   81fbb7e26ea1 nfs: Do not convert nfs_idmap_cache_timeout to jiffies
   35ceddc59cd4 IB/cq: Don't force IB_POLL_DIRECT poll context for ib_process_cq_direct
   58bc0fd8434d spi: a3700: Clear DATA_OUT when performing a read
   5bb5b9c68192 net: stmmac: dwmac-meson8b: propagate rate changes to the parent clock
   5bfa11c96192 net: stmmac: dwmac-meson8b: fix setting the RGMII TX clock on Meson8b
   2a71a742f09b ubifs: Fix uninitialized variable in search_dh_cookie()
   a1dfcb01e374 blk-mq: turn WARN_ON in __blk_mq_run_hw_queue into printk
   2e102fe86ede dm mpath: return DM_MAPIO_REQUEUE on blk-mq rq allocation failure
   223ed638e937 dm thin: fix documentation relative to low water mark threshold
   e9c8a5fa078c iommu/vt-d: Use domain instead of cache fetching
   6ec6bd8ec2e3 powerpc: System reset avoid interleaving oops using die synchronisation
   bc5fddf315f8 iommu/exynos: Don't unconditionally steal bus ops
   77d17d0e8934 perf record: Fix failed memory allocation for get_cpuid_str
   1fe5e88c389a tools lib traceevent: Fix get_field_str() for dynamic strings
   4e63115b6b9d perf callchain: Fix attr.sample_max_stack setting
   448bcd67b4c5 tools lib traceevent: Simplify pointer print logic and fix %pF
   0eda4d03ef4c perf unwind: Do not look just at the global callchain_param.record_mode
   f3a7d11834f3 scsi: qla2xxx: Fix warning in qla2x00_async_iocb_timeout()
   f3ce194cae63 i40iw: Zero-out consumer key on allocate stag for FMR
   b3b2ca24d9f7 i40iw: Free IEQ resources
   0d5ef8956c84 Input: synaptics - reset the ABS_X/Y fuzz after initializing MT axes
   0d9a46ae3204 libbpf: Makefile set specified permission mode
   d925c3087422 Input: psmouse - fix Synaptics detection when protocol is disabled
   03fdc4ef7a67 PCI: Add function 1 DMA alias quirk for Marvell 9128
   c45ab4fb384c selftest: ftrace: Fix to pick text symbols for kprobes
   342d9092a501 xprtrdma: Fix backchannel allocation of extra rpcrdma_reps
   79f2ced39657 platform/x86: dell-laptop: Filter out spurious keyboard backlight change events
   80bd91ab9ad8 KVM: s390: use created_vcpus in more places
   a5a8ca753c0c tracing/hrtimer: Fix tracing bugs by taking all clock bases and modes into account
   e0a1cec3db0a netfilter: ipv6: nf_defrag: Pass on packets to stack per RFC2460
   ddf09f2a0896 KVM: PPC: Book3S HV: Enable migration of decrementer register
   b7b27e19e374 RDMA/core: Clarify rdma_ah_find_type
   8e40eae185f8 kvm: x86: fix KVM_XEN_HVM_CONFIG ioctl
   3f3017fa1540 ASoC: au1x: Fix timeout tests in au1xac97c_ac97_read()
   d3222cfc0b58 ALSA: hda - Use IS_REACHABLE() for dependency on input
   4e7284b34c78 ACPI / LPSS: Do not instiate platform_dev for devs without MMIO resources
   7a420b5d95a5 NFSv4: always set NFS_LOCK_LOST when a lock is lost.
   239c948e3266 x86/tsc: Allow TSC calibration without PIT
   4a5d70332d57 firewire-ohci: work around oversized DMA reads on JMicron controllers
   1f52b0c64215 usb: musb: Fix external abort in musb_remove on omap2430
   de4c4914cce2 usb: musb: call pm_runtime_{get,put}_sync before reading vbus registers
   43de32cdf0f4 usb: musb: fix enumeration after resume
   829239740c12 drm/i915/bxt, glk: Increase PCODE timeouts during CDCLK freq changing
   5c825627d4e5 drm/i915: Fix LSPCON TMDS output buffer enabling from low-power state
   6312eff3c70e drm/i915: Do no use kfree() to free a kmem_cache_alloc() return value
   8e0489cf4d09 drm/i915/audio: Fix audio detection issue on GLK
   c53f225fd792 drm/i915/gvt: throw error on unhandled vfio ioctls
   325abf3db041 drm/vc4: Fix memory leak during BO teardown
   08641a24d4e7 x86/tsc: Prevent 32bit truncation in calc_hpet_ref()
   c6aaaaa4d62a clocksource/imx-tpm: Correct -ETIME return condition check
   b8d4055372b5 x86/acpi: Prevent X2APIC id 0xffffffff from being accounted
   f6edc45e21c3 btrfs: fix unaligned access in readdir
   240a52868485 cifs: do not allow creating sockets except with SMB1 posix exensions
   d6949f48093c Linux 4.14.36
   7c9b87a78a17 writeback: safer lock nesting
   071ff203d962 media: staging: lirc_zilog: incorrect reference counting
   e7a08ffb2d89 Revert "media: lirc_zilog: driver only sends LIRCCODE"
   8caa4c5fde76 iwlwifi: add a bunch of new 9000 PCI IDs
   0c61952c3d19 iwlwifi: add shared clock PHY config flag for some devices
   30593709f80d net: dsa: Discard frames from unused ports
   90a32d1f0ec9 mm/filemap.c: fix NULL pointer in page_cache_tree_insert()
   5e7575c6690a autofs: mount point create should honour passed in mode
   d4d49cb1c20a Don't leak MNT_INTERNAL away from internal mounts
   085125572a45 rpc_pipefs: fix double-dput()
   0bb4a6f2ff1a orangefs_kill_sb(): deal with allocation failures
   bb5def77d0a1 hypfs_kill_super(): deal with failed allocations
   c780ac96e120 jffs2_kill_sb(): deal with failed allocations
   22ec5ee71086 drm/i915: Correctly handle limited range YCbCr data on VLV/CHV
   4bddb1209a6d mmc: sdhci-pci: Only do AMD tuning for HS200
   28f46dee49d3 fanotify: fix logic of events on child
   a2a9d0190f99 udf: Fix leak of UTF-16 surrogates into encoded strings
   f86815184c47 powerpc/lib: Fix off-by-one in alternate feature patching
   ce3b0b0589a8 powerpc/xive: Fix trying to "push" an already active pool VP
   49a52f7d9274 powerpc/eeh: Fix enabling bridge MMIO windows
   a5f6e787b9b0 MIPS: memset.S: Fix clobber of v1 in last_fixup
   6da34ca1ca3e MIPS: memset.S: Fix return of __clear_user from Lpartial_fixup
   7b34760dc682 MIPS: memset.S: EVA & fault support for small_memset
   23f5562852b9 MIPS: uaccess: Add micromips clobbers to bzero invocation
   1da964d421da HID: wacom: bluetooth: send exit report for recent Bluetooth devices
   0e159a9e1823 HID: hidraw: Fix crash on HIDIOCGFEATURE with a destroyed device
   27840bc4ebb2 HID: input: fix battery level reporting on BT mice
   90936d903c2f random: add new ioctl RNDRESEEDCRNG
   d152fcc17314 random: crng_reseed() should lock the crng instance that it is modifying
   7b6b1f3a1923 random: use a different mixing algorithm for add_device_randomness()
   6e513bc20ca6 random: fix crng_ready() test
   8036cdaa1b13 ALSA: hda/realtek - adjust the location of one mic
   adc02ac60919 ALSA: hda/realtek - set PINCFG_HEADSET_MIC to parse_flags
   11e9bed2b971 ALSA: hda - New VIA controller suppor no-snoop path
   fcf38cf55e28 ALSA: rawmidi: Fix missing input substream checks in compat ioctls
   43b3e7915edd ALSA: line6: Use correct endpoint type for midi output
   bdc6f4c3db08 drm/radeon: Fix PCIe lane width calculation
   110b72d9351f drm/radeon: add PX quirk for Asus K73TK
   791469d6b882 drm/rockchip: Clear all interrupts before requesting the IRQ
   f188464e3d54 drm/amdgpu/si: implement get/set pcie_lanes asic callback
   f056e3339741 drm/amdgpu: Fix PCIe lane width calculation
   57e56826611a drm/amdgpu/sdma: fix mask in emit_pipeline_sync
   c73d9e350085 drm/amdgpu: Fix always_valid bos multiple LRU insertions.
   674b6963cec2 drm/amdgpu: Add an ATPX quirk for hybrid laptop
   312d02879f9f ALSA: pcm: Fix endless loop for XRUN recovery in OSS emulation
   157113cb7c89 ALSA: pcm: Fix mutex unbalance in OSS emulation ioctls
   048747b04842 ALSA: pcm: Return -EBUSY for OSS ioctls changing busy streams
   bd889a82fb01 ALSA: pcm: Avoid potential races between OSS ioctls and read/write
   4d2ea307ffa1 ALSA: pcm: Use ERESTARTSYS instead of EINTR in OSS emulation
   2ccdea040e81 vfio/pci: Virtualize Maximum Read Request Size
   23a63d96e015 watchdog: f71808e_wdt: Fix WD_EN register read
   28fe0fba29f2 dt-bindings: clock: mediatek: add binding for fixed-factor clock axisel_d4
   ecb67e92d42e thermal: imx: Fix race condition in imx_thermal_probe()
   c9b200ce2be5 pwm: rcar: Fix a condition to prevent mismatch value setting to duty
   ff18ffb1f81d clk: bcm2835: De-assert/assert PLL reset signal when appropriate
   dc7a428ae26f clk: mediatek: fix PWM clock source by adding a fixed-factor clock
   d8b6fdbe513d clk: fix false-positive Wmaybe-uninitialized warning
   37d8947c0b07 clk: mvebu: armada-38x: add support for missing clocks
   f13b4a61989f PCI: Mark Broadcom HT1100 and HT2000 Root Port Extended Tags as broken
   4b684fbbc58e mmc: tmio: Fix error handling when issuing CMD23
   e5e2841e20ff mmc: jz4740: Fix race condition in IRQ mask update
   180d28f824ce iommu/vt-d: Fix a potential memory leak
   5a999c2bef68 um: Use POSIX ucontext_t instead of struct ucontext
   f57f3f346d05 um: Compile with modern headers
   dc0f00327452 ring-buffer: Check if memory is available before allocation
   4171ea2471a1 nfit: skip region registration for incomplete control regions
   5520091356b0 nfit, address-range-scrub: fix scrub in-progress reporting
   b68b77c935dd libnvdimm, namespace: use a safe lookup for dimm device name
   45980ba59916 libnvdimm, dimm: fix dpa reservation vs uninitialized label area
   a43d8e0ee79d tpm: self test failure should not cause suspend to fail
   c1edd3b19f30 cxl: Fix possible deadlock when processing page faults from cxllib
   156b45ed2207 dmaengine: at_xdmac: fix rare residue corruption
   e99ca1ee070d IB/srp: Fix completion vector assignment algorithm
   fe71b03e6983 IB/srp: Fix srp_abort()
   0bb5579128e6 ALSA: pcm: Fix UAF at PCM release via PCM timer access
   d3b14a66e14b RDMA/rxe: Fix an out-of-bounds read
   28ce82e3c8b1 RDMA/mlx5: Protect from NULL pointer derefence
   b140d9468870 RDMA/ucma: Don't allow setting RDMA_OPTION_IB_PATH without an RDMA device
   79fbd052ea63 dm crypt: limit the number of allocated pages
   e7793f2a2ac8 ext4: add extra checks to ext4_xattr_block_get()
   9703952178f1 ext4: add bounds checking to ext4_xattr_find_entry()
   598e04ae2fc4 ext4: move call to ext4_error() into ext4_xattr_check_block()
   b2623d816656 ext4: don't allow r/w mounts if metadata blocks overlap the superblock
   26dbb30c58ff ext4: always initialize the crc32c checksum driver
   8e0e94683f84 ext4: fail ext4_iget for root directory if unallocated
   a57eb14b740e ext4: limit xattr size to INT_MAX
   5058b70d2118 ext4: protect i_disksize update by i_data_sem in direct write path
   bd499f553849 ext4: don't update checksum of new initialized bitmaps
   73297f13a003 ext4: pass -ESHUTDOWN code to jbd2 layer
   09439481998a ext4: eliminate sleep from shutdown ioctl
   7ebcea259682 ext4: shutdown should not prevent get_write_access
   867175f94485 jbd2: if the journal is aborted then don't allow update of the log tail
   6151a5a45fc4 block: use 32-bit blk_status_t on Alpha
   7044bf9ef6c8 extcon: intel-cht-wc: Set direction and drv flags for V5 boost GPIO
   b0afd9d1cb5a random: use a tighter cap in credit_entropy_bits_safe()
   439e8b2dcab1 irqchip/gic: Take lock when updating irq type
   283637785763 thunderbolt: Prevent crash when ICM firmware is not running
   5ae695df59e1 thunderbolt: Resume control channel after hibernation image is created
   7a4a66c504fb thunderbolt: Serialize PCIe tunnel creation with PCI rescan
   6f40f6ee22b9 thunderbolt: Wait a bit longer for ICM to authenticate the active NVM
   73b969f6a920 ASoC: topology: Fix kcontrol name string handling
   7e23ef535073 ASoC: ssm2602: Replace reg_default_raw with reg_default
   1b3d2e7a3409 soc: mediatek: fix the mistaken pointer accessed when subdomains are added
   3f306336cdee HID: core: Fix size as type u32
   f671ac7a5317 HID: Fix hid_report_len usage
   25b6ee378dc4 powerpc/powernv: Fix OPAL NVRAM driver OPAL_BUSY loops
   7c854f2e1ff0 powerpc/powernv: define a standard delay for OPAL_BUSY type retry loops
   a55d2c9d42f9 powerpc/kexec_file: Fix error code when trying to load kdump kernel
   fa99a3470e91 powerpc/kprobes: Fix call trace due to incorrect preempt count
   3df05fcf8911 powerpc/64: Fix smp_wmb barrier definition use use lwsync consistently
   1699bd03742d powerpc/64: Call H_REGISTER_PROC_TBL when running as a HPT guest on POWER9
   f4eff13a2780 powerpc/64s: Fix dt_cpu_ftrs to have restore_cpu clear unwanted LPCR bits
   c3baeca67d85 powerpc/powernv: Handle unknown OPAL errors in opal_nvram_write()
   693b03f9b185 CIFS: fix sha512 check in cifs_crypto_secmech_release
   7a55d160b730 CIFS: add sha512 secmech
   0910e2804f2e CIFS: refactor crypto shash/sdesc allocation&free
   fd5cc02cbef9 i2c: i801: Restore configuration at shutdown
   44ff2389a840 i2c: i801: Save register SMBSLVCMD value only once
   d6b3a5c87d45 HID: i2c-hid: fix size check and type usage
   70dbed63a96d smb3: Fix root directory when server returns inode number of zero
   bf895b2a637d fix smb3-encryption breakage when CONFIG_DEBUG_SG=y
   fdbd79540520 cifs: fix memory leak in SMB2_open()
   59d3a952e4f3 usb: dwc3: gadget: never call ->complete() from ->ep_queue()
   093dcb929c8e usb: dwc3: pci: Properly cleanup resource
   30e9a1cddc4d usb: dwc3: prevent setting PRTCAP to OTG from debugfs
   f7f9187a110e USB:fix USB3 devices behind USB3 hubs not resuming at hibernate thaw
   96dc465173a1 USB: gadget: f_midi: fixing a possible double-free in f_midi
   a2b540651d8c ACPI / hotplug / PCI: Check presence of slot itself in get_slot_status()
   d6e98387b2e9 ACPI / video: Add quirk to force acpi-video backlight on Samsung 670Z5E
   3dac1fe2719d regmap: Fix reversed bounds check in regmap_raw_write()
   666d1084c13d xen-netfront: Fix hang on device removal
   e7b00dc28275 x86/xen: Delay get_cpu_cap until stack canary is established
   fcd054c733cf media: vsp1: Fix BRx conditional path in WPF
   2fb28b075f80 media: vivid: check if the cec_adapter is valid
   9864a1ef8679 media: atomisp_fops.c: disable atomisp_compat_ioctl32
   9629964f032c spi: Fix unregistration of controller with fixed SPI bus number
   e4ff723039dc spi: Fix scatterlist elements size in spi_map_buf
   faddb17685f9 spi: atmel: init FIFOs before spi enable
   38866e866121 ARM: dts: at91: sama5d4: fix pinctrl compatible string
   c57b7e1a150e ARM: dts: exynos: Fix IOMMU support for GScaler devices on Exynos5250
   838ea3802e9d ARM: dts: at91: at91sam9g25: fix mux-mask pinctrl property
   958d6e41888f arm: dts: mt7623: fix USB initialization fails on bananapi-r2
   2106cd34635e ARM: EXYNOS: Fix coupled CPU idle freeze on Exynos4210
   326e61ce9761 ARM: dts: da850-lego-ev3: Fix battery voltage gpio
   8f1a2803e4c2 KVM: arm/arm64: vgic-its: Fix potential overrun in vgic_copy_lpi_list
   8fdbba69cb34 ARM64: dts: meson: reduce odroid-c2 eMMC maximum rate
   7732495c599c usb: gadget: udc: core: update usb_ep_queue() documentation
   aea6c0b4aee8 phy: allwinner: sun4i-usb: poll vbus changes on A23/A33 when driving VBUS
   334d8f201ef5 usb: musb: gadget: misplaced out of bounds check
   20eaa393fcd3 mm, slab: reschedule cache_reap() on the same CPU
   703eee654360 ipc/shm: fix use-after-free of shm file via remap_file_pages()
   c25ef6220fac resource: fix integer overflow at reallocation
   f659e7e79f52 fs/reiserfs/journal.c: add missing resierfs_warning() arg
   6337067b2ab6 task_struct: only use anon struct under randstruct plugin
   28cb085f1598 mm/hmm: hmm_pfns_bad() was accessing wrong struct
   963722d031e5 mm/hmm: fix header file if/else/endif maze
   e84e6914ccb4 mm/ksm.c: fix inconsistent accounting of zero pages
   577b4eb23811 ubi: Reject MLC NAND
   7ade852714de ubi: Fix error for write access
   bf3fbf54a9ae ubi: fastmap: Don't flush fastmap work on detach
   09844df06087 ubifs: Check ubifs_wbuf_sync() return code
   f1e90bf95e55 cpufreq: CPPC: Use transition_delay_us depending transition_latency
   9427a4aecf23 tty: make n_tty_read() always abort if hangup is in progress
   672f07d8274b Linux 4.14.35
   9a0a509839f3 nfsd: fix incorrect umasks
   61534984904e hugetlbfs: fix bug in pgoff overflow checking
   0319ce67b793 xen: xenbus_dev_frontend: Fix XS_TRANSACTION_END handling
   80f509d4919d ovl: fix lookup with middle layer opaque dir and absolute path redirects
   5ee935daaaeb blk-mq: don't keep offline CPUs mapped to hctx 0
   a333a284fff2 lib: fix stall in __bitmap_parselist()
   f9e66750d4bd f2fs: fix heap mode to reset it back
   e4fa275b8fdd sunrpc: remove incorrect HMAC request initialization
   3d06535693a3 ath9k: Protect queue draining by rcu_read_lock()
   aa3bfa29fcd5 hwmon: (ina2xx) Fix access to uninitialized mutex
   360ecf51864e x86/mce/AMD: Get address from already initialized block
   c81968e93aca x86/mce/AMD, EDAC/mce_amd: Enumerate Reserved SMCA bank type
   0ee4f31673af x86/mce/AMD: Pass the bank number to smca_get_bank_type()
   99971efd7d9a x86/MCE: Report only DRAM ECC as memory errors on AMD systems
   a2813b4cfe3b rtl8187: Fix NULL pointer dereference in priv->conf_mutex
   9e483bc229f5 Bluetooth: hci_bcm: Treat Interrupt ACPI resources as always being active-low
   f58ef38ef1a8 Bluetooth: Fix connection if directed advertising and privacy is used
   c3efeaa3b154 getname_kernel() needs to make sure that ->name != ->iname in long case
   adea72f0e570 get_user_pages_fast(): return -EFAULT on access_ok failure
   3da5723b4f05 s390/ipl: ensure loadparm valid flag is set
   c6c8e42071dc s390/qdio: don't merge ERROR output buffers
   b6366b15a267 s390/qdio: don't retry EQBS after CCQ 96
   3a6771e2fb32 nfit: fix region registration vs block-data-window ranges
   51a9580d67a2 block/loop: fix deadlock after loop_set_status
   54b990ede4c3 apparmor: fix resource audit messages when auditing peer
   a0358f605283 apparmor: fix display of .ns_name for containers
   1d0d8beb35cd apparmor: fix logging of the existence test for signals
   b18daa09fefe scsi: qla2xxx: Fix small memory leak in qla2x00_probe_one on probe failure
   0ed20e4b52af x86/MCE/AMD: Define a function to get SMCA bank type
   8e52e2f41c43 radeon: hide pointless #warning when compile testing
   6f22be4ba787 perf/core: Fix use-after-free in uprobe_perf_close()
   674e18de7bde perf intel-pt: Fix timestamp following overflow
   4039579fca38 perf intel-pt: Fix error recovery from missing TIP packet
   0733facf3be9 perf intel-pt: Fix sync_switch
   ff295906bd9b perf intel-pt: Fix overlap detection to identify consecutive buffers correctly
   42b53a13ecac KVM: PPC: Book3S HV: trace_tlbie must not be called in realmode
   5661d43b03c5 PCI: hv: Serialize the present and eject work items
   a160105b5503 Drivers: hv: vmbus: do not mark HV_PCIE as perf_device
   abd9fd4a3b04 parisc: Fix HPMC handler by increasing size to multiple of 16 bytes
   08be2c1b6bb6 parisc: Fix out of array access in match_pci_device()
   4d167edf0f6a media: v4l: vsp1: Fix header display list status check in continuous mode
   e7a4d7c2fe38 media: v4l2-compat-ioctl32: don't oops on overlay
   c0e0cd653e6a lan78xx: Correctly indicate invalid OTP
   2ea541eb4064 vhost: Fix vhost_copy_to_user()
   e240ffd5a3be vhost: fix vhost_vq_access_ok() log check
   381ebff25898 slip: Check if rstate is initialized before uncompressing
   427b8a146973 rds: MP-RDS may use an invalid c_path
   856d5d075a92 cdc_ether: flag the Cinterion AHS8 modem by gemalto as WWAN
   073e82701bc0 netfilter: ipset: Missing nfnl_lock()/nfnl_unlock() is added to ip_set_net_exit()
   ffebeb0d7c37 Linux 4.14.34
   fdae5b620566 net/mlx4_core: Fix memory leak while delete slave's resources
   9fdeb33e1913 vhost_net: add missing lock nesting notation
   8c316b625705 team: move dev_mc_sync after master_upper_dev_link in team_port_add
   233ba28e1862 route: check sysctl_fib_multipath_use_neigh earlier than hash
   2f8aa659d4c0 vhost: validate log when IOTLB is enabled
   72b880f43990 net/mlx5e: Fix traffic being dropped on VF representor
   9408bceb0649 net/mlx4_en: Fix mixed PFC and Global pause user control requests
   477c73abf26a strparser: Fix sign of err codes
   1c71bfe84deb net/sched: fix NULL dereference on the error path of tcf_skbmod_init()
   a19024a3f343 net/sched: fix NULL dereference in the error path of tunnel_key_init()
   e096c8bf4fb8 net/mlx5e: Sync netdev vxlan ports at open
   baab1f0c4885 net/mlx5e: Don't override vport admin link state in switchdev mode
   1ec7966ab7db ipv6: sr: fix seg6 encap performances with TSO enabled
   e52a45bb392f nfp: use full 40 bits of the NSP buffer address
   ddf79878f1e0 net/mlx5e: Fix memory usage issues in offloading TC flows
   9282181c1cc5 net/mlx5e: Avoid using the ipv6 stub in the TC offload neigh update path
   b9c6ddda3805 vti6: better validate user provided tunnel names
   109dce20c6ed ip6_tunnel: better validate user provided tunnel names
   72363c63b070 ip6_gre: better validate user provided tunnel names
   a7309cad9c2e ipv6: sit: better validate user provided tunnel names
   6816295fe958 ip_tunnel: better validate user provided tunnel names
   048a64fbc229 net: fool proof dev_valid_name()
   77b9fc371d4d bonding: process the err returned by dev_set_allmulti properly in bond_enslave
   22ab1f8751fa bonding: move dev_mc_sync after master_upper_dev_link in bond_enslave
   d7e7ab42581e bonding: fix the err path for dev hwaddr sync in bond_enslave
   65c42a2d475d vrf: Fix use after free and double free in vrf_finish_output
   09cb8267add5 vlan: also check phy_driver ts_info for vlan's real device
   4f288c97b5c5 vhost: correctly remove wait queue during poll failure
   c5fc4dc51cb0 sky2: Increase D3 delay to sky2 stops working after suspend
   3fdd43709d70 sctp: sctp_sockaddr_af must check minimal addr length for AF_INET6
   3f80d01bbd87 sctp: do not leak kernel memory to user space
   c17f6594abfa r8169: fix setting driver_data after register_netdev
   a7c8900c1fc2 pptp: remove a buggy dst release in pptp_connect()
   21563c4df30e net/sched: fix NULL dereference in the error path of tcf_bpf_init()
   cd19a9b12ab4 net sched actions: fix dumping which requires several messages to user space
   787b940625ca netlink: make sure nladdr has correct size in netlink_connect()
   7948bc92791b net/ipv6: Increment OUTxxx counters after netfilter hook
   d1b820bd98a1 net/ipv6: Fix route leaking between VRFs
   589a3f305185 net: fix possible out-of-bound read in skb_network_protocol()
   629eeaaccb23 lan78xx: Crash in lan78xx_writ_reg (Workqueue: events lan78xx_deferred_multicast_write)
   52f0a5ff60e4 ipv6: the entire IPv6 header chain must fit the first fragment
   cdd74d6ac80e arp: fix arp_filter on l3slave devices
   8413a3a63d37 x86/microcode: Fix CPU synchronization routine
   c81d7069dcd6 x86/microcode: Attempt late loading only when new microcode is present
   b0b1ac38e018 x86/microcode: Synchronize late microcode loading
   509df2b865f1 x86/microcode: Request microcode on the BSP
   d2725848230d x86/microcode/intel: Look into the patch cache first
   e87c2b553a35 x86/microcode: Do not upload microcode if CPUs are offline
   1707112c82fa x86/microcode/intel: Writeback and invalidate caches before updating microcode
   170f8ec16c22 x86/microcode/intel: Check microcode revision before updating sibling threads
   22cc8816d013 x86/microcode: Get rid of struct apply_microcode_ctx
   35da0d504a98 x86/CPU: Check CPU feature bits after microcode upgrade
   00ba4bcf4b92 x86/CPU: Add a microcode loader callback
   962e6b2d1665 x86/microcode: Propagate return value from updating functions
   b6a11be5c433 crypto: arm64/aes-ce-cipher - move assembler code to .S file
   f1b46925f59e objtool: Add Clang support
   5dff63583f0d thermal: int3400_thermal: fix error handling in int3400_thermal_probe()
   bc166ca4234c tcmu: release blocks for partially setup cmds
   6a88a999c45d perf tools: Fix copyfile_offset update of output offset
   7cae67e31292 crypto: aes-generic - build with -Os on gcc-7+
   3847b9e016df mtd: mtd_oobtest: Handle bitflips during reads
   88f6f0490f8c Input: goodix - disable IRQs while suspended
   c427d7e44a32 ibmvnic: Don't handle RX interrupts when not up.
   62eaf7e149a5 sdhci: Advertise 2.0v supply on SDIO host controller
   997901406c0a x86/gart: Exclude GART aperture from vmcore
   4aafb8cdcc11 gpio: thunderx: fix error return code in thunderx_gpio_probe()
   cfafed12f459 RDMA/cma: Fix rdma_cm path querying for RoCE
   15dfb9baba2c scsi: megaraid_sas: unload flag should be set after scsi_remove_host is called
   70077054384d scsi: megaraid_sas: Error handling for invalid ldcount provided by firmware in RAID map
   b432f980596c cxgb4vf: Fix SGE FL buffer initialization logic for 64K pages
   d017aeb58a3e i40evf: don't rely on netif_running() outside rtnl_lock()
   d96a094c987f uio_hv_generic: check that host supports monitor page
   28b35f9aa0c0 EDAC, mv64x60: Fix an error handling path
   effbffc91da3 block, bfq: put async queues for root bfq groups too
   4ed8692bb2d6 tty: n_gsm: Allow ADM response in addition to UA for control dlci
   8976d64b2f0f blk-mq: fix kernel oops in blk_mq_tag_idle()
   b728b7e24fbc scsi: libsas: initialize sas_phy status according to response of DISCOVER
   f890a23603e3 scsi: libsas: fix error when getting phy events
   8644d14c3240 scsi: libsas: fix memory leak in sas_smp_get_phy_events()
   fad9bcb1176b bcache: segregate flash only volume write streams
   ef60904109f4 bcache: stop writeback thread after detaching
   71468ce63dc9 bcache: ret IOERR when read meets metadata error
   b20482cebfb2 net: hns3: fix for changing MTU
   be6a161e1302 net: hns3: Fix an error macro definition of HNS3_TQP_STAT
   611abba6eb68 net: hns3: Fix a loop index error of tqp statistics query
   5669ec0b9588 net: hns3: Fix an error of total drop packet statistics
   35a9ebd920aa net/mlx5: Fix race for multiple RoCE enable
   46d19334ca40 wl1251: check return from call to wl1251_acx_arp_ip_filter
   f722a6a61179 rt2x00: do not pause queue unconditionally on error path
   1530dcc90331 power: supply: axp288_charger: Properly stop work on probe-error / remove
   87b9099cf141 ASoC: Intel: sst: Fix the return value of 'sst_send_byte_stream_mrfld()'
   89deb4ad015b staging: lustre: disable preempt while sampling processor id.
   01ff15fcf466 perf report: Fix a no annotate browser displayed issue
   3b3fb4be7ca1 tpm: return a TPM_RC_COMMAND_CODE response if command is not implemented
   f0504bf54b4d nvme_fcloop: fix abort race condition
   39ede1fd200f nvme_fcloop: disassocate local port structs
   5391891c0a46 pinctrl: baytrail: Enable glitch filter for GPIOs used as interrupts
   dd3e1a4e769e backlight: tdo24m: Fix the SPI CS between transfers
   fb1ef85d5885 blk-mq: fix race between updating nr_hw_queues and switching io sched
   eaa077800ff6 blk-mq: avoid to map CPU into stale hw queue
   cf4c90693651 IB/rdmavt: Allocate CQ memory on the correct node
   da5e12ab599a powernv-cpufreq: Add helper to extract pstate from PMSR
   1f1e5ca1c737 gpio: label descriptors using the device name
   e985dcf4fa1b vfb: fix video mode and line_length being set when loaded
   bb23fbd8fb06 mac80211: Fix setting TX power on monitor interfaces
   74f5124bc3ff ACPI: EC: Fix debugfs_create_*() usage
   04568f4df228 irqchip/gic-v3: Fix the driver probe() fail due to disabled GICC entry
   b5d2cafbe359 scsi: mpt3sas: Proper handling of set/clear of "ATA command pending" flag.
   3807b6fec674 scsi: libiscsi: Allow sd_shutdown on bad transport
   978c2812b805 spi: sh-msiof: Fix timeout failures for TX-only DMA transfers
   1d65600e9722 ASoC: Intel: cht_bsw_rt5645: Analog Mic support
   522371c28210 ASoC: Intel: Skylake: Disable clock gating during firmware and library download
   543d317db8be media: videobuf2-core: don't go out of the buffer range
   6e7b07606bfe clk: sunxi-ng: a83t: Add M divider to TCON1 clock
   bd4a96921d8b hwmon: (ina2xx) Make calibration register value fixed
   ddc09c522035 RDMA/cma: Mark end of CMA ID messages
   7743aa143055 selftests/net: fix bugs in address and port initialization
   b72d39b1da82 PM / devfreq: Fix potential NULL pointer dereference in governor_store
   e6bc3a4b0c23 clk: divider: fix incorrect usage of container_of
   1cf98fd005f5 watchdog: dw_wdt: add stop watchdog operation
   db470ce8c6ee VFS: close race between getcwd() and d_move()
   87a25a385832 net/mlx4_en: Change default QoS settings
   378259c7d0a2 ACPI / video: Default lcd_only to true on Win8-ready and newer machines
   ea620e414bde rds; Reset rs->rs_bound_addr in rds_add_bound() failure path
   ab4ac0fc4712 l2tp: fix missing print session offset info
   fcb762cb4b5c net: hns3: fix for getting auto-negotiation state in hclge_get_autoneg
   f7b0ea2245a0 net: hns3: free the ring_data structrue when change tqps
   93b8f4a2302b perf evsel: Enable ignore_missing_thread for pid option
   d606bac136ec perf probe: Add warning message if there is unexpected event name
   3efc86f667fc perf probe: Find versioned symbols from map
   ea40afb5c379 thermal: power_allocator: fix one race condition issue for thermal_instances list
   fd78be4b37cc ipv6: Reinject IPv6 packets if IPsec policy matches after SNAT
   78728d84f338 Bluetooth: Add a new 04ca:3015 QCA_ROME device
   2e9a8b6a7d52 ARM: dts: ls1021a: add "fsl,ls1021a-esdhc" compatible string to esdhc node
   800ffac10754 clk: meson: mpll: use 64-bit maths in params_from_rate
   fbd4d9046a1a i40iw: Validate correct IRD/ORD connection parameters
   c5cd3cc217a9 i40iw: Correct Q1/XF object count equation
   0bc82eae1256 i40iw: Fix sequence number for the first partial FPDU
   b867b7a7e590 Linux 4.14.33
   6bc3a54e06c6 Revert "ip6_vti: adjust vti mtu according to mtu of lower device"
   cfbed9b55636 Revert "cpufreq: Fix governor module removal race"
   a99aaeccdefd Revert "ARM: dts: omap3-n900: Fix the audio CODEC's reset pin"
   118118eb3818 Revert "ARM: dts: am335x-pepper: Fix the audio CODEC's reset pin"
   92e3d3f67d79 Fix slab name "biovec-(1<<(21-12))"
   b31397c9b945 net: hns: Fix ethtool private flags
   9b47e99ac970 ARM: dts: DRA76-EVM: Set powerhold property for tps65917
   52dcf4a6afbc vt: change SGR 21 to follow the standards
   8ac678a4b363 Input: i8042 - enable MUX on Sony VAIO VGN-CS series to fix touchpad
   4043155add40 Input: i8042 - add Lenovo ThinkPad L460 to i8042 reset list
   ac72f0080c1a Input: ALPS - fix TrackStick detection on Thinkpad L570 and Latitude 7370
   0d3f8c0217f9 Revert "base: arch_topology: fix section mismatch build warnings"
   a59779368b33 staging: comedi: ni_mio_common: ack ai fifo error interrupts.
   4be89529c013 Btrfs: fix unexpected cow in run_delalloc_nocow
   62532640c8e1 crypto: x86/cast5-avx - fix ECB encryption when long sg follows short one
   b5a888390998 crypto: arm,arm64 - Fix random regeneration of S_shipped
   ee54953ecd47 crypto: ccp - return an actual key size from RSA max_size callback
   056f3bd2399b crypto: caam - Fix null dereference at error path
   c3657fd0c15f crypto: ahash - Fix early termination in hash walk
   ad35fdc00a7c crypto: testmgr - Fix incorrect values in PKCS#1 test vector
   41e960b042fc crypto: inside-secure - fix clock management
   77827f3d63d0 crypto: lrw - Free rctx->ext with kzfree
   3c6096ca8e49 parport_pc: Add support for WCH CH382L PCI-E single parallel port card.
   1f17d5033fe3 media: usbtv: prevent double free in error case
   5f834dd24bae /dev/mem: Avoid overwriting "err" in read_mem()
   66a65ca5b8fd mei: remove dev_err message on an unsupported ioctl
   cbf733ca587c serial: 8250: Add Nuvoton NPCM UART
   c0aed3667b3d USB: serial: cp210x: add ELDAT Easywave RX09 id
   f4d01432eeda USB: serial: ftdi_sio: add support for Harman FirmwareHubEmulator
   e1e87ebd5b79 USB: serial: ftdi_sio: add RT Systems VX-8 cable
   ac5a36bb6957 bitmap: fix memset optimization on big-endian systems
   52a0c9a14f52 usb: dwc2: Improve gadget state disconnection handling
   87a97ab15e44 Bluetooth: Fix missing encryption refresh on Security Request
   cf88ae752cd3 phy: qcom-ufs: add MODULE_LICENSE tag
   839a4c3b4a48 netfilter: x_tables: add and use xt_check_proc_name
   2a55ad7440e6 netfilter: drop template ct when conntrack is skipped.
   b0850604cc5d l2tp: fix races with ipv4-mapped ipv6 addresses
   bbfbc396f076 netfilter: bridge: ebt_among: add more missing match size checks
   546ade704a98 netfilter: x_tables: make allocation less aggressive
   72682b162dae percpu: add __GFP_NORETRY semantics to the percpu balancing path
   dffe655ddb48 xfrm: Refuse to insert 32 bit userspace socket policies on 64 bit systems
   a6232ffa2a02 net: xfrm: use preempt-safe this_cpu_read() in ipcomp_alloc_tfms()
   b0d95e686f45 RDMA/ucma: Introduce safer rdma_addr_size() variants
   4fbf77d7a9fe RDMA/ucma: Check that device exists prior to accessing it
   4dba68fd1dfe RDMA/ucma: Check that device is connected prior to access it
   6c2c0da62b5d RDMA/rdma_cm: Fix use after free race with process_one_req
   4cd0242812a9 RDMA/ucma: Ensure that CM_ID exists prior to access it
   ac895355571a RDMA/ucma: Fix use-after-free access in ucma_close
   123f9f8981d2 RDMA/ucma: Check AF family prior resolving address
   25fd02ea40db xfrm_user: uncoditionally validate esn replay attribute struct
   ac2cb9f3de88 partitions/msdos: Unable to mount UFS 44bsd partitions
   0726ba0491ca powerpc/64s: Fix i-side SLB miss bad address handler saving nonvolatile GPRs
   4c6d2518e1fe powerpc/64s: Fix lost pending interrupt due to race causing lost update to irq_happened
   834a06e59896 i2c: i2c-stm32f7: fix no check on returned setup
   f025072cbfe3 ipc/shm.c: add split function to shm_vm_ops
   f00a344718dd ceph: only dirty ITER_IOVEC pages for direct read
   ca04476df8fd perf/hwbp: Simplify the perf-hwbp code, fix documentation
   b276b3465531 x86/platform/uv/BAU: Add APIC idt entry
   58eaa556bd0a ALSA: pcm: potential uninitialized return values
   17c9ea37cb60 ALSA: pcm: Use dma_bytes as size parameter in dma_mmap_coherent()
   ba0b1c7761b4 ALSA: usb-audio: Add native DSD support for TEAC UD-301
   be0fdc488672 mtd: nand: atmel: Fix get_sectorsize() function
   e9eddb705648 mtd: jedec_probe: Fix crash in jedec_read_mfr()
   67356ab6e6a9 ARM: dts: sun6i: a31s: bpi-m2: add missing regulators
   46e10c38af0c ARM: dts: sun6i: a31s: bpi-m2: improve pmic properties
   d377d3d041b7 ARM: 8746/1: vfp: Go back to clearing vfp_current_hw_state[]
   a4941a5fbcf0 ARM: OMAP: Fix SRAM W+X mapping
   9a2e216d9e89 Linux 4.14.32
   bba757a2c128 s390/qeth: on channel error, reject further cmd requests
   e52456422017 s390/qeth: lock read device while queueing next buffer
   dd5ec7314030 s390/qeth: when thread completes, wake up all waiters
   b469bdd0f511 s390/qeth: free netdevice when removing a card
   299902b581ea dpaa_eth: remove duplicate increment of the tx_errors counter
   5bf75fca4367 dpaa_eth: increment the RX dropped counter when needed
   dde9b6a83797 dpaa_eth: remove duplicate initialization
   5bbb99d2fde0 dpaa_eth: fix error in dpaa_remove()
   29cd9c2d1f42 soc/fsl/qbman: fix issue in qman_delete_cgr_safe()
   43d8f3c5d3ad team: Fix double free in error path
   329f4710f89c skbuff: Fix not waking applications when errors are enqueued
   e90e9771d9a3 qede: Fix qedr link update
   c6841b478e6b net: systemport: Rewrite __bcm_sysport_tx_reclaim()
   474aa5149753 net: Only honor ifindex in IP_PKTINFO if non-0
   06d3f43d52bb netlink: avoid a double skb free in genlmsg_mcast()
   2980f37b6111 net/iucv: Free memory obtained by kzalloc
   a14b791d9863 net: fec: Fix unbalanced PM runtime calls
   9cdb0f25fbb4 net: ethernet: ti: cpsw: add check for in-band mode setting with RGMII PHY interface
   89142a0e0b70 net: ethernet: arc: Fix a potential memory leak if an optional regulator is deferred
   2d5b0ed04c5a l2tp: do not accept arbitrary sockets
   18c647456ac9 ipv6: fix access to non-linear packet in ndisc_fill_redirect_hdr_option()
   91d27e0c3025 dccp: check sk for closed state in dccp_sendmsg()
   946b9671ac02 net: Fix hlist corruptions in inet_evict_bucket()
   4ff5078b0396 net: use skb_to_full_sk() in skb_update_prio()
   f6cdb675ca0a ieee802154: 6lowpan: fix possible NULL deref in lowpan_device_event()
   f77ff13a06c1 sch_netem: fix skb leak in netem_enqueue()
   515bc34124f3 kcm: lock lower socket in kcm_attach
   07cf9d303c7c rhashtable: Fix rhlist duplicates insertion
   090da7ced80b ppp: avoid loop in xmit recursion detection code
   28b488f7cb3a net sched actions: return explicit error when tunnel_key mode is not specified
   2274d77c3675 net: phy: Tell caller result of phy_change()
   42cf2a1e5ac4 mlxsw: spectrum_buffers: Set a minimum quota for CPU port traffic
   dbad5abd2b16 ipv6: sr: fix scheduling in RCU when creating seg6 lwtunnel state
   cb4963b49426 ipv6: sr: fix NULL pointer dereference when setting encap source address
   5defa8c9269a ipv6: old_dport should be a __be16 in __ip6_datagram_connect()
   a8f02befc87d net: ipv6: keep sk status consistent after datagram connect failure
   82fb817863e3 macvlan: filter out unsupported feature flags
   b51eb57dac9c devlink: Remove redundant free on error path
   67a1dc567567 net: phy: relax error checking when creating sysfs link netdev->phydev
   223c54244252 sysfs: symlink: export sysfs_create_link_nowarn()
   497166d63780 qed: Fix non TCP packets should be dropped on iWARP ll2 connection
   e44c1733059c tcp: purge write queue upon aborting the connection
   dbbf2d1e4077 tcp: reset sk_send_head in tcp_write_queue_purge
   9861e6647c85 Linux 4.14.31
   7514cd2f6d21 bpf, x64: increase number of passes
   b4e02202a0ba bpf: skip unnecessary capability check
   3e1130970ec3 kbuild: disable clang's default use of -fmerge-all-constants
   3fdc6f0d1484 x86/pkeys/selftests: Rename 'si_pkey' to 'siginfo_pkey'
   d6e6e57e6045 usb: xhci: Fix potential memory leak in xhci_disable_slot()
   4208d820ed23 usb: xhci: Disable slot even when virt-dev is null
   213b332c71a9 staging: lustre: ptlrpc: kfree used instead of kvfree
   26023c977975 staging: android: ion: Zero CMA allocated memory
   af00a24c9ea2 iio: imu: st_lsm6dsx: fix endianness in st_lsm6dsx_read_oneshot()
   c7d20ac820ad iio: ABI: Fix name of timestamp sysfs file
   294a6268bf16 perf/x86/intel/uncore: Fix multi-domain PCI CHA enumeration bug on Skylake servers
   59dbc2a44921 perf/x86/intel: Don't accidentally clear high bits in bdw_limit_period()
   227e2f91f0c9 perf/core: Fix ctx_event_type in ctx_resched()
   b69902a42097 perf stat: Fix CVS output format for non-supported counters
   d244e5897c1f perf/x86/intel/uncore: Fix Skylake UPI event format
   5fb252cad61f drm/syncobj: Stop reusing the same struct file for all syncobj -> fd
   a9b385a59b1f x86/boot/64: Verify alignment of the LOAD segment
   faf470583a57 x86/build/64: Force the linker to use 2MB page size
   06b281015054 kvm/x86: fix icebp instruction handling
   f7fbe38cc55b posix-timers: Protect posix clock array access against speculation
   b08952bbc171 x86/efi: Free efi_pgd with free_pages()
   373ccbd6eb03 x86/vsyscall/64: Use proper accessor to update P4D entry
   852d9679a778 selftests/x86/ptrace_syscall: Fix for yet more glibc interference
   5a29ce2b9880 x86/entry/64: Don't use IST entry for #BP stack
   3832d40ef22e tty: vt: fix up tabstops properly
   5c955c3cfb58 can: cc770: Fix use after free in cc770_tx_interrupt()
   63affa180c7d can: cc770: Fix queue stall & dropped RTR reply
   b3ab7e3dee87 can: cc770: Fix stalls on rt-linux, remove redundant IRQ ack
   18f29aa5b55d can: ifi: Check core revision upon probe
   8a731531d08f can: ifi: Repair the error handling
   e7dc75584302 can: peak/pcie_fd: remove useless code when interface starts
   74f08b1e0de8 can: peak/pcie_fd: fix echo_skb is occupied! bug
   2a2b9ef30926 staging: ncpfs: memory corruption in ncp_read_kernel()
   3f3a6707770a mtd: nand: fsl_ifc: Read ECCSTAT0 and ECCSTAT1 registers for IFC 2.0
   1aa0e4115330 mtd: nand: fsl_ifc: Fix eccstat array overflow for IFC ver >= 2.0.0
   91ff3795b188 mtd: nand: fsl_ifc: Fix nand waitfunc return value
   84f7a040cf04 mtdchar: fix usage of mtd_ooblayout_ecc()
   70001527f446 tracing: probeevent: Fix to support minus offset from symbol
   1a697e6ef91b rtlwifi: rtl8723be: Fix loss of signal
   7964c00a4a7e brcmfmac: fix P2P_DEVICE ethernet address generation
   865a0221c7e2 libnvdimm, {btt, blk}: do integrity setup before add_disk()
   7fbddfb00176 ACPI / watchdog: Fix off-by-one error at resource assignment
   8f860adbb3d8 acpi, numa: fix pxm to online numa node associations
   b8b8151806ff mm/vmscan: wake up flushers for legacy cgroups too
   c8deec718121 drm: udl: Properly check framebuffer mmap offsets
   fc1142a8ca2d drm: Reject getfb for multi-plane framebuffers
   b53d42b4ab92 drm/radeon: Don't turn off DP sink when disconnected
   19246741a6df drm/vmwgfx: Fix a destoy-while-held mutex problem.
   4be50a9fe670 drm/vmwgfx: Fix black screen and device errors when running without fbdev
   99b6ead444cf Revert "mm: page_alloc: skip over regions of invalid pfns where possible"
   f5dad0409a72 mm/shmem: do not wait for lock_page() in shmem_unused_huge_shrink()
   b6b6783c8097 mm/thp: do not wait for lock_page() in deferred_split_scan()
   8b8b5c4f7f3a mm/khugepaged.c: convert VM_BUG_ON() to collapse fail
   5bbd932ff58f x86/mm: implement free pmd/pte page interfaces
   acdb4981644c mm/vmalloc: add interfaces to free unmapped page table
   04d47fc40367 h8300: remove extraneous __BIG_ENDIAN definition
   1e8628443ede hugetlbfs: check for pgoff value overflow
   797bfd05d404 nfsd: remove blocked locks on client teardown
   aa0533f4f7b2 cgroup: fix rule checking for threaded mode switching
   2b4bb9f3869b libata: Modify quirks for MX100 to limit NCQ_TRIM quirk to MU01 version
   65ab5809b48d libata: Make Crucial BX100 500GB LPM quirk apply to all firmware versions
   596d0a8e7c77 libata: Apply NOLPM quirk to Crucial M500 480 and 960GB SSDs
   01b6d6839a28 libata: Enable queued TRIM for Samsung SSD 860
   603f0168c1ef libata: disable LPM for Crucial BX100 SSD 500GB drive
   3962dd60a67b libata: Apply NOLPM quirk to Crucial MX100 512GB SSDs
   5e67e65d21d0 libata: don't try to pass through NCQ commands to non-NCQ devices
   cd47a2ccc602 libata: remove WARN() for DMA or PIO command without data
   8745d2063d28 libata: fix length validation of ATAPI-relayed SCSI commands
   15a4417cc652 Bluetooth: btusb: Fix quirk for Atheros 1525/QCA6174
   cd3141c02404 Bluetooth: btusb: Add Dell OptiPlex 3060 to btusb_needs_reset_resume_table
   3a64bcc3e67a Bluetooth: btusb: Remove Yoga 920 from the btusb_needs_reset_resume_table
   b64ffeecfbdd pinctrl: samsung: Validate alias coming from DT
   a1da0548a932 Drivers: hv: vmbus: Fix ring buffer signaling
   8f59abbdeb9d RDMA/mlx5: Fix crash while accessing garbage pointer and freed memory
   9efd9903f561 clk: sunxi-ng: a31: Fix CLK_OUT_* clock ops
   55306d632ab8 clk: bcm2835: Protect sections updating shared registers
   2eb67f85d55b clk: bcm2835: Fix ana->maskX definitions
   ef006d43bc61 lockdep: fix fs_reclaim warning
   a05b610534a9 ahci: Add PCI-id for the Highpoint Rocketraid 644L card
   8f5f582cabd7 PCI: Add function 1 DMA alias quirk for Highpoint RocketRAID 644L
   aa26895af31b mmc: dw_mmc: fix falling from idmac to PIO mode when dw_mci_reset occurs
   a592984e03e6 mmc: dw_mmc: exynos: fix the suspend/resume issue for exynos5433
   23a8825aea65 mmc: dw_mmc: Fix the DTO/CTO timeout overflow calculation for 32-bit systems
   72439a30c096 mmc: block: fix updating ext_csd caches on ioctl call
   39254113845c mmc: core: Disable HPI for certain Micron (Numonyx) eMMC cards
   fcc71c97a384 mmc: core: Fix tracepoint print of blk_addr and blksz
   856da5e097e0 ALSA: hda/realtek - Always immediately update mute LED with pin VREF
   7a42d11ab86e ALSA: hda/realtek - Fix Dell headset Mic can't record
   dc9d942e45c0 ALSA: hda/realtek - Fix speaker no sound after system resume
   8d49f5625eda ALSA: hda - Force polling mode on CFL for fixing codec communication
   88079d335aac ALSA: aloop: Fix access to not-yet-ready substream via cable
   1fcbcfff716f ALSA: aloop: Sync stale timer before release
   3aa7360be333 ALSA: usb-audio: Fix parsing descriptor of UAC2 processing unit
   2b706310e520 iio: adc: meson-saradc: unlock on error in meson_sar_adc_lock()
   d1138478e071 iio: st_pressure: st_accel: pass correct platform data to init
   f81b0e627b67 iio: chemical: ccs811: Corrected firmware boot/application mode transition
   ea26b66f10cb MIPS: lantiq: ase: Enable MFD_SYSCON
   124532fc3c28 MIPS: lantiq: Enable AHB Bus for USB
   8b23936074d9 MIPS: lantiq: Fix Danube USB clock
   e73ac1875971 MIPS: ralink: Fix booting on MT7621
   fb45c56ebd0f MIPS: ralink: Remove ralink_halt()
   de8cdc557231 Linux 4.14.30
   5019b23699f4 RDMA/vmw_pvrdma: Fix usage of user response structures in ABI file
   957435b566c9 kbuild: fix linker feature test macros when cross compiling with Clang
   e82496fbe3a0 RDMA/ucma: Don't allow join attempts for unsupported AF family
   ce3e82c0630f RDMA/ucma: Fix access to non-initialized CM_ID object
   712b442c68c2 clk: migrate the count of orphaned clocks at init
   02db484a0583 RDMA/core: Do not use invalid destination in determining port reuse
   8b0c4a2e04f7 serial: 8250_pci: Don't fail on multiport card class
   00fb52a3828d IB/mlx5: Fix out-of-bounds read in create_raw_packet_qp_rq
   cf1eb16eef13 IB/mlx5: Fix integer overflows in mlx5_ib_create_srq
   3748694f1b91 scsi: mpt3sas: wait for and flush running commands on shutdown/unload
   9d72b2696e0a scsi: mpt3sas: fix oops in error handlers after shutdown/unload
   0493d72ee4d6 dmaengine: ti-dma-crossbar: Fix event mapping for TPCC_EVT_MUX_60_63
   e618ff1ac59c crypto: artpec6 - set correct iv size for gcm(aes)
   53555c8fc8a2 clk: si5351: Rename internal plls to avoid name collisions
   fa97cdb4c71e clk: axi-clkgen: Correctly handle nocount bit in recalc_rate()
   9e9d9b1a3dbf clk: Don't touch hardware when reparenting during registration
   24c92f975cb2 clk: at91: pmc: Wait for clocks when resuming
   14d920fc4579 nfsd4: permit layoutget of executable-only files
   1de82078a0c0 ARM: dts: aspeed-evb: Add unit name to memory node
   e434a6eaed8c RDMA/ocrdma: Fix permissions for OCRDMA_RESET_STATS
   7b7e076f8cad scsi: lpfc: Fix issues connecting with nvme initiator
   1626beb0b5d8 scsi: lpfc: Fix SCSI LUN discovery when SCSI and NVME enabled
   6f4649f3bef8 soc: qcom: smsm: fix child-node lookup
   f1f225794a41 ip_gre: fix potential memory leak in erspan_rcv
   9cd6c84e9377 ip_gre: fix error path when erspan_rcv failed
   e6cfc525163e ip6_vti: adjust vti mtu according to mtu of lower device
   f2b32ce1ccef iommu/vt-d: clean up pr_irq if request_threaded_irq fails
   915bd53d68f6 pinctrl: rockchip: enable clock when reading pin direction register
   130e535210ba pinctrl: Really force states during suspend/resume
   06299bd0cf73 media: davinci: fix a debug printk
   fea718819c69 PCI: rcar: Handle rcar_pcie_parse_request_of_pci_ranges() failures
   e1645629785b PCI: endpoint: Fix find_first_zero_bit() usage
   194b5ce11968 PCI: designware-ep: Fix ->get_msi() to check MSI_EN bit
   d67d7bf8f12d coresight: Fix disabling of CoreSight TPIU
   f16a65befe74 pty: cancel pty slave port buf's work in tty_release
   728e120d1786 drm/omap: DMM: Check for DMM readiness after successful transaction commit
   9967208b4f6c mmc: sdhci-xenon: wait 5ms after set 1.8V signal enable
   83a2960ff6d1 omapdrm: panel: fix compatible vendor string for td028ttec1
   f7eda23c2990 vgacon: Set VGA struct resource types
   58668d153baf iser-target: avoid reinitializing rdma contexts for isert commands
   a3e4b8fe6479 IB/umem: Fix use of npages/nmap fields
   251695a39f05 RDMA/cma: Use correct size when writing netlink stats
   a4ac7cb593ad IB/ipoib: Avoid memory leak if the SA returns a different DGID
   9766562956fd rtc: ac100: Fix multiple race conditions
   badf37254bc7 media: s5p-mfc: Fix lock contention - request_firmware() once
   639dab36edbd sfp: fix non-detection of PHY
   1a6610de8c1b sfp: fix EEPROM reading in the case of non-SFF8472 SFPs
   1b485793ce84 net: phy: meson-gxl: check phy_write return value
   ea60e54b22aa /dev/mem: Add bounce buffer for copy-out
   79a49fcc0768 mmc: block: fix logical error to avoid memory leak
   9dd93e524955 mmc: avoid removing non-removable hosts during suspend
   c1326c691f4d drm/tilcdc: ensure nonatomic iowrite64 is not used
   e2a6f2967f67 dmaengine: zynqmp_dma: Fix race condition in the probe
   f4a0f85594ba platform/chrome: Use proper protocol transfer function
   71233e2541a4 watchdog: Fix kref imbalance seen if handle_boot_enabled=0
   08b810901020 watchdog: Fix potential kref imbalance when opening watchdog
   008029510ac8 cros_ec: fix nul-termination for firmware build info
   79c3f5cf466d serial: 8250_dw: Disable clock on error
   f1be26620373 tty: goldfish: Enable 'earlycon' only if built-in
   5ff0741646fd qmi_wwan: set FLAG_SEND_ZLP to avoid network initiated disconnect
   a9a14b17f72c media: [RESEND] media: dvb-frontends: Add delay to Si2168 restart
   057ee30417e5 ath10k: handling qos at STA side based on AP WMM enable/disable
   824f8613ea62 media: bt8xx: Fix err 'bt878_probe()'
   2159db50a572 rtlwifi: always initialize variables given to RT_TRACE()
   9f180c6db58e rtlwifi: rtl_pci: Fix the bug when inactiveps is enabled.
   9854881c225a spi: sh-msiof: Avoid writing to registers from spi_master.setup()
   6467b3e25447 hv_netvsc: Fix the TX/RX buffer default sizes
   8dc11c413557 hv_netvsc: Fix the receive buffer size limit
   e53e85d5082c RDMA/iwpm: Fix uninitialized error code in iwpm_send_mapinfo()
   4df82a41e819 drm/msm: fix leak in failed get_pages
   b3cff08483d0 media: c8sectpfe: fix potential NULL pointer dereference in c8sectpfe_timer_interrupt
   b453f9d8c55e cpufreq: longhaul: Revert transition_delay_us to 200 ms
   e59e19dc4086 Bluetooth: btqcomsmd: Fix skb double free corruption
   5b58533858e3 Bluetooth: hci_qca: Avoid setup failure on missing rampatch
   23081c335df9 staging: android: ashmem: Fix possible deadlock in ashmem_ioctl
   23e73e2ab4d2 scsi: megaraid_sas: Do not use 32-bit atomic request descriptor for Ventura controllers

(From OE-Core rev: 6ddaf2e408fa733214a5ff9a5b9ef171304f02a5)

(From OE-Core rev: ecfe2f319efaeb2152398088c47a43a10d448199)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-02 11:41:25 +01:00
Ross Burton
529be09f81 shared-mime-info: fix license statement
The freedesktop.org.xml data and the update-mime-database tool are both GPLv2 as
per COPYING, so change LICENSE to GPLv2.

test-mime-magic.c is LGPLv2+ but we don't install that so isn't relevant.

(From OE-Core rev: 4ca838097c43755e19f8ffc66436f9ad773fcd39)

(From OE-Core rev: a590642af4d0d93b1d380409f45f5ef7e1793466)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-02 11:41:25 +01:00
Andre McCurdy
9f3445c9e5 dropbear: drop run time detection of read-only rootfs
Previously, when dropbear was started via its init script, relocation
of DROPBEAR_RSAKEY_DIR to support read-only rootfs was handled at
run time from within the init script.

Update the init script to take advantage of the read-only rootfs
config setup by read_only_rootfs_hook() and therefore be consistent
with startup under systemd (where relocation of DROPBEAR_RSAKEY_DIR
is handled by the read_only_rootfs_hook() at build time).

(From OE-Core rev: 4990f87b2f6a8b30c8d1c767636e7f5527f595ba)

(From OE-Core rev: b1f3fac327da43ccc079a03d3554f1365b298608)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-02 11:41:25 +01:00
Andrej Valek
92c5eeaff9 busybox: Fix lzma segfaults
- fix multiple lzma segmentation faults
- patch includes multiple fixing commits
- test-cases have been removed due to binary data

(From OE-Core rev: e865e5056235a9b4e3911d4c734a3ffa71bb9e62)

(From OE-Core rev: 5e1a402e8cf5e87ea200a04c4218cbd7b8d608d7)

Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-02 11:41:25 +01:00
Andre McCurdy
3dfc5e4d30 bitbake.conf: drop redundant -nv from FETCHCMD_wget
Since the addition of progress reporting, the wget fetcher will
over-ride -nv by unconditionally appending "--progress=dot -v" to the
final wget command line.

  http://git.openembedded.org/bitbake/commit/?id=4027649f422ee64b1c4e1ad8d48ac295050afbff

(From OE-Core rev: 69f4f4aa56291e1e507a62d45834df65d699ec51)

(From OE-Core rev: acd9a694e40c54a7ce8015a89f22391c90fd73c1)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-02 11:41:25 +01:00
Chen Qi
956eb9241d oeqa/core/target/ssh.py: increase maximum read bytes from 1024 to 4096
When running testimage task for core-image-sato-sdk, the following
error appeared.

  UnicodeDecodeError: 'utf-8' codec can't decode byte 0x82 at position 0: invalid start byte

Checking the codes, I found it's caused by setting a 1024 limit for the
read method of the StreamReader object.

Comments from the manual:
"""
The chars argument indicates the number of decoded code points or bytes to
return. The read() method will never return more data than requested, but
it might return less, if there is not enough available.
"""

When running `systemctl status --full' on target, this error occurs.

This patch increase the bytes limit to 4096 to fix the error.

(From OE-Core rev: f1fad60ae3be4450aca6058d5665fb10a9148b44)

(From OE-Core rev: bc64cf4fce0631b689c9818ac24e6a2a9d8effec)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-02 11:41:25 +01:00
Chen Qi
2ab2828c71 testimage.bbclass: move codes into testimage_main
testimage-auto is expected to run testimage task's codes automatically.
But in fact, it's currently missing some codes, including testimage_sanity
and create_rpm_index.

This leads to the problem of unexpected runtime failure of test_dnf_makecache.
The error message is as below.

  RESULTS - dnf.DnfRepoTest.test_dnf_makecache - Testcase 1744: ERROR

This error is caused by the fact that create_rpm_index is not executed
before running the tests.

There's no reason why such codes should not be in testimage_main, so
move them into it.

(From OE-Core rev: fa7ba486ded13907f63f9300f66350ba2835a3f7)

(From OE-Core rev: d55013db85db28bb061b40976cdda7022fa1eb22)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-02 11:41:25 +01:00
Chen Qi
724ad979a6 bitbake.conf: fix HOSTTOOLS setting related to image testing
A list of tools are added to HOSTTOOLS depending on if we inherit
testimage or not. Unfortunately, if we use TEST_IMAGE variable to
automate the test, these tools are not added to HOSTTOOLS.

Modify the condition to also check TEST_IMAGE to fix the above problem.

Also, change to use if...else... instead of list index for such setting.

(From OE-Core rev: 263f8ad612674b0b47cd980212556332c17cb370)

(From OE-Core rev: d2701a747209b99e816655eb5f70a2bf666c4314)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-02 11:41:25 +01:00
Chen Qi
24a4db03dc oeqa/runtime/cases/multilib.py: fix test_file_connman skipping logic
The test_file_connman should be executed only when 'lib32-connman' is
installed and 'connman' is not installed.

When lib32-connman and connman are both installed, the /usr/sbin/connmand
could be from connman or lib32-connman, depending on the installation
order. What we want to check is the connmand command from lib32-connman,
so we need to make sure that connman is not there to cause chaos.

(From OE-Core rev: bc6839394c06bb695b92b2183337e7381da1e86c)

(From OE-Core rev: 55eed10368da6b3179e3ad1ab9322cff32fa99cf)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-02 11:41:25 +01:00
Chen Qi
b6b05c99b0 oeqa/runtime/cases/multilib.py: skip if needed packages are not available
1) The test cases use 'readelf' command to do the check. This command
   is from binutils. So skip the test if the needed binutils package is
   not installed.

   The related error message in log.do_testimage is like below.

     Output:  sh: readelf: not found

2) The test case tests /lib/libc.so.6 from lib32-libc6. So skip the test
   if lib32-libc6 is not installed.

   The related error message in log.do_testimage is like below.

     Output:   readelf: Error: 'lib/libc.so.6': No such file

(From OE-Core rev: eae929a5c224f5c3468d6a0466d1bbb3f678a5a1)

(From OE-Core rev: cb80105bbd03d8d9cc10139ed6f39b193e79c1b8)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-02 11:41:25 +01:00
Chen Qi
6af590bd29 oeqa/runtime/cases/rpm.py: skip if rpm not available
This test case should only run when rpm package is installed.
So skip it if rpm package is not installed. This fixes:

  RESULTS - rpm.RpmBasicTest.test_rpm_help - Testcase 1059: FAILED

(From OE-Core rev: bb909a60c04248d015d988e4454f0a11b1c287da)

(From OE-Core rev: 520c375d49df29453213c3cd4e2155e80e27a0ca)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-02 11:41:25 +01:00
Chen Qi
d83cda97df oeqa/core/decorator/data.py: fix skipIfNotInDataVar
The var might not be set, resulting in unexpected error.

  RESULTS - multilib.MultilibTest.test_check_multilib_libc - Testcase 1593: ERROR

The above error is due to MULTILIBS being not set, which is the default
for OE. This patch fixes this problem.

Also, the debugging message in skipIfNotInDataVar is currently confusing.
Instead of
DEBUG: Checking if 'MULTILIBS' value is in 'multilib:lib32' to run the test
it should be
DEBUG: Checking if 'MULTILIBS' value contains 'multilib:lib32' to run the test

This patch also fixes it.

(From OE-Core rev: 3f5c678664a2bba43d99508779dc2ce227cf52a2)

(From OE-Core rev: ea84439d42b578237d03d876992511eec73c5511)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-02 11:41:25 +01:00
Chen Qi
e8f0fbad1c testimage.bbclass: also check 'auto' to create rpm index
Having 'auto' in TEST_SUITES will also run the 'dnf' test cases,
so also check it to determine whether to create rpm index or not.

This is to fix the following error when TEST_SUITES = "auto".

  RESULTS - dnf.DnfRepoTest.test_dnf_makecache - Testcase 1744: ERROR

(From OE-Core rev: c1f4177848d25a9121f2a85da655ee414cd424b1)

(From OE-Core rev: 43f62481f40fdd1399e468d7fbeb93793e19f9a9)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-02 11:41:25 +01:00
Chen Qi
351a829d15 oeqa/runtime/cases/dnf_runtime.py: skip test if PACKAGE_FEED_URIS is not set
This test is to test the behaviour of PACKAGE_FEED_URIS is correct or not.
If it's not even set, it makes no sense to do such test. So skip this
test if PACKAGE_FEED_URIS is not set.

(From OE-Core rev: 37e3d9d91cc0c8d0dac48463a888c692f4648f66)

(From OE-Core rev: d442e67e94d589ce744e3c440e51470e63132459)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-02 11:41:25 +01:00
Chen Qi
398aaf26aa oeqa/core/decorator/__init__.py: use 'cls' instead of 'obj'
Use 'cls' instead of 'obj' to better reflect that registerDecorator
actually serves as a class decorator.

(From OE-Core rev: e06e4c859e8be5225d80806a2ebe175f0b152fe1)

(From OE-Core rev: 9daf742004f4256bcb429165cfbf8dfc735a9686)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-02 11:41:25 +01:00
Chen Qi
c0f6a11b21 oeqa/core/decorator/__init__.py: set metaclass to ABCMeta
OETestFilter is a subclass of OETestDecorator. It wants to make
use of @abstractmethod decorator. But such decorator requires
metaclass to be ABCMeta to have effect. So add it now to achieve
the designed behaviour.

Comments from python's manual:
"""
Using this decorator requires that the class's metaclass is ABCMeta
or is derived from it.
"""

(From OE-Core rev: 28c4fafb2322ea8c37bcd7710f22f46ef552a902)

(From OE-Core rev: 8c3a8c5d9fb31edbc37d8239c4cf5312a815a344)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-02 11:41:25 +01:00
Chen Qi
1066af1468 testimage.bbclass: fix behavior of empty TEST_SUITES
The current behaviour of TEST_SUITES is very confusing.

setting: TEST_SUITES = ""
result:  Execute all test cases.

setting: TEST_SUITES = "some_case_not_exist"
result:  Error out with 'Empty test suite' message.

The expected behaviour of TEST_SUITES should be:
1. when 'auto' is in it, execute as many test cases as possible
2. when no valid test case is specified, error out and give user message

The first one is implemented by a previous patch.
The second one is fixed in this patch.

Also add debug message to show test cases to be executed. This is
for easier debugging.

(From OE-Core rev: 909568821fbad8a6a7034b10a2dc349a210fdfc6)

(From OE-Core rev: 57f08e7ace4cc9486f86aafd1ade6ab5ad6a94d7)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-02 11:41:25 +01:00
Chen Qi
72f658348b oeqa/core/loader.py: support the 'auto' keyword
In previous OEQA, having 'auto' in TEST_SUITES results in executing
as many test cases as possible.

This behaviour is broken for now. From the codes in core/loader.py,
I can see that it tries to use another keyword 'all'. But in fact,
it does not work.

I've checked the current manual. The manual says using 'auto'.
Below is the current information in manual.

  """
  Alternatively, you can provide the "auto" option to have all applicable
  tests run against the image.

  TEST_SUITES_append = " auto"
  """

So we should restore this behaviour. This patch does so.

Also, output warning message is some module is named as 'auto', as this
is a reserved keyword.

(From OE-Core rev: a65460a063a958cc887c756db5f7ab18e3f5a8c1)

(From OE-Core rev: 8c247f5141f15160d670b49d9963f4143faedff5)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-02 11:41:25 +01:00
Anuj Mittal
33eb2fb5cd wic/bootimg-efi.py: recognize initrd when using grub
Make sure that we're able to use the initrd value specified in the wks
file when using grub-efi bootloader with bootimg-efi wic plugin.

Fixes [YOCTO #12689]

(From OE-Core rev: f1d5bb1f21e11714357aff4ae7e52421e3756c5a)

(From OE-Core rev: 941bf7bc40e11cbe9e68ccf14155196713709558)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-02 11:41:25 +01:00
Anuj Mittal
4b871ee7a7 wic/engine.py: improve error message when required tools are missing
Instead of showing that command 'None' was found, show the name of
actual command that wasn't found on the host machine or at the native
sysroot path provided by user.

(From OE-Core rev: 3157ebb131e01e74689b1f87a35278350f315e7d)

(From OE-Core rev: 73697d9e44e92b8e7c0cdd46339981f5633f09af)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-02 11:41:25 +01:00
Martin Jansa
41733717da qemu: refresh patches with devtool and make them applicable with git
(From OE-Core rev: e8fb42f3a54e8b8d68ae216a48534fa745ea99f1)

(From OE-Core rev: 0c0f1849ea0e40296117510b4d87a2505fe18e16)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-02 11:41:25 +01:00
Martin Kelly
28b0c96473 nativesdk-python*: suppress user site dirs
Currently, $HOME/.local is being added into sys.path in the Python SDK
causing subtle host contamination. Suppress this by exporting
PYTHONNOUSERSITE = "1" as documented in PEP 370.

This issue occurred in the past for python*-native and was fixed
similarly in OE-core commit 8fe9fb4d5a61dcbcb3fc5b9ee0234cc135af873f
("python*native.bbclass: suppress user site dirs").

(From OE-Core rev: 0dc36439cb9fe1cea50bed59da6302f78372a30b)

(From OE-Core rev: 376827d359a3769ee6477eac6e6b349a2050a867)

Signed-off-by: Martin Kelly <mkelly@xevo.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-02 11:41:25 +01:00
Anuj Mittal
5e2232b3c5 qemux86-directdisk.wks: remove uvesafb.mode_option
Let this be dictated by the module parameter value being set by qemu
machine configuration.

(From OE-Core rev: c40b241e8d40c8bc1c9e6065b12e260662f5bba4)

(From OE-Core rev: 5a3dec9fb42838ddfec7c0b216367bf4c9a32db6)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-02 11:41:25 +01:00
Anuj Mittal
2c63f6bc0e qemux86*: change default wic wks to qemux86-directdisk
When runqemu is invoked with an image type (wic, hddimg etc) as a parameter,
the kernel value and command line parameters from qemuboot.conf
are ignored and not passed to qemu cmdline.

As an example, when using:

$ runqemu wic kvm

It results in no network interface and video mode warnings when qemu is up because
the -kernel and -append options were not passed.

Change qemu conf to use qemux86-directdisk.wks that supplies the kernel parameters
that are appended to the bootloader configuration when generating qemu wic
images instead of relying on qemuboot.conf.

Fixes [YOCTO #12224]

(From OE-Core rev: 3b79d9a78816d2eb70fe54ca6cd086d94c115f05)

(From OE-Core rev: d22318def2af68f7c8b82605ba3fda8fcfcc9d0a)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-02 11:41:25 +01:00
Fathi Boudra
5c247b9ca7 ltp: build open posix test suite
We ship the open posix test suite already but it isn't compiled.
Let's build it and make it ready to use on the device.

(From OE-Core rev: 79b22a2539b7dec762523ca544e27b9cce7ee81e)

(From OE-Core rev: 65c044207fdc38f4b332278b120302f04366269e)

Signed-off-by: Fathi Boudra <fathi.boudra@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-02 11:41:25 +01:00
Andre McCurdy
93c6b789ef bitbake.conf: drop obsolete commented out value for TARGET_LDFLAGS
The commented out value for TARGET_LDFLAGS dates back to the switch
to sysroot enabled toolchains in 2007 and is now obsolete.

  http://git.openembedded.org/openembedded-core/commit/?id=ba2e1f4d933c37b372d6749d64614f2510ee9d7b

(From OE-Core rev: d47245b038d27aa5228052af71d973b9ac1c3a46)

(From OE-Core rev: 963ce2f8c68d4c82011aaae13ac109bdaacdaaf2)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-02 11:41:25 +01:00
Robert Yang
20d625c69c runqemu-extract-sdk: allow install debugfs on rootfs
Usually, the debugfs' (-dbg.tar.*) work follow is:
1) Install regular rootfs to dir_foo
2) Install debugfs (-dbg.tar.*) to the same dir_foo

So we need to allow installing the debugfs on top of the rootfs.

(From OE-Core rev: c54147b286d72d7c4f8ca55a5a62f5d27bd5364a)

(From OE-Core rev: fdd2fca2257172251ffb0fbc6dcd60bed01ee0f0)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-02 11:41:25 +01:00
Catalin Enache
7f47789362 init-install: add timeout for legacy grub
After installing an image from an iso, booting the system using
the legacy boots makes the grub prompt wait for an enter.

This is not desirable since many of this devices are embedded
devices that should start by them self without user entry.

(From OE-Core rev: f6d85426e48d458d0835d4fd3314ce53ab92bd38)

(From OE-Core rev: c82968498e57fb726b299ff4fff2b61e92e22063)

Signed-off-by: Catalin Enache <catalin.enache@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-02 11:41:25 +01:00
Liwei Song
7704098449 linux-firmware: package rtl8168 firmware
Add package for rtl8168 firmware which is required by Realtek
Ethernet Controller.

(From OE-Core rev: e5315d5d820cb1b164c75a0cab3804f6c69b5ba9)

(From OE-Core rev: 9910484a101279060cd0c9bc3e8b8af8700ba255)

Signed-off-by: Liwei Song <liwei.song@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-02 11:41:25 +01:00
Robert Yang
27881c8e92 site/powerpc64-linux: add cvs_cv_func_printf_ptr
Fixed when powerpc64:
$ bitbake <image> -ctestsdk
[snip]
checking whether printf supports %p... configure: error: cannot run test program while cross compiling
See `config.log' for more details.
test_cvs (oeqa.sdk.buildcvs.BuildCvsTest) ... FAIL
[snip]

The cvs_cv_func_printf_ptr is already in powerpc32-linux.

(From OE-Core rev: cbba73baf94cd0ee99d010abab79140cd5e4b99e)

(From OE-Core rev: b0488665785a07391b9a3ac25c3943b43ccb0a5c)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-02 11:41:25 +01:00
Ovidiu Panait
de85243b22 nativesdk-rpm: Add wrappers for nativesdk support
When installing the SDK to a non-default path, running "rpm --showrc" from the
sdk will produce the following error:
error: Unable to open /opt/windriver/wrlinux-small/10.17.41/sysroots/x86_64-wrlinuxsdk-linux/usr/lib/rpm/rpmrc for reading: No such file or directory.

Fix this by adding wrappers that dynamically export the RPM_CONFIGDIR,
RPM_ETCCONFIGDIR and MAGIC environment variables, pointing to the proper
sdk locations.

(From OE-Core rev: 760103cdaed3e820888d8984ec0b76cfc831d534)

(From OE-Core rev: bca05415510ebd847da0035536e32ab5fca1c3e2)

Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-02 11:41:25 +01:00
Yue Tao
67f4c5d1b6 initscripts: Avoid starting rpcbind daemon twice
Check the status before start it to avoid duplicates.

(From OE-Core rev: ca3ef7d1ef9b1f0dc4d3170b1ad20d5f725872a1)

(From OE-Core rev: 2f3faa2d80a2d848fe18fc375628b69a1ca4ee52)

Signed-off-by: Yue Tao <Yue.Tao@windriver.com>
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Jeff Polk <jeff.polk@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-02 11:41:25 +01:00
yadi.hu@windriver.com
4b173dcf7c shadow: fix pam configs for chpasswd, newusers
Fix below errors while pam is enabled on target:

  root@qemux86:~# newusers
  newusers: PAM: Authentication failure
  root@qemux86:~# chpasswd
  chpasswd: PAM: Authentication failure

The configs copied from "chgpasswd" which command works with pam.

(From OE-Core rev: f6efc1dbd1f3a0f68ee731ff2b5a5d798ecf2cf8)

(From OE-Core rev: 67a504e3bfa8272c0ced9caf98e38896c576e3b8)

Signed-off-by: Hu <yadi.hu@windriver.com>
Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-02 11:41:25 +01:00
Mingli Yu
4e184cf1c4 at: add libselinux to PACKAGECONFIG
* add libselinux to PACKAGECONFIG for at

(From OE-Core rev: 978309270afc0e3d3fd9c46f68ddf28db99d7416)

(From OE-Core rev: f2893771f49737ef9a26cf1875ad2fba00f92139)

Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-02 11:41:25 +01:00
Li Wang
0a0f10c738 gawk: fix command location in ptest script
* Correct the command location in ptest scripts such as
  update the line "#!/bin/awk -f" to "#!/usr/bin/awk -f" in the
  file /usr/lib64/gawk/ptest/test/fcall_exit2.awk belongs
  to package gawk-ptest and the line "#!/usr/local/bin/gawk -f"
  to "#!/usr/bin/gawk -f" in the file
  /usr/lib64/gawk/ptest/test/fnarydel.awk

(From OE-Core rev: 66aa9f1424202a583acd168182ae13ea68e2ab15)

(From OE-Core rev: ef52d0a065c7cdbddbce98e50e7abf0dd3ef9e3e)

Signed-off-by: Li Wang <li.wang@windriver.com>
Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-02 11:41:25 +01:00
Chen Qi
1339b251c6 gawk: upgrade to 4.2.1
(From OE-Core rev: 86f137436da8a6d4aded66e586ba2b1eff725022)

(From OE-Core rev: a2cedb6fa38392ea8d96428b18c8861cbbf3df10)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[Bug fix release per gawk release notes]
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-02 11:41:24 +01:00
Kai Kang
cc5e38f39f shadow: update ownership and permission of /var/spool/mail
Update shadow to change ownership of /var/spool/mail from root:root to
root:mail and permission from 0755 to 0775 just as in most popular
distributions such as fedora and debian(It also set setgid bit in debian
but we don't need it).

(From OE-Core rev: b3ab5fe359c38cdd5cd86cb8ffe076d7a2baac18)

(From OE-Core rev: a77eff19be1d5812999bf584364000440f218fbb)

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-02 11:41:24 +01:00
Scott Rifenbark
9e7dd7fdd3 sdk-manual: Updates to Depolying and Debugging
Made several formatting changes for selections.  These should
be using quotes and not being formatted in Courier.

(From yocto-docs rev: 0ca787b3ce91afbb4ea4aeb12052cff39892e99f)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-28 09:23:04 +01:00
Scott Rifenbark
aa6ea8847b sdk-manual: Updates to neon section building the project
Rendered a menu correctly instead of in formatting mode.

(From yocto-docs rev: 4c98d18ee3fbc57a369df4eb1251cafaaf16adee)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-28 09:23:04 +01:00
Scott Rifenbark
d71f08e7d3 sdk-manual: Updates to configuring the cross-toolchains section.
The step that describes how Eclipse runs the Autotools is too
detailed and can run into problems as Autotools workflow changes.
I made it more general.

(From yocto-docs rev: 5a67a115395d3e18523c4a3b3be24c214e560e54)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-28 09:23:04 +01:00
Scott Rifenbark
af334f2444 sdk-manual: Updated Neon creating the project section
Needed to render fields and items from the dialog in normal
text, not in formatted text.

(From yocto-docs rev: a2e17bd828ab1205bbb0c99fa00a76c2f5727e99)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-28 09:23:04 +01:00
Scott Rifenbark
04acd2fc0b sdk-manual: Updates to configuring targe options sections
Both Neon and Oxygen needed some changes for correct use of the
way we refer to menus and fields.

(From yocto-docs rev: c35168b623f6bece20ae7df1ae430259b2d20044)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-28 09:23:04 +01:00
Scott Rifenbark
c232b559f7 sdk-manual: Updates to configuring the cross compiler options
Used correct formatting for menu items and items fromt the
dialog screens.

(From yocto-docs rev: 28b37c9b0785da50a0da19757d70429de06991b5)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-28 09:23:04 +01:00
Scott Rifenbark
84a37339cc sdk-manual: Fixed section capitalization problem.
(From yocto-docs rev: 5f3272a0e327cae5f17700ba98aec6960b50ff8b)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-28 09:23:04 +01:00
Scott Rifenbark
9b7c894507 sdk-manual: Used ordered list for sequence-dependent items.
The list in the "Configuring the Neon Eclipse Yocto Plug-In
section should be an ordered list and not a bulleted list.

(From yocto-docs rev: 9e616582ee27d0bb976427d21d54b023f83eff56)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-28 09:23:04 +01:00
Scott Rifenbark
e7cbff7002 sdk-manual: Updates to Neon intalling YP plug-in from latest source
I provided similar wordings in places in this section as were provided
in the parallel "oxygen" section.

(From yocto-docs rev: 956ee839f05d6608c315899c4444d125db338ef7)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-28 09:23:04 +01:00
Scott Rifenbark
92f7ba16da sdk-manual: Updated the step to install the pre-build YP plug-in
Needed to consolidate a couple steps here.  When you add in the
location for the YP Plug-in, it auto-populates the options.
Updated the prose to reflect that.

(From yocto-docs rev: 3d621a1fe552c6133517256c21efdfe4cacfe6ed)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-28 09:23:04 +01:00
Scott Rifenbark
409b08f123 sdk-manual: Updated steps to configure Neon Eclipse IDE
The "Configuring the Neon Eclipse IDE" section needed a bit more
information in the note.  Telling the users that if some options
are already installed they will not appear in the list.

(From yocto-docs rev: 09b3252aaf49574e669b67e3ff00dceab89b40f5)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-28 09:23:04 +01:00
Scott Rifenbark
c548cc7b0a sdk-manual: Updated the Neon step to unpack the tarball
Steps indicated you had to be in a clean directory to unpack the
tarball.  This is false.  You can be in any directory and unpack the
file.  Unpacking it puts all the files into a directory named
"eclipse".

(From yocto-docs rev: 426aa18db25dbc275674a8aef26ede586a79ed3f)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-28 09:23:04 +01:00
Scott Rifenbark
0a8a26d8bc sdk-manual: Updates to step to download Neon Eclipse.
Fixed this step to be more accurate.

(From yocto-docs rev: 9df184b4ed7e8a7fa5849624911b810129c099a7)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-28 09:23:04 +01:00
Scott Rifenbark
f4253f4d4e sdk-manual: Fixed link in the intro section for Neon
The link was pointing to the Chapter 5 as if it were in a different
manual.  The link worked but should have been pointing to the actual
section of the Eclipse flow overview.  Fixed it.

(From yocto-docs rev: c60bc694a5b25fd2a9df5a10691ba301d39c5f16)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-28 09:23:04 +01:00
Scott Rifenbark
99ad8448a6 sdk-manual: Updated the note in Eclipse configuration section
Using consistent wording.

(From yocto-docs rev: 067cba1b925cca971e783bd7e4abc9c965b0d8de)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-28 09:23:04 +01:00
Scott Rifenbark
3e898a6da0 sdk-manual: Updated step to install Oxygen
The step describes the installation process and the intial launch
process.  No information exists for describing how you launch
Oxygen from outside the install process.  I added a note that
tells where the "eclipse" binary is installed and an example
line to invoke it.

(From yocto-docs rev: 6e3dbc9e123394d311da234e4457b9a6c253ff0d)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-28 09:23:04 +01:00
Scott Rifenbark
f535f16c2b sdk-manual: Removed superfluous text from Step 5 of the flow.
(From yocto-docs rev: 0869e5d1d2cc9239adbf58ad83c3305b34f38f01)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-28 09:23:04 +01:00
Scott Rifenbark
d4fa6e28ab sdk-manual: Updated workflow step on getting the image
Provided better instructions and accounted for the fact that it
is just this workflow here that is assuming the need for a
YP-built image.

(From yocto-docs rev: edba9e07d7029e9276ebfd288448f4849ff3aed4)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-28 09:23:04 +01:00
Scott Rifenbark
ce41cdbf31 sdk-manual: Updates to Eclipse Workflow section
Updated the "Workflow Using Eclipse" section head to not match so
closely the "Working With Eclipse" section heading.  TOC appeared
funny.

Also, updated the step 1 to be more accurate regarding the real
need of having a YP build host and where to go to get information
on setting it up.

(From yocto-docs rev: 4951b3f492c24724f1169068ee3593ad93b0c48a)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-28 09:23:04 +01:00
Peter Kjellerstedt
4b6ff20a44 rpm: Restore performance in Docker containers
If the maximum number of open file descriptors is much greater than the
usual 1024 (for example inside a Docker container), the performance
drops significantly.

This was reported upstream in:
https://bugzilla.redhat.com/show_bug.cgi?id=1537564
which resulted in:
https://github.com/rpm-software-management/rpm/pull/444

The pull request above has now been integrated and this commit contains
a backport of its three patches, which together change the behavior of
rpm so that its performance is now independent of the maximum number of
open file descriptors.

(From OE-Core rev: 6ecb10e3952af4a77bc79160ecd81117e97d022a)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-15 17:56:58 +01:00
Peter Kjellerstedt
a20981354f Revert "rpm: add a patch to help with Docker performance issues"
This reverts commit 6f1822e5f1eaafd8bc46e999de730c1fcca77f3a.

This patch only solved a part of the problem.

(From OE-Core rev: 00a243c532095b593267d0e5075ea255eaabe720)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-15 17:56:58 +01:00
Richard Purdie
11fdce318f rpm: Fix patch to ensure variables aren't used uninitialised
Recent patches were applied which removed a function which set the xx
variable. This means xx can be uninitalised and prerm functions can fail.

This adjusts the patch to ensure the xx value isn't used in such a way.

(From OE-Core rev: 3feebf7d28ef1049075a9d2ad3d64fc9b35015f2)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-15 17:56:58 +01:00
Otavio Salvador
c438388d6b linux-firmware: upgrade to 8fc2d4e5 revision
8fc2d4e Merge git://git.marvell.com/mwifiex-firmware
e1abab6 linux-firmware: update Marvell USB8997 firmware image to add WPA2 vulnerability fix
c38c231 linux-firmware: update Marvell SD8897-B0 firmware image to add WPA2 vulnerability fix
0686ec7 Merge branch 'firmware-update' of https://github.com/intel/opa-firmware
bb7f773 Update Intel OPA hfi1 firmware
397a604 qed: Add firmware 8.33.12.0
40d4117 linux-firmware: Add firmware file for Intel Bluetooth,9560
bf3934f linux-firmware: Add firmware file for Intel Bluetooth,9260
f865934 linux-firmware: Update firmware file for Intel Bluetooth,8265
7dab503 Merge branch 'for-upstream' of git://git.chelsio.net/pub/git/linux-firmware
0caed67 cxgb4: update firmware to revision 1.19.1.0
0783fb9 nfp: add symlink for mixed mode Agilio CX 2x25GbE cards
380957e nfp: update Agilio SmartNIC flower firmware to rev 5701
b562d2f linux-firmware: update wil6210 firmware to 5.2.0.18
c1aa76a linux-firmware: rsi: update firmware images for Redpine 9113 chipset
1621614 Merge tag 'iwlwifi-fw-2018-04-06' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/linux-firmware
50c1323 iwlwifi: update firmwares for 3160, 3168 and 7265
c711ea5 iwlwifi: add some new FW versions and update older ones
8c1e439 amdgpu: update vce firmware for Polaris
31accdf linux-firmware: Add firmware file for Intel Bluetooth,9560
89139e8 linux-firmware: Add firmware file for Intel Bluetooth,9260
58cdb52 linux-firmware: Update firmware file for Intel Bluetooth,8265
9cb49be linux-firmware: Update firmware patch for Intel Bluetooth 8260
a3be6d4 Merge https://github.com/Netronome/linux-firmware into netro

License-Update: new files and version update. Same terms.
(From OE-Core rev: 8c0ee2072d493ecd09284c27fc8d627e3e6c5ae8)

(From OE-Core rev: 1325518f8f2dafc09acd1bef5f93aa3550063306)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-15 17:56:58 +01:00
Khem Raj
e7233e33a1 libxcrypt: Upgrade to 4.0.1
Minor release primary fixes are
* get it building with gcc8
* Fixes for riscv64

drop local gcc8 support patch which is not needed now

(From OE-Core rev: b02ac5dd2dc27fe742cb7f20a12090eda3190c84)

(From OE-Core rev: 793d613253ea23ee4dc0819591e5c9851e6bd829)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[Fixup for Sumo context, skipped gcc8 fix]
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-15 17:56:58 +01:00
Armin Kuster
2b2ea2fa33 cmake: fix build issue with boost 1.66.0
this fixes a build issue with boost 1.66.0

[Yocto 12762]

(From OE-Core rev: 2ff3d3296deacb9af4d9ad0b92cd7ba5f94b7182)

(From OE-Core rev: eeb16e3601f884dfc0d3ddc54263f6bc5ccf8314)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-15 17:56:57 +01:00
Alexander Kanavin
684b953071 sysvinit-inittab: do not use 'exit 1' to postpone to first boot
Instead, first check if we need to do anything at all during first boot,
and if so, either postpone to first boot via pkg_postinst_ontarget()
when running on host, or run the necessary setup code when running on target.

(From OE-Core rev: 16df1717c3813ba773e0dfa2d1db471816d8b99b)

This is a backport from master

(From OE-Core rev: f9f045ce9cbd441375f15911f3535cb1e304ba5b)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-15 17:56:57 +01:00
Bruce Ashfield
1b2380158c linux-yoct/4.12: update to v4.12.24
Updating to include Paul Gortmaker's latest round of stable updates, which
comprise the following commits:

   dc2f71a08d7a Linux 4.12.24
   4cab262afa69 iio: adc: ti-ads1015: add 10% to conversion wait time
   89f573e6f136 tools include: Do not use poison with C++
   d4f418739d68 kprobes/x86: Disable preemption in ftrace-based jprobes
   28861253362b perf test attr: Fix ignored test case result
   12c60baac963 staging: fsl-mc/dpio: Fix incorrect comparison
   43e1cab01765 serial: imx: Update cached mctrl value when changing RTS
   6122e955f082 usbip: tools: Install all headers needed for libusbip development
   c1fce3e6296c serial: sh-sci: suppress warning for ports without dma channels
   444cfc461e20 sysrq : fix Show Regs call trace on ARM
   0040e82b1a65 usb: xhci: Return error when host is dead in xhci_disable_slot()
   e1667a3749da staging: fsl-dpaa2/eth: Account for Rx FD buffers on error path
   7e22cbc6bd55 usb: mtu3: fix error return code in ssusb_gadget_init()
   c528464afcea EDAC, sb_edac: Fix missing break in switch
   e207a0c6a285 clocksource/drivers/arm_arch_timer: Validate CNTFRQ after enabling frame
   c3c5783f9303 serial: 8250: Preserve DLD[7:4] for PORT_XR17V35X
   ca7b446eff2f PCI: dra7xx: Create functional dependency between PCIe and PHY
   7897f75fc207 usb: phy: tahvo: fix error handling in tahvo_usb_probe()
   c240911c41c3 mmc: sdhci-msm: fix issue with power irq
   97227123b5f0 mmc: tmio: check mmc_regulator_get_supply return value
   05ce425fa841 spi: spi-axi: fix potential use-after-free after deregistration
   42f90afc67e4 spi: sh-msiof: Fix DMA transfer size check
   c652d0d523bf staging: rtl8188eu: avoid a null dereference on pmlmepriv
   3dc08560ab63 serial: 8250_fintek: Fix rs485 disablement on invalid ioctl()
   d57c00699295 m68k: fix ColdFire node shift size calculation
   df74b0c1e0b4 staging: greybus: loopback: Fix iteration count on async path
   96be1d656724 x86/entry/64: Don't use IST entry for #BP stack (part #2)
   8e3f9a001776 selftests/x86/ldt_get: Add a few additional tests for limits
   0d0517d16bc5 s390/pci: do not require AIS facility
   778bf06a0661 PM / Domains: Fix genpd to deal with drivers returning 1 from ->prepare()
   bd4084ce13d2 s390: vfio-ccw: Do not attempt to free no-op, test and tic cda.
   fd6fe520a496 ima: fix hash algorithm initialization
   83cd72f27843 usb: host: fix incorrect updating of offset
   4ab295bc9cdf USB: usbfs: Filter flags passed in from user space
   d8ce9fecf049 USB: Fix off by one in type-specific length check of BOS SSP capability
   dc9843bd9e72 USB: core: Add type-specific length check of BOS descriptors
   ab95f86f0fac usb: xhci: fix panic in xhci_free_virt_devices_depth_first
   c1b551b8718a xhci: Don't show incorrect WARN message about events for empty rings
   8412154c096c USB: ulpi: fix bus-node lookup
   10d2d61bff44 usb: hub: Cycle HUB power when initialization fails
   da44857edd20 powerpc/kprobes: Fix call trace due to incorrect preempt count
   67482fcb1f0a powerpc/kprobes: Disable preemption before invoking probe handler for optprobes
   6f745a984365 powerpc/jprobes: Disable preemption when triggered through ftrace
   3fefceeaca8e USB: serial: usb_debug: add new USB device id
   9c971e7d3a9f USB: serial: option: add Quectel BG96 id
   cc01c484eee9 serial: 8250_pci: Add Amazon PCI serial device ID
   d16393b7a9d8 usb: quirks: Add no-lpm quirk for KY-688 USB 3.1 Type-C Hub
   7a0ac9cc347c uas: Always apply US_FL_NO_ATA_1X quirk to Seagate devices
   52c2b20403f0 s390/runtime instrumentation: simplify task exit handling
   04dd38b88979 drm/fsl-dcu: enable IRQ before drm_atomic_helper_resume()
   f363e7cdb4f6 drm/fsl-dcu: avoid disabling pixel clock twice on suspend
   2845e7d136c8 drm/i915: Prevent zero length "index" write
   79413d6f2f6f drm/i915: Don't try indexed reads to alternate slave addresses
   f5cc8d6842e6 drm/i915/gvt: Correct ADDR_4K/2M/1G_MASK definition
   1fab446c5b5a drm/i915: Fix false-positive assert_rpm_wakelock_held in i915_pmic_bus_access_notifier v2
   708262ebbebc md: forbid a RAID5 from having both a bitmap and a journal.
   40219fc4a45b e1000e: fix the use of magic numbers for buffer overrun issue
   9bbd7fc437e0 include/linux/compiler-clang.h: handle randomizable anonymous structs
   13782a203fb8 drm/amd/pp: fix typecast error in powerplay.
   dd1ab1b7a09e drm/ttm: once more fix ttm_buffer_object_transfer
   1e1df0b0eb71 drm/hisilicon: Ensure LDI regs are properly configured.
   e10ca648a294 drm/panel: simple: Add missing panel_simple_unprepare() calls
   28fb6325953c drm/radeon: fix atombios on big endian
   0f7ff143e866 drm/tilcdc: Precalculate total frametime in tilcdc_crtc_set_mode()
   00debaff36fb drm/amdgpu: Remove check which is not valid for certain VBIOS
   53543b5a5062 drm/amdgpu: Properly allocate VM invalidate eng v2
   6095ee5e76ed drm/amdgpu: correct reference clock value on vega10
   8544b664f20e Revert "drm/radeon: dont switch vt on suspend"
   3b28b8cd6364 nvme-pci: add quirk for delay before CHK RDY for WDC SN200
   2c1ae94e88ee hwmon: (jc42) optionally try to disable the SMBUS timeout
   8fcaaeed325c bcache: recover data from backing when data is clean
   027fe49240fa bcache: only permit to recovery read error when cache device is clean
   3746f4374ee2 bcache: Fix building error on MIPS
   72ea117f664e cxl: Check if vphb exists before iterating over AFU devices
   8ee52dd3b01a i2c: i801: Fix Failed to allocate irq -2147483648 error
   ab7ae0720406 eeprom: at24: check at24_read/write arguments
   1025c12d637b eeprom: at24: correctly set the size for at24mac402
   32aba2ddc564 eeprom: at24: fix reading from 24MAC402/24MAC602
   ec5216d0e845 mmc: core: prepend 0x to OCR entry in sysfs
   a64429e1d089 mmc: core: prepend 0x to pre_eol_info entry in sysfs
   32f6d6221e55 mmc: core: Do not leave the block driver in a suspended state
   fa455ca7acc6 arm64: module-plts: factor out PLT generation code for ftrace
   d9c2c353dc61 s390: revert ELF_ET_DYN_BASE base changes
   5c10828c07be lockd: lost rollback of set_grace_period() in lockd_down_net()
   91ed144855d5 crypto: skcipher - Fix skcipher_walk_aead_common
   0ff5af74c047 nfsd: fix panic in posix_unblock_lock called from nfs4_laundromat
   b187299249a2 nfsd: Fix another OPEN stateid race
   2e36e8a92541 nfsd: Fix stateid races between OPEN and CLOSE
   237c8c16013d btrfs: clear space cache inode generation always
   e6eedfd1ca3f mm/hugetlb: fix NULL-pointer dereference on 5-level paging machine
   b19cd2bae194 autofs: revert "autofs: take more care to not update last_used on path walk"
   9c0369beda80 device-dax: implement ->split() to catch invalid munmap attempts
   0d73cfed1391 platform/x86: hp-wmi: Fix tablet mode detection for convertibles

(From OE-Core rev: 5f5603c33368d7b0143aeb77a95bed90bb92cb51)

(From OE-Core rev: 63240522d5693e3e59da0ef849fe342acd5ab3c2)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-15 17:56:57 +01:00
Bruce Ashfield
f3c4457dd8 linux-yocto/4.12: update to v4.12.23
Integrating the -stable updates from Paul Gortmake that comprise the following
commits:

   6e83f40c507e Linux 4.12.23
   55e376304f1b e1000e: fix buffer overrun while the I219 is processing DMA transactions
   3882bb678dd8 e1000e: Fix return value test
   167170375055 e1000e: Fix error path in link detection
   47722947f954 ARM64: dts: meson-gxl: Add alternate ARM Trusted Firmware reserved memory zone
   1dbaaa42b464 media: v4l2-ctrl: Fix flags field on Control events
   c7c9d8c465d7 [media] cx231xx-cards: fix NULL-deref on missing association descriptor
   6ee1ead888a3 media: rc: check for integer overflow
   6f70063599b3 media: Don't do DMA on stack for firmware upload in the AS102 driver
   ef4c54828c1d powerpc/64s/hash: Allow MAP_FIXED allocations to cross 128TB boundary
   d308f45eb9e7 powerpc/64s/hash: Fix fork() with 512TB process address space
   61c9dab21d03 powerpc/64s/hash: Fix 128TB-512TB virtual address boundary case allocation
   40744bdf965e powerpc/64s/hash: Fix 512T hint detection to use >= 128T
   c5866bd94f03 powerpc/64s/radix: Fix 128TB-512TB virtual address boundary case allocation
   49e9f537eb43 powerpc/signal: Properly handle return value from uprobe_deny_signal()
   fb991189ca1f parisc: Fix validity check of pointer size argument in new CAS implementation
   ae519d5e90b9 ixgbe: Fix skb list corruption on Power systems
   2a827971bc99 fm10k: Use smp_rmb rather than read_barrier_depends
   b1222f423f70 i40evf: Use smp_rmb rather than read_barrier_depends
   61d3820d1146 ixgbevf: Use smp_rmb rather than read_barrier_depends
   8c40cc266d42 igbvf: Use smp_rmb rather than read_barrier_depends
   d05a14e4483e igb: Use smp_rmb rather than read_barrier_depends
   9062b3d8fadd i40e: Use smp_rmb rather than read_barrier_depends
   bb0ddf274e82 spi-nor: intel-spi: Fix broken software sequencing codes
   11604df811a9 IB/srp: Avoid that a cable pull can trigger a kernel crash
   7a2f561b9470 IB/hfi1: Fix incorrect available receive user context count
   305382ae2297 IB/cm: Fix memory corruption in handling CM request
   9792edc692f1 IB/CM: Create appropriate path records when handling CM request
   0624d71dcd6f IB/srpt: Do not accept invalid initiator port names
   ff4035fcfb4d svcrdma: Preserve CB send buffer across retransmits
   f18fd397f0c1 libnvdimm, namespace: make 'resource' attribute only readable by root
   91d9aa084602 libnvdimm, region : make 'resource' attribute only readable by root
   ea9427658840 libnvdimm, namespace: fix label initialization to use valid seq numbers
   c0bcae085da8 libnvdimm, pfn: make 'resource' attribute only readable by root
   aa91e16e2756 libnvdimm, dimm: clear 'locked' status on successful DIMM enable
   eca24c2a944d clk: ti: dra7-atl-clock: fix child-node lookups
   104ab8491706 SUNRPC: Fix tracepoint storage issues with svc_recv and svc_rqst_status
   a6579fafe2b9 dax: fix general protection fault in dax_alloc_inode
   b4f77dd3db27 dax: fix PMD faults on zero-length files
   12b2a43aa1b0 lockd: double unregister of inetaddr notifiers
   f2fa2903113c irqchip/gic-v3: Fix ppi-partitions lookup
   c08ddb437ddb genirq: Track whether the trigger type has been set
   fc12863e2ba3 raid1: prevent freeze_array/wait_all_barriers deadlock
   3c56a460c8bf block: Fix a race between blk_cleanup_queue() and timeout handling
   1e28e345115e p54: don't unregister leds when they are not initialized
   937209dd49f8 mailbox: bcm-flexrm-mailbox: Fix FlexRM ring flush sequence
   73d36ccc25ad mtd: nand: mtk: fix infinite ECC decode IRQ issue
   886c51dad821 mtd: nand: Fix writing mtdoops to nand flash.
   684797376fd0 mtd: nand: omap2: Fix subpage write
   b58d7cba2730 target: Avoid early CMD_T_PRE_EXECUTE failures during ABORT_TASK
   8412e7db941c target: Fix quiese during transport_write_pending_qf endless loop
   7c302f595f4b target: Fix caw_sem leak in transport_generic_request_failure
   cc36f84ff1f0 target: Fix QUEUE_FULL + SCSI task attribute handling
   41411af9e8ad target: fix null pointer regression in core_tmr_drain_tmr_list
   8734ebeb8106 iscsi-target: Fix non-immediate TMR reference leak
   2e2bc1186a08 iscsi-target: Make TASK_REASSIGN use proper se_cmd->cmd_kref
   6de2abbd4c31 scsi: lpfc: Fix oops if nvmet_fc_register_targetport fails
   2000b870234f scsi: lpfc: Fix FCP hba_wqidx assignment
   01f0e334995a scsi: lpfc: Fix crash receiving ELS while detaching driver
   020ccb98ef75 scsi: lpfc: fix pci hot plug crash in list_add call
   9b58a782f5a4 scsi: lpfc: fix pci hot plug crash in timer management routines
   e316d92e10ac scsi: sd_zbc: Fix sd_zbc_read_zoned_characteristics()
   f98e27e575f1 net/9p: Switch to wait_event_killable()
   8be417a79efc fs/9p: Compare qid.path in v9fs_test_inode
   2e349fe9c2bb fix a page leak in vhost_scsi_iov_to_sgl() error recovery
   c0697b079ae5 mfd: lpc_ich: Avoton/Rangeley uses SPI_BYT method
   2ace5971b1c1 ASoC: sun8i-codec: Set the BCLK divider
   c7316d6679de ASoC: sun8i-codec: Fix left and right channels inversion
   2eb91e439cdf ASoC: sun8i-codec: Invert Master / Slave condition
   0a116d482fa8 ALSA: hda/realtek - Fix ALC700 family no sound issue
   1505048e3ff8 ALSA: hda: Fix too short HDMI/DP chmap reporting
   1a1f798bfb30 ALSA: timer: Remove kernel warning at compat ioctl error paths
   1051d7755bda ALSA: usb-audio: Add sanity checks in v2 clock parsers
   199cd7823763 ALSA: usb-audio: Fix potential out-of-bound access at parsing SU
   cf7d9d2b53dc ALSA: usb-audio: Add sanity checks to FE parser
   aba17bf44d13 ALSA: pcm: update tstamp only if audio_tstamp changed
   29259072ec04 ext4: prevent data corruption with journaling + DAX
   97da4f9039cb ext4: prevent data corruption with inline data + DAX
   5ddf166442c3 ext4: fix interaction between i_size, fallocate, and delalloc after a crash
   9ed0b612fb77 ata: fixes kernel crash while tracing ata_eh_link_autopsy event
   9d238de93426 fsnotify: fix pinning group in fsnotify_prepare_user_wait()
   5b981d854914 fsnotify: pin both inode and vfsmount mark
   91b0d40827a2 fsnotify: clean up fsnotify_prepare/finish_user_wait()
   99a127e4a587 md/bitmap: revert a patch
   b11cb870192e Bluetooth: btqcomsmd: Add support for BD address setup
   cd4c4ed7d2a0 md: don't check MD_SB_CHANGE_CLEAN in md_allow_write
   96e829f152c7 rtlwifi: fix uninitialized rtlhal->last_suspend_sec time
   7d43a23c6689 rtlwifi: rtl8192ee: Fix memory leak when loading firmware
   ef7cb0278073 nfsd: deal with revoked delegations appropriately
   b6996af90c58 NFS: revalidate "." etc correctly on "open".
   76d4c8adb264 NFS: Avoid RCU usage in tracepoints
   78e607a16574 nfs: Fix ugly referral attributes
   43f950f570f7 NFS: Revert "NFS: Move the flock open mode check into nfs_flock()"
   52e54c5dc1d3 NFS: Fix typo in nomigration mount option
   930ac0de39d5 isofs: fix timestamps beyond 2027
   70fb63a15260 fanotify: fix fsnotify_prepare_user_wait() failure
   568131ebc640 bcache: check ca->alloc_thread initialized before wake up it
   4739cc25fe6a libceph: don't WARN() if user tries to add invalid key
   f5e35be74237 eCryptfs: use after free in ecryptfs_release_messaging()
   8fa715eede18 fscrypt: lock mutex before checking for bounce page pool
   e880aa103552 nilfs2: fix race condition that causes file system corruption
   0eb9f2d0c80d autofs: fix careless error in recent commit
   7724ca25f299 autofs: don't fail mount for transient error
   020cd1b07344 rt2x00usb: mark device removed when get ENOENT usb error
   728ec449a62c MIPS: math-emu: Fix final emulation phase for certain instructions
   e67e9e160afb MIPS: BCM47XX: Fix LED inversion for WRT54GSv1
   b7fc80471672 MIPS: Fix an n32 core file generation regset support regression
   695a30121f31 MIPS: dts: remove bogus bcm96358nb4ser.dtb from dtb-y entry
   649b942f5f21 dm: discard support requires all targets in a table support discards
   9a77250fe32f dm: fix race between dm_get_from_kobject() and __dm_destroy()
   0f222c2c6239 MIPS: pci: Remove KERN_WARN instance inside the mt7620 driver
   badd13d39a0d dm: allocate struct mapped_device with kvzalloc
   1ea71c17d132 ovl: Put upperdentry if ovl_check_origin() fails
   20f908eac772 dm bufio: fix integer overflow when limiting maximum cache size
   21e0f5780760 dm mpath: remove annoying message of 'blk_get_request() returned -11'
   84370754991c dm crypt: allow unaligned bv_offset
   c27aa7e405c2 dm cache: fix race condition in the writeback mode overwrite_bio optimisation
   463a9e155dab dm integrity: allow unaligned bv_offset
   fa7ebbb65fac ALSA: hda: Add Raven PCI ID
   571d0222e808 PCI: Apply Cavium ThunderX ACS quirk to more Root Ports
   86602f1c5aac PCI: Set Cavium ACS capability quirk flags to assert RR/CR/SV/UF
   fc037283c8a7 PCI/ASPM: Use correct capability pointer to program LTR_L1.2_THRESHOLD
   f56bf6a0bd36 PCI/ASPM: Account for downstream device's Port Common_Mode_Restore_Time
   03a249b08df1 PM / OPP: Add missing of_node_put(np)
   2c1211c2edc9 nbd: don't start req until after the dead connection logic
   01d54a192605 nbd: wait uninterruptible for the dead timeout
   7bc2c995f8db net: mvneta: fix handling of the Tx descriptor counter
   504d2a22b3af MIPS: ralink: Fix typo in mt7628 pinmux function
   2f51d995b2b7 MIPS: ralink: Fix MT7628 pinmux
   55cc724a945f ARM: 8721/1: mm: dump: check hardware RO bit for LPAE
   884c853ff37b ARM: 8722/1: mm: make STRICT_KERNEL_RWX effective for LPAE
   c6a032594344 arm64: Implement arch-specific pte_access_permitted()
   8420a2afdea5 x86/entry/64: Fix entry_SYSCALL_64_after_hwframe() IRQ tracing
   95f53ae99256 lib/mpi: call cond_resched() from mpi_powm() loop
   a5d620687584 sched: Make resched_cpu() unconditional
   188ec06978ac serdev: fix registration of second slave
   9a6630779ac1 cpufreq: schedutil: Reset cached_raw_freq when not in sync with next_freq
   12da4fd9af22 ACPI / EC: Fix regression related to triggering source of EC event handling
   1925155cbaf8 s390/disassembler: correct disassembly lines alignment
   3bbfc892e348 s390/disassembler: increase show_code buffer size
   f2dd6d7f4453 s390/disassembler: add missing end marker for e7 table
   e4d2498802cf s390/guarded storage: fix possible memory corruption
   c1de5b04dff3 s390/runtime instrumention: fix possible memory corruption
   1156f0d1e7b9 s390/noexec: execute kexec datamover without DAT
   893ce3be12b7 s390: fix transactional execution control register handling
   e883dcdf2291 lguest: disable it vs. removing it.
   40bda3ef7bfd x86/entry/64: Don't use IST entry for #BP stack
   7414e2e34e6f kvm/x86: fix icebp instruction handling
   32ec5903cbbe perf/hwbp: Simplify the perf-hwbp code, fix documentation
   cc46dc546e06 media: usbtv: prevent double free in error case
   ffe911e1acac ALSA: seq: Make ioctls race-free

(From OE-Core rev: cd10e3be03a5c7c8c0e376c3e35fcba6d064a6db)

(From OE-Core rev: a00a3bc7d053dd2f0f6d3c20ca8a50e29a6afda9)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-15 17:56:57 +01:00
Bruce Ashfield
9cb5182ac2 linux-yocto/4.12: update to v4.12.22
Paul Gortmaker released another 4.12-stable that comprises the following
changes:

   23dcfbfbca0a Linux 4.12.22
   d4879ce5efb7 arm64: Kill PSCI_GET_VERSION as a variant-2 workaround
   77915e1a7544 arm64: Add ARM_SMCCC_ARCH_WORKAROUND_1 BP hardening support
   b06fbedb6e14 arm/arm64: smccc: Implement SMCCC v1.1 inline primitive
   1f400b388a20 arm/arm64: smccc: Make function identifiers an unsigned quantity
   f5d3afa3aecc firmware/psci: Expose SMCCC version through psci_ops
   4c69d3a66e60 firmware/psci: Expose PSCI conduit
   cfec930a45f8 arm64: KVM: Add SMCCC_ARCH_WORKAROUND_1 fast handling
   9e9697733818 arm64: KVM: Report SMCCC_ARCH_WORKAROUND_1 BP hardening support
   2a8574eb6e3f arm/arm64: KVM: Turn kvm_psci_version into a static inline
   2c79f828dfed arm64: KVM: Make PSCI_VERSION a fast path
   042626a87234 arm/arm64: KVM: Advertise SMCCC v1.1
   48a9e563e528 arm/arm64: KVM: Implement PSCI 1.0 support
   28283de68052 arm/arm64: KVM: Add smccc accessors to PSCI code
   33d47367626b arm/arm64: KVM: Add PSCI_VERSION helper
   82ca1dcebf95 arm/arm64: KVM: Consolidate the PSCI include files
   efb7c6b5b7f9 arm64: KVM: Increment PC after handling an SMC trap
   b720b7837ed8 arm64: Branch predictor hardening for Cavium ThunderX2
   6f2750c7a1c9 arm64: Implement branch predictor hardening for Falkor
   b56fa11959a7 arm64: Implement branch predictor hardening for affected Cortex-A CPUs
   5eb80f970c49 arm64: cputype: Add missing MIDR values for Cortex-A72 and Cortex-A75
   cf45e77d8106 arm64: entry: Apply BP hardening for suspicious interrupts from EL0
   e9c2f25bf62d arm64: entry: Apply BP hardening for high-priority synchronous exceptions
   b4f51ebd0fc3 arm64: KVM: Use per-CPU vector when BP hardening is enabled
   e8f7c5ba8c70 arm64: Move BP hardening to check_and_switch_context
   e2c124fa14e1 arm64: Add skeleton to harden the branch predictor against aliasing attacks
   ddd305f0fdf8 arm64: Move post_ttbr_update_workaround to C code
   204d987e7143 drivers/firmware: Expose psci_get_version through psci_ops structure
   8880e6380d91 arm64: cpufeature: Pass capability structure to ->enable callback
   48017c15187b arm64: Run enable method for errata work arounds on late CPUs
   cf64258fb122 arm64: cpufeature: __this_cpu_has_cap() shouldn't stop early
   7d550f8cb119 arm64: futex: Mask __user pointers prior to dereference
   b9d01590df34 arm64: uaccess: Mask __user pointers for __arch_{clear, copy_*}_user
   1b74ca827ed3 arm64: uaccess: Don't bother eliding access_ok checks in __{get, put}_user
   41b08b7c365b arm64: uaccess: Prevent speculative use of the current addr_limit
   1736debe11ef arm64: entry: Ensure branch through syscall table is bounded under speculation
   84e4780beea5 arm64: Use pointer masking to limit uaccess speculation
   d77d4c9aa433 arm64: Make USER_DS an inclusive limit
   b96ab81a6468 arm64: Implement array_index_mask_nospec()
   21eb21937d8e arm64: barrier: Add CSDB macros to control data-value prediction
   da1217a79997 arm64: idmap: Use "awx" flags for .idmap.text .pushsection directives
   c20b48f5b7a3 arm64: entry: Reword comment about post_ttbr_update_workaround
   15d4d37f7709 arm64: Force KPTI to be disabled on Cavium ThunderX
   3489abd67e33 arm64: kpti: Add ->enable callback to remap swapper using nG mappings
   b154d9be8c6f arm64: mm: Permit transitioning from Global to Non-Global without BBM
   1610bb019302 arm64: kpti: Make use of nG dependent on arm64_kernel_unmapped_at_el0()
   250a3a64585f arm64: Turn on KPTI only on CPUs that need it
   32da2aa26b97 arm64: cputype: Add MIDR values for Cavium ThunderX2 CPUs
   93d290bbe8f1 arm64: kpti: Fix the interaction between ASID switching and software PAN
   923618230c12 arm64: mm: Introduce TTBR_ASID_MASK for getting at the ASID in the TTBR
   51218390beb6 arm64: capabilities: Handle duplicate entries for a capability
   630cf7161fca arm64: Take into account ID_AA64PFR0_EL1.CSV3
   4b7ebe5c3644 arm64: Kconfig: Reword UNMAP_KERNEL_AT_EL0 kconfig entry
   e09f32469091 arm64: Kconfig: Add CONFIG_UNMAP_KERNEL_AT_EL0
   8202169d678a arm64: use RET instruction for exiting the trampoline
   414d9eabda3d arm64: kaslr: Put kernel vectors address in separate data page
   fce92f180168 arm64: entry: Add fake CPU feature for unmapping the kernel at EL0
   83584a583bff arm64: tls: Avoid unconditional zeroing of tpidrro_el0 for native tasks
   4732b98b6400 arm64: cpu_errata: Add Kryo to Falkor 1003 errata
   85dacaa58475 arm64: erratum: Work around Falkor erratum #E1003 in trampoline code
   bb0fa2f9cece arm64: entry: Hook up entry trampoline to exception vectors
   df7f7308d5f0 arm64: entry: Explicitly pass exception level to kernel_ventry macro
   14bcc912ca7e arm64: mm: Map entry trampoline into trampoline and kernel page tables
   c30f47afaa64 arm64: entry: Add exception trampoline page for exceptions from EL0
   21b891bf770f arm64: mm: Invalidate both kernel and user ASIDs when performing TLBI
   09e8df92ba8e arm64: mm: Add arm64_kernel_unmapped_at_el0 helper
   6832da386e60 arm64: mm: Allocate ASIDs in pairs
   bfd2ff25b585 arm64: mm: Fix and re-enable ARM64_SW_TTBR0_PAN
   1e4477930e5e arm64: mm: Rename post_ttbr0_update_workaround
   1e1890551573 arm64: mm: Remove pre_ttbr0_update_workaround for Falkor erratum #E1003
   0223b2589432 arm64: mm: Move ASID from TTBR0 to TTBR1
   9fe82f4ebdc3 arm64: mm: Temporarily disable ARM64_SW_TTBR0_PAN
   199f832ebf00 arm64: mm: Use non-global mappings for kernel space
   e9b0e14af7e3 arm64: move TASK_* definitions to <asm/processor.h>
   cab5207f57fd brd: remove unused brd_mutex
   7522521435a4 arm/syscalls: Optimize address limit check
   797f169015c5 Revert "arm/syscalls: Check address limit on user-mode return"
   3056c8f5be3a syscalls: Use CHECK_DATA_CORRUPTION for addr_limit_user_check
   74116ef5625a arm64: add VMAP_STACK overflow detection
   0d82fd80a2d1 arm64: add on_accessible_stack()
   c38502bc1472 arm64: add basic VMAP_STACK support
   c3a53247c1ff arm64: use an irq stack pointer
   73dcb6d84040 arm64: assembler: allow adr_this_cpu to use the stack pointer
   344a8e142697 arm64: factor out entry stack manipulation
   59c4a6fb5606 efi/arm64: add EFI_KIMG_ALIGN
   1a5300c6063f arm64: move SEGMENT_ALIGN to <asm/memory.h>
   3969d302c52f arm64: clean up irq stack definitions
   f030f0edba48 arm64: clean up THREAD_* definitions
   1f3c78245a4a arm64: factor out PAGE_* and CONT_* definitions
   8a5bc40e0c93 arm64: kernel: remove {THREAD,IRQ_STACK}_START_SP
   deba543af0b8 fork: allow arch-override of VMAP stack alignment
   774f64ce7b0f arm64: remove __die()'s stack dump
   7342855775d5 arm64: unwind: remove sp from struct stackframe
   553dbcbcff1d arm64: unwind: reference pt_regs via embedded stack frame
   926b0fe43412 arm64: unwind: disregard frame.sp when validating frame pointer
   da32ad8b5c11 arm64: unwind: avoid percpu indirection for irq stack
   eac4e8ecdd77 arm64: move non-entry code out of .entry.text
   b341e176374e arm64: consistently use bl for C exception entry
   3cdad1f0b9d0 arm64: Add ASM_BUG()
   01ace65c9150 arm64/vdso: Support mremap() for vDSO
   8050b6ba63cb arm64: Handle trapped DC CVAP
   0ee09d69dc93 arm64: Expose DC CVAP to userspace
   704046e3e554 arm64: Convert __inval_cache_range() to area-based
   b40935f19c73 arm64: mm: Fix set_memory_valid() declaration
   29530b5b549e arm64: Abstract syscallno manipulation
   f9f1c9d7d767 arm64: syscallno is secretly an int, make it official
   ab69949ffe23 x86/tracing: Build tracepoints only when they are used
   03793940e25c x86/tracing: Disentangle pagefault and resched IPI tracing key
   2822852ed8a5 x86/idt: Clean up the i386 low level entry macros
   d5654eb18f73 x86/idt: Remove the tracing IDT completely
   0d38071a05e7 x86/smp: Use static key for reschedule interrupt tracing
   4ef6e0f37891 x86/smp: Remove pointless duplicated interrupt code
   40b216cec86d x86/mce: Remove duplicated tracing interrupt code
   03f41cf538fd x86/irqwork: Get rid of duplicated tracing interrupt code
   418b9a493901 x86/apic: Remove the duplicated tracing versions of interrupts
   5be95f8dfffe x86/irq: Get rid of duplicated trace_x86_platform_ipi() code
   bd936c5d828a x86/apic: Remove the duplicated tracing version of local_timer_interrupt()
   f4971407abbb x86/traps: Simplify pagefault tracing logic
   2f436623b2c3 x86/tracing: Introduce a static key for exception tracing
   4395735bf0a9 arm64/syscalls: Check address limit on user-mode return
   3e1d12839e05 arm/syscalls: Check address limit on user-mode return
   649cd48799ef x86/syscalls: Check address limit on user-mode return
   8fe35f321cd3 audit: fix memleak in auditd_send_unicast_skb.
   4b1e889a4dd0 arm64: ptrace: Flush user-RW TLS reg to thread_struct before reading
   75a382c72d50 arm64: Add dump_backtrace() in show_regs

(From OE-Core rev: 9edeb4733e4a49d11febadc0e282c68c05e39575)

(From OE-Core rev: 7a87168a6e28da3f6b78d633f5f78d591c69323e)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-15 17:56:57 +01:00
Andre McCurdy
664b1d5379 curl: update 7.59.0 -> 7.60.0
includes:
CVE-2018-1000300	CWE-122: Heap-based Buffer Overflow
CVE-2018-1000301	CWE-126: Buffer Over-read

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

Also refresh 0001-replace-krb5-config-with-pkg-config.patch and drop
configure_ac.patch, which we've apparently been dragging along
unnecessarily for the past 5 years:

  c277bd6ce7

(From OE-Core rev: 4063c1e4b233b28ae14420a83960fd93b437a4a4)

(From OE-Core rev: 4decc8ca3bd1b6c1c67182782fe6019dc0efc4fa)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-15 17:56:57 +01:00
Armin Kuster
3fc84130ca curl: update to 7.59.0
includes:
CVE-2018-1000300	CWE-122: Heap-based Buffer Overflow
CVE-2018-1000301	CWE-126: Buffer Over-read
CVE-2018-1000122	CWE-126: Buffer Over-read
CVE-2018-1000121	CWE-476: NULL Pointer Dereference
CVE-2018-1000120	CWE-122: Heap-based Buffer Overflow

(From OE-Core rev: 4c1ed0a1a265add8d856a6d2c6f04562b975c180)

(From OE-Core rev: 6582a76c990fe068fd37525943403ca9ff9c1d05)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-15 17:56:57 +01:00
Jibin Xu
e55a5d7c2d wget: upgrade 1.19.4 -> 1.19.5
Noteworthy changes:

* Fix cookie injection (CVE-2018-0494)

* Enable TLS1.3 with recent OpenSSL environment

* New option --ciphers to set GnuTLS / OpenSSL ciphers directly

* Updated CSS grammar to CSS 2.2

* Fixed several memleaks found by OSS-Fuzz

* Fixed several buffer overflows found by OSS-Fuzz

* Fixed several integer overflows found by OSS-Fuzz

* Several minor bug fixes

(From OE-Core rev: 5b966e87aba19629408daeff25c1e6883300fb10)

(From OE-Core rev: 8e4edd3942351c49f312b5366b2359fdc2911482)

Signed-off-by: Jibin Xu <jibin.xu@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-15 17:56:57 +01:00
Martin Jansa
550bd17739 perf: fix build with kernel older than 4.8
* perf is failing to build for me since this oe-core commit:
  commit 9b38c824961fc9dce51bda95c25dac91a69fc64f
  Author: Hongxu Jia <hongxu.jia@windriver.com>
  Date:   Tue Apr 24 11:33:47 2018 +0800

    perf: make a copy of kernel source to perf workdir

  the problem is that perf sources in kernel older than 4.8 (in my case
  4.4) are depending on the "global" include headers outside tools
  directory, e.g. swab.h in:
  kernel-source/tools$ git grep swab.h
  perf/MANIFEST:include/linux/swab.h
  perf/MANIFEST:include/uapi/linux/swab.h
  perf/util/include/asm/byteorder.h:#include "../../../../include/uapi/linux/swab.h"

  this was resolved in 4.8 with:
  commit 7e3f36411342a54f1981fa97b43550b8406a3d69
  Author: Arnaldo Carvalho de Melo <acme@redhat.com>
  Date:   Mon Jul 18 17:42:16 2016 -0300

    perf tools: Remove tools/perf/util/include/asm/byteorder.h

    Not used anymore. This also stops include linux/swab.h directly
    from the kernel sources, remove that reference from the MANIFEST.

  and few more changes to make tools/include more complete and standalone:
  tools/include in 4.15:
  asm  asm-generic  linux  tools  trace  uapi

  tools/include in 4.4:
  asm  asm-generic  linux  tools

  but copying the include header even for kernels which don't really
  need it doesn't add big overhead, so just copy include to perf sources
  for all kernels.

(From OE-Core rev: 19fb2d11a8bb3c6dfdd5edc1b9155d642dc0f5e0)

(From OE-Core rev: 7950b1ed077eaecff1523221c297158aa54b7ecf)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-15 17:56:57 +01:00
Khem Raj
58dc5e40c1 systemd: Define basename() for musl
(From OE-Core rev: 167098cdd875a02221ff6d15f443c02c1bcdc33f)

(From OE-Core rev: 5ff707e15c68d77c371b43a970e62302f7492545)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-15 17:56:57 +01:00
Khem Raj
f50fe62931 systemd: Fix build with gcc8
(From OE-Core rev: 6a3805f06cd7832d70d5b652ec1be612f5f027e6)

(From OE-Core rev: 24e9ae887739f2ac6c3694b04c2c6159d6549be9)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-15 17:56:57 +01:00
Ross Burton
3ca535a09d systemd: fix build with util-linux 2.32
(From OE-Core rev: 12b4fc15f6919d7573bea5d913fb805993e8640a)

(From OE-Core rev: ba7845c1b1773cf382ab13007ce91a3b0e46525f)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-15 17:56:57 +01:00
Armin Kuster
2ccc08ca91 util-linux: update to 2.32
rfkill moved locations, update accordingly

refactored avoid_parallel_tests.patch

includes security fix:
CVE-2018-7738 (score: 7.2)
affects: < 2.32-rc1

see changelog for other bugfixes:
https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.32/v2.32-ChangeLog

(From OE-Core rev: a7a1e3155287d3bac7ab83e58d53ee2a364f2e29)

(From OE-Core rev: 29baeaeda83b0d99af29b8cb55b839da47979075)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-15 17:56:57 +01:00
Martin Jansa
f7681fc8c7 grub2: fix build with gcc8
(From OE-Core rev: 3eca7aa8196ef8ed682659ff47f3f1e3b2c6867d)

(From OE-Core rev: cdd8c4f304c64a3bc20af88a77fe079655eaca8d)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-15 17:56:57 +01:00
Haris Okanovic
666d73e0d1 depmodwrapper-cross: Add kmod-native to DEPENDS
Add `DEPENDS += "kmod-native"` to ensure depmod utility is added to
recipe-sysroot-native during image build.

Without this dependency, image builds where BUILD_IMAGES_FROM_FEEDS=1
have depmodwrapper in recipe-sysroot-native but are missing depmod.
Kernel postinst scripts rely on depmod (via depmodwrapper) to index
newly installed modules.

(From OE-Core rev: d693457f9de92e4e8b61881638787e831f0ca197)

(From OE-Core rev: c60711bb734dceb8274720c898eba11bfd8da749)

Signed-off-by: Haris Okanovic <haris.okanovic@ni.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-15 17:56:57 +01:00
Andrea Galbusera
fe0c7b98c1 systemd: backport patch to fix build when gcrypt is enabled
When gcrypt support is present in PACKAGECONFIG, build fails due to the bug
reported in [1]. Since this is already solved upstream, this commit backports
the corresponding patch.

[1] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=893602

(From OE-Core rev: 4f68722e37d28b5fdd30409570405bf65445eef2)

(From OE-Core rev: 628f6f20925fb4c7d5ac903d77dac1ee5b3affef)

Signed-off-by: Andrea Galbusera <gizero@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-15 17:56:57 +01:00
Krzysztof Taborski
5878d5d3f9 perl: native modules will not trigger build perl for target.
Currently building perl-native modules triggers
build perl for target due to PACKAGES_DYNAMIC regex.

This commit will cause, that perl native modules will
trigger perl-native build.

(From OE-Core rev: 7dd9772eca6df52db09b65537fdf689f1aa3fd8f)

(From OE-Core rev: 3ad793c9ae1eb0b0599078298d55a37042f11239)

Signed-off-by: Krzysztof Taborski <taborskikrzysztof@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-15 17:56:57 +01:00
Juro Bystricky
642944f788 distcc-doc_3.2: improve reproducibility
Remove timestamps from metadata of gzip compressed files.

(From OE-Core rev: 8d009dd8c3c56601905a156cb06f339dd4a298e6)

(From OE-Core rev: 909e8a99e3ca2db524d82f8fab829379b0b7d88b)

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-15 17:56:57 +01:00
Alexander Kanavin
bfef226edd ifupdown: correct the repository location
The old repo is gone.

(From OE-Core rev: f171137579bf3141032d309fa433c14ac9141e43)

(From OE-Core rev: 9c70812fa9c37f1a497eb6f8f37c95c6e8403e6d)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-15 17:56:57 +01:00
Richard Purdie
2aa20d11ff settings-daemon: Drop pointless apply=yes in SRC_URI
(From OE-Core rev: ae8b78f2ef5df4b24f8e2294c5e2760367b8bf8d)

(From OE-Core rev: f02e257a1f9e30876b71afc99ea34668b6a2f39a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-15 17:56:57 +01:00
Otavio Salvador
ee210d1086 go: Update 1.9.4 -> 1.9.6
The 1.9.6 fixes a number of issues since 1.9.4 release, mainly:

go1.9.5 (released 2018/03/28) includes fixes to the compiler, go
command, and net/http/pprof package.

go1.9.6 (released 2018/05/01) includes fixes to the compiler and go
command.

(From OE-Core rev: d4abc33c81f7aa33c432ead92ae16df01ebe36c8)

(From OE-Core rev: 020b0c2a85f259d92fc6c737a86d04824aa545d9)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-15 17:56:57 +01:00
Otavio Salvador
0411a0d053 go: Upgrade 1.10.1 -> 1.10.2
This is a minor release that fixes many important issues found since
1.10.1 release.

(From OE-Core rev: 844f3191cd3d8746b7b31cff83e7655958226520)

(From OE-Core rev: 68eef4af5cfa466a7def567a8ce824e65accc708)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-15 17:56:57 +01:00
Mike Crowe
f9005f3dc6 alsa-utils: Fix error when removing unwanted udev rules
If alsa-utils configure is not passed a --with-udev-rules-dir option then
it defaults to using /lib/udev/rules.d. This meant that the hard-coded use
of ${D}/lib in do_install in 262e69c9c7acf0beb7bb6b96299e3c993c906434
worked correctly to remove the unwanted rules.

Subsequently, 0a4372705a030ca54ed420cdfec33d46ab93499c changed do_install
to use ${nonarch_base_libdir}, claiming to fix this in the usrmerge case.

This means that if udev is not present in PACKAGECONFIG and usrmerge is
present in DISTRO_FEATURES then the alsa-utils build system will install
the rules in ${D}/lib/udev/rules.d but do_install will attempt to remove
${D}/usr/lib, resulting in something like:

 rmdir: failed to remove '.../tmp-glibc/work/i586-oe-linux/alsa-utils/1.1.5-r0/image/usr/lib': No such file or directory

To fix this, let's just tell configure to install the rules in a specific
known location when udev is disabled. This location can then easily be
cleaned up in do_install without doing any harm if udev is enabled.

Tested both with and without usrmerge in DISTRO_FEATURES and with and
without udev in PACKAGECONFIG.

(From OE-Core rev: 022b644e6ba2caa0b32ce3323621c07f78166234)

(From OE-Core rev: 913eb3376defe17e32a35114cc4bec478e24cf62)

Signed-off-by: Mike Crowe <mac@mcrowe.com>
Cc: Phil Blundell <pb@pbcl.net>
Cc: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-15 17:56:57 +01:00
Martin Lund
e54df7e22a mtd-utils: Add mtd-utils-tests package
Add mtd-utils-tests package which includes the test suites mtd-tests,
ubi-tests, fs-tests, etc.

These test suites are useful for verifying flash features or stress
testing.

(From OE-Core rev: 612d0468e34ca922b42a1176ab1e2feef72a2a13)

(From OE-Core rev: 1286cd2d3f5e37fed9021e0b3d6b8debd9ff3a71)

Signed-off-by: Martin Lund <malu@gomspace.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-15 17:56:57 +01:00
Hongxu Jia
379bc778e5 qemu: fix CVE-2017-16845
During Qemu guest migration, a destination process invokes ps2
post_load function. In that, if 'rptr' and 'count' values were
invalid, it could lead to OOB access or infinite loop issue.
Add check to avoid it.

(From OE-Core rev: 0d8f68fe43b4da1a0d356fe6bedb52b8f2a02081)

(From OE-Core rev: cdfceda098aa1a864cbb794065b9f555810c5c71)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-15 17:56:57 +01:00
Hongxu Jia
97917efa50 perf: make a copy of kernel source to perf workdir
Since perf contaminates linux shared workdir, it probably caused
kernel-devsrc compile failure at world build.
...
|0 blocks
|cpio: ./tools/perf/arch/arm/util/sedr7ORqk: Cannot stat:
No such file or directory
|0 blocks
...
cpio tried to find a file at ${S}/tools/perf and failed
if the input list is not valid.

Make a copy of kernel shared source directory into a perf workdir
could fix the issue.

Drop `Fix for rebuilding' which is obsolete

[YOCTO #10880]

(From OE-Core rev: 9b38c824961fc9dce51bda95c25dac91a69fc64f)

(From OE-Core rev: 1a39330bf79f3d36a1a0f6d34b421de53ff36405)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-15 17:56:57 +01:00
Joe Slater
3452141b02 python3-native: correctly invoke regen-importlib make target
Redefiine regen-all in Makefile to invoke regen-importlib after
building other regen- targets.  Change the recipe to not build it
before regen-all.  This avoids trying to build it multiple times,
which can occasionally fail.

(From OE-Core rev: 72d62c9af07bf34bb8fbb3958742eb592985acc2)

(From OE-Core rev: 5b9af58be9194233a05a10c3e5b5efd053cc28d2)

Signed-off-by: Joe Slater <joe.slater@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-15 17:56:57 +01:00
Ming Liu
d85fcec563 image_types_wic: add do_image_wic before do_image_complete
We have some tasks depending on image's do_image_complete task, and we
are also using WKS files to generate partitioned images, but now there
is lacking a inter dependency between do_image_wic and
do_image_complete, so we have to depend on both of them.

Fixed by adding the dependency.

(From OE-Core rev: e3a25f06f2cde701415f4130a43c9b3895d42f10)

(From OE-Core rev: a2f8f3d3ed92898c71c68dbfe27523e77e604af9)

Signed-off-by: Ming Liu <liu.ming50@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-15 17:56:57 +01:00
Ricardo Salveti
86f7546783 grub-efi: add grub target and image for aarch64
Add missing target and image for aarch64, as the current revision is
already fully compatible with ARMv8.

(From OE-Core rev: 43dc32aa00c87f62dcf9a857d4e32469ce27c9e9)

(From OE-Core rev: df755db584d3a17505700965591eccb68695d00d)

Signed-off-by: Ricardo Salveti <ricardo@opensourcefoundries.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-15 17:56:57 +01:00
Niko Mauno
a455c16951 mtd-utils: Complement update-alternatives scope
Avoid collision of mtd-utils and mtd-utils-ubifs provided binaries
with identically named BusyBox provided applets in case packages
are installed to same rootfs, by adding relevant binaries to
update-alternatives scope

(From OE-Core rev: a9d8a8b27fc4bc6bdaa9133efd87430813a13212)

(From OE-Core rev: f06a276b7bd10f3ada796f943e7b702283da91eb)

Signed-off-by: Niko Mauno <niko.mauno@vaisala.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-15 17:56:57 +01:00
Chen Qi
eb24d4aeac linux-libc-headers: multilib_header asm/kvm_para.h and asm/bpf_perf_event.h
When building SDK via populate_sdk for qemuarm64 with multilib
enabled, we would have conflict about bits/floatn.h at populate_sdk
time.

  file /usr/include/asm/bpf_perf_event.h conflicts between attempted installs of lib32-linux-libc-headers-dev-4.15.7-r0.armv7vehf_vfp and linux-libc-headers-dev-4.15.7-r0.aarch64
  file /usr/include/asm/kvm_para.h conflicts between attempted installs of lib32-linux-libc-headers-dev-4.15.7-r0.armv7vehf_vfp and linux-libc-headers-dev-4.15.7-r0.aarch64

Apply oe_multilib_header on these header files to fix the problem.

(From OE-Core rev: 89b4e77129990b842e2ca917b98473ec58205e88)

(From OE-Core rev: 7df28830e9d08b516e8992d0fab4cea58c31aa67)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-15 17:56:57 +01:00
Chen Qi
88c4375131 glibc: use oe_multilib_header on bits/floatn.h
When building SDK via populate_sdk for qemuarm64 with multilib
enabled, we would have conflict about bits/floatn.h at populate_sdk
time.

  file /usr/include/bits/floatn.h conflicts between attempted ins
talls of libc6-dev-2.27-r0.aarch64 and lib32-libc6-dev-2.27-r0.armv7vehf_vfp

Apply oe_multilib_header on this header file to fix the problem.

(From OE-Core rev: 650c59c8b6796cf4797ca1860be85f6ccf50bcd2)

(From OE-Core rev: 4aabbd41e9c414d4ac765d1d343ca5d62408eaea)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-15 17:56:57 +01:00
Niko Mauno
a9803c97bb procps: Complement update-alternatives scope
Avoid collision of propcs provided w binary with BusyBox-provided
applet in case both are installed to same rootfs, by adding w to
update-alternatives scope via bindir_progs variable

(From OE-Core rev: de4206c6fd0c3be77d71958f532604b65a4dd5be)

(From OE-Core rev: ab78b6a9bfa7fbdc7dca44734060b62900e2b94e)

Signed-off-by: Niko Mauno <niko.mauno@vaisala.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-15 17:56:57 +01:00
Khem Raj
750e2e0ed4 llvm: Fix [compile-host-path] QA issue
Its trying to build NATIVE llvm-config which is
already built with llvm-native so we do not need
to rebuild it

Drop setting NINJA_STATUS explicitly, its no longer
needed, on the contrary it hinders the task status
update

(From OE-Core rev: f8393b2b4bc5fbd972be00cb17d0c574ae8deff9)

(From OE-Core rev: dae7d6abe71773962e0088b73b3584dd2d18c5f6)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-15 17:56:57 +01:00
Hongxu Jia
06b5932512 perl: fix CVE-2017-12837
https://perl5.git.perl.org/perl.git/commitdiff/96c83ed78aeea1a0496dd2b2d935869a822dc8a5

(From OE-Core rev: bd53256e165f5bb59a28d77a466d71fce39080fa)

(From OE-Core rev: 5f808ec161d1604ffd1744f5d488b0ca9fc8f50f)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-15 17:56:57 +01:00
Sarah Marsh
00efe433ec recipetool: fixed uncaught NameError exception
When packaging a node application, a `NameError` can be thrown in create_npm.py if an optional npm dependency does not
support Linux.

(From OE-Core rev: 8293201d98d368d6322eaa960fb3e7cee2ba9368)

(From OE-Core rev: c5d0afb8d7faa2c2662264e913dc2733503ec204)

Signed-off-by: Sarah Marsh <sarah.marsh@arm.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-15 17:56:57 +01:00
Kevin Carli
13977b08a8 tzdata: fix a typo.
(From OE-Core rev: 6e3ea2f17bcd9d942f838ba972338d92e95f65d4)

(From OE-Core rev: 0447453bc1ce8e72c2cfefd8395e98300951713e)

Signed-off-by: Kevin Carli <k.carli@overkiz.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-15 17:56:57 +01:00
Scott Rifenbark
2c1f59f86b sdk-manual: Small edits correcting bits and pieces in Eclipse chapter.
(From yocto-docs rev: 6268fece1286d8240db7636271ac8c603039c558)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-15 11:26:39 +01:00
Scott Rifenbark
678f203185 sdk-manual: Edits to the Oxygen section
Found several items that were slightly off after working through the
procedure.  Updates to bring it into line with reality.

(From yocto-docs rev: bc024c4484db3fdfb44fdb6f8709ad47378d85e2)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-15 11:26:39 +01:00
Scott Rifenbark
af8a19aefc sdk-manual: Updated the "Makefile-Based Projects" section.
Expanded this section to contain a figure of the flow and an
example that showcases the ways to override and use SDK
environment and Makefile variables.

(From yocto-docs rev: 422b5dda50c47d03adf2a8c4e8cfdb02eddff0ca)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-15 11:26:39 +01:00
Scott Rifenbark
d4cb513150 sdk-manual: Created a new Makefile flow diagram
The Makefile-Based Projects section was expanded to add a useful
example and figure.  Added this figure to the sdk-manual and
mega-manual figures folders.

Updated the Makefile to include the new figure as part of the
tar files for each manual.

(From yocto-docs rev: 5bf979f924200a31cb28fe9920b0877d5562e0f5)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-15 11:26:39 +01:00
Scott Rifenbark
d468a60759 sdk-manual: Review edits to the "Autotools-Based Projects" section.
Autotools is simpler now as it uses "autoreconf" to one-step a bunch
of the existing tools such as aclocal and autoconf.  I updated the
figure to reflect the simpler flow and also the steps that accompany
the figure.

(From yocto-docs rev: 232f80b4723c1a51ed0d0e55c00b13e64390d69a)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-15 11:26:39 +01:00
Scott Rifenbark
90eadbcb1d sdk-manual: Updates to the "Makefile-Based Projects" section.
I wrote the section to include a flow diagram using "make" and
provided a working example highlighting how to override environment
variables.

(From yocto-docs rev: c147d1ee1f6f33a5222eb1ccf466d1854c67815c)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-15 11:26:38 +01:00
Scott Rifenbark
b181828116 sdk-manual: Added cross-reference to Makefile section. Fixed syntax
Two changes here.  One was a note to the "make" step of the
Autotools-based section.  I cross-referenced the Makefile section
for information on how SDK installation environment variables
are respected and or overridden when using make variables.

Also, fixed the quotation syntax of the four environment variable
examples used in the "Makefile-Based Projects" section.

(From yocto-docs rev: a5742a8730359ed28f10108cb741913472337c57)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-15 11:26:38 +01:00
Scott Rifenbark
be6f1d57a6 sdk-manual, mega-manual: Added Autotools flow figure
New figure for the section on Autotools workflow.  The figure
goes in the folders for both the sdk-manual and the
mega-manual.

Updated the Makefile to include the new figure in the tarball
when creating both manuals.

(From yocto-docs rev: 01f33f7ee293de4dbe0398aae6c087de686be965)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-15 11:26:38 +01:00
Scott Rifenbark
98423875ef sdk-manual: Updated the Autotools workflow example.
Did a re-write of this section with better explanations.
I also pulled the bit about passing parameters to the
configure script into the step that talks about that.

(From yocto-docs rev: 778e566100450cce15808f80ace2b92f811001a7)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-15 11:26:38 +01:00
Scott Rifenbark
21a4304581 sdk-manual: Changed "configure.ac" file in the autotools-based example
The line used to be "AC_PROG_INSTALL".  I did some digging and can't
really figure out why the example is not following the standard
"helloworld" stuff out there all over the internet.  So, I have the
user create a configure.in file as follows now:

   AC_INIT(hello,0.1)
   AM_INIT_AUTOMAKE([foreign])
   AC_PROG_CC
   AC_CONFIG_FILES(makefile)
   AC_OUTPUT

The original was as follows:

   AC_INIT(HELLO,0.1)
   AM_INIT_AUTOMAKE([foreign])
   AC_PROG_CC
   AC_PROG_INSTALL
   AC_OUTPUT(Makefile)

(From yocto-docs rev: 21eac500384aaea577ce90098c835cd140517941)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-15 11:26:38 +01:00
Scott Rifenbark
1ac0172485 sdk-manual: Updated link to variables set for cross-toolchain script
The link was going to a spot from which another link was suggested.
Too many redirections for the reader.  Linked to the original place
instead.

(From yocto-docs rev: 9983cecb37f179a8eef28ab20a6539f8af100978)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-15 11:26:38 +01:00
Scott Rifenbark
ace8ba1d82 sdk-manual: Updated formatting for "configure" script
Formatting used for the "configure" script created using the
"autoconf" command in the example.

(From yocto-docs rev: 6c57cd80acc0d5fa5f75a4b6341bc2521ceb43b5)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-15 11:26:38 +01:00
Scott Rifenbark
48ac8e4cc1 sdk-manual: Replaced "configure.in" with "configure.ac"
The Autotools example called for a "configure.in" file as part
of the "hello-world" example.  When working through the example,
a warning occurs saying that the file needs to be "configure.ac".
I changed the example.

(From yocto-docs rev: f2ec3e564f828ad79f778d47862b4b422ad5a147)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-15 11:26:38 +01:00
Scott Rifenbark
a43d7c7607 sdk-manual: Added cross-referencing to "Autotools-Based Projects"
Needed to reference a couple terms for first use: "cross-development
toolchain" and "OpenEmbedded build system".

(From yocto-docs rev: a0058122b00833bad84af007dfe466e9a2f6434b)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-15 11:26:38 +01:00
Scott Rifenbark
38af2da157 sdk-manual: Edits to "Running the SDK Environment Setup Script"
Minor edits to this section.

(From yocto-docs rev: 40217ebcbae17f39cc8eca17f309068f4d055c23)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-15 11:26:38 +01:00
Scott Rifenbark
7544fbc608 sdk-manual: Edits to standard SDK intro and install sections
Changed the output to reflect the real command's output.  Updated
prose to match (mostly) that used in the similar extensible SDK
sections.

(From yocto-docs rev: dd929244162eaf00f5e552ea8a96a7c2a89daa9f)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-15 11:26:38 +01:00
Scott Rifenbark
3286f68185 sdk-manual: Edits to "Creating a Derivative SDK With Additional Components"
Fixed some poor writing in this section.

(From yocto-docs rev: ed59c0e30d6c093f0dda54c0d61a2863a7e826e0)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-15 11:26:38 +01:00
Scott Rifenbark
18658481ef sdk-manual: Edits to "Installing Additional Items Into the Extensible SDK"
Minor edits.

(From yocto-docs rev: 4a8d8eb83f4a9712e883a4fed98038d14ef48fb6)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-15 11:26:38 +01:00
Scott Rifenbark
0caf1dc925 sdk-manual: Edits to "Restoring the Target Device to its Original State"
Fixed a grammar error and made a few other corrections.

(From yocto-docs rev: 22c2f0643975b620fb543b651eae7c510b141770)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-15 11:26:38 +01:00
Scott Rifenbark
162db35c6b sdk-manual: Edits to "Packaging" section.
Edits to improve writing.

(From yocto-docs rev: 470549b0d5c74f256fec2947e701a0fa3a0f6591)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-15 11:26:38 +01:00
Scott Rifenbark
055ee2f780 sdk-manual: Edits to "Sharing Files Between Recipes"
Added a cross-reference to the term "build host".  Corrected
a subject/verb grammar error.

(From yocto-docs rev: 4f5c3a49555601d8a20da1b629a46bde03866e78)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-15 11:26:38 +01:00
Scott Rifenbark
2186084192 sdk-manual: Edits to "Finding Logs and Work Files"
This section was poorly organized with a mile long sentence as
the opener.  Fixed it.

(From yocto-docs rev: c2496c7aebc056395b7a796501cf6cd5f6519fff)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-15 11:26:38 +01:00
Scott Rifenbark
1e3fedacb3 sdk-manual: Added links to sample tasks to "Working With Recipes"
(From yocto-docs rev: 4c59f516de8edff7eb9ae27194c9af27a853dfa9)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-15 11:26:38 +01:00
Scott Rifenbark
6e9bfc5901 sdk-manual: Edits to "Adding Node.js Modules"
Fixed a few sentences up by providing clearer text.

(From yocto-docs rev: 64af3ec2c380d73dc863b2aea7878544b472218d)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-15 11:26:38 +01:00
Scott Rifenbark
6f5ad8b8d3 sdk-manual: Edits to "Adding Native Tools"
Added a cross-reference link to the term "bulid host" and removed
the redundant word "system".

(From yocto-docs rev: 258086ab4af3739a845d6031e5875c13084e7eb0)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-15 11:26:38 +01:00
Scott Rifenbark
85645c7dc2 sdk-manual: Edits to "Adding Makefile-Only Software"
Fixed some prose in various places.

(From yocto-docs rev: f368408a3764ad9248478383236261066772f0b6)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-15 11:26:38 +01:00
Scott Rifenbark
b598e35761 sdk-manual: Edits to "License Detection"
Updates to prose for better understanding.

(From yocto-docs rev: 5c4384d4311d8fbedad0eb9ebb77427a1dbbbdcf)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-15 11:26:38 +01:00
Scott Rifenbark
ace3fe02d1 sdk-manual: Edits to "Dependency Detection and Mapping"
Updated various prose for better understanding.

(From yocto-docs rev: 13d5330dc5de232311fbb43d5041d0f7f11de6c0)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-15 11:26:38 +01:00
Scott Rifenbark
da9a1145d6 sdk-manual: Edits to "Name and Version"
Poor writing left over in here.  Updated some of the prose.

(From yocto-docs rev: 9812ce3f1b6a4931a1b8b634a6d1f69c0e96c957)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-15 11:26:38 +01:00
Scott Rifenbark
d2aece029e sdk-manual: Edits to "A Closer look at devtool add" section.
Corrected some prose to be clearer.

(From yocto-docs rev: 9ab0ef0c00792f07f3b45466baeafe30199f048f)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-15 11:26:38 +01:00
Scott Rifenbark
a36e4fea7a sdk-manual, mega-manual: Updated devtool add and upgrade figures
Took out the $TMPDIR part for the output and left more generically
as "Build Output".

(From yocto-docs rev: 90b3c468dbea19c87340bd234ffe1b263ffa1e4f)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-15 11:26:38 +01:00
Scott Rifenbark
12c05ab1b0 sdk-manual: Changes to the devtool upgrade section.
Edits to improve this section.

(From yocto-docs rev: af0084dd82b7dcec73db5a1b4e6760b7b7738bf9)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-15 11:26:38 +01:00
Scott Rifenbark
1b8867ad08 sdk-manual, mega-manual: Updated the devtool upgrade flow diagram.
Added more detail at the top for how the local recipe interacts
with the Upstream Source.

(From yocto-docs rev: fea704bc485c53bf27ce43f5d1d491bf652ddc9c)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-15 11:26:38 +01:00
Scott Rifenbark
d7221d823c sdk-manual: Edits to the devtool add workflow section.
Minor edits from the read-through.

(From yocto-docs rev: ee25d5a607591823401b6c7e8b9b7dccf707f996)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-15 11:26:38 +01:00
Scott Rifenbark
464af1a042 sdk-manual, mega-manual: Updated devtool add flow diagram
Added more detail on how the upstream source or files from
srctree are located.

(From yocto-docs rev: 11c4679ee91afbb96a7ea82f6e32c90b5e3a0d66)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-15 11:26:38 +01:00
Scott Rifenbark
9435650a71 sdk-manual: Updated devtool add workflow section.
Had to update the figure to use "Upstream Source" labels and
fix a wrong "devtool edit-recipe" command. That new figure went into
both figures folders for the sdk-manual and mega-manual areas.

Provideds some cleaner wording.

(From yocto-docs rev: b55ccf14a9a4b8948a920f0942da1fdda93b2e9e)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-15 11:26:38 +01:00
Scott Rifenbark
c60a06bc65 sdk-manual: Edits to section on running the sdk installation script
I changed the way we handle the list of exported variables resulting
from running the *.sh installation script.  Rather than list them
all out (they were getting to be quite numerous), I am referencing a
few as examples and recommending the user look at the actual *.sh file
if they would like to examine the entire list.

(From yocto-docs rev: fa60c255a12bd3dd79da4a77c3150937eeb4e201)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-15 11:26:38 +01:00
Richard Purdie
e7b6fad758 bitbake: bitbake: Update version to stable release branch version 1.38
(Bitbake rev: 6a9d86998fdd42b13690f024af33b6bf36b9d028)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-06 13:35:10 +01:00
Scott Rifenbark
b369e613a1 sdk-manual: Updates to "Running the Extensible SDK Environment Setup Script"
Some Minor edits to this section.  Also, a scrub of the list of variables
exported when running the install script.  The list is out of date and
is missing many variables.  I noted these in comments for now and will
add them in later.

(From yocto-docs rev: a03f00142f82dd4b2b10332f2fe1c71c2bdd8c35)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:18:06 +01:00
Scott Rifenbark
ee37ab28c6 sdk-manual: Updated the "Installing the Extensible SDK" section.
The text had not been updated to include the many architectures
now supported in the Index of Releases toolchain directories.
I added the list of architectures.

Renamed the section to a more appropriate section heading.

Verified the example and put in the latest output.

(From yocto-docs rev: a567f5101d230ef1fa4428e9c6905e9e23bd5855)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:18:06 +01:00
Scott Rifenbark
e53bec948f sdk-manual: Minor edits to the intro chapter.
(From yocto-docs rev: 706b4adfd925d247da2ce7405f12ce1e05666a9e)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:18:06 +01:00
Scott Rifenbark
9928893e93 bsp-guide: Fixed MACHINE_EXTRA_RRECOMMENDS syntax in conf file example
Fixes [YOCTO #12628]

The syntax for MACHINE_EXTRA_RRECOMMENDS was off in the machine.conf
example.  I have removed that leading space, which should not have
been there.  This matches the actual file in poky now.

(From yocto-docs rev: 11e38c4c2b23f9a8ae9a0655a07af1a5682c24b8)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:18:06 +01:00
Scott Rifenbark
8d011018b0 dev-manual: Removed "newbie" chapter.
This chapter only had the stuff about submitting a defect against
YP and making a change to YP.  I moved that information into the
common tasks chapter as it is "how-to" information.  Removal of this
chapter alse required that the mega-manual.xml file be updated to
not include the chapter.

(From yocto-docs rev: 4421b1585c21a6f7862525ba972f7e765626066e)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:18:05 +01:00
Scott Rifenbark
a9bdc538e6 dev-manual: Moved "Speeding Up the Build" and renamed it.
Renamed to "Speeding Up a Build" and moved out of the setting up
chapter to the common tasks chapter. Fixed a couple links in the
ref-manual.

(From yocto-docs rev: c53fddd353230c8ef1abc21c7a2d2b1f492f034a)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:18:05 +01:00
Kristi Rifenbark
9ec257403e ref-manual: Finalized edits on the 2.5 Migration section
(From yocto-docs rev: 54259a4d4d69be73e7c614baa2a8d87faa2e3ea5)

Signed-off-by: Kristi Rifenbark <kristi@buzzcollectivemarketing.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:18:05 +01:00
Scott Rifenbark
89670c77ec dev-manual: Moved "Building Software from an External Source" section.
This section is now organized under the parent "Building" section in
the common tasks chapter.

(From yocto-docs rev: bc1bc9965cda547e45ff09a1c9e77be5e8c0a3d9)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:18:05 +01:00
Scott Rifenbark
eba93335ae dev-manual: Moved "Building Images for More than One Machine" section.
This section is now organized inside the parent "Building" section
in the common tasks chapter.

(From yocto-docs rev: 71be83e1ebfd2ad8606bddf852a4c06ab7d7c53d)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:18:05 +01:00
Scott Rifenbark
207d90b56f dev-manual: Moved "Building a Tiny System"
This section is now part of the building parent section.  I have moved
it there in the common tasks chapter.

(From yocto-docs rev: a9fccb1bca8e18169d93416c7a6e17723bcf01c7)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:18:05 +01:00
Scott Rifenbark
95c73d34ee dev-manual: Moved "Building an Initial RAM Filesystem (initramfs) Image"
This section now belongs under the parent "building" section in the
common tasks chapter.

(From yocto-docs rev: dad6029b9b45fd6ec564894ba101991fd8a2162e)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:18:05 +01:00
Scott Rifenbark
95d778d74f dev-manual: Moved "Building Targets with Multiple Configurations"
This is a "building" topic.  I moved it beneath the new parent
"building" section.

(From yocto-docs rev: 0426f0dd6871c8063476945b93743ffc5cfc0856)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:18:05 +01:00
Scott Rifenbark
4b3c17707b dev-manual: Moved the "Simple Build" section
I had a section on building an image up in chapter that talks about
getting set up to use YP.  I moved the build section to a new parent
section that will hold topics on building various things.  I renamed
the section to "Building a Simple Image".  I had to fix several links
in the sdk-manual, overview-manual, and dev-manual.

(From yocto-docs rev: c119fc7c6148e7b08acad374fe2981842e9462a3)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:18:05 +01:00
Scott Rifenbark
b43a1706c3 dev-manual: Pulled cloning sections up into a parent section.
(From yocto-docs rev: 68ef556831f687e25e3f4df068db4ea86bffb3b3)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:18:05 +01:00
Scott Rifenbark
ec0f2a13dd dev-manual: Updated intro paragraph to exclude removed sections
(From yocto-docs rev: 886ec9153314acbdcfa510806b441ba02c0bdd2d)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:18:05 +01:00
Scott Rifenbark
802df60c97 dev-manual: Changed "Working With Yocto Project Source Files" title
Changed to "Locating Yocto Project Source Files".  I am moving the
sections on cloning repositories out from under this section.

(From yocto-docs rev: 3889aadab9b603097b6cc5b7afb9d0066021106c)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:18:05 +01:00
Scott Rifenbark
45028b41f3 dev-manual: Changed title to remove redundancy
The "Setting Up the Development Host to Use the Yocto Project" title
changed to "Preparing the Build Host".  Fixed links in a lot of
other manual.

(From yocto-docs rev: 00e487e01a0e2a16f5b8d786b3124cbe5115b38b)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:18:04 +01:00
Scott Rifenbark
1fae7f57cc dev-manual: Moved section on setting up a team YP environment
This section was in the chapter on the open source development
environment.  It is better suited to be in a newly named chapter
"Setting Up to Use the Yocto Project".  I have moved it.

(From yocto-docs rev: 028f8f7a1b93a023a99ffadb01b0da699b4081c2)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:18:04 +01:00
Scott Rifenbark
ef3b230abf dev-manual: Updated intro chapter
The chapter was not the best given the new nature of the manual.  I added
better introductory wording.

(From yocto-docs rev: cb4695575c0105e0cd5e50c2132e98553babe147)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:18:04 +01:00
Scott Rifenbark
15fa336a1f overview-manual, dev-manual: Moved licensing how-to stuff to dev-manual
The section on licensing in the overview-manual was really "how-to"
information.  I moved this to a new section in the dev-manual for
"working with licenses".  I fixed some references in the ref-manual and
in the bsp-guide as well.

(From yocto-docs rev: f150a1ea2da900aae88fc5fa60f4115cc213ba2d)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:18:04 +01:00
Scott Rifenbark
4bfd9d31c7 dev-manual: Updated "Enabling Runtime Tests on QEMU"
Fixes [YOCTO #12517]

Added some qualifying information for how to generate a list of tap
devices to enable runtime tests on QEMU.

(From yocto-docs rev: 4359a355944f6cf4ec1e14ecbedc690ef37ff743)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:18:04 +01:00
Scott Rifenbark
f98348164a overview-manual, dev-manual: Moved Wayland and Weston
The Wayland and Weston topic moved from the overview-manual to
the dev-manual.  The topic was really a "how-to" topic and not
a concepts topic.

(From yocto-docs rev: b0f20a67c99590c48d595f4e572339bb5b6b83b3)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:18:04 +01:00
Scott Rifenbark
4e2918d17e ref-manual: Chanaged a link to Wayland topic.
The Wayland and Weston topic moved from the overview-manual to the
dev-manual.  The lone link to this topic was in the ref-images
chapter.  I updated the link.

(From yocto-docs rev: 6c335f8d3618e3285f91fe20aea33a1c1f1c0ddf)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:18:04 +01:00
Kristi Rifenbark
56a780bf26 ref-manual: Formatting pass of 2.5 Migration section
(From yocto-docs rev: 50308cc7f04d3fc54c06766f85e15e76a99f0b4b)

Signed-off-by: Kristi Rifenbark <kristi@buzzcollectivemarketing.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:18:04 +01:00
Scott Rifenbark
83a6c0ea0c overview-manual, dev-manual: Moved sstate debug tips sections
Two sections at the end of the shared state concepts section
in the overview-manual are really task sections.  I took those
and created a couple new sections in the dev-manual to house
those topics.

(From yocto-docs rev: 86382e7873d796f44554c8e04d3bd8091d350f51)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:18:04 +01:00
Scott Rifenbark
7e4b8b4cab overview-manual: Updated "Invalidating Shared State" section
Removed "OpenEmbedded" in the string "OpenEmbedded build system."

(From yocto-docs rev: d44b370b0fb993c32c9dfe3515188fa9e7ff2437)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:18:04 +01:00
Scott Rifenbark
32bd07cc59 overview-manual: Updated "Shared State" section.
Added the line with "stamp-extra-info" flag to the example from
the deploy.bbclass.  This line was missing or it had been added
since the original writing of this section.

(From yocto-docs rev: 50f5482c2132235962d4ab48d0d7263628df1728)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:18:04 +01:00
Scott Rifenbark
88872ce422 overview-manual: Updated "Cross-Development Toolchain Generation"
I made some small edits to this section.

(From yocto-docs rev: a2cc355c1bdfbf10f86f8d4994cc81dfb12d8f87)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:18:04 +01:00
Scott Rifenbark
372e47e927 documentation: Removed release date ENTITY
Now that 2.5 has released, I replaced the ENTITY variable used for
the moving month and year with the actual release month and year
(i.e. May 2018).

(From yocto-docs rev: 2d6e8ddce4fce0c405d2aea69cea2a5b262410f7)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:18:04 +01:00
Kristi Rifenbark
1c36ba246d ref-manual: Added 2.5 Migration Section
(From yocto-docs rev: 5d6c1b69e5559eced5142f46421302f61c95404c)

Signed-off-by: Kristi Rifenbark <kristi@buzzcollectivemarketing.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:18:04 +01:00
Scott Rifenbark
f0c51b94cc ref-manual: Updated the SDK_OUTPUT variable
Added more realistic information on how this variable is set.

(From yocto-docs rev: 47e6cb7d00eeb8001c4a53c13600feb5ef4d4660)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:18:03 +01:00
Scott Rifenbark
dae0aa5a9a ref-manual: Updated SDK_HOST_MANIFEST variable.
Grammar fix.

(From yocto-docs rev: aa5a60c8e3bf3f243678169b323e7ea5df7a6c19)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:18:03 +01:00
Scott Rifenbark
7bf6af45ef overview-manual: Minor edits to the SDK generation section.
Added the descriptions for the SDK_HOST_MANIFEST and
SDK_TARGET_MANIFEST variables.

(From yocto-docs rev: 212d6c5b3290016431604e67dfb27a1408ac0463)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:18:03 +01:00
Scott Rifenbark
e20dc4814b overview-manual, mega-manual: Updated the sdk figure
Added the manifest files to the figure and the associated variables.
Also added the test files.

(From yocto-docs rev: cfba55462d1c37ef2ff6454890da64a40f9c3607)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:18:03 +01:00
Scott Rifenbark
85a4c9ea5d overview-manual: Minor wording changes to the "Images" section.
(From yocto-docs rev: a3e825e6086ec7674641658cc956020e3e1cd9dd)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:18:03 +01:00
Scott Rifenbark
d4ba120a80 overview-manual, mega-manual: Updated the Images figure
I needed to add some italic formatting for variable type strings.

(From yocto-docs rev: afc6d2d10081f9e9d940075c03b3e704b37cf13b)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:18:03 +01:00
Scott Rifenbark
e821a9e28f overview-manual: Updates to the "Images" section.
Some minor rewrites.

(From yocto-docs rev: 71cbc1c389389ffac9e59faacdc56d3ea05facd7)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:18:03 +01:00
Scott Rifenbark
5df9175624 overview-manual: Updates to "Setscene Tasks and Shared State"
Updated with a few minor wording changes.  Tried to get a little
more active from some of the passive wording.

(From yocto-docs rev: 7dcd8117e3ea40d4b3c1ee5c3b1ea3c2bd29893a)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:18:03 +01:00
Scott Rifenbark
08ccc9c864 ref-manual: Updated PACKAGE_CLASSES variable note.
The note about the TAR backend not working was changed to soften
the warning.  It has "limited functionality" rather than
"broken".

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:18:03 +01:00
Scott Rifenbark
0c8da03bb1 overview-manual: Updated text for Image and SDK generation.
General improvements to both sections.

(From yocto-docs rev: 977fdeaf1258613c3dfc41d78c8125fdba9b2a24)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:18:03 +01:00
Scott Rifenbark
f71afe3613 overview-manual, mega-manual: Updated image generation image
The figure for image generation of the BitBake process
needed some enhancing.

(From yocto-docs rev: fc978663a7962d1515d4f47abe8ae522b9e24ce1)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:18:03 +01:00
Scott Rifenbark
ee2e1a0399 overview-manual, mega-manual: Updated SDK generation image
The image needed a little bit of clean up.

(From yocto-docs rev: d4fb680be194b7f9b192e06f0081a09504649633)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:18:03 +01:00
Scott Rifenbark
16764fa2e8 overview-manual: Updated the "Package Splitting" section.
Rewrite included the "do_populate_sysroot" task and a bunch of
STAGING_DIR_* variables.

(From yocto-docs rev: 53484d4982a41f83ac9355aada46526b5d05f64a)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:18:02 +01:00
Scott Rifenbark
fb0b55eca4 overview-manual, mega-manual: Updated package splitting figure
More changes to the "analysis-for-package-splitting.png" figure.
I needed to work in "do_populate_sysroot" task and several
STAGING_DIR_* variables.

(From yocto-docs rev: fcb88024a7dfff1b6cca49770f67bf4c1f548362)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:18:02 +01:00
Scott Rifenbark
47bde7f6c0 overview-manual: Changed title for configure/compile section.
The stage of the BitBake workflow is really "Configuration, Compilation,
and Staging".  I updated the title to be such.

(From yocto-docs rev: 4aab6d001119aa8c52e09ef0f6f66694719add29)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:18:02 +01:00
Scott Rifenbark
ce95b0483a ref-manual: Updated the STAGING_DIR variable description.
This variable plays a much smaller role since recipe-specific
sysroots were implemented.  I have rewritten the description to say
that STAGING_DIR helps construct the recipe-sysroots directory.

(From yocto-docs rev: c1ad18abe67111738efc18725c4f7706b55738cb)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:18:02 +01:00
Scott Rifenbark
dfa62e1d56 overview-manual, mega-manual: Updated the config/compile figure
The figure had the wrong hierarchy for the "image", "recipe-sysroot",
and "recipe-sysroot-native" folders.  Moved out a level.

(From yocto-docs rev: e1f45b666b1cd589cee9c9ae6dba01467b991ef9)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:18:02 +01:00
Scott Rifenbark
18012d8276 overview-manual, mega-manual: Updated the package splitting figure.
Figure was out of date.

(From yocto-docs rev: 5b56862ec39fc05299cd6d468f13f75b74c3b800)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:18:02 +01:00
Scott Rifenbark
a6cec71d97 ref-manual: Updated the PKGDATA_DIR variable description
Added a reference to the STAGING_DIR_HOST variable, which is part of the
default directory used as the shared, global-state directory holding
data generated during the packaging process.

(From yocto-docs rev: d68dcec327e96f1da0879681dcde43d4f1769af0)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:18:02 +01:00
Scott Rifenbark
461dba44fa ref-manual: Updated STAGING_DIR_HOST variable description.
Fixed some grammar issues.

(From yocto-docs rev: 5d19e2102d1251dd4fa561995c29191c1489f7fc)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:18:02 +01:00
Scott Rifenbark
f37bb8f663 overview-manual: Updated the "Configuration and Compilation" section
This section needed some verbiage tweaks.  Nothing major.  Just a
few modifications to help clarify some areas.

(From yocto-docs rev: 9deabf424387fd1441882ce8cf28ea69421ea237)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:18:02 +01:00
Scott Rifenbark
1f52760a51 overview-manual, mega-manual: Updated Config and Compile figure
The "configuration-compile-autoreconfig.png" figure was badly
out of date.  It was not showing the two sysroot directories
and did not use the $BPN variable.  I have updated the figure
and placed in both the overview-manual/figures area and the
mega-manual/figures area.

(From yocto-docs rev: dba3b2b65f18870229dcb3dbcb8fadc099165894)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:18:02 +01:00
Scott Rifenbark
3f21849152 ref-manual: Revision updates to BUILDHISTORY_FEATURES variable.
Re-oredered the four options to be alphabetical.

(From yocto-docs rev: 7976ee05c935fd6c24abea99f71436003656cc73)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:18:02 +01:00
Scott Rifenbark
9e2ba7ed66 overview-manual: Small revisions to "Patching" section.
(From yocto-docs rev: 081a60766b67e8822e0c841f3259ff633580149c)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:18:02 +01:00
Scott Rifenbark
7cbf582ac1 ref-manual: Updated the FILESPATH variable description
Added some key references to the patching areas of discussion across
the manual set.

(From yocto-docs rev: f198529b3072a4a03fd368ea307e8e004c46a344)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:18:01 +01:00
Scott Rifenbark
e0b42062a2 ref-manual: Added a link to the patching section in the SRC_URI variable
The file:// protocol is primarily used for digging out patch files that
are local with the metadata (layer).  I put a link in the paragraph that
is talking about them to the "Patching" section in the overview-manual.

(From yocto-docs rev: 18a7b4b81d192fb2cfd96763de4cfabd61c3a0ea)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:18:01 +01:00
Scott Rifenbark
e73f2204fb ref-manual: Review edits added to do_patch task
Mentioned the role of SRC_URI earlier in the description as it is key.
Replaced "some_recipe" with "some_package" as the emphisis is not on
the recipe at that point in the example.

(From yocto-docs rev: f7f86941fdf866a693386335374f835078db3ddf)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:18:01 +01:00
Scott Rifenbark
381cfb71e1 sdk-manual, mega-manual: Updated devtool modify workflow diagram
Added detail for the step one.  Clearer.

(From yocto-docs rev: ef95d547180ce53fade7a3764f8d362422472c7a)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:18:01 +01:00
Scott Rifenbark
4a2f73dc28 sdk-manual: Updated devtool modify workflow section.
I found this section a bit loosely worded and could result in
confusion to a user ramping up with YP.  I have done an extensive
rewrite focusing on exact wordings.

(From yocto-docs rev: af64c07d259e06fb13572fc224636ed240037b57)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:18:01 +01:00
Scott Rifenbark
30f70172bf ref-manual: Updated do_patch task description
I added more content to this task description to help describe how
patching is performed and how the task uses the "apply" parameter
that can be provided with the SRC_URI variable.

(From yocto-docs rev: 6717a3326b0005f6a57be4cc026693b7cd9e8d08)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:18:01 +01:00
Scott Rifenbark
6c7faa0c8e overview-manual: Added a link to the do_patch task.
(From yocto-docs rev: 934de6a59cef6a7b80530de1ccbe7006bb196238)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:18:01 +01:00
Scott Rifenbark
142b7e0479 overview-manual: Updated "Patching" section.
This section presents a deep dive into the patching phase of the
build process.  I removed the vague "apply=yes" reference and added
more references for the reader to read and learn about patching.

The bit about the SRC_URI parameters (i.e. "apply") is going to be
covered in the do_patch documentation since that is the task that
handles that stuff.

(From yocto-docs rev: 5a2c98543ccc9ed24d16bb9442b674532940c0da)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:18:01 +01:00
Scott Rifenbark
8e9bc8ff77 overview-manual: Increased viewport for patching.png image.
(From yocto-docs rev: fb8419753846e391dfc1b2dd5973eaff7627c57a)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:18:01 +01:00
Peter Kjellerstedt
3b33767b75 ref-manual: Updated the BUILDHISTORY_FEATURES variable description
Added a new feature (task) to the list of available features you
can use with the variable.  The "task" feature saves output file
signatures for sstate tasks.

(From yocto-docs rev: 0669580ce40c46f0b5f8204a6b00e11f725a383c)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:18:01 +01:00
Scott Rifenbark
e392813249 ref-manual: Added "Patching" section reference to do_patch task
(From yocto-docs rev: 48335f99d896994283042752bd9ec4d20bd6d363)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:18:01 +01:00
Scott Rifenbark
992c7e5634 overview-manual: Converted paragraph on figure to note
The paragraph at the end of the section about the file
hierarchies is better cast as a note.

(From yocto-docs rev: 4e8a33be61ea1ea5db12fc5fc97832393213fb5d)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:18:01 +01:00
Scott Rifenbark
02aa4d3ec4 overview-manual: Updated the "patching.png" figure
The figure had a bad "PN" variable being used in the "S" directory.
This needed to be changed to "BPN".

(From yocto-docs rev: beafc55eb3646ecb96929e44538de952207f0b76)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:18:00 +01:00
Scott Rifenbark
c5fbbdbde3 overview-manual, mega-manual: Updated source-fetching.png figure
The figure was incorrect. Replaced the PN variable with BPN for
the "S" directory.

(From yocto-docs rev: 440edcdae932a83b6c32b51e85d97178a77b4bed)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:18:00 +01:00
Scott Rifenbark
4c813dd7a8 overview-manual: Updated "Source Fetching" section.
I scrubbed through this section and provided much better
explanations of the inside workings of BitBake fetching source
with building recipes.  During that, I fixed an error where
the PN variable was being used rather than the BPN variable.

(From yocto-docs rev: 5765987259ac46f140e099d8e1da2ab33f006d36)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:18:00 +01:00
Scott Rifenbark
b57adc5531 ref-manual: Updated the TARGET_OS variable description
Provided a more complete and clear description.

(From yocto-docs rev: 65505debfb82536e7e2d4ff7e5bc14c6af1a7cf6)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:18:00 +01:00
Scott Rifenbark
e918f3b194 ref-manual: Updated PACKAGE_ARCH variable description.
I added a link to the BUILD_ARCH variable.  The variable is part
of the glossary but for some reason there was no link to it.
I also added a note for a link to the SDK_ARCH variable, which
was described inline.  By convention, I do not like to link to
variables inline as the underlining used to indicate a link messes
with with underscore characters that are usually a part of a
varible's name.

(From yocto-docs rev: a2f487141375ee7ce226eece85424e709ddc67a3)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:18:00 +01:00
Scott Rifenbark
cce30462a8 toaster-manual: Updated step 7 of the To "Installation" section
Changed some wordings to accomodate reviewer feedback.

(From yocto-docs rev: 6de69db7ae5bbbe5e6e7f0b5f6b9b1326f3f5f6a)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:18:00 +01:00
Scott Rifenbark
926f08b8bf toaster-manual: Updated "Setting Up Toaster Without a Web Server"
This section had a new bullet added for talking about one instance
of Toaster web server to track and capture multiple command-line
builds.

Also, provided better wording surrounding shutting down Toaster.

(From yocto-docs rev: 9dbe242bf90860afabc9ab218992d2b81aaf8896)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:18:00 +01:00
Scott Rifenbark
d420ddaf4f mega-manual: Updated the package-feeds.png file
This image was out of date.

(From yocto-docs rev: 061f2766217a6a3914c14e7bfcf09e2c03f73165)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:18:00 +01:00
Scott Rifenbark
4e4a9d7173 overview-manual: Updated the package-feeds.png figure
The figure was out of date.

(From yocto-docs rev: ae84cd2a09f81415e22333d179bcd146560b34da)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:18:00 +01:00
Martin Kelly
8cfb40ce4c dev-manual: New section in QEMU for workaround under KVM
As suggested in a recent mail thread by Martin Jansa, there are cases in
which QEMU under KVM will crash because of CPU feature incompatibilities
between compiled binaries and the host CPU under which qemu is run.
Although this is hard to fully escape, we should document the issue to
help people work around it.  I have taked Martin's suggested patch
and did some rewording for the new section.

(From yocto-docs rev: 6c625fcf631a82529bc58ec8fb0c18dbe13188d2)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:18:00 +01:00
Scott Rifenbark
a571f74ef3 toaster-manual: Updated database schema step for Toaster
The step for getting toaster to create the database schema,
default data, and gather the statically-served files changed.
I updated with the proper steps.

(From yocto-docs rev: 2c3f7ac7f9419c32147be860897984d391a0e930)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:18:00 +01:00
Scott Rifenbark
361b88c81f toaster-manual: Updated bad links and added two sections
The links to the DATABASES, SECRET_KEY, and STATIC_ROOT
were bad.  They were pointing to old dated software. I updated the
links.

Also, added a couple new sections.  One is how to start a
Toaster environment without its web server.  The other is how
to start a Toaster environment without a build server.

(From yocto-docs rev: afe2708014600c0a86c649f6533dd1f6317fe742)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:18:00 +01:00
Scott Rifenbark
92de2a42c3 documentation: Added ENTITY variable to track a release date and year
(From yocto-docs rev: 65a87312f541e2f2b01fa1918f7a12da607fe7ab)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:18:00 +01:00
Scott Rifenbark
959b0eef35 poky.ent: Added a new variable for the release month and year
This month and date is always jumping around.  I decided to add a
variable so that I only need to to update that when a release date
changes.

signed-off by: Scott Rifenark <srifenbark@gmail.com>

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:18:00 +01:00
Scott Rifenbark
39f6b021d6 overview-manual: Updated "Sources" section with minor edits.
(From yocto-docs rev: 7cc11321fec1e9cd17f20129fbb201b7891eaf60)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:59 +01:00
Scott Rifenbark
bbd6856b2f overview-manual, mega-manual: Updated figures
Updated the layer-input.png and source-input.png figures.
Had to trim them so they were tighter in the figure.  Also,
updated some context in the source-input.png figures.

(From yocto-docs rev: cad644af48b0a1cb2baeb8d2649b9aa7ccbdeda5)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:59 +01:00
Scott Rifenbark
ae5e39c4d6 overview-manual, mega-manual: Updates to layers discussion for build flow
The "Metadata, Machine Configuratrion, and Policy Configuration"
section discusses the three types of layers fed into the OpenEmbedded
build system workflow figure.  I updated the figures and text
supporting this discussion.  The figure had to be moved to the
mega-manual/figures folder also.

(From yocto-docs rev: 39dd671333f7b3df616920aab08e01c926deca1c)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:59 +01:00
Scott Rifenbark
5c05ff08d0 eclipse-help.sed: Cleaned up delimiters for readability.
No need to escape out quote characters in a .sed file.  Also, using
the @ character is cleaner.

(From yocto-docs rev: f87ca83a6faf5b772d719cd03d6fa0a9b21174bb)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:59 +01:00
Scott Rifenbark
98c0b1ea5d overview-manual: Updates to "User Configuration" section.
This section was pretty out of date.  I have updated many areas
of the text.

(From yocto-docs rev: 640cdc7fb9d4f93c86b907d631e4f90b261d5ea1)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:59 +01:00
Scott Rifenbark
edd28ad3c9 dev-manual: Updated "Enabling Your Layer" section.
The bblayers.conf example files were out of date.  Updated them.

(From yocto-docs rev: fd5d75604a3ad66e56c421634f349dce3e38f609)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:59 +01:00
Scott Rifenbark
7f2615b124 overview-manual, mega-manual: Updated user-configuration.png image
This image was out of date.  I updated it.

(From yocto-docs rev: feb287a72201363c43607508d2e8f1da3993f93f)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:59 +01:00
Scott Rifenbark
8d7b8798d5 overview-manual: Updates to "OpenEmbedded Build System Concepts"
I removed the less than pretty build process figure and swapped
in the more aesthetically pleasing one.  Also, am refering to
the figure as the "general workflow figure".

(From yocto-docs rev: 093f1337131bc658d6afd1b56fb3661a76751aad)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:59 +01:00
Scott Rifenbark
d1f415bef5 Makefile: Removed the old version of the BitBake workflow figure.
That figure is no longer used in the manual set.  The newer,
more aesthetically pleasing one is.

(From yocto-docs rev: 853567672533777aa5d9baa3969d08673a8dd71f)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:59 +01:00
Scott Rifenbark
f0bd4e42a4 overview-manual, mega-manual: Removed bitbake workflow figure
This version of the figure was not as cool looking as the other
version, which is preferred.  I have removed it.

(From yocto-docs rev: ed0346b00ee6b47d90efedd1dd69e4a92a42afe9)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:59 +01:00
Scott Rifenbark
e24c3ab549 overview-manual: Bolstered the "Layers" section in the concepts chapter.
This section was really sparse for being in the concepts chapter of
this manual.  I added some more text to it.

(From yocto-docs rev: 9369ba5292126957f89f8b96e06bc2492825c54b)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:59 +01:00
Scott Rifenbark
3ed721c919 overview-manual: Updates to "Components" section.
I changed the "Metadata (Recipes)" title to simply "Recipes".
It is less confusing since the term "Metadata" is in general recipes,
classes, and configurations.  Provdided a few small edits elsewhere
in the section.

(From yocto-docs rev: 566b54f58ca7859bf860f25e433bff4b429c2507)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:59 +01:00
Scott Rifenbark
46304ec792 brief-yoctoprojectqs: Removed all references to "OpenEmbedded"
(From yocto-docs rev: fd405db2962d20055ba213e35ed0d13c7672d2e8)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:59 +01:00
Scott Rifenbark
0e1009fd84 brief-yoctoprojectqs: Added clarifying statement for the build system
The term "OpenEmbedded build system" was being introduced with just a
link.  Apparently, that is not enough for marketing.  I added a
clause with some more information about it.

(From yocto-docs rev: e7a3a581d44e21976c3f6fe19330e19af1ae0773)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:59 +01:00
Scott Rifenbark
901bcea5cb overview-manual: Changed build workflow title
The section titled "Development Concepts" is really mis-titled.
It is more about the OpenEmbedded Build System.  So, I renamed the
section "OpenEmbedded Build System Concepts."  There were a couple
links all within the overview-manual.  No other place in the YP
doc set linked to that heading.

(From yocto-docs rev: 889eaf3373a80ca0978ee79ecd2ff26aefb9025b)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:58 +01:00
Scott Rifenbark
a8e67bb0ef overview-manual: Added a link to OpenEmbedded-Core
(From yocto-docs rev: c4642a81045a2267ceac967b7668cb64b4db1286)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:58 +01:00
Scott Rifenbark
7b94e3ef35 overview-manual: Added intro text for the concepts chapter.
(From yocto-docs rev: 6ea1e6f016957da96d6cf8a058ec9c18c9843949)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:58 +01:00
Scott Rifenbark
615e0e83de brief-yoctoprojectqs: Added reviewer feedback
Softened the opening paragraph so it was not introducing any special
terms right off the bat.  Renamed the section on the hardware layer
to configuring the build for specific hardware.  Put in a link to
"build host" and used that term throughout.

(From yocto-docs rev: a324cb2f9c499dc8d68d1d87265930c308cbebb7)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:58 +01:00
Scott Rifenbark
9a30cafe7a overview-manual: Removed redundant paragraph.
(From yocto-docs rev: 215ed3598780737feb928bb3b515882c468dbb27)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:58 +01:00
Scott Rifenbark
f679e515f3 overview-manual: Updated checkout example for Git based on a tag.
(From yocto-docs rev: ee0021b0db85ced7a36b0f25e1c1e09a0f5b1894)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:58 +01:00
Scott Rifenbark
3a4c4c9deb overview-manual: Better wording for a workflow summary paragraph.
(From yocto-docs rev: db3679a4ac22964302e4ff1b16856c25a7ce69fd)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:58 +01:00
Scott Rifenbark
e364100e22 overview-manual: Fixed wording for use of DOWNLOADS page.
(From yocto-docs rev: 575e33179779ab147b2bfc27183f2b9a25628a5a)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:58 +01:00
Scott Rifenbark
8a2db4a819 overview-manual: Added clearer instructions for downloading software
(From yocto-docs rev: df16ac0829aaf99841044de99200efdf3a03cb41)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:58 +01:00
Scott Rifenbark
c9c30d04e2 overview-manual: Grammar fix.
(From yocto-docs rev: 81515d5ba7f26c7b93548a338ca7ab8ce649e387)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:58 +01:00
Scott Rifenbark
f62a1b5e3e overview-manual: Grammar fix and link to build system added.
(From yocto-docs rev: 3130b38b638c8487032f3732afdd6954ab6bbfad)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:58 +01:00
Scott Rifenbark
5b267a7c3c overview-manual: Added a link to the "build host" term.
(From yocto-docs rev: e3bdd81857752db01c3404c2eb29792439239fa9)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:58 +01:00
Scott Rifenbark
1021bc0e27 overview-manual: Fixed grammar issue.
(From yocto-docs rev: a3075cdd5a3db1883dc358f7ccd6721d89677387)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:58 +01:00
Scott Rifenbark
a24760a203 overview-manual: Added link to layers section.
(From yocto-docs rev: 8a9588d27aa86bb194e85dd6bd0c885ce96507e5)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:58 +01:00
Scott Rifenbark
706bcdd045 overview-manual: Fixed grammar issue.
(From yocto-docs rev: b911f05e5e3ae7161785ca3dd5cea5ffc565b804)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:58 +01:00
Scott Rifenbark
91dfb148bf overview-manual: Removed redundant text for "build system"
(From yocto-docs rev: 513082f4d63ac618d67d35b886a0347f059a8fe5)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:58 +01:00
Scott Rifenbark
0e578d24b8 overview-manual: Fixed reference to "chapter" that was "section"
(From yocto-docs rev: d40924637836043fd92a2464f38f3d97c0cbcbb7)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:58 +01:00
Scott Rifenbark
40054b4933 overview-manual: Fixed link to the matchbox repo.
(From yocto-docs rev: 73ba1ab13a977c15db9d5aa7cd560006e3a4ef70)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:57 +01:00
Scott Rifenbark
4adaa35324 overview-manual: Added a link to the Toaster User Manual
(From yocto-docs rev: 5571f28452c3af9a7394924cb2509693a6f8f528)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:57 +01:00
Scott Rifenbark
5c90012aba overview-manual: Added a few links to the "Poky" term.
(From yocto-docs rev: 34007b337ae0636156d64464d39470c9f20b78f0)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:57 +01:00
Scott Rifenbark
9359a102a9 overview-manual: Added a few links for "OpenEmbedded build system" term.
(From yocto-docs rev: c6c23daac976e69b7e5c1a4b42abcac33b0694e2)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:57 +01:00
Scott Rifenbark
39569a8d87 brief-yoctoprojectqs: Added link to "OpenEmbedded build system" term.
(From yocto-docs rev: a7a5dc58b1f66cf270d737fa6ddd447364cf77c1)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:57 +01:00
Scott Rifenbark
749108cc66 brief-yoctoprojectqs: Added more detail about layer greatness.
(From yocto-docs rev: 935497e3d3a39cdc5eadcdd790466e3d18a65f25)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:57 +01:00
Scott Rifenbark
bc1e7cb1ce overview-manual: Added link to YP Compatible program section.
(From yocto-docs rev: e5361d48c0807ab2f7bc674ec615e432baff2819)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:57 +01:00
Scott Rifenbark
27ad38e33e overview-manual: Added a link to the YP workflow area from "Challenges"
(From yocto-docs rev: cf90be30c3a89a55295060bb4604a468509423ed)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:57 +01:00
Scott Rifenbark
c09c157936 overview-manual: Added links to supplemental webpage docs.
In the "Challenges" section, the bullet item about YP's steep
learning curve referenced the "what I wish I'd Known" and
"Transitioning to a Custom Environment for Systems Development"
docs.  I added links to these.

(From yocto-docs rev: 627042de38495f79d512c6b98c46193b1de0db47)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:57 +01:00
Scott Rifenbark
163e2add0e overview-manual: Added link to license information.
The "License Manifest" bullet needed a link to the License
stuff in the dev-manual.

(From yocto-docs rev: 6350d68a6c1c5432fd833930437b4e5fe502033b)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:57 +01:00
Scott Rifenbark
2a44f10a36 overview-manual: Added link to release cycle
The bullet "Releases According to a Strict Schedule" bullet
mentions the release cycle.  I added a link to that section.

(From yocto-docs rev: c206c31d20aabe657863fc05274e2d533cdf7252)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:57 +01:00
Scott Rifenbark
80960a8531 overview-manual: Updated "Supports Partial Builds" bullet
Added a link into the concepts area for sstate.

(From yocto-docs rev: ac395452c3a2f34fb9775c77051b526e39fd9b4c)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:56 +01:00
Scott Rifenbark
abc1dd634c overview-manual: Added meaningful links to feature bullet
The "Widely Adopted Across the Industry" bullet item did not
have good links to the YP home page.  Added them in.

(From yocto-docs rev: 8695f3e2bcc2a0d37dd8e6b113639628bffdf4b2)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:56 +01:00
Scott Rifenbark
f722acdcdd overview-manual: Cleaned up other reference paragraph.
(From yocto-docs rev: add845649de2c91489dd2e920865707eb3224243)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:56 +01:00
Scott Rifenbark
ba99090189 overview-manual: Added a bullet intro topic for the new concepts chapt.
(From yocto-docs rev: 4b05fd99cfb258c56957fdf864754065a74f407a)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:56 +01:00
Scott Rifenbark
8961b3d9c8 overview-manual: Updated title .PNG file
The file was stretching beyond the rendered display window such
that part of the Yocto Logo was missing.  Also had to place the
updated .PNG file in the mega-manual/figures folder.

(From yocto-docs rev: 5b73c54fcb2c3f60aee2ff7dc19c4aad102aa505)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:55 +01:00
Scott Rifenbark
f339efdd31 dev-manual: Updated wording for Manage Granular Level Packaging
Changed wording to be clear about how PACKAGE_ARCH is being set
when based on the Freescale MACHINE_SUBARCH variable.

(From yocto-docs rev: 76c4ad514e44755f1d4dcec61bb0a74c1b77243e)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:55 +01:00
Scott Rifenbark
ffd352ae2a brief-yoctoprojectqs: Added sections on layers
Added a section on adding a machine layer.  Used Altera as an
example.  Also, added a section on creating a general layer.

(From yocto-docs rev: fc36f006bd483a5c26d2b79a18431d16ec27dc00)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:55 +01:00
Scott Rifenbark
01fd8fcd50 dev-manual: Updated managing granular level packaging discussion.
In the section that talks about building an image for multiple
machines, there was a bullet item on managing granular level
packaging.  It had an old example that used the "daisy" release
that showed how to share packages and re-use binaries.  I replaced
the example with a discussion of Freescale's "fsl-dynamic-packagearch"
class, which does this type of sharing.

(From yocto-docs rev: ddc224d6d1fe172292dfd0a17f743a1e0a4cabe6)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:55 +01:00
Scott Rifenbark
4034d8ec69 dev-manual: Changed Wic example paths to be consistent.
(From yocto-docs rev: 402434dd15f3116307e690ecc09db875ecabded4)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:55 +01:00
Scott Rifenbark
b0ede7711c ref-manual: Updated the sections pointing to the YP Release Notes.
The method for accessing the YP Release Notes for YP 2.5 forward
is to go to the "DOWNLOADS" page of the main YP website and then
click on the "RELEASE INFORMATION" button.  No longer does a user
need a simple URL.  I updated the two spots in manual where this
information existed for accessing Release Notes.

(From yocto-docs rev: 1e171d3add1048fb81c5a05a11c8ddbaf88e0ecd)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:55 +01:00
Scott Rifenbark
dfe9fa58a4 poky.ent: Deleted the ENTITY for the YP Release Notes
This ENTITY was used in two places.  I have updated those areas to
give the user new instructions to reach the Release Notes.  As of
YP 2.5, we do not have a simple URL that can be used for the
Release Notes.  The user must go to the "DOWNLOADS" page of the
main YP website and click the "RELEASE INFORMATION" button.

(From yocto-docs rev: 1c7cdd328baad9a317f4f4f9554999d80d1eb24c)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:55 +01:00
Scott Rifenbark
965c92d0a2 dev-manual: Updated Wic example
I updated the first example in the section telling how to build out
a Wic image.  I could not get the example to run so I used Stephano's
output.

(From yocto-docs rev: 6b4595215d6c24e3efb89288a7547f79ca3e59b7)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:55 +01:00
Kristi Rifenbark
ce451add35 sdk-manual: Updated Eclipse Oxygen plugin instructions
(From yocto-docs rev: 860f852b0aa99c9c65175fe5fe5035ea0bd26d63)

Signed-off-by: Kristi Rifenbark <kristi@buzzcollectivemarketing.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:55 +01:00
Scott Rifenbark
e4e9959180 toaster-manual: Fixed note formatting in "Useful Commands"
(From yocto-docs rev: 61e26883ed2c3cb82e7853297222d5b1499788f8)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:55 +01:00
Scott Rifenbark
3d86013a79 toaster-manual: Fixed capitalization on "Build Directory" term.
(From yocto-docs rev: a02905ae2ad015d43d5c9b88f9b68e603734bcf4)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:55 +01:00
Scott Rifenbark
4a02616d69 toaster-manual: Fixed some links.
(From yocto-docs rev: 57c261c94de9ac567321fbe8d80a1d793857d355)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:55 +01:00
Scott Rifenbark
c05112edd4 toaster-manual: Fixed a couple links.
(From yocto-docs rev: fe26835dc9448738be49d08f3e96a464599897e9)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:54 +01:00
Scott Rifenbark
2c4b4f9ff7 ref-manual: Updated the Bugzilla section
Provided a link to the YP implementation of Bugzilla.  Added a final
paragraph noting the Bugzilla website if you want general information
on Bugzilla.

(From yocto-docs rev: 78c99c8f42edfee377431cacc10b9ccd4b25c4cf)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:54 +01:00
Scott Rifenbark
cd41bc3eeb ref-manual: Removed redundant TMPDIR link.
(From yocto-docs rev: d4f09d3d0facdd5045a6c46b9658427227a79efc)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:54 +01:00
Scott Rifenbark
6275a8060c ref-manual: Fixed link to the kickstart chapter
Link was not going to the top of the chapter.

(From yocto-docs rev: 52da20604a54d16645b4bb4e5e9efa748a00d2f5)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:54 +01:00
Scott Rifenbark
5427738178 ref-manual: Fixed TARGET_ARCH formatting.
(From yocto-docs rev: 01d4e8be38514dfd05920305c2fdd71ad1cd4925)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:54 +01:00
Scott Rifenbark
1932a50543 ref-manual: Removed redundant link to CXXFLAGS variable.
(From yocto-docs rev: 67c3b32c5e6d98f530bb27b81847aeb77c1de1d5)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:54 +01:00
Scott Rifenbark
c5d630c915 ref-manual: Removed some redundant links.
Removed redundant link to CFLAGS in the TARGET_CFLAGS variable
description.

Removed redundant link to CPPFLAGS in the TARGET_CPPFLAGS
variable description.

(From yocto-docs rev: aa95485d44f92b831cd111dbc5bf75526d239db4)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:54 +01:00
Scott Rifenbark
e21e2874a1 ref-manual: Added "class" as part of a link to a class.
(From yocto-docs rev: e6ee6d5b32fa8a9945b23279c3403e14dac7165b)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:54 +01:00
Scott Rifenbark
2501e84f9a ref-manual: Added "class" as part of a link reference to a class.
(From yocto-docs rev: d563458d4f10ead158c54736098e6c601ed305c3)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:54 +01:00
Scott Rifenbark
8fe2c674d0 ref-manual: Created better wording for link ambiguity
The wording to two links (one a variable and one a section in a
different manual) was ambiguous.  I added phrasing to remove that
issue.

(From yocto-docs rev: 3b70b4287ca8b2583e0ef559125f1531a2bb6a67)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:54 +01:00
Scott Rifenbark
960fafddb6 ref-manual: Removed redundant links to the WORKDIR variable.
(From yocto-docs rev: 9a12678b14d9870b4ef983f5a9b47cfa3184d4a6)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:54 +01:00
Scott Rifenbark
57dcb02359 ref-manual: Removed the link to SDK_DIR in the example.
(From yocto-docs rev: 414b74da4afac77f231770f2746f1c2d3947d340)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:54 +01:00
Scott Rifenbark
9332007f1f ref-manual: Fixed formatting in SDK_DIR example.
Removed the link to WORKDIR to begin with.  Also, removed the
<filename> formatting that was within the example, which is buried
in a <literallayout> tag set.  Doing that screws up the formatting.

(From yocto-docs rev: 0d13dabaa13e5426da35b5d8147f51efa349b5bb)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:53 +01:00
Scott Rifenbark
f765e8d7a3 ref-manual: Updated SDK_DEPLOY variable description.
Added "class" as a modifier after refering to the "populate_sdk_base"
class.

Removed link to the TMPDIR variable in an in-line example.

(From yocto-docs rev: 7733a4464ba2893a2363f47996f48587a86eaa82)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:53 +01:00
Scott Rifenbark
4e833ce95e ref-manual: Removed redundant link to PACKAGES.
(From yocto-docs rev: d9482b43c1166ef2fd663c903a15222c66faf979)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:53 +01:00
Scott Rifenbark
ce55c5bdb4 ref-manual: Removed redundant link to the distutils class.
(From yocto-docs rev: 5a097baecff0e0cabf1749abcc3697210ab63b47)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:53 +01:00
Scott Rifenbark
957400a8e9 ref-manual: Removed redundant link to DEPENDS
(From yocto-docs rev: ddd59a0ae4eda76c9e9c284ce9db4428a925e610)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:53 +01:00
Scott Rifenbark
4b854d9da5 ref-manual: Removed redundant link to OVERRIDES variable.
(From yocto-docs rev: b336d7f504bb931d9b2743ee86ff104080692bec)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:53 +01:00
Scott Rifenbark
c4276a90e3 ref-manual: Updated PACKAGECONFIG_CONFARGS variable description.
Several redundant links and wordings in this description.

(From yocto-docs rev: bb9dd8ab6ef9cad387cdddada4f2be093551e38a)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:53 +01:00
Scott Rifenbark
28cdd47d9f ref-manual: Removed redundant link to DEPENDS variable.
(From yocto-docs rev: 6ecf6a692d759c783355581e227ff861e9492115)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:53 +01:00
Scott Rifenbark
885918d225 ref-manual: Fixed broken link.
A migration item had taken the original section for the target of
the link out.  I had not changed it.

(From yocto-docs rev: 10cfaee50455bf10450540f1b381d33f9babf985)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:53 +01:00
Scott Rifenbark
7fc69211dd ref-manual: Fixed capitalization in section title link
(From yocto-docs rev: 945038155d9941dc94001325416221f77726015d)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:53 +01:00
Scott Rifenbark
1586744a20 ref-manual: Added kernel-dev title to links
Two instances where links were going into the kernel-dev manual
but the manual title was not being used in the text.  Added it.

(From yocto-docs rev: 1922f8c79d1667db1fc9b5fe57030302469ca09c)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:53 +01:00
Scott Rifenbark
8f14de1a3a ref-manual: Added title to kernel-dev manual as part of a section link.
(From yocto-docs rev: 5c0cb69ff1a565e037686f344269fe7238ce442e)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:53 +01:00
Scott Rifenbark
819b48c686 ref-manual: Removed redundant link to INITRAMFS_IMAGE
(From yocto-docs rev: 62d835e0841cc19e644e79af22088880ff3eaac7)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:53 +01:00
Scott Rifenbark
1010ab89a1 ref-manual: Removed redundant link to Source Directory
(From yocto-docs rev: 9fb10f4f0ca5bed4804d77a1c224672866ee2b87)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:52 +01:00
Scott Rifenbark
0a6c85999f ref-manual: Fixed link manual title for BitBake User Manual
(From yocto-docs rev: cad80681e72e7e22c3867961aeefe7f260c20f86)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:52 +01:00
Scott Rifenbark
ee2bec70c8 ref-manual: Removed manual title as part of a cross-reference.
The link was to a chapter in the existing manual.  I do not
include the manual title when that is the case.

(From yocto-docs rev: 1b7c65b4a2dde3f5d069cb5edc75728492639870)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:52 +01:00
Scott Rifenbark
56754a33b1 ref-manual: Fixed broken link to TARGET_VENDOR
Link was going to TARGET_PREFIX.

(From yocto-docs rev: 424e8ea3168ab2e910919e6f70fc0b16332ca4f7)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:52 +01:00
Scott Rifenbark
bd1dd87cf7 ref-manual: Removed redundant FILESEXTRAPATHS link.
(From yocto-docs rev: 74199d4a3d5fe5a9836e363522b052614a542e26)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:52 +01:00
Scott Rifenbark
da73c059a4 ref-manual: Fixed title for BitBake User Manual reference.
(From yocto-docs rev: 73249f903fcb68201937f05216bedd4fc25fb060)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:52 +01:00
Scott Rifenbark
86983cbe7d ref-manual: Corrected link title in DISTRO_FEATURES_BACKFILL
(From yocto-docs rev: 93c730199bb66fa6909bd0c0a2e75b5cca9534af)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:52 +01:00
Scott Rifenbark
32a0727aab ref-manual: Removed link to WORKDIR in the D variable description.
(From yocto-docs rev: edf989858c37dcdf19ec99dceb959061bc89be97)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:52 +01:00
Scott Rifenbark
8411426a0c ref-manual: Removed redundant links in COMBINED_FEATURES var.
(From yocto-docs rev: 7328ac66feebed290add2b122e12c2ea567f6bdf)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:52 +01:00
Scott Rifenbark
19ec672999 ref-manual: Updated example string for BUILDHISTORY_COMMIT_AUTHOR.
I replaced the "&lt;" and "&gt;" constructs with the tags
<replaceable> and </replaceable>.  This is the preferred formatting
for user-supplied values.

(From yocto-docs rev: 1fc32486483c545671ffb2142b553da75dbe54fe)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:52 +01:00
Scott Rifenbark
b0496239ec ref-manual: Provided more relevant link for Python documentation
In the BBMASK variable, a link to Python documentation was
going to a specific 2.6 release.  That release was probably the
most recent when the BBMASK variable was initially documented.
Python has many releases now (e.g. 3.6.5).  I re-worded the
description to be more generic and sent the user to the general
Python release area.  They can pick a release from that URL.

(From yocto-docs rev: 154aedf79625f37997bec18dba933c514072708e)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:52 +01:00
Scott Rifenbark
34f409816e ref-manual: Removed redundant link in BB_DISKMONS_DIR variable
Removed the first link to the BB_DISKMON_WARNINTERVAL variable.
The variable was linked later in the text.  No need to link
the output version of the variable... clunky looking.

(From yocto-docs rev: ec6cfc85ba2f1e2fc763b6b7c918a21cec00e203)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:52 +01:00
Scott Rifenbark
b5a63c8b18 ref-manual: Updated APPEPND variable.
Changed wording so I could reference the proper name of the
LABELS variable.

(From yocto-docs rev: 05e5f287bde8219d1f8125d71fd48a36a422009a)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:52 +01:00
Scott Rifenbark
721237eaba ref-manual: Updated link to the Build Appliances page on the website.
(From yocto-docs rev: 14c66bc469085e0919e00979c1e01b1908d5f749)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:51 +01:00
Scott Rifenbark
bc72e68b52 ref-manual: Removed redundant link for the DISTRO_FEATURES variable.
(From yocto-docs rev: 8d771f67aab1840175783a6d1eaaa2264562c863)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:51 +01:00
Scott Rifenbark
3afa9a0c44 ref-manual: Replaced two old links with general kickstart link
(From yocto-docs rev: 5b875dc8e337aa859115b59591a39ac04a3f9c21)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:51 +01:00
Scott Rifenbark
230a9a5a0d ref-manual: Fixed title name in link.
The actual title of the sdk-manual does not include the word
"Manual".  So, the reference to the book should terminate with the
word "manual" in lower case.

(From yocto-docs rev: 41bc85776f0b172fc243b6e5a5ca13b72e8399e5)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:51 +01:00
Scott Rifenbark
3366b09d10 ref-manual: Fixed reference context from "section" to "chapter"
(From yocto-docs rev: 47c66cc3d7617cd3d3e77afe73fe38f743bf5513)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:51 +01:00
Scott Rifenbark
8a7479644e ref-manual: Removed redundant link to do_unpack task.
(From yocto-docs rev: 759fffef8e9a9d2c4cc76dd2fd41811ec2db946f)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:51 +01:00
Scott Rifenbark
5b86e38754 ref-manual: Enhanced link to the host-user-contaminated test.
The link was just going to the top of the section.  I added an ID tag
to the actual host-user-contaminated test within that insane.bbclass
description.  Now, the user is linked right to that test.

(From yocto-docs rev: b1e5b5a1876e211a8c57bfa727fa9031cfe5e0ac)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:51 +01:00
Scott Rifenbark
c6e505438d ref-manual: Fixed broken link to do_image task.
Had the wrong ID in there.

(From yocto-docs rev: 6d52354b42709867ef61543de6d3b630fd780bab)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:51 +01:00
Scott Rifenbark
71dbf342aa ref-manual: Removed link to DEPLOY_DIR variable.
The focus of the discussion here is on the DEPLOYDIR variable.
Having the link to the variable DEPLOY_DIR adds clutter to it all.
Removed that link.

(From yocto-docs rev: 8561c70fcff88adc82c7c5998d2539d40b314888)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:51 +01:00
Scott Rifenbark
f443a38116 ref-manual: Removed redundant link to IMAGE_FSTYPES variable.
(From yocto-docs rev: 8b6dbb3259b4875e7443a5ceb55f5d593b2409a2)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:51 +01:00
Scott Rifenbark
28ef66df80 ref-manual: Removed redundant link to the C/C++ Compiler Cache.
(From yocto-docs rev: 1e7898f584e0ca4f5dcfaef447b70aec36867051)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:51 +01:00
Scott Rifenbark
f77432d6f7 ref-manual: Fixed wording on how autotools classes build by default
Took out stange parenthetical construct and the links to the B and
S variables.  Links were redundant.  The construct was weird.

(From yocto-docs rev: 9cd2bf116bd89288a93944359a4809e68fa61f7b)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:51 +01:00
Scott Rifenbark
377c5007c8 ref-manual: Removed redundant link for "Source Direcotory" term.
(From yocto-docs rev: 82ebe64671cf298a8e9c53b2975540542f10b28f)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:51 +01:00
Scott Rifenbark
5b8f5ef75b ref-manual: Removed redundant link to WORKDIR variable.
(From yocto-docs rev: 66ab70483fe1ab963b6e5e822797b144f787a139)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:51 +01:00
Scott Rifenbark
4e03ba29fd ref-manual: Removed redundant link to "Build Directory" term
(From yocto-docs rev: 37ddada28753fe89cd56b44b4f1e5896cf71cc23)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:51 +01:00
Scott Rifenbark
53a727d1f8 ref-manual: Fixed link to "naked" bsp-guide reference
A "naked" reference to the bsp-guide was split across two lines
in the *.xml file.  This splitting causes the link to not be
processed correctly by the mega-manual.sed script.  I joined the
two lines to fix the link.

(From yocto-docs rev: e31b4d2210b5c246f3e822fbe8950a625e08ca98)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:50 +01:00
Scott Rifenbark
49be023f17 ref-manual: Added "section" as part of a reference to the bitbake-user-manual.
Missing this conventional part of the reference contextual diatribe.

(From yocto-docs rev: 5468ebf21bc9166de35e9b7016eef06ed586e5c3)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:50 +01:00
Scott Rifenbark
cf234c80e4 ref-manual: Removed several redundant links to variables.
Trying to get back to a standard of using an actual link for only
the first occurrence of a variable in any given section.

(From yocto-docs rev: 68d80a5dd8481f938892473c4671a9c436e80c8f)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:50 +01:00
Scott Rifenbark
3ca3e0d6c3 ref-manual: Removed redundant links to the DISTRO_FEATURES variable.
(From yocto-docs rev: d834e5f5cef520b80e5049b28945cfa1ead3b092)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:50 +01:00
Scott Rifenbark
4275f169dd ref-manual: Fixed bad title for the bitbake-user-manual
In the migration section, an older name for the bitbake-user-manual
was being used in the text for a cross-reference.  I replaced it
with the current and correct name.

(From yocto-docs rev: 3f466b59a3138984cceae12ac58c84ec3cda4432)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:50 +01:00
Scott Rifenbark
b4f9578263 ref-manual: Fixed bad link to naked sdk-manual
In the migration section, an older flavor of the title to the
sdk-manual was being used.  This of course was not processed
correctly by the mega-manual.sed script.  I fixed the title so
it is now processed correctly.

(From yocto-docs rev: 1f9fa699bb14f96a7c9ccab314a7d72e6a93dda6)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:50 +01:00
Scott Rifenbark
e70c4496f3 ref-manual: Fixed bad title string for "Toaster User Manual"
(From yocto-docs rev: 14efbdbbcffea3a301dd220b3336fd11e1878ff8)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:50 +01:00
Scott Rifenbark
f7d05a7f13 ref-manual: Removed redundant paragraph for links to variables.
(From yocto-docs rev: 32228c3e138d6bd0076b164980e90fdc25c62768)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:50 +01:00
Scott Rifenbark
e6109a24b9 ref-manual: Fixed mis-matched title in link to ptest.
(From yocto-docs rev: d203312ede89d5c7467f8ac8117522c4fc1fd7b5)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:50 +01:00
Scott Rifenbark
411730cb12 ref-manual: Removed redundant link to the BAD_RECOMMENDATIONS variable.
(From yocto-docs rev: 27ce95176fcceb95065eee19fecc2a71d88a0984)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:50 +01:00
Scott Rifenbark
af2ea82175 ref-manual: Removed redundant link to IMAGE_FEATURES variable.
(From yocto-docs rev: 0ca8dc6aa8e06405e9483398788f4e221408fed7)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:50 +01:00
Scott Rifenbark
8d48abc3ef ref-manual: Fixed a link to a naked manual reference
The terms.xml chapter had a link to the toaster-manual where the
string to the manual was not matching the string used in the
mega-manual.sed file.  Consequently, the link was not being processed
correctly.  This type of link should not be a link in the mega-manual
because the target is to the manual in general.  Fixed the string
of the toaster-manual to match what is being used in the mega-manual.

(From yocto-docs rev: 44042847db10b15f8694199162ad96dea44d21bc)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:50 +01:00
Scott Rifenbark
f58bd67e4b ref-manual: Updated buildtools example script
(From yocto-docs rev: f9d46c43a2f5961fb9bda6758f8c2cdeef100281)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:50 +01:00
Scott Rifenbark
7211597871 ref-manual: Updated example buildtools .sh file.
(From yocto-docs rev: 36fecfc69f60c99a58c86fc3f1890382fb013887)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:50 +01:00
Scott Rifenbark
f9f89aae51 kernel-dev: Fixed a few links throughout manual.
The areas were found scrubbing the mega-manual.  These were minor
fixes.

(From yocto-docs rev: aaa460be3f4a446c091d66a17ca6c010f335ccc4)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:50 +01:00
Scott Rifenbark
f3e5f2b6f0 overview-manual, dev-manual: Cleaned up links to source repos
I was using the "/cgit/cgit.cgi/" string as part of the link to
the source repos, which uses the ENTITY "&YOCTO_GIT_URL;".  That
ENTITY is all that is necessary to get the link to work.  I removed
the other stuff.

(From yocto-docs rev: f9a63c2cc824ef05230f614e933d178469890e97)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:49 +01:00
Scott Rifenbark
e5d1d22b57 kernel-dev: Minor fixes.
1. Fixed the name of the "do_compile" task so that it was not
   referenced as "do_compile()".

2. Fixed a link to the Source Repositories so that the link
   used the ENTITY for the YP Git area and not a full-blown
   hard-coded path.

(From yocto-docs rev: 4b8d0e61f3f3017954d36ed196a08fb0a04909dc)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:49 +01:00
Scott Rifenbark
a6c70d5e3a kernel-dev: Fixed link to a section head
The "end" part of "linkend" was missing.

(From yocto-docs rev: 9411033faa6f71a52080c2f35a2af2f725399c7b)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:49 +01:00
Scott Rifenbark
67c9dfda72 kernel-dev: Fixed two broken links from bad syntax.
(From yocto-docs rev: 7d56b5c6d918e8326d66191b857a0030d2533fc6)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:49 +01:00
Scott Rifenbark
5a9678f0dd bsp-guide: Fixed broken link to Raspberry Pi README.md file.
(From yocto-docs rev: f3d4710eef845ef356072645597b3794cb19d08a)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:49 +01:00
Scott Rifenbark
5f51c8796a ref-manual, poky.ent: Removed old ENTITY to kernel-manual
Found a link to the old kernel-manual in the reference manual.
This manual is not used.  I changed the link to use the proper
ENTITY value and also removed the old one from poky.ent.

(From yocto-docs rev: f1377989ab4a85827f5aaab9b19c4fb3c10567ca)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:49 +01:00
Scott Rifenbark
283961d3fa bsp-guide: Fixed bad link that was going to old kernel manual
Found a link going to the "kernel-manual" manual, which is no
longer used.  Changed to "kernel-dev".  This was a fix so that
I was using the proper ENTITY in the poky.ent file.

(From yocto-docs rev: 787ee10c7764ffd6adfbd8ddb304ac686bf3e95f)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:49 +01:00
Scott Rifenbark
0ee4a69b3f bsp-guide: Shortened link to the YP Source Repositories.
Removed the /cgit blah blah blah part.

(From yocto-docs rev: 575a0d173d4b8706bc8ee966e6bfafdd96b38cad)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:49 +01:00
Scott Rifenbark
6ed08ab9ce sdk-manual: Removed redundant link to "Build Directory"
(From yocto-docs rev: 9ce5617e008ce18656cc04608c50186f3d3b05bf)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:49 +01:00
Scott Rifenbark
a345563928 sdk-manual: Scrubbed "Neon" occurrences from the Oxygen chapter.
(From yocto-docs rev: 5c53a75af70a6c6ddaaf5b1d298ea129006f2952)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:49 +01:00
Scott Rifenbark
cd8aa05113 sdk-manual: Fixed minor wording problem.
(From yocto-docs rev: 030fa276d1fc462b321e43547a6da03ca05d590e)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:49 +01:00
Scott Rifenbark
04b21d6e0c sdk-manual: Fixed bad title in link.
Link was going to the right place but had an old chapter title
name.

(From yocto-docs rev: 57a5d25180429a97d47678c0782198623bc06eef)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:49 +01:00
Scott Rifenbark
db98975f64 dev-manual: Fixed broken link
(From yocto-docs rev: 4abc25e1b0b93bb232291e0bb51ec89c5e1f66f9)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:49 +01:00
Scott Rifenbark
a275fd841f dev-manual: Fixed broken link to WORKDIR variable.
(From yocto-docs rev: c239bd40e92cedee6301c176ff96821ea270fc39)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:49 +01:00
Scott Rifenbark
97eb377e5c dev-manual: Replaced SERIAL_CONSOLE with SERIAL_CONSOLES
The former is deprecated.

(From yocto-docs rev: 1a1f89d91ceeb35f8cb5c2f9fc42fdb089ffc05c)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:48 +01:00
Scott Rifenbark
98346f0441 dev-manual: Fixed broken link to Carna Botnet's article.
(From yocto-docs rev: 1d5e9bfea217051a457c30dcbd890366e9dd7611)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:48 +01:00
Scott Rifenbark
409aeee632 dev-manual: Fixed target for a link.
(From yocto-docs rev: 59697f22f79d07b800d4f3ce2eb2ea41c987802b)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:48 +01:00
Scott Rifenbark
7b39b4eac2 dev-manual: Removed non-functioning link to EXTERNAL_TOOLCHAIN
(From yocto-docs rev: b0bd0c4d8070adf1439140230700b0de18f884ae)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:48 +01:00
Scott Rifenbark
9bf14bd86f poky.ent: Updated some autobuilder ENTITY variables
The location for nightly builds changed to
https://autobuild.yocto.io/pub/nightly/.

I updated the YOCTO_AB_PORT_URL and YOCTO_AB_NIGHTLY_URL
ENTITY variables accordingly

(From yocto-docs rev: 5a80544901ed6f0fd2188e82ac3dab7637d28aa1)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:48 +01:00
Scott Rifenbark
7c6df63fb2 dev-manual: Replaced "BSD" with "BSP" typo. Also small word change.
(From yocto-docs rev: d67856c849c5275a07ee1f87db839cd4d4d9a6f6)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:48 +01:00
Scott Rifenbark
4045ead450 documentation: Terminology fix for "OpenEmbedded Layer Index"
Found several instances of this being referred to as the
"OpenEmbedded Metadata Index".  Changed to "OpenEmbedded Layer
Index".

(From yocto-docs rev: 60fb601be324a350cd4d51b199915e6b72e2f9b0)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:48 +01:00
Scott Rifenbark
24c4f0ca99 dev-manual: Removed redundant link.
(From yocto-docs rev: bf64aad87e0248362e9cf9b693cd806ca32873fa)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:48 +01:00
Scott Rifenbark
bb3e0b334b dev-manual: Fixed formatting issue.
(From yocto-docs rev: 4cd711d1305f480068447bac8881212a5b999d34)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:48 +01:00
Scott Rifenbark
1378a71fe2 dev-manual: Slight wording change and link to a list of items.
(From yocto-docs rev: 26dd48f6995a1ac8da5ceba124d7795ebe857d53)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:48 +01:00
Scott Rifenbark
b7cfeadb69 dev-manual: Fixed a broken Gitolite link.
(From yocto-docs rev: 5d900f38079701a2ed8243071bd669bca1d97e1e)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:48 +01:00
Scott Rifenbark
27e846e269 dev-manual: Fixed link to Toaster User Manual.
Had "Toaster Manual" in the cross-reference so it was not resolving
correctly when processed by mega-manual.sed.

(From yocto-docs rev: c99ce4a706df55e97388b45620ed2a503cb8312d)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:48 +01:00
Scott Rifenbark
002c29813b dev-manual: Removed writer note about needing a figure.
Nobody provided a figure for me for this section, which would
have been nice.  So, I have generalized the text to work
without that detail.

(From yocto-docs rev: 7570167196c26c9eb08e97d1350a715bff37c75f)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:47 +01:00
Scott Rifenbark
ee46cde7dc dev-manual: Fixed grammar... missing word.
(From yocto-docs rev: 37cf33513896f2cf9accf801b0847d9f132fc06a)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:47 +01:00
Scott Rifenbark
e1387f46a5 documentation: Cleaned up links to the source repositories
I was using the ENTITY with "cgit/cgi"/ appended to the end.
The appended part is not necessary.  Removed it.

(From yocto-docs rev: 64593694d62c99cbe2897804c04fea24110ee861)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:47 +01:00
Aurelio Jargas
9967a28786 mega-manual.sed: Improved readability
Using the "@" character to de-specialize the "/" character.
This change makes the file more readable.

(From yocto-docs rev: d15c9ce6cc365768677cdd40a8859bb96aad7dc4)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:47 +01:00
Scott Rifenbark
b764f55ead ref-manual: Fixed a link.
(From yocto-docs rev: 79e8ae28a3da4c135227ba44e707a1adde61a24f)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:47 +01:00
Scott Rifenbark
719fcb9a48 overview-manual: Scrubbed links and fixed a few
Found some mangled links in various spots that were causing the
mega-manual.sed file issues.

(From yocto-docs rev: 405a92f934bf7e209f3b8a543e63a1b4c693af29)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:47 +01:00
Scott Rifenbark
dc51a79423 brief-yoctoprojectqs: Added customization file for eclipse
this file was accidentally dropped during all the manual
reording operations.  I have restored it.

(From yocto-docs rev: 5c1244f18ede1af0a540687cfb5d9071fbb3c1c0)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:47 +01:00
Scott Rifenbark
0fbe9cebf0 overview-manual: Review feedback applied
Minor wordings based on Stephano's feedback.

(From yocto-docs rev: 4aa7aa0e9c7d8e554771743ecabdf0e64f3884e0)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:47 +01:00
Scott Rifenbark
0b07e5c00d documentation: Updated everything for new overview-manual
This involved changing the root manual folder from
"getting-started" to "overview-manual".

Also, every link using the ENTITY "YOCTO_DOCS_GS_URL" was
changed to "YOCTO_DOCS_OM_URL".  Most manuals had several
occurrences of these links.

The makefile needed updating to process the new manual
and not process the old "getting-started" manual.

(From yocto-docs rev: 1abf64e56e9096258038ae37b787a81bf786bb3b)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:47 +01:00
Scott Rifenbark
3a8b4648d4 mega-manual.sed: Added overview manual and extra subst.
Updated the script to process the overview-manual strings
found in the mega-manual.  These changed due to the folder
chaning from "getting-started" to "overview-manual".

Additionally, I discovered a single occurrence of a linked
reference to the mega-manual that was in the mega-manual.
This is not ideal.  That link needs to be a link in the
ref-manual where it originates.  However, the link in the
mega-manual should not link to itself.  That link needed
processing just like all top-level book links in the
mega-manual.  The link should be removed.  I added a single
substitution operation at the end of the file to handle this
lone case within the mega-manual.

(From yocto-docs rev: 57ebdb1cb10a4df0d69316d1f116d7804199ae90)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:47 +01:00
Scott Rifenbark
f476125b50 poky.ent: Added YOCTO_DOCS_OM_URL entity
The variabe for the "getting-started" manual goes away and is
replaced by this one for the new "overview-manual."

(From yocto-docs rev: 45fc9beac6db4c40c3660fc9e54cc11e9c1f96c4)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:46 +01:00
Scott Rifenbark
6270b8648a dev-manual, ref-manual: Fixed two broken links.
(From yocto-docs rev: 1ce02bf1c81629d9e008c05b48c4cddad264bafc)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:46 +01:00
Scott Rifenbark
ebb45adced bsp-guide: Removed redundant word.
(From yocto-docs rev: 199f892100f352f7c190aa3d7bac1b4a5e44dfb2)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:46 +01:00
Scott Rifenbark
48a87de5dc brief-yoctoprojectqs: Fixed broken link
Found a link to a deprecated "overview" manual.  Replaced it with
the proper ENTITY to the getting-started manual.

Removed the ENTITY to the old "overview" manual.

(From yocto-docs rev: 891e4902052743833c422e6a557c93de42ed892d)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:46 +01:00
Scott Rifenbark
f6a378d537 documentation: Changed getting-started manual titles
Throughout the documentation, the manual "Getting Started With
Yocto Project" was used.  The manual now is called "Yocto Project
Overview and Concepts Manual".

(From yocto-docs rev: f47d10029487420cbeb292f680084b63be0ec7e9)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:46 +01:00
Scott Rifenbark
c85b419fee documentation: Fixed links to old concepts-manual
The concepts-manual is going away for 2.5.  I have fixed all the
links across the YP documentation set that were cross-referencing
into the concepts-manual so they now cross-reference into the
getting-started manual, where that concepts chapter will live
post 2.4x.

(From yocto-docs rev: e9145e9e7fef882a13c982d34514a94f864b3c12)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:46 +01:00
Scott Rifenbark
67b8861899 yocto-project-qs: Removed this manual.
No longer part of set from 2.5 on.

(From yocto-docs rev: edf059871a201179e8dab90746eb7e9eece65eb9)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:46 +01:00
Scott Rifenbark
69398b7992 Makefile: Removed yocto-project-qs
This file is not part of 2.5.

(From yocto-docs rev: a0ad3a90869c7dca729cce7db5fb7004e0272211)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:46 +01:00
Scott Rifenbark
c3457e525e concepts-manual: Removed chapters.
Do not need these chapters any longer.  The manual is going away
and these chapters were organizational for the book and do not
provide any new information for the getting-started.

(From yocto-docs rev: 47e64fbee86960009968478099e9399f673bda9d)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:46 +01:00
Scott Rifenbark
11ea5291a2 mega-manual: removed chapters from concepts manual
these chapters were sucked into the getting-started manual but
now are no longer even needed there.  The chapters are
organizational for the old concepts-manual and provide nothing
for the getting-started.

(From yocto-docs rev: dd97d06039e3fd6bcbbccafa99f4d29ce041ae70)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:45 +01:00
Scott Rifenbark
ea1e98a968 getting-started: Moved concepts-manual-concepts.xml to getting-started
This chapter in now in the getting-started manual.

(From yocto-docs rev: 206c4e2117cc3b404c81ac66f391cee68db4a1c2)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:45 +01:00
Scott Rifenbark
e6f52c588e mega-manual.sed: Removed the concepts-manual.
This manual will not exist.  I deleted the two lines that process
links in the mega-manual for the concepts-manual

(From yocto-docs rev: 49530e16b19b8f24782c15fe7daf68e0e0444e39)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:45 +01:00
Scott Rifenbark
6fb8ac6894 mega-manual: Removed the concepts-manual.
The two chapters have been integrated into the current
getting-started manual.  Concepts manual is no longer in
existence.

(From yocto-docs rev: f8ee299901acb61d0e638ce9e36f30c5924f36d4)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:45 +01:00
Scott Rifenbark
262db8d9dc poky.ent: Removed the ENTITY for the concepts-manual.
Removed the YOCTO_DOCS_CM_URL from the mix of things.  The manual
will not exist.

(From yocto-docs rev: d97df11478566654d95f02b6fe61eaa0068afb5f)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:45 +01:00
Scott Rifenbark
5aff57f173 Makefile: Removed concepts-manual
This manual will not see existance.  I put the list of .png files
from this manual into the existing getting-started manual as that is
where the topics will now go.

(From yocto-docs rev: 22c2de06baf96120cbc830540e818599ce0ac07b)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:45 +01:00
Scott Rifenbark
861ba4933a documentation: Removed references to the concepts-manual
Removed all the references to the top-level of the old
concepts-manual.  These references are references that do not
have a "#" target.  They just reference the manual in general.

(From yocto-docs rev: 5b33f3c119807532aa6feb2d010c9c9f780a26d8)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:45 +01:00
Scott Rifenbark
ef2d0247ae getting-started: Added figures from old concepts-manual
The concepts-manual is going away for 2.5.  It is being sucked back
into the getting-started from where it came after originally being
moved out of the ref-manual.  I have moved all the figures from the
concepts-manual to the figures folder of the getting-started
manual.

(From yocto-docs rev: 6a95ab558964f2833d6b214791be94cb87305926)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:45 +01:00
Kristi Rifenbark
cc6a01da0e sdk-manual: Updated "Installing the Neon Eclipse IDE"
(From yocto-docs rev: e6e6cd146bb821d544b1b9a43307ecd3034f3e52)

Signed-off-by: Kristi Rifenbark <kristi@buzzcollectivemarketing.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:45 +01:00
Scott Rifenbark
90bb0b0f56 dev-mnaual: Changed "Dockers" to "Docker"
(From yocto-docs rev: af6bf8474462584b183005ce51fec42efb94e232)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:45 +01:00
Scott Rifenbark
5f02d2e4d3 dev-manual: Fixed grammar error.
(From yocto-docs rev: a0f045418cb378ec07725dfd6de20b5d7ce33239)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:45 +01:00
Scott Rifenbark
abde1bb6c6 dev-manual: Corrected "Docker" typo.
(From yocto-docs rev: 5615e6803dbbe64e66cced29f44f1cf9e94fdf38)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:45 +01:00
Scott Rifenbark
816fd8faca sdk-manual: Fixed reference to the Neon Appendix.
The link to the appendix was referencing Appendix C instead of
Appendix D.

(From yocto-docs rev: b8b4ffe14f74ef0a76289258ae17a3843363397d)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:45 +01:00
Scott Rifenbark
b95b9595ff sdk-manual: Removed non-eclipse option for Eclipse flow
The step in the general Eclipse IDE workflow has a step that tells
the user to "Create and Build Your Application."  I had a sentence
in that step that suggested if you were not using Eclipse to follow
some sort of procedure.  The whole idea of this flow is to be
working within Eclipse.  I removed that sentence.

(From yocto-docs rev: 83c35e9bb7190464af840822f5dd66d84e15ec64)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:45 +01:00
Scott Rifenbark
c7bc648e65 sdk-manual: Added cross-reference to QEMU Emulator.
(From yocto-docs rev: 97b070efdadaec645df24416d61c184065d4b96b)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:44 +01:00
Scott Rifenbark
c94c6b746d sdk-manual: Formatting change to list.
(From yocto-docs rev: 3f0ead6ce135ae8f92fa9cded676bb558424628c)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:44 +01:00
Scott Rifenbark
cab4efa208 sdk-manual: Fixed capitalization issue in a list.
(From yocto-docs rev: 861ce526456e2ee2f924b57a469e8c8fdb6bb768)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:44 +01:00
Scott Rifenbark
b9f459b447 sdk-manual: Updated heads for list on Eclipse development
The list headings were not conforming to the capitalization rules
for lists used in the YP manual set, which is significant words
are capitalized in a bolded item of a bulletted or numbered list.

(From yocto-docs rev: af60763b7daccb6af22b4761f6b8370ea1956714)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:44 +01:00
Scott Rifenbark
32ddfa7061 sdk-manual: Updates to the "Using SDK Toolchain Directly" chapter
Some minor updates here.  Mainly, bring a list into conformance
for use of capitalization in the bolded item heads.

(From yocto-docs rev: a9c9bb36caa146b0ff8338cb1fad850d75a64997)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:44 +01:00
Scott Rifenbark
dc1d67be95 sdk-manual: Updated SDK installation script naming explanation.
Updated the various fields for what goes into the name of one
of these *.sh files pulled from the download sites.

(From yocto-docs rev: 4b326ae834d50607062c2f29c27fccd496489eb6)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:44 +01:00
Scott Rifenbark
f1a7cb96a5 sdk-manual: Updated note about some tools being deprecated
The note was written such that it appears some performance tools
were just recently deprecated with this release of the Eclipse
Yocto Project plug-in.  This is not the case.  I updated the
note wording to simply state that those tools are deprecated
with the plug-in.

(From yocto-docs rev: 4e8aa076ec009c71d7ceeda5c64a617e1c2696fb)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:44 +01:00
Scott Rifenbark
8f8215dcf8 sdk-manual: Updated Eclipse trademarking usage
Made sure that each first occurrence in a chapter used the
"tm" mark.

(From yocto-docs rev: b7b21441b5fc009b8161902a10cfe1863d87b8a8)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:44 +01:00
Scott Rifenbark
ef753009ea concepts-manual: Updated Image Generation section.
Added wording to note that the rootfs might be compressed
depending on the IMAGE_FSTYPES setting, which would have to
actually do compression.  Also, fixed examples of "do_image_type"
and "do_image_ext4" so that there is no "[depends]" as part
of the example.

(From yocto-docs rev: 18ecdc6dd8722212c94000950841a4c06d3e48aa)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:44 +01:00
Scott Rifenbark
eec08a1e4a documentation: Fixed links to concepts-manual.
Some inconsistencies in the links to the concepts-manual existed.
I fixed these throughout the YP manual set.

(From yocto-docs rev: ad7f840bb6f4a5248ef455b98ce9b35197e07e1a)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:44 +01:00
Scott Rifenbark
39810ff505 documentation: Fixed "Getting Started" manual links
There was inconsistent use when referencing the getting-started
manual.  The manual's name does not include the word
"Manual".  So, I cleaned this up across the manual set and
also in the mega-manual.sed file, which was incorrectly
processing the links to that manual that do not target a
specific section.

(From yocto-docs rev: 0f5321416f7ec50cb6c96cccb7c87ef191a25367)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:44 +01:00
Scott Rifenbark
1a013b9cb0 mega-manual: Fixed various links to the dev-manual
Found a few links that were not using the correct wording when
referencing a section to the dev-manual.  Also, fixed one link
that was assuming a section outside the dev-manual when the
link was to a section inside the dev-manual.

(From yocto-docs rev: 7a577b135e1a01d6a9924ba89733e46d029c6cca)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:44 +01:00
Scott Rifenbark
8d0e2e755f mega-manual.sed: Improved readability for strings in .sed file
The escaping of the double quote characters is not necessary
in the mega-manual.sed file, which processes the links in that
large HTML document.  I have removed them.

Authored-by: Aurelio Jargas <aurelio@aurelio.net>
(From yocto-docs rev: 640a52c74750b9148116171cfa8a2cca388f6d7c)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:43 +01:00
Scott Rifenbark
d083b919ed documentation: Updated "OpenEmbedded-Core" terms.
Throughout the manual set, I made sure that "OpenEmbedded-Core"
and "OE-Core" appear with the hyphens.

(From yocto-docs rev: 1f570df3eccb74b9e2e60af94c0e0dd48e1489e9)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:43 +01:00
Scott Rifenbark
c755c65160 ref-manual: Updated LAYERSERIES_COMPAT description.
Using "OpenEmbedded-Core" rather than "OpenEmbedded Core" in the
text.  The term as also fixed to reflect this change.  Also,
use of the phrase "OpenEmbedded-Core project" or "OE-Core project"
is not desirable.  Changing project to version.

(From yocto-docs rev: ec226fcd92847c96ea2e11d34513b597a35c9825)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:43 +01:00
Scott Rifenbark
e4c18f4cd4 ref-manual: Updated LAYERSERIES_COMPAT variable description.
Minor re-wordings from review.

(From yocto-docs rev: d4598e7e43a8bafa4ff6ddeec50febcedc41b411)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:43 +01:00
Scott Rifenbark
a7a6af6bbe ref-manual: Fixed two grammar errors.
(From yocto-docs rev: 23a0edc13f2306008c0bbb154fb0861f15d4e6de)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:43 +01:00
Scott Rifenbark
4abbd7b74c mega-manual.sed: Added brief-yoctoprojectqs to the script
(From yocto-docs rev: a5469784ee7815ba43f3b3c0d77cfd7a32c28f2f)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:43 +01:00
Scott Rifenbark
52a0499dfc documentation: Added brief-yoctoprojectqs to mega-manual
The original QS (yocto-project-qs) has been retired for the YP
sumo (2.5) release.  The manual has been replaced with the
brief, two-page quick build document (brief-yoctoprojectqs).

I needed to create a new title figure for the manual to include
as part of the mega-manual (bypqs-title.png).  The figure was
added to the figures folder of both the bried-yoctoprojectqs
and mega-manual book folders.  I also removed the old
ypqs-title.png file that was used for the original QS.

Updated the stylesheet doc for the brief build to include a
style using the new title .PNG file.

Updated the mega-manual.xml file to include the brief doc and
exclude the original QS.

(From yocto-docs rev: aadec4a70fa89e4dcd233c337d8971c8353ee26d)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:43 +01:00
Kristi Rifenbark
8283724ee3 sdk-manual: Cleaned up section IDs between Neon and Oxygen
Updated section IDs for the new Using Eclipse Neon
Appendix and Chapter 5 Working Within Eclipse (Oxygen).
Changed one link found in reference manual.

(From yocto-docs rev: d767007cf4151127063d1992a4e11e90437ae2da)

Signed-off-by: Kristi Rifenbark <kristi@buzzcollectivemarketing.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:43 +01:00
Scott Rifenbark
bd6580fc18 documentation: Purged the YP Quick Start references from YP set
The original Yocto Project Quick Start is being retired for the
YP 2.5 release (sumo).  I have purged all the various references
from the YP manual set and replaced them with references to the
appropriate doc.  The references were mainly into the YP
dev-manual for setting up the host or for building an image.
There were a few references into the new "Yocto Project Quick
Build" document for overviewing manual-type references.

(From yocto-docs rev: 11c0ab693962f16f87f1e21f33dd5c6ca6a6f895)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:43 +01:00
Scott Rifenbark
097b5942ff ref-manual: Deleted the "ref-bitbake.xml" chapter
This information was merged into the BitBake User Manual.

(From yocto-docs rev: eb68d4429aed652e4ca10c1ab55d3a815d453d6f)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:43 +01:00
Scott Rifenbark
e24511e85b dev-manual: Added new section on conserving disk space
For conserving disk space during builds, I added a new section
that tells how to add "rm_work" to your local.conf file.
This information was part of the original YP Quick Start
and was not carried forward into the new brief build
document.

(From yocto-docs rev: 719d70587d908390a134559472d57ce7fced6aae)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:42 +01:00
Scott Rifenbark
54ff8be899 brief-yoctoprojectqs: Changed title
Changed the title to "Yocto Project Quick Build" from "My First
Yocto Project Build", which sound a bit too much like "My first
little Pony."

(From yocto-docs rev: c797590d3cd341a9c492c7af49a927e1d241184e)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:42 +01:00
Scott Rifenbark
c4995202d8 bsp-guide: Swapped SERIAL_CONSOLES for SERIAL_CONSOLE
The latter has been deprecated.

(From yocto-docs rev: 1f0f423f89d7727aace64b2cfe0b11b0a4bbc7e3)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:42 +01:00
Scott Rifenbark
34208c4b39 bsp-guide: Updated SPL_BINARY discussion.
Updated the discussion on this variable in the BeagleBone
example.  Took out an older "Xloader" term.

Also, fixed a link to the u-boot.inc file.

(From yocto-docs rev: 5a41c6e7ed6ee6432f7f2c15642f5f98460a1a83)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:42 +01:00
Scott Rifenbark
10b372392a brief-yoctoprojectqs: Updated wording to use ENTITY variables
The tip box shows how to ure the mirrors for the most recent
release and the most recent release minus one.  I set these
up to use variables rather than hardcoded releases.

(From yocto-docs rev: ad47deb8ac1fc074ed3fdf3627609ac3ab38e92b)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:42 +01:00
Scott Rifenbark
8721c0f8f5 poky.ent: Added variables for doc version minus one
Useful for providing the release version of the current
release minus one.

(From yocto-docs rev: c5970a4c52a333156336a564ae488b808a73a880)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:42 +01:00
Scott Rifenbark
c1d20b2e48 brief-yoctoprojectqs: Added link to getting started manual.
Provided a bullet item to the Getting Started manual in the
"Where to Go Next" section.

(From yocto-docs rev: ce4edc521d19b3c8025e950061cc962ca88fa29e)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:42 +01:00
Kristi Rifenbark
3e739f1fdc sdk-manual: Fixed duplicate link
(From yocto-docs rev: 53da7ae95f499bcfb80d4f04b834bf6ade71d2ff)

Signed-off-by: Kristi Rifenbark <kristi@buzzcollectivemarketing.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:42 +01:00
Scott Rifenbark
0a27df9ea8 bsp-guide: Fixed note on title page to have correct title.
(From yocto-docs rev: 30455141776c86def4721e4dbe97b0c0a6e27ddd)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:42 +01:00
Joshua Watt
f1cee2b10f ref-manual: Updated the SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS variable
Describes the new wildcard syntax

(From yocto-docs rev: e91db865686e7b1b9b21cb9aea892b0ed8884438)

Signed-off-by: Joshua Watt <jpewhacker@gmail.com>
Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:42 +01:00
Scott Rifenbark
01d53451fb Documentation: Updated Manual Notes
I did some re-wording to account for when the user does a web
search for a manual and the search returns an ancient version
of the manual.  Many times the user is oblivious of this fact
and is trying to use a version of the docs that don't come close
to matching the version of the YP.

(From yocto-docs rev: 1cbe06cefda2b35584a8365564e01888d229d0b3)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:42 +01:00
Scott Rifenbark
c1155478ba bsp-guide: Added new section for creating layer using bitbake-layers
Created detailed example using the BeagleBone BSP.

(From yocto-docs rev: 7701dc2bd94ae7ee3e4aee37ac97174ad445d286)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:42 +01:00
Scott Rifenbark
376637d678 ref-manual: Added variable description for SPL_BINARY
(From yocto-docs rev: 00e579123540006c364f7751a37e29c74acf361b)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:42 +01:00
Scott Rifenbark
40e4b86836 ref-manual: Updated the IMAGE_BOOT_FILES varaible.
Added a final paragraph that provides some cross-referencing to
the sections that describe how to use Wic and to the Wic
reference chapter.

Also, shortened the DOC info line.

(From yocto-docs rev: 4ba5d0119caa3696187537f5b4cc9c64ca00e205)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:42 +01:00
Scott Rifenbark
c047d59890 ref-manual: Updated SERIAL_CONSOLE and SERIAL_CONSOLES variables.
Added a link to the "getty" term.

(From yocto-docs rev: d21fe1ea33353e15c135af7fc302ffe636310541)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:41 +01:00
Scott Rifenbark
a50f249ebb ref-manual: Updated IMAGE_INSTALL variable description.
Minor edits for clarification.

(From yocto-docs rev: fdef057927b7b0dba64b9b7f952108fdb9c97f34)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:41 +01:00
Scott Rifenbark
cf705753a8 ref-manual: Updated EXTRA_IMAGECMD variable.
Added minor edits to clarify that we are talking about an
image type.

(From yocto-docs rev: 14c906aa539d127c88d71d7fb3e628fc225cbd52)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:41 +01:00
Scott Rifenbark
46fa0a90a7 dev-manual: Added an id tag for the create layer step.
(From yocto-docs rev: 59b8c053f8fe94cc51ece86733c435ac7085eb57)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:41 +01:00
Scott Rifenbark
9e8f28a469 dev-manual: Updated the "Create Your Own Layer" section
Updated the explanation of the layer.conf file.  I am going
to use this section as the definitive section that explains
the layer.conf file.

(From yocto-docs rev: 4c70c7467f0ca5cf2346ef8d10bde437b971d2d2)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:41 +01:00
Scott Rifenbark
c286781b42 dev-manual: Updated the "Creating Your Own Layer" section.
Added information to the list of variables used in the
layer.conf file to specify LAYERSERIES_COMPAT.

(From yocto-docs rev: c41ff41e75b654d5d7df8c2a1e83ba5525490285)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:41 +01:00
Scott Rifenbark
8b423ea03e dev-manual: Updated the "Creating Your Own Layer" section.
For step 3 on creating the layer, I put in wording to make sure
the user does not create a layer in the cloned poky directory.

(From yocto-docs rev: 1a0d1d0c0cdfa77c6df005d0294d11a02ca3770c)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:41 +01:00
Scott Rifenbark
086668f40e dev-manual: Updated layer creation example to use $HOME directory
Best practices dictate that the use not create a layer in the
poky repo.  So, I updated the example to move the user to a
top-level directory first and then create the layer.

(From yocto-docs rev: 81ab8b0f393f90785880aec7685c4c431cb7ad87)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:41 +01:00
Scott Rifenbark
2f58a2eda1 ref-manual: Added new variable description LAYERSERIES_COMPAT
Created a new variable description in the glossary.  This
variable is used in the layer.conf file and needed to be
documented.

(From yocto-docs rev: 5c514c0e90ca920bdf183b1f9449a06b906235ca)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:41 +01:00
Scott Rifenbark
918f415cbe poky.ent: Added two Minus-1 variables for release code names
Many examples in the YP set use the latest release code name
as part of a list and then the "minus-1" code name is literally
typed in.  I think it is time to have a couple ENTITY variables
in poky.ent that will fill in the last release for these examples.

(From yocto-docs rev: 7421d6a0ae85503b205537f08cfd23e28747d835)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:41 +01:00
Kristi Rifenbark
ffd1ad245f sdk-manual: Added new appendix for Neon
Fixed [YOCTO #12417]

(From yocto-docs rev: 9f6b874740b98c5b3eed1c06dcf5fbe687279ca8)

Signed-off-by: Kristi Rifenbark <kristi@buzzcollectivemarketing.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:41 +01:00
Kristi Rifenbark
da0ebd28f6 sdk-manual: Removed Mars Appendix
Fixed [YOCTO #12417]

Deleted the appendix.xml file.
Updated the mega manual .xml file to not include
the Mars appendix file.
Updated the sdk-manual.xml file to not include the
Mars appendix file.

(From yocto-docs rev: e7752c3db1aec8d5143e78aab44ec5afaaaf9c76)

Signed-off-by: Kristi Rifenbark <kristi@buzzcollectivemarketing.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:41 +01:00
Scott Rifenbark
9f61054128 bitbake: bitbake-user-manual: Updated copyright year on title page to 2018
(Bitbake rev: 31c50d965d1fe17d617f2a7a43c52396c198da0f)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 17:17:41 +01:00
David Reyna
f0ec7c8b2d bitbake: toaster: add 'Sumo' to release selection
Add Sumo (YP-2.5) to the release selection for new projects.

[YOCTO #12713]

(Bitbake rev: 76b17ffcea5c7275c2f9735a058256ba909b1a75)

Signed-off-by: David Reyna <david.reyna@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:35:02 +01:00
Richard Purdie
6c5e0625eb toolchain-scripts/meta-ide-support: Handle dash shells correctly
Where /bin/sh is dash, the recent toolchain scripts change fails as the $(pwd)
usage in oe-init-build-env doesn't function correctly. Fix this by saving
and restoring the cwd and calling the script within its own directory.

This fixes meta-ide-support on dash based systems.

(From OE-Core rev: dceca6d34071b4cbef9e28bbf19dc12f5d925525)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:35:02 +01:00
Chin Huat Ang
d7d6ef7df7 toolchain-scripts: preserve host path in environment setup script
The environment setup script generated in the build directory sets the PATH
variable by expanding ${PATH} which would have host paths filtered. Sourcing
this script to run runqemu will not work as it complains host stty (/bin/stty)
cannot be found.

To resolve this, the script no longer expands ${PATH} during generation time,
instead it will now source oe-init-build-env to initialize the build
environment so that all host paths will be preserved. Also be sure to prepend
STAGING_BINDIR_TOOLCHAIN to the PATH variable so that the toolchain from the
build directory can be found.

[YOCTO #12695]

(From OE-Core rev: a64a144096c0637387244b89ed22f4b5352b2522)

Signed-off-by: Chin Huat Ang <chin.huat.ang@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:35:02 +01:00
5534 changed files with 327096 additions and 268770 deletions

5
.gitignore vendored
View File

@@ -1,14 +1,12 @@
*.pyc
*.pyo
/*.patch
/.repo/
/build*/
pyshtables.py
pstage/
scripts/oe-git-proxy-socks
sources/
meta-*/
buildtools/
!meta-skeleton
!meta-selftest
hob-image-*.bb
@@ -30,5 +28,4 @@ hob-image-*.bb
pull-*/
bitbake/lib/toaster/contrib/tts/backlog.txt
bitbake/lib/toaster/contrib/tts/log/*
bitbake/lib/toaster/contrib/tts/.cache/*
bitbake/lib/bb/tests/runqueue-tests/bitbake-cookerdaemon.log
bitbake/lib/toaster/contrib/tts/.cache/*

24
LICENSE
View File

@@ -1,20 +1,14 @@
Different components of OpenEmbedded are under different licenses (a mix
of MIT and GPLv2). See LICENSE.GPL-2.0-only and LICENSE.MIT for further
details of the individual licenses.
of MIT and GPLv2). Please see:
meta/COPYING.GPLv2 (GPLv2)
meta/COPYING.MIT (MIT)
meta-selftest/COPYING.MIT (MIT)
meta-skeleton/COPYING.MIT (MIT)
All metadata is MIT licensed unless otherwise stated. Source code
included in tree for individual recipes (e.g. patches) are under
the LICENSE stated in the associated recipe (.bb file) unless
otherwise stated.
included in tree for individual recipes is under the LICENSE stated in
the associated recipe (.bb file) unless otherwise stated.
License information for any other files is either explicitly stated
or defaults to GPL version 2 only.
Individual files contain the following style tags instead of the full license
text to identify their license:
SPDX-License-Identifier: GPL-2.0-only
SPDX-License-Identifier: MIT
This enables machine processing of license information based on the SPDX
License Identifiers that are here available: http://spdx.org/licenses/
or defaults to GPL version 2.

View File

@@ -1,288 +0,0 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Lesser General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
Note:
Individual files contain the following tag instead of the full license text.
SPDX-License-Identifier: GPL-2.0-only
This enables machine processing of license information based on the SPDX
License Identifiers that are here available: http://spdx.org/licenses/

View File

@@ -1,25 +0,0 @@
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Note:
Individual files contain the following tag instead of the full license text.
SPDX-License-Identifier: MIT
This enables machine processing of license information based on the SPDX
License Identifiers that are here available: http://spdx.org/licenses/

View File

@@ -1,5 +0,0 @@
Some project contributors who are sadly no longer with us:
Greg Gilbert (treke) - Ahead of his time with licensing
Thomas Wood (thos) - Creator of the original sato
Scott Rifenbark (scottrif) - Our long standing techwriter whose words live on

View File

@@ -1,35 +0,0 @@
# Minimal makefile for Sphinx documentation
#
# You can set these variables from the command line, and also
# from the environment for the first two.
SPHINXOPTS ?=
SPHINXBUILD ?= sphinx-build
SOURCEDIR = .
BUILDDIR = _build
DESTDIR = final
ifeq ($(shell if which $(SPHINXBUILD) >/dev/null 2>&1; then echo 1; else echo 0; fi),0)
$(error "The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed")
endif
# Put it first so that "make" without argument is like "make help".
help:
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
.PHONY: help Makefile.sphinx clean publish
publish: Makefile.sphinx html singlehtml
rm -rf $(BUILDDIR)/$(DESTDIR)/
mkdir -p $(BUILDDIR)/$(DESTDIR)/
cp -r $(BUILDDIR)/html/* $(BUILDDIR)/$(DESTDIR)/
cp $(BUILDDIR)/singlehtml/index.html $(BUILDDIR)/$(DESTDIR)/singleindex.html
sed -i -e 's@index.html#@singleindex.html#@g' $(BUILDDIR)/$(DESTDIR)/singleindex.html
clean:
@rm -rf $(BUILDDIR)
# Catch-all target: route all unknown targets to Sphinx using the new
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
%: Makefile.sphinx
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)

26
README.LSB Normal file
View File

@@ -0,0 +1,26 @@
OE-Core aims to be able to provide basic LSB compatible images. There
are some challenges for OE as LSB isn't always 100% relevant to its
target embedded and IoT audiences.
One challenge is that the LSB spec is no longer being actively
developed [https://github.com/LinuxStandardBase/lsb] and has
components which are end of life or significantly dated. OE
therefore provides compatibility with the following caveats:
* Qt4 is provided by the separate meta-qt4 layer. Its noted that Qt4
is end of life and this isn't something the core project regularly
tests any longer. Users are recommended to group together to support
maintenance of that layer. [http://git.yoctoproject.org/cgit/cgit.cgi/meta-qt4/]
* mailx has been dropped since its no longer being developed upstream
and there are better, more modern replacements such as s-nail
(http://sdaoden.eu/code.html) or mailutils (http://mailutils.org/).
* A few perl modules that were required by LSB 4.x aren't provided:
libclass-isa, libenv, libdumpvalue, libfile-checktree,
libi18n-collate, libpod-plainer.
* libpng 1.2 isn't provided; oe-core includes the latest release of libpng
instead.
* pax (POSIX standard archive) tool is not provided.

View File

@@ -1,29 +0,0 @@
OpenEmbedded-Core
=================
OpenEmbedded-Core is a layer containing the core metadata for current versions
of OpenEmbedded. It is distro-less (can build a functional image with
DISTRO = "nodistro") and contains only emulated machine support.
For information about OpenEmbedded, see the OpenEmbedded website:
http://www.openembedded.org/
The Yocto Project has extensive documentation about OE including a reference manual
which can be found at:
http://yoctoproject.org/documentation
Contributing
------------
Please refer to
http://www.openembedded.org/wiki/How_to_submit_a_patch_to_OpenEmbedded
for guidelines on how to submit patches.
Mailing list:
http://lists.openembedded.org/mailman/listinfo/openembedded-core
Source code:
http://git.openembedded.org/openembedded-core/

View File

@@ -1,2 +0,0 @@
*min.js binary
*min.css binary

339
bitbake/COPYING Normal file
View File

@@ -0,0 +1,339 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Lesser General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program 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 General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) year name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License.

19
bitbake/HEADER Normal file
View File

@@ -0,0 +1,19 @@
# ex:ts=4:sw=4:sts=4:et
# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
#
# <one line to give the program's name and a brief idea of what it does.>
# Copyright (C) <year> <name of author>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program 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 General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

View File

@@ -1,13 +1,4 @@
BitBake is licensed under the GNU General Public License version 2.0. See
LICENSE.GPL-2.0-only for further details.
Individual files contain the following style tags instead of the full license text:
SPDX-License-Identifier: GPL-2.0-only
This enables machine processing of license information based on the SPDX
License Identifiers that are here available: http://spdx.org/licenses/
BitBake is licensed under the GNU General Public License version 2.0. See COPYING for further details.
The following external components are distributed with this software:
@@ -26,4 +17,3 @@ Foundation and individual contributors.
* Font Awesome fonts redistributed under the SIL Open Font License 1.1
* simplediff is distributed under the zlib license.

View File

@@ -1,288 +0,0 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Lesser General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
Note:
Individual files contain the following tag instead of the full license text.
SPDX-License-Identifier: GPL-2.0-only
This enables machine processing of license information based on the SPDX
License Identifiers that are here available: http://spdx.org/licenses/

View File

@@ -1,25 +0,0 @@
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Note:
Individual files contain the following tag instead of the full license text.
SPDX-License-Identifier: MIT
This enables machine processing of license information based on the SPDX
License Identifiers that are here available: http://spdx.org/licenses/

View File

@@ -11,7 +11,7 @@ For information about Bitbake, see the OpenEmbedded website:
Bitbake plain documentation can be found under the doc directory or its integrated
html version at the Yocto Project website:
https://docs.yoctoproject.org
http://yoctoproject.org/documentation
Contributing
------------

View File

@@ -1,4 +1,6 @@
#!/usr/bin/env python3
# ex:ts=4:sw=4:sts=4:et
# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
#
# Copyright (C) 2003, 2004 Chris Larson
# Copyright (C) 2003, 2004 Phil Blundell
@@ -7,8 +9,18 @@
# Copyright (C) 2005 ROAD GmbH
# Copyright (C) 2006 Richard Purdie
#
# SPDX-License-Identifier: GPL-2.0-only
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program 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 General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
import os
import sys
@@ -26,7 +38,7 @@ from bb.main import bitbake_main, BitBakeConfigParameters, BBMainException
if sys.getfilesystemencoding() != "utf-8":
sys.exit("Please use a locale setting which supports UTF-8 (such as LANG=en_US.UTF-8).\nPython can't change the filesystem locale after loading so we need a UTF-8 when Python starts or things won't work.")
__version__ = "1.49.2"
__version__ = "1.38.0"
if __name__ == "__main__":
if __version__ != bb.__version__:

View File

@@ -5,8 +5,18 @@
#
# Copyright (C) 2012-2013, 2017 Intel Corporation
#
# SPDX-License-Identifier: GPL-2.0-only
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program 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 General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
import os
import sys
@@ -95,7 +105,7 @@ def recursecb(key, hash1, hash2):
out2 = bb.siggen.compare_sigfiles(hashfiles[hash1], hashfiles[hash2], recursecb, color=color)
for change in out2:
for line in change.splitlines():
recout.append(' ' + line)
recout.append(' ' + line)
return recout

View File

@@ -1,167 +0,0 @@
#! /usr/bin/env python3
#
# Copyright (C) 2019 Garmin Ltd.
#
# SPDX-License-Identifier: GPL-2.0-only
#
import argparse
import hashlib
import logging
import os
import pprint
import sys
import threading
import time
try:
import tqdm
ProgressBar = tqdm.tqdm
except ImportError:
class ProgressBar(object):
def __init__(self, *args, **kwargs):
pass
def __enter__(self):
return self
def __exit__(self, *args, **kwargs):
pass
def update(self):
pass
sys.path.insert(0, os.path.join(os.path.dirname(os.path.dirname(__file__)), 'lib'))
import hashserv
DEFAULT_ADDRESS = 'unix://./hashserve.sock'
METHOD = 'stress.test.method'
def main():
def handle_stats(args, client):
if args.reset:
s = client.reset_stats()
else:
s = client.get_stats()
pprint.pprint(s)
return 0
def handle_stress(args, client):
def thread_main(pbar, lock):
nonlocal found_hashes
nonlocal missed_hashes
nonlocal max_time
client = hashserv.create_client(args.address)
for i in range(args.requests):
taskhash = hashlib.sha256()
taskhash.update(args.taskhash_seed.encode('utf-8'))
taskhash.update(str(i).encode('utf-8'))
start_time = time.perf_counter()
l = client.get_unihash(METHOD, taskhash.hexdigest())
elapsed = time.perf_counter() - start_time
with lock:
if l:
found_hashes += 1
else:
missed_hashes += 1
max_time = max(elapsed, max_time)
pbar.update()
max_time = 0
found_hashes = 0
missed_hashes = 0
lock = threading.Lock()
total_requests = args.clients * args.requests
start_time = time.perf_counter()
with ProgressBar(total=total_requests) as pbar:
threads = [threading.Thread(target=thread_main, args=(pbar, lock), daemon=False) for _ in range(args.clients)]
for t in threads:
t.start()
for t in threads:
t.join()
elapsed = time.perf_counter() - start_time
with lock:
print("%d requests in %.1fs. %.1f requests per second" % (total_requests, elapsed, total_requests / elapsed))
print("Average request time %.8fs" % (elapsed / total_requests))
print("Max request time was %.8fs" % max_time)
print("Found %d hashes, missed %d" % (found_hashes, missed_hashes))
if args.report:
with ProgressBar(total=args.requests) as pbar:
for i in range(args.requests):
taskhash = hashlib.sha256()
taskhash.update(args.taskhash_seed.encode('utf-8'))
taskhash.update(str(i).encode('utf-8'))
outhash = hashlib.sha256()
outhash.update(args.outhash_seed.encode('utf-8'))
outhash.update(str(i).encode('utf-8'))
client.report_unihash(taskhash.hexdigest(), METHOD, outhash.hexdigest(), taskhash.hexdigest())
with lock:
pbar.update()
parser = argparse.ArgumentParser(description='Hash Equivalence Client')
parser.add_argument('--address', default=DEFAULT_ADDRESS, help='Server address (default "%(default)s")')
parser.add_argument('--log', default='WARNING', help='Set logging level')
subparsers = parser.add_subparsers()
stats_parser = subparsers.add_parser('stats', help='Show server stats')
stats_parser.add_argument('--reset', action='store_true',
help='Reset server stats')
stats_parser.set_defaults(func=handle_stats)
stress_parser = subparsers.add_parser('stress', help='Run stress test')
stress_parser.add_argument('--clients', type=int, default=10,
help='Number of simultaneous clients')
stress_parser.add_argument('--requests', type=int, default=1000,
help='Number of requests each client will perform')
stress_parser.add_argument('--report', action='store_true',
help='Report new hashes')
stress_parser.add_argument('--taskhash-seed', default='',
help='Include string in taskhash')
stress_parser.add_argument('--outhash-seed', default='',
help='Include string in outhash')
stress_parser.set_defaults(func=handle_stress)
args = parser.parse_args()
logger = logging.getLogger('hashserv')
level = getattr(logging, args.log.upper(), None)
if not isinstance(level, int):
raise ValueError('Invalid log level: %s' % args.log)
logger.setLevel(level)
console = logging.StreamHandler()
console.setLevel(level)
logger.addHandler(console)
func = getattr(args, 'func', None)
if func:
client = hashserv.create_client(args.address)
return func(args, client)
return 0
if __name__ == '__main__':
try:
ret = main()
except Exception:
ret = 1
import traceback
traceback.print_exc()
sys.exit(ret)

View File

@@ -1,64 +0,0 @@
#! /usr/bin/env python3
#
# Copyright (C) 2018 Garmin Ltd.
#
# SPDX-License-Identifier: GPL-2.0-only
#
import os
import sys
import logging
import argparse
import sqlite3
sys.path.insert(0, os.path.join(os.path.dirname(os.path.dirname(__file__)), 'lib'))
import hashserv
VERSION = "1.0.0"
DEFAULT_BIND = 'unix://./hashserve.sock'
def main():
parser = argparse.ArgumentParser(description='Hash Equivalence Reference Server. Version=%s' % VERSION,
epilog='''The bind address is the path to a unix domain socket if it is
prefixed with "unix://". Otherwise, it is an IP address
and port in form ADDRESS:PORT. To bind to all addresses, leave
the ADDRESS empty, e.g. "--bind :8686". To bind to a specific
IPv6 address, enclose the address in "[]", e.g.
"--bind [::1]:8686"'''
)
parser.add_argument('-b', '--bind', default=DEFAULT_BIND, help='Bind address (default "%(default)s")')
parser.add_argument('-d', '--database', default='./hashserv.db', help='Database file (default "%(default)s")')
parser.add_argument('-l', '--log', default='WARNING', help='Set logging level')
parser.add_argument('-u', '--upstream', help='Upstream hashserv to pull hashes from')
parser.add_argument('-r', '--read-only', action='store_true', help='Disallow write operations from clients')
args = parser.parse_args()
logger = logging.getLogger('hashserv')
level = getattr(logging, args.log.upper(), None)
if not isinstance(level, int):
raise ValueError('Invalid log level: %s' % args.log)
logger.setLevel(level)
console = logging.StreamHandler()
console.setLevel(level)
logger.addHandler(console)
server = hashserv.create_server(args.bind, args.database, upstream=args.upstream, read_only=args.read_only)
server.serve_forever()
return 0
if __name__ == '__main__':
try:
ret = main()
except Exception:
ret = 1
import traceback
traceback.print_exc()
sys.exit(ret)

View File

@@ -7,13 +7,24 @@
# Copyright (C) 2011 Mentor Graphics Corporation
# Copyright (C) 2011-2015 Intel Corporation
#
# SPDX-License-Identifier: GPL-2.0-only
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program 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 General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
import logging
import os
import sys
import argparse
import signal
bindir = os.path.dirname(__file__)
topdir = os.path.dirname(bindir)
@@ -25,6 +36,7 @@ import bb.msg
logger = bb.msg.logger_create('bitbake-layers', sys.stdout)
def main():
signal.signal(signal.SIGPIPE, signal.SIG_DFL)
parser = argparse.ArgumentParser(
description="BitBake layers utility",
epilog="Use %(prog)s <subcommand> --help to get help on a specific command",
@@ -50,9 +62,7 @@ def main():
# Need to re-run logger_create with color argument
# (will be the same logger since it has the same name)
bb.msg.logger_create('bitbake-layers', output=sys.stdout,
color=global_args.color,
level=logger.getEffectiveLevel())
bb.msg.logger_create('bitbake-layers', output=sys.stdout, color=global_args.color)
plugins = []
tinfoil = bb.tinfoil.Tinfoil(tracking=True)

View File

@@ -1,8 +1,4 @@
#!/usr/bin/env python3
#
# SPDX-License-Identifier: GPL-2.0-only
#
import os
import sys,logging
import optparse

View File

@@ -2,8 +2,18 @@
#
# Copyright (C) 2012 Richard Purdie
#
# SPDX-License-Identifier: GPL-2.0-only
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program 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 General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
import os
import sys, logging
@@ -12,27 +22,16 @@ sys.path.insert(0, os.path.join(os.path.dirname(os.path.dirname(__file__)), 'lib
import unittest
try:
import bb
import hashserv
import layerindexlib
except RuntimeError as exc:
sys.exit(str(exc))
tests = ["bb.tests.codeparser",
"bb.tests.color",
"bb.tests.cooker",
"bb.tests.cow",
"bb.tests.data",
"bb.tests.event",
"bb.tests.fetch",
"bb.tests.parse",
"bb.tests.persist_data",
"bb.tests.runqueue",
"bb.tests.siggen",
"bb.tests.utils",
"hashserv.tests",
"layerindexlib.tests.layerindexobj",
"layerindexlib.tests.restapi",
"layerindexlib.tests.cooker"]
"bb.tests.utils"]
for t in tests:
t = '.'.join(t.split('.')[:3])

View File

@@ -1,54 +0,0 @@
#!/usr/bin/env python3
#
# SPDX-License-Identifier: GPL-2.0-only
#
# Copyright (C) 2020 Richard Purdie
#
import os
import sys
import warnings
import logging
sys.path.insert(0, os.path.join(os.path.dirname(os.path.dirname(sys.argv[0])), 'lib'))
if sys.getfilesystemencoding() != "utf-8":
sys.exit("Please use a locale setting which supports UTF-8 (such as LANG=en_US.UTF-8).\nPython can't change the filesystem locale after loading so we need a UTF-8 when Python starts or things won't work.")
# Users shouldn't be running this code directly
if len(sys.argv) != 10 or not sys.argv[1].startswith("decafbad"):
print("bitbake-server is meant for internal execution by bitbake itself, please don't use it standalone.")
sys.exit(1)
import bb.server.process
lockfd = int(sys.argv[2])
readypipeinfd = int(sys.argv[3])
logfile = sys.argv[4]
lockname = sys.argv[5]
sockname = sys.argv[6]
timeout = sys.argv[7]
xmlrpcinterface = (sys.argv[8], int(sys.argv[9]))
if xmlrpcinterface[0] == "None":
xmlrpcinterface = (None, xmlrpcinterface[1])
if timeout == "None":
timeout = None
# Replace standard fds with our own
with open('/dev/null', 'r') as si:
os.dup2(si.fileno(), sys.stdin.fileno())
so = open(logfile, 'a+')
os.dup2(so.fileno(), sys.stdout.fileno())
os.dup2(so.fileno(), sys.stderr.fileno())
# Have stdout and stderr be the same so log output matches chronologically
# and there aren't two seperate buffers
sys.stderr = sys.stdout
logger = logging.getLogger("BitBake")
# Ensure logging messages get sent to the UI as events
handler = bb.event.LogHandler()
logger.addHandler(handler)
bb.server.process.execServer(lockfd, readypipeinfd, lockname, sockname, timeout, xmlrpcinterface)

View File

@@ -1,7 +1,4 @@
#!/usr/bin/env python3
#
# SPDX-License-Identifier: GPL-2.0-only
#
import os
import sys
@@ -65,6 +62,7 @@ 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)
@@ -118,9 +116,7 @@ def worker_child_fire(event, d):
data = b"<event>" + pickle.dumps(event) + b"</event>"
try:
worker_pipe_lock.acquire()
while(len(data)):
written = worker_pipe.write(data)
data = data[written:]
worker_pipe.write(data)
worker_pipe_lock.release()
except IOError:
sigterm_handler(None, None)
@@ -140,7 +136,7 @@ def sigterm_handler(signum, frame):
os.killpg(0, signal.SIGTERM)
sys.exit()
def fork_off_task(cfg, data, databuilder, workerdata, fn, task, taskname, taskhash, unihash, appends, taskdepdata, extraconfigdata, quieterrors=False, dry_run_exec=False):
def fork_off_task(cfg, data, databuilder, workerdata, fn, task, taskname, appends, taskdepdata, extraconfigdata, quieterrors=False, dry_run_exec=False):
# We need to setup the environment BEFORE the fork, since
# a fork() or exec*() activates PSEUDO...
@@ -150,15 +146,11 @@ def fork_off_task(cfg, data, databuilder, workerdata, fn, task, taskname, taskha
taskdep = workerdata["taskdeps"][fn]
if 'umask' in taskdep and taskname in taskdep['umask']:
umask = taskdep['umask'][taskname]
elif workerdata["umask"]:
umask = workerdata["umask"]
if umask:
# umask might come in as a number or text string..
try:
umask = int(umask, 8)
umask = int(taskdep['umask'][taskname],8)
except TypeError:
pass
umask = taskdep['umask'][taskname]
dry_run = cfg.dry_run or dry_run_exec
@@ -173,7 +165,7 @@ def fork_off_task(cfg, data, databuilder, workerdata, fn, task, taskname, taskha
fakedirs = (workerdata["fakerootdirs"][fn] or "").split()
for p in fakedirs:
bb.utils.mkdirhier(p)
logger.debug2('Running %s:%s under fakeroot, fakedirs: %s' %
logger.debug(2, 'Running %s:%s under fakeroot, fakedirs: %s' %
(fn, taskname, ', '.join(fakedirs)))
else:
envvars = (workerdata["fakerootnoenv"][fn] or "").split()
@@ -241,13 +233,10 @@ def fork_off_task(cfg, data, databuilder, workerdata, fn, task, taskname, taskha
the_data.setVar(varname, value)
bb.parse.siggen.set_taskdata(workerdata["sigdata"])
if "newhashes" in workerdata:
bb.parse.siggen.set_taskhashes(workerdata["newhashes"])
ret = 0
the_data = bb_cache.loadDataFull(fn, appends)
the_data.setVar('BB_TASKHASH', taskhash)
the_data.setVar('BB_UNIHASH', unihash)
the_data.setVar('BB_TASKHASH', workerdata["runq_hash"][task])
bb.utils.set_process_name("%s:%s" % (the_data.getVar("PN"), taskname.replace("do_", "")))
@@ -327,9 +316,7 @@ class runQueueWorkerPipe():
end = len(self.queue)
index = self.queue.find(b"</event>")
while index != -1:
msg = self.queue[:index+8]
assert msg.startswith(b"<event>") and msg.count(b"<event>") == 1
worker_fire_prepickled(msg)
worker_fire_prepickled(self.queue[:index+8])
self.queue = self.queue[index+8:]
index = self.queue.find(b"</event>")
return (end > start)
@@ -388,7 +375,6 @@ class BitbakeWorker(object):
self.handle_item(b"cookerconfig", self.handle_cookercfg)
self.handle_item(b"extraconfigdata", self.handle_extraconfigdata)
self.handle_item(b"workerdata", self.handle_workerdata)
self.handle_item(b"newtaskhashes", self.handle_newtaskhashes)
self.handle_item(b"runtask", self.handle_runtask)
self.handle_item(b"finishnow", self.handle_finishnow)
self.handle_item(b"ping", self.handle_ping)
@@ -421,16 +407,12 @@ class BitbakeWorker(object):
def handle_workerdata(self, data):
self.workerdata = pickle.loads(data)
bb.build.verboseShellLogging = self.workerdata["build_verbose_shell"]
bb.build.verboseStdoutLogging = self.workerdata["build_verbose_stdout"]
bb.msg.loggerDefaultLogLevel = self.workerdata["logdefaultlevel"]
bb.msg.loggerDefaultDebugLevel = self.workerdata["logdefaultdebug"]
bb.msg.loggerDefaultVerbose = self.workerdata["logdefaultverbose"]
bb.msg.loggerVerboseLogs = self.workerdata["logdefaultverboselogs"]
bb.msg.loggerDefaultDomains = self.workerdata["logdefaultdomain"]
for mc in self.databuilder.mcdata:
self.databuilder.mcdata[mc].setVar("PRSERV_HOST", self.workerdata["prhost"])
self.databuilder.mcdata[mc].setVar("BB_HASHSERVE", self.workerdata["hashservaddr"])
def handle_newtaskhashes(self, data):
self.workerdata["newhashes"] = pickle.loads(data)
def handle_ping(self, _):
workerlog_write("Handling ping\n")
@@ -445,10 +427,10 @@ class BitbakeWorker(object):
sys.exit(0)
def handle_runtask(self, data):
fn, task, taskname, taskhash, unihash, quieterrors, appends, taskdepdata, dry_run_exec = pickle.loads(data)
fn, task, taskname, quieterrors, appends, taskdepdata, dry_run_exec = pickle.loads(data)
workerlog_write("Handling runtask %s %s %s\n" % (task, fn, taskname))
pid, pipein, pipeout = fork_off_task(self.cookercfg, self.data, self.databuilder, self.workerdata, fn, task, taskname, taskhash, unihash, appends, taskdepdata, self.extraconfigdata, quieterrors, dry_run_exec)
pid, pipein, pipeout = fork_off_task(self.cookercfg, self.data, self.databuilder, self.workerdata, fn, task, taskname, appends, taskdepdata, self.extraconfigdata, quieterrors, dry_run_exec)
self.build_pids[pid] = task
self.build_pipes[pid] = runQueueWorkerPipe(pipein, pipeout)

531
bitbake/bin/bitdoc Executable file
View File

@@ -0,0 +1,531 @@
#!/usr/bin/env python3
# ex:ts=4:sw=4:sts=4:et
# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
#
# Copyright (C) 2005 Holger Hans Peter Freyther
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program 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 General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
import optparse, os, sys
# bitbake
sys.path.append(os.path.join(os.path.dirname(os.path.dirname(__file__), 'lib'))
import bb
import bb.parse
from string import split, join
__version__ = "0.0.2"
class HTMLFormatter:
"""
Simple class to help to generate some sort of HTML files. It is
quite inferior solution compared to docbook, gtkdoc, doxygen but it
should work for now.
We've a global introduction site (index.html) and then one site for
the list of keys (alphabetical sorted) and one for the list of groups,
one site for each key with links to the relations and groups.
index.html
all_keys.html
all_groups.html
groupNAME.html
keyNAME.html
"""
def replace(self, text, *pairs):
"""
From pydoc... almost identical at least
"""
while pairs:
(a, b) = pairs[0]
text = join(split(text, a), b)
pairs = pairs[1:]
return text
def escape(self, text):
"""
Escape string to be conform HTML
"""
return self.replace(text,
('&', '&amp;'),
('<', '&lt;' ),
('>', '&gt;' ) )
def createNavigator(self):
"""
Create the navgiator
"""
return """<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
<tr valign="middle">
<td><a accesskey="g" href="index.html">Home</a></td>
<td><a accesskey="n" href="all_groups.html">Groups</a></td>
<td><a accesskey="u" href="all_keys.html">Keys</a></td>
</tr></table>
"""
def relatedKeys(self, item):
"""
Create HTML to link to foreign keys
"""
if len(item.related()) == 0:
return ""
txt = "<p><b>See also:</b><br>"
txts = []
for it in item.related():
txts.append("""<a href="key%(it)s.html">%(it)s</a>""" % vars() )
return txt + ",".join(txts)
def groups(self, item):
"""
Create HTML to link to related groups
"""
if len(item.groups()) == 0:
return ""
txt = "<p><b>See also:</b><br>"
txts = []
for group in item.groups():
txts.append( """<a href="group%s.html">%s</a> """ % (group, group) )
return txt + ",".join(txts)
def createKeySite(self, item):
"""
Create a site for a key. It contains the header/navigator, a heading,
the description, links to related keys and to the groups.
"""
return """<!doctype html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title>Key %s</title></head>
<link rel="stylesheet" href="style.css" type="text/css">
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
%s
<h2><span class="refentrytitle">%s</span></h2>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<p>
%s
</p>
</div>
<div class="refsynopsisdiv">
<h2>Related Keys</h2>
<p>
%s
</p>
</div>
<div class="refsynopsisdiv">
<h2>Groups</h2>
<p>
%s
</p>
</div>
</body>
""" % (item.name(), self.createNavigator(), item.name(),
self.escape(item.description()), self.relatedKeys(item), self.groups(item))
def createGroupsSite(self, doc):
"""
Create the Group Overview site
"""
groups = ""
sorted_groups = sorted(doc.groups())
for group in sorted_groups:
groups += """<a href="group%s.html">%s</a><br>""" % (group, group)
return """<!doctype html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title>Group overview</title></head>
<link rel="stylesheet" href="style.css" type="text/css">
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
%s
<h2>Available Groups</h2>
%s
</body>
""" % (self.createNavigator(), groups)
def createIndex(self):
"""
Create the index file
"""
return """<!doctype html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title>Bitbake Documentation</title></head>
<link rel="stylesheet" href="style.css" type="text/css">
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
%s
<h2>Documentation Entrance</h2>
<a href="all_groups.html">All available groups</a><br>
<a href="all_keys.html">All available keys</a><br>
</body>
""" % self.createNavigator()
def createKeysSite(self, doc):
"""
Create Overview of all avilable keys
"""
keys = ""
sorted_keys = sorted(doc.doc_keys())
for key in sorted_keys:
keys += """<a href="key%s.html">%s</a><br>""" % (key, key)
return """<!doctype html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title>Key overview</title></head>
<link rel="stylesheet" href="style.css" type="text/css">
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
%s
<h2>Available Keys</h2>
%s
</body>
""" % (self.createNavigator(), keys)
def createGroupSite(self, gr, items, _description = None):
"""
Create a site for a group:
Group the name of the group, items contain the name of the keys
inside this group
"""
groups = ""
description = ""
# create a section with the group descriptions
if _description:
description += "<h2 Description of Grozp %s</h2>" % gr
description += _description
items.sort(lambda x, y:cmp(x.name(), y.name()))
for group in items:
groups += """<a href="key%s.html">%s</a><br>""" % (group.name(), group.name())
return """<!doctype html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title>Group %s</title></head>
<link rel="stylesheet" href="style.css" type="text/css">
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
%s
%s
<div class="refsynopsisdiv">
<h2>Keys in Group %s</h2>
<pre class="synopsis">
%s
</pre>
</div>
</body>
""" % (gr, self.createNavigator(), description, gr, groups)
def createCSS(self):
"""
Create the CSS file
"""
return """.synopsis, .classsynopsis
{
background: #eeeeee;
border: solid 1px #aaaaaa;
padding: 0.5em;
}
.programlisting
{
background: #eeeeff;
border: solid 1px #aaaaff;
padding: 0.5em;
}
.variablelist
{
padding: 4px;
margin-left: 3em;
}
.variablelist td:first-child
{
vertical-align: top;
}
table.navigation
{
background: #ffeeee;
border: solid 1px #ffaaaa;
margin-top: 0.5em;
margin-bottom: 0.5em;
}
.navigation a
{
color: #770000;
}
.navigation a:visited
{
color: #550000;
}
.navigation .title
{
font-size: 200%;
}
div.refnamediv
{
margin-top: 2em;
}
div.gallery-float
{
float: left;
padding: 10px;
}
div.gallery-float img
{
border-style: none;
}
div.gallery-spacer
{
clear: both;
}
a
{
text-decoration: none;
}
a:hover
{
text-decoration: underline;
color: #FF0000;
}
"""
class DocumentationItem:
"""
A class to hold information about a configuration
item. It contains the key name, description, a list of related names,
and the group this item is contained in.
"""
def __init__(self):
self._groups = []
self._related = []
self._name = ""
self._desc = ""
def groups(self):
return self._groups
def name(self):
return self._name
def description(self):
return self._desc
def related(self):
return self._related
def setName(self, name):
self._name = name
def setDescription(self, desc):
self._desc = desc
def addGroup(self, group):
self._groups.append(group)
def addRelation(self, relation):
self._related.append(relation)
def sort(self):
self._related.sort()
self._groups.sort()
class Documentation:
"""
Holds the documentation... with mappings from key to items...
"""
def __init__(self):
self.__keys = {}
self.__groups = {}
def insert_doc_item(self, item):
"""
Insert the Doc Item into the internal list
of representation
"""
item.sort()
self.__keys[item.name()] = item
for group in item.groups():
if not group in self.__groups:
self.__groups[group] = []
self.__groups[group].append(item)
self.__groups[group].sort()
def doc_item(self, key):
"""
Return the DocumentationInstance describing the key
"""
try:
return self.__keys[key]
except KeyError:
return None
def doc_keys(self):
"""
Return the documented KEYS (names)
"""
return self.__keys.keys()
def groups(self):
"""
Return the names of available groups
"""
return self.__groups.keys()
def group_content(self, group_name):
"""
Return a list of keys/names that are in a specefic
group or the empty list
"""
try:
return self.__groups[group_name]
except KeyError:
return []
def parse_cmdline(args):
"""
Parse the CMD line and return the result as a n-tuple
"""
parser = optparse.OptionParser( version = "Bitbake Documentation Tool Core version %s, %%prog version %s" % (bb.__version__, __version__))
usage = """%prog [options]
Create a set of html pages (documentation) for a bitbake.conf....
"""
# Add the needed options
parser.add_option( "-c", "--config", help = "Use the specified configuration file as source",
action = "store", dest = "config", default = os.path.join("conf", "documentation.conf") )
parser.add_option( "-o", "--output", help = "Output directory for html files",
action = "store", dest = "output", default = "html/" )
parser.add_option( "-D", "--debug", help = "Increase the debug level",
action = "count", dest = "debug", default = 0 )
parser.add_option( "-v", "--verbose", help = "output more chit-char to the terminal",
action = "store_true", dest = "verbose", default = False )
options, args = parser.parse_args( sys.argv )
bb.msg.init_msgconfig(options.verbose, options.debug)
return options.config, options.output
def main():
"""
The main Method
"""
(config_file, output_dir) = parse_cmdline( sys.argv )
# right to let us load the file now
try:
documentation = bb.parse.handle( config_file, bb.data.init() )
except IOError:
bb.fatal( "Unable to open %s" % config_file )
except bb.parse.ParseError:
bb.fatal( "Unable to parse %s" % config_file )
if isinstance(documentation, dict):
documentation = documentation[""]
# Assuming we've the file loaded now, we will initialize the 'tree'
doc = Documentation()
# defined states
state_begin = 0
state_see = 1
state_group = 2
for key in bb.data.keys(documentation):
data = documentation.getVarFlag(key, "doc", False)
if not data:
continue
# The Documentation now starts
doc_ins = DocumentationItem()
doc_ins.setName(key)
tokens = data.split(' ')
state = state_begin
string= ""
for token in tokens:
token = token.strip(',')
if not state == state_see and token == "@see":
state = state_see
continue
elif not state == state_group and token == "@group":
state = state_group
continue
if state == state_begin:
string += " %s" % token
elif state == state_see:
doc_ins.addRelation(token)
elif state == state_group:
doc_ins.addGroup(token)
# set the description
doc_ins.setDescription(string)
doc.insert_doc_item(doc_ins)
# let us create the HTML now
bb.utils.mkdirhier(output_dir)
os.chdir(output_dir)
# Let us create the sites now. We do it in the following order
# Start with the index.html. It will point to sites explaining all
# keys and groups
html_slave = HTMLFormatter()
f = file('style.css', 'w')
print >> f, html_slave.createCSS()
f = file('index.html', 'w')
print >> f, html_slave.createIndex()
f = file('all_groups.html', 'w')
print >> f, html_slave.createGroupsSite(doc)
f = file('all_keys.html', 'w')
print >> f, html_slave.createKeysSite(doc)
# now for each group create the site
for group in doc.groups():
f = file('group%s.html' % group, 'w')
print >> f, html_slave.createGroupSite(group, doc.group_content(group))
# now for the keys
for key in doc.doc_keys():
f = file('key%s.html' % doc.doc_item(key).name(), 'w')
print >> f, html_slave.createKeySite(doc.doc_item(key))
if __name__ == "__main__":
main()

View File

@@ -1,8 +1,4 @@
#!/usr/bin/env python3
#
# SPDX-License-Identifier: GPL-2.0-only
#
"""git-make-shallow: make the current git repository shallow
Remove the history of the specified revisions, then optionally filter the

View File

@@ -3,18 +3,27 @@
# toaster - shell script to start Toaster
# Copyright (C) 2013-2015 Intel Corp.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# SPDX-License-Identifier: GPL-2.0-or-later
# This program 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 General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see http://www.gnu.org/licenses/.
HELP="
Usage 1: source toaster start|stop [webport=<address:port>] [noweb] [nobuild] [toasterdir]
Usage: source toaster start|stop [webport=<address:port>] [noweb] [nobuild] [toasterdir]
Optional arguments:
[nobuild] Setup the environment for capturing builds with toaster but disable managed builds
[noweb] Setup the environment for capturing builds with toaster but don't start the web server
[webport] Set the development server (default: localhost:8000)
[toasterdir] Set absolute path to be used as TOASTER_DIR (default: BUILDDIR/../)
Usage 2: source toaster manage [createsuperuser|lsupdates|migrate|makemigrations|checksettings|collectstatic|...]
"
custom_extention()
@@ -209,21 +218,13 @@ for param in $*; do
toasterdir=*)
TOASTERDIR="${param#*=}"
;;
manage )
CMD=$param
manage_cmd=""
;;
--help)
echo "$HELP"
return 0
;;
*)
if [ "manage" == "$CMD" ] ; then
manage_cmd="$manage_cmd $param"
else
echo "$HELP"
exit 1
fi
echo "$HELP"
return 1
;;
esac
@@ -315,10 +316,6 @@ case $CMD in
stop_system
echo "Successful ${CMD}."
;;
manage )
cd $BBBASEDIR/lib/toaster
$MANAGE $manage_cmd
;;
esac
custom_extention toaster_postpend $CMD $ADDR_PORT

View File

@@ -1,12 +1,25 @@
#!/usr/bin/env python3
# ex:ts=4:sw=4:sts=4:et
# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
#
# Copyright (C) 2014 Alex Damian
#
# SPDX-License-Identifier: GPL-2.0-only
#
# This file re-uses code spread throughout other Bitbake source files.
# As such, all other copyrights belong to their own right holders.
#
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program 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 General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
"""
This command takes a filename as a single parameter. The filename is read

View File

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

View File

@@ -1,89 +0,0 @@
#! /usr/bin/env python3
#
# Copyright (C) 2020 Joshua Watt <JPEWhacker@gmail.com>
#
# SPDX-License-Identifier: MIT
import argparse
import os
import random
import shutil
import signal
import subprocess
import sys
import time
def try_unlink(path):
try:
os.unlink(path)
except:
pass
def main():
def cleanup():
shutil.rmtree("tmp/cache", ignore_errors=True)
try_unlink("bitbake-cookerdaemon.log")
try_unlink("bitbake.sock")
try_unlink("bitbake.lock")
parser = argparse.ArgumentParser(
description="Bitbake parser torture test",
epilog="""
A torture test for bitbake's parser. Repeatedly interrupts parsing until
bitbake decides to deadlock.
""",
)
args = parser.parse_args()
if not "BUILDDIR" in os.environ:
print(
"'BUILDDIR' not found in the environment. Did you initialize the build environment?"
)
return 1
os.chdir(os.environ["BUILDDIR"])
run_num = 0
while True:
if run_num % 100 == 0:
print("Calibrating wait time...")
cleanup()
start_time = time.monotonic()
r = subprocess.run(["bitbake", "-p"])
max_wait_time = time.monotonic() - start_time
if r.returncode != 0:
print("Calibration run exited with %d" % r.returncode)
return 1
print("Maximum wait time is %f seconds" % max_wait_time)
run_num += 1
wait_time = random.random() * max_wait_time
print("Run #%d" % run_num)
print("Will sleep for %f seconds" % wait_time)
cleanup()
with subprocess.Popen(["bitbake", "-p"]) as proc:
time.sleep(wait_time)
proc.send_signal(signal.SIGINT)
try:
proc.wait(45)
except subprocess.TimeoutExpired:
print("Run #%d: Waited too long. Possible deadlock!" % run_num)
proc.wait()
return 1
if proc.returncode == 0:
print("Exited successfully. Timeout too long?")
else:
print("Exited with %d" % proc.returncode)
if __name__ == "__main__":
sys.exit(main())

View File

@@ -1,4 +1,6 @@
#!/usr/bin/env python3
# ex:ts=4:sw=4:sts=4:et
# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
#
# Copyright (C) 2012, 2018 Wind River Systems, Inc.
#

View File

@@ -1,19 +0,0 @@
# SPDX-License-Identifier: MIT
#
# Copyright (c) 2021 Joshua Watt <JPEWhacker@gmail.com>
#
# Dockerfile to build a bitbake hash equivalence server container
#
# From the root of the bitbake repository, run:
#
# docker build -f contrib/hashserv/Dockerfile .
#
FROM alpine:3.13.1
RUN apk add --no-cache python3
COPY bin/bitbake-hashserv /opt/bbhashserv/bin/
COPY lib/hashserv /opt/bbhashserv/lib/hashserv/
ENTRYPOINT ["/opt/bbhashserv/bin/bitbake-hashserv"]

View File

@@ -1,18 +0,0 @@
The MIT License (MIT)
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

View File

@@ -6,12 +6,12 @@
"
" This sets up the syntax highlighting for BitBake files, like .bb, .bbclass and .inc
if &compatible || version < 600 || exists("b:loaded_bitbake_plugin")
if &compatible || version < 600
finish
endif
" .bb, .bbappend and .bbclass
au BufNewFile,BufRead *.{bb,bbappend,bbclass} set filetype=bitbake
au BufNewFile,BufRead *.{bb,bbappend,bbclass} set filetype=bitbake
" .inc
au BufNewFile,BufRead *.inc set filetype=bitbake

View File

@@ -1,13 +1,2 @@
" Only do this when not done yet for this buffer
if exists("b:did_ftplugin")
finish
endif
" Don't load another plugin for this buffer
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl cms< sts< sw< et< sua<"
setlocal commentstring=#\ %s
setlocal softtabstop=4 shiftwidth=4 expandtab
setlocal suffixesadd+=.bb,.bbclass
set sts=4 sw=4 et
set cms=#%s

View File

@@ -1,343 +0,0 @@
" Vim indent file
" Language: BitBake
" Copyright: Copyright (C) 2019 Agilent Technologies, Inc.
" Maintainer: Chris Laplante <chris.laplante@agilent.com>
" License: You may redistribute this under the same terms as Vim itself
if exists("b:did_indent")
finish
endif
if exists("*BitbakeIndent")
finish
endif
runtime! indent/sh.vim
unlet b:did_indent
setlocal indentexpr=BitbakeIndent(v:lnum)
setlocal autoindent nolisp
function s:is_bb_python_func_def(lnum)
let stack = synstack(a:lnum, 1)
if len(stack) == 0
return 0
endif
let top = synIDattr(stack[0], "name")
echo top
return synIDattr(stack[0], "name") == "bbPyFuncDef"
endfunction
"""" begin modified from indent/python.vim, upstream commit 7a9bd7c1e0ce1baf5a02daf36eeae3638aa315c7
"""" This copied code is licensed the same as Vim itself.
setlocal indentkeys+=<:>,=elif,=except
let s:keepcpo= &cpo
set cpo&vim
let s:maxoff = 50 " maximum number of lines to look backwards for ()
function GetPythonIndent(lnum)
" If this line is explicitly joined: If the previous line was also joined,
" line it up with that one, otherwise add two 'shiftwidth'
if getline(a:lnum - 1) =~ '\\$'
if a:lnum > 1 && getline(a:lnum - 2) =~ '\\$'
return indent(a:lnum - 1)
endif
return indent(a:lnum - 1) + (exists("g:pyindent_continue") ? eval(g:pyindent_continue) : (shiftwidth() * 2))
endif
" If the start of the line is in a string don't change the indent.
if has('syntax_items')
\ && synIDattr(synID(a:lnum, 1, 1), "name") =~ "String$"
return -1
endif
" Search backwards for the previous non-empty line.
let plnum = prevnonblank(v:lnum - 1)
if plnum == 0
" This is the first non-empty line, use zero indent.
return 0
endif
call cursor(plnum, 1)
" Identing inside parentheses can be very slow, regardless of the searchpair()
" timeout, so let the user disable this feature if he doesn't need it
let disable_parentheses_indenting = get(g:, "pyindent_disable_parentheses_indenting", 0)
if disable_parentheses_indenting == 1
let plindent = indent(plnum)
let plnumstart = plnum
else
" searchpair() can be slow sometimes, limit the time to 150 msec or what is
" put in g:pyindent_searchpair_timeout
let searchpair_stopline = 0
let searchpair_timeout = get(g:, 'pyindent_searchpair_timeout', 150)
" If the previous line is inside parenthesis, use the indent of the starting
" line.
" Trick: use the non-existing "dummy" variable to break out of the loop when
" going too far back.
let parlnum = searchpair('(\|{\|\[', '', ')\|}\|\]', 'nbW',
\ "line('.') < " . (plnum - s:maxoff) . " ? dummy :"
\ . " synIDattr(synID(line('.'), col('.'), 1), 'name')"
\ . " =~ '\\(Comment\\|Todo\\|String\\)$'",
\ searchpair_stopline, searchpair_timeout)
if parlnum > 0
" We may have found the opening brace of a BitBake Python task, e.g. 'python do_task {'
" If so, ignore it here - it will be handled later.
if s:is_bb_python_func_def(parlnum)
let parlnum = 0
let plindent = indent(plnum)
let plnumstart = plnum
else
let plindent = indent(parlnum)
let plnumstart = parlnum
endif
else
let plindent = indent(plnum)
let plnumstart = plnum
endif
" When inside parenthesis: If at the first line below the parenthesis add
" two 'shiftwidth', otherwise same as previous line.
" i = (a
" + b
" + c)
call cursor(a:lnum, 1)
let p = searchpair('(\|{\|\[', '', ')\|}\|\]', 'bW',
\ "line('.') < " . (a:lnum - s:maxoff) . " ? dummy :"
\ . " synIDattr(synID(line('.'), col('.'), 1), 'name')"
\ . " =~ '\\(Comment\\|Todo\\|String\\)$'",
\ searchpair_stopline, searchpair_timeout)
if p > 0
if s:is_bb_python_func_def(p)
" Handle first non-empty line inside a BB Python task
if p == plnum
return shiftwidth()
endif
" Handle the user actually trying to close a BitBake Python task
let line = getline(a:lnum)
if line =~ '^\s*}'
return -2
endif
" Otherwise ignore the brace
let p = 0
else
if p == plnum
" When the start is inside parenthesis, only indent one 'shiftwidth'.
let pp = searchpair('(\|{\|\[', '', ')\|}\|\]', 'bW',
\ "line('.') < " . (a:lnum - s:maxoff) . " ? dummy :"
\ . " synIDattr(synID(line('.'), col('.'), 1), 'name')"
\ . " =~ '\\(Comment\\|Todo\\|String\\)$'",
\ searchpair_stopline, searchpair_timeout)
if pp > 0
return indent(plnum) + (exists("g:pyindent_nested_paren") ? eval(g:pyindent_nested_paren) : shiftwidth())
endif
return indent(plnum) + (exists("g:pyindent_open_paren") ? eval(g:pyindent_open_paren) : (shiftwidth() * 2))
endif
if plnumstart == p
return indent(plnum)
endif
return plindent
endif
endif
endif
" Get the line and remove a trailing comment.
" Use syntax highlighting attributes when possible.
let pline = getline(plnum)
let pline_len = strlen(pline)
if has('syntax_items')
" If the last character in the line is a comment, do a binary search for
" the start of the comment. synID() is slow, a linear search would take
" too long on a long line.
if synIDattr(synID(plnum, pline_len, 1), "name") =~ "\\(Comment\\|Todo\\)$"
let min = 1
let max = pline_len
while min < max
let col = (min + max) / 2
if synIDattr(synID(plnum, col, 1), "name") =~ "\\(Comment\\|Todo\\)$"
let max = col
else
let min = col + 1
endif
endwhile
let pline = strpart(pline, 0, min - 1)
endif
else
let col = 0
while col < pline_len
if pline[col] == '#'
let pline = strpart(pline, 0, col)
break
endif
let col = col + 1
endwhile
endif
" If the previous line ended with a colon, indent this line
if pline =~ ':\s*$'
return plindent + shiftwidth()
endif
" If the previous line was a stop-execution statement...
" TODO: utilize this logic to deindent when ending a bbPyDefRegion
if getline(plnum) =~ '^\s*\(break\|continue\|raise\|return\|pass\|bb\.fatal\)\>'
" See if the user has already dedented
if indent(a:lnum) > indent(plnum) - shiftwidth()
" If not, recommend one dedent
return indent(plnum) - shiftwidth()
endif
" Otherwise, trust the user
return -1
endif
" If the current line begins with a keyword that lines up with "try"
if getline(a:lnum) =~ '^\s*\(except\|finally\)\>'
let lnum = a:lnum - 1
while lnum >= 1
if getline(lnum) =~ '^\s*\(try\|except\)\>'
let ind = indent(lnum)
if ind >= indent(a:lnum)
return -1 " indent is already less than this
endif
return ind " line up with previous try or except
endif
let lnum = lnum - 1
endwhile
return -1 " no matching "try"!
endif
" If the current line begins with a header keyword, dedent
if getline(a:lnum) =~ '^\s*\(elif\|else\)\>'
" Unless the previous line was a one-liner
if getline(plnumstart) =~ '^\s*\(for\|if\|try\)\>'
return plindent
endif
" Or the user has already dedented
if indent(a:lnum) <= plindent - shiftwidth()
return -1
endif
return plindent - shiftwidth()
endif
" When after a () construct we probably want to go back to the start line.
" a = (b
" + c)
" here
if parlnum > 0
return plindent
endif
return -1
endfunction
let &cpo = s:keepcpo
unlet s:keepcpo
""" end of stuff from indent/python.vim
let b:did_indent = 1
setlocal indentkeys+=0\"
function BitbakeIndent(lnum)
if !has('syntax_items')
return -1
endif
let stack = synstack(a:lnum, 1)
if len(stack) == 0
return -1
endif
let name = synIDattr(stack[0], "name")
" TODO: support different styles of indentation for assignments. For now,
" we only support like this:
" VAR = " \
" value1 \
" value2 \
" "
"
" i.e. each value indented by shiftwidth(), with the final quote " completely unindented.
if name == "bbVarValue"
" Quote handling is tricky. kernel.bbclass has this line for instance:
" EXTRA_OEMAKE = " HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" " HOSTCPP="${BUILD_CPP}""
" Instead of trying to handle crazy cases like that, just assume that a
" double-quote on a line by itself (following an assignment) means the
" user is closing the assignment, and de-dent.
if getline(a:lnum) =~ '^\s*"$'
return 0
endif
let prevstack = synstack(a:lnum - 1, 1)
if len(prevstack) == 0
return -1
endif
let prevname = synIDattr(prevstack[0], "name")
" Only indent if there was actually a continuation character on
" the previous line, to avoid misleading indentation.
let prevlinelastchar = synIDattr(synID(a:lnum - 1, col([a:lnum - 1, "$"]) - 1, 1), "name")
let prev_continued = prevlinelastchar == "bbContinue"
" Did the previous line introduce an assignment?
if index(["bbVarDef", "bbVarFlagDef"], prevname) != -1
if prev_continued
return shiftwidth()
endif
endif
if !prev_continued
return 0
endif
" Autoindent can take it from here
return -1
endif
if index(["bbPyDefRegion", "bbPyFuncRegion"], name) != -1
let ret = GetPythonIndent(a:lnum)
" Should normally always be indented by at least one shiftwidth; but allow
" return of -1 (defer to autoindent) or -2 (force indent to 0)
if ret == 0
return shiftwidth()
elseif ret == -2
return 0
endif
return ret
endif
" TODO: GetShIndent doesn't detect tasks prepended with 'fakeroot'
" Need to submit a patch upstream to Vim to provide an extension point.
" Unlike the Python indenter, the Sh indenter is way too large to copy and
" modify here.
if name == "bbShFuncRegion"
return GetShIndent()
endif
" TODO:
" + heuristics for de-denting out of a bbPyDefRegion? e.g. when the user
" types an obvious BB keyword like addhandler or addtask, or starts
" writing a shell task. Maybe too hard to implement...
return -1
endfunction

14
bitbake/contrib/vim/plugin/newbb.vim Normal file → Executable file
View File

@@ -10,7 +10,7 @@
"
" Will try to use git to find the user name and email
if &compatible || v:version < 600 || exists("b:loaded_bitbake_plugin")
if &compatible || v:version < 600
finish
endif
@@ -25,7 +25,7 @@ endfun
fun! <SID>GetUserEmail()
let l:user_email = system("git config --get user.email")
if v:shell_error
return "unknown@user.org"
return "unknow@user.org"
else
return substitute(l:user_email, "\n", "", "")
endfun
@@ -41,10 +41,6 @@ fun! BBHeader()
endfun
fun! NewBBTemplate()
if line2byte(line('$') + 1) != -1
return
endif
let l:paste = &paste
set nopaste
@@ -52,7 +48,7 @@ fun! NewBBTemplate()
call BBHeader()
" New the bb template
put ='SUMMARY = \"\"'
put ='DESCRIPTION = \"\"'
put ='HOMEPAGE = \"\"'
put ='LICENSE = \"\"'
put ='SECTION = \"\"'
@@ -62,7 +58,7 @@ fun! NewBBTemplate()
" Go to the first place to edit
0
/^SUMMARY =/
/^DESCRIPTION =/
exec "normal 2f\""
if paste == 1
@@ -80,7 +76,7 @@ if v:progname =~ "vimdiff"
endif
augroup NewBB
au BufNewFile,BufReadPost *.bb
au BufNewFile *.bb
\ if g:bb_create_on_empty |
\ call NewBBTemplate() |
\ endif

View File

@@ -1,46 +0,0 @@
" Vim plugin file
" Purpose: Create a template for new bbappend file
" Author: Joshua Watt <JPEWhacker@gmail.com>
" Copyright: Copyright (C) 2017 Joshua Watt <JPEWhacker@gmail.com>
"
" This file is licensed under the MIT license, see COPYING.MIT in
" this source distribution for the terms.
"
if &compatible || v:version < 600 || exists("b:loaded_bitbake_plugin")
finish
endif
fun! NewBBAppendTemplate()
if line2byte(line('$') + 1) != -1
return
endif
let l:paste = &paste
set nopaste
" New bbappend template
0 put ='FILESEXTRAPATHS_prepend := \"${THISDIR}/${PN}:\"'
2
if paste == 1
set paste
endif
endfun
if !exists("g:bb_create_on_empty")
let g:bb_create_on_empty = 1
endif
" disable in case of vimdiff
if v:progname =~ "vimdiff"
let g:bb_create_on_empty = 0
endif
augroup NewBBAppend
au BufNewFile,BufReadPost *.bbappend
\ if g:bb_create_on_empty |
\ call NewBBAppendTemplate() |
\ endif
augroup END

View File

@@ -12,7 +12,7 @@
"
" It's an entirely new type, just has specific syntax in shell and python code
if &compatible || v:version < 600 || exists("b:loaded_bitbake_plugin")
if &compatible || v:version < 600
finish
endif
if exists("b:current_syntax")
@@ -58,8 +58,8 @@ syn match bbVarValue ".*$" contained contains=bbString,bbVarDeref,bbV
syn region bbVarPyValue start=+${@+ skip=+\\$+ end=+}+ contained contains=@python
" Vars metadata flags
syn match bbVarFlagDef "^\([a-zA-Z0-9\-_\.]\+\)\(\[[a-zA-Z0-9\-_\.+]\+\]\)\@=" contains=bbIdentifier nextgroup=bbVarFlagFlag
syn region bbVarFlagFlag matchgroup=bbArrayBrackets start="\[" end="\]\s*\(:=\|=\|.=\|=.|+=\|=+\|?=\)\@=" contained contains=bbIdentifier nextgroup=bbVarEq
syn match bbVarFlagDef "^\([a-zA-Z0-9\-_\.]\+\)\(\[[a-zA-Z0-9\-_\.]\+\]\)\@=" contains=bbIdentifier nextgroup=bbVarFlagFlag
syn region bbVarFlagFlag matchgroup=bbArrayBrackets start="\[" end="\]\s*\(=\|+=\|=+\|?=\)\@=" contained contains=bbIdentifier nextgroup=bbVarEq
" Includes and requires
syn keyword bbInclude inherit include require contained
@@ -67,15 +67,15 @@ syn match bbIncludeRest ".*$" contained contains=bbString,bbVarDeref
syn match bbIncludeLine "^\(inherit\|include\|require\)\s\+" contains=bbInclude nextgroup=bbIncludeRest
" Add taks and similar
syn keyword bbStatement addtask deltask addhandler after before EXPORT_FUNCTIONS contained
syn keyword bbStatement addtask addhandler after before EXPORT_FUNCTIONS contained
syn match bbStatementRest ".*$" skipwhite contained contains=bbStatement
syn match bbStatementLine "^\(addtask\|deltask\|addhandler\|after\|before\|EXPORT_FUNCTIONS\)\s\+" contains=bbStatement nextgroup=bbStatementRest
syn match bbStatementLine "^\(addtask\|addhandler\|after\|before\|EXPORT_FUNCTIONS\)\s\+" contains=bbStatement nextgroup=bbStatementRest
" OE Important Functions
syn keyword bbOEFunctions do_fetch do_unpack do_patch do_configure do_compile do_stage do_install do_package contained
" Generic Functions
syn match bbFunction "\h[0-9A-Za-z_\-\.]*" display contained contains=bbOEFunctions
syn match bbFunction "\h[0-9A-Za-z_-]*" display contained contains=bbOEFunctions
" BitBake shell metadata
syn include @shell syntax/sh.vim
@@ -83,7 +83,7 @@ if exists("b:current_syntax")
unlet b:current_syntax
endif
syn keyword bbShFakeRootFlag fakeroot contained
syn match bbShFuncDef "^\(fakeroot\s*\)\?\([\.0-9A-Za-z_${}\-\.]\+\)\(python\)\@<!\(\s*()\s*\)\({\)\@=" contains=bbShFakeRootFlag,bbFunction,bbVarDeref,bbDelimiter nextgroup=bbShFuncRegion skipwhite
syn match bbShFuncDef "^\(fakeroot\s*\)\?\([0-9A-Za-z_${}-]\+\)\(python\)\@<!\(\s*()\s*\)\({\)\@=" contains=bbShFakeRootFlag,bbFunction,bbVarDeref,bbDelimiter nextgroup=bbShFuncRegion skipwhite
syn region bbShFuncRegion matchgroup=bbDelimiter start="{\s*$" end="^}\s*$" contained contains=@shell
" Python value inside shell functions
@@ -91,7 +91,7 @@ syn region shDeref start=+${@+ skip=+\\$+ excludenl end=+}+ contained co
" BitBake python metadata
syn keyword bbPyFlag python contained
syn match bbPyFuncDef "^\(fakeroot\s*\)\?\(python\)\(\s\+[0-9A-Za-z_${}\-\.]\+\)\?\(\s*()\s*\)\({\)\@=" contains=bbShFakeRootFlag,bbPyFlag,bbFunction,bbVarDeref,bbDelimiter nextgroup=bbPyFuncRegion skipwhite
syn match bbPyFuncDef "^\(python\s\+\)\([0-9A-Za-z_${}-]\+\)\?\(\s*()\s*\)\({\)\@=" contains=bbPyFlag,bbFunction,bbVarDeref,bbDelimiter nextgroup=bbPyFuncRegion skipwhite
syn region bbPyFuncRegion matchgroup=bbDelimiter start="{\s*$" end="^}\s*$" contained contains=@python
" BitBake 'def'd python functions

View File

@@ -1 +0,0 @@
_build/

View File

@@ -1,35 +1,91 @@
# Minimal makefile for Sphinx documentation
# This is a single Makefile to handle all generated BitBake documents.
# The Makefile needs to live in the documentation directory and all figures used
# in any manuals must be .PNG files and live in the individual book's figures
# directory.
#
# The Makefile has these targets:
#
# pdf: generates a PDF version of a manual.
# html: generates an HTML version of a manual.
# tarball: creates a tarball for the doc files.
# validate: validates
# clean: removes files
#
# The Makefile generates an HTML version of every document. The
# variable DOC indicates the folder name for a given manual.
#
# To build a manual, you must invoke 'make' with the DOC argument.
#
# Examples:
#
# make DOC=bitbake-user-manual
# make pdf DOC=bitbake-user-manual
#
# The first example generates the HTML version of the User Manual.
# The second example generates the PDF version of the User Manual.
#
# You can set these variables from the command line, and also
# from the environment for the first two.
SPHINXOPTS ?= -j auto
SPHINXBUILD ?= sphinx-build
SOURCEDIR = .
BUILDDIR = _build
DESTDIR = final
ifeq ($(DOC),bitbake-user-manual)
XSLTOPTS = --stringparam html.stylesheet bitbake-user-manual-style.css \
--stringparam chapter.autolabel 1 \
--stringparam section.autolabel 1 \
--stringparam section.label.includes.component.label 1 \
--xinclude
ALLPREQ = html tarball
TARFILES = bitbake-user-manual-style.css bitbake-user-manual.html figures/bitbake-title.png
MANUALS = $(DOC)/$(DOC).html
FIGURES = figures
STYLESHEET = $(DOC)/*.css
ifeq ($(shell if which $(SPHINXBUILD) >/dev/null 2>&1; then echo 1; else echo 0; fi),0)
$(error "The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed")
endif
# Put it first so that "make" without argument is like "make help".
help:
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
##
# These URI should be rewritten by your distribution's xml catalog to
# match your localy installed XSL stylesheets.
XSL_BASE_URI = http://docbook.sourceforge.net/release/xsl/current
XSL_XHTML_URI = $(XSL_BASE_URI)/xhtml/docbook.xsl
.PHONY: help Makefile clean publish
all: $(ALLPREQ)
publish: Makefile html singlehtml
rm -rf $(BUILDDIR)/$(DESTDIR)/
mkdir -p $(BUILDDIR)/$(DESTDIR)/
cp -r $(BUILDDIR)/html/* $(BUILDDIR)/$(DESTDIR)/
cp $(BUILDDIR)/singlehtml/index.html $(BUILDDIR)/$(DESTDIR)/singleindex.html
sed -i -e 's@index.html#@singleindex.html#@g' $(BUILDDIR)/$(DESTDIR)/singleindex.html
pdf:
ifeq ($(DOC),bitbake-user-manual)
@echo " "
@echo "********** Building."$(DOC)
@echo " "
cd $(DOC); ../tools/docbook-to-pdf $(DOC).xml ../template; cd ..
endif
html:
ifeq ($(DOC),bitbake-user-manual)
# See http://www.sagehill.net/docbookxsl/HtmlOutput.html
@echo " "
@echo "******** Building "$(DOC)
@echo " "
cd $(DOC); xsltproc $(XSLTOPTS) -o $(DOC).html $(DOC)-customization.xsl $(DOC).xml; cd ..
endif
tarball: html
@echo " "
@echo "******** Creating Tarball of document files"
@echo " "
cd $(DOC); tar -cvzf $(DOC).tgz $(TARFILES); cd ..
validate:
cd $(DOC); xmllint --postvalid --xinclude --noout $(DOC).xml; cd ..
publish:
@if test -f $(DOC)/$(DOC).html; \
then \
echo " "; \
echo "******** Publishing "$(DOC)".html"; \
echo " "; \
scp -r $(MANUALS) $(STYLESHEET) docs.yp:/var/www/www.yoctoproject.org-docs/$(VER)/$(DOC); \
cd $(DOC); scp -r $(FIGURES) docs.yp:/var/www/www.yoctoproject.org-docs/$(VER)/$(DOC); \
else \
echo " "; \
echo $(DOC)".html missing. Generate the file first then try again."; \
echo " "; \
fi
clean:
@rm -rf $(BUILDDIR)
# Catch-all target: route all unknown targets to Sphinx using the new
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
%: Makefile
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
rm -rf $(MANUALS); rm $(DOC)/$(DOC).tgz;

View File

@@ -15,41 +15,25 @@ Each folder is self-contained regarding content and figures.
If you want to find HTML versions of the BitBake manuals on the web,
go to http://www.openembedded.org/wiki/Documentation.
Sphinx
======
Makefile
========
The BitBake documentation was migrated from the original DocBook
format to Sphinx based documentation for the Yocto Project 3.2
release.
The Makefile processes manual directories to create HTML, PDF,
tarballs, etc. Details on how the Makefile work are documented
inside the Makefile. See that file for more information.
Additional information related to the Sphinx migration, and guidelines
for developers willing to contribute to the BitBake documentation can
be found in the Yocto Project Documentation README file:
To build a manual, you run the make command and pass it the name
of the folder containing the manual's contents.
For example, the following command run from the documentation directory
creates an HTML and a PDF version of the BitBake User Manual.
The DOC variable specifies the manual you are making:
https://git.yoctoproject.org/cgit/cgit.cgi/yocto-docs/tree/documentation/README
$ make DOC=bitbake-user-manual
How to build the Yocto Project documentation
============================================
template
========
Contains various templates, fonts, and some old PNG files.
Sphinx is written in Python. While it might work with Python2, for
obvious reasons, we will only support building the BitBake
documentation with Python3.
Sphinx might be available in your Linux distro packages repositories,
however it is not recommend using distro packages, as they might be
old versions, especially if you are using an LTS version of your
distro. The recommended method to install Sphinx and all required
dependencies is to use the Python Package Index (pip).
To install all required packages run:
$ pip3 install sphinx sphinx_rtd_theme pyyaml
To build the documentation locally, run:
$ cd documentation
$ make -f Makefile.sphinx html
The resulting HTML index page will be _build/html/index.html, and you
can browse your own copy of the locally generated documentation with
your browser.
tools
=====
Contains a tool to convert the DocBook files to PDF format.

View File

@@ -1,14 +0,0 @@
{% extends "!breadcrumbs.html" %}
{% block breadcrumbs %}
<li>
<span class="doctype_switcher_placeholder">{{ doctype or 'single' }}</span>
<span class="version_switcher_placeholder">{{ release }}</span>
</li>
<li> &raquo;</li>
{% for doc in parents %}
<li><a href="{{ doc.link|e }}">{{ doc.title }}</a> &raquo;</li>
{% endfor %}
<li>{{ title }}</li>
{% endblock %}

View File

@@ -1,7 +0,0 @@
{% extends "!layout.html" %}
{% block extrabody %}
<div id="outdated-warning" style="text-align: center; background-color: #FFBABA; color: #6A0E0E;">
</div>
{% endblock %}

View File

@@ -0,0 +1,29 @@
<?xml version='1.0'?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml" xmlns:fo="http://www.w3.org/1999/XSL/Format" version="1.0">
<xsl:import href="http://downloads.yoctoproject.org/mirror/docbook-mirror/docbook-xsl-1.76.1/xhtml/docbook.xsl" />
<!--
<xsl:import href="../template/1.76.1/docbook-xsl-1.76.1/xhtml/docbook.xsl" />
<xsl:import href="http://docbook.sourceforge.net/release/xsl/1.76.1/xhtml/docbook.xsl" />
-->
<xsl:include href="../template/permalinks.xsl"/>
<xsl:include href="../template/section.title.xsl"/>
<xsl:include href="../template/component.title.xsl"/>
<xsl:include href="../template/division.title.xsl"/>
<xsl:include href="../template/formal.object.heading.xsl"/>
<xsl:include href="../template/gloss-permalinks.xsl"/>
<xsl:param name="html.stylesheet" select="'user-manual-style.css'" />
<xsl:param name="chapter.autolabel" select="1" />
<xsl:param name="section.autolabel" select="1" />
<xsl:param name="section.label.includes.component.label" select="1" />
<xsl:param name="appendix.autolabel">A</xsl:param>
<!-- <xsl:param name="generate.toc" select="'article nop'"></xsl:param> -->
</xsl:stylesheet>

View File

@@ -1,734 +0,0 @@
.. SPDX-License-Identifier: CC-BY-2.5
=========
Execution
=========
|
The primary purpose for running BitBake is to produce some kind of
output such as a single installable package, a kernel, a software
development kit, or even a full, board-specific bootable Linux image,
complete with bootloader, kernel, and root filesystem. Of course, you
can execute the ``bitbake`` command with options that cause it to
execute single tasks, compile single recipe files, capture or clear
data, or simply return information about the execution environment.
This chapter describes BitBake's execution process from start to finish
when you use it to create an image. The execution process is launched
using the following command form: ::
$ bitbake target
For information on
the BitBake command and its options, see ":ref:`The BitBake Command
<bitbake-user-manual-command>`" section.
.. note::
Prior to executing BitBake, you should take advantage of available
parallel thread execution on your build host by setting the
:term:`BB_NUMBER_THREADS` variable in
your project's ``local.conf`` configuration file.
A common method to determine this value for your build host is to run
the following: ::
$ grep processor /proc/cpuinfo
This command returns
the number of processors, which takes into account hyper-threading.
Thus, a quad-core build host with hyper-threading most likely shows
eight processors, which is the value you would then assign to
``BB_NUMBER_THREADS``.
A possibly simpler solution is that some Linux distributions (e.g.
Debian and Ubuntu) provide the ``ncpus`` command.
Parsing the Base Configuration Metadata
=======================================
The first thing BitBake does is parse base configuration metadata. Base
configuration metadata consists of your project's ``bblayers.conf`` file
to determine what layers BitBake needs to recognize, all necessary
``layer.conf`` files (one from each layer), and ``bitbake.conf``. The
data itself is of various types:
- **Recipes:** Details about particular pieces of software.
- **Class Data:** An abstraction of common build information (e.g. how to
build a Linux kernel).
- **Configuration Data:** Machine-specific settings, policy decisions,
and so forth. Configuration data acts as the glue to bind everything
together.
The ``layer.conf`` files are used to construct key variables such as
:term:`BBPATH` and :term:`BBFILES`.
``BBPATH`` is used to search for configuration and class files under the
``conf`` and ``classes`` directories, respectively. ``BBFILES`` is used
to locate both recipe and recipe append files (``.bb`` and
``.bbappend``). If there is no ``bblayers.conf`` file, it is assumed the
user has set the ``BBPATH`` and ``BBFILES`` directly in the environment.
Next, the ``bitbake.conf`` file is located using the ``BBPATH`` variable
that was just constructed. The ``bitbake.conf`` file may also include
other configuration files using the ``include`` or ``require``
directives.
Prior to parsing configuration files, BitBake looks at certain
variables, including:
- :term:`BB_ENV_WHITELIST`
- :term:`BB_ENV_EXTRAWHITE`
- :term:`BB_PRESERVE_ENV`
- :term:`BB_ORIGENV`
- :term:`BITBAKE_UI`
The first four variables in this list relate to how BitBake treats shell
environment variables during task execution. By default, BitBake cleans
the environment variables and provides tight control over the shell
execution environment. However, through the use of these first four
variables, you can apply your control regarding the environment
variables allowed to be used by BitBake in the shell during execution of
tasks. See the
":ref:`bitbake-user-manual/bitbake-user-manual-metadata:Passing Information Into the Build Task Environment`"
section and the information about these variables in the variable
glossary for more information on how they work and on how to use them.
The base configuration metadata is global and therefore affects all
recipes and tasks that are executed.
BitBake first searches the current working directory for an optional
``conf/bblayers.conf`` configuration file. This file is expected to
contain a :term:`BBLAYERS` variable that is a
space-delimited list of 'layer' directories. Recall that if BitBake
cannot find a ``bblayers.conf`` file, then it is assumed the user has
set the ``BBPATH`` and ``BBFILES`` variables directly in the
environment.
For each directory (layer) in this list, a ``conf/layer.conf`` file is
located and parsed with the :term:`LAYERDIR` variable
being set to the directory where the layer was found. The idea is these
files automatically set up :term:`BBPATH` and other
variables correctly for a given build directory.
BitBake then expects to find the ``conf/bitbake.conf`` file somewhere in
the user-specified ``BBPATH``. That configuration file generally has
include directives to pull in any other metadata such as files specific
to the architecture, the machine, the local environment, and so forth.
Only variable definitions and include directives are allowed in BitBake
``.conf`` files. Some variables directly influence BitBake's behavior.
These variables might have been set from the environment depending on
the environment variables previously mentioned or set in the
configuration files. The ":ref:`bitbake-user-manual/bitbake-user-manual-ref-variables:Variables Glossary`"
chapter presents a full list of
variables.
After parsing configuration files, BitBake uses its rudimentary
inheritance mechanism, which is through class files, to inherit some
standard classes. BitBake parses a class when the inherit directive
responsible for getting that class is encountered.
The ``base.bbclass`` file is always included. Other classes that are
specified in the configuration using the
:term:`INHERIT` variable are also included. BitBake
searches for class files in a ``classes`` subdirectory under the paths
in ``BBPATH`` in the same way as configuration files.
A good way to get an idea of the configuration files and the class files
used in your execution environment is to run the following BitBake
command: ::
$ bitbake -e > mybb.log
Examining the top of the ``mybb.log``
shows you the many configuration files and class files used in your
execution environment.
.. note::
You need to be aware of how BitBake parses curly braces. If a recipe
uses a closing curly brace within the function and the character has
no leading spaces, BitBake produces a parsing error. If you use a
pair of curly braces in a shell function, the closing curly brace
must not be located at the start of the line without leading spaces.
Here is an example that causes BitBake to produce a parsing error: ::
fakeroot create_shar() {
cat << "EOF" > ${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.sh
usage()
{
echo "test"
###### The following "}" at the start of the line causes a parsing error ######
}
EOF
}
Writing the recipe this way avoids the error:
fakeroot create_shar() {
cat << "EOF" > ${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.sh
usage()
{
echo "test"
###### The following "}" with a leading space at the start of the line avoids the error ######
}
EOF
}
Locating and Parsing Recipes
============================
During the configuration phase, BitBake will have set
:term:`BBFILES`. BitBake now uses it to construct a
list of recipes to parse, along with any append files (``.bbappend``) to
apply. ``BBFILES`` is a space-separated list of available files and
supports wildcards. An example would be: ::
BBFILES = "/path/to/bbfiles/*.bb /path/to/appends/*.bbappend"
BitBake parses each
recipe and append file located with ``BBFILES`` and stores the values of
various variables into the datastore.
.. note::
Append files are applied in the order they are encountered in BBFILES.
For each file, a fresh copy of the base configuration is made, then the
recipe is parsed line by line. Any inherit statements cause BitBake to
find and then parse class files (``.bbclass``) using
:term:`BBPATH` as the search path. Finally, BitBake
parses in order any append files found in ``BBFILES``.
One common convention is to use the recipe filename to define pieces of
metadata. For example, in ``bitbake.conf`` the recipe name and version
are used to set the variables :term:`PN` and
:term:`PV`: ::
PN = "${@bb.parse.BBHandler.vars_from_file(d.getVar('FILE', False),d)[0] or 'defaultpkgname'}"
PV = "${@bb.parse.BBHandler.vars_from_file(d.getVar('FILE', False),d)[1] or '1.0'}"
In this example, a recipe called "something_1.2.3.bb" would set
``PN`` to "something" and ``PV`` to "1.2.3".
By the time parsing is complete for a recipe, BitBake has a list of
tasks that the recipe defines and a set of data consisting of keys and
values as well as dependency information about the tasks.
BitBake does not need all of this information. It only needs a small
subset of the information to make decisions about the recipe.
Consequently, BitBake caches the values in which it is interested and
does not store the rest of the information. Experience has shown it is
faster to re-parse the metadata than to try and write it out to the disk
and then reload it.
Where possible, subsequent BitBake commands reuse this cache of recipe
information. The validity of this cache is determined by first computing
a checksum of the base configuration data (see
:term:`BB_HASHCONFIG_WHITELIST`) and
then checking if the checksum matches. If that checksum matches what is
in the cache and the recipe and class files have not changed, BitBake is
able to use the cache. BitBake then reloads the cached information about
the recipe instead of reparsing it from scratch.
Recipe file collections exist to allow the user to have multiple
repositories of ``.bb`` files that contain the same exact package. For
example, one could easily use them to make one's own local copy of an
upstream repository, but with custom modifications that one does not
want upstream. Here is an example: ::
BBFILES = "/stuff/openembedded/*/*.bb /stuff/openembedded.modified/*/*.bb"
BBFILE_COLLECTIONS = "upstream local"
BBFILE_PATTERN_upstream = "^/stuff/openembedded/"
BBFILE_PATTERN_local = "^/stuff/openembedded.modified/"
BBFILE_PRIORITY_upstream = "5"
BBFILE_PRIORITY_local = "10"
.. note::
The layers mechanism is now the preferred method of collecting code.
While the collections code remains, its main use is to set layer
priorities and to deal with overlap (conflicts) between layers.
.. _bb-bitbake-providers:
Providers
=========
Assuming BitBake has been instructed to execute a target and that all
the recipe files have been parsed, BitBake starts to figure out how to
build the target. BitBake looks through the ``PROVIDES`` list for each
of the recipes. A ``PROVIDES`` list is the list of names by which the
recipe can be known. Each recipe's ``PROVIDES`` list is created
implicitly through the recipe's :term:`PN` variable and
explicitly through the recipe's :term:`PROVIDES`
variable, which is optional.
When a recipe uses ``PROVIDES``, that recipe's functionality can be
found under an alternative name or names other than the implicit ``PN``
name. As an example, suppose a recipe named ``keyboard_1.0.bb``
contained the following: ::
PROVIDES += "fullkeyboard"
The ``PROVIDES``
list for this recipe becomes "keyboard", which is implicit, and
"fullkeyboard", which is explicit. Consequently, the functionality found
in ``keyboard_1.0.bb`` can be found under two different names.
.. _bb-bitbake-preferences:
Preferences
===========
The ``PROVIDES`` list is only part of the solution for figuring out a
target's recipes. Because targets might have multiple providers, BitBake
needs to prioritize providers by determining provider preferences.
A common example in which a target has multiple providers is
"virtual/kernel", which is on the ``PROVIDES`` list for each kernel
recipe. Each machine often selects the best kernel provider by using a
line similar to the following in the machine configuration file: ::
PREFERRED_PROVIDER_virtual/kernel = "linux-yocto"
The default :term:`PREFERRED_PROVIDER` is the provider
with the same name as the target. BitBake iterates through each target
it needs to build and resolves them and their dependencies using this
process.
Understanding how providers are chosen is made complicated by the fact
that multiple versions might exist for a given provider. BitBake
defaults to the highest version of a provider. Version comparisons are
made using the same method as Debian. You can use the
:term:`PREFERRED_VERSION` variable to
specify a particular version. You can influence the order by using the
:term:`DEFAULT_PREFERENCE` variable.
By default, files have a preference of "0". Setting
``DEFAULT_PREFERENCE`` to "-1" makes the recipe unlikely to be used
unless it is explicitly referenced. Setting ``DEFAULT_PREFERENCE`` to
"1" makes it likely the recipe is used. ``PREFERRED_VERSION`` overrides
any ``DEFAULT_PREFERENCE`` setting. ``DEFAULT_PREFERENCE`` is often used
to mark newer and more experimental recipe versions until they have
undergone sufficient testing to be considered stable.
When there are multiple "versions" of a given recipe, BitBake defaults
to selecting the most recent version, unless otherwise specified. If the
recipe in question has a
:term:`DEFAULT_PREFERENCE` set lower than
the other recipes (default is 0), then it will not be selected. This
allows the person or persons maintaining the repository of recipe files
to specify their preference for the default selected version.
Additionally, the user can specify their preferred version.
If the first recipe is named ``a_1.1.bb``, then the
:term:`PN` variable will be set to "a", and the
:term:`PV` variable will be set to 1.1.
Thus, if a recipe named ``a_1.2.bb`` exists, BitBake will choose 1.2 by
default. However, if you define the following variable in a ``.conf``
file that BitBake parses, you can change that preference: ::
PREFERRED_VERSION_a = "1.1"
.. note::
It is common for a recipe to provide two versions -- a stable,
numbered (and preferred) version, and a version that is automatically
checked out from a source code repository that is considered more
"bleeding edge" but can be selected only explicitly.
For example, in the OpenEmbedded codebase, there is a standard,
versioned recipe file for BusyBox, ``busybox_1.22.1.bb``, but there
is also a Git-based version, ``busybox_git.bb``, which explicitly
contains the line ::
DEFAULT_PREFERENCE = "-1"
to ensure that the
numbered, stable version is always preferred unless the developer
selects otherwise.
.. _bb-bitbake-dependencies:
Dependencies
============
Each target BitBake builds consists of multiple tasks such as ``fetch``,
``unpack``, ``patch``, ``configure``, and ``compile``. For best
performance on multi-core systems, BitBake considers each task as an
independent entity with its own set of dependencies.
Dependencies are defined through several variables. You can find
information about variables BitBake uses in the
:doc:`bitbake-user-manual-ref-variables` near the end of this manual. At a
basic level, it is sufficient to know that BitBake uses the
:term:`DEPENDS` and
:term:`RDEPENDS` variables when calculating
dependencies.
For more information on how BitBake handles dependencies, see the
:ref:`bitbake-user-manual/bitbake-user-manual-metadata:Dependencies`
section.
.. _ref-bitbake-tasklist:
The Task List
=============
Based on the generated list of providers and the dependency information,
BitBake can now calculate exactly what tasks it needs to run and in what
order it needs to run them. The
:ref:`bitbake-user-manual/bitbake-user-manual-execution:executing tasks`
section has more information on how BitBake chooses which task to
execute next.
The build now starts with BitBake forking off threads up to the limit
set in the :term:`BB_NUMBER_THREADS`
variable. BitBake continues to fork threads as long as there are tasks
ready to run, those tasks have all their dependencies met, and the
thread threshold has not been exceeded.
It is worth noting that you can greatly speed up the build time by
properly setting the ``BB_NUMBER_THREADS`` variable.
As each task completes, a timestamp is written to the directory
specified by the :term:`STAMP` variable. On subsequent
runs, BitBake looks in the build directory within ``tmp/stamps`` and
does not rerun tasks that are already completed unless a timestamp is
found to be invalid. Currently, invalid timestamps are only considered
on a per recipe file basis. So, for example, if the configure stamp has
a timestamp greater than the compile timestamp for a given target, then
the compile task would rerun. Running the compile task again, however,
has no effect on other providers that depend on that target.
The exact format of the stamps is partly configurable. In modern
versions of BitBake, a hash is appended to the stamp so that if the
configuration changes, the stamp becomes invalid and the task is
automatically rerun. This hash, or signature used, is governed by the
signature policy that is configured (see the
:ref:`bitbake-user-manual/bitbake-user-manual-execution:checksums (signatures)`
section for information). It is also
possible to append extra metadata to the stamp using the
``[stamp-extra-info]`` task flag. For example, OpenEmbedded uses this
flag to make some tasks machine-specific.
.. note::
Some tasks are marked as "nostamp" tasks. No timestamp file is
created when these tasks are run. Consequently, "nostamp" tasks are
always rerun.
For more information on tasks, see the
:ref:`bitbake-user-manual/bitbake-user-manual-metadata:tasks` section.
Executing Tasks
===============
Tasks can be either a shell task or a Python task. For shell tasks,
BitBake writes a shell script to
``${``\ :term:`T`\ ``}/run.do_taskname.pid`` and then
executes the script. The generated shell script contains all the
exported variables, and the shell functions with all variables expanded.
Output from the shell script goes to the file
``${T}/log.do_taskname.pid``. Looking at the expanded shell functions in
the run file and the output in the log files is a useful debugging
technique.
For Python tasks, BitBake executes the task internally and logs
information to the controlling terminal. Future versions of BitBake will
write the functions to files similar to the way shell tasks are handled.
Logging will be handled in a way similar to shell tasks as well.
The order in which BitBake runs the tasks is controlled by its task
scheduler. It is possible to configure the scheduler and define custom
implementations for specific use cases. For more information, see these
variables that control the behavior:
- :term:`BB_SCHEDULER`
- :term:`BB_SCHEDULERS`
It is possible to have functions run before and after a task's main
function. This is done using the ``[prefuncs]`` and ``[postfuncs]``
flags of the task that lists the functions to run.
.. _checksums:
Checksums (Signatures)
======================
A checksum is a unique signature of a task's inputs. The signature of a
task can be used to determine if a task needs to be run. Because it is a
change in a task's inputs that triggers running the task, BitBake needs
to detect all the inputs to a given task. For shell tasks, this turns
out to be fairly easy because BitBake generates a "run" shell script for
each task and it is possible to create a checksum that gives you a good
idea of when the task's data changes.
To complicate the problem, some things should not be included in the
checksum. First, there is the actual specific build path of a given task
- the working directory. It does not matter if the working directory
changes because it should not affect the output for target packages. The
simplistic approach for excluding the working directory is to set it to
some fixed value and create the checksum for the "run" script. BitBake
goes one step better and uses the
:term:`BB_HASHBASE_WHITELIST` variable
to define a list of variables that should never be included when
generating the signatures.
Another problem results from the "run" scripts containing functions that
might or might not get called. The incremental build solution contains
code that figures out dependencies between shell functions. This code is
used to prune the "run" scripts down to the minimum set, thereby
alleviating this problem and making the "run" scripts much more readable
as a bonus.
So far we have solutions for shell scripts. What about Python tasks? The
same approach applies even though these tasks are more difficult. The
process needs to figure out what variables a Python function accesses
and what functions it calls. Again, the incremental build solution
contains code that first figures out the variable and function
dependencies, and then creates a checksum for the data used as the input
to the task.
Like the working directory case, situations exist where dependencies
should be ignored. For these cases, you can instruct the build process
to ignore a dependency by using a line like the following: ::
PACKAGE_ARCHS[vardepsexclude] = "MACHINE"
This example ensures that the
``PACKAGE_ARCHS`` variable does not depend on the value of ``MACHINE``,
even if it does reference it.
Equally, there are cases where we need to add dependencies BitBake is
not able to find. You can accomplish this by using a line like the
following: ::
PACKAGE_ARCHS[vardeps] = "MACHINE"
This example explicitly
adds the ``MACHINE`` variable as a dependency for ``PACKAGE_ARCHS``.
Consider a case with in-line Python, for example, where BitBake is not
able to figure out dependencies. When running in debug mode (i.e. using
``-DDD``), BitBake produces output when it discovers something for which
it cannot figure out dependencies.
Thus far, this section has limited discussion to the direct inputs into
a task. Information based on direct inputs is referred to as the
"basehash" in the code. However, there is still the question of a task's
indirect inputs - the things that were already built and present in the
build directory. The checksum (or signature) for a particular task needs
to add the hashes of all the tasks on which the particular task depends.
Choosing which dependencies to add is a policy decision. However, the
effect is to generate a master checksum that combines the basehash and
the hashes of the task's dependencies.
At the code level, there are a variety of ways both the basehash and the
dependent task hashes can be influenced. Within the BitBake
configuration file, we can give BitBake some extra information to help
it construct the basehash. The following statement effectively results
in a list of global variable dependency excludes - variables never
included in any checksum. This example uses variables from OpenEmbedded
to help illustrate the concept: ::
BB_HASHBASE_WHITELIST ?= "TMPDIR FILE PATH PWD BB_TASKHASH BBPATH DL_DIR \
SSTATE_DIR THISDIR FILESEXTRAPATHS FILE_DIRNAME HOME LOGNAME SHELL \
USER FILESPATH STAGING_DIR_HOST STAGING_DIR_TARGET COREBASE PRSERV_HOST \
PRSERV_DUMPDIR PRSERV_DUMPFILE PRSERV_LOCKDOWN PARALLEL_MAKE \
CCACHE_DIR EXTERNAL_TOOLCHAIN CCACHE CCACHE_DISABLE LICENSE_PATH SDKPKGSUFFIX"
The previous example excludes the work directory, which is part of
``TMPDIR``.
The rules for deciding which hashes of dependent tasks to include
through dependency chains are more complex and are generally
accomplished with a Python function. The code in
``meta/lib/oe/sstatesig.py`` shows two examples of this and also
illustrates how you can insert your own policy into the system if so
desired. This file defines the two basic signature generators
OpenEmbedded-Core uses: "OEBasic" and "OEBasicHash". By default, there
is a dummy "noop" signature handler enabled in BitBake. This means that
behavior is unchanged from previous versions. ``OE-Core`` uses the
"OEBasicHash" signature handler by default through this setting in the
``bitbake.conf`` file: ::
BB_SIGNATURE_HANDLER ?= "OEBasicHash"
The "OEBasicHash" ``BB_SIGNATURE_HANDLER`` is the same as the "OEBasic"
version but adds the task hash to the stamp files. This results in any
metadata change that changes the task hash, automatically causing the
task to be run again. This removes the need to bump
:term:`PR` values, and changes to metadata automatically
ripple across the build.
It is also worth noting that the end result of these signature
generators is to make some dependency and hash information available to
the build. This information includes:
- ``BB_BASEHASH_task-``\ *taskname*: The base hashes for each task in the
recipe.
- ``BB_BASEHASH_``\ *filename:taskname*: The base hashes for each
dependent task.
- ``BBHASHDEPS_``\ *filename:taskname*: The task dependencies for
each task.
- ``BB_TASKHASH``: The hash of the currently running task.
It is worth noting that BitBake's "-S" option lets you debug BitBake's
processing of signatures. The options passed to -S allow different
debugging modes to be used, either using BitBake's own debug functions
or possibly those defined in the metadata/signature handler itself. The
simplest parameter to pass is "none", which causes a set of signature
information to be written out into ``STAMPS_DIR`` corresponding to the
targets specified. The other currently available parameter is
"printdiff", which causes BitBake to try to establish the closest
signature match it can (e.g. in the sstate cache) and then run
``bitbake-diffsigs`` over the matches to determine the stamps and delta
where these two stamp trees diverge.
.. note::
It is likely that future versions of BitBake will provide other
signature handlers triggered through additional "-S" parameters.
You can find more information on checksum metadata in the
:ref:`bitbake-user-manual/bitbake-user-manual-metadata:task checksums and setscene`
section.
Setscene
========
The setscene process enables BitBake to handle "pre-built" artifacts.
The ability to handle and reuse these artifacts allows BitBake the
luxury of not having to build something from scratch every time.
Instead, BitBake can use, when possible, existing build artifacts.
BitBake needs to have reliable data indicating whether or not an
artifact is compatible. Signatures, described in the previous section,
provide an ideal way of representing whether an artifact is compatible.
If a signature is the same, an object can be reused.
If an object can be reused, the problem then becomes how to replace a
given task or set of tasks with the pre-built artifact. BitBake solves
the problem with the "setscene" process.
When BitBake is asked to build a given target, before building anything,
it first asks whether cached information is available for any of the
targets it's building, or any of the intermediate targets. If cached
information is available, BitBake uses this information instead of
running the main tasks.
BitBake first calls the function defined by the
:term:`BB_HASHCHECK_FUNCTION` variable
with a list of tasks and corresponding hashes it wants to build. This
function is designed to be fast and returns a list of the tasks for
which it believes in can obtain artifacts.
Next, for each of the tasks that were returned as possibilities, BitBake
executes a setscene version of the task that the possible artifact
covers. Setscene versions of a task have the string "_setscene" appended
to the task name. So, for example, the task with the name ``xxx`` has a
setscene task named ``xxx_setscene``. The setscene version of the task
executes and provides the necessary artifacts returning either success
or failure.
As previously mentioned, an artifact can cover more than one task. For
example, it is pointless to obtain a compiler if you already have the
compiled binary. To handle this, BitBake calls the
:term:`BB_SETSCENE_DEPVALID` function for
each successful setscene task to know whether or not it needs to obtain
the dependencies of that task.
Finally, after all the setscene tasks have executed, BitBake calls the
function listed in
:term:`BB_SETSCENE_VERIFY_FUNCTION2`
with the list of tasks BitBake thinks has been "covered". The metadata
can then ensure that this list is correct and can inform BitBake that it
wants specific tasks to be run regardless of the setscene result.
You can find more information on setscene metadata in the
:ref:`bitbake-user-manual/bitbake-user-manual-metadata:task checksums and setscene`
section.
Logging
=======
In addition to the standard command line option to control how verbose
builds are when execute, bitbake also supports user defined
configuration of the `Python
logging <https://docs.python.org/3/library/logging.html>`__ facilities
through the :term:`BB_LOGCONFIG` variable. This
variable defines a json or yaml `logging
configuration <https://docs.python.org/3/library/logging.config.html>`__
that will be intelligently merged into the default configuration. The
logging configuration is merged using the following rules:
- The user defined configuration will completely replace the default
configuration if top level key ``bitbake_merge`` is set to the value
``False``. In this case, all other rules are ignored.
- The user configuration must have a top level ``version`` which must
match the value of the default configuration.
- Any keys defined in the ``handlers``, ``formatters``, or ``filters``,
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
``myhandler``, 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 "``BitBake.``"
- If a logger is defined by the user with the key ``bitbake_merge`` set
to ``False``, that logger will be completely replaced by user
configuration. In this case, no other rules will apply to that
logger.
- All user defined ``filter`` and ``handlers`` 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
``myFilter`` to the ``BitBake.SigGen``, and the default configuration
adds a filter called ``BitBake.defaultFilter``, both filters will be
applied to the logger
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 ``hashequiv.log`` ::
{
"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"]
}
}
}

View File

@@ -0,0 +1,932 @@
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<chapter id="bitbake-user-manual-execution">
<title>Execution</title>
<para>
The primary purpose for running BitBake is to produce some kind
of output such as a single installable package, a kernel, a software
development kit, or even a full, board-specific bootable Linux image,
complete with bootloader, kernel, and root filesystem.
Of course, you can execute the <filename>bitbake</filename>
command with options that cause it to execute single tasks,
compile single recipe files, capture or clear data, or simply
return information about the execution environment.
</para>
<para>
This chapter describes BitBake's execution process from start
to finish when you use it to create an image.
The execution process is launched using the following command
form:
<literallayout class='monospaced'>
$ bitbake <replaceable>target</replaceable>
</literallayout>
For information on the BitBake command and its options,
see
"<link linkend='bitbake-user-manual-command'>The BitBake Command</link>"
section.
<note>
<para>
Prior to executing BitBake, you should take advantage of available
parallel thread execution on your build host by setting the
<link linkend='var-BB_NUMBER_THREADS'><filename>BB_NUMBER_THREADS</filename></link>
variable in your project's <filename>local.conf</filename>
configuration file.
</para>
<para>
A common method to determine this value for your build host is to run
the following:
<literallayout class='monospaced'>
$ grep processor /proc/cpuinfo
</literallayout>
This command returns the number of processors, which takes into
account hyper-threading.
Thus, a quad-core build host with hyper-threading most likely
shows eight processors, which is the value you would then assign to
<filename>BB_NUMBER_THREADS</filename>.
</para>
<para>
A possibly simpler solution is that some Linux distributions
(e.g. Debian and Ubuntu) provide the <filename>ncpus</filename> command.
</para>
</note>
</para>
<section id='parsing-the-base-configuration-metadata'>
<title>Parsing the Base Configuration Metadata</title>
<para>
The first thing BitBake does is parse base configuration
metadata.
Base configuration metadata consists of your project's
<filename>bblayers.conf</filename> file to determine what
layers BitBake needs to recognize, all necessary
<filename>layer.conf</filename> files (one from each layer),
and <filename>bitbake.conf</filename>.
The data itself is of various types:
<itemizedlist>
<listitem><para><emphasis>Recipes:</emphasis>
Details about particular pieces of software.
</para></listitem>
<listitem><para><emphasis>Class Data:</emphasis>
An abstraction of common build information
(e.g. how to build a Linux kernel).
</para></listitem>
<listitem><para><emphasis>Configuration Data:</emphasis>
Machine-specific settings, policy decisions,
and so forth.
Configuration data acts as the glue to bind everything
together.</para></listitem>
</itemizedlist>
</para>
<para>
The <filename>layer.conf</filename> files are used to
construct key variables such as
<link linkend='var-BBPATH'><filename>BBPATH</filename></link>
and
<link linkend='var-BBFILES'><filename>BBFILES</filename></link>.
<filename>BBPATH</filename> is used to search for
configuration and class files under the
<filename>conf</filename> and <filename>classes</filename>
directories, respectively.
<filename>BBFILES</filename> is used to locate both recipe
and recipe append files
(<filename>.bb</filename> and <filename>.bbappend</filename>).
If there is no <filename>bblayers.conf</filename> file,
it is assumed the user has set the <filename>BBPATH</filename>
and <filename>BBFILES</filename> directly in the environment.
</para>
<para>
Next, the <filename>bitbake.conf</filename> file is located
using the <filename>BBPATH</filename> variable that was
just constructed.
The <filename>bitbake.conf</filename> file may also include other
configuration files using the
<filename>include</filename> or
<filename>require</filename> directives.
</para>
<para>
Prior to parsing configuration files, Bitbake looks
at certain variables, including:
<itemizedlist>
<listitem><para>
<link linkend='var-BB_ENV_WHITELIST'><filename>BB_ENV_WHITELIST</filename></link>
</para></listitem>
<listitem><para>
<link linkend='var-BB_ENV_EXTRAWHITE'><filename>BB_ENV_EXTRAWHITE</filename></link>
</para></listitem>
<listitem><para>
<link linkend='var-BB_PRESERVE_ENV'><filename>BB_PRESERVE_ENV</filename></link>
</para></listitem>
<listitem><para>
<link linkend='var-BB_ORIGENV'><filename>BB_ORIGENV</filename></link>
</para></listitem>
<listitem><para>
<link linkend='var-BITBAKE_UI'><filename>BITBAKE_UI</filename></link>
</para></listitem>
</itemizedlist>
The first four variables in this list relate to how BitBake treats shell
environment variables during task execution.
By default, BitBake cleans the environment variables and provides tight
control over the shell execution environment.
However, through the use of these first four variables, you can
apply your control regarding the
environment variables allowed to be used by BitBake in the shell
during execution of tasks.
See the
"<link linkend='passing-information-into-the-build-task-environment'>Passing Information Into the Build Task Environment</link>"
section and the information about these variables in the
variable glossary for more information on how they work and
on how to use them.
</para>
<para>
The base configuration metadata is global
and therefore affects all recipes and tasks that are executed.
</para>
<para>
BitBake first searches the current working directory for an
optional <filename>conf/bblayers.conf</filename> configuration file.
This file is expected to contain a
<link linkend='var-BBLAYERS'><filename>BBLAYERS</filename></link>
variable that is a space-delimited list of 'layer' directories.
Recall that if BitBake cannot find a <filename>bblayers.conf</filename>
file, then it is assumed the user has set the <filename>BBPATH</filename>
and <filename>BBFILES</filename> variables directly in the environment.
</para>
<para>
For each directory (layer) in this list, a <filename>conf/layer.conf</filename>
file is located and parsed with the
<link linkend='var-LAYERDIR'><filename>LAYERDIR</filename></link>
variable being set to the directory where the layer was found.
The idea is these files automatically set up
<link linkend='var-BBPATH'><filename>BBPATH</filename></link>
and other variables correctly for a given build directory.
</para>
<para>
BitBake then expects to find the <filename>conf/bitbake.conf</filename>
file somewhere in the user-specified <filename>BBPATH</filename>.
That configuration file generally has include directives to pull
in any other metadata such as files specific to the architecture,
the machine, the local environment, and so forth.
</para>
<para>
Only variable definitions and include directives are allowed
in BitBake <filename>.conf</filename> files.
Some variables directly influence BitBake's behavior.
These variables might have been set from the environment
depending on the environment variables previously
mentioned or set in the configuration files.
The
"<link linkend='ref-variables-glos'>Variables Glossary</link>"
chapter presents a full list of variables.
</para>
<para>
After parsing configuration files, BitBake uses its rudimentary
inheritance mechanism, which is through class files, to inherit
some standard classes.
BitBake parses a class when the inherit directive responsible
for getting that class is encountered.
</para>
<para>
The <filename>base.bbclass</filename> file is always included.
Other classes that are specified in the configuration using the
<link linkend='var-INHERIT'><filename>INHERIT</filename></link>
variable are also included.
BitBake searches for class files in a
<filename>classes</filename> subdirectory under
the paths in <filename>BBPATH</filename> in the same way as
configuration files.
</para>
<para>
A good way to get an idea of the configuration files and
the class files used in your execution environment is to
run the following BitBake command:
<literallayout class='monospaced'>
$ bitbake -e > mybb.log
</literallayout>
Examining the top of the <filename>mybb.log</filename>
shows you the many configuration files and class files
used in your execution environment.
</para>
<note>
<para>
You need to be aware of how BitBake parses curly braces.
If a recipe uses a closing curly brace within the function and
the character has no leading spaces, BitBake produces a parsing
error.
If you use a pair of curly braces in a shell function, the
closing curly brace must not be located at the start of the line
without leading spaces.
</para>
<para>
Here is an example that causes BitBake to produce a parsing
error:
<literallayout class='monospaced'>
fakeroot create_shar() {
cat &lt;&lt; "EOF" &gt; ${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.sh
usage()
{
echo "test"
###### The following "}" at the start of the line causes a parsing error ######
}
EOF
}
</literallayout>
Writing the recipe this way avoids the error:
<literallayout class='monospaced'>
fakeroot create_shar() {
cat &lt;&lt; "EOF" &gt; ${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.sh
usage()
{
echo "test"
######The following "}" with a leading space at the start of the line avoids the error ######
}
EOF
}
</literallayout>
</para>
</note>
</section>
<section id='locating-and-parsing-recipes'>
<title>Locating and Parsing Recipes</title>
<para>
During the configuration phase, BitBake will have set
<link linkend='var-BBFILES'><filename>BBFILES</filename></link>.
BitBake now uses it to construct a list of recipes to parse,
along with any append files (<filename>.bbappend</filename>)
to apply.
<filename>BBFILES</filename> is a space-separated list of
available files and supports wildcards.
An example would be:
<literallayout class='monospaced'>
BBFILES = "/path/to/bbfiles/*.bb /path/to/appends/*.bbappend"
</literallayout>
BitBake parses each recipe and append file located
with <filename>BBFILES</filename> and stores the values of
various variables into the datastore.
<note>
Append files are applied in the order they are encountered in
<filename>BBFILES</filename>.
</note>
For each file, a fresh copy of the base configuration is
made, then the recipe is parsed line by line.
Any inherit statements cause BitBake to find and
then parse class files (<filename>.bbclass</filename>)
using
<link linkend='var-BBPATH'><filename>BBPATH</filename></link>
as the search path.
Finally, BitBake parses in order any append files found in
<filename>BBFILES</filename>.
</para>
<para>
One common convention is to use the recipe filename to define
pieces of metadata.
For example, in <filename>bitbake.conf</filename> the recipe
name and version are used to set the variables
<link linkend='var-PN'><filename>PN</filename></link> and
<link linkend='var-PV'><filename>PV</filename></link>:
<literallayout class='monospaced'>
PN = "${@bb.parse.BBHandler.vars_from_file(d.getVar('FILE', False),d)[0] or 'defaultpkgname'}"
PV = "${@bb.parse.BBHandler.vars_from_file(d.getVar('FILE', False),d)[1] or '1.0'}"
</literallayout>
In this example, a recipe called "something_1.2.3.bb" would set
<filename>PN</filename> to "something" and
<filename>PV</filename> to "1.2.3".
</para>
<para>
By the time parsing is complete for a recipe, BitBake
has a list of tasks that the recipe defines and a set of
data consisting of keys and values as well as
dependency information about the tasks.
</para>
<para>
BitBake does not need all of this information.
It only needs a small subset of the information to make
decisions about the recipe.
Consequently, BitBake caches the values in which it is
interested and does not store the rest of the information.
Experience has shown it is faster to re-parse the metadata than to
try and write it out to the disk and then reload it.
</para>
<para>
Where possible, subsequent BitBake commands reuse this cache of
recipe information.
The validity of this cache is determined by first computing a
checksum of the base configuration data (see
<link linkend='var-BB_HASHCONFIG_WHITELIST'><filename>BB_HASHCONFIG_WHITELIST</filename></link>)
and then checking if the checksum matches.
If that checksum matches what is in the cache and the recipe
and class files have not changed, Bitbake is able to use
the cache.
BitBake then reloads the cached information about the recipe
instead of reparsing it from scratch.
</para>
<para>
Recipe file collections exist to allow the user to
have multiple repositories of
<filename>.bb</filename> files that contain the same
exact package.
For example, one could easily use them to make one's
own local copy of an upstream repository, but with
custom modifications that one does not want upstream.
Here is an example:
<literallayout class='monospaced'>
BBFILES = "/stuff/openembedded/*/*.bb /stuff/openembedded.modified/*/*.bb"
BBFILE_COLLECTIONS = "upstream local"
BBFILE_PATTERN_upstream = "^/stuff/openembedded/"
BBFILE_PATTERN_local = "^/stuff/openembedded.modified/"
BBFILE_PRIORITY_upstream = "5"
BBFILE_PRIORITY_local = "10"
</literallayout>
<note>
The layers mechanism is now the preferred method of collecting
code.
While the collections code remains, its main use is to set layer
priorities and to deal with overlap (conflicts) between layers.
</note>
</para>
</section>
<section id='bb-bitbake-providers'>
<title>Providers</title>
<para>
Assuming BitBake has been instructed to execute a target
and that all the recipe files have been parsed, BitBake
starts to figure out how to build the target.
BitBake looks through the <filename>PROVIDES</filename> list
for each of the recipes.
A <filename>PROVIDES</filename> list is the list of names by which
the recipe can be known.
Each recipe's <filename>PROVIDES</filename> list is created
implicitly through the recipe's
<link linkend='var-PN'><filename>PN</filename></link> variable
and explicitly through the recipe's
<link linkend='var-PROVIDES'><filename>PROVIDES</filename></link>
variable, which is optional.
</para>
<para>
When a recipe uses <filename>PROVIDES</filename>, that recipe's
functionality can be found under an alternative name or names other
than the implicit <filename>PN</filename> name.
As an example, suppose a recipe named <filename>keyboard_1.0.bb</filename>
contained the following:
<literallayout class='monospaced'>
PROVIDES += "fullkeyboard"
</literallayout>
The <filename>PROVIDES</filename> list for this recipe becomes
"keyboard", which is implicit, and "fullkeyboard", which is explicit.
Consequently, the functionality found in
<filename>keyboard_1.0.bb</filename> can be found under two
different names.
</para>
</section>
<section id='bb-bitbake-preferences'>
<title>Preferences</title>
<para>
The <filename>PROVIDES</filename> list is only part of the solution
for figuring out a target's recipes.
Because targets might have multiple providers, BitBake needs
to prioritize providers by determining provider preferences.
</para>
<para>
A common example in which a target has multiple providers
is "virtual/kernel", which is on the
<filename>PROVIDES</filename> list for each kernel recipe.
Each machine often selects the best kernel provider by using a
line similar to the following in the machine configuration file:
<literallayout class='monospaced'>
PREFERRED_PROVIDER_virtual/kernel = "linux-yocto"
</literallayout>
The default
<link linkend='var-PREFERRED_PROVIDER'><filename>PREFERRED_PROVIDER</filename></link>
is the provider with the same name as the target.
Bitbake iterates through each target it needs to build and
resolves them and their dependencies using this process.
</para>
<para>
Understanding how providers are chosen is made complicated by the fact
that multiple versions might exist for a given provider.
BitBake defaults to the highest version of a provider.
Version comparisons are made using the same method as Debian.
You can use the
<link linkend='var-PREFERRED_VERSION'><filename>PREFERRED_VERSION</filename></link>
variable to specify a particular version.
You can influence the order by using the
<link linkend='var-DEFAULT_PREFERENCE'><filename>DEFAULT_PREFERENCE</filename></link>
variable.
</para>
<para>
By default, files have a preference of "0".
Setting <filename>DEFAULT_PREFERENCE</filename> to "-1" makes the
recipe unlikely to be used unless it is explicitly referenced.
Setting <filename>DEFAULT_PREFERENCE</filename> to "1" makes it
likely the recipe is used.
<filename>PREFERRED_VERSION</filename> overrides any
<filename>DEFAULT_PREFERENCE</filename> setting.
<filename>DEFAULT_PREFERENCE</filename> is often used to mark newer
and more experimental recipe versions until they have undergone
sufficient testing to be considered stable.
</para>
<para>
When there are multiple “versions” of a given recipe,
BitBake defaults to selecting the most recent
version, unless otherwise specified.
If the recipe in question has a
<link linkend='var-DEFAULT_PREFERENCE'><filename>DEFAULT_PREFERENCE</filename></link>
set lower than the other recipes (default is 0), then
it will not be selected.
This allows the person or persons maintaining
the repository of recipe files to specify
their preference for the default selected version.
Additionally, the user can specify their preferred version.
</para>
<para>
If the first recipe is named <filename>a_1.1.bb</filename>, then the
<link linkend='var-PN'><filename>PN</filename></link> variable
will be set to “a”, and the
<link linkend='var-PV'><filename>PV</filename></link>
variable will be set to 1.1.
</para>
<para>
Thus, if a recipe named <filename>a_1.2.bb</filename> exists, BitBake
will choose 1.2 by default.
However, if you define the following variable in a
<filename>.conf</filename> file that BitBake parses, you
can change that preference:
<literallayout class='monospaced'>
PREFERRED_VERSION_a = "1.1"
</literallayout>
</para>
<note>
<para>
It is common for a recipe to provide two versions -- a stable,
numbered (and preferred) version, and a version that is
automatically checked out from a source code repository that
is considered more "bleeding edge" but can be selected only
explicitly.
</para>
<para>
For example, in the OpenEmbedded codebase, there is a standard,
versioned recipe file for BusyBox,
<filename>busybox_1.22.1.bb</filename>,
but there is also a Git-based version,
<filename>busybox_git.bb</filename>, which explicitly contains the line
<literallayout class='monospaced'>
DEFAULT_PREFERENCE = "-1"
</literallayout>
to ensure that the numbered, stable version is always preferred
unless the developer selects otherwise.
</para>
</note>
</section>
<section id='bb-bitbake-dependencies'>
<title>Dependencies</title>
<para>
Each target BitBake builds consists of multiple tasks such as
<filename>fetch</filename>, <filename>unpack</filename>,
<filename>patch</filename>, <filename>configure</filename>,
and <filename>compile</filename>.
For best performance on multi-core systems, BitBake considers each
task as an independent
entity with its own set of dependencies.
</para>
<para>
Dependencies are defined through several variables.
You can find information about variables BitBake uses in
the <link linkend='ref-variables-glos'>Variables Glossary</link>
near the end of this manual.
At a basic level, it is sufficient to know that BitBake uses the
<link linkend='var-DEPENDS'><filename>DEPENDS</filename></link> and
<link linkend='var-RDEPENDS'><filename>RDEPENDS</filename></link> variables when
calculating dependencies.
</para>
<para>
For more information on how BitBake handles dependencies, see the
"<link linkend='dependencies'>Dependencies</link>" section.
</para>
</section>
<section id='ref-bitbake-tasklist'>
<title>The Task List</title>
<para>
Based on the generated list of providers and the dependency information,
BitBake can now calculate exactly what tasks it needs to run and in what
order it needs to run them.
The
"<link linkend='executing-tasks'>Executing Tasks</link>" section has more
information on how BitBake chooses which task to execute next.
</para>
<para>
The build now starts with BitBake forking off threads up to the limit set in the
<link linkend='var-BB_NUMBER_THREADS'><filename>BB_NUMBER_THREADS</filename></link>
variable.
BitBake continues to fork threads as long as there are tasks ready to run,
those tasks have all their dependencies met, and the thread threshold has not been
exceeded.
</para>
<para>
It is worth noting that you can greatly speed up the build time by properly setting
the <filename>BB_NUMBER_THREADS</filename> variable.
</para>
<para>
As each task completes, a timestamp is written to the directory specified by the
<link linkend='var-STAMP'><filename>STAMP</filename></link> variable.
On subsequent runs, BitBake looks in the build directory within
<filename>tmp/stamps</filename> and does not rerun
tasks that are already completed unless a timestamp is found to be invalid.
Currently, invalid timestamps are only considered on a per
recipe file basis.
So, for example, if the configure stamp has a timestamp greater than the
compile timestamp for a given target, then the compile task would rerun.
Running the compile task again, however, has no effect on other providers
that depend on that target.
</para>
<para>
The exact format of the stamps is partly configurable.
In modern versions of BitBake, a hash is appended to the
stamp so that if the configuration changes, the stamp becomes
invalid and the task is automatically rerun.
This hash, or signature used, is governed by the signature policy
that is configured (see the
"<link linkend='checksums'>Checksums (Signatures)</link>"
section for information).
It is also possible to append extra metadata to the stamp using
the <filename>[stamp-extra-info]</filename> task flag.
For example, OpenEmbedded uses this flag to make some tasks machine-specific.
</para>
<note>
Some tasks are marked as "nostamp" tasks.
No timestamp file is created when these tasks are run.
Consequently, "nostamp" tasks are always rerun.
</note>
<para>
For more information on tasks, see the
"<link linkend='tasks'>Tasks</link>" section.
</para>
</section>
<section id='executing-tasks'>
<title>Executing Tasks</title>
<para>
Tasks can be either a shell task or a Python task.
For shell tasks, BitBake writes a shell script to
<filename>${</filename><link linkend='var-T'><filename>T</filename></link><filename>}/run.do_taskname.pid</filename>
and then executes the script.
The generated shell script contains all the exported variables,
and the shell functions with all variables expanded.
Output from the shell script goes to the file
<filename>${T}/log.do_taskname.pid</filename>.
Looking at the expanded shell functions in the run file and
the output in the log files is a useful debugging technique.
</para>
<para>
For Python tasks, BitBake executes the task internally and logs
information to the controlling terminal.
Future versions of BitBake will write the functions to files
similar to the way shell tasks are handled.
Logging will be handled in a way similar to shell tasks as well.
</para>
<para>
The order in which BitBake runs the tasks is controlled by its
task scheduler.
It is possible to configure the scheduler and define custom
implementations for specific use cases.
For more information, see these variables that control the
behavior:
<itemizedlist>
<listitem><para>
<link linkend='var-BB_SCHEDULER'><filename>BB_SCHEDULER</filename></link>
</para></listitem>
<listitem><para>
<link linkend='var-BB_SCHEDULERS'><filename>BB_SCHEDULERS</filename></link>
</para></listitem>
</itemizedlist>
It is possible to have functions run before and after a task's main
function.
This is done using the <filename>[prefuncs]</filename>
and <filename>[postfuncs]</filename> flags of the task
that lists the functions to run.
</para>
</section>
<section id='checksums'>
<title>Checksums (Signatures)</title>
<para>
A checksum is a unique signature of a task's inputs.
The signature of a task can be used to determine if a task
needs to be run.
Because it is a change in a task's inputs that triggers running
the task, BitBake needs to detect all the inputs to a given task.
For shell tasks, this turns out to be fairly easy because
BitBake generates a "run" shell script for each task and
it is possible to create a checksum that gives you a good idea of when
the task's data changes.
</para>
<para>
To complicate the problem, some things should not be included in
the checksum.
First, there is the actual specific build path of a given task -
the working directory.
It does not matter if the working directory changes because it should not
affect the output for target packages.
The simplistic approach for excluding the working directory is to set
it to some fixed value and create the checksum for the "run" script.
BitBake goes one step better and uses the
<link linkend='var-BB_HASHBASE_WHITELIST'><filename>BB_HASHBASE_WHITELIST</filename></link>
variable to define a list of variables that should never be included
when generating the signatures.
</para>
<para>
Another problem results from the "run" scripts containing functions that
might or might not get called.
The incremental build solution contains code that figures out dependencies
between shell functions.
This code is used to prune the "run" scripts down to the minimum set,
thereby alleviating this problem and making the "run" scripts much more
readable as a bonus.
</para>
<para>
So far we have solutions for shell scripts.
What about Python tasks?
The same approach applies even though these tasks are more difficult.
The process needs to figure out what variables a Python function accesses
and what functions it calls.
Again, the incremental build solution contains code that first figures out
the variable and function dependencies, and then creates a checksum for the data
used as the input to the task.
</para>
<para>
Like the working directory case, situations exist where dependencies
should be ignored.
For these cases, you can instruct the build process to ignore a dependency
by using a line like the following:
<literallayout class='monospaced'>
PACKAGE_ARCHS[vardepsexclude] = "MACHINE"
</literallayout>
This example ensures that the <filename>PACKAGE_ARCHS</filename> variable does not
depend on the value of <filename>MACHINE</filename>, even if it does reference it.
</para>
<para>
Equally, there are cases where we need to add dependencies BitBake
is not able to find.
You can accomplish this by using a line like the following:
<literallayout class='monospaced'>
PACKAGE_ARCHS[vardeps] = "MACHINE"
</literallayout>
This example explicitly adds the <filename>MACHINE</filename> variable as a
dependency for <filename>PACKAGE_ARCHS</filename>.
</para>
<para>
Consider a case with in-line Python, for example, where BitBake is not
able to figure out dependencies.
When running in debug mode (i.e. using <filename>-DDD</filename>), BitBake
produces output when it discovers something for which it cannot figure out
dependencies.
</para>
<para>
Thus far, this section has limited discussion to the direct inputs into a task.
Information based on direct inputs is referred to as the "basehash" in the
code.
However, there is still the question of a task's indirect inputs - the
things that were already built and present in the build directory.
The checksum (or signature) for a particular task needs to add the hashes
of all the tasks on which the particular task depends.
Choosing which dependencies to add is a policy decision.
However, the effect is to generate a master checksum that combines the basehash
and the hashes of the task's dependencies.
</para>
<para>
At the code level, there are a variety of ways both the basehash and the
dependent task hashes can be influenced.
Within the BitBake configuration file, we can give BitBake some extra information
to help it construct the basehash.
The following statement effectively results in a list of global variable
dependency excludes - variables never included in any checksum.
This example uses variables from OpenEmbedded to help illustrate
the concept:
<literallayout class='monospaced'>
BB_HASHBASE_WHITELIST ?= "TMPDIR FILE PATH PWD BB_TASKHASH BBPATH DL_DIR \
SSTATE_DIR THISDIR FILESEXTRAPATHS FILE_DIRNAME HOME LOGNAME SHELL TERM \
USER FILESPATH STAGING_DIR_HOST STAGING_DIR_TARGET COREBASE PRSERV_HOST \
PRSERV_DUMPDIR PRSERV_DUMPFILE PRSERV_LOCKDOWN PARALLEL_MAKE \
CCACHE_DIR EXTERNAL_TOOLCHAIN CCACHE CCACHE_DISABLE LICENSE_PATH SDKPKGSUFFIX"
</literallayout>
The previous example excludes the work directory, which is part of
<filename>TMPDIR</filename>.
</para>
<para>
The rules for deciding which hashes of dependent tasks to include through
dependency chains are more complex and are generally accomplished with a
Python function.
The code in <filename>meta/lib/oe/sstatesig.py</filename> shows two examples
of this and also illustrates how you can insert your own policy into the system
if so desired.
This file defines the two basic signature generators OpenEmbedded-Core
uses: "OEBasic" and "OEBasicHash".
By default, there is a dummy "noop" signature handler enabled in BitBake.
This means that behavior is unchanged from previous versions.
<filename>OE-Core</filename> uses the "OEBasicHash" signature handler by default
through this setting in the <filename>bitbake.conf</filename> file:
<literallayout class='monospaced'>
BB_SIGNATURE_HANDLER ?= "OEBasicHash"
</literallayout>
The "OEBasicHash" <filename>BB_SIGNATURE_HANDLER</filename> is the same as the
"OEBasic" version but adds the task hash to the stamp files.
This results in any metadata change that changes the task hash, automatically
causing the task to be run again.
This removes the need to bump
<link linkend='var-PR'><filename>PR</filename></link>
values, and changes to metadata automatically ripple across the build.
</para>
<para>
It is also worth noting that the end result of these signature generators is to
make some dependency and hash information available to the build.
This information includes:
<itemizedlist>
<listitem><para><filename>BB_BASEHASH_task-</filename><replaceable>taskname</replaceable>:
The base hashes for each task in the recipe.
</para></listitem>
<listitem><para><filename>BB_BASEHASH_</filename><replaceable>filename</replaceable><filename>:</filename><replaceable>taskname</replaceable>:
The base hashes for each dependent task.
</para></listitem>
<listitem><para><filename>BBHASHDEPS_</filename><replaceable>filename</replaceable><filename>:</filename><replaceable>taskname</replaceable>:
The task dependencies for each task.
</para></listitem>
<listitem><para><filename>BB_TASKHASH</filename>:
The hash of the currently running task.
</para></listitem>
</itemizedlist>
</para>
<para>
It is worth noting that BitBake's "-S" option lets you
debug Bitbake's processing of signatures.
The options passed to -S allow different debugging modes
to be used, either using BitBake's own debug functions
or possibly those defined in the metadata/signature handler
itself.
The simplest parameter to pass is "none", which causes a
set of signature information to be written out into
<filename>STAMPS_DIR</filename>
corresponding to the targets specified.
The other currently available parameter is "printdiff",
which causes BitBake to try to establish the closest
signature match it can (e.g. in the sstate cache) and then
run <filename>bitbake-diffsigs</filename> over the matches
to determine the stamps and delta where these two
stamp trees diverge.
<note>
It is likely that future versions of BitBake will
provide other signature handlers triggered through
additional "-S" parameters.
</note>
</para>
<para>
You can find more information on checksum metadata in the
"<link linkend='task-checksums-and-setscene'>Task Checksums and Setscene</link>"
section.
</para>
</section>
<section id='setscene'>
<title>Setscene</title>
<para>
The setscene process enables BitBake to handle "pre-built" artifacts.
The ability to handle and reuse these artifacts allows BitBake
the luxury of not having to build something from scratch every time.
Instead, BitBake can use, when possible, existing build artifacts.
</para>
<para>
BitBake needs to have reliable data indicating whether or not an
artifact is compatible.
Signatures, described in the previous section, provide an ideal
way of representing whether an artifact is compatible.
If a signature is the same, an object can be reused.
</para>
<para>
If an object can be reused, the problem then becomes how to
replace a given task or set of tasks with the pre-built artifact.
BitBake solves the problem with the "setscene" process.
</para>
<para>
When BitBake is asked to build a given target, before building anything,
it first asks whether cached information is available for any of the
targets it's building, or any of the intermediate targets.
If cached information is available, BitBake uses this information instead of
running the main tasks.
</para>
<para>
BitBake first calls the function defined by the
<link linkend='var-BB_HASHCHECK_FUNCTION'><filename>BB_HASHCHECK_FUNCTION</filename></link>
variable with a list of tasks and corresponding
hashes it wants to build.
This function is designed to be fast and returns a list
of the tasks for which it believes in can obtain artifacts.
</para>
<para>
Next, for each of the tasks that were returned as possibilities,
BitBake executes a setscene version of the task that the possible
artifact covers.
Setscene versions of a task have the string "_setscene" appended to the
task name.
So, for example, the task with the name <filename>xxx</filename> has
a setscene task named <filename>xxx_setscene</filename>.
The setscene version of the task executes and provides the necessary
artifacts returning either success or failure.
</para>
<para>
As previously mentioned, an artifact can cover more than one task.
For example, it is pointless to obtain a compiler if you
already have the compiled binary.
To handle this, BitBake calls the
<link linkend='var-BB_SETSCENE_DEPVALID'><filename>BB_SETSCENE_DEPVALID</filename></link>
function for each successful setscene task to know whether or not it needs
to obtain the dependencies of that task.
</para>
<para>
Finally, after all the setscene tasks have executed, BitBake calls the
function listed in
<link linkend='var-BB_SETSCENE_VERIFY_FUNCTION2'><filename>BB_SETSCENE_VERIFY_FUNCTION2</filename></link>
with the list of tasks BitBake thinks has been "covered".
The metadata can then ensure that this list is correct and can
inform BitBake that it wants specific tasks to be run regardless
of the setscene result.
</para>
<para>
You can find more information on setscene metadata in the
"<link linkend='task-checksums-and-setscene'>Task Checksums and Setscene</link>"
section.
</para>
</section>
</chapter>

View File

@@ -1,680 +0,0 @@
.. SPDX-License-Identifier: CC-BY-2.5
=====================
File Download Support
=====================
|
BitBake's fetch module is a standalone piece of library code that deals
with the intricacies of downloading source code and files from remote
systems. Fetching source code is one of the cornerstones of building
software. As such, this module forms an important part of BitBake.
The current fetch module is called "fetch2" and refers to the fact that
it is the second major version of the API. The original version is
obsolete and has been removed from the codebase. Thus, in all cases,
"fetch" refers to "fetch2" in this manual.
The Download (Fetch)
====================
BitBake takes several steps when fetching source code or files. The
fetcher codebase deals with two distinct processes in order: obtaining
the files from somewhere (cached or otherwise) and then unpacking those
files into a specific location and perhaps in a specific way. Getting
and unpacking the files is often optionally followed by patching.
Patching, however, is not covered by this module.
The code to execute the first part of this process, a fetch, looks
something like the following: ::
src_uri = (d.getVar('SRC_URI') or "").split()
fetcher = bb.fetch2.Fetch(src_uri, d)
fetcher.download()
This code sets up an instance of the fetch class. The instance uses a
space-separated list of URLs from the :term:`SRC_URI`
variable and then calls the ``download`` method to download the files.
The instantiation of the fetch class is usually followed by: ::
rootdir = l.getVar('WORKDIR')
fetcher.unpack(rootdir)
This code unpacks the downloaded files to the specified by ``WORKDIR``.
.. note::
For convenience, the naming in these examples matches the variables
used by OpenEmbedded. If you want to see the above code in action,
examine the OpenEmbedded class file ``base.bbclass``
.
The ``SRC_URI`` and ``WORKDIR`` variables are not hardcoded into the
fetcher, since those fetcher methods can be (and are) called with
different variable names. In OpenEmbedded for example, the shared state
(sstate) code uses the fetch module to fetch the sstate files.
When the ``download()`` method is called, BitBake tries to resolve the
URLs by looking for source files in a specific search order:
- *Pre-mirror Sites:* BitBake first uses pre-mirrors to try and find
source files. These locations are defined using the
:term:`PREMIRRORS` variable.
- *Source URI:* If pre-mirrors fail, BitBake uses the original URL (e.g
from ``SRC_URI``).
- *Mirror Sites:* If fetch failures occur, BitBake next uses mirror
locations as defined by the :term:`MIRRORS` variable.
For each URL passed to the fetcher, the fetcher calls the submodule that
handles that particular URL type. This behavior can be the source of
some confusion when you are providing URLs for the ``SRC_URI`` variable.
Consider the following two URLs: ::
http://git.yoctoproject.org/git/poky;protocol=git
git://git.yoctoproject.org/git/poky;protocol=http
In the former case, the URL is passed to the ``wget`` fetcher, which does not
understand "git". Therefore, the latter case is the correct form since the Git
fetcher does know how to use HTTP as a transport.
Here are some examples that show commonly used mirror definitions: ::
PREMIRRORS ?= "\
bzr://.*/.\* http://somemirror.org/sources/ \\n \
cvs://.*/.\* http://somemirror.org/sources/ \\n \
git://.*/.\* http://somemirror.org/sources/ \\n \
hg://.*/.\* http://somemirror.org/sources/ \\n \
osc://.*/.\* http://somemirror.org/sources/ \\n \
p4://.*/.\* http://somemirror.org/sources/ \\n \
svn://.*/.\* http://somemirror.org/sources/ \\n"
MIRRORS =+ "\
ftp://.*/.\* http://somemirror.org/sources/ \\n \
http://.*/.\* http://somemirror.org/sources/ \\n \
https://.*/.\* http://somemirror.org/sources/ \\n"
It is useful to note that BitBake
supports cross-URLs. It is possible to mirror a Git repository on an
HTTP server as a tarball. This is what the ``git://`` mapping in the
previous example does.
Since network accesses are slow, BitBake maintains a cache of files
downloaded from the network. Any source files that are not local (i.e.
downloaded from the Internet) are placed into the download directory,
which is specified by the :term:`DL_DIR` variable.
File integrity is of key importance for reproducing builds. For
non-local archive downloads, the fetcher code can verify SHA-256 and MD5
checksums to ensure the archives have been downloaded correctly. You can
specify these checksums by using the ``SRC_URI`` variable with the
appropriate varflags as follows: ::
SRC_URI[md5sum] = "value"
SRC_URI[sha256sum] = "value"
You can also specify the checksums as
parameters on the ``SRC_URI`` as shown below: ::
SRC_URI = "http://example.com/foobar.tar.bz2;md5sum=4a8e0f237e961fd7785d19d07fdb994d"
If multiple URIs exist, you can specify the checksums either directly as
in the previous example, or you can name the URLs. The following syntax
shows how you name the URIs: ::
SRC_URI = "http://example.com/foobar.tar.bz2;name=foo"
SRC_URI[foo.md5sum] = 4a8e0f237e961fd7785d19d07fdb994d
After a file has been downloaded and
has had its checksum checked, a ".done" stamp is placed in ``DL_DIR``.
BitBake uses this stamp during subsequent builds to avoid downloading or
comparing a checksum for the file again.
.. note::
It is assumed that local storage is safe from data corruption. If
this were not the case, there would be bigger issues to worry about.
If :term:`BB_STRICT_CHECKSUM` is set, any
download without a checksum triggers an error message. The
:term:`BB_NO_NETWORK` variable can be used to
make any attempted network access a fatal error, which is useful for
checking that mirrors are complete as well as other things.
.. _bb-the-unpack:
The Unpack
==========
The unpack process usually immediately follows the download. For all
URLs except Git URLs, BitBake uses the common ``unpack`` method.
A number of parameters exist that you can specify within the URL to
govern the behavior of the unpack stage:
- *unpack:* Controls whether the URL components are unpacked. If set to
"1", which is the default, the components are unpacked. If set to
"0", the unpack stage leaves the file alone. This parameter is useful
when you want an archive to be copied in and not be unpacked.
- *dos:* Applies to ``.zip`` and ``.jar`` files and specifies whether
to use DOS line ending conversion on text files.
- *basepath:* Instructs the unpack stage to strip the specified
directories from the source path when unpacking.
- *subdir:* Unpacks the specific URL to the specified subdirectory
within the root directory.
The unpack call automatically decompresses and extracts files with ".Z",
".z", ".gz", ".xz", ".zip", ".jar", ".ipk", ".rpm". ".srpm", ".deb" and
".bz2" extensions as well as various combinations of tarball extensions.
As mentioned, the Git fetcher has its own unpack method that is
optimized to work with Git trees. Basically, this method works by
cloning the tree into the final directory. The process is completed
using references so that there is only one central copy of the Git
metadata needed.
.. _bb-fetchers:
Fetchers
========
As mentioned earlier, the URL prefix determines which fetcher submodule
BitBake uses. Each submodule can support different URL parameters, which
are described in the following sections.
.. _local-file-fetcher:
Local file fetcher (``file://``)
--------------------------------
This submodule handles URLs that begin with ``file://``. The filename
you specify within the URL can be either an absolute or relative path to
a file. If the filename is relative, the contents of the
:term:`FILESPATH` variable is used in the same way
``PATH`` is used to find executables. If the file cannot be found, it is
assumed that it is available in :term:`DL_DIR` by the
time the ``download()`` method is called.
If you specify a directory, the entire directory is unpacked.
Here are a couple of example URLs, the first relative and the second
absolute: ::
SRC_URI = "file://relativefile.patch"
SRC_URI = "file:///Users/ich/very_important_software"
.. _http-ftp-fetcher:
HTTP/FTP wget fetcher (``http://``, ``ftp://``, ``https://``)
-------------------------------------------------------------
This fetcher obtains files from web and FTP servers. Internally, the
fetcher uses the wget utility.
The executable and parameters used are specified by the
``FETCHCMD_wget`` variable, which defaults to sensible values. The
fetcher supports a parameter "downloadfilename" that allows the name of
the downloaded file to be specified. Specifying the name of the
downloaded file is useful for avoiding collisions in
:term:`DL_DIR` when dealing with multiple files that
have the same name.
Some example URLs are as follows: ::
SRC_URI = "http://oe.handhelds.org/not_there.aac"
SRC_URI = "ftp://oe.handhelds.org/not_there_as_well.aac"
SRC_URI = "ftp://you@oe.handhelds.org/home/you/secret.plan"
.. note::
Because URL parameters are delimited by semi-colons, this can
introduce ambiguity when parsing URLs that also contain semi-colons,
for example:
::
SRC_URI = "http://abc123.org/git/?p=gcc/gcc.git;a=snapshot;h=a5dd47"
Such URLs should should be modified by replacing semi-colons with '&'
characters:
::
SRC_URI = "http://abc123.org/git/?p=gcc/gcc.git&a=snapshot&h=a5dd47"
In most cases this should work. Treating semi-colons and '&' in
queries identically is recommended by the World Wide Web Consortium
(W3C). Note that due to the nature of the URL, you may have to
specify the name of the downloaded file as well:
::
SRC_URI = "http://abc123.org/git/?p=gcc/gcc.git&a=snapshot&h=a5dd47;downloadfilename=myfile.bz2"
.. _cvs-fetcher:
CVS fetcher (``(cvs://``)
-------------------------
This submodule handles checking out files from the CVS version control
system. You can configure it using a number of different variables:
- :term:`FETCHCMD_cvs <FETCHCMD>`: The name of the executable to use when running
the ``cvs`` command. This name is usually "cvs".
- :term:`SRCDATE`: The date to use when fetching the CVS source code. A
special value of "now" causes the checkout to be updated on every
build.
- :term:`CVSDIR`: Specifies where a temporary
checkout is saved. The location is often ``DL_DIR/cvs``.
- CVS_PROXY_HOST: The name to use as a "proxy=" parameter to the
``cvs`` command.
- CVS_PROXY_PORT: The port number to use as a "proxyport="
parameter to the ``cvs`` command.
As well as the standard username and password URL syntax, you can also
configure the fetcher with various URL parameters:
The supported parameters are as follows:
- *"method":* The protocol over which to communicate with the CVS
server. By default, this protocol is "pserver". If "method" is set to
"ext", BitBake examines the "rsh" parameter and sets ``CVS_RSH``. You
can use "dir" for local directories.
- *"module":* Specifies the module to check out. You must supply this
parameter.
- *"tag":* Describes which CVS TAG should be used for the checkout. By
default, the TAG is empty.
- *"date":* Specifies a date. If no "date" is specified, the
:term:`SRCDATE` of the configuration is used to
checkout a specific date. The special value of "now" causes the
checkout to be updated on every build.
- *"localdir":* Used to rename the module. Effectively, you are
renaming the output directory to which the module is unpacked. You
are forcing the module into a special directory relative to
:term:`CVSDIR`.
- *"rsh":* Used in conjunction with the "method" parameter.
- *"scmdata":* Causes the CVS metadata to be maintained in the tarball
the fetcher creates when set to "keep". The tarball is expanded into
the work directory. By default, the CVS metadata is removed.
- *"fullpath":* Controls whether the resulting checkout is at the
module level, which is the default, or is at deeper paths.
- *"norecurse":* Causes the fetcher to only checkout the specified
directory with no recurse into any subdirectories.
- *"port":* The port to which the CVS server connects.
Some example URLs are as follows: ::
SRC_URI = "cvs://CVSROOT;module=mymodule;tag=some-version;method=ext"
SRC_URI = "cvs://CVSROOT;module=mymodule;date=20060126;localdir=usethat"
.. _svn-fetcher:
Subversion (SVN) Fetcher (``svn://``)
-------------------------------------
This fetcher submodule fetches code from the Subversion source control
system. The executable used is specified by ``FETCHCMD_svn``, which
defaults to "svn". The fetcher's temporary working directory is set by
:term:`SVNDIR`, which is usually ``DL_DIR/svn``.
The supported parameters are as follows:
- *"module":* The name of the svn module to checkout. You must provide
this parameter. You can think of this parameter as the top-level
directory of the repository data you want.
- *"path_spec":* A specific directory in which to checkout the
specified svn module.
- *"protocol":* The protocol to use, which defaults to "svn". If
"protocol" is set to "svn+ssh", the "ssh" parameter is also used.
- *"rev":* The revision of the source code to checkout.
- *"scmdata":* Causes the ".svn" directories to be available during
compile-time when set to "keep". By default, these directories are
removed.
- *"ssh":* An optional parameter used when "protocol" is set to
"svn+ssh". You can use this parameter to specify the ssh program used
by svn.
- *"transportuser":* When required, sets the username for the
transport. By default, this parameter is empty. The transport
username is different than the username used in the main URL, which
is passed to the subversion command.
Following are three examples using svn: ::
SRC_URI = "svn://myrepos/proj1;module=vip;protocol=http;rev=667"
SRC_URI = "svn://myrepos/proj1;module=opie;protocol=svn+ssh"
SRC_URI = "svn://myrepos/proj1;module=trunk;protocol=http;path_spec=${MY_DIR}/proj1"
.. _git-fetcher:
Git Fetcher (``git://``)
------------------------
This fetcher submodule fetches code from the Git source control system.
The fetcher works by creating a bare clone of the remote into
:term:`GITDIR`, which is usually ``DL_DIR/git2``. This
bare clone is then cloned into the work directory during the unpack
stage when a specific tree is checked out. This is done using alternates
and by reference to minimize the amount of duplicate data on the disk
and make the unpack process fast. The executable used can be set with
``FETCHCMD_git``.
This fetcher supports the following parameters:
- *"protocol":* The protocol used to fetch the files. The default is
"git" when a hostname is set. If a hostname is not set, the Git
protocol is "file". You can also use "http", "https", "ssh" and
"rsync".
- *"nocheckout":* Tells the fetcher to not checkout source code when
unpacking when set to "1". Set this option for the URL where there is
a custom routine to checkout code. The default is "0".
- *"rebaseable":* Indicates that the upstream Git repository can be
rebased. You should set this parameter to "1" if revisions can become
detached from branches. In this case, the source mirror tarball is
done per revision, which has a loss of efficiency. Rebasing the
upstream Git repository could cause the current revision to disappear
from the upstream repository. This option reminds the fetcher to
preserve the local cache carefully for future use. The default value
for this parameter is "0".
- *"nobranch":* Tells the fetcher to not check the SHA validation for
the branch when set to "1". The default is "0". Set this option for
the recipe that refers to the commit that is valid for a tag instead
of the branch.
- *"bareclone":* Tells the fetcher to clone a bare clone into the
destination directory without checking out a working tree. Only the
raw Git metadata is provided. This parameter implies the "nocheckout"
parameter as well.
- *"branch":* The branch(es) of the Git tree to clone. If unset, this
is assumed to be "master". The number of branch parameters much match
the number of name parameters.
- *"rev":* The revision to use for the checkout. The default is
"master".
- *"tag":* Specifies a tag to use for the checkout. To correctly
resolve tags, BitBake must access the network. For that reason, tags
are often not used. As far as Git is concerned, the "tag" parameter
behaves effectively the same as the "rev" parameter.
- *"subpath":* Limits the checkout to a specific subpath of the tree.
By default, the whole tree is checked out.
- *"destsuffix":* The name of the path in which to place the checkout.
By default, the path is ``git/``.
- *"usehead":* Enables local ``git://`` URLs to use the current branch
HEAD as the revision for use with ``AUTOREV``. The "usehead"
parameter implies no branch and only works when the transfer protocol
is ``file://``.
Here are some example URLs: ::
SRC_URI = "git://git.oe.handhelds.org/git/vip.git;tag=version-1"
SRC_URI = "git://git.oe.handhelds.org/git/vip.git;protocol=http"
.. _gitsm-fetcher:
Git Submodule Fetcher (``gitsm://``)
------------------------------------
This fetcher submodule inherits from the :ref:`Git
fetcher<bitbake-user-manual/bitbake-user-manual-fetching:git fetcher
(\`\`git://\`\`)>` and extends that fetcher's behavior by fetching a
repository's submodules. :term:`SRC_URI` is passed to the Git fetcher as
described in the :ref:`bitbake-user-manual/bitbake-user-manual-fetching:git
fetcher (\`\`git://\`\`)` section.
.. note::
You must clean a recipe when switching between '``git://``' and
'``gitsm://``' URLs.
The Git Submodules fetcher is not a complete fetcher implementation.
The fetcher has known issues where it does not use the normal source
mirroring infrastructure properly. Further, the submodule sources it
fetches are not visible to the licensing and source archiving
infrastructures.
.. _clearcase-fetcher:
ClearCase Fetcher (``ccrc://``)
-------------------------------
This fetcher submodule fetches code from a
`ClearCase <http://en.wikipedia.org/wiki/Rational_ClearCase>`__
repository.
To use this fetcher, make sure your recipe has proper
:term:`SRC_URI`, :term:`SRCREV`, and
:term:`PV` settings. Here is an example: ::
SRC_URI = "ccrc://cc.example.org/ccrc;vob=/example_vob;module=/example_module"
SRCREV = "EXAMPLE_CLEARCASE_TAG"
PV = "${@d.getVar("SRCREV", False).replace("/", "+")}"
The fetcher uses the ``rcleartool`` or
``cleartool`` remote client, depending on which one is available.
Following are options for the ``SRC_URI`` statement:
- *vob*: The name, which must include the prepending "/" character,
of the ClearCase VOB. This option is required.
- *module*: The module, which must include the prepending "/"
character, in the selected VOB.
.. note::
The module and vob options are combined to create the load rule in the
view config spec. As an example, consider the vob and module values from
the SRC_URI statement at the start of this section. Combining those values
results in the following: ::
load /example_vob/example_module
- *proto*: The protocol, which can be either ``http`` or ``https``.
By default, the fetcher creates a configuration specification. If you
want this specification written to an area other than the default, use
the ``CCASE_CUSTOM_CONFIG_SPEC`` variable in your recipe to define where
the specification is written.
.. note::
the SRCREV loses its functionality if you specify this variable. However,
SRCREV is still used to label the archive after a fetch even though it does
not define what is fetched.
Here are a couple of other behaviors worth mentioning:
- When using ``cleartool``, the login of ``cleartool`` is handled by
the system. The login require no special steps.
- In order to use ``rcleartool`` with authenticated users, an
"rcleartool login" is necessary before using the fetcher.
.. _perforce-fetcher:
Perforce Fetcher (``p4://``)
----------------------------
This fetcher submodule fetches code from the
`Perforce <https://www.perforce.com/>`__ source control system. The
executable used is specified by ``FETCHCMD_p4``, which defaults to "p4".
The fetcher's temporary working directory is set by
:term:`P4DIR`, which defaults to "DL_DIR/p4".
The fetcher does not make use of a perforce client, instead it
relies on ``p4 files`` to retrieve a list of
files and ``p4 print`` to transfer the content
of those files locally.
To use this fetcher, make sure your recipe has proper
:term:`SRC_URI`, :term:`SRCREV`, and
:term:`PV` values. The p4 executable is able to use the
config file defined by your system's ``P4CONFIG`` environment variable
in order to define the Perforce server URL and port, username, and
password if you do not wish to keep those values in a recipe itself. If
you choose not to use ``P4CONFIG``, or to explicitly set variables that
``P4CONFIG`` can contain, you can specify the ``P4PORT`` value, which is
the server's URL and port number, and you can specify a username and
password directly in your recipe within ``SRC_URI``.
Here is an example that relies on ``P4CONFIG`` to specify the server URL
and port, username, and password, and fetches the Head Revision: ::
SRC_URI = "p4://example-depot/main/source/..."
SRCREV = "${AUTOREV}"
PV = "p4-${SRCPV}"
S = "${WORKDIR}/p4"
Here is an example that specifies the server URL and port, username, and
password, and fetches a Revision based on a Label: ::
P4PORT = "tcp:p4server.example.net:1666"
SRC_URI = "p4://user:passwd@example-depot/main/source/..."
SRCREV = "release-1.0"
PV = "p4-${SRCPV}"
S = "${WORKDIR}/p4"
.. note::
You should always set S to "${WORKDIR}/p4" in your recipe.
By default, the fetcher strips the depot location from the local file paths. In
the above example, the content of ``example-depot/main/source/`` will be placed
in ``${WORKDIR}/p4``. For situations where preserving parts of the remote depot
paths locally is desirable, the fetcher supports two parameters:
- *"module":*
The top-level depot location or directory to fetch. The value of this
parameter can also point to a single file within the depot, in which case
the local file path will include the module path.
- *"remotepath":*
When used with the value "``keep``", the fetcher will mirror the full depot
paths locally for the specified location, even in combination with the
``module`` parameter.
Here is an example use of the the ``module`` parameter: ::
SRC_URI = "p4://user:passwd@example-depot/main;module=source/..."
In this case, the content of the top-level directory ``source/`` will be fetched
to ``${P4DIR}``, including the directory itself. The top-level directory will
be accesible at ``${P4DIR}/source/``.
Here is an example use of the the ``remotepath`` parameter: ::
SRC_URI = "p4://user:passwd@example-depot/main;module=source/...;remotepath=keep"
In this case, the content of the top-level directory ``source/`` will be fetched
to ``${P4DIR}``, but the complete depot paths will be mirrored locally. The
top-level directory will be accessible at
``${P4DIR}/example-depot/main/source/``.
.. _repo-fetcher:
Repo Fetcher (``repo://``)
--------------------------
This fetcher submodule fetches code from ``google-repo`` source control
system. The fetcher works by initiating and syncing sources of the
repository into :term:`REPODIR`, which is usually
``${DL_DIR}/repo``.
This fetcher supports the following parameters:
- *"protocol":* Protocol to fetch the repository manifest (default:
git).
- *"branch":* Branch or tag of repository to get (default: master).
- *"manifest":* Name of the manifest file (default: ``default.xml``).
Here are some example URLs: ::
SRC_URI = "repo://REPOROOT;protocol=git;branch=some_branch;manifest=my_manifest.xml"
SRC_URI = "repo://REPOROOT;protocol=file;branch=some_branch;manifest=my_manifest.xml"
.. _az-fetcher:
Az Fetcher (``az://``)
--------------------------
This submodule fetches data from an
`Azure Storage account <https://docs.microsoft.com/en-us/azure/storage/>`__ ,
it inherits its functionality from the HTTP wget fetcher, but modifies its
behavior to accomodate the usage of a
`Shared Access Signature (SAS) <https://docs.microsoft.com/en-us/azure/storage/common/storage-sas-overview>`__
for non-public data.
Such functionality is set by the variable:
- :term:`AZ_SAS`: The Azure Storage Shared Access Signature provides secure
delegate access to resources, if this variable is set, the Az Fetcher will
use it when fetching artifacts from the cloud.
You can specify the AZ_SAS variable as shown below: ::
AZ_SAS = "se=2021-01-01&sp=r&sv=2018-11-09&sr=c&skoid=<skoid>&sig=<signature>"
Here is an example URL: ::
SRC_URI = "az://<azure-storage-account>.blob.core.windows.net/<foo_container>/<bar_file>"
It can also be used when setting mirrors definitions using the :term:`PREMIRRORS` variable.
Other Fetchers
--------------
Fetch submodules also exist for the following:
- Bazaar (``bzr://``)
- Mercurial (``hg://``)
- npm (``npm://``)
- OSC (``osc://``)
- Secure FTP (``sftp://``)
- Secure Shell (``ssh://``)
- Trees using Git Annex (``gitannex://``)
No documentation currently exists for these lesser used fetcher
submodules. However, you might find the code helpful and readable.
Auto Revisions
==============
We need to document ``AUTOREV`` and ``SRCREV_FORMAT`` here.

View File

@@ -0,0 +1,865 @@
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<chapter>
<title>File Download Support</title>
<para>
BitBake's fetch module is a standalone piece of library code
that deals with the intricacies of downloading source code
and files from remote systems.
Fetching source code is one of the cornerstones of building software.
As such, this module forms an important part of BitBake.
</para>
<para>
The current fetch module is called "fetch2" and refers to the
fact that it is the second major version of the API.
The original version is obsolete and has been removed from the codebase.
Thus, in all cases, "fetch" refers to "fetch2" in this
manual.
</para>
<section id='the-download-fetch'>
<title>The Download (Fetch)</title>
<para>
BitBake takes several steps when fetching source code or files.
The fetcher codebase deals with two distinct processes in order:
obtaining the files from somewhere (cached or otherwise)
and then unpacking those files into a specific location and
perhaps in a specific way.
Getting and unpacking the files is often optionally followed
by patching.
Patching, however, is not covered by this module.
</para>
<para>
The code to execute the first part of this process, a fetch,
looks something like the following:
<literallayout class='monospaced'>
src_uri = (d.getVar('SRC_URI') or "").split()
fetcher = bb.fetch2.Fetch(src_uri, d)
fetcher.download()
</literallayout>
This code sets up an instance of the fetch class.
The instance uses a space-separated list of URLs from the
<link linkend='var-SRC_URI'><filename>SRC_URI</filename></link>
variable and then calls the <filename>download</filename>
method to download the files.
</para>
<para>
The instantiation of the fetch class is usually followed by:
<literallayout class='monospaced'>
rootdir = l.getVar('WORKDIR')
fetcher.unpack(rootdir)
</literallayout>
This code unpacks the downloaded files to the
specified by <filename>WORKDIR</filename>.
<note>
For convenience, the naming in these examples matches
the variables used by OpenEmbedded.
If you want to see the above code in action, examine
the OpenEmbedded class file <filename>base.bbclass</filename>.
</note>
The <filename>SRC_URI</filename> and <filename>WORKDIR</filename>
variables are not hardcoded into the fetcher, since those fetcher
methods can be (and are) called with different variable names.
In OpenEmbedded for example, the shared state (sstate) code uses
the fetch module to fetch the sstate files.
</para>
<para>
When the <filename>download()</filename> method is called,
BitBake tries to resolve the URLs by looking for source files
in a specific search order:
<itemizedlist>
<listitem><para><emphasis>Pre-mirror Sites:</emphasis>
BitBake first uses pre-mirrors to try and find source files.
These locations are defined using the
<link linkend='var-PREMIRRORS'><filename>PREMIRRORS</filename></link>
variable.
</para></listitem>
<listitem><para><emphasis>Source URI:</emphasis>
If pre-mirrors fail, BitBake uses the original URL (e.g from
<filename>SRC_URI</filename>).
</para></listitem>
<listitem><para><emphasis>Mirror Sites:</emphasis>
If fetch failures occur, BitBake next uses mirror locations as
defined by the
<link linkend='var-MIRRORS'><filename>MIRRORS</filename></link>
variable.
</para></listitem>
</itemizedlist>
</para>
<para>
For each URL passed to the fetcher, the fetcher
calls the submodule that handles that particular URL type.
This behavior can be the source of some confusion when you
are providing URLs for the <filename>SRC_URI</filename>
variable.
Consider the following two URLs:
<literallayout class='monospaced'>
http://git.yoctoproject.org/git/poky;protocol=git
git://git.yoctoproject.org/git/poky;protocol=http
</literallayout>
In the former case, the URL is passed to the
<filename>wget</filename> fetcher, which does not
understand "git".
Therefore, the latter case is the correct form since the
Git fetcher does know how to use HTTP as a transport.
</para>
<para>
Here are some examples that show commonly used mirror
definitions:
<literallayout class='monospaced'>
PREMIRRORS ?= "\
bzr://.*/.* http://somemirror.org/sources/ \n \
cvs://.*/.* http://somemirror.org/sources/ \n \
git://.*/.* http://somemirror.org/sources/ \n \
hg://.*/.* http://somemirror.org/sources/ \n \
osc://.*/.* http://somemirror.org/sources/ \n \
p4://.*/.* http://somemirror.org/sources/ \n \
svn://.*/.* http://somemirror.org/sources/ \n"
MIRRORS =+ "\
ftp://.*/.* http://somemirror.org/sources/ \n \
http://.*/.* http://somemirror.org/sources/ \n \
https://.*/.* http://somemirror.org/sources/ \n"
</literallayout>
It is useful to note that BitBake supports
cross-URLs.
It is possible to mirror a Git repository on an HTTP
server as a tarball.
This is what the <filename>git://</filename> mapping in
the previous example does.
</para>
<para>
Since network accesses are slow, Bitbake maintains a
cache of files downloaded from the network.
Any source files that are not local (i.e.
downloaded from the Internet) are placed into the download
directory, which is specified by the
<link linkend='var-DL_DIR'><filename>DL_DIR</filename></link>
variable.
</para>
<para>
File integrity is of key importance for reproducing builds.
For non-local archive downloads, the fetcher code can verify
SHA-256 and MD5 checksums to ensure the archives have been
downloaded correctly.
You can specify these checksums by using the
<filename>SRC_URI</filename> variable with the appropriate
varflags as follows:
<literallayout class='monospaced'>
SRC_URI[md5sum] = "<replaceable>value</replaceable>"
SRC_URI[sha256sum] = "<replaceable>value</replaceable>"
</literallayout>
You can also specify the checksums as parameters on the
<filename>SRC_URI</filename> as shown below:
<literallayout class='monospaced'>
SRC_URI = "http://example.com/foobar.tar.bz2;md5sum=4a8e0f237e961fd7785d19d07fdb994d"
</literallayout>
If multiple URIs exist, you can specify the checksums either
directly as in the previous example, or you can name the URLs.
The following syntax shows how you name the URIs:
<literallayout class='monospaced'>
SRC_URI = "http://example.com/foobar.tar.bz2;name=foo"
SRC_URI[foo.md5sum] = 4a8e0f237e961fd7785d19d07fdb994d
</literallayout>
After a file has been downloaded and has had its checksum checked,
a ".done" stamp is placed in <filename>DL_DIR</filename>.
BitBake uses this stamp during subsequent builds to avoid
downloading or comparing a checksum for the file again.
<note>
It is assumed that local storage is safe from data corruption.
If this were not the case, there would be bigger issues to worry about.
</note>
</para>
<para>
If
<link linkend='var-BB_STRICT_CHECKSUM'><filename>BB_STRICT_CHECKSUM</filename></link>
is set, any download without a checksum triggers an
error message.
The
<link linkend='var-BB_NO_NETWORK'><filename>BB_NO_NETWORK</filename></link>
variable can be used to make any attempted network access a fatal
error, which is useful for checking that mirrors are complete
as well as other things.
</para>
</section>
<section id='bb-the-unpack'>
<title>The Unpack</title>
<para>
The unpack process usually immediately follows the download.
For all URLs except Git URLs, BitBake uses the common
<filename>unpack</filename> method.
</para>
<para>
A number of parameters exist that you can specify within the
URL to govern the behavior of the unpack stage:
<itemizedlist>
<listitem><para><emphasis>unpack:</emphasis>
Controls whether the URL components are unpacked.
If set to "1", which is the default, the components
are unpacked.
If set to "0", the unpack stage leaves the file alone.
This parameter is useful when you want an archive to be
copied in and not be unpacked.
</para></listitem>
<listitem><para><emphasis>dos:</emphasis>
Applies to <filename>.zip</filename> and
<filename>.jar</filename> files and specifies whether to
use DOS line ending conversion on text files.
</para></listitem>
<listitem><para><emphasis>basepath:</emphasis>
Instructs the unpack stage to strip the specified
directories from the source path when unpacking.
</para></listitem>
<listitem><para><emphasis>subdir:</emphasis>
Unpacks the specific URL to the specified subdirectory
within the root directory.
</para></listitem>
</itemizedlist>
The unpack call automatically decompresses and extracts files
with ".Z", ".z", ".gz", ".xz", ".zip", ".jar", ".ipk", ".rpm".
".srpm", ".deb" and ".bz2" extensions as well as various combinations
of tarball extensions.
</para>
<para>
As mentioned, the Git fetcher has its own unpack method that
is optimized to work with Git trees.
Basically, this method works by cloning the tree into the final
directory.
The process is completed using references so that there is
only one central copy of the Git metadata needed.
</para>
</section>
<section id='bb-fetchers'>
<title>Fetchers</title>
<para>
As mentioned earlier, the URL prefix determines which
fetcher submodule BitBake uses.
Each submodule can support different URL parameters,
which are described in the following sections.
</para>
<section id='local-file-fetcher'>
<title>Local file fetcher (<filename>file://</filename>)</title>
<para>
This submodule handles URLs that begin with
<filename>file://</filename>.
The filename you specify within the URL can be
either an absolute or relative path to a file.
If the filename is relative, the contents of the
<link linkend='var-FILESPATH'><filename>FILESPATH</filename></link>
variable is used in the same way
<filename>PATH</filename> is used to find executables.
If the file cannot be found, it is assumed that it is available in
<link linkend='var-DL_DIR'><filename>DL_DIR</filename></link>
by the time the <filename>download()</filename> method is called.
</para>
<para>
If you specify a directory, the entire directory is
unpacked.
</para>
<para>
Here are a couple of example URLs, the first relative and
the second absolute:
<literallayout class='monospaced'>
SRC_URI = "file://relativefile.patch"
SRC_URI = "file:///Users/ich/very_important_software"
</literallayout>
</para>
</section>
<section id='http-ftp-fetcher'>
<title>HTTP/FTP wget fetcher (<filename>http://</filename>, <filename>ftp://</filename>, <filename>https://</filename>)</title>
<para>
This fetcher obtains files from web and FTP servers.
Internally, the fetcher uses the wget utility.
</para>
<para>
The executable and parameters used are specified by the
<filename>FETCHCMD_wget</filename> variable, which defaults
to sensible values.
The fetcher supports a parameter "downloadfilename" that
allows the name of the downloaded file to be specified.
Specifying the name of the downloaded file is useful
for avoiding collisions in
<link linkend='var-DL_DIR'><filename>DL_DIR</filename></link>
when dealing with multiple files that have the same name.
</para>
<para>
Some example URLs are as follows:
<literallayout class='monospaced'>
SRC_URI = "http://oe.handhelds.org/not_there.aac"
SRC_URI = "ftp://oe.handhelds.org/not_there_as_well.aac"
SRC_URI = "ftp://you@oe.handhelds.org/home/you/secret.plan"
</literallayout>
</para>
<note>
Because URL parameters are delimited by semi-colons, this can
introduce ambiguity when parsing URLs that also contain semi-colons,
for example:
<literallayout class='monospaced'>
SRC_URI = "http://abc123.org/git/?p=gcc/gcc.git;a=snapshot;h=a5dd47"
</literallayout>
Such URLs should should be modified by replacing semi-colons with '&amp;' characters:
<literallayout class='monospaced'>
SRC_URI = "http://abc123.org/git/?p=gcc/gcc.git&amp;a=snapshot&amp;h=a5dd47"
</literallayout>
In most cases this should work. Treating semi-colons and '&amp;' in queries
identically is recommended by the World Wide Web Consortium (W3C).
Note that due to the nature of the URL, you may have to specify the name
of the downloaded file as well:
<literallayout class='monospaced'>
SRC_URI = "http://abc123.org/git/?p=gcc/gcc.git&amp;a=snapshot&amp;h=a5dd47;downloadfilename=myfile.bz2"
</literallayout>
</note>
</section>
<section id='cvs-fetcher'>
<title>CVS fetcher (<filename>(cvs://</filename>)</title>
<para>
This submodule handles checking out files from the
CVS version control system.
You can configure it using a number of different variables:
<itemizedlist>
<listitem><para><emphasis><filename>FETCHCMD_cvs</filename>:</emphasis>
The name of the executable to use when running
the <filename>cvs</filename> command.
This name is usually "cvs".
</para></listitem>
<listitem><para><emphasis><filename>SRCDATE</filename>:</emphasis>
The date to use when fetching the CVS source code.
A special value of "now" causes the checkout to
be updated on every build.
</para></listitem>
<listitem><para><emphasis><link linkend='var-CVSDIR'><filename>CVSDIR</filename></link>:</emphasis>
Specifies where a temporary checkout is saved.
The location is often <filename>DL_DIR/cvs</filename>.
</para></listitem>
<listitem><para><emphasis><filename>CVS_PROXY_HOST</filename>:</emphasis>
The name to use as a "proxy=" parameter to the
<filename>cvs</filename> command.
</para></listitem>
<listitem><para><emphasis><filename>CVS_PROXY_PORT</filename>:</emphasis>
The port number to use as a "proxyport=" parameter to
the <filename>cvs</filename> command.
</para></listitem>
</itemizedlist>
As well as the standard username and password URL syntax,
you can also configure the fetcher with various URL parameters:
</para>
<para>
The supported parameters are as follows:
<itemizedlist>
<listitem><para><emphasis>"method":</emphasis>
The protocol over which to communicate with the CVS
server.
By default, this protocol is "pserver".
If "method" is set to "ext", BitBake examines the
"rsh" parameter and sets <filename>CVS_RSH</filename>.
You can use "dir" for local directories.
</para></listitem>
<listitem><para><emphasis>"module":</emphasis>
Specifies the module to check out.
You must supply this parameter.
</para></listitem>
<listitem><para><emphasis>"tag":</emphasis>
Describes which CVS TAG should be used for
the checkout.
By default, the TAG is empty.
</para></listitem>
<listitem><para><emphasis>"date":</emphasis>
Specifies a date.
If no "date" is specified, the
<link linkend='var-SRCDATE'><filename>SRCDATE</filename></link>
of the configuration is used to checkout a specific date.
The special value of "now" causes the checkout to be
updated on every build.
</para></listitem>
<listitem><para><emphasis>"localdir":</emphasis>
Used to rename the module.
Effectively, you are renaming the output directory
to which the module is unpacked.
You are forcing the module into a special
directory relative to
<link linkend='var-CVSDIR'><filename>CVSDIR</filename></link>.
</para></listitem>
<listitem><para><emphasis>"rsh"</emphasis>
Used in conjunction with the "method" parameter.
</para></listitem>
<listitem><para><emphasis>"scmdata":</emphasis>
Causes the CVS metadata to be maintained in the tarball
the fetcher creates when set to "keep".
The tarball is expanded into the work directory.
By default, the CVS metadata is removed.
</para></listitem>
<listitem><para><emphasis>"fullpath":</emphasis>
Controls whether the resulting checkout is at the
module level, which is the default, or is at deeper
paths.
</para></listitem>
<listitem><para><emphasis>"norecurse":</emphasis>
Causes the fetcher to only checkout the specified
directory with no recurse into any subdirectories.
</para></listitem>
<listitem><para><emphasis>"port":</emphasis>
The port to which the CVS server connects.
</para></listitem>
</itemizedlist>
Some example URLs are as follows:
<literallayout class='monospaced'>
SRC_URI = "cvs://CVSROOT;module=mymodule;tag=some-version;method=ext"
SRC_URI = "cvs://CVSROOT;module=mymodule;date=20060126;localdir=usethat"
</literallayout>
</para>
</section>
<section id='svn-fetcher'>
<title>Subversion (SVN) Fetcher (<filename>svn://</filename>)</title>
<para>
This fetcher submodule fetches code from the
Subversion source control system.
The executable used is specified by
<filename>FETCHCMD_svn</filename>, which defaults
to "svn".
The fetcher's temporary working directory is set by
<link linkend='var-SVNDIR'><filename>SVNDIR</filename></link>,
which is usually <filename>DL_DIR/svn</filename>.
</para>
<para>
The supported parameters are as follows:
<itemizedlist>
<listitem><para><emphasis>"module":</emphasis>
The name of the svn module to checkout.
You must provide this parameter.
You can think of this parameter as the top-level
directory of the repository data you want.
</para></listitem>
<listitem><para><emphasis>"path_spec":</emphasis>
A specific directory in which to checkout the
specified svn module.
</para></listitem>
<listitem><para><emphasis>"protocol":</emphasis>
The protocol to use, which defaults to "svn".
If "protocol" is set to "svn+ssh", the "ssh"
parameter is also used.
</para></listitem>
<listitem><para><emphasis>"rev":</emphasis>
The revision of the source code to checkout.
</para></listitem>
<listitem><para><emphasis>"scmdata":</emphasis>
Causes the “.svn” directories to be available during
compile-time when set to "keep".
By default, these directories are removed.
</para></listitem>
<listitem><para><emphasis>"ssh":</emphasis>
An optional parameter used when "protocol" is set
to "svn+ssh".
You can use this parameter to specify the ssh
program used by svn.
</para></listitem>
<listitem><para><emphasis>"transportuser":</emphasis>
When required, sets the username for the transport.
By default, this parameter is empty.
The transport username is different than the username
used in the main URL, which is passed to the subversion
command.
</para></listitem>
</itemizedlist>
Following are three examples using svn:
<literallayout class='monospaced'>
SRC_URI = "svn://myrepos/proj1;module=vip;protocol=http;rev=667"
SRC_URI = "svn://myrepos/proj1;module=opie;protocol=svn+ssh"
SRC_URI = "svn://myrepos/proj1;module=trunk;protocol=http;path_spec=${MY_DIR}/proj1"
</literallayout>
</para>
</section>
<section id='git-fetcher'>
<title>Git Fetcher (<filename>git://</filename>)</title>
<para>
This fetcher submodule fetches code from the Git
source control system.
The fetcher works by creating a bare clone of the
remote into
<link linkend='var-GITDIR'><filename>GITDIR</filename></link>,
which is usually <filename>DL_DIR/git2</filename>.
This bare clone is then cloned into the work directory during the
unpack stage when a specific tree is checked out.
This is done using alternates and by reference to
minimize the amount of duplicate data on the disk and
make the unpack process fast.
The executable used can be set with
<filename>FETCHCMD_git</filename>.
</para>
<para>
This fetcher supports the following parameters:
<itemizedlist>
<listitem><para><emphasis>"protocol":</emphasis>
The protocol used to fetch the files.
The default is "git" when a hostname is set.
If a hostname is not set, the Git protocol is "file".
You can also use "http", "https", "ssh" and "rsync".
</para></listitem>
<listitem><para><emphasis>"nocheckout":</emphasis>
Tells the fetcher to not checkout source code when
unpacking when set to "1".
Set this option for the URL where there is a custom
routine to checkout code.
The default is "0".
</para></listitem>
<listitem><para><emphasis>"rebaseable":</emphasis>
Indicates that the upstream Git repository can be rebased.
You should set this parameter to "1" if
revisions can become detached from branches.
In this case, the source mirror tarball is done per
revision, which has a loss of efficiency.
Rebasing the upstream Git repository could cause the
current revision to disappear from the upstream repository.
This option reminds the fetcher to preserve the local cache
carefully for future use.
The default value for this parameter is "0".
</para></listitem>
<listitem><para><emphasis>"nobranch":</emphasis>
Tells the fetcher to not check the SHA validation
for the branch when set to "1".
The default is "0".
Set this option for the recipe that refers to
the commit that is valid for a tag instead of
the branch.
</para></listitem>
<listitem><para><emphasis>"bareclone":</emphasis>
Tells the fetcher to clone a bare clone into the
destination directory without checking out a working tree.
Only the raw Git metadata is provided.
This parameter implies the "nocheckout" parameter as well.
</para></listitem>
<listitem><para><emphasis>"branch":</emphasis>
The branch(es) of the Git tree to clone.
If unset, this is assumed to be "master".
The number of branch parameters much match the number of
name parameters.
</para></listitem>
<listitem><para><emphasis>"rev":</emphasis>
The revision to use for the checkout.
The default is "master".
</para></listitem>
<listitem><para><emphasis>"tag":</emphasis>
Specifies a tag to use for the checkout.
To correctly resolve tags, BitBake must access the
network.
For that reason, tags are often not used.
As far as Git is concerned, the "tag" parameter behaves
effectively the same as the "rev" parameter.
</para></listitem>
<listitem><para><emphasis>"subpath":</emphasis>
Limits the checkout to a specific subpath of the tree.
By default, the whole tree is checked out.
</para></listitem>
<listitem><para><emphasis>"destsuffix":</emphasis>
The name of the path in which to place the checkout.
By default, the path is <filename>git/</filename>.
</para></listitem>
<listitem><para><emphasis>"usehead":</emphasis>
Enables local <filename>git://</filename> URLs to use the
current branch HEAD as the revision for use with
<filename>AUTOREV</filename>.
The "usehead" parameter implies no branch and only works
when the transfer protocol is
<filename>file://</filename>.
</para></listitem>
</itemizedlist>
Here are some example URLs:
<literallayout class='monospaced'>
SRC_URI = "git://git.oe.handhelds.org/git/vip.git;tag=version-1"
SRC_URI = "git://git.oe.handhelds.org/git/vip.git;protocol=http"
</literallayout>
</para>
</section>
<section id='gitsm-fetcher'>
<title>Git Submodule Fetcher (<filename>gitsm://</filename>)</title>
<para>
This fetcher submodule inherits from the
<link linkend='git-fetcher'>Git fetcher</link> and extends
that fetcher's behavior by fetching a repository's submodules.
<link linkend='var-SRC_URI'><filename>SRC_URI</filename></link>
is passed to the Git fetcher as described in the
"<link linkend='git-fetcher'>Git Fetcher (<filename>git://</filename>)</link>"
section.
<note>
<title>Notes and Warnings</title>
<para>
You must clean a recipe when switching between
'<filename>git://</filename>' and
'<filename>gitsm://</filename>' URLs.
</para>
<para>
The Git Submodules fetcher is not a complete fetcher
implementation.
The fetcher has known issues where it does not use the
normal source mirroring infrastructure properly. Further,
the submodule sources it fetches are not visible to the
licensing and source archiving infrastructures.
</para>
</note>
</para>
</section>
<section id='clearcase-fetcher'>
<title>ClearCase Fetcher (<filename>ccrc://</filename>)</title>
<para>
This fetcher submodule fetches code from a
<ulink url='http://en.wikipedia.org/wiki/Rational_ClearCase'>ClearCase</ulink>
repository.
</para>
<para>
To use this fetcher, make sure your recipe has proper
<link linkend='var-SRC_URI'><filename>SRC_URI</filename></link>,
<link linkend='var-SRCREV'><filename>SRCREV</filename></link>, and
<link linkend='var-PV'><filename>PV</filename></link> settings.
Here is an example:
<literallayout class='monospaced'>
SRC_URI = "ccrc://cc.example.org/ccrc;vob=/example_vob;module=/example_module"
SRCREV = "EXAMPLE_CLEARCASE_TAG"
PV = "${@d.getVar("SRCREV", False).replace("/", "+")}"
</literallayout>
The fetcher uses the <filename>rcleartool</filename> or
<filename>cleartool</filename> remote client, depending on
which one is available.
</para>
<para>
Following are options for the <filename>SRC_URI</filename>
statement:
<itemizedlist>
<listitem><para><emphasis><filename>vob</filename></emphasis>:
The name, which must include the
prepending "/" character, of the ClearCase VOB.
This option is required.
</para></listitem>
<listitem><para><emphasis><filename>module</filename></emphasis>:
The module, which must include the
prepending "/" character, in the selected VOB.
<note>
The <filename>module</filename> and <filename>vob</filename>
options are combined to create the <filename>load</filename> rule in
the view config spec.
As an example, consider the <filename>vob</filename> and
<filename>module</filename> values from the
<filename>SRC_URI</filename> statement at the start of this section.
Combining those values results in the following:
<literallayout class='monospaced'>
load /example_vob/example_module
</literallayout>
</note>
</para></listitem>
<listitem><para><emphasis><filename>proto</filename></emphasis>:
The protocol, which can be either <filename>http</filename> or
<filename>https</filename>.
</para></listitem>
</itemizedlist>
</para>
<para>
By default, the fetcher creates a configuration specification.
If you want this specification written to an area other than the default,
use the <filename>CCASE_CUSTOM_CONFIG_SPEC</filename> variable
in your recipe to define where the specification is written.
<note>
the <filename>SRCREV</filename> loses its functionality if you
specify this variable.
However, <filename>SRCREV</filename> is still used to label the
archive after a fetch even though it does not define what is
fetched.
</note>
</para>
<para>
Here are a couple of other behaviors worth mentioning:
<itemizedlist>
<listitem><para>
When using <filename>cleartool</filename>, the login of
<filename>cleartool</filename> is handled by the system.
The login require no special steps.
</para></listitem>
<listitem><para>
In order to use <filename>rcleartool</filename> with authenticated
users, an "rcleartool login" is necessary before using the fetcher.
</para></listitem>
</itemizedlist>
</para>
</section>
<section id='perforce-fetcher'>
<title>Perforce Fetcher (<filename>p4://</filename>)</title>
<para>
This fetcher submodule fetches code from the
<ulink url='https://www.perforce.com/'>Perforce</ulink>
source control system.
The executable used is specified by
<filename>FETCHCMD_p4</filename>, which defaults
to "p4".
The fetcher's temporary working directory is set by
<link linkend='var-P4DIR'><filename>P4DIR</filename></link>,
which defaults to "DL_DIR/p4".
</para>
<para>
To use this fetcher, make sure your recipe has proper
<link linkend='var-SRC_URI'><filename>SRC_URI</filename></link>,
<link linkend='var-SRCREV'><filename>SRCREV</filename></link>, and
<link linkend='var-PV'><filename>PV</filename></link> values.
The p4 executable is able to use the config file defined by your
system's <filename>P4CONFIG</filename> environment variable in
order to define the Perforce server URL and port, username, and
password if you do not wish to keep those values in a recipe
itself.
If you choose not to use <filename>P4CONFIG</filename>,
or to explicitly set variables that <filename>P4CONFIG</filename>
can contain, you can specify the <filename>P4PORT</filename> value,
which is the server's URL and port number, and you can
specify a username and password directly in your recipe within
<filename>SRC_URI</filename>.
</para>
<para>
Here is an example that relies on <filename>P4CONFIG</filename>
to specify the server URL and port, username, and password, and
fetches the Head Revision:
<literallayout class='monospaced'>
SRC_URI = "p4://example-depot/main/source/..."
SRCREV = "${AUTOREV}"
PV = "p4-${SRCPV}"
S = "${WORKDIR}/p4"
</literallayout>
</para>
<para>
Here is an example that specifies the server URL and port,
username, and password, and fetches a Revision based on a Label:
<literallayout class='monospaced'>
P4PORT = "tcp:p4server.example.net:1666"
SRC_URI = "p4://user:passwd@example-depot/main/source/..."
SRCREV = "release-1.0"
PV = "p4-${SRCPV}"
S = "${WORKDIR}/p4"
</literallayout>
<note>
You should always set <filename>S</filename>
to <filename>"${WORKDIR}/p4"</filename> in your recipe.
</note>
</para>
</section>
<section id='repo-fetcher'>
<title>Repo Fetcher (<filename>repo://</filename>)</title>
<para>
This fetcher submodule fetches code from
<filename>google-repo</filename> source control system.
The fetcher works by initiating and syncing sources of the
repository into
<link linkend='var-REPODIR'><filename>REPODIR</filename></link>,
which is usually
<link linkend='var-DL_DIR'><filename>DL_DIR</filename></link><filename>/repo</filename>.
</para>
<para>
This fetcher supports the following parameters:
<itemizedlist>
<listitem><para>
<emphasis>"protocol":</emphasis>
Protocol to fetch the repository manifest (default: git).
</para></listitem>
<listitem><para>
<emphasis>"branch":</emphasis>
Branch or tag of repository to get (default: master).
</para></listitem>
<listitem><para>
<emphasis>"manifest":</emphasis>
Name of the manifest file (default: <filename>default.xml</filename>).
</para></listitem>
</itemizedlist>
Here are some example URLs:
<literallayout class='monospaced'>
SRC_URI = "repo://REPOROOT;protocol=git;branch=some_branch;manifest=my_manifest.xml"
SRC_URI = "repo://REPOROOT;protocol=file;branch=some_branch;manifest=my_manifest.xml"
</literallayout>
</para>
</section>
<section id='other-fetchers'>
<title>Other Fetchers</title>
<para>
Fetch submodules also exist for the following:
<itemizedlist>
<listitem><para>
Bazaar (<filename>bzr://</filename>)
</para></listitem>
<listitem><para>
Trees using Git Annex (<filename>gitannex://</filename>)
</para></listitem>
<listitem><para>
Secure FTP (<filename>sftp://</filename>)
</para></listitem>
<listitem><para>
Secure Shell (<filename>ssh://</filename>)
</para></listitem>
<listitem><para>
OSC (<filename>osc://</filename>)
</para></listitem>
<listitem><para>
Mercurial (<filename>hg://</filename>)
</para></listitem>
</itemizedlist>
No documentation currently exists for these lesser used
fetcher submodules.
However, you might find the code helpful and readable.
</para>
</section>
</section>
<section id='auto-revisions'>
<title>Auto Revisions</title>
<para>
We need to document <filename>AUTOREV</filename> and
<filename>SRCREV_FORMAT</filename> here.
</para>
</section>
</chapter>

View File

@@ -1,415 +0,0 @@
.. SPDX-License-Identifier: CC-BY-2.5
===================
Hello World Example
===================
BitBake Hello World
===================
The simplest example commonly used to demonstrate any new programming
language or tool is the "`Hello
World <http://en.wikipedia.org/wiki/Hello_world_program>`__" example.
This appendix demonstrates, in tutorial form, Hello World within the
context of BitBake. The tutorial describes how to create a new project
and the applicable metadata files necessary to allow BitBake to build
it.
Obtaining BitBake
=================
See the :ref:`bitbake-user-manual/bitbake-user-manual-hello:obtaining bitbake` section for
information on how to obtain BitBake. Once you have the source code on
your machine, the BitBake directory appears as follows: ::
$ ls -al
total 100
drwxrwxr-x. 9 wmat wmat 4096 Jan 31 13:44 .
drwxrwxr-x. 3 wmat wmat 4096 Feb 4 10:45 ..
-rw-rw-r--. 1 wmat wmat 365 Nov 26 04:55 AUTHORS
drwxrwxr-x. 2 wmat wmat 4096 Nov 26 04:55 bin
drwxrwxr-x. 4 wmat wmat 4096 Jan 31 13:44 build
-rw-rw-r--. 1 wmat wmat 16501 Nov 26 04:55 ChangeLog
drwxrwxr-x. 2 wmat wmat 4096 Nov 26 04:55 classes
drwxrwxr-x. 2 wmat wmat 4096 Nov 26 04:55 conf
drwxrwxr-x. 3 wmat wmat 4096 Nov 26 04:55 contrib
-rw-rw-r--. 1 wmat wmat 17987 Nov 26 04:55 COPYING
drwxrwxr-x. 3 wmat wmat 4096 Nov 26 04:55 doc
-rw-rw-r--. 1 wmat wmat 69 Nov 26 04:55 .gitignore
-rw-rw-r--. 1 wmat wmat 849 Nov 26 04:55 HEADER
drwxrwxr-x. 5 wmat wmat 4096 Jan 31 13:44 lib
-rw-rw-r--. 1 wmat wmat 195 Nov 26 04:55 MANIFEST.in
-rw-rw-r--. 1 wmat wmat 2887 Nov 26 04:55 TODO
At this point, you should have BitBake cloned to a directory that
matches the previous listing except for dates and user names.
Setting Up the BitBake Environment
==================================
First, you need to be sure that you can run BitBake. Set your working
directory to where your local BitBake files are and run the following
command: ::
$ ./bin/bitbake --version
BitBake Build Tool Core version 1.23.0, bitbake version 1.23.0
The console output tells you what version
you are running.
The recommended method to run BitBake is from a directory of your
choice. To be able to run BitBake from any directory, you need to add
the executable binary to your binary to your shell's environment
``PATH`` variable. First, look at your current ``PATH`` variable by
entering the following: ::
$ echo $PATH
Next, add the directory location
for the BitBake binary to the ``PATH``. Here is an example that adds the
``/home/scott-lenovo/bitbake/bin`` directory to the front of the
``PATH`` variable: ::
$ export PATH=/home/scott-lenovo/bitbake/bin:$PATH
You should now be able to enter the ``bitbake`` command from the command
line while working from any directory.
The Hello World Example
=======================
The overall goal of this exercise is to build a complete "Hello World"
example utilizing task and layer concepts. Because this is how modern
projects such as OpenEmbedded and the Yocto Project utilize BitBake, the
example provides an excellent starting point for understanding BitBake.
To help you understand how to use BitBake to build targets, the example
starts with nothing but the ``bitbake`` command, which causes BitBake to
fail and report problems. The example progresses by adding pieces to the
build to eventually conclude with a working, minimal "Hello World"
example.
While every attempt is made to explain what is happening during the
example, the descriptions cannot cover everything. You can find further
information throughout this manual. Also, you can actively participate
in the :oe_lists:`/g/bitbake-devel`
discussion mailing list about the BitBake build tool.
.. note::
This example was inspired by and drew heavily from
`Mailing List post - The BitBake equivalent of "Hello, World!"
<http://www.mail-archive.com/yocto@yoctoproject.org/msg09379.html>`_.
As stated earlier, the goal of this example is to eventually compile
"Hello World". However, it is unknown what BitBake needs and what you
have to provide in order to achieve that goal. Recall that BitBake
utilizes three types of metadata files:
:ref:`bitbake-user-manual/bitbake-user-manual-intro:configuration files`,
:ref:`bitbake-user-manual/bitbake-user-manual-intro:classes`, and
:ref:`bitbake-user-manual/bitbake-user-manual-intro:recipes`.
But where do they go? How does BitBake find
them? BitBake's error messaging helps you answer these types of
questions and helps you better understand exactly what is going on.
Following is the complete "Hello World" example.
#. **Create a Project Directory:** First, set up a directory for the
"Hello World" project. Here is how you can do so in your home
directory: ::
$ mkdir ~/hello
$ cd ~/hello
This is the directory that
BitBake will use to do all of its work. You can use this directory
to keep all the metafiles needed by BitBake. Having a project
directory is a good way to isolate your project.
#. **Run BitBake:** At this point, you have nothing but a project
directory. Run the ``bitbake`` command and see what it does: ::
$ bitbake
The BBPATH variable is not set and bitbake did not
find a conf/bblayers.conf file in the expected location.
Maybe you accidentally invoked bitbake from the wrong directory?
DEBUG: Removed the following variables from the environment:
GNOME_DESKTOP_SESSION_ID, XDG_CURRENT_DESKTOP,
GNOME_KEYRING_CONTROL, DISPLAY, SSH_AGENT_PID, LANG, no_proxy,
XDG_SESSION_PATH, XAUTHORITY, SESSION_MANAGER, SHLVL,
MANDATORY_PATH, COMPIZ_CONFIG_PROFILE, WINDOWID, EDITOR,
GPG_AGENT_INFO, SSH_AUTH_SOCK, GDMSESSION, GNOME_KEYRING_PID,
XDG_SEAT_PATH, XDG_CONFIG_DIRS, LESSOPEN, DBUS_SESSION_BUS_ADDRESS,
_, XDG_SESSION_COOKIE, DESKTOP_SESSION, LESSCLOSE, DEFAULTS_PATH,
UBUNTU_MENUPROXY, OLDPWD, XDG_DATA_DIRS, COLORTERM, LS_COLORS
The majority of this output is specific to environment variables that
are not directly relevant to BitBake. However, the very first
message regarding the ``BBPATH`` variable and the
``conf/bblayers.conf`` file is relevant.
When you run BitBake, it begins looking for metadata files. The
:term:`BBPATH` variable is what tells BitBake where
to look for those files. ``BBPATH`` is not set and you need to set
it. Without ``BBPATH``, BitBake cannot find any configuration files
(``.conf``) or recipe files (``.bb``) at all. BitBake also cannot
find the ``bitbake.conf`` file.
#. **Setting BBPATH:** For this example, you can set ``BBPATH`` in
the same manner that you set ``PATH`` earlier in the appendix. You
should realize, though, that it is much more flexible to set the
``BBPATH`` variable up in a configuration file for each project.
From your shell, enter the following commands to set and export the
``BBPATH`` variable: ::
$ BBPATH="projectdirectory"
$ export BBPATH
Use your actual project directory in the command. BitBake uses that
directory to find the metadata it needs for your project.
.. note::
When specifying your project directory, do not use the tilde
("~") character as BitBake does not expand that character as the
shell would.
#. **Run BitBake:** Now that you have ``BBPATH`` defined, run the
``bitbake`` command again: ::
$ bitbake
ERROR: Traceback (most recent call last):
File "/home/scott-lenovo/bitbake/lib/bb/cookerdata.py", line 163, in wrapped
return func(fn, *args)
File "/home/scott-lenovo/bitbake/lib/bb/cookerdata.py", line 173, in parse_config_file
return bb.parse.handle(fn, data, include)
File "/home/scott-lenovo/bitbake/lib/bb/parse/__init__.py", line 99, in handle
return h['handle'](fn, data, include)
File "/home/scott-lenovo/bitbake/lib/bb/parse/parse_py/ConfHandler.py", line 120, in handle
abs_fn = resolve_file(fn, data)
File "/home/scott-lenovo/bitbake/lib/bb/parse/__init__.py", line 117, in resolve_file
raise IOError("file %s not found in %s" % (fn, bbpath))
IOError: file conf/bitbake.conf not found in /home/scott-lenovo/hello
ERROR: Unable to parse conf/bitbake.conf: file conf/bitbake.conf not found in /home/scott-lenovo/hello
This sample output shows that BitBake could not find the
``conf/bitbake.conf`` file in the project directory. This file is
the first thing BitBake must find in order to build a target. And,
since the project directory for this example is empty, you need to
provide a ``conf/bitbake.conf`` file.
#. **Creating conf/bitbake.conf:** The ``conf/bitbake.conf`` includes
a number of configuration variables BitBake uses for metadata and
recipe files. For this example, you need to create the file in your
project directory and define some key BitBake variables. For more
information on the ``bitbake.conf`` file, see
http://git.openembedded.org/bitbake/tree/conf/bitbake.conf.
Use the following commands to create the ``conf`` directory in the
project directory: ::
$ mkdir conf
From within the ``conf`` directory,
use some editor to create the ``bitbake.conf`` so that it contains
the following: ::
PN = "${@bb.parse.BBHandler.vars_from_file(d.getVar('FILE', False),d)[0] or 'defaultpkgname'}"
TMPDIR = "${TOPDIR}/tmp"
CACHE = "${TMPDIR}/cache"
STAMP = "${TMPDIR}/${PN}/stamps"
T = "${TMPDIR}/${PN}/work"
B = "${TMPDIR}/${PN}"
.. note::
Without a value for PN , the variables STAMP , T , and B , prevent more
than one recipe from working. You can fix this by either setting PN to
have a value similar to what OpenEmbedded and BitBake use in the default
bitbake.conf file (see previous example). Or, by manually updating each
recipe to set PN . You will also need to include PN as part of the STAMP
, T , and B variable definitions in the local.conf file.
The ``TMPDIR`` variable establishes a directory that BitBake uses
for build output and intermediate files other than the cached
information used by the
:ref:`bitbake-user-manual/bitbake-user-manual-execution:setscene`
process. Here, the ``TMPDIR`` directory is set to ``hello/tmp``.
.. tip::
You can always safely delete the tmp directory in order to rebuild a
BitBake target. The build process creates the directory for you when you
run BitBake.
For information about each of the other variables defined in this
example, check :term:`PN`, :term:`TOPDIR`, :term:`CACHE`, :term:`STAMP`,
:term:`T` or :term:`B` to take you to the definitions in the
glossary.
#. **Run BitBake:** After making sure that the ``conf/bitbake.conf`` file
exists, you can run the ``bitbake`` command again: ::
$ bitbake
ERROR: Traceback (most recent call last):
File "/home/scott-lenovo/bitbake/lib/bb/cookerdata.py", line 163, in wrapped
return func(fn, *args)
File "/home/scott-lenovo/bitbake/lib/bb/cookerdata.py", line 177, in _inherit
bb.parse.BBHandler.inherit(bbclass, "configuration INHERITs", 0, data)
File "/home/scott-lenovo/bitbake/lib/bb/parse/parse_py/BBHandler.py", line 92, in inherit
include(fn, file, lineno, d, "inherit")
File "/home/scott-lenovo/bitbake/lib/bb/parse/parse_py/ConfHandler.py", line 100, in include
raise ParseError("Could not %(error_out)s file %(fn)s" % vars(), oldfn, lineno)
ParseError: ParseError in configuration INHERITs: Could not inherit file classes/base.bbclass
ERROR: Unable to parse base: ParseError in configuration INHERITs: Could not inherit file classes/base.bbclass
In the sample output,
BitBake could not find the ``classes/base.bbclass`` file. You need
to create that file next.
#. **Creating classes/base.bbclass:** BitBake uses class files to
provide common code and functionality. The minimally required class
for BitBake is the ``classes/base.bbclass`` file. The ``base`` class
is implicitly inherited by every recipe. BitBake looks for the class
in the ``classes`` directory of the project (i.e ``hello/classes``
in this example).
Create the ``classes`` directory as follows: ::
$ cd $HOME/hello
$ mkdir classes
Move to the ``classes`` directory and then create the
``base.bbclass`` file by inserting this single line: addtask build
The minimal task that BitBake runs is the ``do_build`` task. This is
all the example needs in order to build the project. Of course, the
``base.bbclass`` can have much more depending on which build
environments BitBake is supporting.
#. **Run BitBake:** After making sure that the ``classes/base.bbclass``
file exists, you can run the ``bitbake`` command again: ::
$ bitbake
Nothing to do. Use 'bitbake world' to build everything, or run 'bitbake --help' for usage information.
BitBake is finally reporting
no errors. However, you can see that it really does not have
anything to do. You need to create a recipe that gives BitBake
something to do.
#. **Creating a Layer:** While it is not really necessary for such a
small example, it is good practice to create a layer in which to
keep your code separate from the general metadata used by BitBake.
Thus, this example creates and uses a layer called "mylayer".
.. note::
You can find additional information on layers in the
":ref:`bitbake-user-manual/bitbake-user-manual-intro:Layers`" section.
Minimally, you need a recipe file and a layer configuration file in
your layer. The configuration file needs to be in the ``conf``
directory inside the layer. Use these commands to set up the layer
and the ``conf`` directory: ::
$ cd $HOME
$ mkdir mylayer
$ cd mylayer
$ mkdir conf
Move to the ``conf`` directory and create a ``layer.conf`` file that has the
following: ::
BBPATH .= ":${LAYERDIR}"
BBFILES += "${LAYERDIR}/\*.bb"
BBFILE_COLLECTIONS += "mylayer"
`BBFILE_PATTERN_mylayer := "^${LAYERDIR_RE}/"
For information on these variables, click on :term:`BBFILES`,
:term:`LAYERDIR`, :term:`BBFILE_COLLECTIONS` or :term:`BBFILE_PATTERN_mylayer <BBFILE_PATTERN>`
to go to the definitions in the glossary.
You need to create the recipe file next. Inside your layer at the
top-level, use an editor and create a recipe file named
``printhello.bb`` that has the following: ::
DESCRIPTION = "Prints Hello World"
PN = 'printhello'
PV = '1'
python do_build() {
bb.plain("********************");
bb.plain("* *");
bb.plain("* Hello, World! *");
bb.plain("* *");
bb.plain("********************");
}
The recipe file simply provides
a description of the recipe, the name, version, and the ``do_build``
task, which prints out "Hello World" to the console. For more
information on :term:`DESCRIPTION`, :term:`PN` or :term:`PV`
follow the links to the glossary.
#. **Run BitBake With a Target:** Now that a BitBake target exists, run
the command and provide that target: ::
$ cd $HOME/hello
$ bitbake printhello
ERROR: no recipe files to build, check your BBPATH and BBFILES?
Summary: There was 1 ERROR message shown, returning a non-zero exit code.
We have created the layer with the recipe and
the layer configuration file but it still seems that BitBake cannot
find the recipe. BitBake needs a ``conf/bblayers.conf`` that lists
the layers for the project. Without this file, BitBake cannot find
the recipe.
#. **Creating conf/bblayers.conf:** BitBake uses the
``conf/bblayers.conf`` file to locate layers needed for the project.
This file must reside in the ``conf`` directory of the project (i.e.
``hello/conf`` for this example).
Set your working directory to the ``hello/conf`` directory and then
create the ``bblayers.conf`` file so that it contains the following: ::
BBLAYERS ?= " \
/home/<you>/mylayer \
"
You need to provide your own information for ``you`` in the file.
#. **Run BitBake With a Target:** Now that you have supplied the
``bblayers.conf`` file, run the ``bitbake`` command and provide the
target: ::
$ bitbake printhello
Parsing recipes: 100% |##################################################################################|
Time: 00:00:00
Parsing of 1 .bb files complete (0 cached, 1 parsed). 1 targets, 0 skipped, 0 masked, 0 errors.
NOTE: Resolving any missing task queue dependencies
NOTE: Preparing RunQueue
NOTE: Executing RunQueue Tasks
********************
* *
* Hello, World! *
* *
********************
NOTE: Tasks Summary: Attempted 1 tasks of which 0 didn't need to be rerun and all succeeded.
.. note::
After the first execution, re-running bitbake printhello again will not
result in a BitBake run that prints the same console output. The reason
for this is that the first time the printhello.bb recipe's do_build task
executes successfully, BitBake writes a stamp file for the task. Thus,
the next time you attempt to run the task using that same bitbake
command, BitBake notices the stamp and therefore determines that the task
does not need to be re-run. If you delete the tmp directory or run
bitbake -c clean printhello and then re-run the build, the "Hello,
World!" message will be printed again.

View File

@@ -0,0 +1,513 @@
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<appendix id='hello-world-example'>
<title>Hello World Example</title>
<section id='bitbake-hello-world'>
<title>BitBake Hello World</title>
<para>
The simplest example commonly used to demonstrate any new
programming language or tool is the
"<ulink url="http://en.wikipedia.org/wiki/Hello_world_program">Hello World</ulink>"
example.
This appendix demonstrates, in tutorial form, Hello
World within the context of BitBake.
The tutorial describes how to create a new project
and the applicable metadata files necessary to allow
BitBake to build it.
</para>
</section>
<section id='example-obtaining-bitbake'>
<title>Obtaining BitBake</title>
<para>
See the
"<link linkend='obtaining-bitbake'>Obtaining BitBake</link>"
section for information on how to obtain BitBake.
Once you have the source code on your machine, the BitBake directory
appears as follows:
<literallayout class='monospaced'>
$ ls -al
total 100
drwxrwxr-x. 9 wmat wmat 4096 Jan 31 13:44 .
drwxrwxr-x. 3 wmat wmat 4096 Feb 4 10:45 ..
-rw-rw-r--. 1 wmat wmat 365 Nov 26 04:55 AUTHORS
drwxrwxr-x. 2 wmat wmat 4096 Nov 26 04:55 bin
drwxrwxr-x. 4 wmat wmat 4096 Jan 31 13:44 build
-rw-rw-r--. 1 wmat wmat 16501 Nov 26 04:55 ChangeLog
drwxrwxr-x. 2 wmat wmat 4096 Nov 26 04:55 classes
drwxrwxr-x. 2 wmat wmat 4096 Nov 26 04:55 conf
drwxrwxr-x. 3 wmat wmat 4096 Nov 26 04:55 contrib
-rw-rw-r--. 1 wmat wmat 17987 Nov 26 04:55 COPYING
drwxrwxr-x. 3 wmat wmat 4096 Nov 26 04:55 doc
-rw-rw-r--. 1 wmat wmat 69 Nov 26 04:55 .gitignore
-rw-rw-r--. 1 wmat wmat 849 Nov 26 04:55 HEADER
drwxrwxr-x. 5 wmat wmat 4096 Jan 31 13:44 lib
-rw-rw-r--. 1 wmat wmat 195 Nov 26 04:55 MANIFEST.in
-rw-rw-r--. 1 wmat wmat 2887 Nov 26 04:55 TODO
</literallayout>
</para>
<para>
At this point, you should have BitBake cloned to
a directory that matches the previous listing except for
dates and user names.
</para>
</section>
<section id='setting-up-the-bitbake-environment'>
<title>Setting Up the BitBake Environment</title>
<para>
First, you need to be sure that you can run BitBake.
Set your working directory to where your local BitBake
files are and run the following command:
<literallayout class='monospaced'>
$ ./bin/bitbake --version
BitBake Build Tool Core version 1.23.0, bitbake version 1.23.0
</literallayout>
The console output tells you what version you are running.
</para>
<para>
The recommended method to run BitBake is from a directory of your
choice.
To be able to run BitBake from any directory, you need to add the
executable binary to your binary to your shell's environment
<filename>PATH</filename> variable.
First, look at your current <filename>PATH</filename> variable
by entering the following:
<literallayout class='monospaced'>
$ echo $PATH
</literallayout>
Next, add the directory location for the BitBake binary to the
<filename>PATH</filename>.
Here is an example that adds the
<filename>/home/scott-lenovo/bitbake/bin</filename> directory
to the front of the <filename>PATH</filename> variable:
<literallayout class='monospaced'>
$ export PATH=/home/scott-lenovo/bitbake/bin:$PATH
</literallayout>
You should now be able to enter the <filename>bitbake</filename>
command from the command line while working from any directory.
</para>
</section>
<section id='the-hello-world-example'>
<title>The Hello World Example</title>
<para>
The overall goal of this exercise is to build a
complete "Hello World" example utilizing task and layer
concepts.
Because this is how modern projects such as OpenEmbedded and
the Yocto Project utilize BitBake, the example
provides an excellent starting point for understanding
BitBake.
</para>
<para>
To help you understand how to use BitBake to build targets,
the example starts with nothing but the <filename>bitbake</filename>
command, which causes BitBake to fail and report problems.
The example progresses by adding pieces to the build to
eventually conclude with a working, minimal "Hello World"
example.
</para>
<para>
While every attempt is made to explain what is happening during
the example, the descriptions cannot cover everything.
You can find further information throughout this manual.
Also, you can actively participate in the
<ulink url='http://lists.openembedded.org/mailman/listinfo/bitbake-devel'></ulink>
discussion mailing list about the BitBake build tool.
</para>
<note>
This example was inspired by and drew heavily from
<ulink url="http://www.mail-archive.com/yocto@yoctoproject.org/msg09379.html">Mailing List post - The BitBake equivalent of "Hello, World!"</ulink>.
</note>
<para>
As stated earlier, the goal of this example
is to eventually compile "Hello World".
However, it is unknown what BitBake needs and what you have
to provide in order to achieve that goal.
Recall that BitBake utilizes three types of metadata files:
<link linkend='configuration-files'>Configuration Files</link>,
<link linkend='classes'>Classes</link>, and
<link linkend='recipes'>Recipes</link>.
But where do they go?
How does BitBake find them?
BitBake's error messaging helps you answer these types of questions
and helps you better understand exactly what is going on.
</para>
<para>
Following is the complete "Hello World" example.
</para>
<orderedlist>
<listitem><para><emphasis>Create a Project Directory:</emphasis>
First, set up a directory for the "Hello World" project.
Here is how you can do so in your home directory:
<literallayout class='monospaced'>
$ mkdir ~/hello
$ cd ~/hello
</literallayout>
This is the directory that BitBake will use to do all of
its work.
You can use this directory to keep all the metafiles needed
by BitBake.
Having a project directory is a good way to isolate your
project.
</para></listitem>
<listitem><para><emphasis>Run Bitbake:</emphasis>
At this point, you have nothing but a project directory.
Run the <filename>bitbake</filename> command and see what
it does:
<literallayout class='monospaced'>
$ bitbake
The BBPATH variable is not set and bitbake did not
find a conf/bblayers.conf file in the expected location.
Maybe you accidentally invoked bitbake from the wrong directory?
DEBUG: Removed the following variables from the environment:
GNOME_DESKTOP_SESSION_ID, XDG_CURRENT_DESKTOP,
GNOME_KEYRING_CONTROL, DISPLAY, SSH_AGENT_PID, LANG, no_proxy,
XDG_SESSION_PATH, XAUTHORITY, SESSION_MANAGER, SHLVL,
MANDATORY_PATH, COMPIZ_CONFIG_PROFILE, WINDOWID, EDITOR,
GPG_AGENT_INFO, SSH_AUTH_SOCK, GDMSESSION, GNOME_KEYRING_PID,
XDG_SEAT_PATH, XDG_CONFIG_DIRS, LESSOPEN, DBUS_SESSION_BUS_ADDRESS,
_, XDG_SESSION_COOKIE, DESKTOP_SESSION, LESSCLOSE, DEFAULTS_PATH,
UBUNTU_MENUPROXY, OLDPWD, XDG_DATA_DIRS, COLORTERM, LS_COLORS
</literallayout>
The majority of this output is specific to environment variables
that are not directly relevant to BitBake.
However, the very first message regarding the
<filename>BBPATH</filename> variable and the
<filename>conf/bblayers.conf</filename> file
is relevant.</para>
<para>
When you run BitBake, it begins looking for metadata files.
The
<link linkend='var-BBPATH'><filename>BBPATH</filename></link>
variable is what tells BitBake where to look for those files.
<filename>BBPATH</filename> is not set and you need to set it.
Without <filename>BBPATH</filename>, Bitbake cannot
find any configuration files (<filename>.conf</filename>)
or recipe files (<filename>.bb</filename>) at all.
BitBake also cannot find the <filename>bitbake.conf</filename>
file.
</para></listitem>
<listitem><para><emphasis>Setting <filename>BBPATH</filename>:</emphasis>
For this example, you can set <filename>BBPATH</filename>
in the same manner that you set <filename>PATH</filename>
earlier in the appendix.
You should realize, though, that it is much more flexible to set the
<filename>BBPATH</filename> variable up in a configuration
file for each project.</para>
<para>From your shell, enter the following commands to set and
export the <filename>BBPATH</filename> variable:
<literallayout class='monospaced'>
$ BBPATH="<replaceable>projectdirectory</replaceable>"
$ export BBPATH
</literallayout>
Use your actual project directory in the command.
BitBake uses that directory to find the metadata it needs for
your project.
<note>
When specifying your project directory, do not use the
tilde ("~") character as BitBake does not expand that character
as the shell would.
</note>
</para></listitem>
<listitem><para><emphasis>Run Bitbake:</emphasis>
Now that you have <filename>BBPATH</filename> defined, run
the <filename>bitbake</filename> command again:
<literallayout class='monospaced'>
$ bitbake
ERROR: Traceback (most recent call last):
File "/home/scott-lenovo/bitbake/lib/bb/cookerdata.py", line 163, in wrapped
return func(fn, *args)
File "/home/scott-lenovo/bitbake/lib/bb/cookerdata.py", line 173, in parse_config_file
return bb.parse.handle(fn, data, include)
File "/home/scott-lenovo/bitbake/lib/bb/parse/__init__.py", line 99, in handle
return h['handle'](fn, data, include)
File "/home/scott-lenovo/bitbake/lib/bb/parse/parse_py/ConfHandler.py", line 120, in handle
abs_fn = resolve_file(fn, data)
File "/home/scott-lenovo/bitbake/lib/bb/parse/__init__.py", line 117, in resolve_file
raise IOError("file %s not found in %s" % (fn, bbpath))
IOError: file conf/bitbake.conf not found in /home/scott-lenovo/hello
ERROR: Unable to parse conf/bitbake.conf: file conf/bitbake.conf not found in /home/scott-lenovo/hello
</literallayout>
This sample output shows that BitBake could not find the
<filename>conf/bitbake.conf</filename> file in the project
directory.
This file is the first thing BitBake must find in order
to build a target.
And, since the project directory for this example is
empty, you need to provide a <filename>conf/bitbake.conf</filename>
file.
</para></listitem>
<listitem><para><emphasis>Creating <filename>conf/bitbake.conf</filename>:</emphasis>
The <filename>conf/bitbake.conf</filename> includes a number of
configuration variables BitBake uses for metadata and recipe
files.
For this example, you need to create the file in your project directory
and define some key BitBake variables.
For more information on the <filename>bitbake.conf</filename> file,
see
<ulink url='http://git.openembedded.org/bitbake/tree/conf/bitbake.conf'></ulink>.
</para>
<para>Use the following commands to create the <filename>conf</filename>
directory in the project directory:
<literallayout class='monospaced'>
$ mkdir conf
</literallayout>
From within the <filename>conf</filename> directory, use
some editor to create the <filename>bitbake.conf</filename>
so that it contains the following:
<literallayout class='monospaced'>
<link linkend='var-PN'>PN</link> = "${@bb.parse.BBHandler.vars_from_file(d.getVar('FILE', False),d)[0] or 'defaultpkgname'}"
</literallayout>
<literallayout class='monospaced'>
TMPDIR = "${<link linkend='var-TOPDIR'>TOPDIR</link>}/tmp"
<link linkend='var-CACHE'>CACHE</link> = "${TMPDIR}/cache"
<link linkend='var-STAMP'>STAMP</link> = "${TMPDIR}/${PN}/stamps"
<link linkend='var-T'>T</link> = "${TMPDIR}/${PN}/work"
<link linkend='var-B'>B</link> = "${TMPDIR}/${PN}"
</literallayout>
<note>
Without a value for <filename>PN</filename>, the
variables <filename>STAMP</filename>,
<filename>T</filename>, and <filename>B</filename>,
prevent more than one recipe from working. You can fix
this by either setting <filename>PN</filename> to have
a value similar to what OpenEmbedded and BitBake use
in the default <filename>bitbake.conf</filename> file
(see previous example). Or, by manually updating each
recipe to set <filename>PN</filename>. You will also
need to include <filename>PN</filename> as part of the
<filename>STAMP</filename>, <filename>T</filename>, and
<filename>B</filename> variable definitions in the
<filename>local.conf</filename> file.
</note>
The <filename>TMPDIR</filename> variable establishes a directory
that BitBake uses for build output and intermediate files other
than the cached information used by the
<link linkend='setscene'>Setscene</link> process.
Here, the <filename>TMPDIR</filename> directory is set to
<filename>hello/tmp</filename>.
<note><title>Tip</title>
You can always safely delete the <filename>tmp</filename>
directory in order to rebuild a BitBake target.
The build process creates the directory for you
when you run BitBake.
</note></para>
<para>For information about each of the other variables defined in this
example, click on the links to take you to the definitions in
the glossary.
</para></listitem>
<listitem><para><emphasis>Run Bitbake:</emphasis>
After making sure that the <filename>conf/bitbake.conf</filename>
file exists, you can run the <filename>bitbake</filename>
command again:
<literallayout class='monospaced'>
$ bitbake
ERROR: Traceback (most recent call last):
File "/home/scott-lenovo/bitbake/lib/bb/cookerdata.py", line 163, in wrapped
return func(fn, *args)
File "/home/scott-lenovo/bitbake/lib/bb/cookerdata.py", line 177, in _inherit
bb.parse.BBHandler.inherit(bbclass, "configuration INHERITs", 0, data)
File "/home/scott-lenovo/bitbake/lib/bb/parse/parse_py/BBHandler.py", line 92, in inherit
include(fn, file, lineno, d, "inherit")
File "/home/scott-lenovo/bitbake/lib/bb/parse/parse_py/ConfHandler.py", line 100, in include
raise ParseError("Could not %(error_out)s file %(fn)s" % vars(), oldfn, lineno)
ParseError: ParseError in configuration INHERITs: Could not inherit file classes/base.bbclass
ERROR: Unable to parse base: ParseError in configuration INHERITs: Could not inherit file classes/base.bbclass
</literallayout>
In the sample output, BitBake could not find the
<filename>classes/base.bbclass</filename> file.
You need to create that file next.
</para></listitem>
<listitem><para><emphasis>Creating <filename>classes/base.bbclass</filename>:</emphasis>
BitBake uses class files to provide common code and functionality.
The minimally required class for BitBake is the
<filename>classes/base.bbclass</filename> file.
The <filename>base</filename> class is implicitly inherited by
every recipe.
BitBake looks for the class in the <filename>classes</filename>
directory of the project (i.e <filename>hello/classes</filename>
in this example).
</para>
<para>Create the <filename>classes</filename> directory as follows:
<literallayout class='monospaced'>
$ cd $HOME/hello
$ mkdir classes
</literallayout>
Move to the <filename>classes</filename> directory and then
create the <filename>base.bbclass</filename> file by inserting
this single line:
<literallayout class='monospaced'>
addtask build
</literallayout>
The minimal task that BitBake runs is the
<filename>do_build</filename> task.
This is all the example needs in order to build the project.
Of course, the <filename>base.bbclass</filename> can have much
more depending on which build environments BitBake is
supporting.
</para></listitem>
<listitem><para><emphasis>Run Bitbake:</emphasis>
After making sure that the <filename>classes/base.bbclass</filename>
file exists, you can run the <filename>bitbake</filename>
command again:
<literallayout class='monospaced'>
$ bitbake
Nothing to do. Use 'bitbake world' to build everything, or run 'bitbake --help' for usage information.
</literallayout>
BitBake is finally reporting no errors.
However, you can see that it really does not have anything
to do.
You need to create a recipe that gives BitBake something to do.
</para></listitem>
<listitem><para><emphasis>Creating a Layer:</emphasis>
While it is not really necessary for such a small example,
it is good practice to create a layer in which to keep your
code separate from the general metadata used by BitBake.
Thus, this example creates and uses a layer called "mylayer".
<note>
You can find additional information on layers in the
"<link linkend='layers'>Layers</link>" section.
</note></para>
<para>Minimally, you need a recipe file and a layer configuration
file in your layer.
The configuration file needs to be in the <filename>conf</filename>
directory inside the layer.
Use these commands to set up the layer and the <filename>conf</filename>
directory:
<literallayout class='monospaced'>
$ cd $HOME
$ mkdir mylayer
$ cd mylayer
$ mkdir conf
</literallayout>
Move to the <filename>conf</filename> directory and create a
<filename>layer.conf</filename> file that has the following:
<literallayout class='monospaced'>
BBPATH .= ":${<link linkend='var-LAYERDIR'>LAYERDIR</link>}"
<link linkend='var-BBFILES'>BBFILES</link> += "${LAYERDIR}/*.bb"
<link linkend='var-BBFILE_COLLECTIONS'>BBFILE_COLLECTIONS</link> += "mylayer"
<link linkend='var-BBFILE_PATTERN'>BBFILE_PATTERN_mylayer</link> := "^${LAYERDIR_RE}/"
</literallayout>
For information on these variables, click the links
to go to the definitions in the glossary.</para>
<para>You need to create the recipe file next.
Inside your layer at the top-level, use an editor and create
a recipe file named <filename>printhello.bb</filename> that
has the following:
<literallayout class='monospaced'>
<link linkend='var-DESCRIPTION'>DESCRIPTION</link> = "Prints Hello World"
<link linkend='var-PN'>PN</link> = 'printhello'
<link linkend='var-PV'>PV</link> = '1'
python do_build() {
bb.plain("********************");
bb.plain("* *");
bb.plain("* Hello, World! *");
bb.plain("* *");
bb.plain("********************");
}
</literallayout>
The recipe file simply provides a description of the
recipe, the name, version, and the <filename>do_build</filename>
task, which prints out "Hello World" to the console.
For more information on these variables, follow the links
to the glossary.
</para></listitem>
<listitem><para><emphasis>Run Bitbake With a Target:</emphasis>
Now that a BitBake target exists, run the command and provide
that target:
<literallayout class='monospaced'>
$ cd $HOME/hello
$ bitbake printhello
ERROR: no recipe files to build, check your BBPATH and BBFILES?
Summary: There was 1 ERROR message shown, returning a non-zero exit code.
</literallayout>
We have created the layer with the recipe and the layer
configuration file but it still seems that BitBake cannot
find the recipe.
BitBake needs a <filename>conf/bblayers.conf</filename> that
lists the layers for the project.
Without this file, BitBake cannot find the recipe.
</para></listitem>
<listitem><para><emphasis>Creating <filename>conf/bblayers.conf</filename>:</emphasis>
BitBake uses the <filename>conf/bblayers.conf</filename> file
to locate layers needed for the project.
This file must reside in the <filename>conf</filename> directory
of the project (i.e. <filename>hello/conf</filename> for this
example).</para>
<para>Set your working directory to the <filename>hello/conf</filename>
directory and then create the <filename>bblayers.conf</filename>
file so that it contains the following:
<literallayout class='monospaced'>
BBLAYERS ?= " \
/home/&lt;you&gt;/mylayer \
"
</literallayout>
You need to provide your own information for
<filename>you</filename> in the file.
</para></listitem>
<listitem><para><emphasis>Run Bitbake With a Target:</emphasis>
Now that you have supplied the <filename>bblayers.conf</filename>
file, run the <filename>bitbake</filename> command and provide
the target:
<literallayout class='monospaced'>
$ bitbake printhello
Parsing recipes: 100% |##################################################################################|
Time: 00:00:00
Parsing of 1 .bb files complete (0 cached, 1 parsed). 1 targets, 0 skipped, 0 masked, 0 errors.
NOTE: Resolving any missing task queue dependencies
NOTE: Preparing RunQueue
NOTE: Executing RunQueue Tasks
********************
* *
* Hello, World! *
* *
********************
NOTE: Tasks Summary: Attempted 1 tasks of which 0 didn't need to be rerun and all succeeded.
</literallayout>
BitBake finds the <filename>printhello</filename> recipe and
successfully runs the task.
<note>
After the first execution, re-running
<filename>bitbake printhello</filename> again will not
result in a BitBake run that prints the same console
output.
The reason for this is that the first time the
<filename>printhello.bb</filename> recipe's
<filename>do_build</filename> task executes
successfully, BitBake writes a stamp file for the task.
Thus, the next time you attempt to run the task
using that same <filename>bitbake</filename> command,
BitBake notices the stamp and therefore determines
that the task does not need to be re-run.
If you delete the <filename>tmp</filename> directory
or run <filename>bitbake -c clean printhello</filename>
and then re-run the build, the "Hello, World!" message will
be printed again.
</note>
</para></listitem>
</orderedlist>
</section>
</appendix>

View File

@@ -1,651 +0,0 @@
.. SPDX-License-Identifier: CC-BY-2.5
========
Overview
========
|
Welcome to the BitBake User Manual. This manual provides information on
the BitBake tool. The information attempts to be as independent as
possible regarding systems that use BitBake, such as OpenEmbedded and
the Yocto Project. In some cases, scenarios or examples within the
context of a build system are used in the manual to help with
understanding. For these cases, the manual clearly states the context.
.. _intro:
Introduction
============
Fundamentally, BitBake is a generic task execution engine that allows
shell and Python tasks to be run efficiently and in parallel while
working within complex inter-task dependency constraints. One of
BitBake's main users, OpenEmbedded, takes this core and builds embedded
Linux software stacks using a task-oriented approach.
Conceptually, BitBake is similar to GNU Make in some regards but has
significant differences:
- BitBake executes tasks according to provided metadata that builds up
the tasks. Metadata is stored in recipe (``.bb``) and related recipe
"append" (``.bbappend``) files, configuration (``.conf``) and
underlying include (``.inc``) files, and in class (``.bbclass``)
files. The metadata provides BitBake with instructions on what tasks
to run and the dependencies between those tasks.
- BitBake includes a fetcher library for obtaining source code from
various places such as local files, source control systems, or
websites.
- The instructions for each unit to be built (e.g. a piece of software)
are known as "recipe" files and contain all the information about the
unit (dependencies, source file locations, checksums, description and
so on).
- BitBake includes a client/server abstraction and can be used from a
command line or used as a service over XML-RPC and has several
different user interfaces.
History and Goals
=================
BitBake was originally a part of the OpenEmbedded project. It was
inspired by the Portage package management system used by the Gentoo
Linux distribution. On December 7, 2004, OpenEmbedded project team
member Chris Larson split the project into two distinct pieces:
- BitBake, a generic task executor
- OpenEmbedded, a metadata set utilized by BitBake
Today, BitBake is the primary basis of the
`OpenEmbedded <http://www.openembedded.org/>`__ project, which is being
used to build and maintain Linux distributions such as the `Angstrom
Distribution <http://www.angstrom-distribution.org/>`__, and which is
also being used as the build tool for Linux projects such as the `Yocto
Project <http://www.yoctoproject.org>`__.
Prior to BitBake, no other build tool adequately met the needs of an
aspiring embedded Linux distribution. All of the build systems used by
traditional desktop Linux distributions lacked important functionality,
and none of the ad hoc Buildroot-based systems, prevalent in the
embedded space, were scalable or maintainable.
Some important original goals for BitBake were:
- Handle cross-compilation.
- Handle inter-package dependencies (build time on target architecture,
build time on native architecture, and runtime).
- Support running any number of tasks within a given package,
including, but not limited to, fetching upstream sources, unpacking
them, patching them, configuring them, and so forth.
- Be Linux distribution agnostic for both build and target systems.
- Be architecture agnostic.
- Support multiple build and target operating systems (e.g. Cygwin, the
BSDs, and so forth).
- Be self-contained, rather than tightly integrated into the build
machine's root filesystem.
- Handle conditional metadata on the target architecture, operating
system, distribution, and machine.
- Be easy to use the tools to supply local metadata and packages
against which to operate.
- Be easy to use BitBake to collaborate between multiple projects for
their builds.
- Provide an inheritance mechanism to share common metadata between
many packages.
Over time it became apparent that some further requirements were
necessary:
- Handle variants of a base recipe (e.g. native, sdk, and multilib).
- Split metadata into layers and allow layers to enhance or override
other layers.
- Allow representation of a given set of input variables to a task as a
checksum. Based on that checksum, allow acceleration of builds with
prebuilt components.
BitBake satisfies all the original requirements and many more with
extensions being made to the basic functionality to reflect the
additional requirements. Flexibility and power have always been the
priorities. BitBake is highly extensible and supports embedded Python
code and execution of any arbitrary tasks.
.. _Concepts:
Concepts
========
BitBake is a program written in the Python language. At the highest
level, BitBake interprets metadata, decides what tasks are required to
run, and executes those tasks. Similar to GNU Make, BitBake controls how
software is built. GNU Make achieves its control through "makefiles",
while BitBake uses "recipes".
BitBake extends the capabilities of a simple tool like GNU Make by
allowing for the definition of much more complex tasks, such as
assembling entire embedded Linux distributions.
The remainder of this section introduces several concepts that should be
understood in order to better leverage the power of BitBake.
Recipes
-------
BitBake Recipes, which are denoted by the file extension ``.bb``, are
the most basic metadata files. These recipe files provide BitBake with
the following:
- Descriptive information about the package (author, homepage, license,
and so on)
- The version of the recipe
- Existing dependencies (both build and runtime dependencies)
- Where the source code resides and how to fetch it
- Whether the source code requires any patches, where to find them, and
how to apply them
- How to configure and compile the source code
- How to assemble the generated artifacts into one or more installable
packages
- Where on the target machine to install the package or packages
created
Within the context of BitBake, or any project utilizing BitBake as its
build system, files with the ``.bb`` extension are referred to as
recipes.
.. note::
The term "package" is also commonly used to describe recipes.
However, since the same word is used to describe packaged output from
a project, it is best to maintain a single descriptive term -
"recipes". Put another way, a single "recipe" file is quite capable
of generating a number of related but separately installable
"packages". In fact, that ability is fairly common.
Configuration Files
-------------------
Configuration files, which are denoted by the ``.conf`` extension,
define various configuration variables that govern the project's build
process. These files fall into several areas that define machine
configuration, distribution configuration, possible compiler tuning,
general common configuration, and user configuration. The main
configuration file is the sample ``bitbake.conf`` file, which is located
within the BitBake source tree ``conf`` directory.
Classes
-------
Class files, which are denoted by the ``.bbclass`` extension, contain
information that is useful to share between metadata files. The BitBake
source tree currently comes with one class metadata file called
``base.bbclass``. You can find this file in the ``classes`` directory.
The ``base.bbclass`` class files is special since it is always included
automatically for all recipes and classes. This class contains
definitions for standard basic tasks such as fetching, unpacking,
configuring (empty by default), compiling (runs any Makefile present),
installing (empty by default) and packaging (empty by default). These
tasks are often overridden or extended by other classes added during the
project development process.
Layers
------
Layers allow you to isolate different types of customizations from each
other. While you might find it tempting to keep everything in one layer
when working on a single project, the more modular your metadata, the
easier it is to cope with future changes.
To illustrate how you can use layers to keep things modular, consider
customizations you might make to support a specific target machine.
These types of customizations typically reside in a special layer,
rather than a general layer, called a Board Support Package (BSP) layer.
Furthermore, the machine customizations should be isolated from recipes
and metadata that support a new GUI environment, for example. This
situation gives you a couple of layers: one for the machine
configurations and one for the GUI environment. It is important to
understand, however, that the BSP layer can still make machine-specific
additions to recipes within the GUI environment layer without polluting
the GUI layer itself with those machine-specific changes. You can
accomplish this through a recipe that is a BitBake append
(``.bbappend``) file.
.. _append-bbappend-files:
Append Files
------------
Append files, which are files that have the ``.bbappend`` file
extension, extend or override information in an existing recipe file.
BitBake expects every append file to have a corresponding recipe file.
Furthermore, the append file and corresponding recipe file must use the
same root filename. The filenames can differ only in the file type
suffix used (e.g. ``formfactor_0.0.bb`` and
``formfactor_0.0.bbappend``).
Information in append files extends or overrides the information in the
underlying, similarly-named recipe files.
When you name an append file, you can use the "``%``" wildcard character
to allow for matching recipe names. For example, suppose you have an
append file named as follows: ::
busybox_1.21.%.bbappend
That append file
would match any ``busybox_1.21.``\ x\ ``.bb`` version of the recipe. So,
the append file would match the following recipe names: ::
busybox_1.21.1.bb
busybox_1.21.2.bb
busybox_1.21.3.bb
.. note::
The use of the " % " character is limited in that it only works directly in
front of the .bbappend portion of the append file's name. You cannot use the
wildcard character in any other location of the name.
If the ``busybox`` recipe was updated to ``busybox_1.3.0.bb``, the
append name would not match. However, if you named the append file
``busybox_1.%.bbappend``, then you would have a match.
In the most general case, you could name the append file something as
simple as ``busybox_%.bbappend`` to be entirely version independent.
Obtaining BitBake
=================
You can obtain BitBake several different ways:
- **Cloning BitBake:** Using Git to clone the BitBake source code
repository is the recommended method for obtaining BitBake. Cloning
the repository makes it easy to get bug fixes and have access to
stable branches and the master branch. Once you have cloned BitBake,
you should use the latest stable branch for development since the
master branch is for BitBake development and might contain less
stable changes.
You usually need a version of BitBake that matches the metadata you
are using. The metadata is generally backwards compatible but not
forward compatible.
Here is an example that clones the BitBake repository: ::
$ git clone git://git.openembedded.org/bitbake
This command clones the BitBake
Git repository into a directory called ``bitbake``. Alternatively,
you can designate a directory after the ``git clone`` command if you
want to call the new directory something other than ``bitbake``. Here
is an example that names the directory ``bbdev``: ::
$ git clone git://git.openembedded.org/bitbake bbdev
- **Installation using your Distribution Package Management System:**
This method is not recommended because the BitBake version that is
provided by your distribution, in most cases, is several releases
behind a snapshot of the BitBake repository.
- **Taking a snapshot of BitBake:** Downloading a snapshot of BitBake
from the source code repository gives you access to a known branch or
release of BitBake.
.. note::
Cloning the Git repository, as described earlier, is the preferred
method for getting BitBake. Cloning the repository makes it easier
to update as patches are added to the stable branches.
The following example downloads a snapshot of BitBake version 1.17.0: ::
$ wget http://git.openembedded.org/bitbake/snapshot/bitbake-1.17.0.tar.gz
$ tar zxpvf bitbake-1.17.0.tar.gz
After extraction of the tarball using
the tar utility, you have a directory entitled ``bitbake-1.17.0``.
- **Using the BitBake that Comes With Your Build Checkout:** A final
possibility for getting a copy of BitBake is that it already comes
with your checkout of a larger BitBake-based build system, such as
Poky. Rather than manually checking out individual layers and gluing
them together yourself, you can check out an entire build system. The
checkout will already include a version of BitBake that has been
thoroughly tested for compatibility with the other components. For
information on how to check out a particular BitBake-based build
system, consult that build system's supporting documentation.
.. _bitbake-user-manual-command:
The BitBake Command
===================
The ``bitbake`` command is the primary interface to the BitBake tool.
This section presents the BitBake command syntax and provides several
execution examples.
Usage and syntax
----------------
Following is the usage and syntax for BitBake: ::
$ bitbake -h
Usage: bitbake [options] [recipename/target recipe:do_task ...]
Executes the specified task (default is 'build') for a given set of target recipes (.bb files).
It is assumed there is a conf/bblayers.conf available in cwd or in BBPATH which
will provide the layer, BBFILES and other configuration information.
Options:
--version show program's version number and exit
-h, --help show this help message and exit
-b BUILDFILE, --buildfile=BUILDFILE
Execute tasks from a specific .bb recipe directly.
WARNING: Does not handle any dependencies from other
recipes.
-k, --continue Continue as much as possible after an error. While the
target that failed and anything depending on it cannot
be built, as much as possible will be built before
stopping.
-f, --force Force the specified targets/task to run (invalidating
any existing stamp file).
-c CMD, --cmd=CMD Specify the task to execute. The exact options
available depend on the metadata. Some examples might
be 'compile' or 'populate_sysroot' or 'listtasks' may
give a list of the tasks available.
-C INVALIDATE_STAMP, --clear-stamp=INVALIDATE_STAMP
Invalidate the stamp for the specified task such as
'compile' and then run the default task for the
specified target(s).
-r PREFILE, --read=PREFILE
Read the specified file before bitbake.conf.
-R POSTFILE, --postread=POSTFILE
Read the specified file after bitbake.conf.
-v, --verbose Enable tracing of shell tasks (with 'set -x'). Also
print bb.note(...) messages to stdout (in addition to
writing them to ${T}/log.do_&lt;task&gt;).
-D, --debug Increase the debug level. You can specify this more
than once. -D sets the debug level to 1, where only
bb.debug(1, ...) messages are printed to stdout; -DD
sets the debug level to 2, where both bb.debug(1, ...)
and bb.debug(2, ...) messages are printed; etc.
Without -D, no debug messages are printed. Note that
-D only affects output to stdout. All debug messages
are written to ${T}/log.do_taskname, regardless of the
debug level.
-q, --quiet Output less log message data to the terminal. You can
specify this more than once.
-n, --dry-run Don't execute, just go through the motions.
-S SIGNATURE_HANDLER, --dump-signatures=SIGNATURE_HANDLER
Dump out the signature construction information, with
no task execution. The SIGNATURE_HANDLER parameter is
passed to the handler. Two common values are none and
printdiff but the handler may define more/less. none
means only dump the signature, printdiff means compare
the dumped signature with the cached one.
-p, --parse-only Quit after parsing the BB recipes.
-s, --show-versions Show current and preferred versions of all recipes.
-e, --environment Show the global or per-recipe environment complete
with information about where variables were
set/changed.
-g, --graphviz Save dependency tree information for the specified
targets in the dot syntax.
-I EXTRA_ASSUME_PROVIDED, --ignore-deps=EXTRA_ASSUME_PROVIDED
Assume these dependencies don't exist and are already
provided (equivalent to ASSUME_PROVIDED). Useful to
make dependency graphs more appealing
-l DEBUG_DOMAINS, --log-domains=DEBUG_DOMAINS
Show debug logging for the specified logging domains
-P, --profile Profile the command and save reports.
-u UI, --ui=UI The user interface to use (knotty, ncurses or taskexp
- default knotty).
--token=XMLRPCTOKEN Specify the connection token to be used when
connecting to a remote server.
--revisions-changed Set the exit code depending on whether upstream
floating revisions have changed or not.
--server-only Run bitbake without a UI, only starting a server
(cooker) process.
-B BIND, --bind=BIND The name/address for the bitbake xmlrpc server to bind
to.
-T SERVER_TIMEOUT, --idle-timeout=SERVER_TIMEOUT
Set timeout to unload bitbake server due to
inactivity, set to -1 means no unload, default:
Environment variable BB_SERVER_TIMEOUT.
--no-setscene Do not run any setscene tasks. sstate will be ignored
and everything needed, built.
--setscene-only Only run setscene tasks, don't run any real tasks.
--remote-server=REMOTE_SERVER
Connect to the specified server.
-m, --kill-server Terminate any running bitbake server.
--observe-only Connect to a server as an observing-only client.
--status-only Check the status of the remote bitbake server.
-w WRITEEVENTLOG, --write-log=WRITEEVENTLOG
Writes the event log of the build to a bitbake event
json file. Use '' (empty string) to assign the name
automatically.
--runall=RUNALL Run the specified task for any recipe in the taskgraph
of the specified target (even if it wouldn't otherwise
have run).
--runonly=RUNONLY Run only the specified task within the taskgraph of
the specified targets (and any task dependencies those
tasks may have).
.. _bitbake-examples:
Examples
--------
This section presents some examples showing how to use BitBake.
.. _example-executing-a-task-against-a-single-recipe:
Executing a Task Against a Single Recipe
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Executing tasks for a single recipe file is relatively simple. You
specify the file in question, and BitBake parses it and executes the
specified task. If you do not specify a task, BitBake executes the
default task, which is "build". BitBake obeys inter-task dependencies
when doing so.
The following command runs the build task, which is the default task, on
the ``foo_1.0.bb`` recipe file: ::
$ bitbake -b foo_1.0.bb
The following command runs the clean task on the ``foo.bb`` recipe file: ::
$ bitbake -b foo.bb -c clean
.. note::
The "-b" option explicitly does not handle recipe dependencies. Other
than for debugging purposes, it is instead recommended that you use
the syntax presented in the next section.
Executing Tasks Against a Set of Recipe Files
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
There are a number of additional complexities introduced when one wants
to manage multiple ``.bb`` files. Clearly there needs to be a way to
tell BitBake what files are available and, of those, which you want to
execute. There also needs to be a way for each recipe to express its
dependencies, both for build-time and runtime. There must be a way for
you to express recipe preferences when multiple recipes provide the same
functionality, or when there are multiple versions of a recipe.
The ``bitbake`` command, when not using "--buildfile" or "-b" only
accepts a "PROVIDES". You cannot provide anything else. By default, a
recipe file generally "PROVIDES" its "packagename" as shown in the
following example: ::
$ bitbake foo
This next example "PROVIDES" the
package name and also uses the "-c" option to tell BitBake to just
execute the ``do_clean`` task: ::
$ bitbake -c clean foo
Executing a List of Task and Recipe Combinations
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The BitBake command line supports specifying different tasks for
individual targets when you specify multiple targets. For example,
suppose you had two targets (or recipes) ``myfirstrecipe`` and
``mysecondrecipe`` and you needed BitBake to run ``taskA`` for the first
recipe and ``taskB`` for the second recipe: ::
$ bitbake myfirstrecipe:do_taskA mysecondrecipe:do_taskB
Generating Dependency Graphs
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
BitBake is able to generate dependency graphs using the ``dot`` syntax.
You can convert these graphs into images using the ``dot`` tool from
`Graphviz <http://www.graphviz.org>`__.
When you generate a dependency graph, BitBake writes two files to the
current working directory:
- ``task-depends.dot``: Shows dependencies between tasks. These
dependencies match BitBake's internal task execution list.
- ``pn-buildlist``: Shows a simple list of targets that are to be
built.
To stop depending on common depends, use the "-I" depend option and
BitBake omits them from the graph. Leaving this information out can
produce more readable graphs. This way, you can remove from the graph
``DEPENDS`` from inherited classes such as ``base.bbclass``.
Here are two examples that create dependency graphs. The second example
omits depends common in OpenEmbedded from the graph: ::
$ bitbake -g foo
$ bitbake -g -I virtual/kernel -I eglibc foo
Executing a Multiple Configuration Build
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
BitBake is able to build multiple images or packages using a single
command where the different targets require different configurations
(multiple configuration builds). Each target, in this scenario, is
referred to as a "multiconfig".
To accomplish a multiple configuration build, you must define each
target's configuration separately using a parallel configuration file in
the build directory. The location for these multiconfig configuration
files is specific. They must reside in the current build directory in a
sub-directory of ``conf`` named ``multiconfig``. Following is an example
for two separate targets:
.. image:: figures/bb_multiconfig_files.png
:align: center
The reason for this required file hierarchy is because the ``BBPATH``
variable is not constructed until the layers are parsed. Consequently,
using the configuration file as a pre-configuration file is not possible
unless it is located in the current working directory.
Minimally, each configuration file must define the machine and the
temporary directory BitBake uses for the build. Suggested practice
dictates that you do not overlap the temporary directories used during
the builds.
Aside from separate configuration files for each target, you must also
enable BitBake to perform multiple configuration builds. Enabling is
accomplished by setting the
:term:`BBMULTICONFIG` variable in the
``local.conf`` configuration file. As an example, suppose you had
configuration files for ``target1`` and ``target2`` defined in the build
directory. The following statement in the ``local.conf`` file both
enables BitBake to perform multiple configuration builds and specifies
the two extra multiconfigs: ::
BBMULTICONFIG = "target1 target2"
Once the target configuration files are in place and BitBake has been
enabled to perform multiple configuration builds, use the following
command form to start the builds: ::
$ bitbake [mc:multiconfigname:]target [[[mc:multiconfigname:]target] ... ]
Here is an example for two extra multiconfigs: ``target1`` and ``target2``: ::
$ bitbake mc::target mc:target1:target mc:target2:target
.. _bb-enabling-multiple-configuration-build-dependencies:
Enabling Multiple Configuration Build Dependencies
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sometimes dependencies can exist between targets (multiconfigs) in a
multiple configuration build. For example, suppose that in order to
build an image for a particular architecture, the root filesystem of
another build for a different architecture needs to exist. In other
words, the image for the first multiconfig depends on the root
filesystem of the second multiconfig. This dependency is essentially
that the task in the recipe that builds one multiconfig is dependent on
the completion of the task in the recipe that builds another
multiconfig.
To enable dependencies in a multiple configuration build, you must
declare the dependencies in the recipe using the following statement
form: ::
task_or_package[mcdepends] = "mc:from_multiconfig:to_multiconfig:recipe_name:task_on_which_to_depend"
To better show how to use this statement, consider an example with two
multiconfigs: ``target1`` and ``target2``: ::
image_task[mcdepends] = "mc:target1:target2:image2:rootfs_task"
In this example, the
``from_multiconfig`` is "target1" and the ``to_multiconfig`` is "target2". The
task on which the image whose recipe contains image_task depends on the
completion of the rootfs_task used to build out image2, which is
associated with the "target2" multiconfig.
Once you set up this dependency, you can build the "target1" multiconfig
using a BitBake command as follows: ::
$ bitbake mc:target1:image1
This command executes all the tasks needed to create ``image1`` for the "target1"
multiconfig. Because of the dependency, BitBake also executes through
the ``rootfs_task`` for the "target2" multiconfig build.
Having a recipe depend on the root filesystem of another build might not
seem that useful. Consider this change to the statement in the image1
recipe: ::
image_task[mcdepends] = "mc:target1:target2:image2:image_task"
In this case, BitBake must create ``image2`` for the "target2" build since
the "target1" build depends on it.
Because "target1" and "target2" are enabled for multiple configuration
builds and have separate configuration files, BitBake places the
artifacts for each build in the respective temporary build directories.

View File

@@ -0,0 +1,728 @@
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<chapter id="bitbake-user-manual-intro">
<title>Overview</title>
<para>
Welcome to the BitBake User Manual.
This manual provides information on the BitBake tool.
The information attempts to be as independent as possible regarding
systems that use BitBake, such as OpenEmbedded and the
Yocto Project.
In some cases, scenarios or examples within the context of
a build system are used in the manual to help with understanding.
For these cases, the manual clearly states the context.
</para>
<section id="intro">
<title>Introduction</title>
<para>
Fundamentally, BitBake is a generic task execution
engine that allows shell and Python tasks to be run
efficiently and in parallel while working within
complex inter-task dependency constraints.
One of BitBake's main users, OpenEmbedded, takes this core
and builds embedded Linux software stacks using
a task-oriented approach.
</para>
<para>
Conceptually, BitBake is similar to GNU Make in
some regards but has significant differences:
<itemizedlist>
<listitem><para>
BitBake executes tasks according to provided
metadata that builds up the tasks.
Metadata is stored in recipe (<filename>.bb</filename>)
and related recipe "append" (<filename>.bbappend</filename>)
files, configuration (<filename>.conf</filename>) and
underlying include (<filename>.inc</filename>) files, and
in class (<filename>.bbclass</filename>) files.
The metadata provides
BitBake with instructions on what tasks to run and
the dependencies between those tasks.
</para></listitem>
<listitem><para>
BitBake includes a fetcher library for obtaining source
code from various places such as local files, source control
systems, or websites.
</para></listitem>
<listitem><para>
The instructions for each unit to be built (e.g. a piece
of software) are known as "recipe" files and
contain all the information about the unit
(dependencies, source file locations, checksums, description
and so on).
</para></listitem>
<listitem><para>
BitBake includes a client/server abstraction and can
be used from a command line or used as a service over
XML-RPC and has several different user interfaces.
</para></listitem>
</itemizedlist>
</para>
</section>
<section id="history-and-goals">
<title>History and Goals</title>
<para>
BitBake was originally a part of the OpenEmbedded project.
It was inspired by the Portage package management system
used by the Gentoo Linux distribution.
On December 7, 2004, OpenEmbedded project team member
Chris Larson split the project into two distinct pieces:
<itemizedlist>
<listitem><para>BitBake, a generic task executor</para></listitem>
<listitem><para>OpenEmbedded, a metadata set utilized by
BitBake</para></listitem>
</itemizedlist>
Today, BitBake is the primary basis of the
<ulink url="http://www.openembedded.org/">OpenEmbedded</ulink>
project, which is being used to build and maintain Linux
distributions such as the
<ulink url='http://www.angstrom-distribution.org/'>Angstrom Distribution</ulink>,
and which is also being used as the build tool for Linux projects
such as the
<ulink url='http://www.yoctoproject.org'>Yocto Project</ulink>.
</para>
<para>
Prior to BitBake, no other build tool adequately met the needs of
an aspiring embedded Linux distribution.
All of the build systems used by traditional desktop Linux
distributions lacked important functionality, and none of the
ad hoc Buildroot-based systems, prevalent in the
embedded space, were scalable or maintainable.
</para>
<para>
Some important original goals for BitBake were:
<itemizedlist>
<listitem><para>
Handle cross-compilation.
</para></listitem>
<listitem><para>
Handle inter-package dependencies (build time on
target architecture, build time on native
architecture, and runtime).
</para></listitem>
<listitem><para>
Support running any number of tasks within a given
package, including, but not limited to, fetching
upstream sources, unpacking them, patching them,
configuring them, and so forth.
</para></listitem>
<listitem><para>
Be Linux distribution agnostic for both build and
target systems.
</para></listitem>
<listitem><para>
Be architecture agnostic.
</para></listitem>
<listitem><para>
Support multiple build and target operating systems
(e.g. Cygwin, the BSDs, and so forth).
</para></listitem>
<listitem><para>
Be self contained, rather than tightly
integrated into the build machine's root
filesystem.
</para></listitem>
<listitem><para>
Handle conditional metadata on the target architecture,
operating system, distribution, and machine.
</para></listitem>
<listitem><para>
Be easy to use the tools to supply local metadata and packages
against which to operate.
</para></listitem>
<listitem><para>
Be easy to use BitBake to collaborate between multiple
projects for their builds.
</para></listitem>
<listitem><para>
Provide an inheritance mechanism to share
common metadata between many packages.
</para></listitem>
</itemizedlist>
Over time it became apparent that some further requirements
were necessary:
<itemizedlist>
<listitem><para>
Handle variants of a base recipe (e.g. native, sdk,
and multilib).
</para></listitem>
<listitem><para>
Split metadata into layers and allow layers
to enhance or override other layers.
</para></listitem>
<listitem><para>
Allow representation of a given set of input variables
to a task as a checksum.
Based on that checksum, allow acceleration of builds
with prebuilt components.
</para></listitem>
</itemizedlist>
BitBake satisfies all the original requirements and many more
with extensions being made to the basic functionality to
reflect the additional requirements.
Flexibility and power have always been the priorities.
BitBake is highly extensible and supports embedded Python code and
execution of any arbitrary tasks.
</para>
</section>
<section id="Concepts">
<title>Concepts</title>
<para>
BitBake is a program written in the Python language.
At the highest level, BitBake interprets metadata, decides
what tasks are required to run, and executes those tasks.
Similar to GNU Make, BitBake controls how software is
built.
GNU Make achieves its control through "makefiles", while
BitBake uses "recipes".
</para>
<para>
BitBake extends the capabilities of a simple
tool like GNU Make by allowing for the definition of much more
complex tasks, such as assembling entire embedded Linux
distributions.
</para>
<para>
The remainder of this section introduces several concepts
that should be understood in order to better leverage
the power of BitBake.
</para>
<section id='recipes'>
<title>Recipes</title>
<para>
BitBake Recipes, which are denoted by the file extension
<filename>.bb</filename>, are the most basic metadata files.
These recipe files provide BitBake with the following:
<itemizedlist>
<listitem><para>Descriptive information about the
package (author, homepage, license, and so on)</para></listitem>
<listitem><para>The version of the recipe</para></listitem>
<listitem><para>Existing dependencies (both build
and runtime dependencies)</para></listitem>
<listitem><para>Where the source code resides and
how to fetch it</para></listitem>
<listitem><para>Whether the source code requires
any patches, where to find them, and how to apply
them</para></listitem>
<listitem><para>How to configure and compile the
source code</para></listitem>
<listitem><para>Where on the target machine to install the
package or packages created</para></listitem>
</itemizedlist>
</para>
<para>
Within the context of BitBake, or any project utilizing BitBake
as its build system, files with the <filename>.bb</filename>
extension are referred to as recipes.
<note>
The term "package" is also commonly used to describe recipes.
However, since the same word is used to describe packaged
output from a project, it is best to maintain a single
descriptive term - "recipes".
Put another way, a single "recipe" file is quite capable
of generating a number of related but separately installable
"packages".
In fact, that ability is fairly common.
</note>
</para>
</section>
<section id='configuration-files'>
<title>Configuration Files</title>
<para>
Configuration files, which are denoted by the
<filename>.conf</filename> extension, define
various configuration variables that govern the project's build
process.
These files fall into several areas that define
machine configuration options, distribution configuration
options, compiler tuning options, general common
configuration options, and user configuration options.
The main configuration file is the sample
<filename>bitbake.conf</filename> file, which is
located within the BitBake source tree
<filename>conf</filename> directory.
</para>
</section>
<section id='classes'>
<title>Classes</title>
<para>
Class files, which are denoted by the
<filename>.bbclass</filename> extension, contain
information that is useful to share between metadata files.
The BitBake source tree currently comes with one class metadata file
called <filename>base.bbclass</filename>.
You can find this file in the
<filename>classes</filename> directory.
The <filename>base.bbclass</filename> class files is special since it
is always included automatically for all recipes
and classes.
This class contains definitions for standard basic tasks such
as fetching, unpacking, configuring (empty by default),
compiling (runs any Makefile present), installing (empty by
default) and packaging (empty by default).
These tasks are often overridden or extended by other classes
added during the project development process.
</para>
</section>
<section id='layers'>
<title>Layers</title>
<para>
Layers allow you to isolate different types of
customizations from each other.
While you might find it tempting to keep everything in one layer
when working on a single project, the more modular you organize
your metadata, the easier it is to cope with future changes.
</para>
<para>
To illustrate how you can use layers to keep things modular,
consider customizations you might make to support a specific target machine.
These types of customizations typically reside in a special layer,
rather than a general layer, called a Board Support Package (BSP)
Layer.
Furthermore, the machine customizations should be isolated from
recipes and metadata that support a new GUI environment, for
example.
This situation gives you a couple of layers: one for the machine
configurations and one for the GUI environment.
It is important to understand, however, that the BSP layer can still
make machine-specific additions to recipes within
the GUI environment layer without polluting the GUI layer itself
with those machine-specific changes.
You can accomplish this through a recipe that is a BitBake append
(<filename>.bbappend</filename>) file.
</para>
</section>
<section id='append-bbappend-files'>
<title>Append Files</title>
<para>
Append files, which are files that have the
<filename>.bbappend</filename> file extension, extend or
override information in an existing recipe file.
</para>
<para>
BitBake expects every append file to have a corresponding recipe file.
Furthermore, the append file and corresponding recipe file
must use the same root filename.
The filenames can differ only in the file type suffix used
(e.g. <filename>formfactor_0.0.bb</filename> and
<filename>formfactor_0.0.bbappend</filename>).
</para>
<para>
Information in append files extends or
overrides the information in the underlying,
similarly-named recipe files.
</para>
<para>
When you name an append file, you can use the
wildcard character (%) to allow for matching recipe names.
For example, suppose you have an append file named
as follows:
<literallayout class='monospaced'>
busybox_1.21.%.bbappend
</literallayout>
That append file would match any <filename>busybox_1.21.x.bb</filename>
version of the recipe.
So, the append file would match the following recipe names:
<literallayout class='monospaced'>
busybox_1.21.1.bb
busybox_1.21.2.bb
busybox_1.21.3.bb
</literallayout>
If the <filename>busybox</filename> recipe was updated to
<filename>busybox_1.3.0.bb</filename>, the append name would not
match.
However, if you named the append file
<filename>busybox_1.%.bbappend</filename>, then you would have a match.
</para>
<para>
In the most general case, you could name the append file something as
simple as <filename>busybox_%.bbappend</filename> to be entirely
version independent.
</para>
</section>
</section>
<section id='obtaining-bitbake'>
<title>Obtaining BitBake</title>
<para>
You can obtain BitBake several different ways:
<itemizedlist>
<listitem><para><emphasis>Cloning BitBake:</emphasis>
Using Git to clone the BitBake source code repository
is the recommended method for obtaining BitBake.
Cloning the repository makes it easy to get bug fixes
and have access to stable branches and the master
branch.
Once you have cloned BitBake, you should use
the latest stable
branch for development since the master branch is for
BitBake development and might contain less stable changes.
</para>
<para>You usually need a version of BitBake
that matches the metadata you are using.
The metadata is generally backwards compatible but
not forward compatible.</para>
<para>Here is an example that clones the BitBake repository:
<literallayout class='monospaced'>
$ git clone git://git.openembedded.org/bitbake
</literallayout>
This command clones the BitBake Git repository into a
directory called <filename>bitbake</filename>.
Alternatively, you can
designate a directory after the
<filename>git clone</filename> command
if you want to call the new directory something
other than <filename>bitbake</filename>.
Here is an example that names the directory
<filename>bbdev</filename>:
<literallayout class='monospaced'>
$ git clone git://git.openembedded.org/bitbake bbdev
</literallayout></para></listitem>
<listitem><para><emphasis>Installation using your Distribution
Package Management System:</emphasis>
This method is not
recommended because the BitBake version that is
provided by your distribution, in most cases,
is several
releases behind a snapshot of the BitBake repository.
</para></listitem>
<listitem><para><emphasis>Taking a snapshot of BitBake:</emphasis>
Downloading a snapshot of BitBake from the
source code repository gives you access to a known
branch or release of BitBake.
<note>
Cloning the Git repository, as described earlier,
is the preferred method for getting BitBake.
Cloning the repository makes it easier to update as
patches are added to the stable branches.
</note></para>
<para>The following example downloads a snapshot of
BitBake version 1.17.0:
<literallayout class='monospaced'>
$ wget http://git.openembedded.org/bitbake/snapshot/bitbake-1.17.0.tar.gz
$ tar zxpvf bitbake-1.17.0.tar.gz
</literallayout>
After extraction of the tarball using the tar utility,
you have a directory entitled
<filename>bitbake-1.17.0</filename>.
</para></listitem>
<listitem><para><emphasis>Using the BitBake that Comes With Your
Build Checkout:</emphasis>
A final possibility for getting a copy of BitBake is that it
already comes with your checkout of a larger Bitbake-based build
system, such as Poky.
Rather than manually checking out individual layers and
gluing them together yourself, you can check
out an entire build system.
The checkout will already include a version of BitBake that
has been thoroughly tested for compatibility with the other
components.
For information on how to check out a particular BitBake-based
build system, consult that build system's supporting documentation.
</para></listitem>
</itemizedlist>
</para>
</section>
<section id="bitbake-user-manual-command">
<title>The BitBake Command</title>
<para>
The <filename>bitbake</filename> command is the primary interface
to the BitBake tool.
This section presents the BitBake command syntax and provides
several execution examples.
</para>
<section id='usage-and-syntax'>
<title>Usage and syntax</title>
<para>
Following is the usage and syntax for BitBake:
<literallayout class='monospaced'>
$ bitbake -h
Usage: bitbake [options] [recipename/target recipe:do_task ...]
Executes the specified task (default is 'build') for a given set of target recipes (.bb files).
It is assumed there is a conf/bblayers.conf available in cwd or in BBPATH which
will provide the layer, BBFILES and other configuration information.
Options:
--version show program's version number and exit
-h, --help show this help message and exit
-b BUILDFILE, --buildfile=BUILDFILE
Execute tasks from a specific .bb recipe directly.
WARNING: Does not handle any dependencies from other
recipes.
-k, --continue Continue as much as possible after an error. While the
target that failed and anything depending on it cannot
be built, as much as possible will be built before
stopping.
-f, --force Force the specified targets/task to run (invalidating
any existing stamp file).
-c CMD, --cmd=CMD Specify the task to execute. The exact options
available depend on the metadata. Some examples might
be 'compile' or 'populate_sysroot' or 'listtasks' may
give a list of the tasks available.
-C INVALIDATE_STAMP, --clear-stamp=INVALIDATE_STAMP
Invalidate the stamp for the specified task such as
'compile' and then run the default task for the
specified target(s).
-r PREFILE, --read=PREFILE
Read the specified file before bitbake.conf.
-R POSTFILE, --postread=POSTFILE
Read the specified file after bitbake.conf.
-v, --verbose Enable tracing of shell tasks (with 'set -x'). Also
print bb.note(...) messages to stdout (in addition to
writing them to ${T}/log.do_&lt;task&gt;).
-D, --debug Increase the debug level. You can specify this more
than once. -D sets the debug level to 1, where only
bb.debug(1, ...) messages are printed to stdout; -DD
sets the debug level to 2, where both bb.debug(1, ...)
and bb.debug(2, ...) messages are printed; etc.
Without -D, no debug messages are printed. Note that
-D only affects output to stdout. All debug messages
are written to ${T}/log.do_taskname, regardless of the
debug level.
-q, --quiet Output less log message data to the terminal. You can
specify this more than once.
-n, --dry-run Don't execute, just go through the motions.
-S SIGNATURE_HANDLER, --dump-signatures=SIGNATURE_HANDLER
Dump out the signature construction information, with
no task execution. The SIGNATURE_HANDLER parameter is
passed to the handler. Two common values are none and
printdiff but the handler may define more/less. none
means only dump the signature, printdiff means compare
the dumped signature with the cached one.
-p, --parse-only Quit after parsing the BB recipes.
-s, --show-versions Show current and preferred versions of all recipes.
-e, --environment Show the global or per-recipe environment complete
with information about where variables were
set/changed.
-g, --graphviz Save dependency tree information for the specified
targets in the dot syntax.
-I EXTRA_ASSUME_PROVIDED, --ignore-deps=EXTRA_ASSUME_PROVIDED
Assume these dependencies don't exist and are already
provided (equivalent to ASSUME_PROVIDED). Useful to
make dependency graphs more appealing
-l DEBUG_DOMAINS, --log-domains=DEBUG_DOMAINS
Show debug logging for the specified logging domains
-P, --profile Profile the command and save reports.
-u UI, --ui=UI The user interface to use (knotty, ncurses or taskexp
- default knotty).
--token=XMLRPCTOKEN Specify the connection token to be used when
connecting to a remote server.
--revisions-changed Set the exit code depending on whether upstream
floating revisions have changed or not.
--server-only Run bitbake without a UI, only starting a server
(cooker) process.
-B BIND, --bind=BIND The name/address for the bitbake xmlrpc server to bind
to.
-T SERVER_TIMEOUT, --idle-timeout=SERVER_TIMEOUT
Set timeout to unload bitbake server due to
inactivity, set to -1 means no unload, default:
Environment variable BB_SERVER_TIMEOUT.
--no-setscene Do not run any setscene tasks. sstate will be ignored
and everything needed, built.
--setscene-only Only run setscene tasks, don't run any real tasks.
--remote-server=REMOTE_SERVER
Connect to the specified server.
-m, --kill-server Terminate any running bitbake server.
--observe-only Connect to a server as an observing-only client.
--status-only Check the status of the remote bitbake server.
-w WRITEEVENTLOG, --write-log=WRITEEVENTLOG
Writes the event log of the build to a bitbake event
json file. Use '' (empty string) to assign the name
automatically.
--runall=RUNALL Run the specified task for any recipe in the taskgraph
of the specified target (even if it wouldn't otherwise
have run).
--runonly=RUNONLY Run only the specified task within the taskgraph of
the specified targets (and any task dependencies those
tasks may have).
</literallayout>
</para>
</section>
<section id='bitbake-examples'>
<title>Examples</title>
<para>
This section presents some examples showing how to use BitBake.
</para>
<section id='example-executing-a-task-against-a-single-recipe'>
<title>Executing a Task Against a Single Recipe</title>
<para>
Executing tasks for a single recipe file is relatively simple.
You specify the file in question, and BitBake parses
it and executes the specified task.
If you do not specify a task, BitBake executes the default
task, which is "build”.
BitBake obeys inter-task dependencies when doing
so.
</para>
<para>
The following command runs the build task, which is
the default task, on the <filename>foo_1.0.bb</filename>
recipe file:
<literallayout class='monospaced'>
$ bitbake -b foo_1.0.bb
</literallayout>
The following command runs the clean task on the
<filename>foo.bb</filename> recipe file:
<literallayout class='monospaced'>
$ bitbake -b foo.bb -c clean
</literallayout>
<note>
The "-b" option explicitly does not handle recipe
dependencies.
Other than for debugging purposes, it is instead
recommended that you use the syntax presented in the
next section.
</note>
</para>
</section>
<section id='executing-tasks-against-a-set-of-recipe-files'>
<title>Executing Tasks Against a Set of Recipe Files</title>
<para>
There are a number of additional complexities introduced
when one wants to manage multiple <filename>.bb</filename>
files.
Clearly there needs to be a way to tell BitBake what
files are available and, of those, which you
want to execute.
There also needs to be a way for each recipe
to express its dependencies, both for build-time and
runtime.
There must be a way for you to express recipe preferences
when multiple recipes provide the same functionality, or when
there are multiple versions of a recipe.
</para>
<para>
The <filename>bitbake</filename> command, when not using
"--buildfile" or "-b" only accepts a "PROVIDES".
You cannot provide anything else.
By default, a recipe file generally "PROVIDES" its
"packagename" as shown in the following example:
<literallayout class='monospaced'>
$ bitbake foo
</literallayout>
This next example "PROVIDES" the package name and also uses
the "-c" option to tell BitBake to just execute the
<filename>do_clean</filename> task:
<literallayout class='monospaced'>
$ bitbake -c clean foo
</literallayout>
</para>
</section>
<section id='executing-a-list-of-task-and-recipe-combinations'>
<title>Executing a List of Task and Recipe Combinations</title>
<para>
The BitBake command line supports specifying different
tasks for individual targets when you specify multiple
targets.
For example, suppose you had two targets (or recipes)
<filename>myfirstrecipe</filename> and
<filename>mysecondrecipe</filename> and you needed
BitBake to run <filename>taskA</filename> for the first
recipe and <filename>taskB</filename> for the second
recipe:
<literallayout class='monospaced'>
$ bitbake myfirstrecipe:do_taskA mysecondrecipe:do_taskB
</literallayout>
</para>
</section>
<section id='generating-dependency-graphs'>
<title>Generating Dependency Graphs</title>
<para>
BitBake is able to generate dependency graphs using
the <filename>dot</filename> syntax.
You can convert these graphs into images using the
<filename>dot</filename> tool from
<ulink url='http://www.graphviz.org'>Graphviz</ulink>.
</para>
<para>
When you generate a dependency graph, BitBake writes three files
to the current working directory:
<itemizedlist>
<listitem><para>
<emphasis><filename>recipe-depends.dot</filename>:</emphasis>
Shows dependencies between recipes (i.e. a collapsed version of
<filename>task-depends.dot</filename>).
</para></listitem>
<listitem><para>
<emphasis><filename>task-depends.dot</filename>:</emphasis>
Shows dependencies between tasks.
These dependencies match BitBake's internal task execution list.
</para></listitem>
<listitem><para>
<emphasis><filename>pn-buildlist</filename>:</emphasis>
Shows a simple list of targets that are to be built.
</para></listitem>
</itemizedlist>
</para>
<para>
To stop depending on common depends, use the "-I" depend
option and BitBake omits them from the graph.
Leaving this information out can produce more readable graphs.
This way, you can remove from the graph
<filename>DEPENDS</filename> from inherited classes
such as <filename>base.bbclass</filename>.
</para>
<para>
Here are two examples that create dependency graphs.
The second example omits depends common in OpenEmbedded from
the graph:
<literallayout class='monospaced'>
$ bitbake -g foo
$ bitbake -g -I virtual/kernel -I eglibc foo
</literallayout>
</para>
</section>
</section>
</section>
</chapter>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,984 @@
/*
Generic XHTML / DocBook XHTML CSS Stylesheet.
Browser wrangling and typographic design by
Oyvind Kolas / pippin@gimp.org
Customised for Poky by
Matthew Allum / mallum@o-hand.com
Thanks to:
Liam R. E. Quin
William Skaggs
Jakub Steiner
Structure
---------
The stylesheet is divided into the following sections:
Positioning
Margins, paddings, width, font-size, clearing.
Decorations
Borders, style
Colors
Colors
Graphics
Graphical backgrounds
Nasty IE tweaks
Workarounds needed to make it work in internet explorer,
currently makes the stylesheet non validating, but up until
this point it is validating.
Mozilla extensions
Transparency for footer
Rounded corners on boxes
*/
/*************** /
/ Positioning /
/ ***************/
body {
font-family: Verdana, Sans, sans-serif;
min-width: 640px;
width: 80%;
margin: 0em auto;
padding: 2em 5em 5em 5em;
color: #333;
}
h1,h2,h3,h4,h5,h6,h7 {
font-family: Arial, Sans;
color: #00557D;
clear: both;
}
h1 {
font-size: 2em;
text-align: left;
padding: 0em 0em 0em 0em;
margin: 2em 0em 0em 0em;
}
h2.subtitle {
margin: 0.10em 0em 3.0em 0em;
padding: 0em 0em 0em 0em;
font-size: 1.8em;
padding-left: 20%;
font-weight: normal;
font-style: italic;
}
h2 {
margin: 2em 0em 0.66em 0em;
padding: 0.5em 0em 0em 0em;
font-size: 1.5em;
font-weight: bold;
}
h3.subtitle {
margin: 0em 0em 1em 0em;
padding: 0em 0em 0em 0em;
font-size: 142.14%;
text-align: right;
}
h3 {
margin: 1em 0em 0.5em 0em;
padding: 1em 0em 0em 0em;
font-size: 140%;
font-weight: bold;
}
h4 {
margin: 1em 0em 0.5em 0em;
padding: 1em 0em 0em 0em;
font-size: 120%;
font-weight: bold;
}
h5 {
margin: 1em 0em 0.5em 0em;
padding: 1em 0em 0em 0em;
font-size: 110%;
font-weight: bold;
}
h6 {
margin: 1em 0em 0em 0em;
padding: 1em 0em 0em 0em;
font-size: 110%;
font-weight: bold;
}
.authorgroup {
background-color: transparent;
background-repeat: no-repeat;
padding-top: 256px;
background-image: url("figures/bitbake-title.png");
background-position: left top;
margin-top: -256px;
padding-right: 50px;
margin-left: 0px;
text-align: right;
width: 740px;
}
h3.author {
margin: 0em 0me 0em 0em;
padding: 0em 0em 0em 0em;
font-weight: normal;
font-size: 100%;
color: #333;
clear: both;
}
.author tt.email {
font-size: 66%;
}
.titlepage hr {
width: 0em;
clear: both;
}
.revhistory {
padding-top: 2em;
clear: both;
}
.toc,
.list-of-tables,
.list-of-examples,
.list-of-figures {
padding: 1.33em 0em 2.5em 0em;
color: #00557D;
}
.toc p,
.list-of-tables p,
.list-of-figures p,
.list-of-examples p {
padding: 0em 0em 0em 0em;
padding: 0em 0em 0.3em;
margin: 1.5em 0em 0em 0em;
}
.toc p b,
.list-of-tables p b,
.list-of-figures p b,
.list-of-examples p b{
font-size: 100.0%;
font-weight: bold;
}
.toc dl,
.list-of-tables dl,
.list-of-figures dl,
.list-of-examples dl {
margin: 0em 0em 0.5em 0em;
padding: 0em 0em 0em 0em;
}
.toc dt {
margin: 0em 0em 0em 0em;
padding: 0em 0em 0em 0em;
}
.toc dd {
margin: 0em 0em 0em 2.6em;
padding: 0em 0em 0em 0em;
}
div.glossary dl,
div.variablelist dl {
}
.glossary dl dt,
.variablelist dl dt,
.variablelist dl dt span.term {
font-weight: normal;
width: 20em;
text-align: right;
}
.variablelist dl dt {
margin-top: 0.5em;
}
.glossary dl dd,
.variablelist dl dd {
margin-top: -1em;
margin-left: 25.5em;
}
.glossary dd p,
.variablelist dd p {
margin-top: 0em;
margin-bottom: 1em;
}
div.calloutlist table td {
padding: 0em 0em 0em 0em;
margin: 0em 0em 0em 0em;
}
div.calloutlist table td p {
margin-top: 0em;
margin-bottom: 1em;
}
div p.copyright {
text-align: left;
}
div.legalnotice p.legalnotice-title {
margin-bottom: 0em;
}
p {
line-height: 1.5em;
margin-top: 0em;
}
dl {
padding-top: 0em;
}
hr {
border: solid 1px;
}
.mediaobject,
.mediaobjectco {
text-align: center;
}
img {
border: none;
}
ul {
padding: 0em 0em 0em 1.5em;
}
ul li {
padding: 0em 0em 0em 0em;
}
ul li p {
text-align: left;
}
table {
width :100%;
}
th {
padding: 0.25em;
text-align: left;
font-weight: normal;
vertical-align: top;
}
td {
padding: 0.25em;
vertical-align: top;
}
p a[id] {
margin: 0px;
padding: 0px;
display: inline;
background-image: none;
}
a {
text-decoration: underline;
color: #444;
}
pre {
overflow: auto;
}
a:hover {
text-decoration: underline;
/*font-weight: bold;*/
}
/* This style defines how the permalink character
appears by itself and when hovered over with
the mouse. */
[alt='Permalink'] { color: #eee; }
[alt='Permalink']:hover { color: black; }
div.informalfigure,
div.informalexample,
div.informaltable,
div.figure,
div.table,
div.example {
margin: 1em 0em;
padding: 1em;
page-break-inside: avoid;
}
div.informalfigure p.title b,
div.informalexample p.title b,
div.informaltable p.title b,
div.figure p.title b,
div.example p.title b,
div.table p.title b{
padding-top: 0em;
margin-top: 0em;
font-size: 100%;
font-weight: normal;
}
.mediaobject .caption,
.mediaobject .caption p {
text-align: center;
font-size: 80%;
padding-top: 0.5em;
padding-bottom: 0.5em;
}
.epigraph {
padding-left: 55%;
margin-bottom: 1em;
}
.epigraph p {
text-align: left;
}
.epigraph .quote {
font-style: italic;
}
.epigraph .attribution {
font-style: normal;
text-align: right;
}
span.application {
font-style: italic;
}
.programlisting {
font-family: monospace;
font-size: 80%;
white-space: pre;
margin: 1.33em 0em;
padding: 1.33em;
}
.tip,
.warning,
.caution,
.note {
margin-top: 1em;
margin-bottom: 1em;
}
/* force full width of table within div */
.tip table,
.warning table,
.caution table,
.note table {
border: none;
width: 100%;
}
.tip table th,
.warning table th,
.caution table th,
.note table th {
padding: 0.8em 0.0em 0.0em 0.0em;
margin : 0em 0em 0em 0em;
}
.tip p,
.warning p,
.caution p,
.note p {
margin-top: 0.5em;
margin-bottom: 0.5em;
padding-right: 1em;
text-align: left;
}
.acronym {
text-transform: uppercase;
}
b.keycap,
.keycap {
padding: 0.09em 0.3em;
margin: 0em;
}
.itemizedlist li {
clear: none;
}
.filename {
font-size: medium;
font-family: Courier, monospace;
}
div.navheader, div.heading{
position: absolute;
left: 0em;
top: 0em;
width: 100%;
background-color: #cdf;
width: 100%;
}
div.navfooter, div.footing{
position: fixed;
left: 0em;
bottom: 0em;
background-color: #eee;
width: 100%;
}
div.navheader td,
div.navfooter td {
font-size: 66%;
}
div.navheader table th {
/*font-family: Georgia, Times, serif;*/
/*font-size: x-large;*/
font-size: 80%;
}
div.navheader table {
border-left: 0em;
border-right: 0em;
border-top: 0em;
width: 100%;
}
div.navfooter table {
border-left: 0em;
border-right: 0em;
border-bottom: 0em;
width: 100%;
}
div.navheader table td a,
div.navfooter table td a {
color: #777;
text-decoration: none;
}
/* normal text in the footer */
div.navfooter table td {
color: black;
}
div.navheader table td a:visited,
div.navfooter table td a:visited {
color: #444;
}
/* links in header and footer */
div.navheader table td a:hover,
div.navfooter table td a:hover {
text-decoration: underline;
background-color: transparent;
color: #33a;
}
div.navheader hr,
div.navfooter hr {
display: none;
}
.qandaset tr.question td p {
margin: 0em 0em 1em 0em;
padding: 0em 0em 0em 0em;
}
.qandaset tr.answer td p {
margin: 0em 0em 1em 0em;
padding: 0em 0em 0em 0em;
}
.answer td {
padding-bottom: 1.5em;
}
.emphasis {
font-weight: bold;
}
/************* /
/ decorations /
/ *************/
.titlepage {
}
.part .title {
}
.subtitle {
border: none;
}
/*
h1 {
border: none;
}
h2 {
border-top: solid 0.2em;
border-bottom: solid 0.06em;
}
h3 {
border-top: 0em;
border-bottom: solid 0.06em;
}
h4 {
border: 0em;
border-bottom: solid 0.06em;
}
h5 {
border: 0em;
}
*/
.programlisting {
border: solid 1px;
}
div.figure,
div.table,
div.informalfigure,
div.informaltable,
div.informalexample,
div.example {
border: 1px solid;
}
.tip,
.warning,
.caution,
.note {
border: 1px solid;
}
.tip table th,
.warning table th,
.caution table th,
.note table th {
border-bottom: 1px solid;
}
.question td {
border-top: 1px solid black;
}
.answer {
}
b.keycap,
.keycap {
border: 1px solid;
}
div.navheader, div.heading{
border-bottom: 1px solid;
}
div.navfooter, div.footing{
border-top: 1px solid;
}
/********* /
/ colors /
/ *********/
body {
color: #333;
background: white;
}
a {
background: transparent;
}
a:hover {
background-color: #dedede;
}
h1,
h2,
h3,
h4,
h5,
h6,
h7,
h8 {
background-color: transparent;
}
hr {
border-color: #aaa;
}
.tip, .warning, .caution, .note {
border-color: #fff;
}
.tip table th,
.warning table th,
.caution table th,
.note table th {
border-bottom-color: #fff;
}
.warning {
background-color: #f0f0f2;
}
.caution {
background-color: #f0f0f2;
}
.tip {
background-color: #f0f0f2;
}
.note {
background-color: #f0f0f2;
}
.glossary dl dt,
.variablelist dl dt,
.variablelist dl dt span.term {
color: #044;
}
div.figure,
div.table,
div.example,
div.informalfigure,
div.informaltable,
div.informalexample {
border-color: #aaa;
}
pre.programlisting {
color: black;
background-color: #fff;
border-color: #aaa;
border-width: 2px;
}
.guimenu,
.guilabel,
.guimenuitem {
background-color: #eee;
}
b.keycap,
.keycap {
background-color: #eee;
border-color: #999;
}
div.navheader {
border-color: black;
}
div.navfooter {
border-color: black;
}
/*********** /
/ graphics /
/ ***********/
/*
body {
background-image: url("images/body_bg.jpg");
background-attachment: fixed;
}
.navheader,
.note,
.tip {
background-image: url("images/note_bg.jpg");
background-attachment: fixed;
}
.warning,
.caution {
background-image: url("images/warning_bg.jpg");
background-attachment: fixed;
}
.figure,
.informalfigure,
.example,
.informalexample,
.table,
.informaltable {
background-image: url("images/figure_bg.jpg");
background-attachment: fixed;
}
*/
h1,
h2,
h3,
h4,
h5,
h6,
h7{
}
/*
Example of how to stick an image as part of the title.
div.article .titlepage .title
{
background-image: url("figures/white-on-black.png");
background-position: center;
background-repeat: repeat-x;
}
*/
div.preface .titlepage .title,
div.colophon .title,
div.chapter .titlepage .title,
div.article .titlepage .title
{
}
div.section div.section .titlepage .title,
div.sect2 .titlepage .title {
background: none;
}
h1.title {
background-color: transparent;
background-repeat: no-repeat;
height: 256px;
text-indent: -9000px;
overflow:hidden;
}
h2.subtitle {
background-color: transparent;
text-indent: -9000px;
overflow:hidden;
width: 0px;
display: none;
}
/*************************************** /
/ pippin.gimp.org specific alterations /
/ ***************************************/
/*
div.heading, div.navheader {
color: #777;
font-size: 80%;
padding: 0;
margin: 0;
text-align: left;
position: absolute;
top: 0px;
left: 0px;
width: 100%;
height: 50px;
background: url('/gfx/heading_bg.png') transparent;
background-repeat: repeat-x;
background-attachment: fixed;
border: none;
}
div.heading a {
color: #444;
}
div.footing, div.navfooter {
border: none;
color: #ddd;
font-size: 80%;
text-align:right;
width: 100%;
padding-top: 10px;
position: absolute;
bottom: 0px;
left: 0px;
background: url('/gfx/footing_bg.png') transparent;
}
*/
/****************** /
/ nasty ie tweaks /
/ ******************/
/*
div.heading, div.navheader {
width:expression(document.body.clientWidth + "px");
}
div.footing, div.navfooter {
width:expression(document.body.clientWidth + "px");
margin-left:expression("-5em");
}
body {
padding:expression("4em 5em 0em 5em");
}
*/
/**************************************** /
/ mozilla vendor specific css extensions /
/ ****************************************/
/*
div.navfooter, div.footing{
-moz-opacity: 0.8em;
}
div.figure,
div.table,
div.informalfigure,
div.informaltable,
div.informalexample,
div.example,
.tip,
.warning,
.caution,
.note {
-moz-border-radius: 0.5em;
}
b.keycap,
.keycap {
-moz-border-radius: 0.3em;
}
*/
table tr td table tr td {
display: none;
}
hr {
display: none;
}
table {
border: 0em;
}
.photo {
float: right;
margin-left: 1.5em;
margin-bottom: 1.5em;
margin-top: 0em;
max-width: 17em;
border: 1px solid gray;
padding: 3px;
background: white;
}
.seperator {
padding-top: 2em;
clear: both;
}
#validators {
margin-top: 5em;
text-align: right;
color: #777;
}
@media print {
body {
font-size: 8pt;
}
.noprint {
display: none;
}
}
.tip,
.note {
background: #f0f0f2;
color: #333;
padding: 20px;
margin: 20px;
}
.tip h3,
.note h3 {
padding: 0em;
margin: 0em;
font-size: 2em;
font-weight: bold;
color: #333;
}
.tip a,
.note a {
color: #333;
text-decoration: underline;
}
.footnote {
font-size: small;
color: #333;
}
/* Changes the announcement text */
.tip h3,
.warning h3,
.caution h3,
.note h3 {
font-size:large;
color: #00557D;
}

View File

@@ -0,0 +1,88 @@
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<book id='bitbake-user-manual' lang='en'
xmlns:xi="http://www.w3.org/2003/XInclude"
xmlns="http://docbook.org/ns/docbook"
>
<bookinfo>
<mediaobject>
<imageobject>
<imagedata fileref='figures/bitbake-title.png'
format='SVG'
align='left' scalefit='1' width='100%'/>
</imageobject>
</mediaobject>
<title>
BitBake User Manual
</title>
<authorgroup>
<author>
<firstname>Richard Purdie, Chris Larson, and </firstname> <surname>Phil Blundell</surname>
<affiliation>
<orgname>BitBake Community</orgname>
</affiliation>
<email>bitbake-devel@lists.openembedded.org</email>
</author>
</authorgroup>
<!--
# Add in some revision history if we want it here.
<revhistory>
<revision>
<revnumber>x.x</revnumber>
<date>dd month year</date>
<revremark>Some relevent comment</revremark>
</revision>
<revision>
<revnumber>x.x</revnumber>
<date>dd month year</date>
<revremark>Some relevent comment</revremark>
</revision>
<revision>
<revnumber>x.x</revnumber>
<date>dd month year</date>
<revremark>Some relevent comment</revremark>
</revision>
<revision>
<revnumber>x.x</revnumber>
<date>dd month year</date>
<revremark>Some relevent comment</revremark>
</revision>
</revhistory>
-->
<copyright>
<year>2004-2018</year>
<holder>Richard Purdie</holder>
<holder>Chris Larson</holder>
<holder>and Phil Blundell</holder>
</copyright>
<legalnotice>
<para>
This work is licensed under the Creative Commons Attribution License.
To view a copy of this license, visit
<ulink url="http://creativecommons.org/licenses/by/2.5/">http://creativecommons.org/licenses/by/2.5/</ulink>
or send a letter to Creative Commons, 444 Castro Street,
Suite 900, Mountain View, California 94041, USA.
</para>
</legalnotice>
</bookinfo>
<xi:include href="bitbake-user-manual-intro.xml"/>
<xi:include href="bitbake-user-manual-execution.xml"/>
<xi:include href="bitbake-user-manual-metadata.xml"/>
<xi:include href="bitbake-user-manual-fetching.xml"/>
<xi:include href="bitbake-user-manual-ref-variables.xml"/>
<xi:include href="bitbake-user-manual-hello.xml"/>
</book>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

View File

@@ -0,0 +1,281 @@
/* Feuille de style DocBook du projet Traduc.org */
/* DocBook CSS stylesheet of the Traduc.org project */
/* (c) Jean-Philippe Gu<47>rard - 14 ao<61>t 2004 */
/* (c) Jean-Philippe Gu<47>rard - 14 August 2004 */
/* Cette feuille de style est libre, vous pouvez la */
/* redistribuer et la modifier selon les termes de la Licence */
/* Art Libre. Vous trouverez un exemplaire de cette Licence sur */
/* http://tigreraye.org/Petit-guide-du-traducteur.html#licence-art-libre */
/* This work of art is free, you can redistribute it and/or */
/* modify it according to terms of the Free Art license. You */
/* will find a specimen of this license on the Copyleft */
/* Attitude web site: http://artlibre.org as well as on other */
/* sites. */
/* Please note that the French version of this licence as shown */
/* on http://tigreraye.org/Petit-guide-du-traducteur.html#licence-art-libre */
/* is only official licence of this document. The English */
/* is only provided to help you understand this licence. */
/* La derni<6E>re version de cette feuille de style est toujours */
/* disponible sur<75>: http://tigreraye.org/style.css */
/* Elle est <20>galement disponible sur<75>: */
/* http://www.traduc.org/docs/HOWTO/lecture/style.css */
/* The latest version of this stylesheet is available from: */
/* http://tigreraye.org/style.css */
/* It is also available on: */
/* http://www.traduc.org/docs/HOWTO/lecture/style.css */
/* N'h<>sitez pas <20> envoyer vos commentaires et corrections <20> */
/* Jean-Philippe Gu<47>rard <jean-philippe.guerard@tigreraye.org> */
/* Please send feedback and bug reports to */
/* Jean-Philippe Gu<47>rard <jean-philippe.guerard@tigreraye.org> */
/* $Id: style.css,v 1.14 2004/09/10 20:12:09 fevrier Exp fevrier $ */
/* Pr<50>sentation g<>n<EFBFBD>rale du document */
/* Overall document presentation */
body {
/*
font-family: Apolline, "URW Palladio L", Garamond, jGaramond,
"Bitstream Cyberbit", "Palatino Linotype", serif;
*/
margin: 7%;
background-color: white;
}
/* Taille du texte */
/* Text size */
* { font-size: 100%; }
/* Gestion des textes mis en relief imbriqu<71>s */
/* Embedded emphasis */
em { font-style: italic; }
em em { font-style: normal; }
em em em { font-style: italic; }
/* Titres */
/* Titles */
h1 { font-size: 200%; font-weight: 900; }
h2 { font-size: 160%; font-weight: 900; }
h3 { font-size: 130%; font-weight: bold; }
h4 { font-size: 115%; font-weight: bold; }
h5 { font-size: 108%; font-weight: bold; }
h6 { font-weight: bold; }
/* Nom de famille en petites majuscules (uniquement en fran<61>ais) */
/* Last names in small caps (for French only) */
*[class~="surname"]:lang(fr) { font-variant: small-caps; }
/* Blocs de citation */
/* Quotation blocs */
div[class~="blockquote"] {
border: solid 2px #AAA;
padding: 5px;
margin: 5px;
}
div[class~="blockquote"] > table {
border: none;
}
/* Blocs lit<69>raux<75>: fond gris clair */
/* Literal blocs: light gray background */
*[class~="literallayout"] {
background: #f0f0f0;
padding: 5px;
margin: 5px;
}
/* Programmes et captures texte<74>: fond bleu clair */
/* Listing and text screen snapshots: light blue background */
*[class~="programlisting"], *[class~="screen"] {
background: #f0f0ff;
padding: 5px;
margin: 5px;
}
/* Les textes <20> remplacer sont surlign<67>s en vert p<>le */
/* Replaceable text in highlighted in pale green */
*[class~="replaceable"] {
background-color: #98fb98;
font-style: normal; }
/* Tables<65>: fonds gris clair & bords simples */
/* Tables: light gray background and solid borders */
*[class~="table"] *[class~="title"] { width:100%; border: 0px; }
table {
border: 1px solid #aaa;
border-collapse: collapse;
padding: 2px;
margin: 5px;
}
/* Listes simples en style table */
/* Simples lists in table presentation */
table[class~="simplelist"] {
background-color: #F0F0F0;
margin: 5px;
border: solid 1px #AAA;
}
table[class~="simplelist"] td {
border: solid 1px #AAA;
}
/* Les tables */
/* Tables */
*[class~="table"] table {
background-color: #F0F0F0;
border: solid 1px #AAA;
}
*[class~="informaltable"] table { background-color: #F0F0F0; }
th,td {
vertical-align: baseline;
text-align: left;
padding: 0.1em 0.3em;
empty-cells: show;
}
/* Alignement des colonnes */
/* Colunms alignment */
td[align=center] , th[align=center] { text-align: center; }
td[align=right] , th[align=right] { text-align: right; }
td[align=left] , th[align=left] { text-align: left; }
td[align=justify] , th[align=justify] { text-align: justify; }
/* Pas de marge autour des images */
/* No inside margins for images */
img { border: 0; }
/* Les liens ne sont pas soulign<67>s */
/* No underlines for links */
:link , :visited , :active { text-decoration: none; }
/* Prudence<63>: cadre jaune et fond jaune clair */
/* Caution: yellow border and light yellow background */
*[class~="caution"] {
border: solid 2px yellow;
background-color: #ffffe0;
padding: 1em 6px 1em ;
margin: 5px;
}
*[class~="caution"] th {
vertical-align: middle
}
*[class~="caution"] table {
background-color: #ffffe0;
border: none;
}
/* Note importante<74>: cadre jaune et fond jaune clair */
/* Important: yellow border and light yellow background */
*[class~="important"] {
border: solid 2px yellow;
background-color: #ffffe0;
padding: 1em 6px 1em;
margin: 5px;
}
*[class~="important"] th {
vertical-align: middle
}
*[class~="important"] table {
background-color: #ffffe0;
border: none;
}
/* Mise en <20>vidence<63>: texte l<>g<EFBFBD>rement plus grand */
/* Highlights: slightly larger texts */
*[class~="highlights"] {
font-size: 110%;
}
/* Note<74>: cadre bleu et fond bleu clair */
/* Notes: blue border and light blue background */
*[class~="note"] {
border: solid 2px #7099C5;
background-color: #f0f0ff;
padding: 1em 6px 1em ;
margin: 5px;
}
*[class~="note"] th {
vertical-align: middle
}
*[class~="note"] table {
background-color: #f0f0ff;
border: none;
}
/* Astuce<63>: cadre vert et fond vert clair */
/* Tip: green border and light green background */
*[class~="tip"] {
border: solid 2px #00ff00;
background-color: #f0ffff;
padding: 1em 6px 1em ;
margin: 5px;
}
*[class~="tip"] th {
vertical-align: middle;
}
*[class~="tip"] table {
background-color: #f0ffff;
border: none;
}
/* Avertissement<6E>: cadre rouge et fond rouge clair */
/* Warning: red border and light red background */
*[class~="warning"] {
border: solid 2px #ff0000;
background-color: #fff0f0;
padding: 1em 6px 1em ;
margin: 5px;
}
*[class~="warning"] th {
vertical-align: middle;
}
*[class~="warning"] table {
background-color: #fff0f0;
border: none;
}
/* Fin */
/* The End */

View File

@@ -1,101 +0,0 @@
# Configuration file for the Sphinx documentation builder.
#
# This file only contains a selection of the most common options. For a full
# list see the documentation:
# https://www.sphinx-doc.org/en/master/usage/configuration.html
# -- Path setup --------------------------------------------------------------
# If extensions (or modules to document with autodoc) are in another directory,
# add these directories to sys.path here. If the directory is relative to the
# documentation root, use os.path.abspath to make it absolute, like shown here.
#
# import os
# import sys
# sys.path.insert(0, os.path.abspath('.'))
import sys
import datetime
current_version = "dev"
# String used in sidebar
version = 'Version: ' + current_version
if current_version == 'dev':
version = 'Version: Current Development'
# Version seen in documentation_options.js and hence in js switchers code
release = current_version
# -- Project information -----------------------------------------------------
project = 'Bitbake'
copyright = '2004-%s, Richard Purdie, Chris Larson, and Phil Blundell' \
% datetime.datetime.now().year
author = 'Richard Purdie, Chris Larson, and Phil Blundell'
# external links and substitutions
extlinks = {
'yocto_docs': ('https://docs.yoctoproject.org%s', None),
'oe_lists': ('https://lists.openembedded.org%s', None),
}
# -- General configuration ---------------------------------------------------
# Add any Sphinx extension module names here, as strings. They can be
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
# ones.
extensions = [
'sphinx.ext.autosectionlabel',
'sphinx.ext.extlinks',
]
autosectionlabel_prefix_document = True
# Add any paths that contain templates here, relative to this directory.
templates_path = ['_templates']
# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
# This pattern also affects html_static_path and html_extra_path.
exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store']
# master document name. The default changed from contents to index. so better
# set it ourselves.
master_doc = 'index'
# create substitution for project configuration variables
rst_prolog = """
.. |project_name| replace:: %s
.. |copyright| replace:: %s
.. |author| replace:: %s
""" % (project, copyright, author)
# -- Options for HTML output -------------------------------------------------
# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
#
try:
import sphinx_rtd_theme
html_theme = 'sphinx_rtd_theme'
except ImportError:
sys.stderr.write("The Sphinx sphinx_rtd_theme HTML theme was not found.\
\nPlease make sure to install the sphinx_rtd_theme python package.\n")
sys.exit(1)
# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
# so a file named "default.css" will overwrite the builtin "default.css".
html_static_path = ['sphinx-static']
# Add customm CSS and JS files
html_css_files = ['theme_overrides.css']
html_js_files = ['switchers.js']
# Hide 'Created using Sphinx' text
html_show_sphinx = False
# Add 'Last updated' on each page
html_last_updated_fmt = '%b %d, %Y'
# Remove the trailing 'dot' in section numbers
html_secnumber_suffix = " "

View File

@@ -1,3 +0,0 @@
=====
Index
=====

View File

@@ -1,38 +0,0 @@
.. SPDX-License-Identifier: CC-BY-2.5
===================
BitBake User Manual
===================
|
.. toctree::
:caption: Table of Contents
:numbered:
bitbake-user-manual/bitbake-user-manual-intro
bitbake-user-manual/bitbake-user-manual-execution
bitbake-user-manual/bitbake-user-manual-metadata
bitbake-user-manual/bitbake-user-manual-fetching
bitbake-user-manual/bitbake-user-manual-ref-variables
bitbake-user-manual/bitbake-user-manual-hello
.. toctree::
:maxdepth: 1
:hidden:
genindex
releases
----
.. include:: <xhtml1-lat1.txt>
| BitBake Community
| Copyright |copy| |copyright|
| <bitbake-devel@lists.openembedded.org>
This work is licensed under the Creative Commons Attribution License. To view a
copy of this license, visit http://creativecommons.org/licenses/by/2.5/ or send
a letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View,
California 94041, USA.

59
bitbake/doc/poky.ent Normal file
View File

@@ -0,0 +1,59 @@
<!ENTITY DISTRO "1.4">
<!ENTITY DISTRO_NAME "tbd">
<!ENTITY YOCTO_DOC_VERSION "1.4">
<!ENTITY POKYVERSION "8.0">
<!ENTITY YOCTO_POKY "poky-&DISTRO_NAME;-&POKYVERSION;">
<!ENTITY COPYRIGHT_YEAR "2010-2013">
<!ENTITY YOCTO_DL_URL "http://downloads.yoctoproject.org">
<!ENTITY YOCTO_HOME_URL "http://www.yoctoproject.org">
<!ENTITY YOCTO_LISTS_URL "http://lists.yoctoproject.org">
<!ENTITY YOCTO_BUGZILLA_URL "http://bugzilla.yoctoproject.org">
<!ENTITY YOCTO_WIKI_URL "https://wiki.yoctoproject.org">
<!ENTITY YOCTO_AB_URL "http://autobuilder.yoctoproject.org">
<!ENTITY YOCTO_GIT_URL "http://git.yoctoproject.org">
<!ENTITY YOCTO_ADTREPO_URL "http://adtrepo.yoctoproject.org">
<!ENTITY OE_HOME_URL "http://www.openembedded.org">
<!ENTITY OE_LISTS_URL "http://lists.linuxtogo.org/cgi-bin/mailman">
<!ENTITY OE_DOCS_URL "http://docs.openembedded.org">
<!ENTITY OH_HOME_URL "http://o-hand.com">
<!ENTITY BITBAKE_HOME_URL "http://developer.berlios.de/projects/bitbake/">
<!ENTITY ECLIPSE_MAIN_URL "http://www.eclipse.org/downloads">
<!ENTITY ECLIPSE_DL_URL "http://download.eclipse.org">
<!ENTITY ECLIPSE_DL_PLUGIN_URL "&YOCTO_DL_URL;/releases/eclipse-plugin/&DISTRO;">
<!ENTITY ECLIPSE_UPDATES_URL "&ECLIPSE_DL_URL;/tm/updates/3.3">
<!ENTITY ECLIPSE_INDIGO_URL "&ECLIPSE_DL_URL;/releases/indigo">
<!ENTITY ECLIPSE_JUNO_URL "&ECLIPSE_DL_URL;/releases/juno">
<!ENTITY ECLIPSE_INDIGO_CDT_URL "&ECLIPSE_DL_URL;tools/cdt/releases/indigo">
<!ENTITY YOCTO_DOCS_URL "&YOCTO_HOME_URL;/docs">
<!ENTITY YOCTO_SOURCES_URL "&YOCTO_HOME_URL;/sources/">
<!ENTITY YOCTO_AB_PORT_URL "&YOCTO_AB_URL;:8010">
<!ENTITY YOCTO_AB_NIGHTLY_URL "&YOCTO_AB_URL;/nightly/">
<!ENTITY YOCTO_POKY_URL "&YOCTO_DL_URL;/releases/poky/">
<!ENTITY YOCTO_RELEASE_DL_URL "&YOCTO_DL_URL;/releases/yocto/yocto-&DISTRO;">
<!ENTITY YOCTO_TOOLCHAIN_DL_URL "&YOCTO_RELEASE_DL_URL;/toolchain/">
<!ENTITY YOCTO_ECLIPSE_DL_URL "&YOCTO_RELEASE_DL_URL;/eclipse-plugin/indigo;">
<!ENTITY YOCTO_ADTINSTALLER_DL_URL "&YOCTO_RELEASE_DL_URL;/adt_installer">
<!ENTITY YOCTO_POKY_DL_URL "&YOCTO_RELEASE_DL_URL;/&YOCTO_POKY;.tar.bz2">
<!ENTITY YOCTO_MACHINES_DL_URL "&YOCTO_RELEASE_DL_URL;/machines">
<!ENTITY YOCTO_QEMU_DL_URL "&YOCTO_MACHINES_DL_URL;/qemu">
<!ENTITY YOCTO_PYTHON-i686_DL_URL "&YOCTO_DL_URL;/releases/miscsupport/python-nativesdk-standalone-i686.tar.bz2">
<!ENTITY YOCTO_PYTHON-x86_64_DL_URL "&YOCTO_DL_URL;/releases/miscsupport/python-nativesdk-standalone-x86_64.tar.bz2">
<!ENTITY YOCTO_DOCS_QS_URL "&YOCTO_DOCS_URL;/&YOCTO_DOC_VERSION;/yocto-project-qs/yocto-project-qs.html">
<!ENTITY YOCTO_DOCS_ADT_URL "&YOCTO_DOCS_URL;/&YOCTO_DOC_VERSION;/adt-manual/adt-manual.html">
<!ENTITY YOCTO_DOCS_REF_URL "&YOCTO_DOCS_URL;/&YOCTO_DOC_VERSION;/ref-manual/ref-manual.html">
<!ENTITY YOCTO_DOCS_BSP_URL "&YOCTO_DOCS_URL;/&YOCTO_DOC_VERSION;/bsp-guide/bsp-guide.html">
<!ENTITY YOCTO_DOCS_DEV_URL "&YOCTO_DOCS_URL;/&YOCTO_DOC_VERSION;/dev-manual/dev-manual.html">
<!ENTITY YOCTO_DOCS_KERNEL_URL "&YOCTO_DOCS_URL;/&YOCTO_DOC_VERSION;/kernel-manual/kernel-manual.html">
<!ENTITY YOCTO_ADTPATH_DIR "/opt/poky/&DISTRO;">
<!ENTITY YOCTO_POKY_TARBALL "&YOCTO_POKY;.tar.bz2">
<!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 \
build-essential chrpath">
<!ENTITY FEDORA_HOST_PACKAGES_ESSENTIAL "gawk make wget tar bzip2 gzip python unzip perl patch \
diffutils diffstat git cpp gcc gcc-c++ eglibc-devel texinfo chrpath \
ccache">
<!ENTITY OPENSUSE_HOST_PACKAGES_ESSENTIAL "python gcc gcc-c++ git chrpath make wget python-xml \
diffstat texinfo python-curses">
<!ENTITY CENTOS_HOST_PACKAGES_ESSENTIAL "gawk make wget tar bzip2 gzip python unzip perl patch \
diffutils diffstat git cpp gcc gcc-c++ glibc-devel texinfo chrpath">

View File

@@ -1,130 +0,0 @@
.. SPDX-License-Identifier: CC-BY-2.5
=========================
Current Release Manuals
=========================
****************************
3.1 'dunfell' Release Series
****************************
- :yocto_docs:`3.1 BitBake User Manual </3.1/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`3.1.1 BitBake User Manual </3.1.1/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`3.1.2 BitBake User Manual </3.1.2/bitbake-user-manual/bitbake-user-manual.html>`
==========================
Previous Release Manuals
==========================
*************************
3.0 'zeus' Release Series
*************************
- :yocto_docs:`3.0 BitBake User Manual </3.0/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`3.0.1 BitBake User Manual </3.0.1/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`3.0.2 BitBake User Manual </3.0.2/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`3.0.3 BitBake User Manual </3.0.3/bitbake-user-manual/bitbake-user-manual.html>`
****************************
2.7 'warrior' Release Series
****************************
- :yocto_docs:`2.7 BitBake User Manual </2.7/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`2.7.1 BitBake User Manual </2.7.1/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`2.7.2 BitBake User Manual </2.7.2/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`2.7.3 BitBake User Manual </2.7.3/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`2.7.4 BitBake User Manual </2.7.4/bitbake-user-manual/bitbake-user-manual.html>`
*************************
2.6 'thud' Release Series
*************************
- :yocto_docs:`2.6 BitBake User Manual </2.6/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`2.6.1 BitBake User Manual </2.6.1/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`2.6.2 BitBake User Manual </2.6.2/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`2.6.3 BitBake User Manual </2.6.3/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`2.6.4 BitBake User Manual </2.6.4/bitbake-user-manual/bitbake-user-manual.html>`
*************************
2.5 'sumo' Release Series
*************************
- :yocto_docs:`2.5 BitBake User Manual </2.5/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`2.5.1 BitBake User Manual </2.5.1/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`2.5.2 BitBake User Manual </2.5.2/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`2.5.3 BitBake User Manual </2.5.3/bitbake-user-manual/bitbake-user-manual.html>`
**************************
2.4 'rocko' Release Series
**************************
- :yocto_docs:`2.4 BitBake User Manual </2.4/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`2.4.1 BitBake User Manual </2.4.1/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`2.4.2 BitBake User Manual </2.4.2/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`2.4.3 BitBake User Manual </2.4.3/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`2.4.4 BitBake User Manual </2.4.4/bitbake-user-manual/bitbake-user-manual.html>`
*************************
2.3 'pyro' Release Series
*************************
- :yocto_docs:`2.3 BitBake User Manual </2.3/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`2.3.1 BitBake User Manual </2.3.1/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`2.3.2 BitBake User Manual </2.3.2/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`2.3.3 BitBake User Manual </2.3.3/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`2.3.4 BitBake User Manual </2.3.4/bitbake-user-manual/bitbake-user-manual.html>`
**************************
2.2 'morty' Release Series
**************************
- :yocto_docs:`2.2 BitBake User Manual </2.2/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`2.2.1 BitBake User Manual </2.2.1/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`2.2.2 BitBake User Manual </2.2.2/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`2.2.3 BitBake User Manual </2.2.3/bitbake-user-manual/bitbake-user-manual.html>`
****************************
2.1 'krogoth' Release Series
****************************
- :yocto_docs:`2.1 BitBake User Manual </2.1/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`2.1.1 BitBake User Manual </2.1.1/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`2.1.2 BitBake User Manual </2.1.2/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`2.1.3 BitBake User Manual </2.1.3/bitbake-user-manual/bitbake-user-manual.html>`
***************************
2.0 'jethro' Release Series
***************************
- :yocto_docs:`1.9 BitBake User Manual </1.9/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`2.0 BitBake User Manual </2.0/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`2.0.1 BitBake User Manual </2.0.1/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`2.0.2 BitBake User Manual </2.0.2/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`2.0.3 BitBake User Manual </2.0.3/bitbake-user-manual/bitbake-user-manual.html>`
*************************
1.8 'fido' Release Series
*************************
- :yocto_docs:`1.8 BitBake User Manual </1.8/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`1.8.1 BitBake User Manual </1.8.1/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`1.8.2 BitBake User Manual </1.8.2/bitbake-user-manual/bitbake-user-manual.html>`
**************************
1.7 'dizzy' Release Series
**************************
- :yocto_docs:`1.7 BitBake User Manual </1.7/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`1.7.1 BitBake User Manual </1.7.1/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`1.7.2 BitBake User Manual </1.7.2/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`1.7.3 BitBake User Manual </1.7.3/bitbake-user-manual/bitbake-user-manual.html>`
**************************
1.6 'daisy' Release Series
**************************
- :yocto_docs:`1.6 BitBake User Manual </1.6/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`1.6.1 BitBake User Manual </1.6.1/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`1.6.2 BitBake User Manual </1.6.2/bitbake-user-manual/bitbake-user-manual.html>`
- :yocto_docs:`1.6.3 BitBake User Manual </1.6.3/bitbake-user-manual/bitbake-user-manual.html>`

View File

@@ -1,233 +0,0 @@
(function() {
'use strict';
var all_versions = {
'dev': 'dev (3.2)',
'3.1.2': '3.1.2',
'3.0.3': '3.0.3',
'2.7.4': '2.7.4',
};
var all_doctypes = {
'single': 'Individual Webpages',
'mega': "All-in-one 'Mega' Manual",
};
// Simple version comparision
// Return 1 if a > b
// Return -1 if a < b
// Return 0 if a == b
function ver_compare(a, b) {
if (a == "dev") {
return 1;
}
if (a === b) {
return 0;
}
var a_components = a.split(".");
var b_components = b.split(".");
var len = Math.min(a_components.length, b_components.length);
// loop while the components are equal
for (var i = 0; i < len; i++) {
// A bigger than B
if (parseInt(a_components[i]) > parseInt(b_components[i])) {
return 1;
}
// B bigger than A
if (parseInt(a_components[i]) < parseInt(b_components[i])) {
return -1;
}
}
// If one's a prefix of the other, the longer one is greater.
if (a_components.length > b_components.length) {
return 1;
}
if (a_components.length < b_components.length) {
return -1;
}
// Otherwise they are the same.
return 0;
}
function build_version_select(current_series, current_version) {
var buf = ['<select>'];
$.each(all_versions, function(version, title) {
var series = version.substr(0, 3);
if (series == current_series) {
if (version == current_version)
buf.push('<option value="' + version + '" selected="selected">' + title + '</option>');
else
buf.push('<option value="' + version + '">' + title + '</option>');
if (version != current_version)
buf.push('<option value="' + current_version + '" selected="selected">' + current_version + '</option>');
} else {
buf.push('<option value="' + version + '">' + title + '</option>');
}
});
buf.push('</select>');
return buf.join('');
}
function build_doctype_select(current_doctype) {
var buf = ['<select>'];
$.each(all_doctypes, function(doctype, title) {
if (doctype == current_doctype)
buf.push('<option value="' + doctype + '" selected="selected">' +
all_doctypes[current_doctype] + '</option>');
else
buf.push('<option value="' + doctype + '">' + title + '</option>');
});
if (!(current_doctype in all_doctypes)) {
// In case we're browsing a doctype that is not yet in all_doctypes.
buf.push('<option value="' + current_doctype + '" selected="selected">' +
current_doctype + '</option>');
all_doctypes[current_doctype] = current_doctype;
}
buf.push('</select>');
return buf.join('');
}
function navigate_to_first_existing(urls) {
// Navigate to the first existing URL in urls.
var url = urls.shift();
// Web browsers won't redirect file:// urls to file urls using ajax but
// its useful for local testing
if (url.startsWith("file://")) {
window.location.href = url;
return;
}
if (urls.length == 0) {
window.location.href = url;
return;
}
$.ajax({
url: url,
success: function() {
window.location.href = url;
},
error: function() {
navigate_to_first_existing(urls);
}
});
}
function get_docroot_url() {
var url = window.location.href;
var root = DOCUMENTATION_OPTIONS.URL_ROOT;
var urlarray = url.split('/');
// Trim off anything after '/'
urlarray.pop();
var depth = (root.match(/\.\.\//g) || []).length;
for (var i = 0; i < depth; i++) {
urlarray.pop();
}
return urlarray.join('/') + '/';
}
function on_version_switch() {
var selected_version = $(this).children('option:selected').attr('value');
var url = window.location.href;
var current_version = DOCUMENTATION_OPTIONS.VERSION;
var docroot = get_docroot_url()
var new_versionpath = selected_version + '/';
if (selected_version == "dev")
new_versionpath = '';
// dev versions have no version prefix
if (current_version == "dev") {
var new_url = docroot + new_versionpath + url.replace(docroot, "");
var fallback_url = docroot + new_versionpath;
} else {
var new_url = url.replace('/' + current_version + '/', '/' + new_versionpath);
var fallback_url = new_url.replace(url.replace(docroot, ""), "");
}
console.log(get_docroot_url())
console.log(url + " to url " + new_url);
console.log(url + " to fallback " + fallback_url);
if (new_url != url) {
navigate_to_first_existing([
new_url,
fallback_url,
'https://www.yoctoproject.org/docs/',
]);
}
}
function on_doctype_switch() {
var selected_doctype = $(this).children('option:selected').attr('value');
var url = window.location.href;
if (selected_doctype == 'mega') {
var docroot = get_docroot_url()
var current_version = DOCUMENTATION_OPTIONS.VERSION;
// Assume manuals before 3.2 are using old docbook mega-manual
if (ver_compare(current_version, "3.2") < 0) {
var new_url = docroot + "mega-manual/mega-manual.html";
} else {
var new_url = docroot + "singleindex.html";
}
} else {
var new_url = url.replace("singleindex.html", "index.html")
}
if (new_url != url) {
navigate_to_first_existing([
new_url,
'https://www.yoctoproject.org/docs/',
]);
}
}
// Returns the current doctype based upon the url
function doctype_segment_from_url(url) {
if (url.includes("singleindex") || url.includes("mega-manual"))
return "mega";
return "single";
}
$(document).ready(function() {
var release = DOCUMENTATION_OPTIONS.VERSION;
var current_doctype = doctype_segment_from_url(window.location.href);
var current_series = release.substr(0, 3);
var version_select = build_version_select(current_series, release);
$('.version_switcher_placeholder').html(version_select);
$('.version_switcher_placeholder select').bind('change', on_version_switch);
var doctype_select = build_doctype_select(current_doctype);
$('.doctype_switcher_placeholder').html(doctype_select);
$('.doctype_switcher_placeholder select').bind('change', on_doctype_switch);
if (ver_compare(release, "3.1") < 0) {
$('#outdated-warning').html('Version ' + release + ' of the project is now considered obsolete, please select and use a more recent version');
$('#outdated-warning').css('padding', '.5em');
} else if (release != "dev") {
$.each(all_versions, function(version, title) {
var series = version.substr(0, 3);
if (series == current_series && version != release) {
$('#outdated-warning').html('This document is for outdated version ' + release + ', you should select the latest release version in this series, ' + version + '.');
$('#outdated-warning').css('padding', '.5em');
}
});
}
});
})();

View File

@@ -1,162 +0,0 @@
/*
SPDX-License-Identifier: CC-BY-2.0-UK
*/
body {
font-family: Verdana, Sans, sans-serif;
margin: 0em auto;
color: #333;
}
h1,h2,h3,h4,h5,h6,h7 {
font-family: Arial, Sans;
color: #00557D;
clear: both;
}
h1 {
font-size: 2em;
text-align: left;
padding: 0em 0em 0em 0em;
margin: 2em 0em 0em 0em;
}
h2.subtitle {
margin: 0.10em 0em 3.0em 0em;
padding: 0em 0em 0em 0em;
font-size: 1.8em;
padding-left: 20%;
font-weight: normal;
font-style: italic;
}
h2 {
margin: 2em 0em 0.66em 0em;
padding: 0.5em 0em 0em 0em;
font-size: 1.5em;
font-weight: bold;
}
h3.subtitle {
margin: 0em 0em 1em 0em;
padding: 0em 0em 0em 0em;
font-size: 142.14%;
text-align: right;
}
h3 {
margin: 1em 0em 0.5em 0em;
padding: 1em 0em 0em 0em;
font-size: 140%;
font-weight: bold;
}
h4 {
margin: 1em 0em 0.5em 0em;
padding: 1em 0em 0em 0em;
font-size: 120%;
font-weight: bold;
}
h5 {
margin: 1em 0em 0.5em 0em;
padding: 1em 0em 0em 0em;
font-size: 110%;
font-weight: bold;
}
h6 {
margin: 1em 0em 0em 0em;
padding: 1em 0em 0em 0em;
font-size: 110%;
font-weight: bold;
}
em {
font-weight: bold;
}
.pre {
font-size: medium;
font-family: Courier, monospace;
}
.wy-nav-content a {
text-decoration: underline;
color: #444;
background: transparent;
}
.wy-nav-content a:hover {
text-decoration: underline;
background-color: #dedede;
}
.wy-nav-content a:visited {
color: #444;
}
[alt='Permalink'] { color: #eee; }
[alt='Permalink']:hover { color: black; }
@media screen {
/* content column
*
* RTD theme's default is 800px as max width for the content, but we have
* tables with tons of columns, which need the full width of the view-port.
*/
.wy-nav-content{max-width: none; }
/* inline literal: drop the borderbox, padding and red color */
code, .rst-content tt, .rst-content code {
color: inherit;
border: none;
padding: unset;
background: inherit;
font-size: 85%;
}
.rst-content tt.literal,.rst-content tt.literal,.rst-content code.literal {
color: inherit;
}
/* Admonition should be gray, not blue or green */
.rst-content .note .admonition-title,
.rst-content .tip .admonition-title,
.rst-content .warning .admonition-title,
.rst-content .caution .admonition-title,
.rst-content .important .admonition-title {
background: #f0f0f2;
color: #00557D;
}
.rst-content .note,
.rst-content .tip,
.rst-content .important,
.rst-content .warning,
.rst-content .caution {
background: #f0f0f2;
}
/* Remove the icon in front of note/tip element, and before the logo */
.icon-home:before, .rst-content .admonition-title:before {
display: none
}
/* a custom informalexample container is used in some doc */
.informalexample {
border: 1px solid;
border-color: #aaa;
margin: 1em 0em;
padding: 1em;
page-break-inside: avoid;
}
/* Remove the blue background in the top left corner, around the logo */
.wy-side-nav-search {
background: inherit;
}
}

1
bitbake/doc/template/Vera.xml vendored Normal file

File diff suppressed because one or more lines are too long

1
bitbake/doc/template/VeraMoBd.xml vendored Normal file

File diff suppressed because one or more lines are too long

1
bitbake/doc/template/VeraMono.xml vendored Normal file

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,39 @@
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:d="http://docbook.org/ns/docbook"
xmlns="http://www.w3.org/1999/xhtml"
exclude-result-prefixes="d">
<xsl:template name="component.title">
<xsl:param name="node" select="."/>
<xsl:variable name="level">
<xsl:choose>
<xsl:when test="ancestor::d:section">
<xsl:value-of select="count(ancestor::d:section)+1"/>
</xsl:when>
<xsl:when test="ancestor::d:sect5">6</xsl:when>
<xsl:when test="ancestor::d:sect4">5</xsl:when>
<xsl:when test="ancestor::d:sect3">4</xsl:when>
<xsl:when test="ancestor::d:sect2">3</xsl:when>
<xsl:when test="ancestor::d:sect1">2</xsl:when>
<xsl:otherwise>1</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:element name="h{$level+1}" namespace="http://www.w3.org/1999/xhtml">
<xsl:attribute name="class">title</xsl:attribute>
<xsl:if test="$generate.id.attributes = 0">
<xsl:call-template name="anchor">
<xsl:with-param name="node" select="$node"/>
<xsl:with-param name="conditional" select="0"/>
</xsl:call-template>
</xsl:if>
<xsl:apply-templates select="$node" mode="object.title.markup">
<xsl:with-param name="allow-anchors" select="1"/>
</xsl:apply-templates>
<xsl:call-template name="permalink">
<xsl:with-param name="node" select="$node"/>
</xsl:call-template>
</xsl:element>
</xsl:template>
</xsl:stylesheet>

64
bitbake/doc/template/db-pdf.xsl vendored Normal file
View File

@@ -0,0 +1,64 @@
<?xml version='1.0'?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml" xmlns:fo="http://www.w3.org/1999/XSL/Format" version="1.0">
<xsl:import href="http://docbook.sourceforge.net/release/xsl/current/fo/docbook.xsl" />
<!-- check project-plan.sh for how this is generated, needed to tweak
the cover page
-->
<xsl:include href="/tmp/titlepage.xsl"/>
<!-- To force a page break in document, i.e per section add a
<?hard-pagebreak?> tag.
-->
<xsl:template match="processing-instruction('hard-pagebreak')">
<fo:block break-before='page' />
</xsl:template>
<!--Fix for defualt indent getting TOC all wierd..
See http://sources.redhat.com/ml/docbook-apps/2005-q1/msg00455.html
FIXME: must be a better fix
-->
<xsl:param name="body.start.indent" select="'0'"/>
<!--<xsl:param name="title.margin.left" select="'0'"/>-->
<!-- stop long-ish header titles getting wrapped -->
<xsl:param name="header.column.widths">1 10 1</xsl:param>
<!-- customise headers and footers a little -->
<xsl:template name="head.sep.rule">
<xsl:if test="$header.rule != 0">
<xsl:attribute name="border-bottom-width">0.5pt</xsl:attribute>
<xsl:attribute name="border-bottom-style">solid</xsl:attribute>
<xsl:attribute name="border-bottom-color">#cccccc</xsl:attribute>
</xsl:if>
</xsl:template>
<xsl:template name="foot.sep.rule">
<xsl:if test="$footer.rule != 0">
<xsl:attribute name="border-top-width">0.5pt</xsl:attribute>
<xsl:attribute name="border-top-style">solid</xsl:attribute>
<xsl:attribute name="border-top-color">#cccccc</xsl:attribute>
</xsl:if>
</xsl:template>
<xsl:attribute-set name="header.content.properties">
<xsl:attribute name="color">#cccccc</xsl:attribute>
</xsl:attribute-set>
<xsl:attribute-set name="footer.content.properties">
<xsl:attribute name="color">#cccccc</xsl:attribute>
</xsl:attribute-set>
<!-- general settings -->
<xsl:param name="fop1.extensions" select="1"></xsl:param>
<xsl:param name="paper.type" select="'A4'"></xsl:param>
<xsl:param name="section.autolabel" select="1"></xsl:param>
<xsl:param name="body.font.family" select="'verasans'"></xsl:param>
<xsl:param name="title.font.family" select="'verasans'"></xsl:param>
<xsl:param name="monospace.font.family" select="'veramono'"></xsl:param>
</xsl:stylesheet>

25
bitbake/doc/template/division.title.xsl vendored Normal file
View File

@@ -0,0 +1,25 @@
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:d="http://docbook.org/ns/docbook"
xmlns="http://www.w3.org/1999/xhtml"
exclude-result-prefixes="d">
<xsl:template name="division.title">
<xsl:param name="node" select="."/>
<h1>
<xsl:attribute name="class">title</xsl:attribute>
<xsl:call-template name="anchor">
<xsl:with-param name="node" select="$node"/>
<xsl:with-param name="conditional" select="0"/>
</xsl:call-template>
<xsl:apply-templates select="$node" mode="object.title.markup">
<xsl:with-param name="allow-anchors" select="1"/>
</xsl:apply-templates>
<xsl:call-template name="permalink">
<xsl:with-param name="node" select="$node"/>
</xsl:call-template>
</h1>
</xsl:template>
</xsl:stylesheet>

58
bitbake/doc/template/fop-config.xml vendored Normal file
View File

@@ -0,0 +1,58 @@
<fop version="1.0">
<!-- Strict user configuration -->
<strict-configuration>true</strict-configuration>
<!-- Strict FO validation -->
<strict-validation>true</strict-validation>
<!--
Set the baseDir so common/openedhand.svg references in plans still
work ok. Note, relative file references to current dir should still work.
-->
<base>../template</base>
<font-base>../template</font-base>
<!-- Source resolution in dpi (dots/pixels per inch) for determining the
size of pixels in SVG and bitmap images, default: 72dpi -->
<!-- <source-resolution>72</source-resolution> -->
<!-- Target resolution in dpi (dots/pixels per inch) for specifying the
target resolution for generated bitmaps, default: 72dpi -->
<!-- <target-resolution>72</target-resolution> -->
<!-- default page-height and page-width, in case
value is specified as auto -->
<default-page-settings height="11in" width="8.26in"/>
<!-- <use-cache>false</use-cache> -->
<renderers>
<renderer mime="application/pdf">
<fonts>
<font metrics-file="VeraMono.xml"
kerning="yes"
embed-url="VeraMono.ttf">
<font-triplet name="veramono" style="normal" weight="normal"/>
</font>
<font metrics-file="VeraMoBd.xml"
kerning="yes"
embed-url="VeraMoBd.ttf">
<font-triplet name="veramono" style="normal" weight="bold"/>
</font>
<font metrics-file="Vera.xml"
kerning="yes"
embed-url="Vera.ttf">
<font-triplet name="verasans" style="normal" weight="normal"/>
<font-triplet name="verasans" style="normal" weight="bold"/>
<font-triplet name="verasans" style="italic" weight="normal"/>
<font-triplet name="verasans" style="italic" weight="bold"/>
</font>
<auto-detect/>
</fonts>
</renderer>
</renderers>
</fop>

View File

@@ -0,0 +1,21 @@
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:d="http://docbook.org/ns/docbook"
xmlns="http://www.w3.org/1999/xhtml"
exclude-result-prefixes="d">
<xsl:template name="formal.object.heading">
<xsl:param name="object" select="."/>
<xsl:param name="title">
<xsl:apply-templates select="$object" mode="object.title.markup">
<xsl:with-param name="allow-anchors" select="1"/>
</xsl:apply-templates>
</xsl:param>
<p class="title">
<b><xsl:copy-of select="$title"/></b>
<xsl:call-template name="permalink">
<xsl:with-param name="node" select="$object"/>
</xsl:call-template>
</p>
</xsl:template>
</xsl:stylesheet>

View File

@@ -0,0 +1,14 @@
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:d="http://docbook.org/ns/docbook"
xmlns="http://www.w3.org/1999/xhtml">
<xsl:template match="glossentry/glossterm">
<xsl:apply-imports/>
<xsl:if test="$generate.permalink != 0">
<xsl:call-template name="permalink">
<xsl:with-param name="node" select=".."/>
</xsl:call-template>
</xsl:if>
</xsl:template>
</xsl:stylesheet>

25
bitbake/doc/template/permalinks.xsl vendored Normal file
View File

@@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:param name="generate.permalink" select="1"/>
<xsl:param name="permalink.text"></xsl:param>
<xsl:template name="permalink">
<xsl:param name="node"/>
<xsl:if test="$generate.permalink != '0'">
<span class="permalink">
<a alt="Permalink" title="Permalink">
<xsl:attribute name="href">
<xsl:call-template name="href.target">
<xsl:with-param name="object" select="$node"/>
</xsl:call-template>
</xsl:attribute>
<xsl:copy-of select="$permalink.text"/>
</a>
</span>
</xsl:if>
</xsl:template>
</xsl:stylesheet>

55
bitbake/doc/template/section.title.xsl vendored Normal file
View File

@@ -0,0 +1,55 @@
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:d="http://docbook.org/ns/docbook"
xmlns="http://www.w3.org/1999/xhtml" exclude-result-prefixes="d">
<xsl:template name="section.title">
<xsl:variable name="section"
select="(ancestor::section |
ancestor::simplesect|
ancestor::sect1|
ancestor::sect2|
ancestor::sect3|
ancestor::sect4|
ancestor::sect5)[last()]"/>
<xsl:variable name="renderas">
<xsl:choose>
<xsl:when test="$section/@renderas = 'sect1'">1</xsl:when>
<xsl:when test="$section/@renderas = 'sect2'">2</xsl:when>
<xsl:when test="$section/@renderas = 'sect3'">3</xsl:when>
<xsl:when test="$section/@renderas = 'sect4'">4</xsl:when>
<xsl:when test="$section/@renderas = 'sect5'">5</xsl:when>
<xsl:otherwise><xsl:value-of select="''"/></xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="level">
<xsl:choose>
<xsl:when test="$renderas != ''">
<xsl:value-of select="$renderas"/>
</xsl:when>
<xsl:otherwise>
<xsl:call-template name="section.level">
<xsl:with-param name="node" select="$section"/>
</xsl:call-template>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:call-template name="section.heading">
<xsl:with-param name="section" select="$section"/>
<xsl:with-param name="level" select="$level"/>
<xsl:with-param name="title">
<xsl:apply-templates select="$section" mode="object.title.markup">
<xsl:with-param name="allow-anchors" select="1"/>
</xsl:apply-templates>
<xsl:if test="$level &gt; 0">
<xsl:call-template name="permalink">
<xsl:with-param name="node" select="$section"/>
</xsl:call-template>
</xsl:if>
</xsl:with-param>
</xsl:call-template>
</xsl:template>
</xsl:stylesheet>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,51 @@
#!/bin/sh
if [ -z "$1" -o -z "$2" ]; then
echo "usage: [-v] $0 <docbook file> <templatedir>"
echo
echo "*NOTE* you need xsltproc, fop and nwalsh docbook stylesheets"
echo " installed for this to work!"
echo
exit 0
fi
FO=`echo $1 | sed s/.xml/.fo/` || exit 1
PDF=`echo $1 | sed s/.xml/.pdf/` || exit 1
TEMPLATEDIR=$2
##
# These URI should be rewritten by your distribution's xml catalog to
# match your localy installed XSL stylesheets.
XSL_BASE_URI="http://docbook.sourceforge.net/release/xsl/current"
# Creates a temporary XSL stylesheet based on titlepage.xsl
xsltproc -o /tmp/titlepage.xsl \
--xinclude \
$XSL_BASE_URI/template/titlepage.xsl \
$TEMPLATEDIR/titlepage.templates.xml || exit 1
# Creates the file needed for FOP
xsltproc --xinclude \
--stringparam hyphenate false \
--stringparam formal.title.placement "figure after" \
--stringparam ulink.show 1 \
--stringparam body.font.master 9 \
--stringparam title.font.master 11 \
--stringparam draft.watermark.image "$TEMPLATEDIR/draft.png" \
--stringparam chapter.autolabel 1 \
--stringparam appendix.autolabel A \
--stringparam section.autolabel 1 \
--stringparam section.label.includes.component.label 1 \
--output $FO \
$TEMPLATEDIR/db-pdf.xsl \
$1 || exit 1
# Invokes the Java version of FOP. Uses the additional configuration file common/fop-config.xml
fop -c $TEMPLATEDIR/fop-config.xml -fo $FO -pdf $PDF || exit 1
rm -f $FO
rm -f /tmp/titlepage.xsl
echo
echo " #### Success! $PDF ready. ####"
echo

View File

@@ -1,16 +1,31 @@
# ex:ts=4:sw=4:sts=4:et
# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
#
# This is a copy on write dictionary and set which abuses classes to try and be nice and fast.
#
# Copyright (C) 2006 Tim Ansell
#
# Please Note:
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program 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 General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
#
#Please Note:
# Be careful when using mutable types (ie Dict and Lists) - operations involving these are SLOW.
# Assign a file to __warn__ to get warnings about slow operations.
#
import copy
import types
ImmutableTypes = (
bool,
complex,
@@ -23,11 +38,9 @@ ImmutableTypes = (
MUTABLE = "__mutable__"
class COWMeta(type):
pass
class COWDictMeta(COWMeta):
__warn__ = False
__hasmutable__ = False
@@ -36,15 +49,12 @@ class COWDictMeta(COWMeta):
def __str__(cls):
# FIXME: I have magic numbers!
return "<COWDict Level: %i Current Keys: %i>" % (cls.__count__, len(cls.__dict__) - 3)
__repr__ = __str__
def cow(cls):
class C(cls):
__count__ = cls.__count__ + 1
return C
copy = cow
__call__ = cow
@@ -76,9 +86,8 @@ class COWDictMeta(COWMeta):
return value
__getmarker__ = []
def __getreadonly__(cls, key, default=__getmarker__):
"""
"""\
Get a value (even if mutable) which you promise not to change.
"""
return cls.__getitem__(key, default, True)
@@ -145,29 +154,24 @@ class COWDictMeta(COWMeta):
def iterkeys(cls):
return cls.iter("keys")
def itervalues(cls, readonly=False):
if not cls.__warn__ is False and cls.__hasmutable__ and readonly is False:
print("Warning: If you aren't going to change any of the values call with True.", file=cls.__warn__)
print("Warning: If you arn't going to change any of the values call with True.", file=cls.__warn__)
return cls.iter("values", readonly)
def iteritems(cls, readonly=False):
if not cls.__warn__ is False and cls.__hasmutable__ and readonly is False:
print("Warning: If you aren't going to change any of the values call with True.", file=cls.__warn__)
print("Warning: If you arn't going to change any of the values call with True.", file=cls.__warn__)
return cls.iter("items", readonly)
class COWSetMeta(COWDictMeta):
def __str__(cls):
# FIXME: I have magic numbers!
return "<COWSet Level: %i Current Keys: %i>" % (cls.__count__, len(cls.__dict__) - 3)
return "<COWSet Level: %i Current Keys: %i>" % (cls.__count__, len(cls.__dict__) -3)
__repr__ = __str__
def cow(cls):
class C(cls):
__count__ = cls.__count__ + 1
return C
def add(cls, value):
@@ -185,11 +189,131 @@ class COWSetMeta(COWDictMeta):
def iteritems(cls):
raise TypeError("sets don't have 'items'")
# These are the actual classes you use!
class COWDictBase(metaclass=COWDictMeta):
class COWDictBase(object, metaclass = COWDictMeta):
__count__ = 0
class COWSetBase(metaclass=COWSetMeta):
class COWSetBase(object, metaclass = COWSetMeta):
__count__ = 0
if __name__ == "__main__":
import sys
COWDictBase.__warn__ = sys.stderr
a = COWDictBase()
print("a", a)
a['a'] = 'a'
a['b'] = 'b'
a['dict'] = {}
b = a.copy()
print("b", b)
b['c'] = 'b'
print()
print("a", a)
for x in a.iteritems():
print(x)
print("--")
print("b", b)
for x in b.iteritems():
print(x)
print()
b['dict']['a'] = 'b'
b['a'] = 'c'
print("a", a)
for x in a.iteritems():
print(x)
print("--")
print("b", b)
for x in b.iteritems():
print(x)
print()
try:
b['dict2']
except KeyError as e:
print("Okay!")
a['set'] = COWSetBase()
a['set'].add("o1")
a['set'].add("o1")
a['set'].add("o2")
print("a", a)
for x in a['set'].itervalues():
print(x)
print("--")
print("b", b)
for x in b['set'].itervalues():
print(x)
print()
b['set'].add('o3')
print("a", a)
for x in a['set'].itervalues():
print(x)
print("--")
print("b", b)
for x in b['set'].itervalues():
print(x)
print()
a['set2'] = set()
a['set2'].add("o1")
a['set2'].add("o1")
a['set2'].add("o2")
print("a", a)
for x in a.iteritems():
print(x)
print("--")
print("b", b)
for x in b.iteritems(readonly=True):
print(x)
print()
del b['b']
try:
print(b['b'])
except KeyError:
print("Yay! deleted key raises error")
if 'b' in b:
print("Boo!")
else:
print("Yay - has_key with delete works!")
print("a", a)
for x in a.iteritems():
print(x)
print("--")
print("b", b)
for x in b.iteritems(readonly=True):
print(x)
print()
b.__revertitem__('b')
print("a", a)
for x in a.iteritems():
print(x)
print("--")
print("b", b)
for x in b.iteritems(readonly=True):
print(x)
print()
b.__revertitem__('dict')
print("a", a)
for x in a.iteritems():
print(x)
print("--")
print("b", b)
for x in b.iteritems(readonly=True):
print(x)
print()

View File

@@ -1,3 +1,5 @@
# ex:ts=4:sw=4:sts=4:et
# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
#
# BitBake Build System Python Library
#
@@ -6,14 +8,24 @@
#
# Based on Gentoo's portage.py.
#
# SPDX-License-Identifier: GPL-2.0-only
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program 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 General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
__version__ = "1.49.2"
__version__ = "1.38.0"
import sys
if sys.version_info < (3, 5, 0):
raise RuntimeError("Sorry, python 3.5.0 or later is required for this version of bitbake")
if sys.version_info < (3, 4, 0):
raise RuntimeError("Sorry, python 3.4.0 or later is required for this version of bitbake")
class BBHandledException(Exception):
@@ -21,8 +33,8 @@ class BBHandledException(Exception):
The big dilemma for generic bitbake code is what information to give the user
when an exception occurs. Any exception inheriting this base exception class
has already provided information to the user via some 'fired' message type such as
an explicitly fired event using bb.fire, or a bb.error message. If bitbake
encounters an exception derived from this class, no backtrace or other information
an explicitly fired event using bb.fire, or a bb.error message. If bitbake
encounters an exception derived from this class, no backtrace or other information
will be given to the user, its assumed the earlier event provided the relevant information.
"""
pass
@@ -35,32 +47,15 @@ class NullHandler(logging.Handler):
def emit(self, record):
pass
class BBLoggerMixin(object):
def __init__(self, *args, **kwargs):
# Does nothing to allow calling super() from derived classes
pass
def setup_bblogger(self, name):
Logger = logging.getLoggerClass()
class BBLogger(Logger):
def __init__(self, name):
if name.split(".")[0] == "BitBake":
self.debug = self._debug_helper
def _debug_helper(self, *args, **kwargs):
return self.bbdebug(1, *args, **kwargs)
def debug2(self, *args, **kwargs):
return self.bbdebug(2, *args, **kwargs)
def debug3(self, *args, **kwargs):
return self.bbdebug(3, *args, **kwargs)
self.debug = self.bbdebug
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 loglevel > (bb.msg.loggerDefaultDomains[self.name]):
return
if loglevel < bb.msg.loggerDefaultLogLevel:
return
return self.log(loglevel, msg, *args, **kwargs)
return self.log(logging.DEBUG - level + 1, msg, *args, **kwargs)
def plain(self, msg, *args, **kwargs):
return self.log(logging.INFO + 1, msg, *args, **kwargs)
@@ -68,59 +63,15 @@ class BBLoggerMixin(object):
def verbose(self, msg, *args, **kwargs):
return self.log(logging.INFO - 1, msg, *args, **kwargs)
def verbnote(self, msg, *args, **kwargs):
return self.log(logging.INFO + 2, msg, *args, **kwargs)
Logger = logging.getLoggerClass()
class BBLogger(Logger, BBLoggerMixin):
def __init__(self, name, *args, **kwargs):
self.setup_bblogger(name)
super().__init__(name, *args, **kwargs)
logging.raiseExceptions = False
logging.setLoggerClass(BBLogger)
class BBLoggerAdapter(logging.LoggerAdapter, BBLoggerMixin):
def __init__(self, logger, *args, **kwargs):
self.setup_bblogger(logger.name)
super().__init__(logger, *args, **kwargs)
if sys.version_info < (3, 6):
# These properties were added in Python 3.6. Add them in older versions
# for compatibility
@property
def manager(self):
return self.logger.manager
@manager.setter
def manager(self, value):
self.logger.manager = value
@property
def name(self):
return self.logger.name
def __repr__(self):
logger = self.logger
level = logger.getLevelName(logger.getEffectiveLevel())
return '<%s %s (%s)>' % (self.__class__.__name__, logger.name, level)
logging.LoggerAdapter = BBLoggerAdapter
logger = logging.getLogger("BitBake")
logger.addHandler(NullHandler())
logger.setLevel(logging.DEBUG - 2)
mainlogger = logging.getLogger("BitBake.Main")
class PrefixLoggerAdapter(logging.LoggerAdapter):
def __init__(self, prefix, logger):
super().__init__(logger, {})
self.__msg_prefix = prefix
def process(self, msg, kwargs):
return "%s%s" %(self.__msg_prefix, msg), kwargs
# This has to be imported after the setLoggerClass, as the import of bb.msg
# can result in construction of the various loggers.
import bb.msg
@@ -137,23 +88,11 @@ def debug(lvl, *args):
mainlogger.warning("Passed invalid debug level '%s' to bb.debug", lvl)
args = (lvl,) + args
lvl = 1
mainlogger.bbdebug(lvl, ''.join(args))
mainlogger.debug(lvl, ''.join(args))
def note(*args):
mainlogger.info(''.join(args))
#
# A higher prioity note which will show on the console but isn't a warning
#
# Something is happening the user should be aware of but they probably did
# something to make it happen
#
def verbnote(*args):
mainlogger.verbnote(''.join(args))
#
# Warnings - things the user likely needs to pay attention to and fix
#
def warn(*args):
mainlogger.warning(''.join(args))

View File

@@ -1,3 +1,5 @@
# ex:ts=4:sw=4:sts=4:et
# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
#
# BitBake 'Build' implementation
#
@@ -8,17 +10,27 @@
#
# Based on Gentoo's portage.py.
#
# SPDX-License-Identifier: GPL-2.0-only
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program 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 General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Based on functions from the base bb module, Copyright 2003 Holger Schurig
import os
import sys
import logging
import shlex
import glob
import itertools
import time
import re
import stat
import bb
import bb.msg
@@ -29,8 +41,7 @@ from bb import data, event, utils
bblogger = logging.getLogger('BitBake')
logger = logging.getLogger('BitBake.Build')
verboseShellLogging = False
verboseStdoutLogging = False
NULL = open(os.devnull, 'r+')
__mtime_cache = {}
@@ -58,20 +69,34 @@ else:
builtins['bb'] = bb
builtins['os'] = os
class FuncFailed(Exception):
def __init__(self, name = None, logfile = None):
self.logfile = logfile
self.name = name
if name:
self.msg = 'Function failed: %s' % name
else:
self.msg = "Function failed"
def __str__(self):
if self.logfile and os.path.exists(self.logfile):
msg = ("%s (log file is located at %s)" %
(self.msg, self.logfile))
else:
msg = self.msg
return msg
class TaskBase(event.Event):
"""Base class for task events"""
def __init__(self, t, fn, logfile, d):
def __init__(self, t, logfile, d):
self._task = t
self._fn = fn
self._package = d.getVar("PF")
self._mc = d.getVar("BB_CURRENT_MC")
self.taskfile = d.getVar("FILE")
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())
@@ -88,8 +113,8 @@ class TaskBase(event.Event):
class TaskStarted(TaskBase):
"""Task execution started"""
def __init__(self, t, fn, logfile, taskflags, d):
super(TaskStarted, self).__init__(t, fn, logfile, d)
def __init__(self, t, logfile, taskflags, d):
super(TaskStarted, self).__init__(t, logfile, d)
self.taskflags = taskflags
class TaskSucceeded(TaskBase):
@@ -98,9 +123,9 @@ class TaskSucceeded(TaskBase):
class TaskFailed(TaskBase):
"""Task execution failed"""
def __init__(self, task, fn, logfile, metadata, errprinted = False):
def __init__(self, task, logfile, metadata, errprinted = False):
self.errprinted = errprinted
super(TaskFailed, self).__init__(task, fn, logfile, metadata)
super(TaskFailed, self).__init__(task, logfile, metadata)
class TaskFailedSilent(TaskBase):
"""Task execution failed (silently)"""
@@ -110,8 +135,8 @@ class TaskFailedSilent(TaskBase):
class TaskInvalid(TaskBase):
def __init__(self, task, fn, metadata):
super(TaskInvalid, self).__init__(task, fn, None, metadata)
def __init__(self, task, metadata):
super(TaskInvalid, self).__init__(task, None, metadata)
self._message = "No such task '%s'" % task
class TaskProgress(event.Event):
@@ -153,33 +178,15 @@ class LogTee(object):
def __repr__(self):
return '<LogTee {0}>'.format(self.name)
def flush(self):
self.outfile.flush()
class StdoutNoopContextManager:
"""
This class acts like sys.stdout, but adds noop __enter__ and __exit__ methods.
"""
def __enter__(self):
return sys.stdout
def __exit__(self, *exc_info):
pass
def write(self, string):
return sys.stdout.write(string)
def flush(self):
sys.stdout.flush()
@property
def name(self):
return sys.stdout.name
def exec_func(func, d, dirs = None):
#
# pythonexception allows the python exceptions generated to be raised
# as the real exceptions (not FuncFailed) and without a backtrace at the
# origin of the failure.
#
def exec_func(func, d, dirs = None, pythonexception=False):
"""Execute a BB 'function'"""
try:
@@ -251,7 +258,7 @@ def exec_func(func, d, dirs = None):
with bb.utils.fileslocked(lockfiles):
if ispython:
exec_func_python(func, d, runfile, cwd=adir)
exec_func_python(func, d, runfile, cwd=adir, pythonexception=pythonexception)
else:
exec_func_shell(func, d, runfile, cwd=adir)
@@ -271,7 +278,7 @@ _functionfmt = """
{function}(d)
"""
logformatter = bb.msg.BBLogFormatter("%(levelname)s: %(message)s")
def exec_func_python(func, d, runfile, cwd=None):
def exec_func_python(func, d, runfile, cwd=None, pythonexception=False):
"""Execute a python BB 'function'"""
code = _functionfmt.format(function=func)
@@ -296,7 +303,13 @@ def exec_func_python(func, d, runfile, cwd=None):
bb.methodpool.insert_method(func, text, fn, lineno - 1)
comp = utils.better_compile(code, func, "exec_python_func() autogenerated")
utils.better_exec(comp, {"d": d}, code, "exec_python_func() autogenerated")
utils.better_exec(comp, {"d": d}, code, "exec_python_func() autogenerated", pythonexception=pythonexception)
except (bb.parse.SkipRecipe, bb.build.FuncFailed):
raise
except:
if pythonexception:
raise
raise FuncFailed(func, None)
finally:
bb.debug(2, "Python function %s finished" % func)
@@ -308,98 +321,22 @@ def exec_func_python(func, d, runfile, cwd=None):
def shell_trap_code():
return '''#!/bin/sh\n
__BITBAKE_LAST_LINE=0
# Emit a useful diagnostic if something fails:
bb_sh_exit_handler() {
bb_exit_handler() {
ret=$?
if [ "$ret" != 0 ]; then
echo "WARNING: exit code $ret from a shell command."
fi
exit $ret
case $ret in
0) ;;
*) case $BASH_VERSION in
"") echo "WARNING: exit code $ret from a shell command.";;
*) echo "WARNING: ${BASH_SOURCE[0]}:${BASH_LINENO[0]} exit $ret from '$BASH_COMMAND'";;
esac
exit $ret
esac
}
bb_bash_exit_handler() {
ret=$?
{ set +x; } > /dev/null
trap "" DEBUG
if [ "$ret" != 0 ]; then
echo "WARNING: ${BASH_SOURCE[0]}:${__BITBAKE_LAST_LINE} exit $ret from '$1'"
echo "WARNING: Backtrace (BB generated script): "
for i in $(seq 1 $((${#FUNCNAME[@]} - 1))); do
if [ "$i" -eq 1 ]; then
echo -e "\t#$((i)): ${FUNCNAME[$i]}, ${BASH_SOURCE[$((i-1))]}, line ${__BITBAKE_LAST_LINE}"
else
echo -e "\t#$((i)): ${FUNCNAME[$i]}, ${BASH_SOURCE[$((i-1))]}, line ${BASH_LINENO[$((i-1))]}"
fi
done
fi
exit $ret
}
bb_bash_debug_handler() {
local line=${BASH_LINENO[0]}
# For some reason the DEBUG trap trips with lineno=1 when scripts exit; ignore it
if [ "$line" -eq 1 ]; then
return
fi
# Track the line number of commands as they execute. This is so we can have access to the failing line number
# in the EXIT trap. See http://gnu-bash.2382.n7.nabble.com/trap-echo-quot-trap-exit-on-LINENO-quot-EXIT-gt-wrong-linenumber-td3666.html
if [ "${FUNCNAME[1]}" != "bb_bash_exit_handler" ]; then
__BITBAKE_LAST_LINE=$line
fi
}
case $BASH_VERSION in
"") trap 'bb_sh_exit_handler' 0
set -e
;;
*) trap 'bb_bash_exit_handler "$BASH_COMMAND"' 0
trap '{ bb_bash_debug_handler; } 2>/dev/null' DEBUG
set -e
shopt -s extdebug
;;
esac
trap 'bb_exit_handler' 0
set -e
'''
def create_progress_handler(func, progress, logfile, d):
if progress == 'percent':
# Use default regex
return bb.progress.BasicProgressHandler(d, outfile=logfile)
elif progress.startswith('percent:'):
# Use specified regex
return bb.progress.BasicProgressHandler(d, regex=progress.split(':', 1)[1], outfile=logfile)
elif progress.startswith('outof:'):
# Use specified regex
return bb.progress.OutOfProgressHandler(d, regex=progress.split(':', 1)[1], outfile=logfile)
elif progress.startswith("custom:"):
# Use a custom progress handler that was injected via OE_EXTRA_IMPORTS or __builtins__
import functools
from types import ModuleType
parts = progress.split(":", 2)
_, cls, otherargs = parts[0], parts[1], (parts[2] or None) if parts[2:] else None
if cls:
def resolve(x, y):
if not x:
return None
if isinstance(x, ModuleType):
return getattr(x, y, None)
return x.get(y)
cls_obj = functools.reduce(resolve, cls.split("."), bb.utils._context)
if not cls_obj:
# Fall-back on __builtins__
cls_obj = functools.reduce(resolve, cls.split("."), __builtins__)
if cls_obj:
return cls_obj(d, outfile=logfile, otherargs=otherargs)
bb.warn('%s: unknown custom progress handler in task progress varflag value "%s", ignoring' % (func, cls))
else:
bb.warn('%s: invalid task progress varflag value "%s", ignoring' % (func, progress))
return logfile
def exec_func_shell(func, d, runfile, cwd=None):
"""Execute a shell function from the metadata
@@ -416,7 +353,7 @@ def exec_func_shell(func, d, runfile, cwd=None):
bb.data.emit_func(func, script, d)
if verboseShellLogging or bb.utils.to_boolean(d.getVar("BB_VERBOSE_LOGS", False)):
if bb.msg.loggerVerboseLogs:
script.write("set -x\n")
if cwd:
script.write("cd '%s'\n" % cwd)
@@ -436,20 +373,24 @@ exit $ret
if fakerootcmd:
cmd = [fakerootcmd, runfile]
if verboseStdoutLogging:
logfile = LogTee(logger, StdoutNoopContextManager())
if bb.msg.loggerDefaultVerbose:
logfile = LogTee(logger, sys.stdout)
else:
logfile = StdoutNoopContextManager()
logfile = sys.stdout
progress = d.getVarFlag(func, 'progress')
if progress:
try:
logfile = create_progress_handler(func, progress, logfile, d)
except:
from traceback import format_exc
logger.error("Failed to create progress handler")
logger.error(format_exc())
raise
if progress == 'percent':
# Use default regex
logfile = bb.progress.BasicProgressHandler(d, outfile=logfile)
elif progress.startswith('percent:'):
# Use specified regex
logfile = bb.progress.BasicProgressHandler(d, regex=progress.split(':', 1)[1], outfile=logfile)
elif progress.startswith('outof:'):
# Use specified regex
logfile = bb.progress.OutOfProgressHandler(d, regex=progress.split(':', 1)[1], outfile=logfile)
else:
bb.warn('%s: invalid task progress varflag value "%s", ignoring' % (func, progress))
fifobuffer = bytearray()
def readfifo(data):
@@ -468,8 +409,6 @@ exit $ret
bb.plain(value)
elif cmd == 'bbnote':
bb.note(value)
elif cmd == 'bbverbnote':
bb.verbnote(value)
elif cmd == 'bbwarn':
bb.warn(value)
elif cmd == 'bberror':
@@ -499,64 +438,13 @@ exit $ret
with open(fifopath, 'r+b', buffering=0) as fifo:
try:
bb.debug(2, "Executing shell function %s" % func)
with open(os.devnull, 'r+') as stdin, logfile:
bb.process.run(cmd, shell=False, stdin=stdin, log=logfile, extrafiles=[(fifo,readfifo)])
except bb.process.ExecutionError as exe:
# Find the backtrace that the shell trap generated
backtrace_marker_regex = re.compile(r"WARNING: Backtrace \(BB generated script\)")
stdout_lines = (exe.stdout or "").split("\n")
backtrace_start_line = None
for i, line in enumerate(reversed(stdout_lines)):
if backtrace_marker_regex.search(line):
backtrace_start_line = len(stdout_lines) - i
break
# Read the backtrace frames, starting at the location we just found
backtrace_entry_regex = re.compile(r"#(?P<frameno>\d+): (?P<funcname>[^\s]+), (?P<file>.+?), line ("
r"?P<lineno>\d+)")
backtrace_frames = []
if backtrace_start_line:
for line in itertools.islice(stdout_lines, backtrace_start_line, None):
match = backtrace_entry_regex.search(line)
if match:
backtrace_frames.append(match.groupdict())
with open(runfile, "r") as script:
script_lines = [line.rstrip() for line in script.readlines()]
# For each backtrace frame, search backwards in the script (from the line number called out by the frame),
# to find the comment that emit_vars injected when it wrote the script. This will give us the metadata
# filename (e.g. .bb or .bbclass) and line number where the shell function was originally defined.
script_metadata_comment_regex = re.compile(r"# line: (?P<lineno>\d+), file: (?P<file>.+)")
better_frames = []
# Skip the very last frame since it's just the call to the shell task in the body of the script
for frame in backtrace_frames[:-1]:
# Check whether the frame corresponds to a function defined in the script vs external script.
if os.path.samefile(frame["file"], runfile):
# Search backwards from the frame lineno to locate the comment that BB injected
i = int(frame["lineno"]) - 1
while i >= 0:
match = script_metadata_comment_regex.match(script_lines[i])
if match:
# Calculate the relative line in the function itself
relative_line_in_function = int(frame["lineno"]) - i - 2
# Calculate line in the function as declared in the metadata
metadata_function_line = relative_line_in_function + int(match["lineno"])
better_frames.append("#{frameno}: {funcname}, {file}, line {lineno}".format(
frameno=frame["frameno"],
funcname=frame["funcname"],
file=match["file"],
lineno=metadata_function_line
))
break
i -= 1
else:
better_frames.append("#{frameno}: {funcname}, {file}, line {lineno}".format(**frame))
if better_frames:
better_frames = ("\t{0}".format(frame) for frame in better_frames)
exe.extra_message = "\nBacktrace (metadata-relative locations):\n{0}".format("\n".join(better_frames))
raise
try:
with open(os.devnull, 'r+') as stdin:
bb.process.run(cmd, shell=False, stdin=stdin, log=logfile, extrafiles=[(fifo,readfifo)])
except bb.process.CmdError:
logfn = d.getVar('BB_LOGFILE')
raise FuncFailed(func, logfn)
finally:
os.unlink(fifopath)
@@ -583,7 +471,7 @@ def _exec_task(fn, task, d, quieterr):
logger.error("No such task: %s" % task)
return 1
logger.debug("Executing task %s", task)
logger.debug(1, "Executing task %s", task)
localdata = _task_data(fn, task, d)
tempdir = localdata.getVar('T')
@@ -596,7 +484,7 @@ def _exec_task(fn, task, d, quieterr):
curnice = os.nice(0)
nice = int(nice) - curnice
newnice = os.nice(nice)
logger.debug("Renice to %s " % newnice)
logger.debug(1, "Renice to %s " % newnice)
ionice = localdata.getVar("BB_TASK_IONICE_LEVEL")
if ionice:
try:
@@ -645,6 +533,7 @@ def _exec_task(fn, task, d, quieterr):
self.triggered = True
# Handle logfiles
si = open('/dev/null', 'r')
try:
bb.utils.mkdirhier(os.path.dirname(logfn))
logfile = open(logfn, 'w')
@@ -658,8 +547,7 @@ def _exec_task(fn, task, d, quieterr):
ose = [os.dup(sys.stderr.fileno()), sys.stderr.fileno()]
# Replace those fds with our own
with open('/dev/null', 'r') as si:
os.dup2(si.fileno(), osi[1])
os.dup2(si.fileno(), osi[1])
os.dup2(logfile.fileno(), oso[1])
os.dup2(logfile.fileno(), ose[1])
@@ -681,9 +569,12 @@ def _exec_task(fn, task, d, quieterr):
try:
try:
event.fire(TaskStarted(task, fn, logfn, flags, localdata), localdata)
event.fire(TaskStarted(task, logfn, flags, localdata), localdata)
except (bb.BBHandledException, SystemExit):
return 1
except FuncFailed as exc:
logger.error(str(exc))
return 1
try:
for func in (prefuncs or '').split():
@@ -691,16 +582,16 @@ def _exec_task(fn, task, d, quieterr):
exec_func(task, localdata)
for func in (postfuncs or '').split():
exec_func(func, localdata)
except bb.BBHandledException:
event.fire(TaskFailed(task, fn, logfn, localdata, True), localdata)
return 1
except Exception as exc:
except FuncFailed as exc:
if quieterr:
event.fire(TaskFailedSilent(task, fn, logfn, localdata), localdata)
event.fire(TaskFailedSilent(task, logfn, localdata), localdata)
else:
errprinted = errchk.triggered
logger.error(str(exc))
event.fire(TaskFailed(task, fn, logfn, localdata, errprinted), localdata)
event.fire(TaskFailed(task, logfn, localdata, errprinted), localdata)
return 1
except bb.BBHandledException:
event.fire(TaskFailed(task, logfn, localdata, True), localdata)
return 1
finally:
sys.stdout.flush()
@@ -717,13 +608,14 @@ def _exec_task(fn, task, d, quieterr):
os.close(osi[0])
os.close(oso[0])
os.close(ose[0])
si.close()
logfile.close()
if os.path.exists(logfn) and os.path.getsize(logfn) == 0:
logger.debug2("Zero size logfn %s, removing", logfn)
logger.debug(2, "Zero size logfn %s, removing", logfn)
bb.utils.remove(logfn)
bb.utils.remove(loglink)
event.fire(TaskSucceeded(task, fn, logfn, localdata), localdata)
event.fire(TaskSucceeded(task, logfn, localdata), localdata)
if not localdata.getVarFlag(task, 'nostamp', False) and not localdata.getVarFlag(task, 'selfstamp', False):
make_stamp(task, localdata)
@@ -854,23 +746,6 @@ def make_stamp(task, d, file_name = None):
file_name = d.getVar('BB_FILENAME')
bb.parse.siggen.dump_sigtask(file_name, task, stampbase, True)
def find_stale_stamps(task, d, file_name=None):
current = stamp_internal(task, d, file_name)
current2 = stamp_internal(task + "_setscene", d, file_name)
cleanmask = stamp_cleanmask_internal(task, d, file_name)
found = []
for mask in cleanmask:
for name in glob.glob(mask):
if "sigdata" in name or "sigbasedata" in name:
continue
if name.endswith('.taint'):
continue
if name == current or name == current2:
continue
logger.debug2("Stampfile %s does not match %s or %s" % (name, current, current2))
found.append(name)
return found
def del_stamp(task, d, file_name = None):
"""
Removes a stamp for a given task
@@ -928,7 +803,6 @@ def add_tasks(tasklist, d):
if name in flags:
deptask = d.expand(flags[name])
task_deps[name][task] = deptask
getTask('mcdepends')
getTask('depends')
getTask('rdepends')
getTask('deptask')
@@ -942,9 +816,6 @@ def add_tasks(tasklist, d):
task_deps['parents'][task] = []
if 'deps' in flags:
for dep in flags['deps']:
# Check and warn for "addtask task after foo" while foo does not exist
#if not dep in tasklist:
# bb.warn('%s: dependent task %s for %s does not exist' % (d.getVar('PN'), dep, task))
dep = d.expand(dep)
task_deps['parents'][task].append(dep)

View File

@@ -1,3 +1,5 @@
# ex:ts=4:sw=4:sts=4:et
# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
#
# BitBake Cache implementation
#
@@ -13,26 +15,32 @@
# Copyright (C) 2005 Holger Hans Peter Freyther
# Copyright (C) 2005 ROAD GmbH
#
# SPDX-License-Identifier: GPL-2.0-only
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program 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 General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
import os
import sys
import logging
import pickle
from collections import defaultdict, Mapping
from collections import defaultdict
import bb.utils
from bb import PrefixLoggerAdapter
import re
logger = logging.getLogger("BitBake.Cache")
__cache_version__ = "154"
__cache_version__ = "151"
def getCacheFile(path, filename, mc, data_hash):
mcspec = ''
if mc:
mcspec = ".%s" % mc
return os.path.join(path, filename + mcspec + "." + data_hash)
def getCacheFile(path, filename, data_hash):
return os.path.join(path, filename + "." + data_hash)
# RecipeInfoCommon defines common data retrieving methods
# from meta data for caches. CoreRecipeInfo as well as other
@@ -87,22 +95,21 @@ class CoreRecipeInfo(RecipeInfoCommon):
self.appends = self.listvar('__BBAPPEND', metadata)
self.nocache = self.getvar('BB_DONT_CACHE', metadata)
self.provides = self.depvar('PROVIDES', metadata)
self.rprovides = self.depvar('RPROVIDES', metadata)
self.pn = self.getvar('PN', metadata) or bb.parse.vars_from_file(filename,metadata)[0]
self.packages = self.listvar('PACKAGES', metadata)
if not self.packages:
self.packages.append(self.pn)
self.packages_dynamic = self.listvar('PACKAGES_DYNAMIC', metadata)
self.rprovides_pkg = self.pkgvar('RPROVIDES', self.packages, metadata)
self.skipreason = self.getvar('__SKIPPED', metadata)
if self.skipreason:
self.pn = self.getvar('PN', metadata) or bb.parse.BBHandler.vars_from_file(filename,metadata)[0]
self.skipped = True
self.provides = self.depvar('PROVIDES', metadata)
self.rprovides = self.depvar('RPROVIDES', metadata)
return
self.tasks = metadata.getVar('__BBTASKS', False)
self.pn = self.getvar('PN', metadata)
self.packages = self.listvar('PACKAGES', metadata)
if not self.packages:
self.packages.append(self.pn)
self.basetaskhashes = self.taskvar('BB_BASEHASH', self.tasks, metadata)
self.hashfilename = self.getvar('BB_HASHFILENAME', metadata)
@@ -118,15 +125,18 @@ class CoreRecipeInfo(RecipeInfoCommon):
self.stampclean = self.getvar('STAMPCLEAN', metadata)
self.stamp_extrainfo = self.flaglist('stamp-extra-info', self.tasks, metadata)
self.file_checksums = self.flaglist('file-checksums', self.tasks, metadata, True)
self.packages_dynamic = self.listvar('PACKAGES_DYNAMIC', metadata)
self.depends = self.depvar('DEPENDS', metadata)
self.provides = self.depvar('PROVIDES', metadata)
self.rdepends = self.depvar('RDEPENDS', metadata)
self.rprovides = self.depvar('RPROVIDES', metadata)
self.rrecommends = self.depvar('RRECOMMENDS', metadata)
self.rprovides_pkg = self.pkgvar('RPROVIDES', self.packages, metadata)
self.rdepends_pkg = self.pkgvar('RDEPENDS', self.packages, metadata)
self.rrecommends_pkg = self.pkgvar('RRECOMMENDS', self.packages, metadata)
self.inherits = self.getvar('__inherit_cache', metadata, expand=False)
self.fakerootenv = self.getvar('FAKEROOTENV', metadata)
self.fakerootdirs = self.getvar('FAKEROOTDIRS', metadata)
self.fakerootlogs = self.getvar('FAKEROOTLOGS', metadata)
self.fakerootnoenv = self.getvar('FAKEROOTNOENV', metadata)
self.extradepsfunc = self.getvar('calculate_extra_depends', metadata)
@@ -164,7 +174,6 @@ class CoreRecipeInfo(RecipeInfoCommon):
cachedata.fakerootenv = {}
cachedata.fakerootnoenv = {}
cachedata.fakerootdirs = {}
cachedata.fakerootlogs = {}
cachedata.extradepsfunc = {}
def add_cacheData(self, cachedata, fn):
@@ -214,10 +223,10 @@ class CoreRecipeInfo(RecipeInfoCommon):
# Collect files we may need for possible world-dep
# calculations
if not self.not_world:
if self.not_world:
logger.debug(1, "EXCLUDE FROM WORLD: %s", fn)
else:
cachedata.possible_world.append(fn)
#else:
# logger.debug2("EXCLUDE FROM WORLD: %s", fn)
# create a collection of all targets for sanity checking
# tasks, such as upstream versions, license, and tools for
@@ -226,14 +235,13 @@ class CoreRecipeInfo(RecipeInfoCommon):
cachedata.hashfn[fn] = self.hashfilename
for task, taskhash in self.basetaskhashes.items():
identifier = '%s:%s' % (fn, task)
identifier = '%s.%s' % (fn, task)
cachedata.basetaskhash[identifier] = taskhash
cachedata.inherits[fn] = self.inherits
cachedata.fakerootenv[fn] = self.fakerootenv
cachedata.fakerootnoenv[fn] = self.fakerootnoenv
cachedata.fakerootdirs[fn] = self.fakerootdirs
cachedata.fakerootlogs[fn] = self.fakerootlogs
cachedata.extradepsfunc[fn] = self.extradepsfunc
def virtualfn2realfn(virtualfn):
@@ -241,7 +249,7 @@ def virtualfn2realfn(virtualfn):
Convert a virtual file name to a real one + the associated subclass keyword
"""
mc = ""
if virtualfn.startswith('mc:') and virtualfn.count(':') >= 2:
if virtualfn.startswith('multiconfig:'):
elems = virtualfn.split(':')
mc = elems[1]
virtualfn = ":".join(elems[2:])
@@ -262,7 +270,7 @@ def realfn2virtual(realfn, cls, mc):
if cls:
realfn = "virtual:" + cls + ":" + realfn
if mc:
realfn = "mc:" + mc + ":" + realfn
realfn = "multiconfig:" + mc + ":" + realfn
return realfn
def variant2virtual(realfn, variant):
@@ -271,11 +279,11 @@ def variant2virtual(realfn, variant):
"""
if variant == "":
return realfn
if variant.startswith("mc:") and variant.count(':') >= 2:
if variant.startswith("multiconfig:"):
elems = variant.split(":")
if elems[2]:
return "mc:" + elems[1] + ":virtual:" + ":".join(elems[2:]) + ":" + realfn
return "mc:" + elems[1] + ":" + realfn
return "multiconfig:" + elems[1] + ":virtual:" + ":".join(elems[2:]) + ":" + realfn
return "multiconfig:" + elems[1] + ":" + realfn
return "virtual:" + variant + ":" + realfn
def parse_recipe(bb_data, bbfile, appends, mc=''):
@@ -326,12 +334,12 @@ class NoCache(object):
Return a complete set of data for fn.
To do this, we need to parse the file.
"""
logger.debug("Parsing %s (full)" % virtualfn)
logger.debug(1, "Parsing %s (full)" % virtualfn)
(fn, virtual, mc) = virtualfn2realfn(virtualfn)
bb_data = self.load_bbfile(virtualfn, appends, virtonly=True)
return bb_data[virtual]
def load_bbfile(self, bbfile, appends, virtonly = False, mc=None):
def load_bbfile(self, bbfile, appends, virtonly = False):
"""
Load and parse one .bb build file
Return the data and whether parsing resulted in the file being skipped
@@ -344,10 +352,6 @@ class NoCache(object):
datastores = parse_recipe(bb_data, bbfile, appends, mc)
return datastores
if mc is not None:
bb_data = self.databuilder.mcdata[mc].createCopy()
return parse_recipe(bb_data, bbfile, appends, mc)
bb_data = self.data.createCopy()
datastores = parse_recipe(bb_data, bbfile, appends)
@@ -357,7 +361,7 @@ class NoCache(object):
bb_data = self.databuilder.mcdata[mc].createCopy()
newstores = parse_recipe(bb_data, bbfile, appends, mc)
for ns in newstores:
datastores["mc:%s:%s" % (mc, ns)] = newstores[ns]
datastores["multiconfig:%s:%s" % (mc, ns)] = newstores[ns]
return datastores
@@ -365,15 +369,14 @@ class Cache(NoCache):
"""
BitBake Cache implementation
"""
def __init__(self, databuilder, mc, data_hash, caches_array):
def __init__(self, databuilder, data_hash, caches_array):
super().__init__(databuilder)
data = databuilder.data
# Pass caches_array information into Cache Constructor
# It will be used later for deciding whether we
# need extra cache file dump/load support
self.mc = mc
self.logger = PrefixLoggerAdapter("Cache: %s: " % (mc if mc else "default"), logger)
self.caches_array = caches_array
self.cachedir = data.getVar("CACHE")
self.clean = set()
@@ -382,81 +385,48 @@ class Cache(NoCache):
self.data_fn = None
self.cacheclean = True
self.data_hash = data_hash
self.filelist_regex = re.compile(r'(?:(?<=:True)|(?<=:False))\s+')
if self.cachedir in [None, '']:
self.has_cache = False
self.logger.info("Not using a cache. "
"Set CACHE = <directory> to enable.")
logger.info("Not using a cache. "
"Set CACHE = <directory> to enable.")
return
self.has_cache = True
self.cachefile = getCacheFile(self.cachedir, "bb_cache.dat", self.data_hash)
def getCacheFile(self, cachefile):
return getCacheFile(self.cachedir, cachefile, self.mc, self.data_hash)
def prepare_cache(self, progress):
if not self.has_cache:
return 0
loaded = 0
self.cachefile = self.getCacheFile("bb_cache.dat")
self.logger.debug("Cache dir: %s", self.cachedir)
logger.debug(1, "Cache dir: %s", self.cachedir)
bb.utils.mkdirhier(self.cachedir)
cache_ok = True
if self.caches_array:
for cache_class in self.caches_array:
cachefile = self.getCacheFile(cache_class.cachefile)
cache_exists = os.path.exists(cachefile)
self.logger.debug2("Checking if %s exists: %r", cachefile, cache_exists)
cache_ok = cache_ok and cache_exists
cachefile = getCacheFile(self.cachedir, cache_class.cachefile, self.data_hash)
cache_ok = cache_ok and os.path.exists(cachefile)
cache_class.init_cacheData(self)
if cache_ok:
loaded = self.load_cachefile(progress)
self.load_cachefile()
elif os.path.isfile(self.cachefile):
self.logger.info("Out of date cache found, rebuilding...")
logger.info("Out of date cache found, rebuilding...")
else:
self.logger.debug("Cache file %s not found, building..." % self.cachefile)
# We don't use the symlink, its just for debugging convinience
if self.mc:
symlink = os.path.join(self.cachedir, "bb_cache.dat.%s" % self.mc)
else:
symlink = os.path.join(self.cachedir, "bb_cache.dat")
if os.path.exists(symlink):
bb.utils.remove(symlink)
try:
os.symlink(os.path.basename(self.cachefile), symlink)
except OSError:
pass
return loaded
def cachesize(self):
if not self.has_cache:
return 0
logger.debug(1, "Cache file %s not found, building..." % self.cachefile)
def load_cachefile(self):
cachesize = 0
for cache_class in self.caches_array:
cachefile = self.getCacheFile(cache_class.cachefile)
try:
with open(cachefile, "rb") as cachefile:
cachesize += os.fstat(cachefile.fileno()).st_size
except FileNotFoundError:
pass
return cachesize
def load_cachefile(self, progress):
previous_progress = 0
previous_percent = 0
# Calculate the correct cachesize of all those cache files
for cache_class in self.caches_array:
cachefile = getCacheFile(self.cachedir, cache_class.cachefile, self.data_hash)
with open(cachefile, "rb") as cachefile:
cachesize += os.fstat(cachefile.fileno()).st_size
bb.event.fire(bb.event.CacheLoadStarted(cachesize), self.data)
for cache_class in self.caches_array:
cachefile = self.getCacheFile(cache_class.cachefile)
self.logger.debug('Loading cache file: %s' % cachefile)
cachefile = getCacheFile(self.cachedir, cache_class.cachefile, self.data_hash)
logger.debug(1, 'Loading cache file: %s' % cachefile)
with open(cachefile, "rb") as cachefile:
pickled = pickle.Unpickler(cachefile)
# Check cache version information
@@ -464,15 +434,15 @@ class Cache(NoCache):
cache_ver = pickled.load()
bitbake_ver = pickled.load()
except Exception:
self.logger.info('Invalid cache, rebuilding...')
return 0
logger.info('Invalid cache, rebuilding...')
return
if cache_ver != __cache_version__:
self.logger.info('Cache version mismatch, rebuilding...')
return 0
logger.info('Cache version mismatch, rebuilding...')
return
elif bitbake_ver != bb.__version__:
self.logger.info('Bitbake version mismatch, rebuilding...')
return 0
logger.info('Bitbake version mismatch, rebuilding...')
return
# Load the rest of the cache file
current_progress = 0
@@ -495,17 +465,29 @@ class Cache(NoCache):
self.depends_cache[key] = [value]
# only fire events on even percentage boundaries
current_progress = cachefile.tell() + previous_progress
progress(cachefile.tell() + previous_progress)
if current_progress > cachesize:
# we might have calculated incorrect total size because a file
# might've been written out just after we checked its size
cachesize = current_progress
current_percent = 100 * current_progress / cachesize
if current_percent > previous_percent:
previous_percent = current_percent
bb.event.fire(bb.event.CacheLoadProgress(current_progress, cachesize),
self.data)
previous_progress += current_progress
return len(self.depends_cache)
# Note: depends cache number is corresponding to the parsing file numbers.
# The same file has several caches, still regarded as one item in the cache
bb.event.fire(bb.event.CacheLoadCompleted(cachesize,
len(self.depends_cache)),
self.data)
def parse(self, filename, appends):
"""Parse the specified filename, returning the recipe information"""
self.logger.debug("Parsing %s", filename)
logger.debug(1, "Parsing %s", filename)
infos = []
datastores = self.load_bbfile(filename, appends, mc=self.mc)
datastores = self.load_bbfile(filename, appends)
depends = []
variants = []
# Process the "real" fn last so we can store variants list
@@ -557,7 +539,7 @@ class Cache(NoCache):
cached, infos = self.load(fn, appends)
for virtualfn, info_array in infos:
if info_array[0].skipped:
self.logger.debug("Skipping %s: %s", virtualfn, info_array[0].skipreason)
logger.debug(1, "Skipping %s: %s", virtualfn, info_array[0].skipreason)
skipped += 1
else:
self.add_info(virtualfn, info_array, cacheData, not cached)
@@ -593,21 +575,21 @@ class Cache(NoCache):
# File isn't in depends_cache
if not fn in self.depends_cache:
self.logger.debug2("%s is not cached", fn)
logger.debug(2, "Cache: %s is not cached", fn)
return False
mtime = bb.parse.cached_mtime_noerror(fn)
# Check file still exists
if mtime == 0:
self.logger.debug2("%s no longer exists", fn)
logger.debug(2, "Cache: %s no longer exists", fn)
self.remove(fn)
return False
info_array = self.depends_cache[fn]
# Check the file's timestamp
if mtime != info_array[0].timestamp:
self.logger.debug2("%s changed", fn)
logger.debug(2, "Cache: %s changed", fn)
self.remove(fn)
return False
@@ -618,37 +600,45 @@ class Cache(NoCache):
fmtime = bb.parse.cached_mtime_noerror(f)
# Check if file still exists
if old_mtime != 0 and fmtime == 0:
self.logger.debug2("%s's dependency %s was removed",
fn, f)
logger.debug(2, "Cache: %s's dependency %s was removed",
fn, f)
self.remove(fn)
return False
if (fmtime != old_mtime):
self.logger.debug2("%s's dependency %s changed",
fn, f)
logger.debug(2, "Cache: %s's dependency %s changed",
fn, f)
self.remove(fn)
return False
if hasattr(info_array[0], 'file_checksums'):
for _, fl in info_array[0].file_checksums.items():
fl = fl.strip()
if not fl:
continue
# Have to be careful about spaces and colons in filenames
flist = self.filelist_regex.split(fl)
for f in flist:
if not f:
while fl:
# A .split() would be simpler but means spaces or colons in filenames would break
a = fl.find(":True")
b = fl.find(":False")
if ((a < 0) and b) or ((b > 0) and (b < a)):
f = fl[:b+6]
fl = fl[b+7:]
elif ((b < 0) and a) or ((a > 0) and (a < b)):
f = fl[:a+5]
fl = fl[a+6:]
else:
break
fl = fl.strip()
if "*" in f:
continue
f, exist = f.split(":")
if (exist == "True" and not os.path.exists(f)) or (exist == "False" and os.path.exists(f)):
self.logger.debug2("%s's file checksum list file %s changed",
fn, f)
logger.debug(2, "Cache: %s's file checksum list file %s changed",
fn, f)
self.remove(fn)
return False
if tuple(appends) != tuple(info_array[0].appends):
self.logger.debug2("appends for %s changed", fn)
self.logger.debug2("%s to %s" % (str(appends), str(info_array[0].appends)))
if appends != info_array[0].appends:
logger.debug(2, "Cache: appends for %s changed", fn)
logger.debug(2, "%s to %s" % (str(appends), str(info_array[0].appends)))
self.remove(fn)
return False
@@ -657,10 +647,10 @@ class Cache(NoCache):
virtualfn = variant2virtual(fn, cls)
self.clean.add(virtualfn)
if virtualfn not in self.depends_cache:
self.logger.debug2("%s is not cached", virtualfn)
logger.debug(2, "Cache: %s is not cached", virtualfn)
invalid = True
elif len(self.depends_cache[virtualfn]) != len(self.caches_array):
self.logger.debug2("Extra caches missing for %s?" % virtualfn)
logger.debug(2, "Cache: Extra caches missing for %s?" % virtualfn)
invalid = True
# If any one of the variants is not present, mark as invalid for all
@@ -668,10 +658,10 @@ class Cache(NoCache):
for cls in info_array[0].variants:
virtualfn = variant2virtual(fn, cls)
if virtualfn in self.clean:
self.logger.debug2("Removing %s from cache", virtualfn)
logger.debug(2, "Cache: Removing %s from cache", virtualfn)
self.clean.remove(virtualfn)
if fn in self.clean:
self.logger.debug2("Marking %s as not clean", fn)
logger.debug(2, "Cache: Marking %s as not clean", fn)
self.clean.remove(fn)
return False
@@ -684,10 +674,10 @@ class Cache(NoCache):
Called from the parser in error cases
"""
if fn in self.depends_cache:
self.logger.debug("Removing %s from cache", fn)
logger.debug(1, "Removing %s from cache", fn)
del self.depends_cache[fn]
if fn in self.clean:
self.logger.debug("Marking %s as unclean", fn)
logger.debug(1, "Marking %s as unclean", fn)
self.clean.remove(fn)
def sync(self):
@@ -700,13 +690,12 @@ class Cache(NoCache):
return
if self.cacheclean:
self.logger.debug2("Cache is clean, not saving.")
logger.debug(2, "Cache is clean, not saving.")
return
for cache_class in self.caches_array:
cache_class_name = cache_class.__name__
cachefile = self.getCacheFile(cache_class.cachefile)
self.logger.debug2("Writing %s", cachefile)
cachefile = getCacheFile(self.cachedir, cache_class.cachefile, self.data_hash)
with open(cachefile, "wb") as f:
p = pickle.Pickler(f, pickle.HIGHEST_PROTOCOL)
p.dump(__cache_version__)
@@ -725,18 +714,8 @@ class Cache(NoCache):
return bb.parse.cached_mtime_noerror(cachefile)
def add_info(self, filename, info_array, cacheData, parsed=None, watcher=None):
if self.mc is not None:
(fn, cls, mc) = virtualfn2realfn(filename)
if mc:
self.logger.error("Unexpected multiconfig %s", filename)
return
vfn = realfn2virtual(fn, cls, self.mc)
else:
vfn = filename
if isinstance(info_array[0], CoreRecipeInfo) and (not info_array[0].skipped):
cacheData.add_from_recipeinfo(vfn, info_array)
cacheData.add_from_recipeinfo(filename, info_array)
if watcher:
watcher(info_array[0].file_depends)
@@ -761,61 +740,6 @@ class Cache(NoCache):
info_array.append(cache_class(realfn, data))
self.add_info(file_name, info_array, cacheData, parsed)
class MulticonfigCache(Mapping):
def __init__(self, databuilder, data_hash, caches_array):
def progress(p):
nonlocal current_progress
nonlocal previous_progress
nonlocal previous_percent
nonlocal cachesize
current_progress = previous_progress + p
if current_progress > cachesize:
# we might have calculated incorrect total size because a file
# might've been written out just after we checked its size
cachesize = current_progress
current_percent = 100 * current_progress / cachesize
if current_percent > previous_percent:
previous_percent = current_percent
bb.event.fire(bb.event.CacheLoadProgress(current_progress, cachesize),
databuilder.data)
cachesize = 0
current_progress = 0
previous_progress = 0
previous_percent = 0
self.__caches = {}
for mc, mcdata in databuilder.mcdata.items():
self.__caches[mc] = Cache(databuilder, mc, data_hash, caches_array)
cachesize += self.__caches[mc].cachesize()
bb.event.fire(bb.event.CacheLoadStarted(cachesize), databuilder.data)
loaded = 0
for c in self.__caches.values():
loaded += c.prepare_cache(progress)
previous_progress = current_progress
# Note: depends cache number is corresponding to the parsing file numbers.
# The same file has several caches, still regarded as one item in the cache
bb.event.fire(bb.event.CacheLoadCompleted(cachesize, loaded), databuilder.data)
def __len__(self):
return len(self.__caches)
def __getitem__(self, key):
return self.__caches[key]
def __contains__(self, key):
return key in self.__caches
def __iter__(self):
for k in self.__caches:
yield k
def init(cooker):
"""
@@ -882,7 +806,7 @@ class MultiProcessCache(object):
bb.utils.mkdirhier(cachedir)
self.cachefile = os.path.join(cachedir,
cache_file_name or self.__class__.cache_file_name)
logger.debug("Using cache in '%s'", self.cachefile)
logger.debug(1, "Using cache in '%s'", self.cachefile)
glf = bb.utils.lockfile(self.cachefile + ".lock")
@@ -965,56 +889,3 @@ class MultiProcessCache(object):
p.dump([data, self.__class__.CACHE_VERSION])
bb.utils.unlockfile(glf)
class SimpleCache(object):
"""
BitBake multi-process cache implementation
Used by the codeparser & file checksum caches
"""
def __init__(self, version):
self.cachefile = None
self.cachedata = None
self.cacheversion = version
def init_cache(self, d, cache_file_name=None, defaultdata=None):
cachedir = (d.getVar("PERSISTENT_DIR") or
d.getVar("CACHE"))
if not cachedir:
return defaultdata
bb.utils.mkdirhier(cachedir)
self.cachefile = os.path.join(cachedir,
cache_file_name or self.__class__.cache_file_name)
logger.debug("Using cache in '%s'", self.cachefile)
glf = bb.utils.lockfile(self.cachefile + ".lock")
try:
with open(self.cachefile, "rb") as f:
p = pickle.Unpickler(f)
data, version = p.load()
except:
bb.utils.unlockfile(glf)
return defaultdata
bb.utils.unlockfile(glf)
if version != self.cacheversion:
return defaultdata
return data
def save(self, data):
if not self.cachefile:
return
glf = bb.utils.lockfile(self.cachefile + ".lock")
with open(self.cachefile, "wb") as f:
p = pickle.Pickler(f, -1)
p.dump([data, self.cacheversion])
bb.utils.unlockfile(glf)

View File

@@ -1,3 +1,5 @@
# ex:ts=4:sw=4:sts=4:et
# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
#
# Extra RecipeInfo will be all defined in this file. Currently,
# Only Hob (Image Creator) Requests some extra fields. So
@@ -10,8 +12,18 @@
# Copyright (C) 2011, Intel Corporation. All rights reserved.
# SPDX-License-Identifier: GPL-2.0-only
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program 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 General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
from bb.cache import RecipeInfoCommon

View File

@@ -2,13 +2,24 @@
#
# Copyright (C) 2012 Intel Corporation
#
# SPDX-License-Identifier: GPL-2.0-only
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program 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 General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
import glob
import operator
import os
import stat
import pickle
import bb.utils
import logging
from bb.cache import MultiProcessCache
@@ -73,7 +84,7 @@ class FileChecksumCache(MultiProcessCache):
else:
dest[0][h] = source[0][h]
def get_checksums(self, filelist, pn, localdirsexclude):
def get_checksums(self, filelist, pn):
"""Get checksums for a list of files"""
def checksum_file(f):
@@ -89,8 +100,7 @@ class FileChecksumCache(MultiProcessCache):
if pth == "/":
bb.fatal("Refusing to checksum /")
dirchecksums = []
for root, dirs, files in os.walk(pth, topdown=True):
[dirs.remove(d) for d in list(dirs) if d in localdirsexclude]
for root, dirs, files in os.walk(pth):
for name in files:
fullpth = os.path.join(root, name)
checksum = checksum_file(fullpth)

View File

@@ -1,7 +1,3 @@
#
# SPDX-License-Identifier: GPL-2.0-only
#
"""
BitBake code parser
@@ -25,17 +21,19 @@ import ast
import sys
import codegen
import logging
import pickle
import bb.pysh as pysh
import os.path
import bb.utils, bb.data
import hashlib
from itertools import chain
from bb.pysh import pyshyacc, pyshlex
from bb.pysh import pyshyacc, pyshlex, sherrors
from bb.cache import MultiProcessCache
logger = logging.getLogger('BitBake.CodeParser')
def bbhash(s):
return hashlib.sha256(s.encode("utf-8")).hexdigest()
return hashlib.md5(s.encode("utf-8")).hexdigest()
def check_indent(codestr):
"""If the code is indented, add a top level piece of code to 'remove' the indentation"""
@@ -56,10 +54,30 @@ def check_indent(codestr):
return codestr
# Basically pickle, in python 2.7.3 at least, does badly with data duplication
# upon pickling and unpickling. Combine this with duplicate objects and things
# are a mess.
#
# When the sets are originally created, python calls intern() on the set keys
# which significantly improves memory usage. Sadly the pickle/unpickle process
# doesn't call intern() on the keys and results in the same strings being duplicated
# in memory. This also means pickle will save the same string multiple times in
# the cache file.
#
# By having shell and python cacheline objects with setstate/getstate, we force
# the object creation through our own routine where we can call intern (via internSet).
#
# We also use hashable frozensets and ensure we use references to these so that
# duplicates can be removed, both in memory and in the resulting pickled data.
#
# By playing these games, the size of the cache file shrinks dramatically
# meaning faster load times and the reloaded cache files also consume much less
# memory. Smaller cache files, faster load times and lower memory usage is good.
#
# A custom getstate/setstate using tuples is actually worth 15% cachesize by
# avoiding duplication of the attribute names!
class SetCache(object):
def __init__(self):
self.setcache = {}
@@ -122,7 +140,7 @@ class CodeParserCache(MultiProcessCache):
# so that an existing cache gets invalidated. Additionally you'll need
# to increment __cache_version__ in cache.py in order to ensure that old
# recipe caches don't trigger "Taskhash mismatch" errors.
CACHE_VERSION = 11
CACHE_VERSION = 9
def __init__(self):
MultiProcessCache.__init__(self)
@@ -196,7 +214,7 @@ class BufferedLogger(Logger):
self.buffer = []
class PythonParser():
getvars = (".getVar", ".appendVar", ".prependVar", "oe.utils.conditional")
getvars = (".getVar", ".appendVar", ".prependVar")
getvarflags = (".getVarFlag", ".appendVarFlag", ".prependVarFlag")
containsfuncs = ("bb.utils.contains", "base_contains")
containsanyfuncs = ("bb.utils.contains_any", "bb.utils.filter")
@@ -212,9 +230,9 @@ class PythonParser():
funcstr = codegen.to_source(func)
argstr = codegen.to_source(arg)
except TypeError:
self.log.debug2('Failed to convert function and argument to source form')
self.log.debug(2, 'Failed to convert function and argument to source form')
else:
self.log.debug(self.unhandled_message % (funcstr, argstr))
self.log.debug(1, self.unhandled_message % (funcstr, argstr))
def visit_Call(self, node):
name = self.called_node_name(node.func)
@@ -350,9 +368,8 @@ class ShellParser():
def _parse_shell(self, value):
try:
tokens, _ = pyshyacc.parse(value, eof=True, debug=False)
except Exception:
bb.error('Error during parse shell code, the last 5 lines are:\n%s' % '\n'.join(value.split('\n')[-5:]))
raise
except pyshlex.NeedMore:
raise sherrors.ShellSyntaxError("Unexpected EOF")
self.process_tokens(tokens)
@@ -450,7 +467,7 @@ class ShellParser():
cmd = word[1]
if cmd.startswith("$"):
self.log.debug(self.unhandled_template % cmd)
self.log.debug(1, self.unhandled_template % cmd)
elif cmd == "eval":
command = " ".join(word for _, word in words[1:])
self._parse_shell(command)

View File

@@ -6,8 +6,18 @@ Provide an interface to interact with the bitbake server through 'commands'
# Copyright (C) 2006-2007 Richard Purdie
#
# SPDX-License-Identifier: GPL-2.0-only
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program 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 General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
"""
The bitbake server takes 'commands' from its UI/commandline.
@@ -54,25 +64,18 @@ class Command:
self.cooker = cooker
self.cmds_sync = CommandsSync()
self.cmds_async = CommandsAsync()
self.remotedatastores = None
self.remotedatastores = bb.remotedata.RemoteDatastores(cooker)
# FIXME Add lock for this
self.currentAsyncCommand = None
def runCommand(self, commandline, ro_only = False):
command = commandline.pop(0)
# Ensure cooker is ready for commands
if command != "updateConfig" and command != "setFeatures":
self.cooker.init_configdata()
if not self.remotedatastores:
self.remotedatastores = bb.remotedata.RemoteDatastores(self.cooker)
if hasattr(CommandsSync, command):
# Can run synchronous commands straight away
command_method = getattr(self.cmds_sync, command)
if ro_only:
if not hasattr(command_method, 'readonly') or not getattr(command_method, 'readonly'):
if not hasattr(command_method, 'readonly') or False == getattr(command_method, 'readonly'):
return None, "Not able to execute not readonly commands in readonly mode"
try:
self.cooker.process_inotify_updates()
@@ -81,12 +84,8 @@ class Command:
result = command_method(self, commandline)
except CommandError as exc:
return None, exc.args[0]
except (Exception, SystemExit) as exc:
except (Exception, SystemExit):
import traceback
if isinstance(exc, bb.BBHandledException):
# We need to start returning real exceptions here. Until we do, we can't
# tell if an exception is an instance of bb.BBHandledException
return None, "bb.BBHandledException()\n" + traceback.format_exc()
return None, traceback.format_exc()
else:
return result, None
@@ -95,7 +94,7 @@ class Command:
if command not in CommandsAsync.__dict__:
return None, "No such command"
self.currentAsyncCommand = (command, commandline)
self.cooker.idleCallBackRegister(self.cooker.runCommands, self.cooker)
self.cooker.configuration.server_register_idlecallback(self.cooker.runCommands, self.cooker)
return True, None
def runAsyncCommand(self):
@@ -147,8 +146,13 @@ class Command:
self.cooker.finishcommand()
def reset(self):
if self.remotedatastores:
self.remotedatastores = bb.remotedata.RemoteDatastores(self.cooker)
self.remotedatastores = bb.remotedata.RemoteDatastores(self.cooker)
def split_mc_pn(pn):
if pn.startswith("multiconfig:"):
_, mc, pn = pn.split(":", 2)
return (mc, pn)
return ('', pn)
class CommandsSync:
"""
@@ -238,11 +242,7 @@ class CommandsSync:
def matchFile(self, command, params):
fMatch = params[0]
try:
mc = params[0]
except IndexError:
mc = ''
return command.cooker.matchFile(fMatch, mc)
return command.cooker.matchFile(fMatch)
matchFile.needconfig = False
def getUIHandlerNum(self, command, params):
@@ -405,50 +405,30 @@ class CommandsSync:
def getSkippedRecipes(self, command, params):
# Return list sorted by reverse priority order
import bb.cache
def sortkey(x):
vfn, _ = x
realfn, _, mc = bb.cache.virtualfn2realfn(vfn)
return (-command.cooker.collections[mc].calc_bbfile_priority(realfn)[0], vfn)
skipdict = OrderedDict(sorted(command.cooker.skiplist.items(), key=sortkey))
skipdict = OrderedDict(sorted(command.cooker.skiplist.items(),
key=lambda x: (-command.cooker.collection.calc_bbfile_priority(bb.cache.virtualfn2realfn(x[0])[0]), x[0])))
return list(skipdict.items())
getSkippedRecipes.readonly = True
def getOverlayedRecipes(self, command, params):
try:
mc = params[0]
except IndexError:
mc = ''
return list(command.cooker.collections[mc].overlayed.items())
return list(command.cooker.collection.overlayed.items())
getOverlayedRecipes.readonly = True
def getFileAppends(self, command, params):
fn = params[0]
try:
mc = params[1]
except IndexError:
mc = ''
return command.cooker.collections[mc].get_file_appends(fn)
return command.cooker.collection.get_file_appends(fn)
getFileAppends.readonly = True
def getAllAppends(self, command, params):
try:
mc = params[0]
except IndexError:
mc = ''
return command.cooker.collections[mc].bbappends
return command.cooker.collection.bbappends
getAllAppends.readonly = True
def findProviders(self, command, params):
try:
mc = params[0]
except IndexError:
mc = ''
return command.cooker.findProviders(mc)
return command.cooker.findProviders()
findProviders.readonly = True
def findBestProvider(self, command, params):
(mc, pn) = bb.runqueue.split_mc(params[0])
(mc, pn) = split_mc_pn(params[0])
return command.cooker.findBestProvider(pn, mc)
findBestProvider.readonly = True
@@ -476,38 +456,54 @@ class CommandsSync:
return all_p, best
getRuntimeProviders.readonly = True
def dataStoreConnectorCmd(self, command, params):
def dataStoreConnectorFindVar(self, command, params):
dsindex = params[0]
method = params[1]
args = params[2]
kwargs = params[3]
name = params[1]
datastore = command.remotedatastores[dsindex]
value, overridedata = datastore._findVar(name)
d = command.remotedatastores[dsindex]
ret = getattr(d, method)(*args, **kwargs)
if value:
content = value.get('_content', None)
if isinstance(content, bb.data_smart.DataSmart):
# Value is a datastore (e.g. BB_ORIGENV) - need to handle this carefully
idx = command.remotedatastores.check_store(content, True)
return {'_content': DataStoreConnectionHandle(idx),
'_connector_origtype': 'DataStoreConnectionHandle',
'_connector_overrides': overridedata}
elif isinstance(content, set):
return {'_content': list(content),
'_connector_origtype': 'set',
'_connector_overrides': overridedata}
else:
value['_connector_overrides'] = overridedata
else:
value = {}
value['_connector_overrides'] = overridedata
return value
dataStoreConnectorFindVar.readonly = True
if isinstance(ret, bb.data_smart.DataSmart):
idx = command.remotedatastores.store(ret)
return DataStoreConnectionHandle(idx)
return ret
def dataStoreConnectorVarHistCmd(self, command, params):
def dataStoreConnectorGetKeys(self, command, params):
dsindex = params[0]
method = params[1]
args = params[2]
kwargs = params[3]
datastore = command.remotedatastores[dsindex]
return list(datastore.keys())
dataStoreConnectorGetKeys.readonly = True
d = command.remotedatastores[dsindex].varhistory
return getattr(d, method)(*args, **kwargs)
def dataStoreConnectorIncHistCmd(self, command, params):
def dataStoreConnectorGetVarHistory(self, command, params):
dsindex = params[0]
method = params[1]
args = params[2]
kwargs = params[3]
name = params[1]
datastore = command.remotedatastores[dsindex]
return datastore.varhistory.variable(name)
dataStoreConnectorGetVarHistory.readonly = True
d = command.remotedatastores[dsindex].inchistory
return getattr(d, method)(*args, **kwargs)
def dataStoreConnectorExpandPythonRef(self, command, params):
config_data_dict = params[0]
varname = params[1]
expr = params[2]
config_data = command.remotedatastores.receive_datastore(config_data_dict)
varparse = bb.data_smart.VariableParse(varname, config_data)
return varparse.python_sub(expr)
def dataStoreConnectorRelease(self, command, params):
dsindex = params[0]
@@ -515,6 +511,31 @@ class CommandsSync:
raise CommandError('dataStoreConnectorRelease: invalid index %d' % dsindex)
command.remotedatastores.release(dsindex)
def dataStoreConnectorSetVarFlag(self, command, params):
dsindex = params[0]
name = params[1]
flag = params[2]
value = params[3]
datastore = command.remotedatastores[dsindex]
datastore.setVarFlag(name, flag, value)
def dataStoreConnectorDelVar(self, command, params):
dsindex = params[0]
name = params[1]
datastore = command.remotedatastores[dsindex]
if len(params) > 2:
flag = params[2]
datastore.delVarFlag(name, flag)
else:
datastore.delVar(name)
def dataStoreConnectorRenameVar(self, command, params):
dsindex = params[0]
name = params[1]
newname = params[2]
datastore = command.remotedatastores[dsindex]
datastore.renameVar(name, newname)
def parseRecipeFile(self, command, params):
"""
Parse the specified recipe file (with or without bbappends)
@@ -522,11 +543,11 @@ class CommandsSync:
for the recipe.
"""
fn = params[0]
mc = bb.runqueue.mc_from_tid(fn)
appends = params[1]
appendlist = params[2]
if len(params) > 3:
config_data = command.remotedatastores[params[3]]
config_data_dict = params[3]
config_data = command.remotedatastores.receive_datastore(config_data_dict)
else:
config_data = None
@@ -534,7 +555,7 @@ class CommandsSync:
if appendlist is not None:
appendfiles = appendlist
else:
appendfiles = command.cooker.collections[mc].get_file_appends(fn)
appendfiles = command.cooker.collection.get_file_appends(fn)
else:
appendfiles = []
# We are calling bb.cache locally here rather than on the server,
@@ -544,7 +565,7 @@ class CommandsSync:
if config_data:
# We have to use a different function here if we're passing in a datastore
# NOTE: we took a copy above, so we don't do it here again
envdata = bb.cache.parse_recipe(config_data, fn, appendfiles, mc)['']
envdata = bb.cache.parse_recipe(config_data, fn, appendfiles)['']
else:
# Use the standard path
parser = bb.cache.NoCache(command.cooker.databuilder)
@@ -735,10 +756,10 @@ class CommandsAsync:
"""
Find signature info files via the signature generator
"""
(mc, pn) = bb.runqueue.split_mc(params[0])
pn = params[0]
taskname = params[1]
sigs = params[2]
res = bb.siggen.find_siginfo(pn, taskname, sigs, command.cooker.databuilder.mcdata[mc])
bb.event.fire(bb.event.FindSigInfoResult(res), command.cooker.databuilder.mcdata[mc])
res = bb.siggen.find_siginfo(pn, taskname, sigs, command.cooker.data)
bb.event.fire(bb.event.FindSigInfoResult(res), command.cooker.data)
command.finishAsyncCommand()
findSigInfo.needcache = False

6
bitbake/lib/bb/compat.py Normal file
View File

@@ -0,0 +1,6 @@
"""Code pulled from future python versions, here for compatibility"""
from collections import MutableMapping, KeysView, ValuesView, ItemsView, OrderedDict
from functools import total_ordering

File diff suppressed because it is too large Load Diff

View File

@@ -1,3 +1,6 @@
#!/usr/bin/env python
# ex:ts=4:sw=4:sts=4:et
# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
#
# Copyright (C) 2003, 2004 Chris Larson
# Copyright (C) 2003, 2004 Phil Blundell
@@ -6,14 +9,23 @@
# Copyright (C) 2005 ROAD GmbH
# Copyright (C) 2006 Richard Purdie
#
# SPDX-License-Identifier: GPL-2.0-only
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program 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 General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
import logging
import os
import re
import sys
import hashlib
from functools import wraps
import bb
from bb import data
@@ -23,8 +35,8 @@ logger = logging.getLogger("BitBake")
parselog = logging.getLogger("BitBake.Parsing")
class ConfigParameters(object):
def __init__(self, argv=None):
self.options, targets = self.parseCommandLine(argv or sys.argv)
def __init__(self, argv=sys.argv):
self.options, targets = self.parseCommandLine(argv)
self.environment = self.parseEnvironment()
self.options.pkgs_to_build = targets or []
@@ -58,18 +70,11 @@ class ConfigParameters(object):
def updateToServer(self, server, environment):
options = {}
for o in ["abort", "force", "invalidate_stamp",
"dry_run", "dump_signatures",
"extra_assume_provided", "profile",
"prefile", "postfile", "server_timeout",
"nosetscene", "setsceneonly", "skipsetscene",
"runall", "runonly", "writeeventlog"]:
"verbose", "debug", "dry_run", "dump_signatures",
"debug_domains", "extra_assume_provided", "profile",
"prefile", "postfile", "server_timeout"]:
options[o] = getattr(self.options, o)
options['build_verbose_shell'] = self.options.verbose
options['build_verbose_stdout'] = self.options.verbose
options['default_loglevel'] = bb.msg.loggerDefaultLogLevel
options['debug_domains'] = bb.msg.loggerDefaultDomains
ret, error = server.runCommand(["updateConfig", options, environment, sys.argv])
if error:
raise Exception("Unable to update the server configuration with local parameters: %s" % error)
@@ -118,35 +123,47 @@ class CookerConfiguration(object):
"""
def __init__(self):
self.debug_domains = bb.msg.loggerDefaultDomains
self.default_loglevel = bb.msg.loggerDefaultLogLevel
self.debug_domains = []
self.extra_assume_provided = []
self.prefile = []
self.postfile = []
self.debug = 0
self.cmd = None
self.abort = True
self.force = False
self.profile = False
self.nosetscene = False
self.setsceneonly = False
self.skipsetscene = False
self.invalidate_stamp = False
self.dump_signatures = []
self.build_verbose_shell = False
self.build_verbose_stdout = False
self.dry_run = False
self.tracking = False
self.xmlrpcinterface = []
self.server_timeout = None
self.writeeventlog = False
self.server_only = False
self.limited_deps = False
self.runall = []
self.runonly = []
self.env = {}
def setConfigParameters(self, parameters):
for key in self.__dict__.keys():
if key in parameters.options.__dict__:
setattr(self, key, parameters.options.__dict__[key])
self.env = parameters.environment.copy()
def setServerRegIdleCallback(self, srcb):
self.server_register_idlecallback = srcb
def __getstate__(self):
state = {}
for key in self.__dict__.keys():
state[key] = getattr(self, key)
if key == "server_register_idlecallback":
state[key] = None
else:
state[key] = getattr(self, key)
return state
def __setstate__(self,state):
@@ -164,7 +181,7 @@ def catch_parse_error(func):
import traceback
parselog.critical(traceback.format_exc())
parselog.critical("Unable to parse %s: %s" % (fn, exc))
raise bb.BBHandledException()
sys.exit(1)
except bb.data_smart.ExpansionError as exc:
import traceback
@@ -176,10 +193,10 @@ def catch_parse_error(func):
if not fn.startswith(bbdir):
break
parselog.critical("Unable to parse %s" % fn, exc_info=(exc_class, exc, tb))
raise bb.BBHandledException()
sys.exit(1)
except bb.parse.ParseError as exc:
parselog.critical(str(exc))
raise bb.BBHandledException()
sys.exit(1)
return wrapped
@catch_parse_error
@@ -209,7 +226,7 @@ def findConfigFile(configfile, data):
return None
#
# We search for a conf/bblayers.conf under an entry in BBPATH or in cwd working
# We search for a conf/bblayers.conf under an entry in BBPATH or in cwd working
# up to /. If that fails, we search for a conf/bitbake.conf in BBPATH.
#
@@ -262,13 +279,12 @@ class CookerDataBuilder(object):
self.mcdata = {}
def parseBaseConfiguration(self):
data_hash = hashlib.sha256()
try:
bb.parse.init_parser(self.basedata)
self.data = self.parseConfigurationFiles(self.prefiles, self.postfiles)
if self.data.getVar("BB_WORKERCONTEXT", False) is None:
bb.fetch.fetcher_init(self.data)
bb.parse.init_parser(self.data)
bb.codeparser.parser_cache_init(self.data)
bb.event.fire(bb.event.ConfigParsed(), self.data)
@@ -286,7 +302,7 @@ class CookerDataBuilder(object):
bb.event.fire(bb.event.ConfigParsed(), self.data)
bb.parse.init_parser(self.data)
data_hash.update(self.data.get_hash().encode('utf-8'))
self.data_hash = self.data.get_hash()
self.mcdata[''] = self.data
multiconfig = (self.data.getVar("BBMULTICONFIG") or "").split()
@@ -294,19 +310,17 @@ class CookerDataBuilder(object):
mcdata = self.parseConfigurationFiles(self.prefiles, self.postfiles, config)
bb.event.fire(bb.event.ConfigParsed(), mcdata)
self.mcdata[config] = mcdata
data_hash.update(mcdata.get_hash().encode('utf-8'))
if multiconfig:
bb.event.fire(bb.event.MultiConfigParsed(self.mcdata), self.data)
self.data_hash = data_hash.hexdigest()
except (SyntaxError, bb.BBHandledException):
raise bb.BBHandledException()
raise bb.BBHandledException
except bb.data_smart.ExpansionError as e:
logger.error(str(e))
raise bb.BBHandledException()
raise bb.BBHandledException
except Exception:
logger.exception("Error parsing configuration files")
raise bb.BBHandledException()
raise bb.BBHandledException
# Create a copy so we can reset at a later date when UIs disconnect
self.origdata = self.data
@@ -340,24 +354,14 @@ class CookerDataBuilder(object):
data = parse_config_file(layerconf, data)
layers = (data.getVar('BBLAYERS') or "").split()
broken_layers = []
data = bb.data.createCopy(data)
approved = bb.utils.approved_variables()
# Check whether present layer directories exist
for layer in layers:
if not os.path.isdir(layer):
broken_layers.append(layer)
if broken_layers:
parselog.critical("The following layer directories do not exist:")
for layer in broken_layers:
parselog.critical(" %s", layer)
parselog.critical("Please check BBLAYERS in %s" % (layerconf))
raise bb.BBHandledException()
for layer in layers:
parselog.critical("Layer directory '%s' does not exist! "
"Please check BBLAYERS in %s" % (layer, layerconf))
sys.exit(1)
parselog.debug(2, "Adding layer %s", layer)
if 'HOME' in approved and '~' in layer:
layer = os.path.expanduser(layer)
@@ -381,20 +385,13 @@ class CookerDataBuilder(object):
invalid.append(entry)
continue
l, f = parts
invert = l[0] == "!"
if invert:
l = l[1:]
if (l in collections and not invert) or (l not in collections and invert):
if l in collections:
data.appendVar("BBFILES", " " + f)
if invalid:
bb.fatal("BBFILES_DYNAMIC entries must be of the form {!}<collection name>:<filename pattern>, not:\n %s" % "\n ".join(invalid))
bb.fatal("BBFILES_DYNAMIC entries must be of the form <collection name>:<filename pattern>, not:\n %s" % "\n ".join(invalid))
layerseries = set((data.getVar("LAYERSERIES_CORENAMES") or "").split())
collections_tmp = collections[:]
for c in collections:
collections_tmp.remove(c)
if c in collections_tmp:
bb.fatal("Found duplicated BBFILE_COLLECTIONS '%s', check bblayers.conf or layer.conf to fix it." % c)
compat = set((data.getVar("LAYERSERIES_COMPAT_%s" % c) or "").split())
if compat and not (compat & layerseries):
bb.fatal("Layer %s is not compatible with the core layer which only supports these series: %s (layer is compatible with %s)"
@@ -427,9 +424,9 @@ class CookerDataBuilder(object):
handlerfn = data.getVarFlag(var, "filename", False)
if not handlerfn:
parselog.critical("Undefined event handler function '%s'" % var)
raise bb.BBHandledException()
sys.exit(1)
handlerln = int(data.getVarFlag(var, "lineno", False))
bb.event.register(var, data.getVar(var, False), (data.getVarFlag(var, "eventmask") or "").split(), handlerfn, handlerln, data)
bb.event.register(var, data.getVar(var, False), (data.getVarFlag(var, "eventmask") or "").split(), handlerfn, handlerln)
data.setVar('BBINCLUDED',bb.parse.get_file_depends(data))

View File

@@ -1,7 +1,3 @@
#
# SPDX-License-Identifier: GPL-2.0-only
#
"""
Python Daemonizing helper
@@ -14,18 +10,12 @@ import sys
import io
import traceback
import bb
def createDaemon(function, logfile):
"""
Detach a process from the controlling terminal and run it in the
background as a daemon, returning control to the caller.
"""
# Ensure stdout/stderror are flushed before forking to avoid duplicate output
sys.stdout.flush()
sys.stderr.flush()
try:
# Fork a child process so the parent can exit. This returns control to
# the command-line or shell. It also guarantees that the child will not
@@ -59,8 +49,8 @@ def createDaemon(function, logfile):
# exit() or _exit()?
# _exit is like exit(), but it doesn't call any functions registered
# with atexit (and on_exit) or any registered signal handlers. It also
# closes any open file descriptors, but doesn't flush any buffered output.
# Using exit() may cause all any temporary files to be unexpectedly
# closes any open file descriptors. Using exit() may cause all stdio
# streams to be flushed twice and any temporary files may be unexpectedly
# removed. It's therefore recommended that child branches of a fork()
# and the parent branch(es) of a daemon use _exit().
os._exit(0)
@@ -71,19 +61,17 @@ def createDaemon(function, logfile):
# The second child.
# Replace standard fds with our own
with open('/dev/null', 'r') as si:
os.dup2(si.fileno(), sys.stdin.fileno())
si = open('/dev/null', 'r')
os.dup2(si.fileno(), sys.stdin.fileno())
try:
so = open(logfile, 'a+')
se = so
os.dup2(so.fileno(), sys.stdout.fileno())
os.dup2(so.fileno(), sys.stderr.fileno())
os.dup2(se.fileno(), sys.stderr.fileno())
except io.UnsupportedOperation:
sys.stdout = open(logfile, 'a+')
# Have stdout and stderr be the same so log output matches chronologically
# and there aren't two seperate buffers
sys.stderr = sys.stdout
sys.stderr = sys.stdout
try:
function()
@@ -91,9 +79,4 @@ def createDaemon(function, logfile):
traceback.print_exc()
finally:
bb.event.print_ui_queue()
# os._exit() doesn't flush open files like os.exit() does. Manually flush
# stdout and stderr so that any logging output will be seen, particularly
# exception tracebacks.
sys.stdout.flush()
sys.stderr.flush()
os._exit(0)

View File

@@ -1,3 +1,5 @@
# ex:ts=4:sw=4:sts=4:et
# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
"""
BitBake 'Data' implementations
@@ -20,12 +22,22 @@ the speed is more critical here.
# Copyright (C) 2003, 2004 Chris Larson
# Copyright (C) 2005 Holger Hans Peter Freyther
#
# SPDX-License-Identifier: GPL-2.0-only
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program 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 General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Based on functions from the base bb module, Copyright 2003 Holger Schurig
import sys, os, re
import hashlib
if sys.argv[0][-5:] == "pydoc":
path = os.path.dirname(os.path.dirname(sys.argv[1]))
else:
@@ -79,7 +91,7 @@ def expand(s, d, varname = None):
return d.expand(s, varname)
def expandKeys(alterdata, readdata = None):
if readdata is None:
if readdata == None:
readdata = alterdata
todolist = {}
@@ -130,7 +142,7 @@ def emit_var(var, o=sys.__stdout__, d = init(), all=False):
if all:
oval = d.getVar(var, False)
val = d.getVar(var)
except (KeyboardInterrupt):
except (KeyboardInterrupt, bb.build.FuncFailed):
raise
except Exception as exc:
o.write('# expansion of %s threw %s: %s\n' % (var, exc.__class__.__name__, str(exc)))
@@ -161,12 +173,6 @@ def emit_var(var, o=sys.__stdout__, d = init(), all=False):
return True
if func:
# Write a comment indicating where the shell function came from (line number and filename) to make it easier
# for the user to diagnose task failures. This comment is also used by build.py to determine the metadata
# location of shell functions.
o.write("# line: {0}, file: {1}\n".format(
d.getVarFlag(var, "lineno", False),
d.getVarFlag(var, "filename", False)))
# NOTE: should probably check for unbalanced {} within the var
val = val.rstrip('\n')
o.write("%s() {\n%s\n}\n" % (varExpanded, val))
@@ -277,12 +283,14 @@ def build_dependencies(key, keys, shelldeps, varflagsexcl, d):
try:
if key[-1] == ']':
vf = key[:-1].split('[')
value, parser = d.getVarFlag(vf[0], vf[1], False, retparser=True)
value = d.getVarFlag(vf[0], vf[1], False)
parser = d.expandWithRefs(value, key)
deps |= parser.references
deps = deps | (keys & parser.execs)
return deps, value
varflags = d.getVarFlags(key, ["vardeps", "vardepvalue", "vardepsexclude", "exports", "postfuncs", "prefuncs", "lineno", "filename"]) or {}
vardeps = varflags.get("vardeps")
value = d.getVarFlag(key, "_content", False)
def handle_contains(value, contains, d):
newvalue = ""
@@ -301,34 +309,25 @@ def build_dependencies(key, keys, shelldeps, varflagsexcl, d):
return newvalue
return value + newvalue
def handle_remove(value, deps, removes, d):
for r in sorted(removes):
r2 = d.expandWithRefs(r, None)
value += "\n_remove of %s" % r
deps |= r2.references
deps = deps | (keys & r2.execs)
return value
if "vardepvalue" in varflags:
value = varflags.get("vardepvalue")
value = varflags.get("vardepvalue")
elif varflags.get("func"):
if varflags.get("python"):
value = d.getVarFlag(key, "_content", False)
parser = bb.codeparser.PythonParser(key, logger)
if value and "\t" in value:
logger.warning("Variable %s contains tabs, please remove these (%s)" % (key, d.getVar("FILE")))
parser.parse_python(value, filename=varflags.get("filename"), lineno=varflags.get("lineno"))
deps = deps | parser.references
deps = deps | (keys & parser.execs)
value = handle_contains(value, parser.contains, d)
else:
value, parsedvar = d.getVarFlag(key, "_content", False, retparser=True)
parsedvar = d.expandWithRefs(value, key)
parser = bb.codeparser.ShellParser(key, logger)
parser.parse_shell(parsedvar.value)
deps = deps | shelldeps
deps = deps | parsedvar.references
deps = deps | (keys & parser.execs) | (keys & parsedvar.execs)
value = handle_contains(value, parsedvar.contains, d)
if hasattr(parsedvar, "removes"):
value = handle_remove(value, deps, parsedvar.removes, d)
if vardeps is None:
parser.log.flush()
if "prefuncs" in varflags:
@@ -338,12 +337,10 @@ def build_dependencies(key, keys, shelldeps, varflagsexcl, d):
if "exports" in varflags:
deps = deps | set(varflags["exports"].split())
else:
value, parser = d.getVarFlag(key, "_content", False, retparser=True)
parser = d.expandWithRefs(value, key)
deps |= parser.references
deps = deps | (keys & parser.execs)
value = handle_contains(value, parser.contains, d)
if hasattr(parser, "removes"):
value = handle_remove(value, deps, parser.removes, d)
if "vardepvalueexclude" in varflags:
exclude = varflags.get("vardepvalueexclude")
@@ -371,7 +368,7 @@ def build_dependencies(key, keys, shelldeps, varflagsexcl, d):
#bb.note("Variable %s references %s and calls %s" % (key, str(deps), str(execs)))
#d.setVarFlag(key, "vardeps", deps)
def generate_dependencies(d, whitelist):
def generate_dependencies(d):
keys = set(key for key in d if not key.startswith("__"))
shelldeps = set(key for key in d.getVar("__exportlist", False) if d.getVarFlag(key, "export", False) and not d.getVarFlag(key, "unexport", False))
@@ -386,7 +383,7 @@ def generate_dependencies(d, whitelist):
newdeps = deps[task]
seen = set()
while newdeps:
nextdeps = newdeps - whitelist
nextdeps = newdeps
seen |= nextdeps
newdeps = set()
for dep in nextdeps:
@@ -397,43 +394,6 @@ def generate_dependencies(d, whitelist):
#print "For %s: %s" % (task, str(deps[task]))
return tasklist, deps, values
def generate_dependency_hash(tasklist, gendeps, lookupcache, whitelist, fn):
taskdeps = {}
basehash = {}
for task in tasklist:
data = lookupcache[task]
if data is None:
bb.error("Task %s from %s seems to be empty?!" % (task, fn))
data = ''
gendeps[task] -= whitelist
newdeps = gendeps[task]
seen = set()
while newdeps:
nextdeps = newdeps
seen |= nextdeps
newdeps = set()
for dep in nextdeps:
if dep in whitelist:
continue
gendeps[dep] -= whitelist
newdeps |= gendeps[dep]
newdeps -= seen
alldeps = sorted(seen)
for dep in alldeps:
data = data + dep
var = lookupcache[dep]
if var is not None:
data = data + str(var)
k = fn + ":" + task
basehash[k] = hashlib.sha256(data.encode("utf-8")).hexdigest()
taskdeps[task] = alldeps
return taskdeps, basehash
def inherits_class(klass, d):
val = d.getVar('__inherit_cache', False) or []
needle = os.path.join('classes', '%s.bbclass' % klass)

View File

@@ -1,3 +1,5 @@
# ex:ts=4:sw=4:sts=4:et
# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
"""
BitBake Smart Dictionary Implementation
@@ -12,8 +14,18 @@ BitBake build tools.
# Copyright (C) 2005 Uli Luckas
# Copyright (C) 2005 ROAD GmbH
#
# SPDX-License-Identifier: GPL-2.0-only
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program 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 General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
# Based on functions from the base bb module, Copyright 2003 Holger Schurig
import copy, re, sys, traceback
@@ -27,11 +39,9 @@ from bb.COW import COWDictBase
logger = logging.getLogger("BitBake.Data")
__setvar_keyword__ = ["_append", "_prepend", "_remove"]
__setvar_regexp__ = re.compile(r'(?P<base>.*?)(?P<keyword>_append|_prepend|_remove)(_(?P<add>[^A-Z]*))?$')
__expand_var_regexp__ = re.compile(r"\${[a-zA-Z0-9\-_+./~]+?}")
__setvar_regexp__ = re.compile('(?P<base>.*?)(?P<keyword>_append|_prepend|_remove)(_(?P<add>[^A-Z]*))?$')
__expand_var_regexp__ = re.compile(r"\${[^{}@\n\t :]+}")
__expand_python_regexp__ = re.compile(r"\${@.+?}")
__whitespace_split__ = re.compile(r'(\s)')
__override_regexp__ = re.compile(r'[a-z0-9]+')
def infer_caller_details(loginfo, parent = False, varval = True):
"""Save the caller the trouble of specifying everything."""
@@ -94,7 +104,11 @@ class VariableParse:
if self.varname and key:
if self.varname == key:
raise Exception("variable %s references itself!" % self.varname)
var = self.d.getVarFlag(key, "_content")
if key in self.d.expand_cache:
varparse = self.d.expand_cache[key]
var = varparse.value
else:
var = self.d.getVarFlag(key, "_content")
self.references.add(key)
if var is not None:
return var
@@ -107,11 +121,11 @@ class VariableParse:
else:
code = match.group()[3:-1]
if self.varname:
varname = 'Var <%s>' % self.varname
else:
varname = '<expansion>'
codeobj = compile(code.strip(), varname, "eval")
if "_remote_data" in self.d:
connector = self.d["_remote_data"]
return connector.expandPythonRef(self.varname, code, self.d)
codeobj = compile(code.strip(), self.varname or "<expansion>", "eval")
parser = bb.codeparser.PythonParser(self.varname, logger)
parser.parse_python(code)
@@ -189,7 +203,7 @@ class IncludeHistory(object):
if self.current.parent:
self.current = self.current.parent
else:
bb.warn("Include log: Tried to finish '%s' at top level." % self.filename)
bb.warn("Include log: Tried to finish '%s' at top level." % filename)
return False
def emit(self, o, level = 0):
@@ -253,18 +267,13 @@ class VariableHistory(object):
return
self.variables[var].append(loginfo.copy())
def rename_variable_hist(self, oldvar, newvar):
if not self.dataroot._tracking:
return
if oldvar not in self.variables:
return
if newvar not in self.variables:
self.variables[newvar] = []
for i in self.variables[oldvar]:
self.variables[newvar].append(i.copy())
def variable(self, var):
varhistory = []
remote_connector = self.dataroot.getVar('_remote_data', False)
if remote_connector:
varhistory = remote_connector.getVarHistory(var)
else:
varhistory = []
if var in self.variables:
varhistory.extend(self.variables[var])
return varhistory
@@ -329,12 +338,11 @@ class VariableHistory(object):
lines.append(line)
return lines
def get_variable_items_files(self, var):
def get_variable_items_files(self, var, d):
"""
Use variable history to map items added to a list variable and
the files in which they were added.
"""
d = self.dataroot
history = self.variable(var)
finalitems = (d.getVar(var) or '').split()
filemap = {}
@@ -393,6 +401,9 @@ class DataSmart(MutableMapping):
if not isinstance(s, str): # sanity check
return VariableParse(varname, self, s)
if varname and varname in self.expand_cache:
return self.expand_cache[varname]
varparse = VariableParse(varname, self)
while s.find('${') != -1:
@@ -412,11 +423,13 @@ class DataSmart(MutableMapping):
except bb.parse.SkipRecipe:
raise
except Exception as exc:
tb = sys.exc_info()[2]
raise ExpansionError(varname, s, exc).with_traceback(tb) from exc
raise ExpansionError(varname, s, exc) from exc
varparse.value = s
if varname:
self.expand_cache[varname] = varparse
return varparse
def expand(self, s, varname = None):
@@ -462,6 +475,10 @@ class DataSmart(MutableMapping):
if var in dest:
return dest[var], self.overridedata.get(var, None)
if "_remote_data" in dest:
connector = dest["_remote_data"]["_content"]
return connector.getVar(var)
if "_data" not in dest:
break
dest = dest["_data"]
@@ -481,14 +498,19 @@ class DataSmart(MutableMapping):
def setVar(self, var, value, **loginfo):
#print("var=" + str(var) + " val=" + str(value))
self.expand_cache = {}
parsing=False
if 'parsing' in loginfo:
parsing=True
if '_remote_data' in self.dict:
connector = self.dict["_remote_data"]["_content"]
res = connector.setVar(var, value)
if not res:
return
if 'op' not in loginfo:
loginfo['op'] = "set"
self.expand_cache = {}
match = __setvar_regexp__.match(var)
if match and match.group("keyword") in __setvar_keyword__:
base = match.group('base')
@@ -568,7 +590,7 @@ class DataSmart(MutableMapping):
# aka pay the cookie monster
override = var[var.rfind('_')+1:]
shortvar = var[:var.rfind('_')]
while override and __override_regexp__.match(override):
while override and override.islower():
if shortvar not in self.overridedata:
self.overridedata[shortvar] = []
if [var, override] not in self.overridedata[shortvar]:
@@ -589,13 +611,14 @@ class DataSmart(MutableMapping):
"""
Rename the variable key to newkey
"""
if key == newkey:
bb.warn("Calling renameVar with equivalent keys (%s) is invalid" % key)
return
if '_remote_data' in self.dict:
connector = self.dict["_remote_data"]["_content"]
res = connector.renameVar(key, newkey)
if not res:
return
val = self.getVar(key, 0, parsing=True)
if val is not None:
self.varhistory.rename_variable_hist(key, newkey)
loginfo['variable'] = newkey
loginfo['op'] = 'rename from %s' % key
loginfo['detail'] = val
@@ -637,11 +660,16 @@ class DataSmart(MutableMapping):
self.setVar(var + "_prepend", value, ignore=True, parsing=True)
def delVar(self, var, **loginfo):
self.expand_cache = {}
if '_remote_data' in self.dict:
connector = self.dict["_remote_data"]["_content"]
res = connector.delVar(var)
if not res:
return
loginfo['detail'] = ""
loginfo['op'] = 'del'
self.varhistory.record(**loginfo)
self.expand_cache = {}
self.dict[var] = {}
if var in self.overridedata:
del self.overridedata[var]
@@ -664,8 +692,13 @@ class DataSmart(MutableMapping):
override = None
def setVarFlag(self, var, flag, value, **loginfo):
self.expand_cache = {}
if '_remote_data' in self.dict:
connector = self.dict["_remote_data"]["_content"]
res = connector.setVarFlag(var, flag, value)
if not res:
return
self.expand_cache = {}
if 'op' not in loginfo:
loginfo['op'] = "set"
loginfo['flag'] = flag
@@ -686,21 +719,9 @@ class DataSmart(MutableMapping):
self.dict["__exportlist"]["_content"] = set()
self.dict["__exportlist"]["_content"].add(var)
def getVarFlag(self, var, flag, expand=True, noweakdefault=False, parsing=False, retparser=False):
if flag == "_content":
cachename = var
else:
if not flag:
bb.warn("Calling getVarFlag with flag unset is invalid")
return None
cachename = var + "[" + flag + "]"
if expand and cachename in self.expand_cache:
return self.expand_cache[cachename].value
def getVarFlag(self, var, flag, expand=True, noweakdefault=False, parsing=False):
local_var, overridedata = self._findVar(var)
value = None
removes = set()
if flag == "_content" and overridedata is not None and not parsing:
match = False
active = {}
@@ -727,11 +748,7 @@ class DataSmart(MutableMapping):
match = active[a]
del active[a]
if match:
value, subparser = self.getVarFlag(match, "_content", False, retparser=True)
if hasattr(subparser, "removes"):
# We have to carry the removes from the overridden variable to apply at the
# end of processing
removes = subparser.removes
value = self.getVar(match, False)
if local_var is not None and value is None:
if flag in local_var:
@@ -767,13 +784,17 @@ class DataSmart(MutableMapping):
if match:
value = r + value
parser = None
if expand or retparser:
parser = self.expandWithRefs(value, cachename)
if expand:
value = parser.value
if expand and value:
# Only getvar (flag == _content) hits the expand cache
cachename = None
if flag == "_content":
cachename = var
else:
cachename = var + "[" + flag + "]"
value = self.expand(value, cachename)
if value and flag == "_content" and local_var is not None and "_remove" in local_var and not parsing:
if value and flag == "_content" and local_var is not None and "_remove" in local_var:
removes = []
self.need_overrides()
for (r, o) in local_var["_remove"]:
match = True
@@ -782,40 +803,26 @@ class DataSmart(MutableMapping):
if not o2 in self.overrides:
match = False
if match:
removes.add(r)
if value and flag == "_content" and not parsing:
if removes and parser:
expanded_removes = {}
for r in removes:
expanded_removes[r] = self.expand(r).split()
parser.removes = set()
val = ""
for v in __whitespace_split__.split(parser.value):
skip = False
for r in removes:
if v in expanded_removes[r]:
parser.removes.add(r)
skip = True
if skip:
continue
val = val + v
parser.value = val
if expand:
value = parser.value
if parser:
self.expand_cache[cachename] = parser
if retparser:
return value, parser
removes.extend(self.expand(r).split())
if removes:
filtered = filter(lambda v: v not in removes,
value.split())
value = " ".join(filtered)
if expand and var in self.expand_cache:
# We need to ensure the expand cache has the correct value
# flag == "_content" here
self.expand_cache[var].value = value
return value
def delVarFlag(self, var, flag, **loginfo):
self.expand_cache = {}
if '_remote_data' in self.dict:
connector = self.dict["_remote_data"]["_content"]
res = connector.delVarFlag(var, flag)
if not res:
return
self.expand_cache = {}
local_var, _ = self._findVar(var)
if not local_var:
return
@@ -932,7 +939,7 @@ class DataSmart(MutableMapping):
def localkeys(self):
for key in self.dict:
if key not in ['_data']:
if key not in ['_data', '_remote_data']:
yield key
def __iter__(self):
@@ -941,7 +948,7 @@ class DataSmart(MutableMapping):
def keylist(d):
klist = set()
for key in d:
if key in ["_data"]:
if key in ["_data", "_remote_data"]:
continue
if key in deleted:
continue
@@ -955,6 +962,13 @@ class DataSmart(MutableMapping):
if "_data" in d:
klist |= keylist(d["_data"])
if "_remote_data" in d:
connector = d["_remote_data"]["_content"]
for key in connector.getKeys():
if key in deleted:
continue
klist.add(key)
return klist
self.need_overrides()
@@ -1000,12 +1014,9 @@ class DataSmart(MutableMapping):
continue
value = d.getVar(key, False) or ""
if type(value) is type(self):
data.update({key:value.get_hash()})
else:
data.update({key:value})
data.update({key:value})
varflags = d.getVarFlags(key, internalflags = True, expand=["vardepvalue"])
varflags = d.getVarFlags(key, internalflags = True)
if not varflags:
continue
for f in varflags:
@@ -1023,4 +1034,4 @@ class DataSmart(MutableMapping):
data.update({i:value})
data_str = str([(k, data[k]) for k in sorted(data.keys())])
return hashlib.sha256(data_str.encode("utf-8")).hexdigest()
return hashlib.md5(data_str.encode("utf-8")).hexdigest()

View File

@@ -1,3 +1,5 @@
# ex:ts=4:sw=4:sts=4:et
# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
"""
BitBake 'Event' implementation
@@ -7,20 +9,31 @@ BitBake build tools.
# Copyright (C) 2003, 2004 Chris Larson
#
# SPDX-License-Identifier: GPL-2.0-only
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program 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 General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
import ast
import atexit
import collections
import logging
import os, sys
import warnings
import pickle
import sys
import threading
import logging
import atexit
import traceback
import ast
import threading
import bb.exceptions
import bb.utils
import bb.compat
import bb.exceptions
# This is the pid for which we should generate the event. This is set when
# the runqueue forks off.
@@ -56,7 +69,7 @@ def set_class_handlers(h):
_handlers = h
def clean_class_handlers():
return collections.OrderedDict()
return bb.compat.OrderedDict()
# Internal
_handlers = clean_class_handlers()
@@ -118,22 +131,16 @@ def fire_class_handlers(event, d):
if _eventfilter:
if not _eventfilter(name, handler, event, d):
continue
if d is not None and not name in (d.getVar("__BBHANDLERS_MC") or set()):
continue
execute_handler(name, handler, event, d)
ui_queue = []
@atexit.register
def print_ui_queue():
global ui_queue
"""If we're exiting before a UI has been spawned, display any queued
LogRecords to the console."""
logger = logging.getLogger("BitBake")
if not _uiready:
from bb.msg import BBLogFormatter
# Flush any existing buffered content
sys.stdout.flush()
sys.stderr.flush()
stdout = logging.StreamHandler(sys.stdout)
stderr = logging.StreamHandler(sys.stderr)
formatter = BBLogFormatter("%(levelname)s: %(message)s")
@@ -170,7 +177,6 @@ def print_ui_queue():
logger.removeHandler(stderr)
else:
logger.removeHandler(stdout)
ui_queue = []
def fire_ui_handlers(event, d):
global _thread_lock
@@ -229,19 +235,11 @@ def fire_from_worker(event, d):
fire_ui_handlers(event, d)
noop = lambda _: None
def register(name, handler, mask=None, filename=None, lineno=None, data=None):
def register(name, handler, mask=None, filename=None, lineno=None):
"""Register an Event handler"""
if data is not None and data.getVar("BB_CURRENT_MC"):
mc = data.getVar("BB_CURRENT_MC")
name = '%s%s' % (mc.replace('-', '_'), name)
# already registered
if name in _handlers:
if data is not None:
bbhands_mc = (data.getVar("__BBHANDLERS_MC") or set())
bbhands_mc.add(name)
data.setVar("__BBHANDLERS_MC", bbhands_mc)
return AlreadyRegistered
if handler is not None:
@@ -278,20 +276,10 @@ def register(name, handler, mask=None, filename=None, lineno=None, data=None):
_event_handler_map[m] = {}
_event_handler_map[m][name] = True
if data is not None:
bbhands_mc = (data.getVar("__BBHANDLERS_MC") or set())
bbhands_mc.add(name)
data.setVar("__BBHANDLERS_MC", bbhands_mc)
return Registered
def remove(name, handler, data=None):
def remove(name, handler):
"""Remove an Event handler"""
if data is not None:
if data.getVar("BB_CURRENT_MC"):
mc = data.getVar("BB_CURRENT_MC")
name = '%s%s' % (mc.replace('-', '_'), name)
_handlers.pop(name)
if name in _catchall_handlers:
_catchall_handlers.pop(name)
@@ -299,12 +287,6 @@ def remove(name, handler, data=None):
if name in _event_handler_map[event]:
_event_handler_map[event].pop(name)
if data is not None:
bbhands_mc = (data.getVar("__BBHANDLERS_MC") or set())
if name in bbhands_mc:
bbhands_mc.remove(name)
data.setVar("__BBHANDLERS_MC", bbhands_mc)
def get_handlers():
return _handlers
@@ -372,7 +354,7 @@ def set_UIHmask(handlerNum, level, debug_domains, mask):
def getName(e):
"""Returns the name of a class or class instance"""
if getattr(e, "__name__", None) is None:
if getattr(e, "__name__", None) == None:
return e.__class__.__name__
else:
return e.__name__
@@ -413,11 +395,7 @@ class RecipeEvent(Event):
Event.__init__(self)
class RecipePreFinalise(RecipeEvent):
""" Recipe Parsing Complete but not yet finalised"""
class RecipePostKeyExpansion(RecipeEvent):
""" Recipe Parsing Complete but not yet finalised"""
""" Recipe Parsing Complete but not yet finialised"""
class RecipeTaskPreProcess(RecipeEvent):
"""
@@ -433,6 +411,23 @@ class RecipeTaskPreProcess(RecipeEvent):
class RecipeParsed(RecipeEvent):
""" Recipe Parsing Complete """
class StampUpdate(Event):
"""Trigger for any adjustment of the stamp files to happen"""
def __init__(self, targets, stampfns):
self._targets = targets
self._stampfns = stampfns
Event.__init__(self)
def getStampPrefix(self):
return self._stampfns
def getTargets(self):
return self._targets
stampPrefix = property(getStampPrefix)
targets = property(getTargets)
class BuildBase(Event):
"""Base class for bitbake build events"""
@@ -538,7 +533,7 @@ class NoProvider(Event):
extra = ''
if not self._reasons:
if self._close_matches:
extra = ". Close matches:\n %s" % '\n '.join(sorted(set(self._close_matches)))
extra = ". Close matches:\n %s" % '\n '.join(self._close_matches)
if self._dependees:
msg = "Nothing %sPROVIDES '%s' (but %s %sDEPENDS on or otherwise requires it)%s" % (r, self._item, ", ".join(self._dependees), r, extra)
@@ -670,17 +665,6 @@ class ReachableStamps(Event):
Event.__init__(self)
self.stamps = stamps
class StaleSetSceneTasks(Event):
"""
An event listing setscene tasks which are 'stale' and will
be rerun. The metadata may use to clean up stale data.
tasks is a mapping of tasks and matching stale stamps.
"""
def __init__(self, tasks):
Event.__init__(self)
self.tasks = tasks
class FilesMatchingFound(Event):
"""
Event when a list of files matching the supplied pattern has

View File

@@ -1,6 +1,3 @@
#
# SPDX-License-Identifier: GPL-2.0-only
#
import inspect
import traceback

View File

@@ -1,3 +1,5 @@
# ex:ts=4:sw=4:sts=4:et
# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
"""
BitBake 'Fetch' implementations
@@ -8,7 +10,18 @@ BitBake build tools.
# Copyright (C) 2003, 2004 Chris Larson
# Copyright (C) 2012 Intel Corporation
#
# SPDX-License-Identifier: GPL-2.0-only
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program 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 General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Based on functions from the base bb module, Copyright 2003 Holger Schurig
@@ -33,9 +46,6 @@ _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"""
def __init__(self, message):
@@ -134,9 +144,10 @@ class NonLocalMethod(Exception):
Exception.__init__(self)
class MissingChecksumEvent(bb.event.Event):
def __init__(self, url, **checksums):
def __init__(self, url, md5sum, sha256sum):
self.url = url
self.checksums = checksums
self.checksums = {'md5sum': md5sum,
'sha256sum': sha256sum}
bb.event.Event.__init__(self)
@@ -245,7 +256,7 @@ class URI(object):
# Identify if the URI is relative or not
if urlp.scheme in self._relative_schemes and \
re.compile(r"^\w+:(?!//)").match(uri):
re.compile("^\w+:(?!//)").match(uri):
self.relative = True
if not self.relative:
@@ -290,7 +301,7 @@ class URI(object):
def _param_str_split(self, string, elmdelim, kvdelim="="):
ret = collections.OrderedDict()
for k, v in [x.split(kvdelim, 1) for x in string.split(elmdelim) if x]:
for k, v in [x.split(kvdelim, 1) for x in string.split(elmdelim)]:
ret[k] = v
return ret
@@ -372,7 +383,7 @@ def decodeurl(url):
path = location
else:
host = location
path = "/"
path = ""
if user:
m = re.compile('(?P<user>[^:]+)(:?(?P<pswd>.*))').match(user)
if m:
@@ -428,7 +439,7 @@ def uri_replace(ud, uri_find, uri_replace, replacements, d, mirrortarball=None):
uri_decoded = list(decodeurl(ud.url))
uri_find_decoded = list(decodeurl(uri_find))
uri_replace_decoded = list(decodeurl(uri_replace))
logger.debug2("For url %s comparing %s to %s" % (uri_decoded, uri_find_decoded, uri_replace_decoded))
logger.debug(2, "For url %s comparing %s to %s" % (uri_decoded, uri_find_decoded, uri_replace_decoded))
result_decoded = ['', '', '', '', '', {}]
for loc, i in enumerate(uri_find_decoded):
result_decoded[loc] = uri_decoded[loc]
@@ -441,8 +452,8 @@ def uri_replace(ud, uri_find, uri_replace, replacements, d, mirrortarball=None):
# Handle URL parameters
if i:
# Any specified URL parameters must match
for k in uri_find_decoded[loc]:
if uri_decoded[loc][k] != uri_find_decoded[loc][k]:
for k in uri_replace_decoded[loc]:
if uri_decoded[loc][k] != uri_replace_decoded[loc][k]:
return None
# Overwrite any specified replacement parameters
for k in uri_replace_decoded[loc]:
@@ -474,7 +485,7 @@ def uri_replace(ud, uri_find, uri_replace, replacements, d, mirrortarball=None):
result = encodeurl(result_decoded)
if result == ud.url:
return None
logger.debug2("For url %s returning %s" % (ud.url, result))
logger.debug(2, "For url %s returning %s" % (ud.url, result))
return result
methods = []
@@ -486,22 +497,17 @@ def fetcher_init(d):
Called to initialize the fetchers once the configuration data is known.
Calls before this must not hit the cache.
"""
revs = bb.persist_data.persist('BB_URI_HEADREVS', d)
try:
# fetcher_init is called multiple times, so make sure we only save the
# revs the first time it is called.
if not bb.fetch2.saved_headrevs:
bb.fetch2.saved_headrevs = dict(revs)
except:
pass
# When to drop SCM head revisions controlled by user policy
srcrev_policy = d.getVar('BB_SRCREV_POLICY') or "clear"
if srcrev_policy == "cache":
logger.debug("Keeping SRCREV cache due to cache policy of: %s", srcrev_policy)
logger.debug(1, "Keeping SRCREV cache due to cache policy of: %s", srcrev_policy)
elif srcrev_policy == "clear":
logger.debug("Clearing SRCREV cache due to cache policy of: %s", srcrev_policy)
logger.debug(1, "Clearing SRCREV cache due to cache policy of: %s", srcrev_policy)
revs = bb.persist_data.persist('BB_URI_HEADREVS', d)
try:
bb.fetch2.saved_headrevs = revs.items()
except:
pass
revs.clear()
else:
raise FetchError("Invalid SRCREV cache policy of: %s" % srcrev_policy)
@@ -518,14 +524,24 @@ def fetcher_parse_save():
def fetcher_parse_done():
_checksum_cache.save_merge()
def fetcher_compare_revisions(d):
def fetcher_compare_revisions():
"""
Compare the revisions in the persistent cache with the saved values from
when bitbake was started and return true if they have changed.
Compare the revisions in the persistant cache with current values and
return true/false on whether they've changed.
"""
headrevs = dict(bb.persist_data.persist('BB_URI_HEADREVS', d))
return headrevs != bb.fetch2.saved_headrevs
data = bb.persist_data.persist('BB_URI_HEADREVS', d).items()
data2 = bb.fetch2.saved_headrevs
changed = False
for key in data:
if key not in data2 or data2[key] != data[key]:
logger.debug(1, "%s changed", key)
changed = True
return True
else:
logger.debug(2, "%s did not change", key)
return False
def mirror_from_string(data):
mirrors = (data or "").replace('\\n',' ').split()
@@ -549,84 +565,71 @@ def verify_checksum(ud, d, precomputed={}):
downloading. See https://bugzilla.yoctoproject.org/show_bug.cgi?id=5571.
"""
_MD5_KEY = "md5"
_SHA256_KEY = "sha256"
if ud.ignore_checksums or not ud.method.supports_checksum(ud):
return {}
def compute_checksum_info(checksum_id):
checksum_name = getattr(ud, "%s_name" % checksum_id)
if _MD5_KEY in precomputed:
md5data = precomputed[_MD5_KEY]
else:
md5data = bb.utils.md5_file(ud.localpath)
if checksum_id in precomputed:
checksum_data = precomputed[checksum_id]
else:
checksum_data = getattr(bb.utils, "%s_file" % checksum_id)(ud.localpath)
checksum_expected = getattr(ud, "%s_expected" % checksum_id)
return {
"id": checksum_id,
"name": checksum_name,
"data": checksum_data,
"expected": checksum_expected
}
checksum_infos = []
for checksum_id in CHECKSUM_LIST:
checksum_infos.append(compute_checksum_info(checksum_id))
checksum_dict = {ci["id"] : ci["data"] for ci in checksum_infos}
checksum_event = {"%ssum" % ci["id"] : 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):
messages = []
strict = d.getVar("BB_STRICT_CHECKSUM") or "0"
if _SHA256_KEY in precomputed:
sha256data = precomputed[_SHA256_KEY]
else:
sha256data = bb.utils.sha256_file(ud.localpath)
if ud.method.recommends_checksum(ud) and not ud.md5_expected and not ud.sha256_expected:
# If strict checking enabled and neither sum defined, raise error
strict = d.getVar("BB_STRICT_CHECKSUM") or "0"
if strict == "1":
messages.append("No checksum specified for '%s', please add at " \
"least one to the recipe:" % ud.localpath)
messages.extend(checksum_lines)
logger.error("\n".join(messages))
raise NoChecksumError("Missing SRC_URI checksum", ud.url)
logger.error('No checksum specified for %s, please add at least one to the recipe:\n'
'SRC_URI[%s] = "%s"\nSRC_URI[%s] = "%s"' %
(ud.localpath, ud.md5_name, md5data,
ud.sha256_name, sha256data))
raise NoChecksumError('Missing SRC_URI checksum', ud.url)
bb.event.fire(MissingChecksumEvent(ud.url, **checksum_event), d)
bb.event.fire(MissingChecksumEvent(ud.url, md5data, sha256data), d)
if strict == "ignore":
return checksum_dict
return {
_MD5_KEY: md5data,
_SHA256_KEY: sha256data
}
# Log missing sums so user can more easily add them
messages.append("Missing checksum for '%s', consider adding at " \
"least one to the recipe:" % ud.localpath)
messages.extend(checksum_lines)
logger.warning("\n".join(messages))
logger.warning('Missing md5 SRC_URI checksum for %s, consider adding to the recipe:\n'
'SRC_URI[%s] = "%s"',
ud.localpath, ud.md5_name, md5data)
logger.warning('Missing sha256 SRC_URI checksum for %s, consider adding to the recipe:\n'
'SRC_URI[%s] = "%s"',
ud.localpath, ud.sha256_name, sha256data)
# We want to alert the user if a checksum is defined in the recipe but
# it does not match.
messages = []
messages.append("Checksum mismatch!")
bad_checksum = None
msg = ""
mismatch = False
if ud.md5_expected and ud.md5_expected != md5data:
msg = msg + "\nFile: '%s' has %s checksum %s when %s was expected" % (ud.localpath, 'md5', md5data, ud.md5_expected)
mismatch = True;
for ci in checksum_infos:
if ci["expected"] and ci["expected"] != ci["data"]:
messages.append("File: '%s' has %s checksum %s when %s was " \
"expected" % (ud.localpath, ci["id"], ci["data"], ci["expected"]))
bad_checksum = ci["data"]
if ud.sha256_expected and ud.sha256_expected != sha256data:
msg = msg + "\nFile: '%s' has %s checksum %s when %s was expected" % (ud.localpath, 'sha256', sha256data, ud.sha256_expected)
mismatch = True;
if bad_checksum:
messages.append("If this change is expected (e.g. you have upgraded " \
"to a new version without updating the checksums) " \
"then you can use these lines within the recipe:")
messages.extend(checksum_lines)
messages.append("Otherwise you should retry the download and/or " \
"check with upstream to determine if the file has " \
"become corrupted or otherwise unexpectedly modified.")
raise ChecksumError("\n".join(messages), ud.url, bad_checksum)
if mismatch:
msg = msg + '\nIf this change is expected (e.g. you have upgraded to a new version without updating the checksums) then you can use these lines within the recipe:\nSRC_URI[%s] = "%s"\nSRC_URI[%s] = "%s"\nOtherwise you should retry the download and/or check with upstream to determine if the file has become corrupted or otherwise unexpectedly modified.\n' % (ud.md5_name, md5data, ud.sha256_name, sha256data)
if len(msg):
raise ChecksumError('Checksum mismatch!%s' % msg, ud.url, md5data)
return {
_MD5_KEY: md5data,
_SHA256_KEY: sha256data
}
return checksum_dict
def verify_donestamp(ud, d, origud=None):
"""
@@ -774,8 +777,7 @@ def get_srcrev(d, method_name='sortable_revision'):
#
format = d.getVar('SRCREV_FORMAT')
if not format:
raise FetchError("The SRCREV_FORMAT variable must be set when multiple SCMs are used.\n"\
"The SCMs are:\n%s" % '\n'.join(scms))
raise FetchError("The SRCREV_FORMAT variable must be set when multiple SCMs are used.")
name_to_rev = {}
seenautoinc = False
@@ -825,7 +827,6 @@ def runfetchcmd(cmd, d, quiet=False, cleanup=None, log=None, workdir=None):
'NO_PROXY', 'no_proxy',
'ALL_PROXY', 'all_proxy',
'GIT_PROXY_COMMAND',
'GIT_SSH',
'GIT_SSL_CAINFO',
'GIT_SMART_HTTP',
'SSH_AUTH_SOCK', 'SSH_AGENT_PID',
@@ -836,16 +837,14 @@ def runfetchcmd(cmd, d, quiet=False, cleanup=None, log=None, workdir=None):
if not cleanup:
cleanup = []
# If PATH contains WORKDIR which contains PV-PR which contains SRCPV we
# If PATH contains WORKDIR which contains PV which contains SRCPV we
# can end up in circular recursion here so give the option of breaking it
# in a data store copy.
try:
d.getVar("PV")
d.getVar("PR")
except bb.data_smart.ExpansionError:
d = bb.data.createCopy(d)
d.setVar("PV", "fetcheravoidrecurse")
d.setVar("PR", "fetcheravoidrecurse")
origenv = d.getVar("BB_ORIGENV", False)
for var in exportvars:
@@ -856,10 +855,7 @@ def runfetchcmd(cmd, d, quiet=False, cleanup=None, log=None, workdir=None):
# Disable pseudo as it may affect ssh, potentially causing it to hang.
cmd = 'export PSEUDO_DISABLED=1; ' + cmd
if workdir:
logger.debug("Running '%s' in %s" % (cmd, workdir))
else:
logger.debug("Running %s", cmd)
logger.debug(1, "Running %s", cmd)
success = False
error_message = ""
@@ -895,12 +891,12 @@ def check_network_access(d, info, url):
log remote network access, and error if BB_NO_NETWORK is set or the given
URI is untrusted
"""
if bb.utils.to_boolean(d.getVar("BB_NO_NETWORK")):
if d.getVar("BB_NO_NETWORK") == "1":
raise NetworkAccess(url, info)
elif not trusted_network(d, url):
raise UntrustedUrl(url, info)
else:
logger.debug("Fetcher accessed the network with the command %s" % info)
logger.debug(1, "Fetcher accessed the network with the command %s" % info)
def build_mirroruris(origud, mirrors, ld):
uris = []
@@ -926,7 +922,7 @@ def build_mirroruris(origud, mirrors, ld):
continue
if not trusted_network(ld, newuri):
logger.debug("Mirror %s not in the list of trusted networks, skipping" % (newuri))
logger.debug(1, "Mirror %s not in the list of trusted networks, skipping" % (newuri))
continue
# Create a local copy of the mirrors minus the current line
@@ -939,8 +935,8 @@ def build_mirroruris(origud, mirrors, ld):
newud = FetchData(newuri, ld)
newud.setup_localpath(ld)
except bb.fetch2.BBFetchException as e:
logger.debug("Mirror fetch failure for url %s (original url: %s)" % (newuri, origud.url))
logger.debug(str(e))
logger.debug(1, "Mirror fetch failure for url %s (original url: %s)" % (newuri, origud.url))
logger.debug(1, str(e))
try:
# setup_localpath of file:// urls may fail, we should still see
# if mirrors of the url exist
@@ -967,8 +963,7 @@ def rename_bad_checksum(ud, suffix):
new_localpath = "%s_bad-checksum_%s" % (ud.localpath, suffix)
bb.warn("Renaming %s to %s" % (ud.localpath, new_localpath))
if not bb.utils.movefile(ud.localpath, new_localpath):
bb.warn("Renaming %s to %s failed, grep movefile in log.do_fetch to see why" % (ud.localpath, new_localpath))
bb.utils.movefile(ud.localpath, new_localpath)
def try_mirror_url(fetch, origud, ud, ld, check = False):
@@ -1021,7 +1016,16 @@ def try_mirror_url(fetch, origud, ud, ld, check = False):
origud.method.build_mirror_data(origud, ld)
return origud.localpath
# Otherwise the result is a local file:// and we symlink to it
ensure_symlink(ud.localpath, origud.localpath)
if not os.path.exists(origud.localpath):
if os.path.islink(origud.localpath):
# Broken symbolic link
os.unlink(origud.localpath)
# As per above, in case two tasks end up here simultaneously.
try:
os.symlink(ud.localpath, origud.localpath)
except FileExistsError:
pass
update_stamp(origud, ld)
return ud.localpath
@@ -1029,7 +1033,7 @@ def try_mirror_url(fetch, origud, ud, ld, check = False):
raise
except IOError as e:
if e.errno in [errno.ESTALE]:
if e.errno in [os.errno.ESTALE]:
logger.warning("Stale Error Observed %s." % ud.url)
return False
raise
@@ -1043,8 +1047,8 @@ def try_mirror_url(fetch, origud, ud, ld, check = False):
elif isinstance(e, NoChecksumError):
raise
else:
logger.debug("Mirror fetch failure for url %s (original url: %s)" % (ud.url, origud.url))
logger.debug(str(e))
logger.debug(1, "Mirror fetch failure for url %s (original url: %s)" % (ud.url, origud.url))
logger.debug(1, str(e))
try:
ud.method.clean(ud, ld)
except UnboundLocalError:
@@ -1055,22 +1059,6 @@ def try_mirror_url(fetch, origud, ud, ld, check = False):
bb.utils.unlockfile(lf)
def ensure_symlink(target, link_name):
if not os.path.exists(link_name):
if os.path.islink(link_name):
# Broken symbolic link
os.unlink(link_name)
# In case this is executing without any file locks held (as is
# the case for file:// URLs), two tasks may end up here at the
# same time, in which case we do not want the second task to
# fail when the link has already been created by the first task.
try:
os.symlink(target, link_name)
except FileExistsError:
pass
def try_mirrors(fetch, d, origud, mirrors, check = False):
"""
Try to use a mirrored version of the sources.
@@ -1086,7 +1074,7 @@ def try_mirrors(fetch, d, origud, mirrors, check = False):
for index, uri in enumerate(uris):
ret = try_mirror_url(fetch, origud, uds[index], ld, check)
if ret:
if ret != False:
return ret
return None
@@ -1096,13 +1084,11 @@ def trusted_network(d, url):
BB_ALLOWED_NETWORKS is set globally or for a specific recipe.
Note: modifies SRC_URI & mirrors.
"""
if bb.utils.to_boolean(d.getVar("BB_NO_NETWORK")):
if d.getVar('BB_NO_NETWORK') == "1":
return True
pkgname = d.expand(d.getVar('PN', False))
trusted_hosts = None
if pkgname:
trusted_hosts = d.getVarFlag('BB_ALLOWED_NETWORKS', pkgname, False)
trusted_hosts = d.getVarFlag('BB_ALLOWED_NETWORKS', pkgname, False)
if not trusted_hosts:
trusted_hosts = d.getVar('BB_ALLOWED_NETWORKS')
@@ -1190,6 +1176,8 @@ def get_checksum_file_list(d):
paths = ud.method.localpaths(ud, d)
for f in paths:
pth = ud.decodedurl
if '*' in pth:
f = os.path.join(os.path.abspath(f), pth)
if f.startswith(dl_dir):
# The local fetcher's behaviour is to return a path under DL_DIR if it couldn't find the file anywhere else
if os.path.exists(f):
@@ -1200,14 +1188,14 @@ def get_checksum_file_list(d):
return " ".join(filelist)
def get_file_checksums(filelist, pn, localdirsexclude):
def get_file_checksums(filelist, pn):
"""Get a list of the checksums for a list of local files
Returns the checksums for a list of local files, caching the results as
it proceeds
"""
return _checksum_cache.get_checksums(filelist, pn, localdirsexclude)
return _checksum_cache.get_checksums(filelist, pn)
class FetchData(object):
@@ -1233,26 +1221,24 @@ class FetchData(object):
self.pswd = self.parm["pswd"]
self.setup = False
def configure_checksum(checksum_id):
if "name" in self.parm:
checksum_name = "%s.%ssum" % (self.parm["name"], checksum_id)
else:
checksum_name = "%ssum" % checksum_id
setattr(self, "%s_name" % checksum_id, checksum_name)
if checksum_name in self.parm:
checksum_expected = self.parm[checksum_name]
elif self.type not in ["http", "https", "ftp", "ftps", "sftp", "s3", "az"]:
checksum_expected = None
else:
checksum_expected = d.getVarFlag("SRC_URI", checksum_name)
setattr(self, "%s_expected" % checksum_id, checksum_expected)
for checksum_id in CHECKSUM_LIST:
configure_checksum(checksum_id)
if "name" in self.parm:
self.md5_name = "%s.md5sum" % self.parm["name"]
self.sha256_name = "%s.sha256sum" % self.parm["name"]
else:
self.md5_name = "md5sum"
self.sha256_name = "sha256sum"
if self.md5_name in self.parm:
self.md5_expected = self.parm[self.md5_name]
elif self.type not in ["http", "https", "ftp", "ftps", "sftp", "s3"]:
self.md5_expected = None
else:
self.md5_expected = d.getVarFlag("SRC_URI", self.md5_name)
if self.sha256_name in self.parm:
self.sha256_expected = self.parm[self.sha256_name]
elif self.type not in ["http", "https", "ftp", "ftps", "sftp", "s3"]:
self.sha256_expected = None
else:
self.sha256_expected = d.getVarFlag("SRC_URI", self.sha256_name)
self.ignore_checksums = False
self.names = self.parm.get("name",'default').split(',')
@@ -1356,8 +1342,11 @@ class FetchMethod(object):
"""
# We cannot compute checksums for directories
if os.path.isdir(urldata.localpath):
if os.path.isdir(urldata.localpath) == True:
return False
if urldata.localpath.find("*") != -1:
return False
return True
def recommends_checksum(self, urldata):
@@ -1367,18 +1356,6 @@ class FetchMethod(object):
"""
return False
def verify_donestamp(self, ud, d):
"""
Verify the donestamp file
"""
return verify_donestamp(ud, d)
def update_donestamp(self, ud, d):
"""
Update the donestamp file
"""
update_stamp(ud, d)
def _strip_leading_slashes(self, relpath):
"""
Remove leading slash as os.path.join can't cope
@@ -1414,12 +1391,17 @@ class FetchMethod(object):
Fetch urls
Assumes localpath was called first
"""
raise NoMethodError(urldata.url)
raise NoMethodError(url)
def unpack(self, urldata, rootdir, data):
iterate = False
file = urldata.localpath
# Localpath can't deal with 'dir/*' entries, so it converts them to '.',
# but it must be corrected back for local files copying
if urldata.basename == '*' and file.endswith('/.'):
file = '%s/%s' % (file.rstrip('/.'), urldata.path)
try:
unpack = bb.utils.to_boolean(urldata.parm.get('unpack'), True)
except ValueError as exc:
@@ -1456,10 +1438,6 @@ class FetchMethod(object):
cmd = '7z x -so %s | tar x --no-same-owner -f -' % file
elif file.endswith('.7z'):
cmd = '7za x -y %s 1>/dev/null' % file
elif file.endswith('.tzst') or file.endswith('.tar.zst'):
cmd = 'zstd --decompress --stdout %s | tar x --no-same-owner -f -' % file
elif file.endswith('.zst'):
cmd = 'zstd --decompress --stdout %s > %s' % (file, efile)
elif file.endswith('.zip') or file.endswith('.jar'):
try:
dos = bb.utils.to_boolean(urldata.parm.get('dos'), False)
@@ -1519,7 +1497,7 @@ class FetchMethod(object):
if urlpath.find("/") != -1:
destdir = urlpath.rsplit("/", 1)[0] + '/'
bb.utils.mkdirhier("%s/%s" % (unpackdir, destdir))
cmd = 'cp -fpPRH "%s" "%s"' % (file, destdir)
cmd = 'cp -fpPRH %s %s' % (file, destdir)
if not cmd:
return
@@ -1552,18 +1530,12 @@ class FetchMethod(object):
"""
return True
def try_mirrors(self, fetch, urldata, d, mirrors, check=False):
"""
Try to use a mirror
"""
return bool(try_mirrors(fetch, d, urldata, mirrors, check))
def checkstatus(self, fetch, urldata, d):
"""
Check the status of a URL
Assumes localpath was called first
"""
logger.info("URL %s could not be checked for status since no method exists.", urldata.url)
logger.info("URL %s could not be checked for status since no method exists.", url)
return True
def latest_revision(self, ud, d, name):
@@ -1571,7 +1543,7 @@ class FetchMethod(object):
Look in the cache for the latest revision, if not present ask the SCM.
"""
if not hasattr(self, "_latest_revision"):
raise ParameterError("The fetcher for this URL does not support _latest_revision", ud.url)
raise ParameterError("The fetcher for this URL does not support _latest_revision", url)
revs = bb.persist_data.persist('BB_URI_HEADREVS', d)
key = self.generate_revision_key(ud, d, name)
@@ -1586,7 +1558,8 @@ class FetchMethod(object):
return True, str(latest_rev)
def generate_revision_key(self, ud, d, name):
return self._revision_key(ud, d, name)
key = self._revision_key(ud, d, name)
return "%s-%s" % (key, d.getVar("PN") or "")
def latest_versionstring(self, ud, d):
"""
@@ -1596,21 +1569,6 @@ class FetchMethod(object):
"""
return ('', '')
def done(self, ud, d):
"""
Is the download done ?
"""
if os.path.exists(ud.localpath):
return True
return False
def implicit_urldata(self, ud, d):
"""
Get a list of FetchData objects for any implicit URLs that will also
be downloaded when we fetch the given URL.
"""
return []
class Fetch(object):
def __init__(self, urls, d, cache = True, localonly = False, connection_cache = None):
if localonly and cache:
@@ -1625,11 +1583,8 @@ class Fetch(object):
fn = d.getVar('FILE')
mc = d.getVar('__BBMULTICONFIG') or ""
key = None
if cache and fn:
key = mc + fn + str(id(d))
if key in urldata_cache:
self.ud = urldata_cache[key]
if cache and fn and mc + fn in urldata_cache:
self.ud = urldata_cache[mc + fn]
for url in urls:
if url not in self.ud:
@@ -1640,8 +1595,8 @@ class Fetch(object):
self.ud[url] = None
pass
if key:
urldata_cache[key] = self.ud
if fn and cache:
urldata_cache[mc + fn] = self.ud
def localpath(self, url):
if url not in self.urls:
@@ -1671,13 +1626,13 @@ class Fetch(object):
urls = self.urls
network = self.d.getVar("BB_NO_NETWORK")
premirroronly = bb.utils.to_boolean(self.d.getVar("BB_FETCH_PREMIRRORONLY"))
premirroronly = (self.d.getVar("BB_FETCH_PREMIRRORONLY") == "1")
for u in urls:
ud = self.ud[u]
ud.setup_localpath(self.d)
m = ud.method
done = False
localpath = ""
if ud.lockfile:
lf = bb.utils.lockfile(ud.lockfile)
@@ -1685,39 +1640,39 @@ class Fetch(object):
try:
self.d.setVar("BB_NO_NETWORK", network)
if m.verify_donestamp(ud, self.d) and not m.need_update(ud, self.d):
done = True
if verify_donestamp(ud, self.d) and not m.need_update(ud, self.d):
localpath = ud.localpath
elif m.try_premirror(ud, self.d):
logger.debug("Trying PREMIRRORS")
logger.debug(1, "Trying PREMIRRORS")
mirrors = mirror_from_string(self.d.getVar('PREMIRRORS'))
done = m.try_mirrors(self, ud, self.d, mirrors)
if done:
localpath = try_mirrors(self, self.d, ud, mirrors, False)
if localpath:
try:
# early checksum verification so that if the checksum of the premirror
# contents mismatch the fetcher can still try upstream and mirrors
m.update_donestamp(ud, self.d)
update_stamp(ud, self.d)
except ChecksumError as e:
logger.warning("Checksum failure encountered with premirror download of %s - will attempt other sources." % u)
logger.debug(str(e))
done = False
logger.debug(1, str(e))
localpath = ""
if premirroronly:
self.d.setVar("BB_NO_NETWORK", "1")
firsterr = None
verified_stamp = m.verify_donestamp(ud, self.d)
if not done and (not verified_stamp or m.need_update(ud, self.d)):
verified_stamp = verify_donestamp(ud, self.d)
if not localpath and (not verified_stamp or m.need_update(ud, self.d)):
try:
if not trusted_network(self.d, ud.url):
raise UntrustedUrl(ud.url)
logger.debug("Trying Upstream")
logger.debug(1, "Trying Upstream")
m.download(ud, self.d)
if hasattr(m, "build_mirror_data"):
m.build_mirror_data(ud, self.d)
done = True
localpath = ud.localpath
# early checksum verify, so that if checksum mismatched,
# fetcher still have chance to fetch from mirror
m.update_donestamp(ud, self.d)
update_stamp(ud, self.d)
except bb.fetch2.NetworkAccess:
raise
@@ -1725,31 +1680,31 @@ class Fetch(object):
except BBFetchException as e:
if isinstance(e, ChecksumError):
logger.warning("Checksum failure encountered with download of %s - will attempt other sources if available" % u)
logger.debug(str(e))
logger.debug(1, str(e))
if os.path.exists(ud.localpath):
rename_bad_checksum(ud, e.checksum)
elif isinstance(e, NoChecksumError):
raise
else:
logger.warning('Failed to fetch URL %s, attempting MIRRORS if available' % u)
logger.debug(str(e))
logger.debug(1, str(e))
firsterr = e
# Remove any incomplete fetch
if not verified_stamp:
m.clean(ud, self.d)
logger.debug("Trying MIRRORS")
logger.debug(1, "Trying MIRRORS")
mirrors = mirror_from_string(self.d.getVar('MIRRORS'))
done = m.try_mirrors(self, ud, self.d, mirrors)
localpath = try_mirrors(self, self.d, ud, mirrors)
if not done or not m.done(ud, self.d):
if not localpath or ((not os.path.exists(localpath)) and localpath.find("*") == -1):
if firsterr:
logger.error(str(firsterr))
raise FetchError("Unable to fetch URL from any source.", u)
m.update_donestamp(ud, self.d)
update_stamp(ud, self.d)
except IOError as e:
if e.errno in [errno.ESTALE]:
if e.errno in [os.errno.ESTALE]:
logger.error("Stale Error Observed %s." % u)
raise ChecksumError("Stale Error Detected")
@@ -1774,17 +1729,17 @@ class Fetch(object):
ud = self.ud[u]
ud.setup_localpath(self.d)
m = ud.method
logger.debug("Testing URL %s", u)
logger.debug(1, "Testing URL %s", u)
# First try checking uri, u, from PREMIRRORS
mirrors = mirror_from_string(self.d.getVar('PREMIRRORS'))
ret = m.try_mirrors(self, ud, self.d, mirrors, True)
ret = try_mirrors(self, self.d, ud, mirrors, True)
if not ret:
# Next try checking from the original uri, u
ret = m.checkstatus(self, ud, self.d)
if not ret:
# Finally, try checking uri, u, from MIRRORS
mirrors = mirror_from_string(self.d.getVar('MIRRORS'))
ret = m.try_mirrors(self, ud, self.d, mirrors, True)
ret = try_mirrors(self, self.d, ud, mirrors, True)
if not ret:
raise FetchError("URL %s doesn't work" % u, u)
@@ -1819,7 +1774,7 @@ class Fetch(object):
for url in urls:
if url not in self.ud:
self.ud[url] = FetchData(url, self.d)
self.ud[url] = FetchData(url, d)
ud = self.ud[url]
ud.setup_localpath(self.d)
@@ -1836,24 +1791,6 @@ class Fetch(object):
if ud.lockfile:
bb.utils.unlockfile(lf)
def expanded_urldata(self, urls=None):
"""
Get an expanded list of FetchData objects covering both the given
URLS and any additional implicit URLs that are added automatically by
the appropriate FetchMethod.
"""
if not urls:
urls = self.urls
urldata = []
for url in urls:
ud = self.ud[url]
urldata.append(ud)
urldata += ud.method.implicit_urldata(ud, self.d)
return urldata
class FetchConnectionCache(object):
"""
A class which represents an container for socket connections.
@@ -1907,8 +1844,6 @@ from . import osc
from . import repo
from . import clearcase
from . import npm
from . import npmsw
from . import az
methods.append(local.Local())
methods.append(wget.Wget())
@@ -1927,5 +1862,3 @@ methods.append(osc.Osc())
methods.append(repo.Repo())
methods.append(clearcase.ClearCase())
methods.append(npm.Npm())
methods.append(npmsw.NpmShrinkWrap())
methods.append(az.Az())

View File

@@ -1,93 +0,0 @@
"""
BitBake 'Fetch' Azure Storage implementation
"""
# Copyright (C) 2021 Alejandro Hernandez Samaniego
#
# Based on bb.fetch2.wget:
# Copyright (C) 2003, 2004 Chris Larson
#
# SPDX-License-Identifier: GPL-2.0-only
#
# Based on functions from the base bb module, Copyright 2003 Holger Schurig
import shlex
import os
import bb
from bb.fetch2 import FetchError
from bb.fetch2 import logger
from bb.fetch2.wget import Wget
class Az(Wget):
def supports(self, ud, d):
"""
Check to see if a given url can be fetched from Azure Storage
"""
return ud.type in ['az']
def checkstatus(self, fetch, ud, d, try_again=True):
# checkstatus discards parameters either way, we need to do this before adding the SAS
ud.url = ud.url.replace('az://','https://').split(';')[0]
az_sas = d.getVar('AZ_SAS')
if az_sas and az_sas not in ud.url:
ud.url += az_sas
return Wget.checkstatus(self, fetch, ud, d, try_again)
# Override download method, include retries
def download(self, ud, d, retries=3):
"""Fetch urls"""
# If were reaching the account transaction limit we might be refused a connection,
# retrying allows us to avoid false negatives since the limit changes over time
fetchcmd = self.basecmd + ' --retry-connrefused --waitretry=5'
# We need to provide a localpath to avoid wget using the SAS
# ud.localfile either has the downloadfilename or ud.path
localpath = os.path.join(d.getVar("DL_DIR"), ud.localfile)
bb.utils.mkdirhier(os.path.dirname(localpath))
fetchcmd += " -O %s" % shlex.quote(localpath)
if ud.user and ud.pswd:
fetchcmd += " --user=%s --password=%s --auth-no-challenge" % (ud.user, ud.pswd)
# Check if a Shared Access Signature was given and use it
az_sas = d.getVar('AZ_SAS')
if az_sas:
azuri = '%s%s%s%s' % ('https://', ud.host, ud.path, az_sas)
else:
azuri = '%s%s%s' % ('https://', ud.host, ud.path)
if os.path.exists(ud.localpath):
# file exists, but we didnt complete it.. trying again.
fetchcmd += d.expand(" -c -P ${DL_DIR} '%s'" % azuri)
else:
fetchcmd += d.expand(" -P ${DL_DIR} '%s'" % azuri)
try:
self._runwget(ud, d, fetchcmd, False)
except FetchError as e:
# Azure fails on handshake sometimes when using wget after some stress, producing a
# FetchError from the fetcher, if the artifact exists retyring should succeed
if 'Unable to establish SSL connection' in str(e):
logger.debug2('Unable to establish SSL connection: Retries remaining: %s, Retrying...' % retries)
self.download(ud, d, retries -1)
# Sanity check since wget can pretend it succeed when it didn't
# Also, this used to happen if sourceforge sent us to the mirror page
if not os.path.exists(ud.localpath):
raise FetchError("The fetch command returned success for url %s but %s doesn't exist?!" % (azuri, ud.localpath), azuri)
if os.path.getsize(ud.localpath) == 0:
os.remove(ud.localpath)
raise FetchError("The fetch of %s resulted in a zero size file?! Deleting and failing since this isn't right." % (azuri), azuri)
return True

View File

@@ -10,10 +10,22 @@ BitBake 'Fetch' implementation for bzr.
# BitBake build tools.
# Copyright (C) 2003, 2004 Chris Larson
#
# SPDX-License-Identifier: GPL-2.0-only
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program 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 General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
import os
import sys
import logging
import bb
from bb.fetch2 import FetchMethod
from bb.fetch2 import FetchError
@@ -29,9 +41,8 @@ class Bzr(FetchMethod):
init bzr specific variable within url data
"""
# Create paths to bzr checkouts
bzrdir = d.getVar("BZRDIR") or (d.getVar("DL_DIR") + "/bzr")
relpath = self._strip_leading_slashes(ud.path)
ud.pkgdir = os.path.join(bzrdir, ud.host, relpath)
ud.pkgdir = os.path.join(d.expand('${BZRDIR}'), ud.host, relpath)
ud.setup_revisions(d)
@@ -46,7 +57,7 @@ class Bzr(FetchMethod):
command is "fetch", "update", "revno"
"""
basecmd = d.getVar("FETCHCMD_bzr") or "/usr/bin/env bzr"
basecmd = d.expand('${FETCHCMD_bzr}')
proto = ud.parm.get('protocol', 'http')
@@ -74,16 +85,16 @@ class Bzr(FetchMethod):
if os.access(os.path.join(ud.pkgdir, os.path.basename(ud.pkgdir), '.bzr'), os.R_OK):
bzrcmd = self._buildbzrcommand(ud, d, "update")
logger.debug("BZR Update %s", ud.url)
logger.debug(1, "BZR Update %s", ud.url)
bb.fetch2.check_network_access(d, bzrcmd, ud.url)
runfetchcmd(bzrcmd, d, workdir=os.path.join(ud.pkgdir, os.path.basename(ud.path)))
else:
bb.utils.remove(os.path.join(ud.pkgdir, os.path.basename(ud.pkgdir)), True)
bzrcmd = self._buildbzrcommand(ud, d, "fetch")
bb.fetch2.check_network_access(d, bzrcmd, ud.url)
logger.debug("BZR Checkout %s", ud.url)
logger.debug(1, "BZR Checkout %s", ud.url)
bb.utils.mkdirhier(ud.pkgdir)
logger.debug("Running %s", bzrcmd)
logger.debug(1, "Running %s", bzrcmd)
runfetchcmd(bzrcmd, d, workdir=ud.pkgdir)
scmdata = ud.parm.get("scmdata", "")
@@ -109,7 +120,7 @@ class Bzr(FetchMethod):
"""
Return the latest upstream revision number
"""
logger.debug2("BZR fetcher hitting network for %s", ud.url)
logger.debug(2, "BZR fetcher hitting network for %s", ud.url)
bb.fetch2.check_network_access(d, self._buildbzrcommand(ud, d, "revno"), ud.url)

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