Compare commits

...

137 Commits

Author SHA1 Message Date
Richard Purdie
c2b641c8a0 build-appliance-image: Update to rocko head revision
(From OE-Core rev: 9d1129076658b4c5827c95ad8b195a7a100d7a9e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-07 12:26:48 +00:00
Richard Purdie
ab4310e7b8 poky: Update to version 2.4.1
(From meta-yocto rev: b52aa0f906ae51d4e01d3851c7b9f332e0935dd7)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-07 12:25:20 +00:00
Matt Madison
551d18e4b8 go: ensure use of BUILD_CC when building bootstrap tools
For cross-canadian builds, we were accidentally using
the crosssdk C compiler when building the Go compiler
bootstrap.  Add a patch to the make script to let us
use BUILD_CC, and prepend do_compile to set it in
the local environment to ensure that the trailing
blank gets stripped, since that confuses Go.

[YOCTO #12341]

(From OE-Core rev: 70278eb86bc5bcbe3fa53c62f971fa467f61e28f)

Signed-off-by: Matt Madison <matt@madison.systems>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit 0dbb860924fc157880b52d8e08bad3c6c6b019b8)
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-07 12:23:43 +00:00
Khem Raj
7030d5b4f9 go: Use right dynamic linker on musl
(From OE-Core rev: 21e339fe203fd4a31c9654924a38970f493dace1)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit 0d6e83757fc26d3e88bfe3c2437b5c7c9be09118)
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-07 12:23:43 +00:00
Otavio Salvador
f88c841a2d Revert "go: Fix build with PIE on musl"
This reverts commit d6fcf91c06a3d118e8741273fac6903100141db4.

This commit was included on the rocko update by mistake. It ended
being dropped from master merge queue but forgotten in rocko one.

(From OE-Core rev: 4b69167fb3e55dfd1ff0fa0cfc7f4c226b033d6a)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-07 12:23:43 +00:00
Richard Purdie
1c61ba0a3f bitbake: tinfoil: Ensure we clean up loggers
This is primarily paranoid but ensure we remove any loggers we setup
either directly or indirectly so the initial state is restored after
we exit.

(Bitbake rev: 230493d9b99f7d315bc4e5e8d0093bd62ec8f9eb)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit af7d63b1f76fd3f7fa92ed15ae61ca47d9e13472)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:24:01 +00:00
Richard Purdie
babf923312 bitbake: event: Ensure we clean up loggers
Whilst we're likely exiting in this case, clean up the loggers we add
so that in the case of certain server retries there is no possibility
multiple loggers stack up.

(Bitbake rev: e52bf5f066618dfabecbd4197f77f78fa463af64)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 25b7bf6672be66bcbfe5760610dce7d3e866cdcc)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:24:01 +00:00
Richard Purdie
a1bff37c3f bitbake: tests/fetch: Add ftp test url
Add in a tets ftp url so we ensure ftp urls contnue to work after the loss
of the ftp.gnu.org ones.

(Bitbake rev: 7016bd9c4b05df2e888ec98e37a8ae6f3ac398bd)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit e1e8565b5e19dd3f7ef6e7e41932456adaa3df81)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:24:01 +00:00
Ross Burton
738fc234fa bitbake: tests/fetch: use subtests in the wget tests
As we test multiple URLs in this these tests and one failing abandons the test,
use subtests so all URLs are tested. This should help us identify patterns in
the failing URLs.

(Bitbake rev: 0eadcf94540c7e4a634c5c1e873658b65996f334)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit c4c4465b32e82d4b6e46a44e776be5039aef6b18)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:24:01 +00:00
Richard Purdie
f79c0d45fa bitbake: tests/fetch: Switch gnu.org urls from ftp -> http/https
The ftp server at ftp.gnu.org is likely to be retired at some point soon
so siwtch over to the http/https services.

This means bitbake-selftest doesn't have ftp test urls, however finding stable
ftp test servers is proving increasingly hard.

(Bitbake rev: 6497a030463cc7fd61bb8319d4c3ec824003c2fc)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 892a08245ddb21a464aeb37d3e32377e99dd7e2b)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:24:01 +00:00
Ross Burton
a5e95c2a85 bitbake: bitbake: be more explicit when warning about locale choice
(Bitbake rev: b3f7a75aeac31bc0afb7288fc54eb3929a8e1bae)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 286dce008d6e0bd3121393b28ca02de1385519fb)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:24:01 +00:00
Ross Burton
4b2d0192b2 bitbake: tests/fetch: skip network tests the idiomatic way
Instead of not even having the test functions if network tests are disabled, use
a custom decorator to mark the network tests and skip them.

(Bitbake rev: 618cf9693b9f4b48208603b2359f5717a6a35f8f)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit cc420f430b1dafd9ca944bea259a564aaab34595)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:24:01 +00:00
Oleksandr Andrushchenko
fd93e26f0d bitbake: fetch2: Fix missing logger import in repo fetcher
After cleaning deprecated API usage repo fetcher is missing
logger as it was indirectly imported via deprecated bb.data.
Fix this by importing logger directly.

Fixes: 9752fd1c10b8 ("fetch2: don't use deprecated bb.data APIs")

(Bitbake rev: 7ae321a9ede9fb0ee1a0794aa22815a593d1568d)

Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit f8e027d26603db2f1fe757dca767ea35d95174c7)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:24:00 +00:00
Alexander Kanavin
15542ff2b3 gstreamer1.0-plugins: disable introspection on mips64
The failure is weird and difficult to diagnoze, so disable the
introspection for now:

qemu-mips64: error while loading shared libraries: .../recipe-sysroot/usr/lib/libgthread-2.0.so.0: ELF file data encoding not little-endian

Note that it shows up only for one specific library (gstaudio), and only
on mips64. Introspection data for other libraries is generated just fine.

(From OE-Core rev: bc6bb09150835c841cf27c88f388ac5796a317a2)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit 4cfe09598c1ec1ffd108acdfd0f4cce1b8688895)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:24:00 +00:00
Juro Bystricky
b472addc93 sudo: improve reproducibility
Delete various build host references from the internally
generated file sudo_usage.h. The references get compiled into
executables, which leads to non-reproducible builds.
The removed references (configure options) were only used as part
of the sudo "usage", and even then only when ran as root.

(From OE-Core rev: eb3360c13fe4e803621f5b06e8d8a09211fd7da4)

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit 090eb9efdb2204673b1d569582813ea8860c8570)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:24:00 +00:00
Juro Bystricky
2f07e71a9e x11perf: improve reproducibility
Remove build host refeences.

(From OE-Core rev: 95f9a8ba58c6b790dd9aeea4e88148fbcdd7500c)

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit 7eedafd32a24cfdc33d791b2bf5a5d5c36c48e2f)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:24:00 +00:00
Juro Bystricky
66a0b5b550 grub-efi_2.02.bb: improve reproducibility
Remove several build host references from modinfo.sh files.

(From OE-Core rev: 01fe3d3cf0bde71b566f3734941db60ffc9dd9b7)

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit 6e4182b7c540e22f25ea8bfd16b0e2b2c8eb9f82)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:24:00 +00:00
Jackie Huang
adaefc1880 libnsl2: fix installed-vs-shipped QA issue
Fix the installed-vs-shipped QA issue:
| WARNING: libnsl2-1.0.5+gitAUTOINC+dfa2f31352-r0 do_package: QA Issue:
  libnsl2: Files/directories were installed but not shipped in any package:
  /usr/lib64/nsl/libnsl.a

(From OE-Core rev: b1806a257c0af1c69a81b3f855f6d165162257ae)

Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit 2e6636b23dde2c1b547f98373a2f49e617c37a9f)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:24:00 +00:00
Joe Slater
1a2fb23f56 nss: pay attention to CFLAGS
nss ignores CFLAGS so we suggest them via CC.

(From OE-Core rev: 7484c62f88311dbc1e9ade524af31d04e6035bf4)

Signed-off-by: Joe Slater <jslater@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit 95b65eefe7eb001752a37d1015bbf9be63bfd6bb)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:24:00 +00:00
Ming Liu
937beb5d94 qemu.inc: let linux-yocto-rt also provide nfs server kernel module
In case some users want to use linux-yocto-rt as the preferred kernel.

(From OE-Core rev: e0b8eafaf378571a99b07c559d07f9af36db791e)

Signed-off-by: Ming Liu <liu.ming50@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit bb0e574d3c74b6cd2d7e41933e0e28c91f0a411b)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:24:00 +00:00
Andre McCurdy
45139bd079 systemd: fix duplication of CACHED_CONFIGUREVARS
Fix historical duplication that appears to have been caused by
merging two independent fixes for the same issue:

  http://git.openembedded.org/openembedded-core/commit/?id=294adc0907a359d9c0ad260823188145aab294ad
  http://git.openembedded.org/openembedded-core/commit/?id=b30d7b1b97ffd1d44083d93ed0e572d80fcebc54

Also minor reformatting of EXTRA_OECONF values.

(From OE-Core rev: 0786e64061c79cea605ba5f231ac6e07999fa31b)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit 94bc5910ebdf7bb4677fa06150ba1219295e5eda)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:24:00 +00:00
Andre McCurdy
8c56b0b2f4 systemd: use consistent indenting and coding style in do_install()
Make the polkit fixup etc at the end of do_install() more consistent
with the rest of the function. Also indent do_install_ptest() with
tabs instead of spaces to make do_install_ptest() consistent with
do_install().

(From OE-Core rev: cfd4e3adce3f52bc00a73ef8af0336c9a9f893cc)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit 7a188e646a7a713ec5eab73580de624dc61f2936)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:24:00 +00:00
Andre McCurdy
f04d6842d3 systemd: sort PACKAGECONFIG options
Also fix some minor formatting inconsistencies (extra spaces or
commas etc). No functional changes.

(From OE-Core rev: 1f3928e9027ed35c562db76e0e936a4b89e3fbdd)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit 4caf480c8d824575e970ec8ba15e4ee221166954)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:24:00 +00:00
Andre McCurdy
c889bffda2 systemd: use consistent approach for musl PACKAGECONFIG options
Consistently use PACKAGECONFIG_remove_libc-musl to disable options
which are not compatible with musl.

Also sort the default PACKAGECONFIG list.

(From OE-Core rev: 84a4a5bd4a80a1336282d6c10c333673bbd3280c)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit 8fb362d90628d0dbc9a5073a0d75296eab569d44)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:24:00 +00:00
Andre McCurdy
1655dfeffc systemd: remove musl specific control of ldconfig PACKAGECONFIG
The ldconfig PACKAGECONFIG option is controlled by the ldconfig
distro feature - which is now disabled by default when building for
musl.

(From OE-Core rev: a6e92dd1565d99f539f59aafbb99aa2a7cb48eda)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit 84c841c5b4d3ae753c377f5bdbda19281c771f60)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:24:00 +00:00
Andre McCurdy
ebf2523922 tclibc-musl.inc: disable ldconfig distro feature
Musl has no support for ldconfig, so ensure that the corresponding
distro feature is disabled when building with musl.

(From OE-Core rev: 73d5475af8c8aa655a80bf38d9fc788078a70883)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit baacd7ea99265f5493d2452b173a12def92f6202)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:24:00 +00:00
Robert Yang
7de56ebc2a runqemu: print command search result when not found
This makes debug easier.

(From OE-Core rev: b99ba567cd8089a9a3ca01704f6ba6c42d390e9f)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit a453639e19fb2a9f9fb63fddd0b3ee26c0116d91)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:24:00 +00:00
Richard Purdie
d0640da88e runqemu: Also specialcase resolution of '.' to the file's location
Similarly to handling "../", handle "." to resovle to the qemuconf
file's current directory.

(From OE-Core rev: 9870247d0dc33357988d9636c8ff8db35490752e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 33418ed064fe9cff5b4803f09135a81d9170c189)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:24:00 +00:00
Saul Wold
776fb31844 image_types: Add debugging code to ext4 fs creation
We have seen a small number of issues with ROOTFS_SIZE not getting
computed correctly, resulting in a failure in the mke2fs processing
and populating the resulting new filesystem.

This information should help us to reproduce [YOCTO #12304]

(From OE-Core rev: 0abd3c25cb2a9a9be9dc650a1600d3902d5779a9)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 3a72f6783e142d53d19b37811a854d08d32485ab)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:24:00 +00:00
Richard Purdie
80ed9207a7 qemurunner: Simplify binary data handling
I have concerns that bad timing of the flow of data from the logger
might corrupt the output due to the way binary strings are handled
in qemurunner.

This simplifies the code to do the same thing it did before but much
more safely.

(From OE-Core rev: 20bc247316ab915465a4b1add6d09b48e07202ac)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 1e87283e92a2765bb5d54d17138b208bc395953b)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:24:00 +00:00
Richard Purdie
1e4d4762b1 qemuboot: Improve relative path handling
qemuconf files are currently written relative to TOPDIR. What
makes more sense is to write paths relative to the location of the
file. This makes moving them around and decoding the end paths in
runqemu much easier.

The effect of this should allow less use of bitbake to determine
variables and allow us to simplify runqemu.

(From OE-Core rev: e790aecfde4199cf9b658338900ad9a87cc1094f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 55a0028a961c0ad3c2e5729a9e3919cbbf256fe1)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:24:00 +00:00
Richard Purdie
968145b24e runqemu: Improve relative path handling in qemuconf files
If a variable starts with "../", its likely its a path and we want to
set it to an absolute path relative to the qemuconf file.

This means we don't have to use bitbake as often to figure out variables.

(From OE-Core rev: 61c449857f056d7c6c29530aa11bf8353b113638)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit dfc7940900d798aa47716288338107e1d46a3972)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:59 +00:00
Richard Purdie
3c28d31fed qemu: Add patch to avoid qemuppc boot hangs
qemuppc boots are occasionally hanging on the autobuilder. This adds a
patch which fixes the issue in local testing. Its being discussed with
upstream qemu.

(From OE-Core rev: 8834117a1cbde26d0a36691a2e4635afaa3b6ea7)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 87719e35db08b21cd43ab3ebd72f4567ca0fdc65)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:59 +00:00
Richard Purdie
65d09a7d1e runqemu: Ensure we process all tap devices
The regexp in the script misses some tap devices, e.g. we see output like:

runqemu - INFO - Acquiring lockfile /tmp/qemu-tap-locks/tap25.lock failed: [Errno 11] Resource temporarily unavailable
runqemu - INFO - Acquiring lockfile /tmp/qemu-tap-locks/tap26.lock failed: [Errno 11] Resource temporarily unavailable
runqemu - INFO - Acquiring lockfile /tmp/qemu-tap-locks/tap27.lock failed: [Errno 11] Resource temporarily unavailable
runqemu - INFO - Acquiring lockfile /tmp/qemu-tap-locks/tap28.lock failed: [Errno 11] Resource temporarily unavailable
runqemu - INFO - Acquiring lockfile /tmp/qemu-tap-locks/tap40.lock failed: [Errno 11] Resource temporarily unavailable
runqemu - INFO - Acquiring lockfile /tmp/qemu-tap-locks/tap41.lock failed: [Errno 11] Resource temporarily unavailable

What happened to tap29 to tap39?

The issue is was we were missing devices with '0' in the number,
like "10:" and so on in the output from "ip link".

(From OE-Core rev: ec1481f7ad6f2b3d1420027327510bec94dd66a8)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 6447697a48e3b693ee38806bc2ba07c2a65c2bc8)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:59 +00:00
André Draszik
311245d89f base: add automatic dependency on xz-native for .txz SRC_URI
.txz is .tar.xz, so add it, as this can actually be found in the
wild.

(From OE-Core rev: 866ead1d900433e39772973b4b31b7408ed8a215)

Signed-off-by: André Draszik <git@andred.net>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit 58af8c2e4bd17692274fc5a6ac8f8af84319fec6)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:59 +00:00
Joe Slater
0845fa12b8 net-tools: correctly set COPTS and LOPTS
COPTS will be ignored if it is defined in the environment.
It must be passed directly to make.  To be consistent, we
pass LOPTS that way, too.

(From OE-Core rev: b3fda1e35c399060838620d2c96c22cdbbd95c96)

Signed-off-by: Joe Slater <jslater@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit dede6d3d37aab72ae897c3709d21108fa75f6673)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:59 +00:00
Paul Eggleton
2d9aecf044 recipetool: create: fix failure handling included dicts
If a setup dict in a python setup.py file pulled in the contents of
another dict (e.g.  **otherdict), then we got an error when mapping
the keys because the key is None in that case. Skip those keys to avoid
the error (we pick up the values directly in any case).

A quick reproducer for this issue:

recipetool create https://files.pythonhosted.org/packages/source/p/pyqtgraph/pyqtgraph-0.10.0.tar.gz

(From OE-Core rev: 49b2d571da88fb2afce71835276523ed3538d31f)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit ae62a9953e219df5147ed4a5ae3f4163d51cff28)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:59 +00:00
Saul Wold
c32f44ebf5 linux-firmware: Remove iwlwifi-8000C-19 SRC_URI
Since it's been removed from the upstream repo and not fetchable
remove it here.  The newer firmware supports the device correctly.

(From OE-Core rev: 665a50f51d94c8a1f2ecbbf3fb0da5054c3bcb37)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit 8b8c40bdbd09ddd1409dc30e04ef847f6a15f109)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:59 +00:00
Ovidiu Panait
c6d473f460 icu: CVE-2017-14952
Double free in i18n/zonemeta.cpp in International Components for Unicode
(ICU) for C/C++ through 59.1 allows remote attackers to execute arbitrary
code via a crafted string, aka a "redundant UVector entry clean up
function call" issue.

Reference:
https://nvd.nist.gov/vuln/detail/CVE-2017-14952

Upstream patches:
http://bugs.icu-project.org/trac/changeset/40324/trunk/icu4c/source/i18n/zonemeta.cpp

(From OE-Core rev: 16006869e30395dd758a1797e324567ec4f8e074)

Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit 4ff12a8bf2b8d094085afbe8fa1d43f781cfa79d)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:59 +00:00
Chen Qi
7104d48590 gcc: backport patch to fix miscompilation on mips64
Backport a patch to fix miscompilation on mips64.

We've observed strange behaviour of `systemctl status <xxx> on qemumips64.
The output of the command is like `systemctl show <xxx>', which is incorrect.

The problem is due to the miscompilation of gcc for mips64 platform, thus
backporting patch from upstream to fix this problem.

[YOCTO #12266]

(From OE-Core rev: 6264b4afe6962d37eeb918e062568dee811ef231)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit cfa13e5c756849820644d86d1882602649db6a9c)
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:59 +00:00
Khem Raj
d164445477 gcc7: Fix unaligned STRD issue on ARM
Backport
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82445

Fixes [YOCTO 12297]

(From OE-Core rev: ae99f18ec6dc45723d969e749ad3f8ec36db1cf4)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Excluding GCC 6.3 as it is not affected.
per https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82445#c5

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:59 +00:00
Otavio Salvador
7e0b00fd12 lttng-modules: Upgrade to 2.9.5 release
This upgrade is critical as it fixes the support for Linux 4.14 LTS kernel.

The changlog is:

2017-10-05 LTTng modules 2.9.5
	* Fix: update block instrumentation for 4.14 kernel
	* Revert "Fix: update block instrumentation for kernel 4.14"

2017-10-03 (National Techies Day) LTTng modules 2.9.4
	* Fix: version check error in btrfs instrumentation
	* Fix: update btrfs instrumentation for kernel 4.14
	* Fix: update writeback instrumentation for kernel 4.14
	* Fix: update block instrumentation for kernel 4.14
	* Fix: vmalloc wrapper on kernel < 2.6.38
	* Fix: vmalloc wrapper on kernel >= 4.12
	* Add kmalloc failover to vmalloc
	* Fix: mmap: caches aliased on virtual addresses
	* Fix: update ext4 instrumentation for kernel 4.13
	* Fix: Sleeping function called from invalid context
	* Fix: sched for v4.11.5-rt1
	* Fix: handle missing ftrace header on v4.12

This also removes the previously backported patches as they are part
of 2.9.4 release and the missing fix is part of 2.9.5 release.

(From OE-Core rev: 56d01657934fe6e9e6c547fd58447c6a99a0779b)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:59 +00:00
Radek Dostál
25c0d7d891 sbc: fix license
sbc library itself is licensed under LGPLv2.1 or higher as mentioned in
sbc/sbc.h or any other file in sbc directory.

sbc test applications are licensed under GPLv2 or higher as mentioned in
src/sbcenc.c or any other file in src directory

Reported-by: Vladimir Koutny <vladimir.koutny@streamunlimited.com>
(From OE-Core rev: 39193c6b30d34fd4c07e1a36581a1bd94fd76b29)

Signed-off-by: Radek Dostál <radek.dostal@streamunlimited.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:59 +00:00
Radek Dostál
7df22af792 sbc: move examples to their own package
Suggested-by: Ross Burton <ross.burton@intel.com>
(From OE-Core rev: 096f0aa642ba469699c10dc4a181d62c0bc5e7b9)

Signed-off-by: Radek Dostál <radek.dostal@streamunlimited.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:59 +00:00
Patrick Vacek
351192c314 ca-certificates: Add /etc to SYSROOT_DIRS
For recipes that depend on native ca-certificates.crt, /etc should be
added to the list of directories that automatically populate the
sysroot, otherwise the file may not be there.

(From OE-Core rev: 704e0392809b8a062433f6a4e5c5980c34b47dce)

Signed-off-by: Patrick Vacek <patrick@advancedtelematic.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:59 +00:00
Khem Raj
fe51ddba06 go: Fix build with PIE on musl
(From OE-Core rev: d6fcf91c06a3d118e8741273fac6903100141db4)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:59 +00:00
Awais Belal
c8730962a4 dhcp: fix build issue with libxml2 support
A missing case breaks the build when libxml2 is
required and found appropriately. The third argument
to the function AC_SEARCH_LIB is action-if-found which
was mistakenly been used for the case where the library
is not found and hence breaks the configure phase
where it shoud actually pass.
We now pass on silently when action-if-found is
executed.

(From OE-Core rev: cc4e419eea46e9cdaa321aff4c37fdf8bb74b883)

Signed-off-by: Awais Belal <awais_belal@mentor.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:59 +00:00
Dan Dedrick
1e944f79b4 dhcp: use ${BPN} instead of ${PN} for user
${PN} will include additional prefixes, such as lib32-, which are not
actually a part of the user that is being added. This was creating an unused
user and possibly missing the actually intended user. By using ${BPN} this
will remove all additional extra information and consistently be "dhcp".

(From OE-Core rev: 69d1a48b403d588516cf149559169ee5a0d44b67)

Signed-off-by: Dan Dedrick <ddedrick@lexmark.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:59 +00:00
Andre McCurdy
994e3674a8 package_ipk.bbclass: handle only whitespace in PACKAGE_EXCLUDE
If PACKAGE_EXCLUDE is constructed using _append then it's possible
that the final value will contain only a space. Currently that
results in build failures due to an invalid opkg command line.

(From OE-Core rev: 809fda77324c5d4949b6490412f43d4bb95e4a94)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:59 +00:00
Peter Griffin
69490b4280 initramfs-live-install: Add aarch64 arch to COMPATIBLE_HOST.
So that we can use this on aarch64 with HiKey board.

(From OE-Core rev: 9260c60612048ccbb78b419f71328d4f91f1f83c)

Signed-off-by: Peter Griffin <peter.griffin@linaro.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:58 +00:00
Andre McCurdy
e27fd333df base.bbclass: increase indent in get_layers_branch_rev() and buildcfg_vars()
Although it may not appeal so much to users to prefer 80x24 consoles,
the general trend is for screens to get bigger and the current output
has started to look a little cramped on a modern HD display.

Increasing from 17 to 20 is obviously arbitrary, but does give enough
space to cleanly display layers such as "meta-nodejs-contrib" and
"meta-virtualization" while still keeping the output fairly compact.

(From OE-Core rev: 65f6fba05b7a28a6af048e79f8355ffc37acd039)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:58 +00:00
Paul Eggleton
216a839e1b lib/oe/recipeutils: fix line splitting in patch_recipe_*
If a value was split over multiple lines (e.g. as SRC_URI usually is)
then we were inserting the value as one item in the lines list with
newlines between each line. There's nothing wrong with this if you're
writing the list out to a file, but if you want to generate a patch (as
patch_recipe_file() will do if the patch parameter is set to True) then
the diff output looks a bit odd. Split the value before adding it to the
lines list to resolve this.

(From OE-Core rev: dbf68220e451a43830fe680c86b34b9bd127cad3)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:58 +00:00
Paul Eggleton
bd884dd998 lib/oe/recipeutils: fix find_layerdir() to return absolute paths
find_layerdir() should really return absolute paths, so make it do so.
This fixes devtool finish not deleting files it should do after devtool
upgrade if the specified path is relative, since the devtool finish code
was assuming that find_layerdir() was returning an absolute path.

Fixes [YOCTO #12318].

(From OE-Core rev: 8d028508bfd68ad272739cab5495811927936ef2)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:58 +00:00
Paul Eggleton
e36cf9e621 recipetool: ignore incidental kernel module source
If the source tree happens to contain a kernel module as an example, a
test or under a "contrib" directory then we shouldn't be picking it up
and making the determination that the entire thing is a kernel module.

An example that triggered this is zstd, which ships a kernel module
under contrib/linux-kernel:

  https://github.com/facebook/zstd

(From OE-Core rev: 5c89bd0db1b327483f674802740ff21b909e0876)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:58 +00:00
Paul Eggleton
611e4b43d8 recipetool: pass absolute source tree path to plugins
We shouldn't be passing a relative path to the plugins if that's what's
been specified on the recipetool command line.

(From OE-Core rev: 821742f48723a66fdafe5406bb57188b2f88889a)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:58 +00:00
Khem Raj
d4e3893e2d systemd: Fix build with musl/mips64
(From OE-Core rev: 5210f8f64ed65a677a7a017878783642de886249)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:58 +00:00
Richard Purdie
99c18e36e2 oeqa/runner: Pass the value of buffer, don't force to True
The value could be False in which case we should pass that through.

(From OE-Core rev: 5b4b7bfe33630d73b5b53fc754cd45563fcbfd4d)

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>
2017-12-04 17:23:58 +00:00
Richard Purdie
fbddd3917f oeqa: Markup further tests for stdout/stderr buffering
This further cleans up the output of oe-selftest so that runqemu output
is hidden unless tests fail.

(From OE-Core rev: 22f224965ac93da0b37affc4998fc0644f14462d)

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>
2017-12-04 17:23:58 +00:00
Richard Purdie
5481891748 testimage: Ensure full logs are shown for failures
Currently, the fact an error message is shown means the rest of the
task logs are suppressed. In this case we don't want that as it hides
the real errors and useful information. Therefore override this behaviour.

(From OE-Core rev: c0af4e9a0666de64c6a8823cdd3fbea579a3fb67)

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>
2017-12-04 17:23:58 +00:00
Alexander Kanavin
18b51a13af maintainers.inc: add Otavio Salvador for go-dep
(From OE-Core rev: 6e45eac3686cb749a6690149dbfca9925786ab9e)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:58 +00:00
Alexander Kanavin
e46fa69897 maintainers.inc: add Khem Raj for libmnl
(From OE-Core rev: ed959f455604975abccb3c2c3ce98f26234dd4f7)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:58 +00:00
Alexander Kanavin
7d934ff315 gtk-doc.bbclass: correctly make the list of directories with shared libraries
Previously it was working only if only one shared library was found, and
broke when there were several.

(From OE-Core rev: 9bdfc39d431c729740025ce5b711d7b5684df800)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:58 +00:00
Richard Purdie
2f6cffd605 oeqa/target/ssh: Drop command/output logging to debug level
This ensures the console is kept clear of confusing output but that
the main logs contain good debugging information.

(From OE-Core rev: 3727fae1e420a60ef8c62da546e1065045b163ff)

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>
2017-12-04 17:23:58 +00:00
Richard Purdie
ed4708db31 oeqa: Clean up logger handling
The logger handling in oeqa was confused at best. This patch:

a) Passes in a logger through various qemu runner pieces
b) Uses that logger consistently in the code
c) Creates a logger for QemuRunner outside the bitbake namespace
   meaning we don't conflict with the tinfoil logging changes

The result of this is more consistency. For runtime tests in testimage,
the logs always contain the debug info, nothing is shwon on the console.
For the oe-selftests, logs are intercepted and only shown if the test
fails.

(From OE-Core rev: ba8babc45141891d0624f9a181a580fa416e87ec)

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>
2017-12-04 17:23:58 +00:00
Richard Purdie
8d53ceebaf testimage: Pass the logger into OERuntimeTestContextExecutor.getTarget()
I have no idea why we didn't do this but it means the code has nowhere
to log to unless we do this. This means we can then use the logger
to log data to the task logs.

(From OE-Core rev: 1054965a2d44df2617127c0c47e34adc62c1bf4d)

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>
2017-12-04 17:23:58 +00:00
Richard Purdie
f97450203f oeqa/qemurunner: Use logger.debug, not logger.info
Bitbake logs info messages to the console. These messages are really
there as debugging information. At the debug level, they will be shown
in failure logs and in the task logs but not on the console which
is what we want in this case.

(From OE-Core rev: 5c1cdd4f3ea59a202fff853e0390b9aa5859dc74)

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>
2017-12-04 17:23:58 +00:00
Richard Purdie
572b9c54a1 oeqa/targetcontrol: Drop unused get_target_controller function
This funciton appears completely unused, drop it.

(From OE-Core rev: 31ccc70c4ea58e3781ea14eb534e00e9e06e131a)

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>
2017-12-04 17:23:58 +00:00
Richard Purdie
3f6fbed1e1 oeqa/runqemu: Only show stdout/stderr upon test failure
In general we don't need to see the output of runqemu however if it fails
we do. Use the buffer option that already exists in TestResult but allow
us to trigger it on a per test basis.

(From OE-Core rev: 1826a8cb8cf4c51307003617864d2ffab273eb0b)

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>
2017-12-04 17:23:57 +00:00
Richard Purdie
292c2ae888 qemurunner: Ensure logging handler is removed
If we don't remove the handler we end up with duplicate log messages
which is undesireable.

(From OE-Core rev: 39e6194615b139e2b772084641940fffa2c9380f)

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>
2017-12-04 17:23:57 +00:00
Khem Raj
539a852504 systemd: Fix build on musl
Add needed patches for portability across glibc/musl
enable systemd on musl too

Disable utmp,ldconfig,nss,resolved,localed for musl
which is not supported on musl

(From OE-Core rev: 5d85e01555e84dbb82c7671a5dfbe15d5e153a71)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:57 +00:00
Juro Bystricky
10d0ace274 e2fsprogs-ptest: improve reproducibility
Remove several Makefiles containing build host references.
While at it, also remove some additional files not needed for
testing.

(From OE-Core rev: 8ffafc2bc1c4f4d13295d56013029e10bb536d25)

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:57 +00:00
Markus Lehtonen
852c71956b oe-build-perf-report-email.py: add images as MIME objects
Add images as separate MIME objects instead of directly embedding images
in the html (as base64 encoded pngs). This makes the emails better
suited for certain email servers/clients.

(From OE-Core rev: fbbc84d9919d9cc18add03fc617637330721f5d9)

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:57 +00:00
Juro Bystricky
254013ce5f gobject-introspection: improve reproducibility
Remove cross-compiler wrappers from the package, these contain numerous
build host references.
The wrappers are only needed for cross-compiling.

[YOCTO #11705]

(From OE-Core rev: 60584b9047d844d6e5394338c133e8dab954e09d)

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:57 +00:00
Tom Rini
de78322f16 wic: Update canned-wks for systemd to use UUID everywhere
With systemd, the mounting of the swap partition is handled via systemd
and will mount it, regardless of if PARTUUID is parsed or not.  systemd
has a runtime dependency on util-linux-mount so PARTUUID for regular
mount points will be handled correctly.  Make all partitions that we add
to the image make use of UUIDs for maximum portability.

(From OE-Core rev: 8bf0e3ee85b22fdd4d8940878b4d99cccff1efd5)

Signed-off-by: Tom Rini <trini@konsulko.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:57 +00:00
Tom Rini
61f319db67 wic: When using --use-uuid make sure that we update the fstab with PARTUUID
When we have been told to use the UUID we should also update the fstab
to make use of PARTUUID instead of hard-coding the device in question.
This will make the resulting image much more portable.

(From OE-Core rev: 1d1fdcaf8702110783f2003cd3f8ae96c99a6d72)

Signed-off-by: Tom Rini <trini@konsulko.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:57 +00:00
Martin Kelly
88d92fb301 systemctl-native: add target.wants to target regex
The regex for acceptable systemd WantedBy/RequiredBy targets does not include
target.wants, so a line like this:

WantedBy=multi-user.target.wants

gets silently ignored, even though it works fine on a real system.

(From OE-Core rev: 8407100061e56346cafa06cc60eb63103d166bf8)

Signed-off-by: Martin Kelly <mkelly@xevo.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:57 +00:00
Ross Burton
ef6babd638 dpkg: use snapshot.debian.org
(From OE-Core rev: afd36e0d3eb7d7a68199572bb841b1c7078983c3)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:57 +00:00
Juro Bystricky
f8c7eff81d curl_7.54.1.bb: improve reproducibility
Improve reproducible build of curl-dev and curl-dbg packages.

curl-dev: Correctly remove build host references from curl-config
curl-dbg: Do not generate time stamps in files generated by mkhelp.pl

(From OE-Core rev: 4b5bfbf0f474d2657c1ed54a2ff00502d5f419d9)

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:57 +00:00
Chen Qi
8d3edc9821 systemd: remove useless options for mips4
Looking back the history, we had problem with systemd on qemumips64
which is also related to compilation flags. We solved that by using
tweaking FULL_OPTIMIZATION for mips64 to have "-fno-tree-switch-conversion
-fno-tree-tail-merge".

Now systemd has been upgraded to 234, and we don't have the above problem
any more, thus removing these flags.

(From OE-Core rev: a7b30e604ccc74cab65e3ac6a4fb08f68abc983e)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:57 +00:00
Joe Slater
8d706de096 rpm: remove --sysroot from macros on target
We do not want to specify --sysroot when defining __cc
used on a target.

(From OE-Core rev: 328201fe185b948eacceceefd9d2d2d0ba1ab676)

Signed-off-by: Joe Slater <jslater@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:57 +00:00
Ming Liu
59cbf69299 libsolv: fix a kernel-devsrc installation issue
We encountered a problem when installing kernel-devsrc package on a
intel-x86 target, as follows:
$ dnf install kernel-devsrc
| Installing : kernel-devsrc-1.0-r0.0.intel_corei7_64 1/1
| failed loading RPMDB
| The downloaded packages were saved in cache until the next successful transaction.
| You can remove cached packages by executing 'dnf clean packages'.

It can be fixed by increasing MAX_HDR_CNT and MAX_HDR_DSIZE in libsolv
per test.

(From OE-Core rev: 2987ec994705abb7dd18738ba1719aef9d72049a)

Signed-off-by: Ming Liu <liu.ming50@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:57 +00:00
Juro Bystricky
02f64e5db8 grub_2.02.bb: improve reproducibility
Remove several build host references from modinfo.sh files.

(From OE-Core rev: cf4abc5eebdb5f88fefe3fb633bfdc1d2a94f9e3)

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:57 +00:00
Ross Burton
c76a25b6ac python: add PACKAGECONFIG for Berkeley DB module
The bsddb module is deprecated and requires an old version of Berkeley DB that
some may be unhappy with even shipping, so expose a way to disable the module.

(From OE-Core rev: 25460ccdebaa6ff29ec051a0489a51b19c34e79c)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:57 +00:00
Ross Burton
1002359e5e db: change types to avoid headers changing between architectures
Triggered by looking at why Python doesn't find db.h (because it greps db.h for
a regex, and db.h is actually a oe_multilib_header wrapper) I realised that the
only reason we have to oe_multilib_header db.h is because one typedef is
different between 32-bit and 64-bit architectures.

However, the typedef is for a 64-bit integer so instead of using long (64-bit)
or long long (32-bit), just use int64_t.  Some of the overly complicated
configure tests need to be deleted after this change but that is safe as we're
building in a controlled environment and can assume int64_t exists.

With this done the header doesn't change between architectures, and it doesn't
need to be wrapped by oe_multilib_header.

(From OE-Core rev: 6c9ffa50d00a55122ed861e1818186035fd89715)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:57 +00:00
Chen Qi
3eca58ca70 bash-completion: remove rfkill file that util-linux provides
Remove the rfkill bash completion file that util-linux provides
to avoid conflicts.

(From OE-Core rev: 1657f98528e6ea70e77b5f8cbe85b8ce970c3535)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:57 +00:00
Erik Botö
aa6e825bf0 sshcontrol.py: in copy_to() always use scp
The current implementation is broken when the localpath is a link.
Then only a symlink would be created on the target, instead of copying
the actual file.

[YOCTO #11524]

(From OE-Core rev: a9d446d9c42a67109ae87a156ae43dcbb0f56e1e)

Signed-off-by: Erik Botö <erik.boto@pelagicore.com>
Signed-off-by: Stephano Cetola <stephano.cetola@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:57 +00:00
Erik Botö
2ef0fd2364 masterimage.py: rename parameter "params" in start() to "extra_bootparams"
This matches how it is called, and how it is named in qmeu target.

[YOCTO #11524]

(From OE-Core rev: 4e376d0658fe8315cfcca927ea275e1260bcc02f)

Signed-off-by: Erik Botö <erik.boto@pelagicore.com>
Signed-off-by: Stephano Cetola <stephano.cetola@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:56 +00:00
Erik Botö
ee7f665f0a masterimage.py: fix stop()
The stop() function is called in the context of the masterimage,
so self.master should be used instead of self.connection which is
undefined at that time.

[YOCTO #11524]

(From OE-Core rev: 1871d61b75f2fbc0df1368960b7746371fd875f5)

Signed-off-by: Erik Botö <erik.boto@pelagicore.com>
Signed-off-by: Stephano Cetola <stephano.cetola@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:56 +00:00
Erik Botö
ab31d76bc8 masterimage.py: fix issue with calling reboot on masterimage/DUT
On systemd systems calling reboot over an ssh connection doesn't
return as expected causing an exception, therefore wrap the call
to reboot in order to avoid this issue.

Also sync the filesystems before rebooting cause otherwise, it will be
done as part of the reboot and could take a very long time and testimage
will fail to access the machine. This issue was observed consistently with
one of our rootfs at Pelagicore.

[YOCTO #11524]

(From OE-Core rev: 6f5c4a8e07f8cdf3f6352e9e85d7376937bb32d2)

Signed-off-by: Erik Botö <erik.boto@pelagicore.com>
Signed-off-by: Stephano Cetola <stephano.cetola@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:56 +00:00
Ross Burton
dd03b7399b selftest/imagefeatures: add basic test for useradd-staticids
(From OE-Core rev: cb20382d85f5758ac9fb7cd7df085d07005f1337)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:56 +00:00
Peter Kjellerstedt
55d21c7fb6 oeqa/core/loader: Make _built_modules_dict() support packages correctly
For test modules in a package, e.g., oelib.license, running
`oe-selftest -r oelib.license` or `oe-selftest -r
oelib.license.TestSimpleCombinations` would fail with a message that
the specified test cases could not be found. This was due to the
parsing in _built_modules_dict(), which failed to distinguish between
<package>.<module>.<class> and <module>.<class>.<testcase> and treated
both cases as the latter.

(From OE-Core rev: 8d5eb5498975fd0d73ac20e2c4d938c1f85317d7)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:56 +00:00
Ross Burton
4e28c8d6b7 oeqa/selftest/runtime_test: use console in postinst_rootfs_and_boot
Use a console login not SSH for simplicity.

(From OE-Core rev: 35ecbe834290f346a8acf1e926e3104a8ac6edb0)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:56 +00:00
Ming Liu
18941419c8 image.bbclass: let do_image depend on do_populate_lic of EXTRA_IMAGEDEPENDS
The licenses of EXTRA_IMAGEDEPENDS recipes are being referenced in
image postcommand write_deploy_manifest, but a dependency is missing
between do_image and do_populate_lic of EXTRA_IMAGEDEPENDS recipes,
this leads some license files not present when write_deploy_manifest
runs, hence will cause build errors.

Fixed by letting do_image depend on do_populate_lic of
EXTRA_IMAGEDEPENDS recipes.

(From OE-Core rev: 2aa357501f74163f49c62db8660b7a132b5d0d46)

Signed-off-by: Ming Liu <liu.ming50@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:56 +00:00
Luca Ceresoli
da8f32a3bb externalsrc: fix ExpansionError if the source dir does not exist yet
The externalsrc class code assumes that the source directory
(EXTERNALSRC) exists before bitbake is called. Otherwise do_configure
will fail obviously since externalsrc does not fetch anything.

Commit 3ca6085729 ("externalsrc: Handle .git not being a directory")
changed this behaviour. Now on a missing EXTERNALSRC directory we get
a bb.data_smart.ExpansionError during _parsing_, way before
do_configure can be run.

This new behaviour creates two problems:

 * First, there error message is very cryptic (and it's hard to
   provide a better message since no task is ever run):

     ERROR: ExpansionError during parsing /<...>/<...>.bb
     Traceback (most recent call last):
     bb.data_smart.ExpansionError: Failure expanding variable do_compile[file-checksums], expression was ${@srctree_hash_files(d)} which triggered exception FileNotFoundError: [Errno 2] No such file or directory: '<...>'

 * Second, this prevents creating a class based on externalsrc that
   automatically fetches the code in EXTERNALSRC before do_compile
   runs.

Fix both problems by simply calling git with '-C ${EXTERNALSRC}'
instead of calling git inside the non-existing directory. This changes
from a bb.data_smart.ExpansionError to a
subprocess.CalledProcessError, which is in line with what's actually
going on: git is telling us it can't find the git dir.

Also remove a comment that does not apply anymore.

(From OE-Core rev: 390e4cc74ef9b578e1cced21444247d975610154)

Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net>
Cc: Joshua Watt <jpewhacker@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:56 +00:00
Igor Romanov
e6fe54ce38 image.bbclass: Fix 'vardepsexclude' mechanism for image_cmd_${FSTYPE}
Current mechanism doesn't allow to use any non-determenistic variable, except 'DATE' and 'DATETIME', inside IMAGE_CMD_${FSTYPE} prototype.

Passing 'vardepsexclude' values from IMAGE_CMD_${FSTYPE}, so users will be able to avoid taskhash mismatch problems.

(From OE-Core rev: 92bd01eba742e2bcb146ca24a1443af833f5a2ba)

Signed-off-by: Igor Romanov <i.romanov@inango-systems.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:56 +00:00
Patrick Ohly
23ee931b9d useradd-staticids: explain how to fix the the problem
When a distro uses useradd-staticids.bbclass and some developer
unfamiliar with the static ID mechanism tries to add a recipe which
needs new IDs, the resulting error or warning is typically not
something that the developer will understand.

Even experienced developers do not get enough information. They first
must find out whether the missing ID is for a system user or group,
then locate the file(s) in which the ID could be added. Both of this
is now part of the message:

ERROR: .../meta/recipes-extended/cronie/cronie_1.5.1.bb: cronie -
cronie: system groupname crontab does not have a static ID defined.
Add crontab to one of these files: /.../conf/distro/include/my-distro-group

The case that no file was found is also handled:

ERROR: .../meta/recipes-extended/cronie/cronie_1.5.1.bb: cronie -
cronie: system groupname crontab does not have a static ID defined.
USERADD_GID_TABLES file(s) not found in BBPATH: files/group

It would be nice if the error message could also list the range in
which a new ID needs to be allocated, but /etc/login.defs isn't
available at the time of creating the message, so that part is still
something that a developer needs to know.

(From OE-Core rev: 29c12b147ef85db4ebb0f86a911db5f90ae11c0a)

Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:56 +00:00
Patrick Ohly
e4f256000f useradd-staticids: skip recipes without static IDs
When enabling useradd-staticids.bbclass, one has to define static IDs
for all recipes in a world build, otherwise those without static IDs
generate parse errors or warnings, depending on USERADD_ERROR_DYNAMIC.

Defining unused IDs is a lot of work and clutters the passwd/group
file of a distro.

Distros which want to avoid this can now set USERADD_ERROR_DYNAMIC =
"skip" and recipes which would have triggered a message then silently
get disabled. Only trying to build them shows the error message:

$ bitbake apt
...
ERROR: Nothing PROVIDES 'apt'
ERROR: apt was skipped: apt - apt: username _apt does not have a static ID defined.

(From OE-Core rev: a2766b99a763874d469d34b84109553f68f5aaac)

Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:56 +00:00
Andre McCurdy
fbc12e0794 feature-arm-vfp.inc: drop unnecessary extra space from TUNE_CCARGS
The trailing space added to TUNE_CCARGS when appending -mfpu=XXX is
unnecessary and leads to a double space in the final value.

(From OE-Core rev: 0d5bbaf5fe66bd93e8d8cbf78834f562d90d9dca)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:56 +00:00
Yi Zhao
c45bdab6b9 maintainers.inc: update maintainership
Reassign Dengke's recipes to Yi Zhao.

(From OE-Core rev: 0c8ef5e4d579ca0d097bb6ab8312ba5b7eb9e213)

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:56 +00:00
Ross Burton
a97fecb3bd oeqa/selftest/runtime_test: fix postinst_rootfs_and_boot
This test overrides IMAGE_FEATURES but failed to include package-management,
which is essential for postinsts to work under dpkg.

(From OE-Core rev: 5e68e80a45c29dd7b337d9500733b18a19cd930b)

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>
2017-12-04 17:23:56 +00:00
Paul Eggleton
87577b8a53 lib/oe/sstatesig: fix wildcard matching wrong task signature files
With a '*' as a wildcard for the signature here we can also match a
portion of the task name with the result that we may match a sigdata
file for the wrong task. Luckily the signature is always the same
length - 32 characters - so we can simply use 32 '?' characters instead.
(A regex would have been another alternative, but the wildcard should be
effective and I felt like a regex would complicate the code more than
this solution).

Fixes [YOCTO #11763].

(From OE-Core rev: 8565391a4ebb574141b5d09bff710fc02c73ba34)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:56 +00:00
Robert Berger
5599639b65 nativesdk-packagegroup-sdk-host: remove redundant LICENSE
*) packagegroup class sets a default value for LICENSE
*) usually packagegroups don't contain a LICENSE
   and if they do it's many times a copy/paste and doesn't
   reflect the license of the packages included in the
   packagegroup

(From OE-Core rev: aaeb56d2f9193bdfb108f20e9ae2bbb4505815c0)

Signed-off-by: Robert Berger <robert.berger@ReliableEmbeddedSystems.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:56 +00:00
Ross Burton
c388d72c60 oeqa/selftest/runtime: force empty root password, use helpers to access qemu
(From OE-Core rev: 25a2db0c4e1c558cd14b2e7b7bce46f7d1ea02a7)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:56 +00:00
Saul Wold
d40531211c wic: misc.py: Use mmd from mtools instead of syslinux
mtools already provides a suite of msdos utilities, switch to this
one also.  This could allow for future changes to reduce wic's
dependecies.

(From OE-Core rev: 493bbd9ae773d0713db9782b434ce9543e2266f3)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:56 +00:00
Joe Slater
8eeed4220e goarch: There is no GOARCH defined for mips64-n32
Defeat building for mipsarchn32 because there is no corresponding
GOARCH.  Neither "mips" nor "mips64" allows go-runtime to compile.
Existing mips32 code assumes the o32 ABI.

(From OE-Core rev: 6380e5e381ceaf39a02e6f76c74910b2af71980b)

Signed-off-by: Joe Slater <jslater@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:55 +00:00
Wenlin Kang
0fbaee9077 kexec-tools: add systemd support for kdump
Add file kdump.service to support kdump in systemd.

(From OE-Core rev: d184a1365ededd30952ec4e8e6f6deb6eafb3b31)

Signed-off-by: Wenlin Kang <wenlin.kang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:55 +00:00
Ming Liu
33a48469bd lib/oe/terminal.py: use an absolute path to execute oe-gnome-terminal-phonehome
A flaw was found on my Ubuntu 14.04.5 LTS, on which that gnome-terminal is
the default terminal, when I run any of the tasks:
bitbake busybox -c menuconfig/devshell/devpyshell
bitbake virtual/kernel -c menuconfig/devshell/devpyshell

I got a error as follows:
"Failed to execute child process "oe-gnome-terminal-phonehome" (No such file or directory)"

Seems the environment of the process calling Popen is not passed to the
child process, this behaviour is a known issue in Python bug tracker:
http://bugs.python.org/issue8557

It could be fixed by using an absolute path instead per test.

(From OE-Core rev: 84514d0aaf28028b7862d247debbcdcce58fdada)

Signed-off-by: Ming Liu <liu.ming50@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 2117c148ef07d84bc605768e3b3671b0126b9337)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:55 +00:00
Robert Yang
e52027eef7 useradd.bbclass: print a warn when useradd not found
Exit quietly makes it very hard for debugging when user is not added as
expected, print a warning helps a lot.

(From OE-Core rev: 2428444f4d5deeaad90753bde51455c0b55d7d3e)

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 057885ed6f22781960bce4e082e3aa96e126764c)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:55 +00:00
Richard Purdie
9d5296bba5 bind: Convert from ftp to https urls
The ftp protocol is dated and problematic. Since https is available, lets
use that instead, making new users chances of successful builds higher.

(From OE-Core rev: 3dcb052eb4aeca60389c45801d1598fcbe8898d0)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit f24a29fcba98ceff08c13b0f029be93995f1deed)

Fix merge conflict do to version diff
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>
2017-12-04 17:23:55 +00:00
Thomas Perrot
8754f4779c runqemu: correct rootfs setup to boot an ide hddimg
vm_drive variable is malformed when the drive type is an ide device.

(From OE-Core rev: 02dbf124328eebdfdf62402588a41719953a22bf)

Signed-off-by: Thomas Perrot <thomas.perrot@tupi.fr>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 88d7b17871fe8340ab7fd5c901d3a535ae098c3e)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:55 +00:00
Armin Kuster
e0bfc22475 tzdata: update 2017c
LICENSE changed do to rewording
7097a65277 (diff-9879d6db96fd29134fc802214163b95a)

  Briefly:
  Northern Cyprus switches from +03 to +02/+03 on 2017-10-29.
  Fiji ends DST 2018-01-14, not 2018-01-21.
  Namibia switches from +01/+02 to +02 on 2018-04-01.
  Sudan switches from +03 to +02 on 2017-11-01.
  Tonga likely switches from +13/+14 to +13 on 2017-11-05.
  Turks & Caicos switches from -04 to -05/-04 on 2018-11-04.
  A new file tzdata.zi now holds a small text copy of all data.
  The zic input format has been regularized slightly.

  Changes to future time stamps

    Northern Cyprus has decided to resume EU rules starting
    2017-10-29, thus reinstituting winter time.

    Fiji ends DST 2018-01-14 instead of the 2018-01-21 previously
    predicted.  (Thanks to Dominic Fok.)  Adjust future predictions
    accordingly.

    Namibia will switch from +01 with DST to +02 all year on
    2017-09-03 at 02:00.  This affects UT offsets starting 2018-04-01
    at 02:00.  (Thanks to Steffen Thorsen.)

    Sudan will switch from +03 to +02 on 2017-11-01.  (Thanks to Ahmed
    Atyya and Yahia Abdalla.)  South Sudan is not switching, so
    Africa/Juba is no longer a link to Africa/Khartoum.

    Tonga has likely ended its experiment with DST, and will not
    adjust its clocks on 2017-11-05.  Although Tonga has not announced
    whether it will continue to observe DST, the IATA is assuming that
    it will not.  (Thanks to David Wade.)

    Turks & Caicos will switch from -04 all year to -05 with US DST on
    2018-03-11 at 03:00.  This affects UT offsets starting 2018-11-04
    at 02:00.  (Thanks to Steffen Thorsen.)

  Changes to past time stamps

    Namibia switched from +02 to +01 on 1994-03-21, not 1994-04-03.
    (Thanks to Arthur David Olson.)

    Detroit did not observe DST in 1967.

    Use railway time for Asia/Kolkata before 1941, by switching to
    Madras local time (UT +052110) in 1870, then to IST (UT +0530) in
    1906.  Also, treat 1941-2's +0630 as DST, like 1942-5.

    Europe/Dublin's 1946 and 1947 fallback transitions occurred at
    02:00 standard time, not 02:00 DST.  (Thanks to Michael Deckers.)

    Pacific/Apia and Pacific/Pago_Pago switched from Antipodean to
    American time in 1892, not 1879.  (Thanks to Michael Deckers.)

    Adjust the 1867 transition in Alaska to better reflect the
    historical record, by changing it to occur on 1867-10-18 at 15:30
    Sitka time rather than at the start of 1867-10-17 local time.
    Although strictly speaking this is accurate only for Sitka,
    the rest of Alaska's blanks need to be filled in somehow.

    Fix off-by-one errors in UT offsets for Adak and Nome before 1867.
    (Thanks to Michael Deckers.)

    Add 7 s to the UT offset in Asia/Yangon before 1920.

  Changes to zone names

    Remove Canada/East-Saskatchewan from the 'backward' file, as it
    exceeded the 14-character limit and was an unused misnomer anyway.

(From OE-Core rev: 2ea37fd4fad2e5ef21c119b03f09bcf2b0e7266e)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 77a8256d9cbfe24d470aac9b4cc2910a41ca0ee8)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:55 +00:00
Armin Kuster
f165c52e57 tzcode-native: update to 2017c
LICENSE changes do to rewording
7097a65277 (diff-9879d6db96fd29134fc802214163b95a)

Backported to fixes from upstream too.

Changes to code

    zic and the reference runtime now reject multiple leap seconds
    within 28 days of each other, or leap seconds before the Epoch.
    As a result, support for double leap seconds, which was
    obsolescent and undocumented, has been removed.  Double leap
    seconds were an error in the C89 standard; they have never existed
    in civil timekeeping.  (Thanks to Robert Elz and Bradley White for
    noticing glitches in the code that uncovered this problem.)

    zic now warns about use of the obsolescent and undocumented -y
    option, and about use of the obsolescent TYPE field of Rule lines.

    zic now allows unambiguous abbreviations like "Sa" and "Su" for
    weekdays; formerly it rejected them due to a bug.  Conversely, zic
    no longer considers non-prefixes to be abbreviations; for example,
    it no longer accepts "lF" as an abbreviation for "lastFriday".
    Also, zic warns about the undocumented usage with a "last-"
    prefix, e.g., "last-Fri".

    Similarly, zic now accepts the unambiguous abbreviation "L" for
    "Link" in ordinary context and for "Leap" in leap-second context.
    Conversely, zic no longer accepts non-prefixes such as "La" as
    abbreviations for words like "Leap".

    zic no longer accepts leap second lines in ordinary input, or
    ordinary lines in leap second input.  Formerly, zic sometimes
    warned about this undocumented usage and handled it incorrectly.

    The new macro HAVE_TZNAME governs whether the tzname external
    variable is exported, instead of USG_COMPAT.  USG_COMPAT now
    governs only the external variables "timezone" and "daylight".
    This change is needed because the three variables are not in the
    same category: although POSIX requires tzname, it specifies the
    other two variables as optional.  Also, USG_COMPAT is now 1 or 0:
    if not defined, the code attempts to guess it from other macros.

    localtime.c and difftime.c no longer require stdio.h, and .c files
    other than zic.c no longer require sys/wait.h.

    zdump.c no longer assumes snprintf.  (Reported by Jonathan Leffler.)

    Calculation of time_t extrema works around a bug in GCC 4.8.4
    (Reported by Stan Shebs and Joseph Myers.)

    zic.c no longer mistranslates formats of line numbers in non-English
    locales.  (Problem reported by Benno Schulenberg.)

    Several minor changes have been made to the code to make it a
    bit easier to port to MS-Windows and Solaris.  (Thanks to Kees
    Dekker for reporting the problems.)

  Changes to documentation and commentary

    The two new files 'theory.html' and 'calendars' contain the
    contents of the removed file 'Theory'.  The goal is to document
    tzdb theory more accessibly.

    The zic man page now documents abbreviation rules.

    tz-link.htm now covers how to apply tzdata changes to clients.
    (Thanks to Jorge Fábregas for the AIX link.)  It also mentions MySQL.

    The leap-seconds.list URL has been updated to something that is
    more reliable for tzdb.  (Thanks to Tim Parenti and Brian Inglis.)

(From OE-Core rev: 12a538bbbc8d04e875f81bd65e9754d749273aac)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 74af497f8d6b4e28d97c0f2cdb4ece90c2a6b8b5)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:55 +00:00
Ross Burton
e6c74f7ac9 qemurunner: fix bad indentation in serial login
(cherry picked from commit c4f57aed7a29000067c63a2821fddf18a88a23ce)
(From OE-Core rev: 2de7ffd9f0656ffd5b6fa002213e5f619480aba8)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:55 +00:00
Juro Bystricky
ce3bbc6972 util-linux-ptest: various fixes
The original code enabled only a sub-set of all available tests.
It also copied executables to be tested into a local folder although
the executables were expected to be already installed in the image.
In addition, the original code copied libtool scripts instead of already
cross-compiled images.

This patch modifies some test scripts so there is no need to copy
images already installed: instead it tests images already installed.
As the executables are scattered in /bin, usr/bin, /sbin/ usr/sbin folders,
we use 'which' to determine the absolute path.
We also copy some cross-compiled tests that were previously missing.

By the virtue of not copying the libtools scripts we also managed
the achieve binary reproducible package, as previously leaked build host
info was contained in libtool scripts, which are not copied anymore.

[YOCTO #10953]

(From OE-Core rev: 2cb21df92ec219b852e25fb005c8fccb2e395dcd)

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit f5198af37a5357a1758b50668b67f1c552982507)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:55 +00:00
Saul Wold
f483bdf9c4 wic: misc.py: Added more mtools binaries
This fixes the issue that if you don't have mtools installed on the host
thus causing host contamination, that the correct binaries would be selected
from the native sysroot.

[YOCTO #12173]

(From OE-Core rev: 9562669a4979bb31bbc27dc80c6a8d4f08500a49)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit dca43c557449d3765fec9f8d159d5c9e4ea8b0cb)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:55 +00:00
Li Zhou
24c9708492 curl: Security Advisory - curl - CVE-2017-1000254
Porting patch from <https://github.com/curl/curl/commit/
5ff2c5ff25750aba1a8f64fbcad8e5b891512584> to solve CVE-2017-1000254.

(From OE-Core rev: 4e22302603c6a1fc56ef77cdc10e1b1f631a274e)

Signed-off-by: Li Zhou <li.zhou@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit 08f8d5db06647b94f96d655100c358047682dd2f)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:55 +00:00
Khem Raj
221c4877f1 mdadm: Fix build with gcc < 7
Do not rely on build host gcc for "implicit-fallthrough" support
we need to check the CC for it

(From OE-Core rev: 8dae7b56b85e098eda1517eb7f50f37c57fb3ba6)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit b36100bb3077947361c858f891eb15a76013671e)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:55 +00:00
Randy MacLeod
e303b3cadc openssl: force soft link to avoid rare race
This patch works around a rare parallel build race condition using
the force option when soft linking.

The error seen is:

ln: failed to create symbolic link 'libssl.so': File exists
make[4]: *** [Makefile.shared:171: link_a.gnu] Error 1
make[4]: Leaving directory
'/.../build/tmp-glibc/work/x86_64-linux/openssl-native/1.0.2k-r0/openssl-1.0.2k'

Just add the -f flag to the platform independent soft link code to
avoid the collision.  This is reasonable since this Makefile removes
the link target before creating a new soft link. The Makefile was
written this way to support platforms that don't allow forcing a
softlink to overwrite an existing link. Only builds on Linux are
supported so that's not a requirement for oe-core recipes.

The openssl team is rewriting their build files so it's not appropriate
for openssl upstream and fixing the root cause of the race condition
was also not pursued.

(From OE-Core rev: f6be81b1dddc7adc2e97fefb2bd6c296d4dce8c6)

Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit c60288aba70635238094c6b813228b31e0715db9)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:55 +00:00
Juro Bystricky
500ce8d139 nettle-ptest: fix a failing test
This patch changes the result of the nettle dlopen-test
from FAIL to PASS. The test used to fail because the test could not
find and load libnettle.so.
This patch fixes this by using absolute path instead of relative.

This was the only test out of 88 that used to fail.

(From OE-Core rev: 511db7c256dbb3f8ba95eabd025d427384d4a1cb)

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit f12d493418417c8529a97c7a768e4af58ea5c91b)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:55 +00:00
Juro Bystricky
f7e10b532c gawk-ptest: fix a failing test
This patch changes the result of the "include" test
from FAIL to PASS. The test used to fail as the test prerequisite
was missing.
This was the only test out of 298 that used to fail.

(From OE-Core rev: 7e1da2f7c1068cf88424e4af3659d185dbd4167d)

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit 3e6bbb81d143919e37cea1549220d27df22080fe)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:55 +00:00
Wenzong Fan
0fc114ba76 tcl: remove host path from tclConfig.sh
The tclConfig.sh is also used by other packages (such as expect) for
cross-compiling, the host path from it can't be removed directly in
the do_install step.

With PACKAGE_PREPROCESS_FUNCS to remove host path and avoid the
crossscripts installed to target.

(From OE-Core rev: 54841b0a12f3d7ac9c36df110821fa39d60d456f)

Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit ced5618e7b3459fdd96f448ccdb55b5ced6d8214)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:55 +00:00
Khem Raj
b21f8e361b elfutils: Fix missing library on linker cmdline
(From OE-Core rev: a998f5be9b0364ef371f4cf6e4c0273fd9dc3861)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit 0caa41cf9692ac2cdf62b31cda8edd8241198697)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:55 +00:00
Nikolay Merinov
f515778225 perl-native: Provide correct lddlflags
For shared libraries compilation perl uses LDDLFLAGS instead of
LDFLAGS. Value for LDDLFLAGS can be provided through
recipe-sysroot-native/usr/lib/perl-native/perl/config.sh file
generated during perl-native compilation.

With default LDDLFLAGS libxml-parser-perl-native package have no
correct rpath in Expat.so module. Provide correct LDDLFLAGS for perl
modules compilation to fix build on hosts without libexpat.so.

(From OE-Core rev: b927733c03f672aee59211fa86278cae9c817530)

Signed-off-by: Nikolay Merinov <n.merinov@inango-systems.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit 118f42fa92c29269395c53c931fa174ece1af2e0)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:54 +00:00
Javier Viguera
40ed9adb53 curl: add 'enable-ares' packageconfig option
This build time option is needed to use the '--dns-interface' runtime
parameter to instruct 'curl' to use a specific interface for DNS
resolution.

Not enabled by default, as it depends on 'c-ares' package from
meta-openembedded (meta-networking).

(From OE-Core rev: 8f3d34217b5b95f1f159c362c6f5dad3ba4fb290)

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit 4fe0aa3791db0ee6c85e7a068f69def6e7c0da46)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:54 +00:00
Bruce Ashfield
96d525dc03 linux-yocto/4.12: ide:ide-cd: fix kernel panic resulting from missing scsi_req_init
Integrating a backport of upstream commit:

    ide:ide-cd: fix kernel panic resulting from missing scsi_req_init

    commit 79d73346ac05bc31 upstream

    Since we split the scsi_request out of struct request, while the
    standard prep_rq_fn builds 10 byte cmds, it missed to invoke
    scsi_req_init() to initialize certain fields of a scsi_request
    structure (.__cmd[], .cmd, .cmd_len and .sense_len but no other
    members of struct scsi_request).

    An example panic on virtual machines (qemu/virtualbox) to boot
    from IDE cdrom:
    ...
    [    8.754381] Call Trace:
    [    8.755419]  blk_peek_request+0x182/0x2e0
    [    8.755863]  blk_fetch_request+0x1c/0x40
    [    8.756148]  ? ktime_get+0x40/0xa0
    [    8.756385]  do_ide_request+0x37d/0x660
    [    8.756704]  ? cfq_group_service_tree_add+0x98/0xc0
    [    8.757011]  ? cfq_service_tree_add+0x1e5/0x2c0
    [    8.757313]  ? ktime_get+0x40/0xa0
    [    8.757544]  __blk_run_queue+0x3d/0x60
    [    8.757837]  queue_unplugged+0x2f/0xc0
    [    8.758088]  blk_flush_plug_list+0x1f4/0x240
    [    8.758362]  blk_finish_plug+0x2c/0x40
    ...
    [    8.770906] RIP: ide_cdrom_prep_fn+0x63/0x180 RSP: ffff92aec018bae8
    [    8.772329] ---[ end trace 6408481e551a85c9 ]---
    ...

    Fixes: 82ed4db499b8 ("block: split scsi_request out of struct request")

    Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
    [bva: modified for 4.12 context]
    Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>

(From OE-Core rev: 56548b615442e3f58b204c4810d7fe1e3d852409)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 089dc30e11a5bbd10bf6bebea6aa0ac2173bc9a3)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:54 +00:00
Bruce Ashfield
d61b65f35c linux-yocto/4.12: configuration fragment updates
Integrating the following configuration updates:

 dcf1317b36d2 features/mmc/mmc-realtek: enable Realtek PCI-E card reader support
 1a144ffe5f76 edac: split scc into enablement and patching (for treegen)

(From OE-Core rev: fdcbb9ff97928f80f854be0750a509a0c40f7982)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 5135d7c88bd1c50b7462d3f219d778e4a33b2995)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:54 +00:00
Bruce Ashfield
3190ba0b38 linux-yocto/4.9: update to v4.9.57
Integrating the korg -stable release that comprises the following changes:

   5d7a76acad40 Linux 4.9.57
   28955b03fac3 KVM: nVMX: update last_nonleaf_level when initializing nested EPT
   fb6da44f965e x86/alternatives: Fix alt_max_short macro to really be a max()
   063b57d55618 USB: serial: console: fix use-after-free after failed setup
   638f7fbfd67d USB: serial: qcserial: add Dell DW5818, DW5819
   c98f2ff0013e USB: serial: option: add support for TP-Link LTE module
   dcb2be936c3f USB: serial: cp210x: add support for ELV TFD500
   0c80bbb76814 USB: serial: ftdi_sio: add id for Cypress WICED dev board
   ed35ded9c781 bio_copy_user_iov(): don't ignore ->iov_offset
   e67dfe75b683 more bio_map_user_iov() leak fixes
   5444d8ab9a14 fix unbalanced page refcounting in bio_map_user_iov
   f9139a1a2457 direct-io: Prevent NULL pointer access in submit_page_section
   3941ee20839f usb: gadget: composite: Fix use-after-free in usb_composite_overwrite_options
   3c57f9d8c194 usb: gadget: configfs: Fix memory leak of interface directory data
   80689fdf37a8 drm/i915/bios: parse DDI ports also for CHV for HDMI DDC pin and DP AUX channel
   fd96a9b0150a drm/i915: Read timings from the correct transcoder in intel_crtc_mode_get()
   7c82795f9612 drm/i915/edp: Get the Panel Power Off timestamp after panel is off
   4dbe48b8e1a9 ALSA: line6: Fix leftover URB at error-path during probe
   b65f99b8b1ab ALSA: line6: Fix missing initialization before error path
   bbab59d6c4b2 ALSA: caiaq: Fix stray URB at probe error path
   6571ce840881 ALSA: seq: Fix copy_from_user() call inside lock
   35b84860667f ALSA: seq: Fix use-after-free at creating a port
   e0c70289a1e3 ALSA: usb-audio: Kill stray URB at exiting
   133ca5c71299 fs/mpage.c: fix mpage_writepage() for pages with buffers
   2a077f725847 device property: Track owner device of device property
   3abebf0b8c5f iommu/amd: Finish TLB flush in amd_iommu_unmap()
   4f28d1a742f9 pinctrl/amd: Fix build dependency on pinmux code
   f4753e0ae985 usb: renesas_usbhs: Fix DMAC sequence for receiving zero-length packet
   08e1674e82e5 KVM: nVMX: fix guest CR4 loading when emulating L2 to L1 exit
   3610c4a7838d KVM: MMU: always terminate page walks at level 1
   91daaefbe5df crypto: shash - Fix zero-length shash ahash digest crash
   57265cddde30 HID: usbhid: fix out-of-bounds bug
   9d9c2884da2c dmaengine: ti-dma-crossbar: Fix possible race condition with dma_inuse
   618c786d2bba dmaengine: edma: Align the memcpy acnt array size with the transfer
   b7309209b020 MIPS: math-emu: Remove pr_err() calls from fpu_emu()
   a844e288c811 USB: dummy-hcd: Fix deadlock caused by disconnect detection
   97535791d8f9 rcu: Allow for page faults in NMI handlers
   f012cb75946f nl80211: Define policy for packet pattern attributes
   92d7d3e86702 CIFS: Reconnect expired SMB sessions
   28cbf0693771 ext4: in ext4_seek_{hole,data}, return -ENXIO for negative offsets
   9d36d3eff2f8 Linux 4.9.56
   00449628f352 Revert "socket, bpf: fix possible use after free"
   f82786d7a94f Linux 4.9.55
   922e562b2613 KVM: x86: fix singlestepping over syscall
   ec86c1ca8fbb f2fs: don't allow encrypted operations without keys
   48d7b5a88790 ext4: don't allow encrypted operations without keys
   6007f0f7a47d ext4: Don't clear SGID when inheriting ACLs
   2d605d9188d6 ext4: fix data corruption for mmap writes
   27db1f020373 vfs: deny copy_file_range() for non regular files
   ba15518c2610 sched/cpuset/pm: Fix cpuset vs. suspend-resume bugs
   d9aaef32f32c mmc: core: add driver strength selection when selecting hs400es
   c83bbed23419 nvme-pci: Use PCI bus address for data/queues in CMB
   acf64334817c drm/i915/bios: ignore HDMI on port A
   54aa832c8744 brcmfmac: setup passive scan if requested by user-space
   4d3132d97aa7 brcmfmac: add length check in brcmf_cfg80211_escan_handler()
   12b182a35f45 scsi: sd: Do not override max_sectors_kb sysfs setting
   aee20f321daf iwlwifi: add workaround to disable wide channels in 5GHz
   f8895642cf8e iwlwifi: mvm: use IWL_HCMD_NOCOPY for MCAST_FILTER_CMD
   9a19bc44c636 netlink: fix nla_put_{u8,u16,u32} for KASAN
   57a77fffb0ff rocker: fix rocker_tlv_put_* functions for KASAN
   50b27486ae8a HID: wacom: bits shifted too much for 9th and 10th buttons
   953f5e7c6216 HID: wacom: Always increment hdev refcount within wacom_get_hdev_data
   04b54e8ff7d0 HID: wacom: leds: Don't try to control the EKR's read-only LEDs
   5abb9cd4ff92 HID: i2c-hid: allocate hid buffers for real worst case
   a3ec104976f7 ftrace: Fix kmemleak in unregister_ftrace_graph
   3ff8bc813b13 stm class: Fix a use-after-free
   c541aaad4ac7 Drivers: hv: fcopy: restore correct transfer length
   a97ca4f78018 driver core: platform: Don't read past the end of "driver_override" buffer
   fc3c67226acd percpu: make this_cpu_generic_read() atomic w.r.t. interrupts
   6a988259b1cb powerpc/tm: Fix illegal TM state in signal handler
   afebf5ef60da powerpc/64s: Use emergency stack for kernel TM Bad Thing program checks
   02f7e4101092 socket, bpf: fix possible use after free
   95206ea376b9 net: rtnetlink: fix info leak in RTM_GETSTATS call
   58b1b8407a31 tipc: use only positive error codes in messages
   09788d46b756 ip6_tunnel: update mtu properly for ARPHRD_ETHER tunnel device in tx path
   ab4da56f61be ip6_gre: ip6gre_tap device should keep dst
   b4a119251f6b netlink: do not proceed if dump's start() errs
   cf2eaf16ab28 net: Set sk_prot_creator when cloning sockets to the right proto
   24ee394a82d2 packet: only test po->has_vnet_hdr once in packet_snd
   0f22167d3321 packet: in packet_do_bind, test fanout with bind_lock held
   6eab1f829417 net: dsa: Fix network device registration order
   b8990d2e77c6 tun: bail out from tun_get_user() if the skb is empty
   b4a9b12d9a2c l2tp: fix race condition in l2tp_tunnel_delete
   e5941137f784 l2tp: Avoid schedule while atomic in exit_net
   6689f8358681 vti: fix use after free in vti_tunnel_xmit/vti6_tnl_xmit
   852bdea5e379 net: qcom/emac: specify the correct size when mapping a DMA buffer
   5600c7586ad9 net_sched: always reset qdisc backlog in qdisc_reset()
   93eef2172d23 isdn/i4l: fetch the ppp_write buffer in one shot
   0dee549f7912 bpf: one perf event close won't free bpf program attached by another perf event
   6f7cdd4aa0a4 packet: hold bind lock when rebinding to fanout hook
   6eac2cd24bd9 net: emac: Fix napi poll list corruption
   b463521db854 tcp: fastopen: fix on syn-data transmit failure
   b13bc543b1e6 net/sched: cls_matchall: fix crash when used with classful qdisc
   13c8bd7a21ed ip6_tunnel: do not allow loading ip6_tunnel if ipv6 is disabled in cmdline
   fc2fe7a06d6d net: phy: Fix mask value write on gmii2rgmii converter speed register
   e814bae39ad5 ip6_gre: skb_push ipv6hdr before packing the header in ip6gre_header
   f0a5af78b530 udpv6: Fix the checksum computation when HW checksum does not apply
   85908ccae5c2 tcp: fix data delivery rate
   e159492b3c3e bpf/verifier: reject BPF_ALU64|BPF_END
   186a9c5e7038 tcp: update skb->skb_mstamp more carefully
   b70bb9bb7277 sctp: potential read out of bounds in sctp_ulpevent_type_enabled()
   f86d3b1a28a7 net: sched: fix use-after-free in tcf_action_destroy and tcf_del_walker
   f860ca549de4 mlxsw: spectrum: Prevent mirred-related crash on removal
   065af12fd139 ALSA: usx2y: Suppress kernel warning at page allocation failures
   40e219327fd4 Revert "ALSA: echoaudio: purge contradictions between dimension matrix members and total number of members"
   984b6c96f1e2 ALSA: compress: Remove unused variable
   88c195d638d3 lsm: fix smack_inode_removexattr and xattr_getsecurity memleak
   1c0891295a5a lib/ratelimit.c: use deferred printk() version
   2b8197073a0f mm, oom_reaper: skip mm structs with mmu notifiers
   8a056a115270 staging: vchiq_2835_arm: Fix NULL ptr dereference in free_pagelist
   8928c5b2d318 uwb: ensure that endpoint is interrupt
   8ff7adb930d4 uwb: properly check kthread_run return value
   ec8a7153bbf3 iio: adc: mcp320x: Fix oops on module unload
   1daa7c5aba21 iio: adc: mcp320x: Fix readout of negative voltages
   8b97d5b67e9e iio: ad7793: Fix the serial interface reset
   f0865d60f3a5 IIO: BME280: Updates to Humidity readings need ctrl_reg write!
   9af1bd5e705a iio: core: Return error for failed read_reg
   8edd1ce3e56b staging: iio: ad7192: Fix - use the dedicated reset function avoiding dma from stack.
   1f266a130329 iio: ad_sigma_delta: Implement a dedicated reset function
   a2002c92ffb3 iio: adc: twl4030: Disable the vusb3v1 rugulator in the error handling path of 'twl4030_madc_probe()'
   ab6766146785 iio: adc: twl4030: Fix an error handling path in 'twl4030_madc_probe()'
   a13481f8cdca Revert "xhci: Limit USB2 port wake support for AMD Promontory hosts"
   f77615db8ae8 xhci: set missing SuperSpeedPlus Link Protocol bit in roothub descriptor
   f1a04773d773 xhci: Fix sleeping with spin_lock_irq() held in ASmedia 1042A workaround
   67e752e1d60f xhci: fix finding correct bus_state structure for USB 3.1 hosts
   a6d4ce2e8b65 USB: fix out-of-bounds in usb_set_configuration
   43feb29db4c5 usb: Increase quirk delay for USB devices
   767f7a2cf33a USB: core: harden cdc_parse_cdc_header
   d77606e93d81 USB: uas: fix bug in handling of alternate settings
   da785bb64fa6 USB: g_mass_storage: Fix deadlock when driver is unbound
   2b5c7b95ea36 usb: gadget: mass_storage: set msg_registered after msg registered
   77a4be89599c USB: devio: Don't corrupt user memory
   e39b17143a5b USB: dummy-hcd: Fix erroneous synchronization change
   795f5501b95c USB: dummy-hcd: fix infinite-loop resubmission bug
   5effe995310e USB: dummy-hcd: fix connection failures (wrong speed)
   12071de6c37d USB: cdc-wdm: ignore -EPIPE from GetEncapsulatedResponse
   0b104f92ed21 usb: pci-quirks.c: Corrected timeout values used in handshake
   37b6d898388e ALSA: usb-audio: Check out-of-bounds access by corrupted buffer descriptor
   eb5df140ca29 usb: renesas_usbhs: fix usbhsf_fifo_clear() for RX direction
   4661c9b526c3 usb: renesas_usbhs: fix the BCLR setting condition for non-DCP pipe
   760d0f10410a usb-storage: fix bogus hardware error messages for ATA pass-thru devices
   dd52953f6c48 usb-storage: unusual_devs entry to fix write-access regression for Seagate external drives
   d21653d09a0b usb: gadget: udc: renesas_usb3: Fix return value of usb3_write_pipe()
   db73b389775a usb: gadget: udc: renesas_usb3: fix Pn_RAMMAP.Pn_MPKT value
   25533678e580 usb: gadget: udc: renesas_usb3: fix for no-data control transfer
   744f9e1da2a5 usb: gadget: udc: atmel: set vbus irqflags explicitly
   7f850036134c USB: gadgetfs: fix copy_to_user while holding spinlock
   fd5336c0d1e3 USB: gadgetfs: Fix crash caused by inadequate synchronization
   f37eb7b586f1 Linux 4.9.54
   75903d40aaec s390/mm: make pmdp_invalidate() do invalidation only
   14b502e491a8 ttpci: address stringop overflow warning
   c637027054ae ALSA: au88x0: avoid theoretical uninitialized access
   cf2cd9feb8e6 ASoC: rt5660: remove double const
   617c7735db3d ASoC: rt5659: drop double const
   2f4835ee5505 ASoC: rt5514: fix gcc-7 warning
   d8ba70c09407 ARM: remove duplicate 'const' annotations'
   a4f11d61e305 IB/qib: fix false-postive maybe-uninitialized warning
   86c469bea4ae tools/power turbostat: bugfix: GFXMHz column not changing
   c126bc6b94dd ARM: dts: BCM5301X: Fix memory start address
   16db9205d3f8 libata: transport: Remove circular dependency at free time
   49c3226c0657 ASoC: wm_adsp: Return an error on write to a disabled volatile control
   d86f4ea83626 xfs: remove kmem_zalloc_greedy
   943411be40e0 i2c: meson: fix wrong variable usage in meson_i2c_put_data
   625cb13a8929 netfilter: nf_tables: set pktinfo->thoff at AH header if found
   4131c889c278 md/raid10: submit bio directly to replacement disk
   5c6712ab4efb rds: ib: add error handle
   a495f72f8a53 mm/cgroup: avoid panic when init with low memory
   2d59530d9918 iommu/io-pgtable-arm: Check for leaf entry before dereferencing it
   81080d2d83f6 x86/acpi: Restore the order of CPU IDs
   ffb6a7637ce0 cpufreq: intel_pstate: Update pid_params.sample_rate_ns in pid_param_set()
   27848be7eb75 ibmvnic: Free tx/rx scrq pointer array when releasing sub-crqs
   49f1b2c154cb nfs: make nfs4_cb_sv_ops static
   1cf8f9467e86 parisc: perf: Fix potential NULL pointer dereference
   cd402b889606 netfilter: nfnl_cthelper: fix incorrect helper->expect_class_max
   9b6f9da9e55a nvme-rdma: handle cpu unplug when re-establishing the controller
   67e8be27ff72 MIPS: smp-cps: Fix retrieval of VPE mask on big endian CPUs
   db6767e2fdca exynos-gsc: Do not swap cb/cr for semi planar formats
   61b203816b17 iommu/exynos: Block SYSMMU while invalidating FLPD cache
   3798fd14b970 MIPS: IRQ Stack: Unwind IRQ stack onto task stack
   146561a3f1c8 netfilter: invoke synchronize_rcu after set the _hook_ to NULL
   07b653405e3a drivers/rapidio/devices/tsi721.c: make module parameter variable name unique
   5435e4823d81 kasan: do not sanitize kexec purgatory
   dd9640717f3f hugetlbfs: initialize shared policy as part of inode allocation
   c533c11d8f7a sata_via: Enable hotplug only on VT6421
   26899ca9cc6f Btrfs: fix potential use-after-free for cloned bio
   c17acd24c682 Btrfs: fix segmentation fault when doing dio read
   7e2a755497f3 bridge: netlink: register netdevice before executing changelink
   727a153435fa mmc: sdio: fix alignment issue in struct sdio_func
   8f9bd136b50b qed: Fix possible system hang in the dcbnl-getdcbx() path.
   f06316859ce6 net: dsa: b53: Include IMP/CPU port in dumb forwarding mode
   affd26096a59 udp: disable inner UDP checksum offloads in IPsec case
   65a7a7ce7ffd usb: plusb: Add support for PL-27A1
   45eacc855552 team: fix memory leaks
   897e8c528529 net/packet: check length in getsockopt() called with PACKET_HDRLEN
   1dee03af7325 net: core: Prevent from dereferencing null pointer when releasing SKB
   c593091cfc1b lkdtm: Fix Oops when unloading the module
   6329973bee29 mips: ath79: clock:- Unmap region obtained by of_iomap
   30a0220a5b0b MIPS: Lantiq: Fix another request_mem_region() return code check
   fd9597d6ea28 HID: wacom: release the resources before leaving despite devm
   d621f970fd71 drm: mali-dp: Fix transposed horizontal/vertical flip
   c67371165170 drm: mali-dp: Fix destination size handling when rotating
   e2d1a42ed06e ASoC: dapm: fix some pointer error handling
   4302bc4f40b1 rtl8xxxu: Add additional USB IDs for rtl8192eu devices
   3f22900466a1 usb: chipidea: vbus event may exist before starting gadget
   75d1888ddce9 iommu/arm-smmu: Set privileged attribute to 'default' instead of 'unprivileged'
   4af5e6136d76 spi: pxa2xx: Add support for Intel Gemini Lake
   874b5acede78 ath10k: prevent sta pointer rcu violation
   91e66498a96a audit: log 32-bit socketcalls
   de415c812ec9 ASoC: dapm: handle probe deferrals
   0fc89de6ee77 partitions/efi: Fix integer overflow in GPT size calculation
   eaf9616e406c sfc: get PIO buffer size from the NIC
   c6d263e6b30a USB: serial: mos7840: fix control-message error handling
   9553708eb98d USB: serial: mos7720: fix control-message error handling
   09831a957766 drm/amdkfd: fix improper return value on error
   68b94d6c4edb arm: dts: mt2701: Add subsystem clock controller device nodes
   b2e7d1f72b09 IB/ipoib: Replace list_del of the neigh->list with list_del_init
   e335016d1f62 IB/ipoib: rtnl_unlock can not come after free_netdev
   e384bbd585ee IB/ipoib: Fix deadlock over vlan_mutex
   6c25cbaff1e9 serial: 8250_port: Remove dangerous pr_debug()
   ca3e4e77201a tty: goldfish: Fix a parameter of a call to free_irq
   5d29957578ae serial: 8250: moxa: Store num_ports in brd
   d976d68e1726 drm/i915/psr: disable psr2 for resolution greater than 32X20
   e92dca6f5a14 ARM: 8635/1: nommu: allow enabling REMAP_VECTORS_TO_RAM
   e1c355c244b7 IB/rxe: Fix a MR reference leak in check_rkey()
   0081b9e7fcf7 IB/rxe: Add a runtime check in alloc_index()
   2b7aec8839df iio: adc: hx711: Add DT binding for avia,hx711
   ff9b56037dd7 iio: adc: axp288: Drop bogus AXP288_ADC_TS_PIN_CTRL register modifications
   259f317db758 iio: adc: imx25-gcq: Fix module autoload
   772384d7ec40 hwmon: (gl520sm) Fix overflows and crash seen when writing into limit attributes
   d74f860528fb usb: make the MTK XHCI driver compile for older MIPS SoCs
   952d3c52bd85 clk/axs10x: Clear init field in driver probe
   81c961824662 sh_eth: use correct name for ECMR_MPDE bit
   bed7533196b2 reset: ti_syscon: fix a ti_syscon_reset_status issue
   6798f079b0a5 extcon: axp288: Use vbus-valid instead of -present to determine cable presence
   bc438831606a igb: re-assign hw address pointer on reset after PCI error
   484e3e793449 ARM: dts: am335x-chilisom: Wakeup from RTC-only state by power on event
   bc9ad17c7af2 scsi: be2iscsi: Add checks to validate CID alloc/free
   36c56ac0f897 power: supply: axp288_fuel_gauge: Fix fuel_gauge_reg_readb return on error
   0cde56d3b672 MIPS: ralink: Fix incorrect assignment on ralink_soc
   0e22be793ad2 MIPS: ralink: Fix a typo in the pinmux setup.
   84eaa74d734a MIPS: Ensure bss section ends on a long-aligned address
   d1d3a78f3e8f ARM: dts: r8a7790: Use R-Car Gen 2 fallback binding for msiof nodes
   3311a304ec62 RDS: RDMA: Fix the composite message user notification
   aa07a2ccc80d clk: sunxi-ng: fix PLL_CPUX adjusting on H3
   299b924c1f20 ARM: dts: exynos: Add CPU OPPs for Exynos4412 Prime
   48167acb7f5b drm/i915: Fix the overlay frontbuffer tracking
   97766c6a8e58 GFS2: Fix reference to ERR_PTR in gfs2_glock_iter_next
   e236940a87f1 drm: bridge: add DT bindings for TI ths8135
   7df306f1063b drm_fourcc: Fix DRM_FORMAT_MOD_LINEAR #define
   1852eae92c46 Linux 4.9.53
   df13283e4b89 swiotlb-xen: implement xen_swiotlb_dma_mmap callback
   64afde6f956d video: fbdev: aty: do not leak uninitialized padding in clk to userspace
   ea37f61f5de0 KVM: VMX: use cmpxchg64
   cb2da657d3a9 cxl: Fix driver use count
   3ffbe626a254 KVM: VMX: remove WARN_ON_ONCE in kvm_vcpu_trigger_posted_interrupt
   0c4e39ca6700 KVM: VMX: do not change SN bit in vmx_update_pi_irte()
   4c00015385fa timer/sysclt: Restrict timer migration sysctl values to 0 and 1
   e2f803481a84 gfs2: Fix debugfs glocks dump
   5e9b07f30d21 x86/fpu: Don't let userspace set bogus xcomp_bv
   54af98f86b92 x86/mm: Fix fault error path using unsafe vma pointer
   f11525d7ff5d btrfs: prevent to set invalid default subvolid
   ba44bc49bae6 btrfs: propagate error to btrfs_cmp_data_prepare caller
   b86b6c226bea btrfs: fix NULL pointer dereference from free_reloc_roots()
   bb1e06d281a8 PCI: Fix race condition with driver_override
   46f062e05920 etnaviv: fix gem object list corruption
   02c7d98bec6c xfs: validate bdev support for DAX inode flag
   86ef97b2dfd5 kvm: nVMX: Don't allow L2 to access the hardware CR8
   3d4213fac7d1 KVM: VMX: Do not BUG() on out-of-bounds guest IRQ
   e3a643b3288a kvm/x86: Handle async PF in RCU read-side critical sections
   58d2fb119ae6 KVM: VMX: simplify and fix vmx_vcpu_pi_load
   ff5eb8f28ff2 KVM: VMX: avoid double list add with VT-d posted interrupts
   01c58b0edeb1 KVM: VMX: extract __pi_post_block
   d49527ed4888 arm64: fault: Route pte translation faults via do_translation_fault
   7dbd64284b18 arm64: Make sure SPsel is always set
   be69c4c00a68 seccomp: fix the usage of get/put_seccomp_filter() in seccomp_get_filter()
   58052a74d9b0 selftests/seccomp: Support glibc 2.26 siginfo_t.h
   831cca587e7b iw_cxgb4: put ep reference in pass_accept_req()
   f184cf5256b7 iw_cxgb4: remove the stid on listen create failure
   eb4375e1969c bsg-lib: don't free job in bsg_prepare_job
   c820441a7a52 nl80211: check for the required netlink attributes presence
   f3e2e7f0b4d7 vfs: Return -ENXIO for negative SEEK_HOLE / SEEK_DATA offsets
   18a89a10b26b SMB3: Don't ignore O_SYNC/O_DSYNC and O_DIRECT flags
   0e1b85a41a25 SMB: Validate negotiate (to protect against downgrade) even if signing off
   df1be2066433 SMB3: Warn user if trying to sign connection that authenticated as guest
   f2d395b7bde5 Fix SMB3.1.1 guest authentication to Samba
   3a02f8cb5564 PM: core: Fix device_pm_check_callbacks()
   22338c55658d s390/mm: fix write access check in gup_huge_pmd()
   c76655fb0f44 powerpc/ftrace: Pass the correct stack pointer for DYNAMIC_FTRACE_WITH_REGS
   f89f25b53147 powerpc/tm: Flush TM only if CPU has TM feature
   5c23dcf86e2d powerpc/pseries: Fix parent_dn reference leak in add_dt_node()
   dda70d28c0ac KEYS: prevent KEYCTL_READ on negative key
   bfe9d7b8e0f2 KEYS: prevent creating a different user's keyrings
   47e8bd1965fc KEYS: fix writing past end of user-supplied buffer in keyring_read()
   0c70fb88c751 security/keys: rewrite all of big_key crypto
   2f9be92dfffe security/keys: properly zero out sensitive key material in big_key
   b60f791ef32d crypto: talitos - fix hashing
   1492259fc324 crypto: talitos - fix sha224
   70117b773598 crypto: talitos - Don't provide setkey for non hmac hashing algs.
   7e1b2b2db3d7 crypto: drbg - fix freeing of resources
   29825768590e drm/radeon: disable hard reset in hibernate for APUs
   b42bf0f15cf7 scsi: scsi_transport_iscsi: fix the issue that iscsi_if_rx doesn't parse nlmsg properly
   49c2b839b743 md/raid5: preserve STRIPE_ON_UNPLUG_LIST in break_stripe_batch_list
   648798cc2fd7 md/raid5: fix a race condition in stripe batch
   5fb4be27dac5 tracing: Erase irqsoff trace with empty write
   97d402e6eed2 tracing: Fix trace_pipe behavior for instance traces
   8dcf70ab1830 KVM: PPC: Book3S HV: Protect updates to spapr_tce_tables list
   18b7919a9de8 KVM: PPC: Book3S: Fix race and leak in kvm_vm_ioctl_create_spapr_tce()
   3d5960c8c657 genirq: Make sparse_irq_lock protect what it should protect
   e167b4ad529b mac80211: flush hw_roc_start work before cancelling the ROC
   e7e0f0dda28b mac80211_hwsim: Use proper TX power
   59862b0429d9 mac80211: fix VLAN handling with TXQs
   9ad15a25669e fs/proc: Report eip/esp in /prod/PID/stat for coredumping
   b6a77c7ba674 cifs: release auth_key.response for reconnect.
   9a7bc3f0c76a cifs: release cifs root_cred after exit_cifs
   d59dabdc4cb3 Linux 4.9.52
   08f75f2c525d bcache: fix bch_hprint crash and improve output
   57aa1a6967b2 bcache: fix for gc and write-back race
   fa92ff6b77a1 bcache: Correct return value for sysfs attach errors
   e40cb30162d7 bcache: correct cache_dirty_target in __update_writeback_rate()
   8f51f38883dc bcache: do not subtract sectors_to_gc for bypassed IO
   c234e0e77572 bcache: Fix leak of bdev reference
   2a9b55742a9f bcache: initialize dirty stripes in flash_dev_run()
   f5c3fd83284f PM / devfreq: Fix memory leak when fail to register device
   38993f320506 media: uvcvideo: Prevent heap overflow when accessing mapped controls
   7717a7378c53 media: v4l2-compat-ioctl32: Fix timespec conversion
   de4360dd3519 s390/mm: fix race on mm->context.flush_mm
   536ab630f4db s390/mm: fix local TLB flushing vs. detach of an mm address space
   4c7f54a0f977 net/netfilter/nf_conntrack_core: Fix net_conntrack_lock()
   2fd62929c88f PCI: pciehp: Report power fault only once until we clear it
   998a9f51bc74 PCI: shpchp: Enable bridge bus mastering if MSI is enabled
   57e4f87ebe46 ARC: Re-enable MMU upon Machine Check exception
   cf052336d0d3 tracing: Apply trace_clock changes to instance max buffer
   96cf918df428 tracing: Add barrier to trace_printk() buffer nesting modification
   100553e197e2 ftrace: Fix memleak when unregistering dynamic ops when tracing disabled
   df865f86b008 ftrace: Fix selftest goto location on error
   2a913aecc4f7 scsi: qla2xxx: Fix an integer overflow in sysfs code
   6e2a0259da7a scsi: qla2xxx: Correction to vha->vref_count timeout
   90cb12f6dc5a scsi: sg: fixup infoleak when using SG_GET_REQUEST_TABLE
   25d5a8a2958f scsi: sg: factor out sg_fill_request_table()
   c6b9a2007c92 scsi: sg: off by one in sg_ioctl()
   2b2d86b0d43d scsi: sg: use standard lists for sg_requests
   91fb151822d0 scsi: sg: remove 'save_scat_len'
   5b8f80d34abf scsi: storvsc: fix memory leak on ring buffer busy
   d8817f5f2937 scsi: megaraid_sas: Return pended IOCTLs with cmd_status MFI_STAT_WRONG_STATE in case adapter is dead
   c62da79e1be5 scsi: megaraid_sas: Check valid aen class range to avoid kernel panic
   7efc41514a01 scsi: megaraid_sas: set minimum value of resetwaittime to be 1 secs
   c24f722a82b1 scsi: zfcp: trace high part of "new" 64 bit SCSI LUN
   adbbbd349e80 scsi: zfcp: trace HBA FSF response by default on dismiss or timedout late response
   5283787709f8 scsi: zfcp: fix payload with full FCP_RSP IU in SCSI trace records
   8d706e3dd8ab scsi: zfcp: fix missing trace records for early returns in TMF eh handlers
   424a20b09617 scsi: zfcp: fix passing fsf_req to SCSI trace on TMF to correlate with HBA
   0cbb7431a762 scsi: zfcp: fix capping of unsuccessful GPN_FT SAN response trace records
   88187de0e934 scsi: zfcp: add handling for FCP_RESID_OVER to the fcp ingress path
   83245cd18775 scsi: zfcp: fix queuecommand for scsi_eh commands when DIX enabled
   63e606bd9551 skd: Submit requests to firmware before triggering the doorbell
   cb1441bca9bf skd: Avoid that module unloading triggers a use-after-free
   2cee78081b97 md/bitmap: disable bitmap_resize for file-backed bitmaps.
   120ec1e4cddd block: Relax a check in blk_start_queue()
   48564b51ac75 powerpc: Fix DAR reporting when alignment handler faults
   3806cea5c1c5 ext4: fix quota inconsistency during orphan cleanup for read-only mounts
   18d27cb70373 ext4: fix incorrect quotaoff if the quota feature is enabled
   e684db9a7cea crypto: AF_ALG - remove SGL terminator indicator when chaining
   dcb3a4b8d776 crypto: ccp - Fix XTS-AES-128 support on v5 CCPs
   1f143ba19a8f MIPS: math-emu: <MADDF|MSUBF>.D: Fix accuracy (64-bit case)
   d2b488ee6f63 MIPS: math-emu: <MADDF|MSUBF>.S: Fix accuracy (32-bit case)
   5cabf999fdb7 MIPS: math-emu: <MADDF|MSUBF>.<D|S>: Clean up "maddf_flags" enumeration
   d56a9caf6d83 MIPS: math-emu: <MADDF|MSUBF>.<D|S>: Fix some cases of zero inputs
   8981bcaf9a2d MIPS: math-emu: <MADDF|MSUBF>.<D|S>: Fix some cases of infinite inputs
   4f8479c933a7 MIPS: math-emu: <MADDF|MSUBF>.<D|S>: Fix NaN propagation
   4e0694a6411b MIPS: math-emu: Handle zero accumulator case in MADDF and MSUBF separately
   9381a991a36a MIPS: math-emu: MINA.<D|S>: Fix some cases of infinity and zero inputs
   f7d36f6594b8 MIPS: math-emu: <MAXA|MINA>.<D|S>: Fix cases of both infinite inputs
   a04d53797fca MIPS: math-emu: <MAXA|MINA>.<D|S>: Fix cases of input values with opposite signs
   d2b6fcb0b6de MIPS: math-emu: <MAX|MIN>.<D|S>: Fix cases of both inputs negative
   694f6ea0a4e2 MIPS: math-emu: <MAX|MAXA|MIN|MINA>.<D|S>: Fix cases of both inputs zero
   b234149cf77b MIPS: math-emu: <MAX|MAXA|MIN|MINA>.<D|S>: Fix quiet NaN propagation
   fcaec235666c Input: i8042 - add Gigabyte P57 to the keyboard reset table
   6053a5fec569 pinctrl/amd: save pin registers over suspend/resume
   346abf2aca7f tty: fix __tty_insert_flip_char regression
   750462424193 tty: improve tty_insert_flip_char() slow path
   f61a07f3fe97 tty: improve tty_insert_flip_char() fast path
   2f8b06f906fd IB/addr: Fix setting source address in addr6_resolve()
   0fda166fcec8 drm/sun4i: Implement drm_driver lastclose to restore fbdev console
   a29aeb834a96 IB/{qib, hfi1}: Avoid flow control testing for RDMA write operation
   e148702302c5 orangefs: Don't clear SGID when inheriting ACLs
   39f5677232ab mm: prevent double decrease of nr_reserved_highatomic
   f609266b12d2 NFSv4: Fix callback server shutdown
   d9f9b83539ab SUNRPC: Refactor svc_set_num_threads()
   089d7720383d Linux 4.9.51
   7829684088a2 ipv6: Fix may be used uninitialized warning in rt6_check
   ae04a8c4c6fc xfs: fix compiler warnings
   7b5fcb7fc05b md/raid5: release/flush io in raid5_do_work()
   81cb6f1a2a19 xfs: use kmem_free to free return value of kmem_zalloc
   772003c6a428 xfs: open code end_buffer_async_write in xfs_finish_page_writeback
   bb69e8a228a7 xfs: don't set v3 xflags for v2 inodes
   f46a61f686b0 xfs: fix incorrect log_flushed on fsync
   0e8d7e364ec5 xfs: disable per-inode DAX flag
   a46cf59265cf xfs: relog dirty buffers during swapext bmbt owner change
   e2bb92633615 xfs: disallow marking previously dirty buffers as ordered
   a51e3e2cf3cb xfs: move bmbt owner change to last step of extent swap
   f9e583edf1a7 xfs: skip bmbt block ino validation during owner change
   fe211e1744db xfs: don't log dirty ranges for ordered buffers
   19a87a940765 xfs: refactor buffer logging into buffer dirtying helper
   93b645160192 xfs: ordered buffer log items are never formatted
   ba986b3c8498 xfs: remove unnecessary dirty bli format check for ordered bufs
   0f5af7eae884 xfs: open-code xfs_buf_item_dirty()
   81286ade81f7 xfs: check for race with xfs_reclaim_inode() in xfs_ifree_cluster()
   63d184d2955b xfs: evict all inodes involved with log redo item
   536932f39e93 xfs: stop searching for free slots in an inode chunk when there are none
   6b6505d90b77 xfs: add log recovery tracepoint for head/tail
   7549e7c01fb0 xfs: handle -EFSCORRUPTED during head/tail verification
   47db1fc608b8 xfs: fix log recovery corruption error due to tail overwrite
   e34b72a2381e xfs: always verify the log tail during recovery
   35093926c2f8 xfs: fix recovery failure when log record header wraps log end
   0800356def7f xfs: Properly retry failed inode items in case of error during buffer writeback
   7942f605c308 xfs: Add infrastructure needed for error propagation during buffer IO failure
   1ba04933408e xfs: remove xfs_trans_ail_delete_bulk
   9a3f75229090 xfs: toggle readonly state around xfs_log_mount_finish
   01d38e380746 xfs: write unmount record for ro mounts
   ec0d46ef8b7e iomap: fix integer truncation issues in the zeroing and dirtying helpers
   e1a7b7e1f6c2 xfs: don't leak quotacheck dquots when cow recovery
   7fb3e5e373bb xfs: clear MS_ACTIVE after finishing log recovery
   8edd73a13dc0 xfs: fix inobt inode allocation search optimization
   f90756d75d69 xfs: Fix per-inode DAX flag inheritance
   229980158f95 xfs: fix multi-AG deadlock in xfs_bunmapi
   81e27c94f9ab xfs: fix quotacheck dquot id overflow infinite loop
   01bc132048cf xfs: check _alloc_read_agf buffer pointer before using
   c32b1ec8a266 xfs: set firstfsb to NULLFSBLOCK before feeding it to _bmapi_write
   a6247b0189fa xfs: check _btree_check_block value
   e76496fa8554 xfs: don't crash on unexpected holes in dir/attr btrees
   b46382f02aff xfs: free cowblocks and retry on buffered write ENOSPC
   171192c92da6 xfs: free uncommitted transactions during log recovery
   621d0b75a347 xfs: don't allow bmap on rt files
   8913492d12b1 xfs: remove bli from AIL before release on transaction abort
   6c0ecde201d7 xfs: release bli from transaction properly on fs shutdown
   ce83e494d1bb xfs: try to avoid blowing out the transaction reservation when bunmaping a shared extent
   7cb011bbacef xfs: push buffer of flush locked dquot to avoid quotacheck deadlock
   85ab1b23d2d8 xfs: fix spurious spin_is_locked() assert failures on non-smp kernels
   4c1d33c4cf86 xfs: Move handling of missing page into one place in xfs_find_get_desired_pgoff()
   3fddeb80034b x86/switch_to/64: Rewrite FS/GS switching yet again to fix AMD CPUs
   0caec70692a0 x86/fsgsbase/64: Report FSBASE and GSBASE correctly in core dumps
   c7d1ddec251d x86/fsgsbase/64: Fully initialize FS and GS state in start_thread_common
   cc9618c9fffe f2fs: check hot_data for roll-forward recovery
   0f90297cba9b f2fs: let fill_super handle roll-forward errors
   60b94125a1fe ip_tunnel: fix setting ttl and tos value in collect_md mode
   3f60dadbe178 sctp: fix missing wake ups in some situations
   bf8ed95d2ca9 ipv6: fix typo in fib6_net_exit()
   c9335db792c0 ipv6: fix memory leak with multiple tables during netns destruction
   ca7d8a337bd3 ip6_gre: update mtu properly in ip6gre_err
   f5755c0e8700 vhost_net: correctly check tx avail during rx busy polling
   90406e68e42f gianfar: Fix Tx flow control deactivation
   1bcf18718ec6 Revert "net: fix percpu memory leaks"
   5a7a40bad254 Revert "net: use lib/percpu_counter API for fragmentation mem accounting"
   b5a3ae8b127e bridge: switchdev: Clear forward mark when transmitting packet
   73ee5a73e75f mlxsw: spectrum: Forbid linking to devices that have uppers
   a10c510179b3 tcp: initialize rcv_mss to TCP_MIN_MSS instead of 0
   a6e51fda71a2 Revert "net: phy: Correctly process PHY_HALTED in phy_stop_machine()"
   af33da0ed95f kcm: do not attach PF_KCM sockets to avoid deadlock
   8c623e5d0369 packet: Don't write vnet header beyond end of buffer
   2b3bd5972a5c cxgb4: Fix stack out-of-bounds read due to wrong size to t4_record_mbox()
   de2ecec26dba netvsc: fix deadlock betwen link status and removal
   64dfc67548da qlge: avoid memcpy buffer overflow
   08d56d8a99bb sctp: Avoid out-of-bounds reads from address storage
   4d8ee1935bcd fsl/man: Inherit parent device and of_node
   1e39e5c6a2ea udp: on peeking bad csum, drop packets even if not at head
   4b4a194a10e2 macsec: add genl family module alias
   43c792a84880 ipv6: fix sparse warning on rt6i_node
   7f8f23fc8026 ipv6: add rcu grace period before freeing fib6_node
   dccb31be7ef8 ipv6: accept 64k - 1 packet length in ip6_find_1stfragopt()
   4ad5dcaca742 Linux 4.9.50
   5b82e0e938af xfs: XFS_IS_REALTIME_INODE() should be false if no rt device present
   3885bc68ae14 NFS: Sync the correct byte range during synchronous writes
   a70912a6bfff NFS: Fix 2 use after free issues in the I/O code
   301d91e03c9d ARM: 8692/1: mm: abort uaccess retries upon fatal signal
   b40aa8b047b8 ARM64: dts: marvell: armada-37xx: Fix GIC maintenance interrupt
   6300c8bfafe0 Bluetooth: Properly check L2CAP config option output buffer length
   03bea515b9a2 ALSA: msnd: Optimize / harden DSP and MIDI loops
   d21f3eaa09c0 locktorture: Fix potential memory leak with rw lock test
   3c8381df2a56 mm/memory.c: fix mem_cgroup_oom_disable() call missing
   ebf381be016f selftests/x86/fsgsbase: Test selectors 1, 2, and 3
   0f7dbc4d5bc8 btrfs: resume qgroup rescan on rw remount
   f52a535c8438 nvme-fabrics: generate spec-compliant UUID NQNs
   b276bc66d439 mtd: nand: qcom: fix config error for BCH
   f4a272d57839 mtd: nand: qcom: fix read failure without complete bootchain
   865162031c4e mtd: nand: mxc: Fix mxc_v1 ooblayout
(From OE-Core rev: e209896a2aa7e06f1b6498e0a9fc5e9f766842f5)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>

(cherry picked from commit afbe1ecd2412c7464ba805223058ab416553b250)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:54 +00:00
Bruce Ashfield
a027091807 kern-tools: make fuzzy matching optional
It was reported that BSPs that only matched the machine were
being returned as the configuration entry point. This could lead
to warnings, or unexpected runtime results.

Integrating the following commit to ensure that only strict matches
are returned by default, with a flag to do fuzzy matching

    spp: make fuzzy matching optional

    Add a flag that can be used to toggle wether or not a partial
    match is an error.

      --fuzz

    When passed, partial patching will be used. If not passed the
    default is to return nothing (which can be interpreted as an
    error by the calling routines) if both the kernel type and
    machine do not match.

(From OE-Core rev: 141a7afa9eaca5f4b7ed0fbc91f48e370c8f364d)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit f60d050fef2e4ac592bb5554e74b9573e3570d0f)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:54 +00:00
Bruce Ashfield
9779fc2bdd linux-yocto/4.12: stable backports and bug fixes
Integrating the following bugfixes to the 4.12 tree:

 26c1863a7448 ALSA: hda: Fix regression of hdmi eld control created based on invalid pcm
 2b020e00dd49 arm64: mm: select CONFIG_ARCH_PROC_KCORE_TEXT
 abcf00d7171c fs/proc: kcore: use kcore_list type to check for vmalloc/module address

(From OE-Core rev: 32bb62512bbec56cd1910e8955013042afab70b9)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 1027bfffb3d6118a43c5697f36b30dd8e4ae3f96)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:54 +00:00
Bruce Ashfield
cb258fef83 linux-yocto/4.12: update to v4.12.14
Integrating the korg -stable releases with the following commit summary:

   fa394784e74b Linux 4.12.14
   d0fa64e2a3e8 ipv6: Fix may be used uninitialized warning in rt6_check
   7816eb3874a2 md/raid5: release/flush io in raid5_do_work()
   b57c1b424549 md/raid1/10: reset bio allocated from mempool
   c3f9d09e70a3 idr: remove WARN_ON_ONCE() when trying to replace negative ID
   a82e202cbb72 fuse: allow server to run in different pid_ns
   7b777a6cc52a x86/switch_to/64: Rewrite FS/GS switching yet again to fix AMD CPUs
   831621ada28a x86/fsgsbase/64: Report FSBASE and GSBASE correctly in core dumps
   90ecd1c5bc55 x86/fsgsbase/64: Fully initialize FS and GS state in start_thread_common
   cb14d4cebdb2 f2fs: check hot_data for roll-forward recovery
   96a069a6babb f2fs: let fill_super handle roll-forward errors
   442df0425e95 sctp: fix missing wake ups in some situations
   aa02286a03c7 ipv6: fix typo in fib6_net_exit()
   18c6d4c4d17a ipv6: fix memory leak with multiple tables during netns destruction
   888b7a94104a ip6_gre: update mtu properly in ip6gre_err
   88f6c6f254bf vhost_net: correctly check tx avail during rx busy polling
   fc33f146d9f1 gianfar: Fix Tx flow control deactivation
   a44bb1c4596a Revert "net: fix percpu memory leaks"
   8fbf9f919597 Revert "net: use lib/percpu_counter API for fragmentation mem accounting"
   79f08820eeb8 bridge: switchdev: Clear forward mark when transmitting packet
   2f4232ba8001 mlxsw: spectrum: Forbid linking to devices that have uppers
   a9e548de4cf9 net: fec: Allow reception of frames bigger than 1522 bytes
   b8fcbae2fefa Revert "net: phy: Correctly process PHY_HALTED in phy_stop_machine()"
   b88be44f595f net/mlx5e: Fix CQ moderation mode not set properly
   8049c41db78d net/mlx5e: Fix inline header size for small packets
   8db40bcf439f net/mlx5: E-Switch, Unload the representors in the correct order
   b0034cb5014e net/mlx5e: Properly resolve TC offloaded ipv6 vxlan tunnel source address
   53c5525785bc net/mlx5e: Don't override user RSS upon set channels
   ba008489371d net/mlx5e: Fix dangling page pointer on DMA mapping error
   7ae1eccbde90 net/mlx5: Fix arm SRQ command for ISSI version 0
   0b6b3028c005 net/mlx5e: Fix DCB_CAP_ATTR_DCBX capability for DCBNL getcap.
   9b919ad3f99f net/mlx5e: Check for qos capability in dcbnl_initialize
   31034e443fbf net: dsa: bcm_sf2: Fix number of CFP entries for BCM7278
   f9901adf536c kcm: do not attach PF_KCM sockets to avoid deadlock
   e7ebdeb47c8b packet: Don't write vnet header beyond end of buffer
   ef5a20f0cbae ipv6: do not set sk_destruct in IPV6_ADDRFORM sockopt
   440ea29af6a5 ipv6: set dst.obsolete when a cached route has expired
   24bd86e62739 cxgb4: Fix stack out-of-bounds read due to wrong size to t4_record_mbox()
   59b304fdff15 net: mvpp2: fix the mac address used when using PPv2.2
   38ca2d395e1c udp6: set rx_dst_cookie on rx_dst updates
   b4426cf20366 netvsc: fix deadlock betwen link status and removal
   3f0204b0b7b5 net: systemport: Free DMA coherent descriptors on errors
   71dd9ac555c5 net: bcmgenet: Be drop monitor friendly
   7def678f47fc net: systemport: Be drop monitor friendly
   c86a65cf30ac tipc: Fix tipc_sk_reinit handling of -EAGAIN
   8aafed19d523 qlge: avoid memcpy buffer overflow
   6da138247b47 sctp: Avoid out-of-bounds reads from address storage
   207ab5d5a250 fsl/man: Inherit parent device and of_node
   4670d7961333 bpf: fix map value attribute for hash of maps
   79d6457e8036 udp: on peeking bad csum, drop packets even if not at head
   1999821fa500 macsec: add genl family module alias
   517e43bd1eba ipv6: fix sparse warning on rt6i_node
   640efece69a4 ipv6: add rcu grace period before freeing fib6_node
   76d3e7ff2362 ipv6: accept 64k - 1 packet length in ip6_find_1stfragopt()
   5d7d2e03e0f0 Linux 4.12.13
   9f7df0bca168 xfs: XFS_IS_REALTIME_INODE() should be false if no rt device present
   da0f4931ec52 NFSv4: Fix up mirror allocation
   3307d5f5099c NFS: Sync the correct byte range during synchronous writes
   6f50e3a1b8c3 NFS: Fix 2 use after free issues in the I/O code
   7714f302294d ARM: 8692/1: mm: abort uaccess retries upon fatal signal
   b9a489e1d4a3 ARM64: dts: marvell: armada-37xx: Fix GIC maintenance interrupt
   8329b5e8c6cf Bluetooth: Properly check L2CAP config option output buffer length
   99dc1296b47c rt2800: fix TX_PIN_CFG setting for non MT7620 chips
   2bce0fe7d0cd KVM: SVM: Limit PFERR_NESTED_GUEST_PAGE error_code check to L1 guest
   9d6412aa06ce ALSA: msnd: Optimize / harden DSP and MIDI loops
   846073130799 mm/memory.c: fix mem_cgroup_oom_disable() call missing
   46791eb9f13e mm/swapfile.c: fix swapon frontswap_map memory leak on error
   637f25e5ba94 mm: kvfree the swap cluster info if the swap file is unsatisfactory
   58989dc3af0d selftests/x86/fsgsbase: Test selectors 1, 2, and 3
   9ed3dc1c0431 radix-tree: must check __radix_tree_preload() return value
   0af760ab3882 rtlwifi: btcoexist: Fix breakage of ant_sel for rtl8723be
   8004198bb025 btrfs: resume qgroup rescan on rw remount
   9a5537a76b62 nvme-fabrics: generate spec-compliant UUID NQNs
   02c54b35cad8 mtd: nand: qcom: fix config error for BCH
   f2339a072e47 mtd: nand: qcom: fix read failure without complete bootchain
   71515c37777d mtd: nand: mxc: Fix mxc_v1 ooblayout
   c54a31845019 mtd: nand: hynix: add support for 20nm NAND chips
   2b8b46b24217 mtd: nand: make Samsung SLC NAND usable again

(From OE-Core rev: 9436cea01a3dd21e08ddb4391401b57a7225bde7)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit e611aef364647a0711d0438247ce42555409c62c)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:54 +00:00
Bruce Ashfield
0d84cdfaac linux-yocto/4.4: update to v4.4.93
Integrating the korg -stable updates that comprise the following shortlogs:

   e1fe3813117f Linux 4.4.93
   ad505a7b4fb0 x86/alternatives: Fix alt_max_short macro to really be a max()
   208563455aac USB: serial: console: fix use-after-free after failed setup
   6c14436b5e84 USB: serial: qcserial: add Dell DW5818, DW5819
   34592e06c7af USB: serial: option: add support for TP-Link LTE module
   ac22f49fb845 USB: serial: cp210x: add support for ELV TFD500
   b1f5a26964bf USB: serial: ftdi_sio: add id for Cypress WICED dev board
   399c46095eb5 fix unbalanced page refcounting in bio_map_user_iov
   f3b538493e66 direct-io: Prevent NULL pointer access in submit_page_section
   ac94abbb7941 usb: gadget: composite: Fix use-after-free in usb_composite_overwrite_options
   16c1ef65f4db ALSA: line6: Fix leftover URB at error-path during probe
   5b01343ad1bd ALSA: caiaq: Fix stray URB at probe error path
   ca2523c9c569 ALSA: seq: Fix copy_from_user() call inside lock
   23709ae9b614 ALSA: seq: Fix use-after-free at creating a port
   dc7c3bd09c7d ALSA: usb-audio: Kill stray URB at exiting
   050c4bbc09f1 iommu/amd: Finish TLB flush in amd_iommu_unmap()
   eb7f31673bbc usb: renesas_usbhs: Fix DMAC sequence for receiving zero-length packet
   6a92b9997028 KVM: nVMX: fix guest CR4 loading when emulating L2 to L1 exit
   03bd90fc82e4 crypto: shash - Fix zero-length shash ahash digest crash
   2929cb995378 HID: usbhid: fix out-of-bounds bug
   e7485f0f6a7b dmaengine: edma: Align the memcpy acnt array size with the transfer
   29b202ebf599 MIPS: math-emu: Remove pr_err() calls from fpu_emu()
   2fff3c5c2be7 USB: dummy-hcd: Fix deadlock caused by disconnect detection
   5fd45516595a rcu: Allow for page faults in NMI handlers
   45bd4e408040 iwlwifi: mvm: use IWL_HCMD_NOCOPY for MCAST_FILTER_CMD
   6a6c61d8467d nl80211: Define policy for packet pattern attributes
   f2bb4bcc0411 CIFS: Reconnect expired SMB sessions
   bd36826958de ext4: in ext4_seek_{hole,data}, return -ENXIO for negative offsets
   6721969c7b8a brcmfmac: add length check in brcmf_cfg80211_escan_handler()
   69f53f5d37d5 Linux 4.4.92
   82854fb438ca ext4: don't allow encrypted operations without keys
   4f22f0793cce ext4: Don't clear SGID when inheriting ACLs
   40c00e5fac3a ext4: fix data corruption for mmap writes
   90fd6738731b sched/cpuset/pm: Fix cpuset vs. suspend-resume bugs
   6d1400b09f99 nvme: protect against simultaneous shutdown invocations
   33d1fa43aad4 drm/i915/bios: ignore HDMI on port A
   b8af4466255c brcmfmac: setup passive scan if requested by user-space
   ee5bd0e4e69f uwb: ensure that endpoint is interrupt
   5a21af11c681 uwb: properly check kthread_run return value
   8b4196420dd6 iio: adc: mcp320x: Fix oops on module unload
   18215da0c241 iio: adc: mcp320x: Fix readout of negative voltages
   f2f68ec0b284 iio: ad7793: Fix the serial interface reset
   2c29a3868090 iio: core: Return error for failed read_reg
   b86df98578ab staging: iio: ad7192: Fix - use the dedicated reset function avoiding dma from stack.
   4b9c62a00aea iio: ad_sigma_delta: Implement a dedicated reset function
   0bab54141bac iio: adc: twl4030: Disable the vusb3v1 rugulator in the error handling path of 'twl4030_madc_probe()'
   0141f858d2e1 iio: adc: twl4030: Fix an error handling path in 'twl4030_madc_probe()'
   4590ed795f0c xhci: fix finding correct bus_state structure for USB 3.1 hosts
   13713e63bdb3 USB: fix out-of-bounds in usb_set_configuration
   ddcbaf853dc5 usb: Increase quirk delay for USB devices
   feab51a916ed USB: core: harden cdc_parse_cdc_header
   5d9a9c3dcc1f USB: uas: fix bug in handling of alternate settings
   9e78ac87626a scsi: sd: Do not override max_sectors_kb sysfs setting
   fc29713fa7c7 iwlwifi: add workaround to disable wide channels in 5GHz
   146a9dc99025 HID: i2c-hid: allocate hid buffers for real worst case
   87509592ecc3 ftrace: Fix kmemleak in unregister_ftrace_graph
   60623d7ca38d stm class: Fix a use-after-free
   c85e9442f9e4 Drivers: hv: fcopy: restore correct transfer length
   2b91a52e1569 driver core: platform: Don't read past the end of "driver_override" buffer
   6d1bc9ee4c2d ALSA: usx2y: Suppress kernel warning at page allocation failures
   8cff1556ddbc ALSA: compress: Remove unused variable
   dd1f96a0a72c lsm: fix smack_inode_removexattr and xattr_getsecurity memleak
   a44be3e548e4 USB: g_mass_storage: Fix deadlock when driver is unbound
   2efab2c3a3ae usb: gadget: mass_storage: set msg_registered after msg registered
   b74a45450f80 USB: devio: Don't corrupt user memory
   e84b4a008365 USB: dummy-hcd: Fix erroneous synchronization change
   d1a0787b5a24 USB: dummy-hcd: fix infinite-loop resubmission bug
   d25a65e03f18 USB: dummy-hcd: fix connection failures (wrong speed)
   da358168126b usb: pci-quirks.c: Corrected timeout values used in handshake
   46c7b1fa4911 ALSA: usb-audio: Check out-of-bounds access by corrupted buffer descriptor
   ccc6a475800d usb: renesas_usbhs: fix usbhsf_fifo_clear() for RX direction
   a7131ed81805 usb: renesas_usbhs: fix the BCLR setting condition for non-DCP pipe
   e85bd5be6088 usb-storage: unusual_devs entry to fix write-access regression for Seagate external drives
   86377bf33089 usb: gadget: udc: atmel: set vbus irqflags explicitly
   f72264e79ae7 USB: gadgetfs: fix copy_to_user while holding spinlock
   d20fff0b09d9 USB: gadgetfs: Fix crash caused by inadequate synchronization
   c2eb312f3137 usb: gadget: inode.c: fix unbalanced spin_lock in ep0_write
   c030c36a88cd Linux 4.4.91
   2536c20e8285 ttpci: address stringop overflow warning
   2b2bfb537be4 ALSA: au88x0: avoid theoretical uninitialized access
   d32ee7026081 ARM: remove duplicate 'const' annotations'
   7cad91f22d5e IB/qib: fix false-postive maybe-uninitialized warning
   13af23e01812 drivers: firmware: psci: drop duplicate const from psci_of_match
   f6c8c71cc901 libata: transport: Remove circular dependency at free time
   0185496a115d xfs: remove kmem_zalloc_greedy
   088b9a41b605 i2c: meson: fix wrong variable usage in meson_i2c_put_data
   cb07496eab43 md/raid10: submit bio directly to replacement disk
   13099ee9c7d5 rds: ib: add error handle
   9bcd5ceef96e iommu/io-pgtable-arm: Check for leaf entry before dereferencing it
   cadfa3a688d2 parisc: perf: Fix potential NULL pointer dereference
   4203f2a73882 netfilter: nfnl_cthelper: fix incorrect helper->expect_class_max
   fa029020bddd exynos-gsc: Do not swap cb/cr for semi planar formats
   8bd7216d3386 MIPS: IRQ Stack: Unwind IRQ stack onto task stack
   f7f46b3ba20d netfilter: invoke synchronize_rcu after set the _hook_ to NULL
   e29066778bc2 bridge: netlink: register netdevice before executing changelink
   1b760fdad9f0 mmc: sdio: fix alignment issue in struct sdio_func
   e1e99dc319cc usb: plusb: Add support for PL-27A1
   4212115da67b team: fix memory leaks
   fa63895f47c9 net/packet: check length in getsockopt() called with PACKET_HDRLEN
   b9ff317b5cd4 net: core: Prevent from dereferencing null pointer when releasing SKB
   4e6cdc0a7dec MIPS: Lantiq: Fix another request_mem_region() return code check
   c5710390cc76 ASoC: dapm: fix some pointer error handling
   7b8c9e6e0fca usb: chipidea: vbus event may exist before starting gadget
   093fe104c5bb audit: log 32-bit socketcalls
   af3749456042 ASoC: dapm: handle probe deferrals
   8e8c3d4bb629 partitions/efi: Fix integer overflow in GPT size calculation
   abbccd855753 USB: serial: mos7840: fix control-message error handling
   0d1b459a0baf USB: serial: mos7720: fix control-message error handling
   8b2522eb44ae drm/amdkfd: fix improper return value on error
   bf184ddd2180 IB/ipoib: Replace list_del of the neigh->list with list_del_init
   f1d53c6d4843 IB/ipoib: rtnl_unlock can not come after free_netdev
   9326a1374b13 IB/ipoib: Fix deadlock over vlan_mutex
   01b3db29ba1e tty: goldfish: Fix a parameter of a call to free_irq
   f97c79e83f7e ARM: 8635/1: nommu: allow enabling REMAP_VECTORS_TO_RAM
   89642710fdb3 iio: adc: hx711: Add DT binding for avia,hx711
   a1f7b8ff496d iio: adc: axp288: Drop bogus AXP288_ADC_TS_PIN_CTRL register modifications
   297b8b01ec27 hwmon: (gl520sm) Fix overflows and crash seen when writing into limit attributes
   d89f41c20f32 sh_eth: use correct name for ECMR_MPDE bit
   effdf2b134d5 extcon: axp288: Use vbus-valid instead of -present to determine cable presence
   5603b10236da igb: re-assign hw address pointer on reset after PCI error
   1c3ef07eb8eb MIPS: ralink: Fix incorrect assignment on ralink_soc
   1e35a2adc078 MIPS: Ensure bss section ends on a long-aligned address
   b00cfc01e70f ARM: dts: r8a7790: Use R-Car Gen 2 fallback binding for msiof nodes
   6a501bddeba3 RDS: RDMA: Fix the composite message user notification
   d4f97441cb88 GFS2: Fix reference to ERR_PTR in gfs2_glock_iter_next
   11bf4a8e1d5a drm: bridge: add DT bindings for TI ths8135
   771dacea92cd drm_fourcc: Fix DRM_FORMAT_MOD_LINEAR #define
   37c2d0d3e850 Linux 4.4.90
   228969b4764f fix xen_swiotlb_dma_mmap prototype
   079c03f4a915 swiotlb-xen: implement xen_swiotlb_dma_mmap callback
   27323cb81eae video: fbdev: aty: do not leak uninitialized padding in clk to userspace
   150cd84bb6ea KVM: VMX: use cmpxchg64
   90df2daa1da0 ARM: pxa: fix the number of DMA requestor lines
   c575be9a393f ARM: pxa: add the number of DMA requestor lines
   a85f176c857e dmaengine: mmp-pdma: add number of requestors
   6124ed1a712a cxl: Fix driver use count
   9037837e0c32 KVM: VMX: remove WARN_ON_ONCE in kvm_vcpu_trigger_posted_interrupt
   fc39e561e343 KVM: VMX: do not change SN bit in vmx_update_pi_irte()
   5e9b526fcc90 timer/sysclt: Restrict timer migration sysctl values to 0 and 1
   ddf25aea679d gfs2: Fix debugfs glocks dump
   d25fea066a8e x86/fpu: Don't let userspace set bogus xcomp_bv
   4c16afac1875 btrfs: prevent to set invalid default subvolid
   0efde43517a5 btrfs: propagate error to btrfs_cmp_data_prepare caller
   9a7d93dd2cad btrfs: fix NULL pointer dereference from free_reloc_roots()
   b08dc7d4cfa1 PCI: Fix race condition with driver_override
   21a638c5efd6 kvm: nVMX: Don't allow L2 to access the hardware CR8
   7520be6a454c KVM: VMX: Do not BUG() on out-of-bounds guest IRQ
   e726c30c758b arm64: fault: Route pte translation faults via do_translation_fault
   638e7874f682 arm64: Make sure SPsel is always set
   9237605e0bfb seccomp: fix the usage of get/put_seccomp_filter() in seccomp_get_filter()
   668cee82cd28 bsg-lib: don't free job in bsg_prepare_job
   9d74367d1a35 nl80211: check for the required netlink attributes presence
   3393445ef440 vfs: Return -ENXIO for negative SEEK_HOLE / SEEK_DATA offsets
   3bb7084cc031 SMB3: Don't ignore O_SYNC/O_DSYNC and O_DIRECT flags
   02ef29f9cbb6 SMB: Validate negotiate (to protect against downgrade) even if signing off
   c096b31f9d9a Fix SMB3.1.1 guest authentication to Samba
   fe37a445ea3f powerpc/pseries: Fix parent_dn reference leak in add_dt_node()
   638b38505045 KEYS: prevent KEYCTL_READ on negative key
   539255aea88e KEYS: prevent creating a different user's keyrings
   af24e9d8ba1a KEYS: fix writing past end of user-supplied buffer in keyring_read()
   362711d59b0c crypto: talitos - fix sha224
   231c4f646b77 crypto: talitos - Don't provide setkey for non hmac hashing algs.
   9d2534917c25 scsi: scsi_transport_iscsi: fix the issue that iscsi_if_rx doesn't parse nlmsg properly
   29854a77f793 md/raid5: preserve STRIPE_ON_UNPLUG_LIST in break_stripe_batch_list
   d03d1567866e md/raid5: fix a race condition in stripe batch
   68a4a5289918 tracing: Erase irqsoff trace with empty write
   9c5afa726a52 tracing: Fix trace_pipe behavior for instance traces
   f75c0042f120 KVM: PPC: Book3S: Fix race and leak in kvm_vm_ioctl_create_spapr_tce()
   7d8fbf3db169 mac80211: flush hw_roc_start work before cancelling the ROC
   fcc949a48842 cifs: release auth_key.response for reconnect.
   10def3a67799 Linux 4.4.89
   ed1bf4397d22 ftrace: Fix memleak when unregistering dynamic ops when tracing disabled
   a069d0a43de4 bcache: fix bch_hprint crash and improve output
   f522051a84e5 bcache: fix for gc and write-back race
   a6c5e7a0cd01 bcache: Correct return value for sysfs attach errors
   d9c6a28a6a1c bcache: correct cache_dirty_target in __update_writeback_rate()
   0471f58e18e6 bcache: do not subtract sectors_to_gc for bypassed IO
   093457f2bd32 bcache: Fix leak of bdev reference
   5025da3b532b bcache: initialize dirty stripes in flash_dev_run()
   4931578fbeb5 media: uvcvideo: Prevent heap overflow when accessing mapped controls
   04affe4e1171 media: v4l2-compat-ioctl32: Fix timespec conversion
   7498bd605840 PCI: shpchp: Enable bridge bus mastering if MSI is enabled
   81306fc3dbb5 ARC: Re-enable MMU upon Machine Check exception
   d28e96be7c6a tracing: Apply trace_clock changes to instance max buffer
   753154fcfefe ftrace: Fix selftest goto location on error
   d8663aa27789 scsi: qla2xxx: Fix an integer overflow in sysfs code
   72896ca30a7f scsi: sg: fixup infoleak when using SG_GET_REQUEST_TABLE
   c04996ad58ee scsi: sg: factor out sg_fill_request_table()
   f0cd701d4750 scsi: sg: off by one in sg_ioctl()
   3682e0c61ffb scsi: sg: use standard lists for sg_requests
   6b498ad14472 scsi: sg: remove 'save_scat_len'
   cf22210c66ca scsi: storvsc: fix memory leak on ring buffer busy
   b4730f456e21 scsi: megaraid_sas: Return pended IOCTLs with cmd_status MFI_STAT_WRONG_STATE in case adapter is dead
   d9b8f1ccbb8c scsi: megaraid_sas: Check valid aen class range to avoid kernel panic
   4dd6cbbc2191 scsi: zfcp: trace high part of "new" 64 bit SCSI LUN
   1e6c640a75d0 scsi: zfcp: trace HBA FSF response by default on dismiss or timedout late response
   7194822422f9 scsi: zfcp: fix payload with full FCP_RSP IU in SCSI trace records
   d0fbe221b8f1 scsi: zfcp: fix missing trace records for early returns in TMF eh handlers
   1a847369487c scsi: zfcp: fix passing fsf_req to SCSI trace on TMF to correlate with HBA
   52661717ee66 scsi: zfcp: fix capping of unsuccessful GPN_FT SAN response trace records
   d0c02c6f3e85 scsi: zfcp: add handling for FCP_RESID_OVER to the fcp ingress path
   cfc49967434d scsi: zfcp: fix queuecommand for scsi_eh commands when DIX enabled
   19978c50db68 skd: Submit requests to firmware before triggering the doorbell
   0bcaf5178fe6 skd: Avoid that module unloading triggers a use-after-free
   f05dafbd7791 md/bitmap: disable bitmap_resize for file-backed bitmaps.
   30e81e7fe197 block: Relax a check in blk_start_queue()
   a918d32583e0 powerpc: Fix DAR reporting when alignment handler faults
   c53f01698f68 ext4: fix quota inconsistency during orphan cleanup for read-only mounts
   cd46241eb03c ext4: fix incorrect quotaoff if the quota feature is enabled
   5e9d28b003b0 crypto: AF_ALG - remove SGL terminator indicator when chaining
   9354f4d0beb0 MIPS: math-emu: MINA.<D|S>: Fix some cases of infinity and zero inputs
   f4d77fc754f2 MIPS: math-emu: <MAXA|MINA>.<D|S>: Fix cases of both infinite inputs
   322bf697bdc4 MIPS: math-emu: <MAXA|MINA>.<D|S>: Fix cases of input values with opposite signs
   a83ffb581f26 MIPS: math-emu: <MAX|MIN>.<D|S>: Fix cases of both inputs negative
   6acd1d26c32e MIPS: math-emu: <MAX|MAXA|MIN|MINA>.<D|S>: Fix cases of both inputs zero
   b6c818d813c6 MIPS: math-emu: <MAX|MAXA|MIN|MINA>.<D|S>: Fix quiet NaN propagation
   bf592dde1262 Input: i8042 - add Gigabyte P57 to the keyboard reset table
   c13c5c7e88d7 tty: fix __tty_insert_flip_char regression
   077933dcd5ca tty: improve tty_insert_flip_char() slow path
   e1e6620f042c tty: improve tty_insert_flip_char() fast path
   c576160ff3f3 mm: prevent double decrease of nr_reserved_highatomic
   6ea627b20205 nfsd: Fix general protection fault in release_lock_stateid()
   d5c59ee84820 md/raid5: release/flush io in raid5_do_work()
   e21d66048d4d x86/fsgsbase/64: Report FSBASE and GSBASE correctly in core dumps
   53e5f7b8d41b f2fs: check hot_data for roll-forward recovery
   be9994817ad5 ipv6: fix typo in fib6_net_exit()
   70479eafe3d9 ipv6: fix memory leak with multiple tables during netns destruction
   9b5e5d8a0045 gianfar: Fix Tx flow control deactivation
   5f529e0d7844 Revert "net: fix percpu memory leaks"
   40bc5355e134 Revert "net: use lib/percpu_counter API for fragmentation mem accounting"
   611a98c8eca3 tcp: initialize rcv_mss to TCP_MIN_MSS instead of 0
   081be8c9efd6 Revert "net: phy: Correctly process PHY_HALTED in phy_stop_machine()"
   6d8c8fd1c4c7 qlge: avoid memcpy buffer overflow
   354d36b746c3 ipv6: fix sparse warning on rt6i_node
   e51bf99be7cc ipv6: add rcu grace period before freeing fib6_node
   6eb7ae1223f7 ipv6: accept 64k - 1 packet length in ip6_find_1stfragopt()
   b52c9082f2eb Linux 4.4.88
   ad3903434142 xfs: XFS_IS_REALTIME_INODE() should be false if no rt device present
   677a80364049 NFS: Fix 2 use after free issues in the I/O code
   84478477d0b8 ARM: 8692/1: mm: abort uaccess retries upon fatal signal
   f7ec367c8ea7 Bluetooth: Properly check L2CAP config option output buffer length
   556814701545 ALSA: msnd: Optimize / harden DSP and MIDI loops
   10863607c242 locktorture: Fix potential memory leak with rw lock test
   693b7f62a439 btrfs: resume qgroup rescan on rw remount
   f4596ead66a7 drm/bridge: adv7511: Re-write the i2c address before EDID probing
   e22a4308547c drm/bridge: adv7511: Switch to using drm_kms_helper_hotplug_event()
   9183e45db777 drm/bridge: adv7511: Use work_struct to defer hotplug handing to out of irq context
   c634cecad4c1 drm/bridge: adv7511: Fix mutex deadlock when interrupts are disabled
   aea7e5ce4a52 drm: adv7511: really enable interrupts for EDID detection
   a2e71dcfb0d4 scsi: sg: recheck MMAP_IO request length with lock held
   0d7592a03b8a scsi: sg: protect against races between mmap() and SG_SET_RESERVED_SIZE
   9a4cabf3bf8b cs5536: add support for IDE controller variant
   302364990c05 workqueue: Fix flag collision
   966e3a2d98c1 drm/nouveau/pci/msi: disable MSI on big-endian platforms by default
   4a9c294d7b1e mwifiex: correct channel stat buffer overflows
   926374f5e669 dlm: avoid double-free on error path in dlm_device_{register,unregister}
   bf3a0acce440 Bluetooth: Add support of 13d3:3494 RTL8723BE device
   ca245a6414e4 rtlwifi: rtl_pci_probe: Fix fail path of _rtl_pci_find_adapter
   c5b8e1dd9629 Input: trackpoint - assume 3 buttons when buttons detection fails
   2c65494080c9 ath10k: fix memory leak in rx ring buffer allocation
   69eeacb5cd87 intel_th: pci: Add Cannon Lake PCH-LP support
   eb98d15d3cbe intel_th: pci: Add Cannon Lake PCH-H support
   1875ed81c2b7 driver core: bus: Fix a potential double free
   f3584d55a8d8 staging/rts5208: fix incorrect shift to extract upper nybble
   812e484133fb USB: core: Avoid race of async_completed() w/ usbdev_release()
   9f1d78c62a4b usb:xhci:Fix regression when ATI chipsets detected
   b3e92cd7a820 usb: Add device quirk for Logitech HD Pro Webcam C920-C
   6e957a81c77f USB: serial: option: add support for D-Link DWM-157 C1
   f7a0f7318c27 usb: quirks: add delay init quirk for Corsair Strafe RGB keyboard

(From OE-Core rev: 8abd7663e6780fcda81ed44da9f90a2f6233e3a9)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit e3ae1935a0e5fe0d5867250ef62ae8ffd08b5b4e)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:54 +00:00
Bruce Ashfield
f609c3f755 linux-yocto/4.12: configuration and feature updates
Integrating features and new configurations for the 4.12 kernel.
With this update, a CGL-ready kernel can be configured out of
the box.

(From OE-Core rev: e0d3407289f8a494d76618d0e2a506657b70cd5e)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 43c5846e22d246dde314657dbf90f9752b06a54c)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:54 +00:00
Richard Purdie
9217de77b9 rng-tools: Fix crazy defaults
Feeding the output of /dev/urandom into /dev/random is pretty much insane
and not something we should encourage.

I can't really imagine a scenario where this would be a sensible idea since
/dev/urandom if effectively derived from /dev/random.

This changes the tool to default to /dev/hwrng which makes much more sense,
feeding hardware entropy into the random pool. In the QEMU case, this will
feed entropy from the host into the guests which is also what we want.

Yes, this change will cause rngd not to start if /dev/hwrng isn't present,
but it isn't needed if that isn't so I don't see this as a bad thing.

(https://wiki.archlinux.org/index.php/Rng-tools has a section in red which
agrees with the above, "this is a really bad idea, since you are simple
filling the kernel entropy pool with entropy coming from the kernel itself!")

(From OE-Core rev: d177516d846ec4bed483d7e9d80775bb341c869e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit f1dc9ac46710814c27cae2d22e79c84a9522993a)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:54 +00:00
Richard Purdie
87f8aafd53 oe-buildenv-internal: Fix finding build directory
The intent of the env setup scripts is to set BBPATH to point at the
build directory. This means if the user changes directory, bitbake can
still find the original build directory. The default bblayers.conf files
reset BBPATH to the correct components so this is safe and restores the
behaviour the script was intended to have.

[YOCTO #12163]

(From OE-Core rev: bfacf88f15a27db579d8790d92f8497d832961f8)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 82eeb934997c9eaa6443079dfb649a89872a222c)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:54 +00:00
Artur Mądrzak
6709452171 wic: add 'part-name' argument for naming GPT partitions
The WIC's 'part' can now give a name for GPT partition in WKS file.
It's similar to '--label', but is naming partintions instead file systems.
It's required by some bootloaders to partitions have specified names.

Backport from master, without it WIC cannot be used on Qualcomm based machines.

(From OE-Core rev: 45aee3d57697f8dcc967120b5afd280d5ceadd21)

Signed-off-by: Artur Mądrzak <artur@madrzak.eu>
Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 9b60e3466ed7cff0cea10815851eb1304002eb52)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-04 17:23:54 +00:00
Richard Purdie
f7b90ab3ea bitbake: main: Give a user readable error if we can't locate topdir
Currently if you run bitbake in an invalid directory, the user experience
is poor:

birbake/lib/bb/main.py", line 427, in setup_bitbake
    topdir, lock = lockBitbake()
  File "./bitbake/lib/bb/main.py", line 494, in lockBitbake
    lockfile = topdir + "/bitbake.lock"
TypeError: unsupported operand type(s) for +: 'NoneType' and 'str'

This ensures we exit straight away with a better error message.

[YOCTO #12163]

(Bitbake rev: 2a931d5e4ac092ce275f3a51e22b802689f511e6)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-10-31 09:09:27 +00:00
Paul Eggleton
7226a1c600 bitbake: cooker: fix watching directories with Python 3.6+
In Python 3.6, glob.glob() was reimplemented to use os.scandir() (which
itself appeared in Python 3.5), thus our monkey patching of os.listdir()
here was no longer effective. The end result was not only that bitbake
wouldn't notice added recipes or bbappends with BB_SERVER_TIMEOUT set
when being run with Python 3.6 (the shipped Python version on Fedora 26
and some other distribution versions), it also broke devtool modify,
devtool upgrade and devtool extract since they rely on the ability to
create a bbappend on the fly and have bitbake pick it up.

To fix it, do the same monkey patching for os.scandir(), which needs to
be conditional upon that actually existing since we have to support
Python 3.4 that doesn't have it. Long term we should probably look for a
better way to handle this that doesn't involve monkey patching Python
library code.

Fixes [YOCTO #12185].

(Bitbake rev: d57c4718a3a1eb7b8397085c307fcb0bec6454ef)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-10-31 09:09:27 +00:00
155 changed files with 3598 additions and 1872 deletions

View File

@@ -36,7 +36,7 @@ from bb import cookerdata
from bb.main import bitbake_main, BitBakeConfigParameters, BBMainException
if sys.getfilesystemencoding() != "utf-8":
sys.exit("Please use a locale setting which supports 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.")
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.36.0"

View File

@@ -17,7 +17,7 @@ from multiprocessing import Lock
from threading import Thread
if sys.getfilesystemencoding() != "utf-8":
sys.exit("Please use a locale setting which supports 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.")
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) != 2 or not sys.argv[1].startswith("decafbad"):
@@ -499,4 +499,3 @@ worker_thread.join()
workerlog_write("exitting")
sys.exit(0)

View File

@@ -1686,15 +1686,23 @@ class CookerCollectFiles(object):
# We need to track where we look so that we can add inotify watches. There
# is no nice way to do this, this is horrid. We intercept the os.listdir()
# calls while we run glob().
# (or os.scandir() for python 3.6+) calls while we run glob().
origlistdir = os.listdir
if hasattr(os, 'scandir'):
origscandir = os.scandir
searchdirs = []
def ourlistdir(d):
searchdirs.append(d)
return origlistdir(d)
def ourscandir(d):
searchdirs.append(d)
return origscandir(d)
os.listdir = ourlistdir
if hasattr(os, 'scandir'):
os.scandir = ourscandir
try:
# Can't use set here as order is important
newfiles = []
@@ -1714,6 +1722,8 @@ class CookerCollectFiles(object):
newfiles.append(g)
finally:
os.listdir = origlistdir
if hasattr(os, 'scandir'):
os.scandir = origscandir
bbmask = config.getVar('BBMASK')

View File

@@ -173,6 +173,10 @@ def print_ui_queue():
for event in ui_queue[:]:
if isinstance(event, logging.LogRecord):
logger.handle(event)
if msgerrs:
logger.removeHandler(stderr)
else:
logger.removeHandler(stdout)
def fire_ui_handlers(event, d):
global _thread_lock

View File

@@ -27,6 +27,7 @@ import os
import bb
from bb.fetch2 import FetchMethod
from bb.fetch2 import runfetchcmd
from bb.fetch2 import logger
class Repo(FetchMethod):
"""Class to fetch a module or modules from repo (git) repositories"""

View File

@@ -47,6 +47,9 @@ logger = logging.getLogger("BitBake")
class BBMainException(Exception):
pass
class BBMainFatal(bb.BBHandledException):
pass
def present_options(optionlist):
if len(optionlist) > 1:
return ' or '.join([', '.join(optionlist[:-1]), optionlist[-1]])
@@ -461,6 +464,8 @@ def setup_bitbake(configParams, configuration, extrafeatures=None):
if server_connection or configParams.server_only:
break
except BBMainFatal:
raise
except (Exception, bb.server.process.ProcessTimeout) as e:
if not retries:
raise
@@ -491,6 +496,9 @@ def setup_bitbake(configParams, configuration, extrafeatures=None):
def lockBitbake():
topdir = bb.cookerdata.findTopdir()
if not topdir:
bb.error("Unable to find conf/bblayers.conf or conf/bitbake.conf. BBAPTH is unset and/or not in a build directory?")
raise BBMainFatal
lockfile = topdir + "/bitbake.lock"
return topdir, bb.utils.lockfile(lockfile, False, False)

View File

@@ -28,6 +28,11 @@ from bb.fetch2 import URI
from bb.fetch2 import FetchMethod
import bb
def skipIfNoNetwork():
if os.environ.get("BB_SKIP_NETTESTS") == "yes":
return unittest.skip("Network tests being skipped")
return lambda f: f
class URITest(unittest.TestCase):
test_uris = {
"http://www.google.com/index.html" : {
@@ -518,141 +523,153 @@ class FetcherLocalTest(FetcherTest):
self.fetchUnpack(['file://a;subdir=/bin/sh'])
class FetcherNetworkTest(FetcherTest):
@skipIfNoNetwork()
def test_fetch(self):
fetcher = bb.fetch.Fetch(["http://downloads.yoctoproject.org/releases/bitbake/bitbake-1.0.tar.gz", "http://downloads.yoctoproject.org/releases/bitbake/bitbake-1.1.tar.gz"], self.d)
fetcher.download()
self.assertEqual(os.path.getsize(self.dldir + "/bitbake-1.0.tar.gz"), 57749)
self.assertEqual(os.path.getsize(self.dldir + "/bitbake-1.1.tar.gz"), 57892)
self.d.setVar("BB_NO_NETWORK", "1")
fetcher = bb.fetch.Fetch(["http://downloads.yoctoproject.org/releases/bitbake/bitbake-1.0.tar.gz", "http://downloads.yoctoproject.org/releases/bitbake/bitbake-1.1.tar.gz"], self.d)
fetcher.download()
fetcher.unpack(self.unpackdir)
self.assertEqual(len(os.listdir(self.unpackdir + "/bitbake-1.0/")), 9)
self.assertEqual(len(os.listdir(self.unpackdir + "/bitbake-1.1/")), 9)
if os.environ.get("BB_SKIP_NETTESTS") == "yes":
print("Unset BB_SKIP_NETTESTS to run network tests")
else:
def test_fetch(self):
fetcher = bb.fetch.Fetch(["http://downloads.yoctoproject.org/releases/bitbake/bitbake-1.0.tar.gz", "http://downloads.yoctoproject.org/releases/bitbake/bitbake-1.1.tar.gz"], self.d)
fetcher.download()
self.assertEqual(os.path.getsize(self.dldir + "/bitbake-1.0.tar.gz"), 57749)
self.assertEqual(os.path.getsize(self.dldir + "/bitbake-1.1.tar.gz"), 57892)
self.d.setVar("BB_NO_NETWORK", "1")
fetcher = bb.fetch.Fetch(["http://downloads.yoctoproject.org/releases/bitbake/bitbake-1.0.tar.gz", "http://downloads.yoctoproject.org/releases/bitbake/bitbake-1.1.tar.gz"], self.d)
fetcher.download()
@skipIfNoNetwork()
def test_fetch_mirror(self):
self.d.setVar("MIRRORS", "http://.*/.* http://downloads.yoctoproject.org/releases/bitbake")
fetcher = bb.fetch.Fetch(["http://invalid.yoctoproject.org/releases/bitbake/bitbake-1.0.tar.gz"], self.d)
fetcher.download()
self.assertEqual(os.path.getsize(self.dldir + "/bitbake-1.0.tar.gz"), 57749)
@skipIfNoNetwork()
def test_fetch_mirror_of_mirror(self):
self.d.setVar("MIRRORS", "http://.*/.* http://invalid2.yoctoproject.org/ \n http://invalid2.yoctoproject.org/.* http://downloads.yoctoproject.org/releases/bitbake")
fetcher = bb.fetch.Fetch(["http://invalid.yoctoproject.org/releases/bitbake/bitbake-1.0.tar.gz"], self.d)
fetcher.download()
self.assertEqual(os.path.getsize(self.dldir + "/bitbake-1.0.tar.gz"), 57749)
@skipIfNoNetwork()
def test_fetch_file_mirror_of_mirror(self):
self.d.setVar("MIRRORS", "http://.*/.* file:///some1where/ \n file:///some1where/.* file://some2where/ \n file://some2where/.* http://downloads.yoctoproject.org/releases/bitbake")
fetcher = bb.fetch.Fetch(["http://invalid.yoctoproject.org/releases/bitbake/bitbake-1.0.tar.gz"], self.d)
os.mkdir(self.dldir + "/some2where")
fetcher.download()
self.assertEqual(os.path.getsize(self.dldir + "/bitbake-1.0.tar.gz"), 57749)
@skipIfNoNetwork()
def test_fetch_premirror(self):
self.d.setVar("PREMIRRORS", "http://.*/.* http://downloads.yoctoproject.org/releases/bitbake")
fetcher = bb.fetch.Fetch(["http://invalid.yoctoproject.org/releases/bitbake/bitbake-1.0.tar.gz"], self.d)
fetcher.download()
self.assertEqual(os.path.getsize(self.dldir + "/bitbake-1.0.tar.gz"), 57749)
@skipIfNoNetwork()
def gitfetcher(self, url1, url2):
def checkrevision(self, fetcher):
fetcher.unpack(self.unpackdir)
self.assertEqual(len(os.listdir(self.unpackdir + "/bitbake-1.0/")), 9)
self.assertEqual(len(os.listdir(self.unpackdir + "/bitbake-1.1/")), 9)
revision = bb.process.run("git rev-parse HEAD", shell=True, cwd=self.unpackdir + "/git")[0].strip()
self.assertEqual(revision, "270a05b0b4ba0959fe0624d2a4885d7b70426da5")
def test_fetch_mirror(self):
self.d.setVar("MIRRORS", "http://.*/.* http://downloads.yoctoproject.org/releases/bitbake")
fetcher = bb.fetch.Fetch(["http://invalid.yoctoproject.org/releases/bitbake/bitbake-1.0.tar.gz"], self.d)
fetcher.download()
self.assertEqual(os.path.getsize(self.dldir + "/bitbake-1.0.tar.gz"), 57749)
self.d.setVar("BB_GENERATE_MIRROR_TARBALLS", "1")
self.d.setVar("SRCREV", "270a05b0b4ba0959fe0624d2a4885d7b70426da5")
fetcher = bb.fetch.Fetch([url1], self.d)
fetcher.download()
checkrevision(self, fetcher)
# Wipe out the dldir clone and the unpacked source, turn off the network and check mirror tarball works
bb.utils.prunedir(self.dldir + "/git2/")
bb.utils.prunedir(self.unpackdir)
self.d.setVar("BB_NO_NETWORK", "1")
fetcher = bb.fetch.Fetch([url2], self.d)
fetcher.download()
checkrevision(self, fetcher)
def test_fetch_mirror_of_mirror(self):
self.d.setVar("MIRRORS", "http://.*/.* http://invalid2.yoctoproject.org/ \n http://invalid2.yoctoproject.org/.* http://downloads.yoctoproject.org/releases/bitbake")
fetcher = bb.fetch.Fetch(["http://invalid.yoctoproject.org/releases/bitbake/bitbake-1.0.tar.gz"], self.d)
fetcher.download()
self.assertEqual(os.path.getsize(self.dldir + "/bitbake-1.0.tar.gz"), 57749)
@skipIfNoNetwork()
def test_gitfetch(self):
url1 = url2 = "git://git.openembedded.org/bitbake"
self.gitfetcher(url1, url2)
def test_fetch_file_mirror_of_mirror(self):
self.d.setVar("MIRRORS", "http://.*/.* file:///some1where/ \n file:///some1where/.* file://some2where/ \n file://some2where/.* http://downloads.yoctoproject.org/releases/bitbake")
fetcher = bb.fetch.Fetch(["http://invalid.yoctoproject.org/releases/bitbake/bitbake-1.0.tar.gz"], self.d)
os.mkdir(self.dldir + "/some2where")
fetcher.download()
self.assertEqual(os.path.getsize(self.dldir + "/bitbake-1.0.tar.gz"), 57749)
@skipIfNoNetwork()
def test_gitfetch_goodsrcrev(self):
# SRCREV is set but matches rev= parameter
url1 = url2 = "git://git.openembedded.org/bitbake;rev=270a05b0b4ba0959fe0624d2a4885d7b70426da5"
self.gitfetcher(url1, url2)
def test_fetch_premirror(self):
self.d.setVar("PREMIRRORS", "http://.*/.* http://downloads.yoctoproject.org/releases/bitbake")
fetcher = bb.fetch.Fetch(["http://invalid.yoctoproject.org/releases/bitbake/bitbake-1.0.tar.gz"], self.d)
fetcher.download()
self.assertEqual(os.path.getsize(self.dldir + "/bitbake-1.0.tar.gz"), 57749)
@skipIfNoNetwork()
def test_gitfetch_badsrcrev(self):
# SRCREV is set but does not match rev= parameter
url1 = url2 = "git://git.openembedded.org/bitbake;rev=dead05b0b4ba0959fe0624d2a4885d7b70426da5"
self.assertRaises(bb.fetch.FetchError, self.gitfetcher, url1, url2)
def gitfetcher(self, url1, url2):
def checkrevision(self, fetcher):
fetcher.unpack(self.unpackdir)
revision = bb.process.run("git rev-parse HEAD", shell=True, cwd=self.unpackdir + "/git")[0].strip()
self.assertEqual(revision, "270a05b0b4ba0959fe0624d2a4885d7b70426da5")
@skipIfNoNetwork()
def test_gitfetch_tagandrev(self):
# SRCREV is set but does not match rev= parameter
url1 = url2 = "git://git.openembedded.org/bitbake;rev=270a05b0b4ba0959fe0624d2a4885d7b70426da5;tag=270a05b0b4ba0959fe0624d2a4885d7b70426da5"
self.assertRaises(bb.fetch.FetchError, self.gitfetcher, url1, url2)
self.d.setVar("BB_GENERATE_MIRROR_TARBALLS", "1")
self.d.setVar("SRCREV", "270a05b0b4ba0959fe0624d2a4885d7b70426da5")
fetcher = bb.fetch.Fetch([url1], self.d)
fetcher.download()
checkrevision(self, fetcher)
# Wipe out the dldir clone and the unpacked source, turn off the network and check mirror tarball works
bb.utils.prunedir(self.dldir + "/git2/")
bb.utils.prunedir(self.unpackdir)
self.d.setVar("BB_NO_NETWORK", "1")
fetcher = bb.fetch.Fetch([url2], self.d)
fetcher.download()
checkrevision(self, fetcher)
@skipIfNoNetwork()
def test_gitfetch_localusehead(self):
# Create dummy local Git repo
src_dir = tempfile.mkdtemp(dir=self.tempdir,
prefix='gitfetch_localusehead_')
src_dir = os.path.abspath(src_dir)
bb.process.run("git init", cwd=src_dir)
bb.process.run("git commit --allow-empty -m'Dummy commit'",
cwd=src_dir)
# Use other branch than master
bb.process.run("git checkout -b my-devel", cwd=src_dir)
bb.process.run("git commit --allow-empty -m'Dummy commit 2'",
cwd=src_dir)
stdout = bb.process.run("git rev-parse HEAD", cwd=src_dir)
orig_rev = stdout[0].strip()
def test_gitfetch(self):
url1 = url2 = "git://git.openembedded.org/bitbake"
self.gitfetcher(url1, url2)
# Fetch and check revision
self.d.setVar("SRCREV", "AUTOINC")
url = "git://" + src_dir + ";protocol=file;usehead=1"
fetcher = bb.fetch.Fetch([url], self.d)
fetcher.download()
fetcher.unpack(self.unpackdir)
stdout = bb.process.run("git rev-parse HEAD",
cwd=os.path.join(self.unpackdir, 'git'))
unpack_rev = stdout[0].strip()
self.assertEqual(orig_rev, unpack_rev)
def test_gitfetch_goodsrcrev(self):
# SRCREV is set but matches rev= parameter
url1 = url2 = "git://git.openembedded.org/bitbake;rev=270a05b0b4ba0959fe0624d2a4885d7b70426da5"
self.gitfetcher(url1, url2)
@skipIfNoNetwork()
def test_gitfetch_remoteusehead(self):
url = "git://git.openembedded.org/bitbake;usehead=1"
self.assertRaises(bb.fetch.ParameterError, self.gitfetcher, url, url)
def test_gitfetch_badsrcrev(self):
# SRCREV is set but does not match rev= parameter
url1 = url2 = "git://git.openembedded.org/bitbake;rev=dead05b0b4ba0959fe0624d2a4885d7b70426da5"
self.assertRaises(bb.fetch.FetchError, self.gitfetcher, url1, url2)
@skipIfNoNetwork()
def test_gitfetch_premirror(self):
url1 = "git://git.openembedded.org/bitbake"
url2 = "git://someserver.org/bitbake"
self.d.setVar("PREMIRRORS", "git://someserver.org/bitbake git://git.openembedded.org/bitbake \n")
self.gitfetcher(url1, url2)
def test_gitfetch_tagandrev(self):
# SRCREV is set but does not match rev= parameter
url1 = url2 = "git://git.openembedded.org/bitbake;rev=270a05b0b4ba0959fe0624d2a4885d7b70426da5;tag=270a05b0b4ba0959fe0624d2a4885d7b70426da5"
self.assertRaises(bb.fetch.FetchError, self.gitfetcher, url1, url2)
@skipIfNoNetwork()
def test_gitfetch_premirror2(self):
url1 = url2 = "git://someserver.org/bitbake"
self.d.setVar("PREMIRRORS", "git://someserver.org/bitbake git://git.openembedded.org/bitbake \n")
self.gitfetcher(url1, url2)
def test_gitfetch_localusehead(self):
# Create dummy local Git repo
src_dir = tempfile.mkdtemp(dir=self.tempdir,
prefix='gitfetch_localusehead_')
src_dir = os.path.abspath(src_dir)
bb.process.run("git init", cwd=src_dir)
bb.process.run("git commit --allow-empty -m'Dummy commit'",
cwd=src_dir)
# Use other branch than master
bb.process.run("git checkout -b my-devel", cwd=src_dir)
bb.process.run("git commit --allow-empty -m'Dummy commit 2'",
cwd=src_dir)
stdout = bb.process.run("git rev-parse HEAD", cwd=src_dir)
orig_rev = stdout[0].strip()
@skipIfNoNetwork()
def test_gitfetch_premirror3(self):
realurl = "git://git.openembedded.org/bitbake"
dummyurl = "git://someserver.org/bitbake"
self.sourcedir = self.unpackdir.replace("unpacked", "sourcemirror.git")
os.chdir(self.tempdir)
bb.process.run("git clone %s %s 2> /dev/null" % (realurl, self.sourcedir), shell=True)
self.d.setVar("PREMIRRORS", "%s git://%s;protocol=file \n" % (dummyurl, self.sourcedir))
self.gitfetcher(dummyurl, dummyurl)
# Fetch and check revision
self.d.setVar("SRCREV", "AUTOINC")
url = "git://" + src_dir + ";protocol=file;usehead=1"
fetcher = bb.fetch.Fetch([url], self.d)
fetcher.download()
fetcher.unpack(self.unpackdir)
stdout = bb.process.run("git rev-parse HEAD",
cwd=os.path.join(self.unpackdir, 'git'))
unpack_rev = stdout[0].strip()
self.assertEqual(orig_rev, unpack_rev)
def test_gitfetch_remoteusehead(self):
url = "git://git.openembedded.org/bitbake;usehead=1"
self.assertRaises(bb.fetch.ParameterError, self.gitfetcher, url, url)
def test_gitfetch_premirror(self):
url1 = "git://git.openembedded.org/bitbake"
url2 = "git://someserver.org/bitbake"
self.d.setVar("PREMIRRORS", "git://someserver.org/bitbake git://git.openembedded.org/bitbake \n")
self.gitfetcher(url1, url2)
def test_gitfetch_premirror2(self):
url1 = url2 = "git://someserver.org/bitbake"
self.d.setVar("PREMIRRORS", "git://someserver.org/bitbake git://git.openembedded.org/bitbake \n")
self.gitfetcher(url1, url2)
def test_gitfetch_premirror3(self):
realurl = "git://git.openembedded.org/bitbake"
dummyurl = "git://someserver.org/bitbake"
self.sourcedir = self.unpackdir.replace("unpacked", "sourcemirror.git")
os.chdir(self.tempdir)
bb.process.run("git clone %s %s 2> /dev/null" % (realurl, self.sourcedir), shell=True)
self.d.setVar("PREMIRRORS", "%s git://%s;protocol=file \n" % (dummyurl, self.sourcedir))
self.gitfetcher(dummyurl, dummyurl)
def test_git_submodule(self):
fetcher = bb.fetch.Fetch(["gitsm://git.yoctoproject.org/git-submodule-test;rev=f12e57f2edf0aa534cf1616fa983d165a92b0842"], self.d)
fetcher.download()
# Previous cwd has been deleted
os.chdir(os.path.dirname(self.unpackdir))
fetcher.unpack(self.unpackdir)
@skipIfNoNetwork()
def test_git_submodule(self):
fetcher = bb.fetch.Fetch(["gitsm://git.yoctoproject.org/git-submodule-test;rev=f12e57f2edf0aa534cf1616fa983d165a92b0842"], self.d)
fetcher.download()
# Previous cwd has been deleted
os.chdir(os.path.dirname(self.unpackdir))
fetcher.unpack(self.unpackdir)
class TrustedNetworksTest(FetcherTest):
@@ -782,32 +799,32 @@ class FetchLatestVersionTest(FetcherTest):
("db", "http://download.oracle.com/berkeley-db/db-5.3.21.tar.gz", "http://www.oracle.com/technetwork/products/berkeleydb/downloads/index-082944.html", "http://download.oracle.com/otn/berkeley-db/(?P<name>db-)(?P<pver>((\d+[\.\-_]*)+))\.tar\.gz")
: "6.1.19",
}
if os.environ.get("BB_SKIP_NETTESTS") == "yes":
print("Unset BB_SKIP_NETTESTS to run network tests")
else:
def test_git_latest_versionstring(self):
for k, v in self.test_git_uris.items():
self.d.setVar("PN", k[0])
self.d.setVar("SRCREV", k[2])
self.d.setVar("UPSTREAM_CHECK_GITTAGREGEX", k[3])
ud = bb.fetch2.FetchData(k[1], self.d)
pupver= ud.method.latest_versionstring(ud, self.d)
verstring = pupver[0]
self.assertTrue(verstring, msg="Could not find upstream version")
r = bb.utils.vercmp_string(v, verstring)
self.assertTrue(r == -1 or r == 0, msg="Package %s, version: %s <= %s" % (k[0], v, verstring))
def test_wget_latest_versionstring(self):
for k, v in self.test_wget_uris.items():
self.d.setVar("PN", k[0])
self.d.setVar("UPSTREAM_CHECK_URI", k[2])
self.d.setVar("UPSTREAM_CHECK_REGEX", k[3])
ud = bb.fetch2.FetchData(k[1], self.d)
pupver = ud.method.latest_versionstring(ud, self.d)
verstring = pupver[0]
self.assertTrue(verstring, msg="Could not find upstream version")
r = bb.utils.vercmp_string(v, verstring)
self.assertTrue(r == -1 or r == 0, msg="Package %s, version: %s <= %s" % (k[0], v, verstring))
@skipIfNoNetwork()
def test_git_latest_versionstring(self):
for k, v in self.test_git_uris.items():
self.d.setVar("PN", k[0])
self.d.setVar("SRCREV", k[2])
self.d.setVar("UPSTREAM_CHECK_GITTAGREGEX", k[3])
ud = bb.fetch2.FetchData(k[1], self.d)
pupver= ud.method.latest_versionstring(ud, self.d)
verstring = pupver[0]
self.assertTrue(verstring, msg="Could not find upstream version")
r = bb.utils.vercmp_string(v, verstring)
self.assertTrue(r == -1 or r == 0, msg="Package %s, version: %s <= %s" % (k[0], v, verstring))
@skipIfNoNetwork()
def test_wget_latest_versionstring(self):
for k, v in self.test_wget_uris.items():
self.d.setVar("PN", k[0])
self.d.setVar("UPSTREAM_CHECK_URI", k[2])
self.d.setVar("UPSTREAM_CHECK_REGEX", k[3])
ud = bb.fetch2.FetchData(k[1], self.d)
pupver = ud.method.latest_versionstring(ud, self.d)
verstring = pupver[0]
self.assertTrue(verstring, msg="Could not find upstream version")
r = bb.utils.vercmp_string(v, verstring)
self.assertTrue(r == -1 or r == 0, msg="Package %s, version: %s <= %s" % (k[0], v, verstring))
class FetchCheckStatusTest(FetcherTest):
@@ -820,40 +837,40 @@ class FetchCheckStatusTest(FetcherTest):
"https://yoctoproject.org/documentation",
"http://downloads.yoctoproject.org/releases/opkg/opkg-0.1.7.tar.gz",
"http://downloads.yoctoproject.org/releases/opkg/opkg-0.3.0.tar.gz",
"ftp://ftp.gnu.org/gnu/autoconf/autoconf-2.60.tar.gz",
"ftp://ftp.gnu.org/gnu/chess/gnuchess-5.08.tar.gz",
"ftp://ftp.gnu.org/gnu/gmp/gmp-4.0.tar.gz",
"ftp://sourceware.org/pub/libffi/libffi-1.20.tar.gz",
"http://ftp.gnu.org/gnu/autoconf/autoconf-2.60.tar.gz",
"https://ftp.gnu.org/gnu/chess/gnuchess-5.08.tar.gz",
"https://ftp.gnu.org/gnu/gmp/gmp-4.0.tar.gz",
# GitHub releases are hosted on Amazon S3, which doesn't support HEAD
"https://github.com/kergoth/tslib/releases/download/1.1/tslib-1.1.tar.xz"
]
if os.environ.get("BB_SKIP_NETTESTS") == "yes":
print("Unset BB_SKIP_NETTESTS to run network tests")
else:
def test_wget_checkstatus(self):
fetch = bb.fetch2.Fetch(self.test_wget_uris, self.d)
for u in self.test_wget_uris:
@skipIfNoNetwork()
def test_wget_checkstatus(self):
fetch = bb.fetch2.Fetch(self.test_wget_uris, self.d)
for u in self.test_wget_uris:
with self.subTest(url=u):
ud = fetch.ud[u]
m = ud.method
ret = m.checkstatus(fetch, ud, self.d)
self.assertTrue(ret, msg="URI %s, can't check status" % (u))
@skipIfNoNetwork()
def test_wget_checkstatus_connection_cache(self):
from bb.fetch2 import FetchConnectionCache
def test_wget_checkstatus_connection_cache(self):
from bb.fetch2 import FetchConnectionCache
connection_cache = FetchConnectionCache()
fetch = bb.fetch2.Fetch(self.test_wget_uris, self.d,
connection_cache = connection_cache)
connection_cache = FetchConnectionCache()
fetch = bb.fetch2.Fetch(self.test_wget_uris, self.d,
connection_cache = connection_cache)
for u in self.test_wget_uris:
for u in self.test_wget_uris:
with self.subTest(url=u):
ud = fetch.ud[u]
m = ud.method
ret = m.checkstatus(fetch, ud, self.d)
self.assertTrue(ret, msg="URI %s, can't check status" % (u))
connection_cache.close_connections()
connection_cache.close_connections()
class GitMakeShallowTest(FetcherTest):
@@ -972,15 +989,13 @@ class GitMakeShallowTest(FetcherTest):
self.make_shallow()
self.assertRevCount(1)
if os.environ.get("BB_SKIP_NETTESTS") == "yes":
print("Unset BB_SKIP_NETTESTS to run network tests")
else:
def test_make_shallow_bitbake(self):
self.git('remote add origin https://github.com/openembedded/bitbake')
self.git('fetch --tags origin')
orig_revs = len(self.git('rev-list --all').splitlines())
self.make_shallow(['refs/tags/1.10.0'])
self.assertRevCount(orig_revs - 1746, ['--all'])
@skipIfNoNetwork()
def test_make_shallow_bitbake(self):
self.git('remote add origin https://github.com/openembedded/bitbake')
self.git('fetch --tags origin')
orig_revs = len(self.git('rev-list --all').splitlines())
self.make_shallow(['refs/tags/1.10.0'])
self.assertRevCount(orig_revs - 1746, ['--all'])
class GitShallowTest(FetcherTest):
def setUp(self):
@@ -1436,24 +1451,22 @@ class GitShallowTest(FetcherTest):
with self.assertRaises(bb.fetch2.FetchError):
self.fetch()
if os.environ.get("BB_SKIP_NETTESTS") == "yes":
print("Unset BB_SKIP_NETTESTS to run network tests")
else:
def test_bitbake(self):
self.git('remote add --mirror=fetch origin git://github.com/openembedded/bitbake', cwd=self.srcdir)
self.git('config core.bare true', cwd=self.srcdir)
self.git('fetch', cwd=self.srcdir)
@skipIfNoNetwork()
def test_bitbake(self):
self.git('remote add --mirror=fetch origin git://github.com/openembedded/bitbake', cwd=self.srcdir)
self.git('config core.bare true', cwd=self.srcdir)
self.git('fetch', cwd=self.srcdir)
self.d.setVar('BB_GIT_SHALLOW_DEPTH', '0')
# Note that the 1.10.0 tag is annotated, so this also tests
# reference of an annotated vs unannotated tag
self.d.setVar('BB_GIT_SHALLOW_REVS', '1.10.0')
self.d.setVar('BB_GIT_SHALLOW_DEPTH', '0')
# Note that the 1.10.0 tag is annotated, so this also tests
# reference of an annotated vs unannotated tag
self.d.setVar('BB_GIT_SHALLOW_REVS', '1.10.0')
self.fetch_shallow()
self.fetch_shallow()
# Confirm that the history of 1.10.0 was removed
orig_revs = len(self.git('rev-list master', cwd=self.srcdir).splitlines())
revs = len(self.git('rev-list master').splitlines())
self.assertNotEqual(orig_revs, revs)
self.assertRefs(['master', 'origin/master'])
self.assertRevCount(orig_revs - 1758)
# Confirm that the history of 1.10.0 was removed
orig_revs = len(self.git('rev-list master', cwd=self.srcdir).splitlines())
revs = len(self.git('rev-list master').splitlines())
self.assertNotEqual(orig_revs, revs)
self.assertRefs(['master', 'origin/master'])
self.assertRevCount(orig_revs - 1758)

View File

@@ -322,14 +322,14 @@ class Tinfoil:
self.server_connection = None
self.recipes_parsed = False
self.quiet = 0
self.oldhandlers = self.logger.handlers[:]
if setup_logging:
# This is the *client-side* logger, nothing to do with
# logging messages from the server
oldhandlers = self.logger.handlers[:]
bb.msg.logger_create('BitBake', output)
self.localhandlers = []
for handler in self.logger.handlers:
if handler not in oldhandlers:
if handler not in self.oldhandlers:
self.localhandlers.append(handler)
def __enter__(self):
@@ -835,6 +835,12 @@ class Tinfoil:
self.server_connection.terminate()
self.server_connection = None
# Restore logging handlers to how it looked when we started
if self.oldhandlers:
for handler in self.logger.handlers:
if handler not in self.oldhandlers:
self.logger.handlers.remove(handler)
def _reconvert_type(self, obj, origtypename):
"""
Convert an object back to the right type, in the case

View File

@@ -1,6 +1,6 @@
DISTRO = "poky"
DISTRO_NAME = "Poky (Yocto Project Reference Distro)"
DISTRO_VERSION = "2.4"
DISTRO_VERSION = "2.4.1"
DISTRO_CODENAME = "rocko"
SDK_VENDOR = "-pokysdk"
SDK_VERSION := "${@'${DISTRO_VERSION}'.replace('snapshot-${DATE}','snapshot')}"

View File

@@ -0,0 +1,14 @@
messagebus:x:500:
systemd-bus-proxy:x:501:
systemd-network:x:502:
systemd-resolve:x:503:
systemd-timesync:x:504:
polkitd:x:505:
lock:x:506:
systemd-journal:x:507:
netdev:x:508:
avahi:x:509:
avahi-autoipd:x:510:
rpc:x:511:
rpcuser:x:513:

View File

@@ -0,0 +1,11 @@
messagebus:x:500:500::/var/lib/dbus:/bin/false
systemd-bus-proxy:x:501:501::/:/bin/nologin
systemd-network:x:502:502::/:/bin/nologin
systemd-resolve:x:503:503::/:/bin/nologin
systemd-timesync:x:504:504::/:/bin/nologin
polkitd:x:505:505::/:/bin/nologin
avahi:x:509:509::/:/bin/nologin
avahi-autoipd:x:510:510::/:/bin/nologin
rpc:x:511:511::/:/bin/nologin
distcc:x:512:nogroup::/:/bin/nologin
rpcuser:x:513:513::/var/lib/nfs:/bin/nologin

View File

@@ -178,7 +178,7 @@ def pkgarch_mapping(d):
def get_layers_branch_rev(d):
layers = (d.getVar("BBLAYERS") or "").split()
layers_branch_rev = ["%-17s = \"%s:%s\"" % (os.path.basename(i), \
layers_branch_rev = ["%-20s = \"%s:%s\"" % (os.path.basename(i), \
base_get_metadata_git_branch(i, None).strip(), \
base_get_metadata_git_revision(i, None)) \
for i in layers]
@@ -206,7 +206,7 @@ def buildcfg_vars(d):
for var in statusvars:
value = d.getVar(var)
if value is not None:
yield '%-17s = "%s"' % (var, value)
yield '%-20s = "%s"' % (var, value)
def buildcfg_neededvars(d):
needed_vars = oe.data.typed_value("BUILDCFG_NEEDEDVARS", d)
@@ -624,7 +624,7 @@ python () {
d.appendVarFlag('do_unpack', 'depends', ' lzip-native:do_populate_sysroot')
# *.xz should DEPEND on xz-native for unpacking
elif path.endswith('.xz'):
elif path.endswith('.xz') or path.endswith('.txz'):
d.appendVarFlag('do_unpack', 'depends', ' xz-native:do_populate_sysroot')
# .zip should DEPEND on unzip-native for unpacking

View File

@@ -188,10 +188,8 @@ def srctree_hash_files(d, srcdir=None):
git_dir = None
try:
# git rev-parse returns the path relative to the current working
# directory
git_dir = os.path.join(s_dir,
subprocess.check_output(['git', 'rev-parse', '--git-dir'], cwd=s_dir).decode("utf-8").rstrip())
subprocess.check_output(['git', '-C', s_dir, 'rev-parse', '--git-dir']).decode("utf-8").rstrip())
except subprocess.CalledProcessError:
pass

View File

@@ -29,6 +29,7 @@ COMPATIBLE_HOST_linux-gnux32 = "null"
COMPATIBLE_HOST_linux-muslx32 = "null"
COMPATIBLE_HOST_powerpc = "null"
COMPATIBLE_HOST_powerpc64 = "null"
COMPATIBLE_HOST_mipsarchn32 = "null"
ARM_INSTRUCTION_SET = "arm"
TUNE_CCARGS_remove = "-march=mips32r2"

View File

@@ -48,7 +48,7 @@ do_compile_prepend_class-target () {
# which may then get deleted (or their dependencies) and potentially segfault
export GIO_MODULE_DIR=${STAGING_LIBDIR}/gio/modules-dummy
GIR_EXTRA_LIBS_PATH=\`find ${B} -name *.so -printf %h| tr '\n' ':'\`\$GIR_EXTRA_LIBS_PATH
GIR_EXTRA_LIBS_PATH=\`find ${B} -name *.so -printf "%h\n"|sort|uniq| tr '\n' ':'\`\$GIR_EXTRA_LIBS_PATH
GIR_EXTRA_LIBS_PATH=\`find ${B} -name .libs| tr '\n' ':'\`\$GIR_EXTRA_LIBS_PATH
if [ -d ".libs" ]; then

View File

@@ -145,14 +145,18 @@ IMAGE_TYPE_wic = "image_types_wic"
inherit ${IMAGE_TYPE_wic}
python () {
def extraimage_getdepends(task):
deps = ""
for dep in (d.getVar('EXTRA_IMAGEDEPENDS') or "").split():
deps += " %s:%s" % (dep, task)
return deps
d.appendVarFlag('do_image', 'depends', extraimage_getdepends('do_populate_lic'))
d.appendVarFlag('do_image_complete', 'depends', extraimage_getdepends('do_populate_sysroot'))
deps = " " + imagetypes_getdepends(d)
d.appendVarFlag('do_rootfs', 'depends', deps)
deps = ""
for dep in (d.getVar('EXTRA_IMAGEDEPENDS') or "").split():
deps += " %s:do_populate_sysroot" % dep
d.appendVarFlag('do_image_complete', 'depends', deps)
#process IMAGE_FEATURES, we must do this before runtime_mapping_rename
#Check for replaces image features
features = set(oe.data.typed_value('IMAGE_FEATURES', d))
@@ -440,6 +444,9 @@ python () {
localdata.delVar('DATETIME')
localdata.delVar('DATE')
localdata.delVar('TMPDIR')
vardepsexclude = (d.getVarFlag('IMAGE_CMD_' + realt, 'vardepsexclude', True) or '').split()
for dep in vardepsexclude:
localdata.delVar(dep)
image_cmd = localdata.getVar("IMAGE_CMD")
vardeps.add('IMAGE_CMD_' + realt)
@@ -503,7 +510,7 @@ python () {
d.prependVarFlag(task, 'postfuncs', ' create_symlinks')
d.appendVarFlag(task, 'subimages', ' ' + ' '.join(subimages))
d.appendVarFlag(task, 'vardeps', ' ' + ' '.join(vardeps))
d.appendVarFlag(task, 'vardepsexclude', 'DATETIME DATE')
d.appendVarFlag(task, 'vardepsexclude', 'DATETIME DATE ' + ' '.join(vardepsexclude))
bb.debug(2, "Adding task %s before %s, after %s" % (task, 'do_image_complete', after))
bb.build.addtask(task, 'do_image_complete', after, d)

View File

@@ -83,7 +83,11 @@ oe_mkext234fs () {
eval COUNT=\"$MIN_COUNT\"
fi
# Create a sparse image block
bbdebug 1 Executing "dd if=/dev/zero of=${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.$fstype seek=$ROOTFS_SIZE count=$COUNT bs=1024"
dd if=/dev/zero of=${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.$fstype seek=$ROOTFS_SIZE count=$COUNT bs=1024
bbdebug 1 "Actual Rootfs size: `du -s ${IMAGE_ROOTFS}`"
bbdebug 1 "Actual Partion size: `ls -s ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.$fstype`"
bbdebug 1 Executing "mkfs.$fstype -F $extra_imagecmd ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.$fstype -d ${IMAGE_ROOTFS}"
mkfs.$fstype -F $extra_imagecmd ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.$fstype -d ${IMAGE_ROOTFS}
# Error codes 0-3 indicate successfull operation of fsck (no errors or errors corrected)
fsck.$fstype -pvfD ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.$fstype || [ $? -le 3 ]

View File

@@ -12,7 +12,7 @@ OPKGBUILDCMD ??= "opkg-build"
OPKG_ARGS += "--force_postinstall --prefer-arch-to-version"
OPKG_ARGS += "${@['', '--no-install-recommends'][d.getVar("NO_RECOMMENDATIONS") == "1"]}"
OPKG_ARGS += "${@['', '--add-exclude ' + ' --add-exclude '.join((d.getVar('PACKAGE_EXCLUDE') or "").split())][(d.getVar("PACKAGE_EXCLUDE") or "") != ""]}"
OPKG_ARGS += "${@['', '--add-exclude ' + ' --add-exclude '.join((d.getVar('PACKAGE_EXCLUDE') or "").split())][(d.getVar("PACKAGE_EXCLUDE") or "").strip() != ""]}"
OPKGLIBDIR = "${localstatedir}/lib"

View File

@@ -85,7 +85,8 @@ python do_write_qemuboot_conf() {
qemuboot = "%s/%s.qemuboot.conf" % (d.getVar('IMGDEPLOYDIR'), d.getVar('IMAGE_NAME'))
qemuboot_link = "%s/%s.qemuboot.conf" % (d.getVar('IMGDEPLOYDIR'), d.getVar('IMAGE_LINK_NAME'))
topdir="%s/"%(d.getVar('TOPDIR')).replace("//","/")
finalpath = d.getVar("DEPLOY_DIR_IMAGE")
topdir = d.getVar('TOPDIR')
cf = configparser.ConfigParser()
cf.add_section('config_bsp')
for k in sorted(qemuboot_vars(d)):
@@ -98,7 +99,8 @@ python do_write_qemuboot_conf() {
val = d.getVar(k)
# we only want to write out relative paths so that we can relocate images
# and still run them
val=val.replace(topdir,"")
if val.startswith(topdir):
val = os.path.relpath(val, finalpath)
cf.set('config_bsp', k, '%s' % val)
# QB_DEFAULT_KERNEL's value of KERNEL_IMAGETYPE is the name of a symlink
@@ -108,7 +110,7 @@ python do_write_qemuboot_conf() {
kernel = os.path.realpath(kernel_link)
# we only want to write out relative paths so that we can relocate images
# and still run them
kernel=kernel.replace(topdir,"")
kernel = os.path.relpath(kernel, finalpath)
cf.set('config_bsp', 'QB_DEFAULT_KERNEL', kernel)
bb.utils.mkdirhier(os.path.dirname(qemuboot))

View File

@@ -248,7 +248,7 @@ def testimage_main(d):
# the robot dance
target = OERuntimeTestContextExecutor.getTarget(
d.getVar("TEST_TARGET"), None, d.getVar("TEST_TARGET_IP"),
d.getVar("TEST_TARGET"), logger, d.getVar("TEST_TARGET_IP"),
d.getVar("TEST_SERVER_IP"), **target_kwargs)
# test context
@@ -291,11 +291,11 @@ def testimage_main(d):
# Show results (if we have them)
if not results:
bb.fatal('%s - FAILED - tests were interrupted during execution' % pn)
bb.fatal('%s - FAILED - tests were interrupted during execution' % pn, forcelog=True)
results.logDetails()
results.logSummary(pn)
if not results.wasSuccessful():
bb.fatal('%s - FAILED - check the task log and the ssh log' % pn)
bb.fatal('%s - FAILED - check the task log and the ssh log' % pn, forcelog=True)
def get_runtime_paths(d):
"""

View File

@@ -38,30 +38,39 @@ def update_useradd_static_config(d):
return id_table
def handle_missing_id(id, type, pkg):
def handle_missing_id(id, type, pkg, files, var, value):
# For backwards compatibility we accept "1" in addition to "error"
if d.getVar('USERADD_ERROR_DYNAMIC') == 'error' or d.getVar('USERADD_ERROR_DYNAMIC') == '1':
raise NotImplementedError("%s - %s: %sname %s does not have a static ID defined. Skipping it." % (d.getVar('PN'), pkg, type, id))
elif d.getVar('USERADD_ERROR_DYNAMIC') == 'warn':
bb.warn("%s - %s: %sname %s does not have a static ID defined." % (d.getVar('PN'), pkg, type, id))
error_dynamic = d.getVar('USERADD_ERROR_DYNAMIC')
msg = "%s - %s: %sname %s does not have a static ID defined." % (d.getVar('PN'), pkg, type, id)
if files:
msg += " Add %s to one of these files: %s" % (id, files)
else:
msg += " %s file(s) not found in BBPATH: %s" % (var, value)
if error_dynamic == 'error' or error_dynamic == '1':
raise NotImplementedError(msg)
elif error_dynamic == 'warn':
bb.warn(msg)
elif error_dynamic == 'skip':
raise bb.parse.SkipRecipe(msg)
# Return a list of configuration files based on either the default
# files/group or the contents of USERADD_GID_TABLES, resp.
# files/passwd for USERADD_UID_TABLES.
# Paths are resolved via BBPATH.
def get_table_list(d, var, default):
files = []
bbpath = d.getVar('BBPATH', True)
tables = d.getVar(var, True)
if not tables:
tables = default
for conf_file in tables.split():
files.append(bb.utils.which(bbpath, conf_file))
return (' '.join(files), var, default)
# We parse and rewrite the useradd components
def rewrite_useradd(params, is_pkg):
parser = oe.useradd.build_useradd_parser()
# Return a list of configuration files based on either the default
# files/passwd or the contents of USERADD_UID_TABLES
# paths are resolved via BBPATH
def get_passwd_list(d):
str = ""
bbpath = d.getVar('BBPATH')
passwd_tables = d.getVar('USERADD_UID_TABLES')
if not passwd_tables:
passwd_tables = 'files/passwd'
for conf_file in passwd_tables.split():
str += " %s" % bb.utils.which(bbpath, conf_file)
return str
newparams = []
users = None
for param in oe.useradd.split_commands(params):
@@ -82,10 +91,12 @@ def update_useradd_static_config(d):
# all new users get the default ('*' which prevents login) until the user is
# specifically configured by the system admin.
if not users:
users = merge_files(get_passwd_list(d), 7)
files, table_var, table_value = get_table_list(d, 'USERADD_UID_TABLES', 'files/passwd')
users = merge_files(files, 7)
type = 'system user' if uaargs.system else 'normal user'
if uaargs.LOGIN not in users:
handle_missing_id(uaargs.LOGIN, 'user', pkg)
handle_missing_id(uaargs.LOGIN, type, pkg, files, table_var, table_value)
newparams.append(param)
continue
@@ -143,7 +154,7 @@ def update_useradd_static_config(d):
# Should be an error if a specific option is set...
if not uaargs.uid or not uaargs.uid.isdigit() or not uaargs.gid:
handle_missing_id(uaargs.LOGIN, 'user', pkg)
handle_missing_id(uaargs.LOGIN, type, pkg, files, table_var, table_value)
# Reconstruct the args...
newparam = ['', ' --defaults'][uaargs.defaults]
@@ -180,19 +191,6 @@ def update_useradd_static_config(d):
def rewrite_groupadd(params, is_pkg):
parser = oe.useradd.build_groupadd_parser()
# Return a list of configuration files based on either the default
# files/group or the contents of USERADD_GID_TABLES
# paths are resolved via BBPATH
def get_group_list(d):
str = ""
bbpath = d.getVar('BBPATH')
group_tables = d.getVar('USERADD_GID_TABLES')
if not group_tables:
group_tables = 'files/group'
for conf_file in group_tables.split():
str += " %s" % bb.utils.which(bbpath, conf_file)
return str
newparams = []
groups = None
for param in oe.useradd.split_commands(params):
@@ -212,10 +210,12 @@ def update_useradd_static_config(d):
# Note: similar to the passwd file, the 'password' filed is ignored
# Note: group_members is ignored, group members must be configured with the GROUPMEMS_PARAM
if not groups:
groups = merge_files(get_group_list(d), 4)
files, table_var, table_value = get_table_list(d, 'USERADD_GID_TABLES', 'files/group')
groups = merge_files(files, 4)
type = 'system group' if gaargs.system else 'normal group'
if gaargs.GROUP not in groups:
handle_missing_id(gaargs.GROUP, 'group', pkg)
handle_missing_id(gaargs.GROUP, type, pkg, files, table_var, table_value)
newparams.append(param)
continue
@@ -227,7 +227,7 @@ def update_useradd_static_config(d):
gaargs.gid = field[2]
if not gaargs.gid or not gaargs.gid.isdigit():
handle_missing_id(gaargs.GROUP, 'group', pkg)
handle_missing_id(gaargs.GROUP, type, pkg, files, table_var, table_value)
# Reconstruct the args...
newparam = ['', ' --force'][gaargs.force]

View File

@@ -118,6 +118,7 @@ useradd_sysroot () {
# useradd/groupadd tools are unavailable. If there is no dependency, we assume we don't want to
# create users in the sysroot
if ! command -v useradd; then
bbwarn "command useradd not found!"
exit 0
fi

View File

@@ -44,7 +44,7 @@ RECIPE_MAINTAINER_pn-apr-util = "Hongxu Jia <hongxu.jia@windriver.com>"
RECIPE_MAINTAINER_pn-apt = "Aníbal Limón <limon.anibal@gmail.com>"
RECIPE_MAINTAINER_pn-apt-native = "Aníbal Limón <limon.anibal@gmail.com>"
RECIPE_MAINTAINER_pn-argp-standalone = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER_pn-asciidoc = "Dengke Du <dengke.du@windriver.com>"
RECIPE_MAINTAINER_pn-asciidoc = "Yi Zhao <yi.zhao@windriver.com>"
RECIPE_MAINTAINER_pn-aspell = "Jose Lamego <jose.a.lamego@linux.intel.com>"
RECIPE_MAINTAINER_pn-assimp = "Jussi Kukkonen <jussi.kukkonen@intel.com>"
RECIPE_MAINTAINER_pn-at = "Chen Qi <Qi.Chen@windriver.com>"
@@ -56,8 +56,8 @@ RECIPE_MAINTAINER_pn-autoconf = "Robert Yang <liezhi.yang@windriver.com>"
RECIPE_MAINTAINER_pn-autoconf-archive = "Robert Yang <liezhi.yang@windriver.com>"
RECIPE_MAINTAINER_pn-autogen-native = "Robert Yang <liezhi.yang@windriver.com>"
RECIPE_MAINTAINER_pn-automake = "Robert Yang <liezhi.yang@windriver.com>"
RECIPE_MAINTAINER_pn-avahi = "Dengke Du <dengke.du@windriver.com>"
RECIPE_MAINTAINER_pn-avahi-ui = "Dengke Du <dengke.du@windriver.com>"
RECIPE_MAINTAINER_pn-avahi = "Yi Zhao <yi.zhao@windriver.com>"
RECIPE_MAINTAINER_pn-avahi-ui = "Yi Zhao <yi.zhao@windriver.com>"
RECIPE_MAINTAINER_pn-babeltrace = "Alexander Kanavin <alexander.kanavin@intel.com>"
RECIPE_MAINTAINER_pn-base-files = "Ross Burton <ross.burton@intel.com>"
RECIPE_MAINTAINER_pn-base-passwd = "Ross Burton <ross.burton@intel.com>"
@@ -74,7 +74,7 @@ RECIPE_MAINTAINER_pn-binutils-cross-canadian = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER_pn-binutils-crosssdk = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER_pn-bison = "Chen Qi <Qi.Chen@windriver.com>"
RECIPE_MAINTAINER_pn-bjam-native = "Alexander Kanavin <alexander.kanavin@intel.com>"
RECIPE_MAINTAINER_pn-blktool = "Dengke Du <dengke.du@windriver.com>"
RECIPE_MAINTAINER_pn-blktool = "Yi Zhao <yi.zhao@windriver.com>"
RECIPE_MAINTAINER_pn-blktrace = "Alexander Kanavin <alexander.kanavin@intel.com>"
RECIPE_MAINTAINER_pn-bluez5 = "Maxin B. John <maxin.john@intel.com>"
RECIPE_MAINTAINER_pn-bmap-tools = "Ed Bartosh <ed.bartosh@linux.intel.com>"
@@ -95,10 +95,10 @@ RECIPE_MAINTAINER_pn-cairo = "Jussi Kukkonen <jussi.kukkonen@intel.com>"
RECIPE_MAINTAINER_pn-calibrateproto = "Armin Kuster <akuster@mvista.com>"
RECIPE_MAINTAINER_pn-cantarell-fonts = "Alexander Kanavin <alexander.kanavin@intel.com>"
RECIPE_MAINTAINER_pn-ccache = "Robert Yang <liezhi.yang@windriver.com>"
RECIPE_MAINTAINER_pn-cdrtools-native = "Dengke Du <dengke.du@windriver.com>"
RECIPE_MAINTAINER_pn-chkconfig = "Dengke Du <dengke.du@windriver.com>"
RECIPE_MAINTAINER_pn-chkconfig-alternatives-native = "Dengke Du <dengke.du@windriver.com>"
RECIPE_MAINTAINER_pn-chrpath = "Dengke Du <dengke.du@windriver.com>"
RECIPE_MAINTAINER_pn-cdrtools-native = "Yi Zhao <yi.zhao@windriver.com>"
RECIPE_MAINTAINER_pn-chkconfig = "Yi Zhao <yi.zhao@windriver.com>"
RECIPE_MAINTAINER_pn-chkconfig-alternatives-native = "Yi Zhao <yi.zhao@windriver.com>"
RECIPE_MAINTAINER_pn-chrpath = "Yi Zhao <yi.zhao@windriver.com>"
RECIPE_MAINTAINER_pn-clutter-1.0 = "Jussi Kukkonen <jussi.kukkonen@intel.com>"
RECIPE_MAINTAINER_pn-clutter-gst-3.0 = "Jussi Kukkonen <jussi.kukkonen@intel.com>"
RECIPE_MAINTAINER_pn-clutter-gtk-1.0 = "Jussi Kukkonen <jussi.kukkonen@intel.com>"
@@ -139,17 +139,17 @@ RECIPE_MAINTAINER_pn-diffutils = "Chen Qi <Qi.Chen@windriver.com>"
RECIPE_MAINTAINER_pn-directfb = "Hongxu Jia <hongxu.jia@windriver.com>"
RECIPE_MAINTAINER_pn-directfb-examples = "Hongxu Jia <hongxu.jia@windriver.com>"
RECIPE_MAINTAINER_pn-distcc = "Hongxu Jia <hongxu.jia@windriver.com>"
RECIPE_MAINTAINER_pn-distcc-config = "Dengke Du <dengke.du@windriver.com>"
RECIPE_MAINTAINER_pn-distcc-config = "Yi Zhao <yi.zhao@windriver.com>"
RECIPE_MAINTAINER_pn-dmidecode = "Alexander Kanavin <alexander.kanavin@intel.com>"
RECIPE_MAINTAINER_pn-dmxproto = "Armin Kuster <akuster@mvista.com>"
RECIPE_MAINTAINER_pn-dnf = "Alexander Kanavin <alexander.kanavin@intel.com>"
RECIPE_MAINTAINER_pn-docbook-xml-dtd4 = "Dengke Du <dengke.du@windriver.com>"
RECIPE_MAINTAINER_pn-docbook-xsl-stylesheets = "Dengke Du <dengke.du@windriver.com>"
RECIPE_MAINTAINER_pn-dosfstools = "Dengke Du <dengke.du@windriver.com>"
RECIPE_MAINTAINER_pn-docbook-xml-dtd4 = "Yi Zhao <yi.zhao@windriver.com>"
RECIPE_MAINTAINER_pn-docbook-xsl-stylesheets = "Yi Zhao <yi.zhao@windriver.com>"
RECIPE_MAINTAINER_pn-dosfstools = "Yi Zhao <yi.zhao@windriver.com>"
RECIPE_MAINTAINER_pn-dpkg = "Aníbal Limón <limon.anibal@gmail.com>"
RECIPE_MAINTAINER_pn-dri2proto = "Armin Kuster <akuster@mvista.com>"
RECIPE_MAINTAINER_pn-dri3proto = "Armin Kuster <akuster@mvista.com>"
RECIPE_MAINTAINER_pn-dropbear = "Dengke Du <dengke.du@windriver.com>"
RECIPE_MAINTAINER_pn-dropbear = "Yi Zhao <yi.zhao@windriver.com>"
RECIPE_MAINTAINER_pn-dtc = "Alexander Kanavin <alexander.kanavin@intel.com>"
RECIPE_MAINTAINER_pn-e2fsprogs = "Robert Yang <liezhi.yang@windriver.com>"
RECIPE_MAINTAINER_pn-ed = "Alexander Kanavin <alexander.kanavin@intel.com>"
@@ -164,7 +164,7 @@ RECIPE_MAINTAINER_pn-encodings = "Armin Kuster <akuster@mvista.com>"
RECIPE_MAINTAINER_pn-epiphany = "Alexander Kanavin <alexander.kanavin@intel.com>"
RECIPE_MAINTAINER_pn-ethtool = "Changhyeok Bae <changhyeok.bae@lge.com>"
RECIPE_MAINTAINER_pn-eudev = "Alejandro Hernandez <alejandro.hernandez@linux.intel.com>"
RECIPE_MAINTAINER_pn-expat = "Dengke Du <dengke.du@windriver.com>"
RECIPE_MAINTAINER_pn-expat = "Yi Zhao <yi.zhao@windriver.com>"
RECIPE_MAINTAINER_pn-expect = "Alexander Kanavin <alexander.kanavin@intel.com>"
RECIPE_MAINTAINER_pn-ffmpeg = "Alexander Kanavin <alexander.kanavin@intel.com>"
RECIPE_MAINTAINER_pn-file = "Robert Yang <liezhi.yang@windriver.com>"
@@ -224,6 +224,7 @@ RECIPE_MAINTAINER_pn-gnupg = "Hongxu Jia <hongxu.jia@windriver.com>"
RECIPE_MAINTAINER_pn-gnutls = "Armin Kuster <akuster@mvista.com>"
RECIPE_MAINTAINER_pn-go = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER_pn-go-cross = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER_pn-go-dep = "Otavio Salvador <otavio.salvador@ossystems.com.br>"
RECIPE_MAINTAINER_pn-go-helloworld = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER_pn-go-native = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER_pn-gobject-introspection = "Alexander Kanavin <alexander.kanavin@intel.com>"
@@ -287,8 +288,8 @@ RECIPE_MAINTAINER_pn-irda-utils = "Changhyeok Bae <changhyeok.bae@lge.com>"
RECIPE_MAINTAINER_pn-iso-codes = "Alexander Kanavin <alexander.kanavin@intel.com>"
RECIPE_MAINTAINER_pn-iw = "Changhyeok Bae <changhyeok.bae@lge.com>"
RECIPE_MAINTAINER_pn-libjpeg-turbo = "Maxin B. John <maxin.john@intel.com>"
RECIPE_MAINTAINER_pn-json-c = "Dengke Du <dengke.du@windriver.com>"
RECIPE_MAINTAINER_pn-json-glib = "Dengke Du <dengke.du@windriver.com>"
RECIPE_MAINTAINER_pn-json-c = "Yi Zhao <yi.zhao@windriver.com>"
RECIPE_MAINTAINER_pn-json-glib = "Yi Zhao <yi.zhao@windriver.com>"
RECIPE_MAINTAINER_pn-kbd = "Alexander Kanavin <alexander.kanavin@intel.com>"
RECIPE_MAINTAINER_pn-kbproto = "Armin Kuster <akuster@mvista.com>"
RECIPE_MAINTAINER_pn-kconfig-frontends = "Alexander Kanavin <alexander.kanavin@intel.com>"
@@ -358,6 +359,7 @@ RECIPE_MAINTAINER_pn-libinput = "Jussi Kukkonen <jussi.kukkonen@intel.com>"
RECIPE_MAINTAINER_pn-libjson = "Alexander Kanavin <alexander.kanavin@intel.com>"
RECIPE_MAINTAINER_pn-libksba = "Alexander Kanavin <alexander.kanavin@intel.com>"
RECIPE_MAINTAINER_pn-libmatchbox = "Jussi Kukkonen <jussi.kukkonen@intel.com>"
RECIPE_MAINTAINER_pn-libmnl = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER_pn-libmpc = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER_pn-libnewt = "Hongxu Jia <hongxu.jia@windriver.com>"
RECIPE_MAINTAINER_pn-libnewt-python = "Hongxu Jia <hongxu.jia@windriver.com>"
@@ -463,9 +465,9 @@ RECIPE_MAINTAINER_pn-logrotate = "Robert Yang <liezhi.yang@windriver.com>"
RECIPE_MAINTAINER_pn-lrzsz = "Maxin B. John <maxin.john@intel.com>"
RECIPE_MAINTAINER_pn-lsb = "Hongxu Jia <hongxu.jia@windriver.com>"
RECIPE_MAINTAINER_pn-lsbinitscripts = "Ross Burton <ross.burton@intel.com>"
RECIPE_MAINTAINER_pn-lsbtest = "Dengke Du <dengke.du@windriver.com>"
RECIPE_MAINTAINER_pn-lsbtest = "Yi Zhao <yi.zhao@windriver.com>"
RECIPE_MAINTAINER_pn-lsof = "Maxin B. John <maxin.john@intel.com>"
RECIPE_MAINTAINER_pn-ltp = "Dengke Du <dengke.du@windriver.com>"
RECIPE_MAINTAINER_pn-ltp = "Yi Zhao <yi.zhao@windriver.com>"
RECIPE_MAINTAINER_pn-lttng-modules = "Richard Purdie <richard.purdie@linuxfoundation.org>"
RECIPE_MAINTAINER_pn-lttng-tools = "Richard Purdie <richard.purdie@linuxfoundation.org>"
RECIPE_MAINTAINER_pn-lttng-ust = "Richard Purdie <richard.purdie@linuxfoundation.org>"
@@ -581,7 +583,7 @@ RECIPE_MAINTAINER_pn-pm-utils = "Maxin B. John <maxin.john@intel.com>"
RECIPE_MAINTAINER_pn-pointercal = "Alexander Kanavin <alexander.kanavin@intel.com>"
RECIPE_MAINTAINER_pn-pointercal-xinput = "Alexander Kanavin <alexander.kanavin@intel.com>"
RECIPE_MAINTAINER_pn-pong-clock = "Jussi Kukkonen <jussi.kukkonen@intel.com>"
RECIPE_MAINTAINER_pn-popt = "Dengke Du <dengke.du@windriver.com>"
RECIPE_MAINTAINER_pn-popt = "Yi Zhao <yi.zhao@windriver.com>"
RECIPE_MAINTAINER_pn-portmap = "Robert Yang <liezhi.yang@windriver.com>"
RECIPE_MAINTAINER_pn-powertop = "Alexander Kanavin <alexander.kanavin@intel.com>"
RECIPE_MAINTAINER_pn-ppp = "Hongxu Jia <hongxu.jia@windriver.com>"
@@ -591,7 +593,7 @@ RECIPE_MAINTAINER_pn-presentproto = "Armin Kuster <akuster@mvista.com>"
RECIPE_MAINTAINER_pn-procps = "Alexander Kanavin <alexander.kanavin@intel.com>"
RECIPE_MAINTAINER_pn-pseudo = "Mark Hatle <mark.hatle@windriver.com>"
RECIPE_MAINTAINER_pn-psmisc = "Alexander Kanavin <alexander.kanavin@intel.com>"
RECIPE_MAINTAINER_pn-psplash = "Dengke Du <dengke.du@windriver.com>"
RECIPE_MAINTAINER_pn-psplash = "Yi Zhao <yi.zhao@windriver.com>"
RECIPE_MAINTAINER_pn-ptest-runner = "Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com>"
RECIPE_MAINTAINER_pn-pulseaudio = "Tanu Kaskinen <tanuk@iki.fi>"
RECIPE_MAINTAINER_pn-pulseaudio-client-conf-sato = "Tanu Kaskinen <tanuk@iki.fi>"
@@ -819,7 +821,7 @@ RECIPE_MAINTAINER_pn-xvideo-tests = "Maxin B. John <maxin.john@intel.com>"
RECIPE_MAINTAINER_pn-xvinfo = "Armin Kuster <akuster@mvista.com>"
RECIPE_MAINTAINER_pn-xwininfo = "Armin Kuster <akuster@mvista.com>"
RECIPE_MAINTAINER_pn-xz = "Denys Dmytriyenko <denys@ti.com>"
RECIPE_MAINTAINER_pn-yasm = "Dengke Du <dengke.du@windriver.com>"
RECIPE_MAINTAINER_pn-yasm = "Yi Zhao <yi.zhao@windriver.com>"
RECIPE_MAINTAINER_pn-zip = "Denys Dmytriyenko <denys@ti.com>"
RECIPE_MAINTAINER_pn-zisofs-tools-native = "Alexander Kanavin <alexander.kanavin@intel.com>"
RECIPE_MAINTAINER_pn-zlib = "Denys Dmytriyenko <denys@ti.com>"

View File

@@ -14,6 +14,8 @@ PREFERRED_PROVIDER_virtual/libintl ?= "musl"
PREFERRED_PROVIDER_virtual/nativesdk-libintl ?= "nativesdk-glibc"
PREFERRED_PROVIDER_virtual/nativesdk-libiconv ?= "nativesdk-glibc"
DISTRO_FEATURES_BACKFILL_CONSIDERED += "ldconfig"
#USE_NLS ?= "no"
CXXFLAGS += "-fvisibility-inlines-hidden"

View File

@@ -5,8 +5,8 @@
TUNEVALID[vfp] = "Enable Vector Floating Point (vfp) unit."
TUNE_CCARGS_MFPU .= "${@bb.utils.contains('TUNE_FEATURES', 'vfp', ' vfp', '', d)}"
TUNE_CCARGS .= "${@ (' -mfpu=%s ' % d.getVar('TUNE_CCARGS_MFPU').split()[-1]) if (d.getVar('TUNE_CCARGS_MFPU') != '') else ''}"
ARMPKGSFX_FPU = "${@ ('-%s' % d.getVar('TUNE_CCARGS_MFPU').split()[-1].replace('vfpv3-d16', 'vfpv3d16')) if (d.getVar('TUNE_CCARGS_MFPU') != '') else ''}"
TUNE_CCARGS .= "${@ (' -mfpu=%s' % d.getVar('TUNE_CCARGS_MFPU').split()[-1]) if (d.getVar('TUNE_CCARGS_MFPU') != '') else ''}"
ARMPKGSFX_FPU = "${@ ('-%s' % d.getVar('TUNE_CCARGS_MFPU').split()[-1].replace('vfpv3-d16', 'vfpv3d16')) if (d.getVar('TUNE_CCARGS_MFPU') != '') else ''}"
TUNEVALID[callconvention-hard] = "Enable EABI hard float call convention, requires VFP."
TUNE_CCARGS_MFLOAT = "${@ bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', 'hard', 'softfp', d) if (d.getVar('TUNE_CCARGS_MFPU') != '') else '' }"

View File

@@ -25,6 +25,7 @@ EXTRA_IMAGEDEPENDS += "qemu-native qemu-helper-native"
# Provide the nfs server kernel module for all qemu images
KERNEL_FEATURES_append_pn-linux-yocto = " features/nfsd/nfsd-enable.scc"
KERNEL_FEATURES_append_pn-linux-yocto-rt = " features/nfsd/nfsd-enable.scc"
MACHINE_EXTRA_RRECOMMENDS += "rng-tools"

View File

@@ -188,6 +188,11 @@ def patch_recipe_lines(fromlines, values, trailing_newline=True):
for wrapline in wrapped[:-1]:
addlines.append('%s \\%s' % (wrapline, newline))
addlines.append('%s%s' % (wrapped[-1], newline))
# Split on newlines - this isn't strictly necessary if you are only
# going to write the output to disk, but if you want to compare it
# (as patch_recipe_file() will do if patch=True) then it's important.
addlines = [line for l in addlines for line in l.splitlines(True)]
if rewindcomments:
# Ensure we insert the lines before any leading comments
# (that we'd want to ensure remain leading the next value)
@@ -801,7 +806,7 @@ def bbappend_recipe(rd, destlayerdir, srcfiles, install=None, wildcardver=False,
def find_layerdir(fn):
""" Figure out the path to the base of the layer containing a file (e.g. a recipe)"""
pth = fn
pth = os.path.abspath(fn)
layerdir = ''
while pth:
if os.path.exists(os.path.join(pth, 'conf', 'layer.conf')):

View File

@@ -320,7 +320,7 @@ def find_siginfo(pn, taskname, taskhashlist, d):
if not taskhashlist or (len(filedates) < 2 and not foundall):
# That didn't work, look in sstate-cache
hashes = taskhashlist or ['*']
hashes = taskhashlist or ['?' * 32]
localdata = bb.data.createCopy(d)
for hashval in hashes:
localdata.setVar('PACKAGE_ARCH', '*')

View File

@@ -224,7 +224,7 @@ def spawn(name, sh_cmd, title=None, env=None, d=None):
import time
pidfile = tempfile.NamedTemporaryFile(delete = False).name
try:
sh_cmd = "oe-gnome-terminal-phonehome " + pidfile + " " + sh_cmd
sh_cmd = bb.utils.which(os.getenv('PATH'), "oe-gnome-terminal-phonehome") + " " + pidfile + " " + sh_cmd
pipe = terminal(sh_cmd, title, env, d)
output = pipe.communicate()[0]
if output:

View File

@@ -108,7 +108,7 @@ class MasterImageHardwareTarget(oeqa.targetcontrol.BaseTarget, metaclass=ABCMeta
time.sleep(10)
self.power_ctl("cycle")
else:
status, output = conn.run("reboot")
status, output = conn.run("sync; { sleep 1; reboot; } > /dev/null &")
if status != 0:
bb.error("Failed rebooting target and no power control command defined. You need to manually reset the device.\n%s" % output)
@@ -143,7 +143,7 @@ class MasterImageHardwareTarget(oeqa.targetcontrol.BaseTarget, metaclass=ABCMeta
def _deploy(self):
pass
def start(self, params=None):
def start(self, extra_bootparams=None):
bb.plain("%s - boot test image on target" % self.pn)
self._start()
# set the ssh object for the target/test image
@@ -156,7 +156,7 @@ class MasterImageHardwareTarget(oeqa.targetcontrol.BaseTarget, metaclass=ABCMeta
def stop(self):
bb.plain("%s - reboot/powercycle target" % self.pn)
self.power_cycle(self.connection)
self.power_cycle(self.master)
class SystemdbootTarget(MasterImageHardwareTarget):

View File

@@ -2,6 +2,7 @@
# Released under the MIT license (see COPYING.MIT)
import os
import re
import sys
import unittest
import inspect
@@ -39,42 +40,19 @@ def _built_modules_dict(modules):
if modules == None:
return modules_dict
for m in modules:
ms = m.split('.')
for module in modules:
# Assumption: package and module names do not contain upper case
# characters, whereas class names do
m = re.match(r'^([^A-Z]+)(?:\.([A-Z][^.]*)(?:\.([^.]+))?)?$', module)
if len(ms) == 1:
module_name = ms[0]
if not module_name in modules_dict:
modules_dict[module_name] = {}
elif len(ms) == 2:
module_name = ms[0]
class_name = ms[1]
if not module_name in modules_dict:
modules_dict[module_name] = {}
if not class_name in modules_dict[module_name]:
modules_dict[module_name][class_name] = []
elif len(ms) == 3:
module_name = ms[0]
class_name = ms[1]
test_name = ms[2]
module_name, class_name, test_name = m.groups()
if not module_name in modules_dict:
modules_dict[module_name] = {}
if not class_name in modules_dict[module_name]:
modules_dict[module_name][class_name] = []
if not test_name in modules_dict[module_name][class_name]:
modules_dict[module_name][class_name].append(test_name)
elif len(ms) >= 4:
module_name = '.'.join(ms[0:-2])
class_name = ms[-2]
test_name = ms[-1]
if not module_name in modules_dict:
modules_dict[module_name] = {}
if not class_name in modules_dict[module_name]:
modules_dict[module_name][class_name] = []
if not test_name in modules_dict[module_name][class_name]:
modules_dict[module_name][class_name].append(test_name)
if module_name and module_name not in modules_dict:
modules_dict[module_name] = {}
if class_name and class_name not in modules_dict[module_name]:
modules_dict[module_name][class_name] = []
if test_name and test_name not in modules_dict[module_name][class_name]:
modules_dict[module_name][class_name].append(test_name)
return modules_dict

View File

@@ -45,6 +45,14 @@ class OETestResult(_TestResult):
self.tc = tc
self._tc_map_results()
def startTest(self, test):
# Allow us to trigger the testcase buffer mode on a per test basis
# so stdout/stderr are only printed upon failure. Enables debugging
# but clean output
if hasattr(test, "buffer"):
self.buffer = test.buffer
super(OETestResult, self).startTest(test)
def _tc_map_results(self):
self.tc._results['failures'] = self.failures
self.tc._results['errors'] = self.errors

View File

@@ -31,7 +31,7 @@ class OEQemuTarget(OESSHTarget):
deploy_dir_image=dir_image, display=display,
logfile=bootlog, boottime=boottime,
use_kvm=kvm, dump_dir=dump_dir,
dump_host_cmds=dump_host_cmds)
dump_host_cmds=dump_host_cmds, logger=logger)
def start(self, params=None, extra_bootparams=None):
if self.runner.start(params, extra_bootparams=extra_bootparams):

View File

@@ -83,7 +83,7 @@ class OESSHTarget(OETarget):
processTimeout = self.timeout
status, output = self._run(sshCmd, processTimeout, True)
self.logger.info('\nCommand: %s\nOutput: %s\n' % (command, output))
self.logger.debug('Command: %s\nOutput: %s\n' % (command, output))
return (status, output)
def copyTo(self, localSrc, remoteDst):

View File

@@ -13,6 +13,8 @@ from oeqa.core.decorator.oeid import OETestID
class DevtoolBase(OESelftestTestCase):
buffer = True
def _test_recipe_contents(self, recipefile, checkvars, checkinherits):
with open(recipefile, 'r') as f:
invar = None

View File

@@ -10,6 +10,8 @@ class ImageFeatures(OESelftestTestCase):
test_user = 'tester'
root_user = 'root'
buffer = True
@OETestID(1107)
def test_non_root_user_can_connect_via_ssh_without_password(self):
"""
@@ -226,3 +228,13 @@ class ImageFeatures(OESelftestTestCase):
# check if result image is in deploy directory
self.assertTrue(os.path.exists(image_path),
"%s image %s doesn't exist" % (itype, image_path))
def test_useradd_static(self):
config = """
USERADDEXTENSION = "useradd-staticids"
USERADD_ERROR_DYNAMIC = "skip"
USERADD_UID_TABLES += "files/static-passwd"
USERADD_GID_TABLES += "files/static-group"
"""
self.write_config(config)
bitbake("core-image-base")

View File

@@ -3,7 +3,6 @@
#
import re
import logging
from oeqa.selftest.case import OESelftestTestCase
from oeqa.utils.commands import bitbake, runqemu, get_bb_var
@@ -14,6 +13,8 @@ class RunqemuTests(OESelftestTestCase):
image_is_ready = False
deploy_dir_image = ''
# We only want to print runqemu stdout/stderr if there is a test case failure
buffer = True
def setUpLocal(self):
super(RunqemuTests, self).setUpLocal()
@@ -22,10 +23,6 @@ class RunqemuTests(OESelftestTestCase):
self.fstypes = "ext4 iso hddimg wic.vmdk wic.qcow2 wic.vdi"
self.cmd_common = "runqemu nographic"
# Avoid emit the same record multiple times.
mainlogger = logging.getLogger("BitBake.Main")
mainlogger.propagate = False
self.write_config(
"""
MACHINE = "%s"

View File

@@ -1,5 +1,6 @@
from oeqa.selftest.case import OESelftestTestCase
from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_bb_vars, runqemu
from oeqa.utils.sshcontrol import SSHControl
from oeqa.core.decorator.oeid import OETestID
import os
import re
@@ -243,7 +244,7 @@ postinst-delayed-t \
with self.subTest(init_manager=init_manager, package_class=classes):
features = 'MACHINE = "qemux86"\n'
features += 'CORE_IMAGE_EXTRA_INSTALL += "%s %s "\n'% (rootfs_pkg, boot_pkg)
features += 'IMAGE_FEATURES += "ssh-server-openssh"\n'
features += 'IMAGE_FEATURES += "package-management empty-root-password"\n'
features += 'PACKAGE_CLASSES = "%s"\n' % classes
if init_manager == "systemd":
features += 'DISTRO_FEATURES_append = " systemd"\n'
@@ -262,6 +263,5 @@ postinst-delayed-t \
testcommand = 'ls /etc/' + fileboot_name
with runqemu('core-image-minimal') as qemu:
sshargs = '-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no'
result = runCmd('ssh %s root@%s %s' % (sshargs, qemu.ip, testcommand))
self.assertEqual(result.status, 0, 'File %s was not created at firts boot'% fileboot_name)
status, output = qemu.run_serial("-f /etc/" + fileboot_name)
self.assertEqual(status, 0, 'File %s was not created at first boot (%s)' % (fileboot_name, output))

View File

@@ -18,44 +18,18 @@ from oeqa.utils.dump import TargetDumper
from oeqa.controllers.testtargetloader import TestTargetLoader
from abc import ABCMeta, abstractmethod
logger = logging.getLogger('BitBake.QemuRunner')
def get_target_controller(d):
testtarget = d.getVar("TEST_TARGET")
# old, simple names
if testtarget == "qemu":
return QemuTarget(d)
elif testtarget == "simpleremote":
return SimpleRemoteTarget(d)
else:
# use the class name
try:
# is it a core class defined here?
controller = getattr(sys.modules[__name__], testtarget)
except AttributeError:
# nope, perhaps a layer defined one
try:
bbpath = d.getVar("BBPATH").split(':')
testtargetloader = TestTargetLoader()
controller = testtargetloader.get_controller_module(testtarget, bbpath)
except ImportError as e:
bb.fatal("Failed to import {0} from available controller modules:\n{1}".format(testtarget,traceback.format_exc()))
except AttributeError as e:
bb.fatal("Invalid TEST_TARGET - " + str(e))
return controller(d)
class BaseTarget(object, metaclass=ABCMeta):
supported_image_fstypes = []
def __init__(self, d):
def __init__(self, d, logger):
self.connection = None
self.ip = None
self.server_ip = None
self.datetime = d.getVar('DATETIME')
self.testdir = d.getVar("TEST_LOG_DIR")
self.pn = d.getVar("PN")
self.logger = logger
@abstractmethod
def deploy(self):
@@ -65,7 +39,7 @@ class BaseTarget(object, metaclass=ABCMeta):
if os.path.islink(sshloglink):
os.unlink(sshloglink)
os.symlink(self.sshlog, sshloglink)
logger.info("SSH log file: %s" % self.sshlog)
self.logger.info("SSH log file: %s" % self.sshlog)
@abstractmethod
def start(self, params=None, ssh=True, extra_bootparams=None):
@@ -115,9 +89,9 @@ class QemuTarget(BaseTarget):
supported_image_fstypes = ['ext3', 'ext4', 'cpio.gz', 'wic']
def __init__(self, d, image_fstype=None):
def __init__(self, d, logger, image_fstype=None):
super(QemuTarget, self).__init__(d)
super(QemuTarget, self).__init__(d, logger)
self.rootfs = ''
self.kernel = ''
@@ -145,7 +119,7 @@ class QemuTarget(BaseTarget):
self.qemurunnerlog = os.path.join(self.testdir, 'qemurunner_log.%s' % self.datetime)
loggerhandler = logging.FileHandler(self.qemurunnerlog)
loggerhandler.setFormatter(logging.Formatter("%(levelname)s: %(message)s"))
logger.addHandler(loggerhandler)
self.logger.addHandler(loggerhandler)
oe.path.symlink(os.path.basename(self.qemurunnerlog), os.path.join(self.testdir, 'qemurunner_log'), force=True)
if d.getVar("DISTRO") == "poky-tiny":
@@ -156,7 +130,8 @@ class QemuTarget(BaseTarget):
display = d.getVar("BB_ORIGENV", False).getVar("DISPLAY"),
logfile = self.qemulog,
kernel = self.kernel,
boottime = int(d.getVar("TEST_QEMUBOOT_TIMEOUT")))
boottime = int(d.getVar("TEST_QEMUBOOT_TIMEOUT")),
logger = logger)
else:
self.runner = QemuRunner(machine=d.getVar("MACHINE"),
rootfs=self.rootfs,
@@ -167,7 +142,8 @@ class QemuTarget(BaseTarget):
boottime = int(d.getVar("TEST_QEMUBOOT_TIMEOUT")),
use_kvm = use_kvm,
dump_dir = dump_dir,
dump_host_cmds = d.getVar("testimage_dump_host"))
dump_host_cmds = d.getVar("testimage_dump_host"),
logger = logger)
self.target_dumper = TargetDumper(dump_target_cmds, dump_dir, self.runner)
@@ -179,8 +155,8 @@ class QemuTarget(BaseTarget):
os.unlink(qemuloglink)
os.symlink(self.qemulog, qemuloglink)
logger.info("rootfs file: %s" % self.rootfs)
logger.info("Qemu log file: %s" % self.qemulog)
self.logger.info("rootfs file: %s" % self.rootfs)
self.logger.info("Qemu log file: %s" % self.qemulog)
super(QemuTarget, self).deploy()
def start(self, params=None, ssh=True, extra_bootparams='', runqemuparams='', launch_cmd='', discard_writes=True):
@@ -232,14 +208,14 @@ class SimpleRemoteTarget(BaseTarget):
self.port = addr.split(":")[1]
except IndexError:
self.port = None
logger.info("Target IP: %s" % self.ip)
self.logger.info("Target IP: %s" % self.ip)
self.server_ip = d.getVar("TEST_SERVER_IP")
if not self.server_ip:
try:
self.server_ip = subprocess.check_output(['ip', 'route', 'get', self.ip ]).split("\n")[0].split()[-1]
except Exception as e:
bb.fatal("Failed to determine the host IP address (alternatively you can set TEST_SERVER_IP with the IP address of this machine): %s" % e)
logger.info("Server IP: %s" % self.server_ip)
self.logger.info("Server IP: %s" % self.server_ip)
def deploy(self):
super(SimpleRemoteTarget, self).deploy()

View File

@@ -296,6 +296,12 @@ def runqemu(pn, ssh=True, runqemuparams='', image_fstype=None, launch_cmd=None,
import bb.tinfoil
import bb.build
# Need a non-'BitBake' logger to capture the runner output
targetlogger = logging.getLogger('TargetRunner')
targetlogger.setLevel(logging.DEBUG)
handler = logging.StreamHandler(sys.stdout)
targetlogger.addHandler(handler)
tinfoil = bb.tinfoil.Tinfoil()
tinfoil.prepare(config_only=False, quiet=True)
try:
@@ -313,31 +319,15 @@ def runqemu(pn, ssh=True, runqemuparams='', image_fstype=None, launch_cmd=None,
for key, value in overrides.items():
recipedata.setVar(key, value)
# The QemuRunner log is saved out, but we need to ensure it is at the right
# log level (and then ensure that since it's a child of the BitBake logger,
# we disable propagation so we don't then see the log events on the console)
logger = logging.getLogger('BitBake.QemuRunner')
logger.setLevel(logging.DEBUG)
logger.propagate = False
logdir = recipedata.getVar("TEST_LOG_DIR")
qemu = oeqa.targetcontrol.QemuTarget(recipedata, image_fstype)
qemu = oeqa.targetcontrol.QemuTarget(recipedata, targetlogger, image_fstype)
finally:
# We need to shut down tinfoil early here in case we actually want
# to run tinfoil-using utilities with the running QEMU instance.
# Luckily QemuTarget doesn't need it after the constructor.
tinfoil.shutdown()
# Setup bitbake logger as console handler is removed by tinfoil.shutdown
bblogger = logging.getLogger('BitBake')
bblogger.setLevel(logging.INFO)
console = logging.StreamHandler(sys.stdout)
bbformat = bb.msg.BBLogFormatter("%(levelname)s: %(message)s")
if sys.stdout.isatty():
bbformat.enable_color()
console.setFormatter(bbformat)
bblogger.addHandler(console)
try:
qemu.deploy()
try:
@@ -352,6 +342,7 @@ def runqemu(pn, ssh=True, runqemuparams='', image_fstype=None, launch_cmd=None,
qemu.stop()
except:
pass
targetlogger.removeHandler(handler)
def updateEnv(env_file):
"""

View File

@@ -28,7 +28,7 @@ re_control_char = re.compile('[%s]' % re.escape("".join(control_chars)))
class QemuRunner:
def __init__(self, machine, rootfs, display, tmpdir, deploy_dir_image, logfile, boottime, dump_dir, dump_host_cmds, use_kvm):
def __init__(self, machine, rootfs, display, tmpdir, deploy_dir_image, logfile, boottime, dump_dir, dump_host_cmds, use_kvm, logger):
# Popen object for runqemu
self.runqemu = None
@@ -57,8 +57,7 @@ class QemuRunner:
self.qemu_pidfile = 'pidfile_'+str(os.getpid())
self.host_dumper = HostDumper(dump_host_cmds, dump_dir)
self.logger = logging.getLogger("BitBake.QemuRunner")
self.logger.addHandler(logging.StreamHandler(sys.stdout))
self.logger = logger
def create_socket(self):
try:
@@ -67,7 +66,7 @@ class QemuRunner:
sock.bind(("127.0.0.1",0))
sock.listen(2)
port = sock.getsockname()[1]
self.logger.info("Created listening socket for qemu serial console on: 127.0.0.1:%s" % port)
self.logger.debug("Created listening socket for qemu serial console on: 127.0.0.1:%s" % port)
return (sock, port)
except socket.error:
@@ -94,8 +93,8 @@ class QemuRunner:
def handleSIGCHLD(self, signum, frame):
if self.runqemu and self.runqemu.poll():
if self.runqemu.returncode:
self.logger.info('runqemu exited with code %d' % self.runqemu.returncode)
self.logger.info("Output from runqemu:\n%s" % self.getOutput(self.runqemu.stdout))
self.logger.debug('runqemu exited with code %d' % self.runqemu.returncode)
self.logger.debug("Output from runqemu:\n%s" % self.getOutput(self.runqemu.stdout))
self.stop()
self._dump_host()
raise SystemExit
@@ -124,10 +123,10 @@ class QemuRunner:
if not launch_cmd:
launch_cmd = 'runqemu %s %s ' % ('snapshot' if discard_writes else '', runqemuparams)
if self.use_kvm:
self.logger.info('Using kvm for runqemu')
self.logger.debug('Using kvm for runqemu')
launch_cmd += ' kvm'
else:
self.logger.info('Not using kvm for runqemu')
self.logger.debug('Not using kvm for runqemu')
if not self.display:
launch_cmd += ' nographic'
launch_cmd += ' %s %s' % (self.machine, self.rootfs)
@@ -159,7 +158,7 @@ class QemuRunner:
self.origchldhandler = signal.getsignal(signal.SIGCHLD)
signal.signal(signal.SIGCHLD, self.handleSIGCHLD)
self.logger.info('launchcmd=%s'%(launch_cmd))
self.logger.debug('launchcmd=%s'%(launch_cmd))
# FIXME: We pass in stdin=subprocess.PIPE here to work around stty
# blocking at the end of the runqemu script when using this within
@@ -194,17 +193,17 @@ class QemuRunner:
os.killpg(os.getpgid(self.runqemu.pid), signal.SIGTERM)
sys.exit(0)
self.logger.info("runqemu started, pid is %s" % self.runqemu.pid)
self.logger.info("waiting at most %s seconds for qemu pid" % self.runqemutime)
self.logger.debug("runqemu started, pid is %s" % self.runqemu.pid)
self.logger.debug("waiting at most %s seconds for qemu pid" % self.runqemutime)
endtime = time.time() + self.runqemutime
while not self.is_alive() and time.time() < endtime:
if self.runqemu.poll():
if self.runqemu.returncode:
# No point waiting any longer
self.logger.info('runqemu exited with code %d' % self.runqemu.returncode)
self.logger.debug('runqemu exited with code %d' % self.runqemu.returncode)
self._dump_host()
self.stop()
self.logger.info("Output from runqemu:\n%s" % self.getOutput(output))
self.logger.debug("Output from runqemu:\n%s" % self.getOutput(output))
return False
time.sleep(0.5)
@@ -213,7 +212,7 @@ class QemuRunner:
# Dump all processes to help us to figure out what is going on...
ps = subprocess.Popen(['ps', 'axww', '-o', 'pid,ppid,command '], stdout=subprocess.PIPE).communicate()[0]
processes = ps.decode("utf-8")
self.logger.info("Running processes:\n%s" % processes)
self.logger.debug("Running processes:\n%s" % processes)
self._dump_host()
self.stop()
op = self.getOutput(output)
@@ -226,7 +225,7 @@ class QemuRunner:
# We are alive: qemu is running
out = self.getOutput(output)
netconf = False # network configuration is not required by default
self.logger.info("qemu started in %s seconds - qemu procces pid is %s" % (time.time() - (endtime - self.runqemutime), self.qemupid))
self.logger.debug("qemu started in %s seconds - qemu procces pid is %s" % (time.time() - (endtime - self.runqemutime), self.qemupid))
if get_ip:
cmdline = ''
with open('/proc/%s/cmdline' % self.qemupid) as p:
@@ -238,7 +237,7 @@ class QemuRunner:
ips = re.findall("((?:[0-9]{1,3}\.){3}[0-9]{1,3})", cmdline.split("ip=")[1])
self.ip = ips[0]
self.server_ip = ips[1]
self.logger.info("qemu cmdline used:\n{}".format(cmdline))
self.logger.debug("qemu cmdline used:\n{}".format(cmdline))
except (IndexError, ValueError):
# Try to get network configuration from runqemu output
match = re.match('.*Network configuration: ([0-9.]+)::([0-9.]+):([0-9.]+)$.*',
@@ -257,8 +256,8 @@ class QemuRunner:
self.stop()
return False
self.logger.info("Target IP: %s" % self.ip)
self.logger.info("Server IP: %s" % self.server_ip)
self.logger.debug("Target IP: %s" % self.ip)
self.logger.debug("Server IP: %s" % self.server_ip)
self.thread = LoggingThread(self.log, threadsock, self.logger)
self.thread.start()
@@ -269,14 +268,14 @@ class QemuRunner:
self.stop_thread()
return False
self.logger.info("Output from runqemu:\n%s", out)
self.logger.info("Waiting at most %d seconds for login banner" % self.boottime)
self.logger.debug("Output from runqemu:\n%s", out)
self.logger.debug("Waiting at most %d seconds for login banner" % self.boottime)
endtime = time.time() + self.boottime
socklist = [self.server_socket]
reachedlogin = False
stopread = False
qemusock = None
bootlog = ''
bootlog = b''
data = b''
while time.time() < endtime and not stopread:
try:
@@ -289,21 +288,17 @@ class QemuRunner:
qemusock.setblocking(0)
socklist.append(qemusock)
socklist.remove(self.server_socket)
self.logger.info("Connection from %s:%s" % addr)
self.logger.debug("Connection from %s:%s" % addr)
else:
data = data + sock.recv(1024)
if data:
try:
data = data.decode("utf-8", errors="surrogateescape")
bootlog += data
data = b''
if re.search(".* login:", bootlog):
self.server_socket = qemusock
stopread = True
reachedlogin = True
self.logger.info("Reached login banner")
except UnicodeDecodeError:
continue
bootlog += data
data = b''
if b' login:' in bootlog:
self.server_socket = qemusock
stopread = True
reachedlogin = True
self.logger.debug("Reached login banner")
else:
socklist.remove(sock)
sock.close()
@@ -311,12 +306,12 @@ class QemuRunner:
if not reachedlogin:
self.logger.info("Target didn't reached login boot in %d seconds" % self.boottime)
self.logger.debug("Target didn't reached login boot in %d seconds" % self.boottime)
tail = lambda l: "\n".join(l.splitlines()[-25:])
# in case bootlog is empty, use tail qemu log store at self.msg
lines = tail(bootlog if bootlog else self.msg)
self.logger.info("Last 25 lines of text:\n%s" % lines)
self.logger.info("Check full boot log: %s" % self.logfile)
self.logger.debug("Last 25 lines of text:\n%s" % lines)
self.logger.debug("Check full boot log: %s" % self.logfile)
self._dump_host()
self.stop()
return False
@@ -326,20 +321,20 @@ class QemuRunner:
(status, output) = self.run_serial("root\n", raw=True)
if re.search("root@[a-zA-Z0-9\-]+:~#", output):
self.logged = True
self.logger.info("Logged as root in serial console")
self.logger.debug("Logged as root in serial console")
if netconf:
# configure guest networking
cmd = "ifconfig eth0 %s netmask %s up\n" % (self.ip, self.netmask)
output = self.run_serial(cmd, raw=True)[1]
if re.search("root@[a-zA-Z0-9\-]+:~#", output):
self.logger.info("configured ip address %s", self.ip)
self.logger.debug("configured ip address %s", self.ip)
else:
self.logger.info("Couldn't configure guest networking")
else:
self.logger.info("Couldn't login into serial console"
" as root using blank password")
self.logger.debug("Couldn't configure guest networking")
else:
self.logger.debug("Couldn't login into serial console"
" as root using blank password")
except:
self.logger.info("Serial console failed while trying to login")
self.logger.debug("Serial console failed while trying to login")
return True
def stop(self):
@@ -350,7 +345,7 @@ class QemuRunner:
if self.runqemu:
if hasattr(self, "monitorpid"):
os.kill(self.monitorpid, signal.SIGKILL)
self.logger.info("Sending SIGTERM to runqemu")
self.logger.debug("Sending SIGTERM to runqemu")
try:
os.killpg(os.getpgid(self.runqemu.pid), signal.SIGTERM)
except OSError as e:
@@ -360,7 +355,7 @@ class QemuRunner:
while self.runqemu.poll() is None and time.time() < endtime:
time.sleep(1)
if self.runqemu.poll() is None:
self.logger.info("Sending SIGKILL to runqemu")
self.logger.debug("Sending SIGKILL to runqemu")
os.killpg(os.getpgid(self.runqemu.pid), signal.SIGKILL)
self.runqemu = None
if hasattr(self, 'server_socket') and self.server_socket:
@@ -385,7 +380,7 @@ class QemuRunner:
self.thread.join()
def restart(self, qemuparams = None):
self.logger.info("Restarting qemu process")
self.logger.debug("Restarting qemu process")
if self.runqemu.poll() is None:
self.stop()
if self.start(qemuparams):
@@ -483,17 +478,17 @@ class LoggingThread(threading.Thread):
self.teardown()
def run(self):
self.logger.info("Starting logging thread")
self.logger.debug("Starting logging thread")
self.readpipe, self.writepipe = os.pipe()
threading.Thread.run(self)
def stop(self):
self.logger.info("Stopping logging thread")
self.logger.debug("Stopping logging thread")
if self.running:
os.write(self.writepipe, bytes("stop", "utf-8"))
def teardown(self):
self.logger.info("Tearing down logging thread")
self.logger.debug("Tearing down logging thread")
self.close_socket(self.serversock)
if self.readsock is not None:
@@ -511,7 +506,7 @@ class LoggingThread(threading.Thread):
breakout = False
self.running = True
self.logger.info("Starting thread event loop")
self.logger.debug("Starting thread event loop")
while not breakout:
events = poll.poll()
for event in events:
@@ -521,19 +516,19 @@ class LoggingThread(threading.Thread):
# Event to stop the thread
if self.readpipe == event[0]:
self.logger.info("Stop event received")
self.logger.debug("Stop event received")
breakout = True
break
# A connection request was received
elif self.serversock.fileno() == event[0]:
self.logger.info("Connection request received")
self.logger.debug("Connection request received")
self.readsock, _ = self.serversock.accept()
self.readsock.setblocking(0)
poll.unregister(self.serversock.fileno())
poll.register(self.readsock.fileno(), event_read_mask)
self.logger.info("Setting connection established event")
self.logger.debug("Setting connection established event")
self.connection_established.set()
# Actual data to be logged

View File

@@ -17,7 +17,7 @@ from .qemurunner import QemuRunner
class QemuTinyRunner(QemuRunner):
def __init__(self, machine, rootfs, display, tmpdir, deploy_dir_image, logfile, kernel, boottime):
def __init__(self, machine, rootfs, display, tmpdir, deploy_dir_image, logfile, kernel, boottime, logger):
# Popen object for runqemu
self.runqemu = None
@@ -40,6 +40,7 @@ class QemuTinyRunner(QemuRunner):
self.socketfile = "console.sock"
self.server_socket = None
self.kernel = kernel
self.logger = logger
def create_socket(self):

View File

@@ -150,12 +150,9 @@ class SSHControl(object):
def copy_to(self, localpath, remotepath):
if os.path.islink(localpath):
link = os.readlink(localpath)
dst_dir, dst_base = os.path.split(remotepath)
return self.run("cd %s; ln -s %s %s" % (dst_dir, link, dst_base))
else:
command = self.scp + [localpath, '%s@%s:%s' % (self.user, self.ip, remotepath)]
return self._internal_run(command, ignore_status=False)
localpath = os.path.dirname(localpath) + "/" + os.readlink(localpath)
command = self.scp + [localpath, '%s@%s:%s' % (self.user, self.ip, remotepath)]
return self._internal_run(command, ignore_status=False)
def copy_from(self, remotepath, localpath):
command = self.scp + ['%s@%s:%s' % (self.user, self.ip, remotepath), localpath]

View File

@@ -41,6 +41,16 @@ do_install_class-native() {
install -m 755 grub-mkimage ${D}${bindir}
}
do_install_append_class-target() {
# Remove build host references...
find "${D}" -name modinfo.sh -type f -exec \
sed -i \
-e 's,--sysroot=${STAGING_DIR_TARGET},,g' \
-e 's|${DEBUG_PREFIX_MAP}||g' \
-e 's:${RECIPE_SYSROOT_NATIVE}::g' \
{} +
}
GRUB_BUILDIN ?= "boot linux ext2 fat serial part_msdos part_gpt normal efi_gop iso9660 search"
do_deploy() {

View File

@@ -8,6 +8,13 @@ FILES_grub-editenv = "${bindir}/grub-editenv"
do_install_append () {
install -d ${D}${sysconfdir}/grub.d
# Remove build host references...
find "${D}" -name modinfo.sh -type f -exec \
sed -i \
-e 's,--sysroot=${STAGING_DIR_TARGET},,g' \
-e 's|${DEBUG_PREFIX_MAP}||g' \
-e 's:${RECIPE_SYSROOT_NATIVE}::g' \
{} +
}
INSANE_SKIP_${PN} = "arch"

View File

@@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=dba46507446198119bcde32a4feaab43"
DEPENDS = "openssl libcap"
SRC_URI = "ftp://ftp.isc.org/isc/bind9/${PV}/${BPN}-${PV}.tar.gz \
SRC_URI = "https://ftp.isc.org/isc/bind9/${PV}/${BPN}-${PV}.tar.gz \
file://conf.patch \
file://make-etc-initd-bind-stop-work.patch \
file://dont-test-on-host.patch \
@@ -23,7 +23,7 @@ SRC_URI = "ftp://ftp.isc.org/isc/bind9/${PV}/${BPN}-${PV}.tar.gz \
file://use-python3-and-fix-install-lib-path.patch \
"
UPSTREAM_CHECK_URI = "ftp://ftp.isc.org/isc/bind9/"
UPSTREAM_CHECK_URI = "https://ftp.isc.org/isc/bind9/"
UPSTREAM_CHECK_REGEX = "(?P<pver>9(\.\d+)+(-P\d+)*)/"
SRC_URI[md5sum] = "d79cafbd9ac76239ee532dd89d05cc83"

View File

@@ -27,7 +27,7 @@ UPSTREAM_CHECK_REGEX = "(?P<pver>\d+\.\d+\.(\d+?))/"
inherit autotools systemd useradd update-rc.d
USERADD_PACKAGES = "${PN}-server"
USERADD_PARAM_${PN}-server = "--system --no-create-home --home-dir /var/run/${PN} --shell /bin/false --user-group ${PN}"
USERADD_PARAM_${PN}-server = "--system --no-create-home --home-dir /var/run/${BPN} --shell /bin/false --user-group ${BPN}"
SYSTEMD_PACKAGES = "${PN}-server ${PN}-relay ${PN}-client"
SYSTEMD_SERVICE_${PN}-server = "dhcpd.service dhcpd6.service"

View File

@@ -0,0 +1,37 @@
From 501543b3ef715488a142e3d301ff2733aa33eec7 Mon Sep 17 00:00:00 2001
From: Awais Belal <awais_belal@mentor.com>
Date: Wed, 25 Oct 2017 21:00:05 +0500
Subject: [PATCH] dhcp: correct the intention for xml2 lib search
A missing case breaks the build when libxml2 is
required and found appropriately. The third argument
to the function AC_SEARCH_LIB is action-if-found which
was mistakenly been used for the case where the library
is not found and hence breaks the configure phase
where it shoud actually pass.
We now pass on silently when action-if-found is
executed.
Upstream-Status: Pending
Signed-off-by: Awais Belal <awais_belal@mentor.com>
---
configure.ac | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac
index bfe988a..f0459e6 100644
--- a/configure.ac
+++ b/configure.ac
@@ -608,7 +608,7 @@ AC_ARG_WITH(libxml2,
with_libxml2="$withval", with_libxml2="no")
if test x$with_libxml2 != xno; then
- AC_SEARCH_LIBS(xmlTextWriterStartElement, [xml2],
+ AC_SEARCH_LIBS(xmlTextWriterStartElement, [xml2],,
[if test x$with_libxml2 != xauto; then
AC_MSG_FAILURE([*** Cannot find xmlTextWriterStartElement with -lxml2 and libxml2 was requested])
fi])
--
2.11.1

View File

@@ -11,6 +11,7 @@ SRC_URI += "file://0001-define-macro-_PATH_DHCPD_CONF-and-_PATH_DHCLIENT_CON.pat
file://0009-remove-dhclient-script-bash-dependency.patch \
file://0010-build-shared-libs.patch \
file://0011-Moved-the-call-to-isc_app_ctxstart-to-not-get-signal.patch \
file://0012-dhcp-correct-the-intention-for-xml2-lib-search.patch \
"
SRC_URI[md5sum] = "afa6e9b3eb7539ea048421a82c668adc"

View File

@@ -0,0 +1,46 @@
From 3d9199423d48766649a2b2ebb3924e892ed16fa4 Mon Sep 17 00:00:00 2001
From: Randy MacLeod <Randy.MacLeod@windriver.com>
Date: Tue, 20 Jun 2017 15:32:08 -0400
Subject: [PATCH] openssl: Force soft link to avoid rare race
This patch works around a rare parallel build race condition.
The error seen is:
ln: failed to create symbolic link 'libssl.so': File exists
make[4]: *** [Makefile.shared:171: link_a.gnu] Error 1
make[4]: Leaving directory
'/.../build/tmp-glibc/work/x86_64-linux/openssl-native/1.0.2k-r0/openssl-1.0.2k'
The openssl team is rewriting their build files so it's not
appropriate for openssl upstream and fixing the root cause of
the Makefile race condition was also not pursued.
Upstream-Status: Inappropriate [build rules rewrite in progress]
Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com>
---
Makefile.shared | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/Makefile.shared b/Makefile.shared
index e8d222a..1bff92f 100644
--- a/Makefile.shared
+++ b/Makefile.shared
@@ -118,14 +118,14 @@
if [ -n "$$SHLIB_COMPAT" ]; then \
for x in $$SHLIB_COMPAT; do \
( $(SET_X); rm -f $$SHLIB$$x$$SHLIB_SUFFIX; \
- ln -s $$prev $$SHLIB$$x$$SHLIB_SUFFIX ); \
+ ln -sf $$prev $$SHLIB$$x$$SHLIB_SUFFIX ); \
prev=$$SHLIB$$x$$SHLIB_SUFFIX; \
done; \
fi; \
if [ -n "$$SHLIB_SOVER" ]; then \
[ -e "$$SHLIB$$SHLIB_SUFFIX" ] || \
( $(SET_X); rm -f $$SHLIB$$SHLIB_SUFFIX; \
- ln -s $$prev $$SHLIB$$SHLIB_SUFFIX ); \
+ ln -sf $$prev $$SHLIB$$SHLIB_SUFFIX ); \
fi; \
fi
--
2.9.3

View File

@@ -41,6 +41,7 @@ SRC_URI += "file://find.pl;subdir=openssl-${PV}/util/ \
file://openssl-util-perlpath.pl-cwd.patch \
file://Use-SHA256-not-MD5-as-default-digest.patch \
file://0001-Fix-build-with-clang-using-external-assembler.patch \
file://0001-openssl-force-soft-link-to-avoid-rare-race.patch \
"
SRC_URI[md5sum] = "f85123cd390e864dfbe517e7616e6566"
SRC_URI[sha256sum] = "ce07195b659e75f4e1db43552860070061f156a98bb37b672b101ba6e3ddf30c"

View File

@@ -22,7 +22,7 @@ IMAGE_FSTYPES = "wic.vmdk"
inherit core-image module-base setuptools3
SRCREV ?= "1d57ca352f798dd671fd8c15ee4286644c49c4b9"
SRCREV ?= "ab4310e7b8eb086e6a04f088e1f6e9e1ebf1b390"
SRC_URI = "git://git.yoctoproject.org/poky;branch=master \
file://Yocto_Build_Appliance.vmx \
file://Yocto_Build_Appliance.vmxf \

View File

@@ -21,4 +21,4 @@ INHIBIT_DEFAULT_DEPS = "1"
FILES_${PN} = " /install-efi.sh "
COMPATIBLE_HOST = "(i.86|x86_64).*-linux"
COMPATIBLE_HOST = "(i.86.*|x86_64.*|aarch64.*)-linux"

View File

@@ -21,4 +21,4 @@ INHIBIT_DEFAULT_DEPS = "1"
FILES_${PN} = " /install.sh "
COMPATIBLE_HOST = "(i.86|x86_64).*-linux"
COMPATIBLE_HOST = "(i.86.*|x86_64.*|aarch64.*)-linux"

View File

@@ -4,7 +4,6 @@
SUMMARY = "Host packages for the standalone SDK or external toolchain"
PR = "r12"
LICENSE = "MIT"
inherit packagegroup nativesdk

View File

@@ -108,7 +108,7 @@ for service in $services; do
# If any new unit types are added to systemd they should be added
# to this regular expression.
unit_types_re='\.\(service\|socket\|device\|mount\|automount\|swap\|target\|path\|timer\|snapshot\)\s*$'
unit_types_re='\.\(service\|socket\|device\|mount\|automount\|swap\|target\|target\.wants\|path\|timer\|snapshot\)\s*$'
if [ "$action" = "preset" ]; then
action=`egrep -sh $service $ROOT/etc/systemd/user-preset/*.preset | cut -f1 -d' '`
if [ -z "$action" ]; then

View File

@@ -0,0 +1,43 @@
From 3ca5326485cb19e775af6de615c17be66e44e472 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Tue, 24 Oct 2017 23:08:24 -0700
Subject: [PATCH] Define _PATH_WTMPX and _PATH_UTMPX if not defined
Musl needs these defines
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
Upstream-Status: Pending
src/shared/utmp-wtmp.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/src/shared/utmp-wtmp.c b/src/shared/utmp-wtmp.c
index 9750dcd81..bd55d74a1 100644
--- a/src/shared/utmp-wtmp.c
+++ b/src/shared/utmp-wtmp.c
@@ -27,6 +27,7 @@
#include <sys/time.h>
#include <sys/utsname.h>
#include <unistd.h>
+#include <utmp.h>
#include <utmpx.h>
#include "alloc-util.h"
@@ -41,6 +42,13 @@
#include "util.h"
#include "utmp-wtmp.h"
+#if defined _PATH_UTMP && !defined _PATH_UTMPX
+# define _PATH_UTMPX _PATH_UTMP
+#endif
+#if defined _PATH_WTMP && !defined _PATH_WTMPX
+# define _PATH_WTMPX _PATH_WTMP
+#endif
+
int utmp_get_runlevel(int *runlevel, int *previous) {
struct utmpx *found, lookup = { .ut_type = RUN_LVL };
int r;
--
2.14.3

View File

@@ -0,0 +1,89 @@
From b2d4171c6e521cf1e70331fb769234d63a4a6d44 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 27 Oct 2017 13:00:41 -0700
Subject: [PATCH] Use uintmax_t for handling rlim_t
PRIu{32,64} is not right format to represent rlim_t type
therefore use %ju and typecast the rlim_t variables to
uintmax_t.
Fixes portablility errors like
execute.c:3446:36: error: format '%lu' expects argument of type 'long unsigned int', but argument 5 has type 'rlim_t {aka long long unsigned int}' [-Werror=format=]
| fprintf(f, "%s%s: " RLIM_FMT "\n",
| ^~~~~~~~
| prefix, rlimit_to_string(i), c->rlimit[i]->rlim_max);
| ~~~~~~~~~~~~~~~~~~~~~~
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
Upstream-Status: Submitted [https://github.com/systemd/systemd/pull/7199]
src/basic/format-util.h | 8 --------
src/basic/rlimit-util.c | 8 ++++----
src/core/execute.c | 8 ++++----
3 files changed, 8 insertions(+), 16 deletions(-)
diff --git a/src/basic/format-util.h b/src/basic/format-util.h
index ae42a8f89..144249cd6 100644
--- a/src/basic/format-util.h
+++ b/src/basic/format-util.h
@@ -60,14 +60,6 @@
# define PRI_TIMEX "li"
#endif
-#if SIZEOF_RLIM_T == 8
-# define RLIM_FMT "%" PRIu64
-#elif SIZEOF_RLIM_T == 4
-# define RLIM_FMT "%" PRIu32
-#else
-# error Unknown rlim_t size
-#endif
-
#if SIZEOF_DEV_T == 8
# define DEV_FMT "%" PRIu64
#elif SIZEOF_DEV_T == 4
diff --git a/src/basic/rlimit-util.c b/src/basic/rlimit-util.c
index ca834df62..41fcebb74 100644
--- a/src/basic/rlimit-util.c
+++ b/src/basic/rlimit-util.c
@@ -284,13 +284,13 @@ int rlimit_format(const struct rlimit *rl, char **ret) {
if (rl->rlim_cur >= RLIM_INFINITY && rl->rlim_max >= RLIM_INFINITY)
s = strdup("infinity");
else if (rl->rlim_cur >= RLIM_INFINITY)
- (void) asprintf(&s, "infinity:" RLIM_FMT, rl->rlim_max);
+ (void) asprintf(&s, "infinity:%ju", (uintmax_t)rl->rlim_max);
else if (rl->rlim_max >= RLIM_INFINITY)
- (void) asprintf(&s, RLIM_FMT ":infinity", rl->rlim_cur);
+ (void) asprintf(&s, "%ju:infinity", (uintmax_t)rl->rlim_cur);
else if (rl->rlim_cur == rl->rlim_max)
- (void) asprintf(&s, RLIM_FMT, rl->rlim_cur);
+ (void) asprintf(&s, "%ju", (uintmax_t)rl->rlim_cur);
else
- (void) asprintf(&s, RLIM_FMT ":" RLIM_FMT, rl->rlim_cur, rl->rlim_max);
+ (void) asprintf(&s, "%ju:%ju", (uintmax_t)rl->rlim_cur, (uintmax_t)rl->rlim_max);
if (!s)
return -ENOMEM;
diff --git a/src/core/execute.c b/src/core/execute.c
index d72e5bf08..d38946002 100644
--- a/src/core/execute.c
+++ b/src/core/execute.c
@@ -3443,10 +3443,10 @@ void exec_context_dump(ExecContext *c, FILE* f, const char *prefix) {
for (i = 0; i < RLIM_NLIMITS; i++)
if (c->rlimit[i]) {
- fprintf(f, "%s%s: " RLIM_FMT "\n",
- prefix, rlimit_to_string(i), c->rlimit[i]->rlim_max);
- fprintf(f, "%s%sSoft: " RLIM_FMT "\n",
- prefix, rlimit_to_string(i), c->rlimit[i]->rlim_cur);
+ fprintf(f, "%s%s: %ju\n",
+ prefix, rlimit_to_string(i), (uintmax_t)c->rlimit[i]->rlim_max);
+ fprintf(f, "%s%sSoft: %ju\n",
+ prefix, rlimit_to_string(i), (uintmax_t)c->rlimit[i]->rlim_cur);
}
if (c->ioprio_set) {
--
2.14.3

View File

@@ -0,0 +1,433 @@
From 0933ca6251808f856b92b0ce8da8696d5febc333 Mon Sep 17 00:00:00 2001
From: Emil Renner Berthing <systemd@esmil.dk>
Date: Mon, 23 Oct 2017 10:41:39 -0700
Subject: [PATCH 01/12] add fallback parse_printf_format implementation
Signed-off-by: Emil Renner Berthing <systemd@esmil.dk>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
Upstream-Status: Pending
Makefile.am | 4 +
configure.ac | 2 +
src/basic/parse-printf-format.c | 273 ++++++++++++++++++++++++++++++++++++++++
src/basic/parse-printf-format.h | 57 +++++++++
src/basic/stdio-util.h | 2 +-
src/journal/journal-send.c | 2 +-
6 files changed, 338 insertions(+), 2 deletions(-)
create mode 100644 src/basic/parse-printf-format.c
create mode 100644 src/basic/parse-printf-format.h
diff --git a/Makefile.am b/Makefile.am
index 692d7bb95..3cc8f3451 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -997,6 +997,10 @@ libbasic_la_SOURCES = \
src/basic/journal-importer.h \
src/basic/journal-importer.c
+if !HAVE_PRINTF_H
+libbasic_la_SOURCES += src/basic/parse-printf-format.c
+endif
+
nodist_libbasic_la_SOURCES = \
src/basic/errno-from-name.h \
src/basic/errno-to-name.h \
diff --git a/configure.ac b/configure.ac
index 60e7df5ee..efcdc6c16 100644
--- a/configure.ac
+++ b/configure.ac
@@ -308,8 +308,10 @@ AC_CHECK_HEADERS([uchar.h], [], [])
AC_CHECK_HEADERS([sys/capability.h], [], [AC_MSG_ERROR([*** POSIX caps headers not found])])
AC_CHECK_HEADERS([linux/btrfs.h], [], [])
AC_CHECK_HEADERS([linux/memfd.h], [], [])
+AC_CHECK_HEADERS([printf.h], [], [])
AC_CHECK_HEADERS([linux/vm_sockets.h], [], [], [#include <sys/socket.h>])
+AM_CONDITIONAL(HAVE_PRINTF_H, [test "x$ac_cv_header_printf_h" = xyes])
# unconditionally pull-in librt with old glibc versions
AC_SEARCH_LIBS([clock_gettime], [rt], [], [])
diff --git a/src/basic/parse-printf-format.c b/src/basic/parse-printf-format.c
new file mode 100644
index 000000000..49437e544
--- /dev/null
+++ b/src/basic/parse-printf-format.c
@@ -0,0 +1,273 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
+/***
+ This file is part of systemd.
+
+ Copyright 2014 Emil Renner Berthing <systemd@esmil.dk>
+
+ With parts from the musl C library
+ Copyright 2005-2014 Rich Felker, et al.
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
+
+#include <stddef.h>
+#include <string.h>
+
+#include "parse-printf-format.h"
+
+static const char *consume_nonarg(const char *fmt)
+{
+ do {
+ if (*fmt == '\0')
+ return fmt;
+ } while (*fmt++ != '%');
+ return fmt;
+}
+
+static const char *consume_num(const char *fmt)
+{
+ for (;*fmt >= '0' && *fmt <= '9'; fmt++)
+ /* do nothing */;
+ return fmt;
+}
+
+static const char *consume_argn(const char *fmt, size_t *arg)
+{
+ const char *p = fmt;
+ size_t val = 0;
+
+ if (*p < '1' || *p > '9')
+ return fmt;
+ do {
+ val = 10*val + (*p++ - '0');
+ } while (*p >= '0' && *p <= '9');
+
+ if (*p != '$')
+ return fmt;
+ *arg = val;
+ return p+1;
+}
+
+static const char *consume_flags(const char *fmt)
+{
+ while (1) {
+ switch (*fmt) {
+ case '#':
+ case '0':
+ case '-':
+ case ' ':
+ case '+':
+ case '\'':
+ case 'I':
+ fmt++;
+ continue;
+ }
+ return fmt;
+ }
+}
+
+enum state {
+ BARE,
+ LPRE,
+ LLPRE,
+ HPRE,
+ HHPRE,
+ BIGLPRE,
+ ZTPRE,
+ JPRE,
+ STOP
+};
+
+enum type {
+ NONE,
+ PTR,
+ INT,
+ UINT,
+ ULLONG,
+ LONG,
+ ULONG,
+ SHORT,
+ USHORT,
+ CHAR,
+ UCHAR,
+ LLONG,
+ SIZET,
+ IMAX,
+ UMAX,
+ PDIFF,
+ UIPTR,
+ DBL,
+ LDBL,
+ MAXTYPE
+};
+
+static const short pa_types[MAXTYPE] = {
+ [NONE] = PA_INT,
+ [PTR] = PA_POINTER,
+ [INT] = PA_INT,
+ [UINT] = PA_INT,
+ [ULLONG] = PA_INT | PA_FLAG_LONG_LONG,
+ [LONG] = PA_INT | PA_FLAG_LONG,
+ [ULONG] = PA_INT | PA_FLAG_LONG,
+ [SHORT] = PA_INT | PA_FLAG_SHORT,
+ [USHORT] = PA_INT | PA_FLAG_SHORT,
+ [CHAR] = PA_CHAR,
+ [UCHAR] = PA_CHAR,
+ [LLONG] = PA_INT | PA_FLAG_LONG_LONG,
+ [SIZET] = PA_INT | PA_FLAG_LONG,
+ [IMAX] = PA_INT | PA_FLAG_LONG_LONG,
+ [UMAX] = PA_INT | PA_FLAG_LONG_LONG,
+ [PDIFF] = PA_INT | PA_FLAG_LONG_LONG,
+ [UIPTR] = PA_INT | PA_FLAG_LONG,
+ [DBL] = PA_DOUBLE,
+ [LDBL] = PA_DOUBLE | PA_FLAG_LONG_DOUBLE
+};
+
+#define S(x) [(x)-'A']
+#define E(x) (STOP + (x))
+
+static const unsigned char states[]['z'-'A'+1] = {
+ { /* 0: bare types */
+ S('d') = E(INT), S('i') = E(INT),
+ S('o') = E(UINT),S('u') = E(UINT),S('x') = E(UINT), S('X') = E(UINT),
+ S('e') = E(DBL), S('f') = E(DBL), S('g') = E(DBL), S('a') = E(DBL),
+ S('E') = E(DBL), S('F') = E(DBL), S('G') = E(DBL), S('A') = E(DBL),
+ S('c') = E(CHAR),S('C') = E(INT),
+ S('s') = E(PTR), S('S') = E(PTR), S('p') = E(UIPTR),S('n') = E(PTR),
+ S('m') = E(NONE),
+ S('l') = LPRE, S('h') = HPRE, S('L') = BIGLPRE,
+ S('z') = ZTPRE, S('j') = JPRE, S('t') = ZTPRE
+ }, { /* 1: l-prefixed */
+ S('d') = E(LONG), S('i') = E(LONG),
+ S('o') = E(ULONG),S('u') = E(ULONG),S('x') = E(ULONG),S('X') = E(ULONG),
+ S('e') = E(DBL), S('f') = E(DBL), S('g') = E(DBL), S('a') = E(DBL),
+ S('E') = E(DBL), S('F') = E(DBL), S('G') = E(DBL), S('A') = E(DBL),
+ S('c') = E(INT), S('s') = E(PTR), S('n') = E(PTR),
+ S('l') = LLPRE
+ }, { /* 2: ll-prefixed */
+ S('d') = E(LLONG), S('i') = E(LLONG),
+ S('o') = E(ULLONG),S('u') = E(ULLONG),
+ S('x') = E(ULLONG),S('X') = E(ULLONG),
+ S('n') = E(PTR)
+ }, { /* 3: h-prefixed */
+ S('d') = E(SHORT), S('i') = E(SHORT),
+ S('o') = E(USHORT),S('u') = E(USHORT),
+ S('x') = E(USHORT),S('X') = E(USHORT),
+ S('n') = E(PTR),
+ S('h') = HHPRE
+ }, { /* 4: hh-prefixed */
+ S('d') = E(CHAR), S('i') = E(CHAR),
+ S('o') = E(UCHAR),S('u') = E(UCHAR),
+ S('x') = E(UCHAR),S('X') = E(UCHAR),
+ S('n') = E(PTR)
+ }, { /* 5: L-prefixed */
+ S('e') = E(LDBL),S('f') = E(LDBL),S('g') = E(LDBL), S('a') = E(LDBL),
+ S('E') = E(LDBL),S('F') = E(LDBL),S('G') = E(LDBL), S('A') = E(LDBL),
+ S('n') = E(PTR)
+ }, { /* 6: z- or t-prefixed (assumed to be same size) */
+ S('d') = E(PDIFF),S('i') = E(PDIFF),
+ S('o') = E(SIZET),S('u') = E(SIZET),
+ S('x') = E(SIZET),S('X') = E(SIZET),
+ S('n') = E(PTR)
+ }, { /* 7: j-prefixed */
+ S('d') = E(IMAX), S('i') = E(IMAX),
+ S('o') = E(UMAX), S('u') = E(UMAX),
+ S('x') = E(UMAX), S('X') = E(UMAX),
+ S('n') = E(PTR)
+ }
+};
+
+size_t parse_printf_format(const char *fmt, size_t n, int *types)
+{
+ size_t i = 0;
+ size_t last = 0;
+
+ memset(types, 0, n);
+
+ while (1) {
+ size_t arg;
+ unsigned int state;
+
+ fmt = consume_nonarg(fmt);
+ if (*fmt == '\0')
+ break;
+ if (*fmt == '%') {
+ fmt++;
+ continue;
+ }
+ arg = 0;
+ fmt = consume_argn(fmt, &arg);
+ /* flags */
+ fmt = consume_flags(fmt);
+ /* width */
+ if (*fmt == '*') {
+ size_t warg = 0;
+ fmt = consume_argn(fmt+1, &warg);
+ if (warg == 0)
+ warg = ++i;
+ if (warg > last)
+ last = warg;
+ if (warg <= n && types[warg-1] == NONE)
+ types[warg-1] = INT;
+ } else
+ fmt = consume_num(fmt);
+ /* precision */
+ if (*fmt == '.') {
+ fmt++;
+ if (*fmt == '*') {
+ size_t parg = 0;
+ fmt = consume_argn(fmt+1, &parg);
+ if (parg == 0)
+ parg = ++i;
+ if (parg > last)
+ last = parg;
+ if (parg <= n && types[parg-1] == NONE)
+ types[parg-1] = INT;
+ } else {
+ if (*fmt == '-')
+ fmt++;
+ fmt = consume_num(fmt);
+ }
+ }
+ /* length modifier and conversion specifier */
+ state = BARE;
+ do {
+ unsigned char c = *fmt++;
+
+ if (c < 'A' || c > 'z')
+ continue;
+ state = states[state]S(c);
+ if (state == 0)
+ continue;
+ } while (state < STOP);
+
+ if (state == E(NONE))
+ continue;
+
+ if (arg == 0)
+ arg = ++i;
+ if (arg > last)
+ last = arg;
+ if (arg <= n)
+ types[arg-1] = state - STOP;
+ }
+
+ if (last > n)
+ last = n;
+ for (i = 0; i < last; i++)
+ types[i] = pa_types[types[i]];
+
+ return last;
+}
diff --git a/src/basic/parse-printf-format.h b/src/basic/parse-printf-format.h
new file mode 100644
index 000000000..4371177b0
--- /dev/null
+++ b/src/basic/parse-printf-format.h
@@ -0,0 +1,57 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
+/***
+ This file is part of systemd.
+
+ Copyright 2014 Emil Renner Berthing <systemd@esmil.dk>
+
+ With parts from the GNU C Library
+ Copyright 1991-2014 Free Software Foundation, Inc.
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
+
+#pragma once
+
+#include "config.h"
+
+#ifdef HAVE_PRINTF_H
+#include <printf.h>
+#else
+
+#include <stddef.h>
+
+enum { /* C type: */
+ PA_INT, /* int */
+ PA_CHAR, /* int, cast to char */
+ PA_WCHAR, /* wide char */
+ PA_STRING, /* const char *, a '\0'-terminated string */
+ PA_WSTRING, /* const wchar_t *, wide character string */
+ PA_POINTER, /* void * */
+ PA_FLOAT, /* float */
+ PA_DOUBLE, /* double */
+ PA_LAST
+};
+
+/* Flag bits that can be set in a type returned by `parse_printf_format'. */
+#define PA_FLAG_MASK 0xff00
+#define PA_FLAG_LONG_LONG (1 << 8)
+#define PA_FLAG_LONG_DOUBLE PA_FLAG_LONG_LONG
+#define PA_FLAG_LONG (1 << 9)
+#define PA_FLAG_SHORT (1 << 10)
+#define PA_FLAG_PTR (1 << 11)
+
+size_t parse_printf_format(const char *fmt, size_t n, int *types);
+
+#endif /* HAVE_PRINTF_H */
diff --git a/src/basic/stdio-util.h b/src/basic/stdio-util.h
index bd1144b4c..c9c95eb54 100644
--- a/src/basic/stdio-util.h
+++ b/src/basic/stdio-util.h
@@ -19,12 +19,12 @@
along with systemd; If not, see <http://www.gnu.org/licenses/>.
***/
-#include <printf.h>
#include <stdarg.h>
#include <stdio.h>
#include <sys/types.h>
#include "macro.h"
+#include "parse-printf-format.h"
#define xsprintf(buf, fmt, ...) \
assert_message_se((size_t) snprintf(buf, ELEMENTSOF(buf), fmt, __VA_ARGS__) < ELEMENTSOF(buf), "xsprintf: " #buf "[] must be big enough")
diff --git a/src/journal/journal-send.c b/src/journal/journal-send.c
index 440fba67c..0236c43c4 100644
--- a/src/journal/journal-send.c
+++ b/src/journal/journal-send.c
@@ -19,7 +19,6 @@
#include <errno.h>
#include <fcntl.h>
-#include <printf.h>
#include <stddef.h>
#include <sys/socket.h>
#include <sys/un.h>
@@ -38,6 +37,7 @@
#include "stdio-util.h"
#include "string-util.h"
#include "util.h"
+#include "parse-printf-format.h"
#define SNDBUF_SIZE (8*1024*1024)
--
2.14.2

View File

@@ -0,0 +1,104 @@
From 585abd891a56409915314304101cac26b42c076b Mon Sep 17 00:00:00 2001
From: Emil Renner Berthing <systemd@esmil.dk>
Date: Mon, 23 Oct 2017 10:45:46 -0700
Subject: [PATCH 02/12] src/basic/missing.h: check for missing strndupa
include missing.h for definition of strndupa
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
Upstream-Status: Pending
configure.ac | 1 +
src/basic/missing.h | 11 +++++++++++
src/basic/mkdir.c | 1 +
src/basic/parse-util.c | 1 +
src/shared/pager.c | 1 +
src/shared/uid-range.c | 1 +
6 files changed, 16 insertions(+)
diff --git a/configure.ac b/configure.ac
index efcdc6c16..cd035a971 100644
--- a/configure.ac
+++ b/configure.ac
@@ -329,6 +329,7 @@ AC_CHECK_DECLS([
pivot_root,
name_to_handle_at,
setns,
+ strndupa,
renameat2,
kcmp,
keyctl,
diff --git a/src/basic/missing.h b/src/basic/missing.h
index 04912bf52..8009888ad 100644
--- a/src/basic/missing.h
+++ b/src/basic/missing.h
@@ -1104,6 +1104,17 @@ typedef int32_t key_serial_t;
#define KEYCTL_DESCRIBE 6
#endif
+#if !HAVE_DECL_STRNDUPA
+#define strndupa(s, n) \
+ ({ \
+ const char *__old = (s); \
+ size_t __len = strnlen(__old, (n)); \
+ char *__new = (char *)alloca(__len + 1); \
+ __new[__len] = '\0'; \
+ (char *)memcpy(__new, __old, __len); \
+ })
+#endif
+
#ifndef KEYCTL_READ
#define KEYCTL_READ 11
#endif
diff --git a/src/basic/mkdir.c b/src/basic/mkdir.c
index 6b1a98402..d1388df48 100644
--- a/src/basic/mkdir.c
+++ b/src/basic/mkdir.c
@@ -28,6 +28,7 @@
#include "path-util.h"
#include "stat-util.h"
#include "user-util.h"
+#include "missing.h"
int mkdir_safe_internal(const char *path, mode_t mode, uid_t uid, gid_t gid, mkdir_func_t _mkdir) {
struct stat st;
diff --git a/src/basic/parse-util.c b/src/basic/parse-util.c
index 4532f222c..7a30a0e06 100644
--- a/src/basic/parse-util.c
+++ b/src/basic/parse-util.c
@@ -30,6 +30,7 @@
#include "parse-util.h"
#include "process-util.h"
#include "string-util.h"
+#include "missing.h"
int parse_boolean(const char *v) {
assert(v);
diff --git a/src/shared/pager.c b/src/shared/pager.c
index 4d7b02c63..854efc0c9 100644
--- a/src/shared/pager.c
+++ b/src/shared/pager.c
@@ -38,6 +38,7 @@
#include "string-util.h"
#include "strv.h"
#include "terminal-util.h"
+#include "missing.h"
static pid_t pager_pid = 0;
diff --git a/src/shared/uid-range.c b/src/shared/uid-range.c
index b6ec47439..91ce9fb7f 100644
--- a/src/shared/uid-range.c
+++ b/src/shared/uid-range.c
@@ -24,6 +24,7 @@
#include "macro.h"
#include "uid-range.h"
#include "user-util.h"
+#include "missing.h"
static bool uid_range_intersect(UidRange *range, uid_t start, uid_t nr) {
assert(range);
--
2.14.2

View File

@@ -0,0 +1,157 @@
From 5bbbc2a08a3b4283ec04af0e77e25fb205aa8b82 Mon Sep 17 00:00:00 2001
From: Emil Renner Berthing <systemd@esmil.dk>
Date: Mon, 23 Oct 2017 10:50:14 -0700
Subject: [PATCH 03/12] don't fail if GLOB_BRACE and GLOB_ALTDIRFUNC is not
defined
If the standard library doesn't provide brace
expansion users just won't get it.
Dont use GNU GLOB extentions on non-glibc systems
Conditionalize use of GLOB_ALTDIRFUNC
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
Upstream-Status: Pending
src/basic/glob-util.c | 20 +++++++++++++++++---
src/test/test-glob-util.c | 17 +++++++++++++++--
src/tmpfiles/tmpfiles.c | 8 ++++++++
3 files changed, 40 insertions(+), 5 deletions(-)
diff --git a/src/basic/glob-util.c b/src/basic/glob-util.c
index f611c42e4..ad6e2be8d 100644
--- a/src/basic/glob-util.c
+++ b/src/basic/glob-util.c
@@ -27,13 +27,18 @@
#include "macro.h"
#include "path-util.h"
#include "strv.h"
+/* Don't fail if the standard library
+ * doesn't provide brace expansion */
+#ifndef GLOB_BRACE
+#define GLOB_BRACE 0
+#endif
int safe_glob(const char *path, int flags, glob_t *pglob) {
int k;
+#ifdef GLOB_ALTDIRFUNC
/* We want to set GLOB_ALTDIRFUNC ourselves, don't allow it to be set. */
assert(!(flags & GLOB_ALTDIRFUNC));
-
if (!pglob->gl_closedir)
pglob->gl_closedir = (void (*)(void *)) closedir;
if (!pglob->gl_readdir)
@@ -44,10 +49,13 @@ int safe_glob(const char *path, int flags, glob_t *pglob) {
pglob->gl_lstat = lstat;
if (!pglob->gl_stat)
pglob->gl_stat = stat;
-
+#endif
errno = 0;
+#ifdef GLOB_ALTDIRFUNC
k = glob(path, flags | GLOB_ALTDIRFUNC, NULL, pglob);
-
+#else
+ k = glob(path, flags, NULL, pglob);
+#endif
if (k == GLOB_NOMATCH)
return -ENOENT;
if (k == GLOB_NOSPACE)
@@ -60,6 +68,12 @@ int safe_glob(const char *path, int flags, glob_t *pglob) {
return 0;
}
+/* Don't fail if the standard library
+ * doesn't provide brace expansion */
+#ifndef GLOB_BRACE
+#define GLOB_BRACE 0
+#endif
+
int glob_exists(const char *path) {
_cleanup_globfree_ glob_t g = {};
int k;
diff --git a/src/test/test-glob-util.c b/src/test/test-glob-util.c
index af866e004..3afa09ada 100644
--- a/src/test/test-glob-util.c
+++ b/src/test/test-glob-util.c
@@ -29,6 +29,11 @@
#include "glob-util.h"
#include "macro.h"
#include "rm-rf.h"
+/* Don't fail if the standard library
+ * doesn't provide brace expansion */
+#ifndef GLOB_BRACE
+#define GLOB_BRACE 0
+#endif
static void test_glob_exists(void) {
char name[] = "/tmp/test-glob_exists.XXXXXX";
@@ -51,25 +56,33 @@ static void test_glob_exists(void) {
static void test_glob_no_dot(void) {
char template[] = "/tmp/test-glob-util.XXXXXXX";
const char *fn;
-
_cleanup_globfree_ glob_t g = {
+#ifdef GLOB_ALTDIRFUNC
.gl_closedir = (void (*)(void *)) closedir,
.gl_readdir = (struct dirent *(*)(void *)) readdir_no_dot,
.gl_opendir = (void *(*)(const char *)) opendir,
.gl_lstat = lstat,
.gl_stat = stat,
+#endif
};
-
int r;
assert_se(mkdtemp(template));
fn = strjoina(template, "/*");
+#ifdef GLOB_ALTDIRFUNC
r = glob(fn, GLOB_NOSORT|GLOB_BRACE|GLOB_ALTDIRFUNC, NULL, &g);
+#else
+ r = glob(fn, GLOB_NOSORT|GLOB_BRACE, NULL, &g);
+#endif
assert_se(r == GLOB_NOMATCH);
fn = strjoina(template, "/.*");
+#ifdef GLOB_ALTDIRFUNC
r = glob(fn, GLOB_NOSORT|GLOB_BRACE|GLOB_ALTDIRFUNC, NULL, &g);
+#else
+ r = glob(fn, GLOB_NOSORT|GLOB_BRACE, NULL, &g);
+#endif
assert_se(r == GLOB_NOMATCH);
(void) rm_rf(template, REMOVE_ROOT|REMOVE_PHYSICAL);
diff --git a/src/tmpfiles/tmpfiles.c b/src/tmpfiles/tmpfiles.c
index 9419c99e2..07027a765 100644
--- a/src/tmpfiles/tmpfiles.c
+++ b/src/tmpfiles/tmpfiles.c
@@ -71,6 +71,12 @@
#include "umask-util.h"
#include "user-util.h"
#include "util.h"
+/* Don't fail if the standard library
+ * doesn't provide brace expansion */
+#ifndef GLOB_BRACE
+#define GLOB_BRACE 0
+#endif
+
/* This reads all files listed in /etc/tmpfiles.d/?*.conf and creates
* them in the file system. This is intended to be used to create
@@ -1092,7 +1098,9 @@ static int item_do_children(Item *i, const char *path, action_t action) {
static int glob_item(Item *i, action_t action, bool recursive) {
_cleanup_globfree_ glob_t g = {
+#ifdef GLOB_ALTDIRFUNC
.gl_opendir = (void *(*)(const char *)) opendir_nomod,
+#endif
};
int r = 0, k;
char **fn;
--
2.14.2

View File

@@ -0,0 +1,47 @@
From c850b654e71677e0d6292f1345207b9b5acffc33 Mon Sep 17 00:00:00 2001
From: Emil Renner Berthing <systemd@esmil.dk>
Date: Mon, 23 Oct 2017 11:31:03 -0700
Subject: [PATCH 04/12] src/basic/missing.h: check for missing __compar_fn_t
typedef
include missing.h for missing __compar_fn_t
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
Upstream-Status: Pending
src/basic/missing.h | 5 +++++
src/basic/strbuf.c | 1 +
2 files changed, 6 insertions(+)
diff --git a/src/basic/missing.h b/src/basic/missing.h
index 8009888ad..671f341c6 100644
--- a/src/basic/missing.h
+++ b/src/basic/missing.h
@@ -1063,6 +1063,11 @@ struct input_mask {
#define RENAME_NOREPLACE (1 << 0)
#endif
+#ifndef __COMPAR_FN_T
+#define __COMPAR_FN_T
+typedef int (*__compar_fn_t)(const void *, const void *);
+#endif
+
#ifndef KCMP_FILE
#define KCMP_FILE 0
#endif
diff --git a/src/basic/strbuf.c b/src/basic/strbuf.c
index 00aaf9e62..9dc4a584a 100644
--- a/src/basic/strbuf.c
+++ b/src/basic/strbuf.c
@@ -23,6 +23,7 @@
#include "alloc-util.h"
#include "strbuf.h"
+#include "missing.h"
/*
* Strbuf stores given strings in a single continuous allocated memory
--
2.14.2

View File

@@ -0,0 +1,86 @@
From 21080b6a40d0a4ddd2db8f0fa37686f6fa885d1c Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Mon, 23 Oct 2017 11:38:33 -0700
Subject: [PATCH 06/12] Include netinet/if_ether.h
Fixes
/mnt/a/oe/build/tmp/work/mips32r2-bec-linux-musl/systemd/1_234-r0/recipe-sysroot/usr/include/netinet/if_ether.h:101:8: error: redefinition of 'struct ethhdr'
struct ethhdr {
^~~~~~
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
Upstream-Status: Pending
src/libsystemd/sd-netlink/netlink-types.c | 1 +
src/network/netdev/tuntap.c | 1 +
src/network/networkd-brvlan.c | 1 +
src/udev/net/ethtool-util.c | 2 +-
src/udev/udev-builtin-net_setup_link.c | 2 +-
5 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/src/libsystemd/sd-netlink/netlink-types.c b/src/libsystemd/sd-netlink/netlink-types.c
index 923f7dd10..b95b1e4b2 100644
--- a/src/libsystemd/sd-netlink/netlink-types.c
+++ b/src/libsystemd/sd-netlink/netlink-types.c
@@ -19,6 +19,7 @@
#include <stdint.h>
#include <sys/socket.h>
+#include <netinet/if_ether.h>
#include <linux/netlink.h>
#include <linux/rtnetlink.h>
#include <linux/can/netlink.h>
diff --git a/src/network/netdev/tuntap.c b/src/network/netdev/tuntap.c
index 3d6280884..40e58c38f 100644
--- a/src/network/netdev/tuntap.c
+++ b/src/network/netdev/tuntap.c
@@ -18,6 +18,7 @@
***/
#include <fcntl.h>
+#include <netinet/if_ether.h>
#include <linux/if_tun.h>
#include <net/if.h>
#include <netinet/if_ether.h>
diff --git a/src/network/networkd-brvlan.c b/src/network/networkd-brvlan.c
index fa5d3ee7f..e0828962a 100644
--- a/src/network/networkd-brvlan.c
+++ b/src/network/networkd-brvlan.c
@@ -18,6 +18,7 @@
***/
#include <netinet/in.h>
+#include <netinet/if_ether.h>
#include <linux/if_bridge.h>
#include <stdbool.h>
diff --git a/src/udev/net/ethtool-util.c b/src/udev/net/ethtool-util.c
index 201fc2343..5f7cc2a0a 100644
--- a/src/udev/net/ethtool-util.c
+++ b/src/udev/net/ethtool-util.c
@@ -16,7 +16,7 @@
You should have received a copy of the GNU Lesser General Public License
along with systemd; If not, see <http://www.gnu.org/licenses/>.
***/
-
+#include <netinet/if_ether.h>
#include <net/if.h>
#include <sys/ioctl.h>
#include <linux/ethtool.h>
diff --git a/src/udev/udev-builtin-net_setup_link.c b/src/udev/udev-builtin-net_setup_link.c
index 8e4777513..d01fff2a4 100644
--- a/src/udev/udev-builtin-net_setup_link.c
+++ b/src/udev/udev-builtin-net_setup_link.c
@@ -16,7 +16,7 @@
You should have received a copy of the GNU Lesser General Public License
along with systemd; If not, see <http://www.gnu.org/licenses/>.
***/
-
+#include <netinet/if_ether.h>
#include "alloc-util.h"
#include "link-config.h"
#include "log.h"
--
2.14.2

View File

@@ -0,0 +1,63 @@
From 05dffe67919ffc72be5c017bc6cf82f164b2e8f9 Mon Sep 17 00:00:00 2001
From: Emil Renner Berthing <systemd@esmil.dk>
Date: Mon, 23 Oct 2017 11:42:03 -0700
Subject: [PATCH 07/12] check for missing canonicalize_file_name
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
Upstream-Status: Pending
configure.ac | 2 ++
src/basic/missing.h | 1 +
src/basic/missing_syscall.h | 6 ++++++
3 files changed, 9 insertions(+)
diff --git a/configure.ac b/configure.ac
index cd035a971..3674190fb 100644
--- a/configure.ac
+++ b/configure.ac
@@ -333,6 +333,7 @@ AC_CHECK_DECLS([
renameat2,
kcmp,
keyctl,
+ canonicalize_file_name,
LO_FLAGS_PARTSCAN,
copy_file_range,
explicit_bzero],
@@ -343,6 +344,7 @@ AC_CHECK_DECLS([
#include <fcntl.h>
#include <sched.h>
#include <string.h>
+#include <stdlib.h>
#include <linux/loop.h>
]])
diff --git a/src/basic/missing.h b/src/basic/missing.h
index 671f341c6..8ae4964e1 100644
--- a/src/basic/missing.h
+++ b/src/basic/missing.h
@@ -1246,3 +1246,4 @@ struct ethtool_link_settings {
#endif
#include "missing_syscall.h"
+
diff --git a/src/basic/missing_syscall.h b/src/basic/missing_syscall.h
index 898116c7b..4d44ee4fa 100644
--- a/src/basic/missing_syscall.h
+++ b/src/basic/missing_syscall.h
@@ -28,6 +28,12 @@ static inline int pivot_root(const char *new_root, const char *put_old) {
}
#endif
+#if !HAVE_DECL_CANONICALIZE_FILE_NAME
+static inline char *canonicalize_file_name(const char *path) {
+ return realpath(path, NULL);
+}
+#endif
+
/* ======================================================================= */
#if !HAVE_DECL_MEMFD_CREATE
--
2.14.2

View File

@@ -0,0 +1,35 @@
From 48e7c0f5b2f5d777a16ac5584dc4f50f1dfa832c Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Mon, 23 Oct 2017 12:27:53 -0700
Subject: [PATCH 08/12] Do not enable nss tests
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
Upstream-Status: Pending
Makefile.am | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile.am b/Makefile.am
index 3cc8f3451..df20a9a11 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -5290,6 +5290,7 @@ EXTRA_DIST += \
src/timesync/timesyncd.conf.in
# ------------------------------------------------------------------------------
+if ENABLE_NSS_SYSTEMD
test_nss_SOURCES = \
src/test/test-nss.c
@@ -5302,7 +5303,6 @@ manual_tests += \
test-nss
# ------------------------------------------------------------------------------
-if ENABLE_NSS_SYSTEMD
libnss_systemd_la_SOURCES = \
src/nss-systemd/nss-systemd.sym \
src/nss-systemd/nss-systemd.c
--
2.14.2

View File

@@ -0,0 +1,27 @@
From 75f4e7f167de533a160ee1af2a03fba4c5a5ffc6 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Mon, 23 Oct 2017 12:33:22 -0700
Subject: [PATCH 09/12] test-hexdecoct.c: Include missing.h form strndupa
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
Upstream-Status: Pending
src/test/test-hexdecoct.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/test/test-hexdecoct.c b/src/test/test-hexdecoct.c
index fcae427e7..5eb5e2ed7 100644
--- a/src/test/test-hexdecoct.c
+++ b/src/test/test-hexdecoct.c
@@ -21,6 +21,7 @@
#include "hexdecoct.h"
#include "macro.h"
#include "string-util.h"
+#include "missing.h"
static void test_hexchar(void) {
assert_se(hexchar(0xa) == 'a');
--
2.14.2

View File

@@ -0,0 +1,49 @@
From 6e9d2bcaa6f886b2384c1c35a04e4ebc148aea68 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Mon, 23 Oct 2017 12:40:25 -0700
Subject: [PATCH 10/12] test-sizeof.c: Disable tests for missing typedefs in
musl
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
Upstream-Status: Pending
src/test/test-sizeof.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/src/test/test-sizeof.c b/src/test/test-sizeof.c
index 269adfd18..ba7855dff 100644
--- a/src/test/test-sizeof.c
+++ b/src/test/test-sizeof.c
@@ -18,7 +18,6 @@
***/
#include <stdio.h>
-
#include "time-util.h"
/* Print information about various types. Useful when diagnosing
@@ -48,8 +47,10 @@ int main(void) {
info(unsigned);
info(long unsigned);
info(long long unsigned);
+#ifdef __GLIBC__
info(__syscall_ulong_t);
info(__syscall_slong_t);
+#endif
info(float);
info(double);
@@ -59,7 +60,9 @@ int main(void) {
info(ssize_t);
info(time_t);
info(usec_t);
+#ifdef __GLIBC__
info(__time_t);
+#endif
info(enum Enum);
info(enum BigEnum);
--
2.14.2

View File

@@ -0,0 +1,105 @@
From 2eb45f5a0a8bfb8bdca084587ad28e5001f3cc4b Mon Sep 17 00:00:00 2001
From: Emil Renner Berthing <systemd@esmil.dk>
Date: Thu, 18 Sep 2014 15:24:56 +0200
Subject: [PATCH 11/12] don't use glibc-specific qsort_r
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
Upstream-Status: Pending
src/hwdb/hwdb.c | 18 +++++++++++-------
src/udev/udevadm-hwdb.c | 16 ++++++++++------
2 files changed, 21 insertions(+), 13 deletions(-)
diff --git a/src/hwdb/hwdb.c b/src/hwdb/hwdb.c
index 793398ca6..669b00818 100644
--- a/src/hwdb/hwdb.c
+++ b/src/hwdb/hwdb.c
@@ -151,13 +151,12 @@ static void trie_free(struct trie *trie) {
DEFINE_TRIVIAL_CLEANUP_FUNC(struct trie*, trie_free);
-static int trie_values_cmp(const void *v1, const void *v2, void *arg) {
+static struct trie *trie_node_add_value_trie;
+static int trie_values_cmp(const void *v1, const void *v2) {
const struct trie_value_entry *val1 = v1;
const struct trie_value_entry *val2 = v2;
- struct trie *trie = arg;
-
- return strcmp(trie->strings->buf + val1->key_off,
- trie->strings->buf + val2->key_off);
+ return strcmp(trie_node_add_value_trie->strings->buf + val1->key_off,
+ trie_node_add_value_trie->strings->buf + val2->key_off);
}
static int trie_node_add_value(struct trie *trie, struct trie_node *node,
@@ -182,7 +181,10 @@ static int trie_node_add_value(struct trie *trie, struct trie_node *node,
.value_off = v,
};
- val = xbsearch_r(&search, node->values, node->values_count, sizeof(struct trie_value_entry), trie_values_cmp, trie);
+ trie_node_add_value_trie = trie;
+ val = bsearch(&search, node->values, node->values_count, sizeof(struct trie_value_entry), trie_values_cmp);
+ trie_node_add_value_trie = NULL;
+
if (val) {
/* At this point we have 2 identical properties on the same match-string.
* Since we process files in order, we just replace the previous value.
@@ -207,7 +209,9 @@ static int trie_node_add_value(struct trie *trie, struct trie_node *node,
node->values[node->values_count].file_priority = file_priority;
node->values[node->values_count].line_number = line_number;
node->values_count++;
- qsort_r(node->values, node->values_count, sizeof(struct trie_value_entry), trie_values_cmp, trie);
+ trie_node_add_value_trie = trie;
+ qsort(node->values, node->values_count, sizeof(struct trie_value_entry), trie_values_cmp);
+ trie_node_add_value_trie = NULL;
return 0;
}
diff --git a/src/udev/udevadm-hwdb.c b/src/udev/udevadm-hwdb.c
index 69b0b9025..fbd213300 100644
--- a/src/udev/udevadm-hwdb.c
+++ b/src/udev/udevadm-hwdb.c
@@ -128,13 +128,13 @@ static void trie_node_cleanup(struct trie_node *node) {
free(node);
}
-static int trie_values_cmp(const void *v1, const void *v2, void *arg) {
+static struct trie *trie_node_add_value_trie;
+static int trie_values_cmp(const void *v1, const void *v2) {
const struct trie_value_entry *val1 = v1;
const struct trie_value_entry *val2 = v2;
- struct trie *trie = arg;
- return strcmp(trie->strings->buf + val1->key_off,
- trie->strings->buf + val2->key_off);
+ return strcmp(trie_node_add_value_trie->strings->buf + val1->key_off,
+ trie_node_add_value_trie->strings->buf + val2->key_off);
}
static int trie_node_add_value(struct trie *trie, struct trie_node *node,
@@ -155,7 +155,9 @@ static int trie_node_add_value(struct trie *trie, struct trie_node *node,
.value_off = v,
};
- val = xbsearch_r(&search, node->values, node->values_count, sizeof(struct trie_value_entry), trie_values_cmp, trie);
+ trie_node_add_value_trie = trie;
+ val = bsearch(&search, node->values, node->values_count, sizeof(struct trie_value_entry), trie_values_cmp);
+ trie_node_add_value_trie = NULL;
if (val) {
/* replace existing earlier key with new value */
val->value_off = v;
@@ -172,7 +174,9 @@ static int trie_node_add_value(struct trie *trie, struct trie_node *node,
node->values[node->values_count].key_off = k;
node->values[node->values_count].value_off = v;
node->values_count++;
- qsort_r(node->values, node->values_count, sizeof(struct trie_value_entry), trie_values_cmp, trie);
+ trie_node_add_value_trie = trie;
+ qsort(node->values, node->values_count, sizeof(struct trie_value_entry), trie_values_cmp);
+ trie_node_add_value_trie = NULL;
return 0;
}
--
2.14.2

View File

@@ -0,0 +1,99 @@
From 9621618c701a2d5eb3e26f40c68354d4dfb8f872 Mon Sep 17 00:00:00 2001
From: Andre McCurdy <armccurdy@gmail.com>
Date: Tue, 10 Oct 2017 14:33:30 -0700
Subject: [PATCH 12/12] don't pass AT_SYMLINK_NOFOLLOW flag to faccessat()
Avoid using AT_SYMLINK_NOFOLLOW flag. It doesn't seem like the right
thing to do and it's not portable (not supported by musl). See:
http://lists.landley.net/pipermail/toybox-landley.net/2014-September/003610.html
http://www.openwall.com/lists/musl/2015/02/05/2
Note that laccess() is never passing AT_EACCESS so a lot of the
discussion in the links above doesn't apply. Note also that
(currently) all systemd callers of laccess() pass mode as F_OK, so
only check for existence of a file, not access permissions.
Therefore, in this case, the only distiction between faccessat()
with (flag == 0) and (flag == AT_SYMLINK_NOFOLLOW) is the behaviour
for broken symlinks; laccess() on a broken symlink will succeed with
(flag == AT_SYMLINK_NOFOLLOW) and fail (flag == 0).
The laccess() macros was added to systemd some time ago and it's not
clear if or why it needs to return success for broken symlinks. Maybe
just historical and not actually necessary or desired behaviour?
Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
---
Upstream-Status: Pending
src/basic/fs-util.h | 22 +++++++++++++++++++++-
src/shared/base-filesystem.c | 6 +++---
2 files changed, 24 insertions(+), 4 deletions(-)
diff --git a/src/basic/fs-util.h b/src/basic/fs-util.h
index 094acf179..cdbc0ae72 100644
--- a/src/basic/fs-util.h
+++ b/src/basic/fs-util.h
@@ -48,7 +48,27 @@ int fchmod_umask(int fd, mode_t mode);
int fd_warn_permissions(const char *path, int fd);
-#define laccess(path, mode) faccessat(AT_FDCWD, (path), (mode), AT_SYMLINK_NOFOLLOW)
+/*
+ Avoid using AT_SYMLINK_NOFOLLOW flag. It doesn't seem like the right thing to
+ do and it's not portable (not supported by musl). See:
+
+ http://lists.landley.net/pipermail/toybox-landley.net/2014-September/003610.html
+ http://www.openwall.com/lists/musl/2015/02/05/2
+
+ Note that laccess() is never passing AT_EACCESS so a lot of the discussion in
+ the links above doesn't apply. Note also that (currently) all systemd callers
+ of laccess() pass mode as F_OK, so only check for existence of a file, not
+ access permissions. Therefore, in this case, the only distiction between
+ faccessat() with (flag == 0) and (flag == AT_SYMLINK_NOFOLLOW) is the
+ behaviour for broken symlinks; laccess() on a broken symlink will succeed
+ with (flag == AT_SYMLINK_NOFOLLOW) and fail (flag == 0).
+
+ The laccess() macros was added to systemd some time ago and it's not clear if
+ or why it needs to return success for broken symlinks. Maybe just historical
+ and not actually necessary or desired behaviour?
+*/
+
+#define laccess(path, mode) faccessat(AT_FDCWD, (path), (mode), 0)
int touch_file(const char *path, bool parents, usec_t stamp, uid_t uid, gid_t gid, mode_t mode);
int touch(const char *path);
diff --git a/src/shared/base-filesystem.c b/src/shared/base-filesystem.c
index 903a18786..2f6052ee7 100644
--- a/src/shared/base-filesystem.c
+++ b/src/shared/base-filesystem.c
@@ -70,7 +70,7 @@ int base_filesystem_create(const char *root, uid_t uid, gid_t gid) {
return log_error_errno(errno, "Failed to open root file system: %m");
for (i = 0; i < ELEMENTSOF(table); i ++) {
- if (faccessat(fd, table[i].dir, F_OK, AT_SYMLINK_NOFOLLOW) >= 0)
+ if (faccessat(fd, table[i].dir, F_OK, 0) >= 0)
continue;
if (table[i].target) {
@@ -78,7 +78,7 @@ int base_filesystem_create(const char *root, uid_t uid, gid_t gid) {
/* check if one of the targets exists */
NULSTR_FOREACH(s, table[i].target) {
- if (faccessat(fd, s, F_OK, AT_SYMLINK_NOFOLLOW) < 0)
+ if (faccessat(fd, s, F_OK, 0) < 0)
continue;
/* check if a specific file exists at the target path */
@@ -89,7 +89,7 @@ int base_filesystem_create(const char *root, uid_t uid, gid_t gid) {
if (!p)
return log_oom();
- if (faccessat(fd, p, F_OK, AT_SYMLINK_NOFOLLOW) < 0)
+ if (faccessat(fd, p, F_OK, 0) < 0)
continue;
}
--
2.14.2

View File

@@ -0,0 +1,31 @@
From 4b6733544beb662a0f77310302fae1fb7b76d167 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sat, 12 Sep 2015 18:53:31 +0000
Subject: [PATCH 13/13] comparison_fn_t is glibc specific, use raw signature in
function pointer
make it work with musl where comparison_fn_t is not provided
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
Upstream-Status: Pending
src/basic/util.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/basic/util.h b/src/basic/util.h
index c7da6c39b..87f62b891 100644
--- a/src/basic/util.h
+++ b/src/basic/util.h
@@ -98,7 +98,7 @@ void *xbsearch_r(const void *key, const void *base, size_t nmemb, size_t size,
* Normal qsort requires base to be nonnull. Here were require
* that only if nmemb > 0.
*/
-static inline void qsort_safe(void *base, size_t nmemb, size_t size, comparison_fn_t compar) {
+static inline void qsort_safe(void *base, size_t nmemb, size_t size, int (*compar)(const void *, const void *)) {
if (nmemb <= 1)
return;
--
2.14.2

View File

@@ -10,7 +10,7 @@ SECTION = "base/shell"
inherit useradd pkgconfig autotools perlnative update-rc.d update-alternatives qemu systemd ptest gettext bash-completion manpages
SRC_URI += " \
SRC_URI = "git://github.com/systemd/systemd.git;protocol=git \
file://touchscreen.rules \
file://00-create-volatile.conf \
file://init \
@@ -27,6 +27,20 @@ SRC_URI += " \
file://0017-remove-duplicate-include-uchar.h.patch \
file://0018-check-for-uchar.h-in-configure.patch \
file://0019-socket-util-don-t-fail-if-libc-doesn-t-support-IDN.patch \
file://0001-add-fallback-parse_printf_format-implementation.patch \
file://0002-src-basic-missing.h-check-for-missing-strndupa.patch \
file://0003-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch \
file://0004-src-basic-missing.h-check-for-missing-__compar_fn_t-.patch \
file://0006-Include-netinet-if_ether.h.patch \
file://0007-check-for-missing-canonicalize_file_name.patch \
file://0008-Do-not-enable-nss-tests.patch \
file://0009-test-hexdecoct.c-Include-missing.h-form-strndupa.patch \
file://0010-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch \
file://0011-don-t-use-glibc-specific-qsort_r.patch \
file://0012-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch \
file://0013-comparison_fn_t-is-glibc-specific-use-raw-signature-.patch \
file://0001-Define-_PATH_WTMPX-and-_PATH_UTMPX-if-not-defined.patch \
file://0001-Use-uintmax_t-for-handling-rlim_t.patch \
"
SRC_URI_append_qemuall = " file://0001-core-device.c-Change-the-default-device-timeout-to-2.patch"
@@ -36,97 +50,117 @@ PAM_PLUGINS = " \
pam-plugin-keyinit \
"
PACKAGECONFIG ??= "xz \
${@bb.utils.filter('DISTRO_FEATURES', 'efi pam selinux ldconfig usrmerge', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'xkbcommon', '', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'wifi', 'rfkill', '', d)} \
binfmt \
randomseed \
machined \
backlight \
vconsole \
quotacheck \
hostnamed \
${@bb.utils.contains('TCLIBC', 'glibc', 'myhostname sysusers', '', d)} \
hibernate \
timedated \
timesyncd \
localed \
ima \
smack \
logind \
firstboot \
utmp \
polkit \
resolved \
networkd \
PACKAGECONFIG ??= " \
${@bb.utils.filter('DISTRO_FEATURES', 'efi ldconfig pam selinux usrmerge', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'wifi', 'rfkill', '', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'xkbcommon', '', d)} \
backlight \
binfmt \
firstboot \
hibernate \
hostnamed \
ima \
localed \
logind \
machined \
myhostname \
networkd \
nss \
polkit \
quotacheck \
randomseed \
resolved \
smack \
sysusers \
timedated \
timesyncd \
utmp \
vconsole \
xz \
"
PACKAGECONFIG_remove_libc-musl = " \
localed \
myhostname \
nss \
resolved \
selinux \
smack \
sysusers \
utmp \
"
PACKAGECONFIG_remove_libc-musl = "selinux"
PACKAGECONFIG_remove_libc-musl = "smack"
# Use the upstream systemd serial-getty@.service and rely on
# systemd-getty-generator instead of using the OE-core specific
# systemd-serialgetty.bb - not enabled by default.
PACKAGECONFIG[serial-getty-generator] = ""
PACKAGECONFIG[journal-upload] = "--enable-libcurl,--disable-libcurl,curl"
PACKAGECONFIG[audit] = "--enable-audit,--disable-audit,audit"
PACKAGECONFIG[backlight] = "--enable-backlight,--disable-backlight"
PACKAGECONFIG[binfmt] = "--enable-binfmt,--disable-binfmt"
PACKAGECONFIG[bzip2] = "--enable-bzip2,--disable-bzip2,bzip2"
PACKAGECONFIG[coredump] = "--enable-coredump,--disable-coredump"
PACKAGECONFIG[cryptsetup] = "--enable-libcryptsetup,--disable-libcryptsetup,cryptsetup"
PACKAGECONFIG[dbus] = "--enable-dbus,--disable-dbus,dbus"
PACKAGECONFIG[efi] = "--enable-efi,--disable-efi"
PACKAGECONFIG[elfutils] = "--enable-elfutils,--disable-elfutils,elfutils"
PACKAGECONFIG[firstboot] = "--enable-firstboot,--disable-firstboot"
# Sign the journal for anti-tampering
PACKAGECONFIG[gcrypt] = "--enable-gcrypt,--disable-gcrypt,libgcrypt"
PACKAGECONFIG[cryptsetup] = "--enable-libcryptsetup,--disable-libcryptsetup,cryptsetup"
PACKAGECONFIG[microhttpd] = "--enable-microhttpd,--disable-microhttpd,libmicrohttpd"
PACKAGECONFIG[elfutils] = "--enable-elfutils,--disable-elfutils,elfutils"
PACKAGECONFIG[resolved] = "--enable-resolved,--disable-resolved"
PACKAGECONFIG[networkd] = "--enable-networkd,--disable-networkd"
PACKAGECONFIG[machined] = "--enable-machined,--disable-machined"
PACKAGECONFIG[backlight] = "--enable-backlight,--disable-backlight"
PACKAGECONFIG[vconsole] = "--enable-vconsole,--disable-vconsole,,${PN}-vconsole-setup"
PACKAGECONFIG[quotacheck] = "--enable-quotacheck,--disable-quotacheck"
PACKAGECONFIG[hostnamed] = "--enable-hostnamed,--disable-hostnamed"
PACKAGECONFIG[myhostname] = "--enable-myhostname,--disable-myhostname"
PACKAGECONFIG[rfkill] = "--enable-rfkill,--disable-rfkill"
PACKAGECONFIG[hibernate] = "--enable-hibernate,--disable-hibernate"
PACKAGECONFIG[timedated] = "--enable-timedated,--disable-timedated"
PACKAGECONFIG[timesyncd] = "--enable-timesyncd,--disable-timesyncd"
PACKAGECONFIG[localed] = "--enable-localed,--disable-localed"
PACKAGECONFIG[efi] = "--enable-efi,--disable-efi"
PACKAGECONFIG[hostnamed] = "--enable-hostnamed,--disable-hostnamed"
PACKAGECONFIG[ima] = "--enable-ima,--disable-ima"
PACKAGECONFIG[smack] = "--enable-smack,--disable-smack"
# libseccomp is found in meta-security
PACKAGECONFIG[seccomp] = "--enable-seccomp,--disable-seccomp,libseccomp"
PACKAGECONFIG[logind] = "--enable-logind,--disable-logind"
PACKAGECONFIG[sysusers] = "--enable-sysusers,--disable-sysusers"
PACKAGECONFIG[firstboot] = "--enable-firstboot,--disable-firstboot"
PACKAGECONFIG[randomseed] = "--enable-randomseed,--disable-randomseed"
PACKAGECONFIG[binfmt] = "--enable-binfmt,--disable-binfmt"
PACKAGECONFIG[utmp] = "--enable-utmp,--disable-utmp"
PACKAGECONFIG[polkit] = "--enable-polkit,--disable-polkit"
# importd requires curl/xz/zlib/bzip2/gcrypt
PACKAGECONFIG[importd] = "--enable-importd,--disable-importd"
PACKAGECONFIG[libidn] = "--enable-libidn,--disable-libidn,libidn"
PACKAGECONFIG[audit] = "--enable-audit,--disable-audit,audit"
PACKAGECONFIG[manpages] = "--enable-manpages,--disable-manpages,libxslt-native xmlto-native docbook-xml-dtd4-native docbook-xsl-stylesheets-native"
PACKAGECONFIG[pam] = "--enable-pam,--disable-pam,libpam,${PAM_PLUGINS}"
# Verify keymaps on locale change
PACKAGECONFIG[xkbcommon] = "--enable-xkbcommon,--disable-xkbcommon,libxkbcommon"
# Update NAT firewall rules
PACKAGECONFIG[iptc] = "--enable-libiptc,--disable-libiptc,iptables"
PACKAGECONFIG[ldconfig] = "--enable-ldconfig,--disable-ldconfig,,"
PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux,initscripts-sushell"
PACKAGECONFIG[valgrind] = "ac_cv_header_valgrind_memcheck_h=yes ac_cv_header_valgrind_valgrind_h=yes ,ac_cv_header_valgrind_memcheck_h=no ac_cv_header_valgrind_valgrind_h=no ,valgrind"
PACKAGECONFIG[qrencode] = "--enable-qrencode,--disable-qrencode,qrencode"
PACKAGECONFIG[dbus] = "--enable-dbus,--disable-dbus,dbus"
PACKAGECONFIG[coredump] = "--enable-coredump,--disable-coredump"
PACKAGECONFIG[bzip2] = "--enable-bzip2,--disable-bzip2,bzip2"
PACKAGECONFIG[journal-upload] = "--enable-libcurl,--disable-libcurl,curl"
PACKAGECONFIG[ldconfig] = "--enable-ldconfig,--disable-ldconfig"
PACKAGECONFIG[libidn] = "--enable-libidn,--disable-libidn,libidn"
PACKAGECONFIG[localed] = "--enable-localed,--disable-localed"
PACKAGECONFIG[logind] = "--enable-logind,--disable-logind"
PACKAGECONFIG[lz4] = "--enable-lz4,--disable-lz4,lz4"
PACKAGECONFIG[machined] = "--enable-machined,--disable-machined"
PACKAGECONFIG[manpages] = "--enable-manpages,--disable-manpages,libxslt-native xmlto-native docbook-xml-dtd4-native docbook-xsl-stylesheets-native"
PACKAGECONFIG[microhttpd] = "--enable-microhttpd,--disable-microhttpd,libmicrohttpd"
PACKAGECONFIG[myhostname] = "--enable-myhostname,--disable-myhostname"
PACKAGECONFIG[networkd] = "--enable-networkd,--disable-networkd"
PACKAGECONFIG[nss] = "--enable-nss-systemd,--disable-nss-systemd"
PACKAGECONFIG[pam] = "--enable-pam,--disable-pam,libpam,${PAM_PLUGINS}"
PACKAGECONFIG[polkit] = "--enable-polkit,--disable-polkit"
PACKAGECONFIG[qrencode] = "--enable-qrencode,--disable-qrencode,qrencode"
PACKAGECONFIG[quotacheck] = "--enable-quotacheck,--disable-quotacheck"
PACKAGECONFIG[randomseed] = "--enable-randomseed,--disable-randomseed"
PACKAGECONFIG[resolved] = "--enable-resolved,--disable-resolved"
PACKAGECONFIG[rfkill] = "--enable-rfkill,--disable-rfkill"
# libseccomp is found in meta-security
PACKAGECONFIG[seccomp] = "--enable-seccomp,--disable-seccomp,libseccomp"
PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux,initscripts-sushell"
PACKAGECONFIG[smack] = "--enable-smack,--disable-smack"
PACKAGECONFIG[sysusers] = "--enable-sysusers,--disable-sysusers"
PACKAGECONFIG[timedated] = "--enable-timedated,--disable-timedated"
PACKAGECONFIG[timesyncd] = "--enable-timesyncd,--disable-timesyncd"
PACKAGECONFIG[usrmerge] = "--disable-split-usr,--enable-split-usr"
PACKAGECONFIG[utmp] = "--enable-utmp,--disable-utmp"
PACKAGECONFIG[valgrind] = "ac_cv_header_valgrind_memcheck_h=yes ac_cv_header_valgrind_valgrind_h=yes,ac_cv_header_valgrind_memcheck_h=no ac_cv_header_valgrind_valgrind_h=no,valgrind"
PACKAGECONFIG[vconsole] = "--enable-vconsole,--disable-vconsole,,${PN}-vconsole-setup"
# Verify keymaps on locale change
PACKAGECONFIG[xkbcommon] = "--enable-xkbcommon,--disable-xkbcommon,libxkbcommon"
PACKAGECONFIG[xz] = "--enable-xz,--disable-xz,xz"
PACKAGECONFIG[zlib] = "--enable-zlib,--disable-zlib,zlib"
PACKAGECONFIG[usrmerge] = "--disable-split-usr, --enable-split-usr"
CACHED_CONFIGUREVARS += "ac_cv_path_KILL=${base_bindir}/kill"
CACHED_CONFIGUREVARS += "ac_cv_path_KMOD=${base_bindir}/kmod"
CACHED_CONFIGUREVARS += "ac_cv_path_QUOTACHECK=${sbindir}/quotacheck"
CACHED_CONFIGUREVARS += "ac_cv_path_QUOTAON=${sbindir}/quotaon"
CACHED_CONFIGUREVARS += "ac_cv_path_SULOGIN=${base_sbindir}/sulogin"
# Hardcode target binary paths to avoid AC_PROG_PATH in the systemd
# configure script detecting and setting paths from sysroot or host.
CACHED_CONFIGUREVARS_class-target = " \
ac_cv_path_KEXEC=${sbindir}/kexec \
ac_cv_path_KILL=${base_bindir}/kill \
ac_cv_path_KMOD=${base_bindir}/kmod \
ac_cv_path_MOUNT_PATH=${base_bindir}/mount \
ac_cv_path_QUOTACHECK=${sbindir}/quotacheck \
ac_cv_path_QUOTAON=${sbindir}/quotaon \
ac_cv_path_SULOGIN=${base_sbindir}/sulogin \
ac_cv_path_UMOUNT_PATH=${base_bindir}/umount \
"
# Helper variables to clarify locations. This mirrors the logic in systemd's
# build system.
@@ -134,33 +168,21 @@ rootprefix ?= "${root_prefix}"
rootlibdir ?= "${base_libdir}"
rootlibexecdir = "${rootprefix}/lib"
CACHED_CONFIGUREVARS_class-target = "\
ac_cv_path_MOUNT_PATH=${base_bindir}/mount \
ac_cv_path_UMOUNT_PATH=${base_bindir}/umount \
ac_cv_path_KMOD=${base_bindir}/kmod \
ac_cv_path_KILL=${base_bindir}/kill \
ac_cv_path_SULOGIN=${base_sbindir}/sulogin \
ac_cv_path_KEXEC=${sbindir}/kexec \
ac_cv_path_QUOTACHECK=${sbindir}/quotacheck \
ac_cv_path_QUOTAON=${sbindir}/quotaon \
"
EXTRA_OECONF = " \
--without-python \
--with-roothomedir=${ROOT_HOME} \
--with-rootlibdir=${rootlibdir} \
--with-rootprefix=${rootprefix} \
--with-sysvrcnd-path=${sysconfdir} \
--with-firmware-path=${nonarch_base_libdir}/firmware \
"
EXTRA_OECONF = " --with-rootprefix=${rootprefix} \
--with-rootlibdir=${rootlibdir} \
--with-roothomedir=${ROOT_HOME} \
--without-python \
--with-sysvrcnd-path=${sysconfdir} \
--with-firmware-path=${nonarch_base_libdir}/firmware \
"
# per the systemd README, define VALGRIND=1 to run under valgrind
CFLAGS .= "${@bb.utils.contains('PACKAGECONFIG', 'valgrind', ' -DVALGRIND=1', '', d)}"
# disable problematic GCC 5.2 optimizations [YOCTO #8291]
FULL_OPTIMIZATION_append_arm = " -fno-schedule-insns -fno-schedule-insns2"
# Avoid login failure on qemumips64 when pam is enabled
FULL_OPTIMIZATION_append_mips64 = " -fno-tree-switch-conversion -fno-tree-tail-merge"
COMPILER_NM ?= "${HOST_PREFIX}gcc-nm"
COMPILER_AR ?= "${HOST_PREFIX}gcc-ar"
COMPILER_RANLIB ?= "${HOST_PREFIX}gcc-ranlib"
@@ -195,7 +217,6 @@ do_install() {
# 20:12 < mezcalero> koen: you have three options: a) run systemd-machine-id-setup at install time, b) have / read-only and an empty file there (for stateless) and c) boot with / writable
touch ${D}${sysconfdir}/machine-id
install -d ${D}${sysconfdir}/udev/rules.d/
install -d ${D}${sysconfdir}/tmpfiles.d
install -m 0644 ${WORKDIR}/*.rules ${D}${sysconfdir}/udev/rules.d/
@@ -251,39 +272,39 @@ do_install() {
fi
install -Dm 0755 ${S}/src/systemctl/systemd-sysv-install.SKELETON ${D}${systemd_unitdir}/systemd-sysv-install
# If polkit is setup fixup permissions and ownership
if [ "${@bb.utils.contains('PACKAGECONFIG', 'polkit', 'polkit', '', d)}" = "polkit" ] ; then
if [ -d ${D}${datadir}/polkit-1/rules.d ] ; then
chmod 700 ${D}${datadir}/polkit-1/rules.d
chown polkitd:root ${D}${datadir}/polkit-1/rules.d
fi
fi
# If polkit is setup fixup permissions and ownership
if ${@bb.utils.contains('PACKAGECONFIG', 'polkit', 'true', 'false', d)}; then
if [ -d ${D}${datadir}/polkit-1/rules.d ]; then
chmod 700 ${D}${datadir}/polkit-1/rules.d
chown polkitd:root ${D}${datadir}/polkit-1/rules.d
fi
fi
}
do_install_ptest () {
# install data files needed for tests
install -d ${D}${PTEST_PATH}/tests/test
cp -rfL ${S}/test/* ${D}${PTEST_PATH}/tests/test
# python is disabled for systemd, thus removing these python testing scripts
rm ${D}${PTEST_PATH}/tests/test/*.py
sed -i 's/"tree"/"ls"/' ${D}${PTEST_PATH}/tests/test/udev-test.pl
# install data files needed for tests
install -d ${D}${PTEST_PATH}/tests/test
cp -rfL ${S}/test/* ${D}${PTEST_PATH}/tests/test
# python is disabled for systemd, thus removing these python testing scripts
rm ${D}${PTEST_PATH}/tests/test/*.py
sed -i 's/"tree"/"ls"/' ${D}${PTEST_PATH}/tests/test/udev-test.pl
install -d ${D}${PTEST_PATH}/tests/catalog
install ${S}/catalog/* ${D}${PTEST_PATH}/tests/catalog/
install -d ${D}${PTEST_PATH}/tests/catalog
install ${S}/catalog/* ${D}${PTEST_PATH}/tests/catalog/
install -D ${S}/build-aux/test-driver ${D}${PTEST_PATH}/tests/build-aux/test-driver
install -D ${S}/build-aux/test-driver ${D}${PTEST_PATH}/tests/build-aux/test-driver
install -d ${D}${PTEST_PATH}/tests/rules
install ${B}/rules/* ${D}${PTEST_PATH}/tests/rules/
install -d ${D}${PTEST_PATH}/tests/rules
install ${B}/rules/* ${D}${PTEST_PATH}/tests/rules/
# This directory needs to be there for udev-test.pl to work.
install -d ${D}${libdir}/udev/rules.d
# This directory needs to be there for udev-test.pl to work.
install -d ${D}${libdir}/udev/rules.d
# install actual test binaries
install -m 0755 ${B}/test-* ${D}${PTEST_PATH}/tests/
install -m 0755 ${B}/.libs/test-* ${D}${PTEST_PATH}/tests/
# install actual test binaries
install -m 0755 ${B}/test-* ${D}${PTEST_PATH}/tests/
install -m 0755 ${B}/.libs/test-* ${D}${PTEST_PATH}/tests/
install ${B}/Makefile ${D}${PTEST_PATH}/tests/
install ${B}/Makefile ${D}${PTEST_PATH}/tests/
}
python populate_packages_prepend (){
@@ -615,8 +636,4 @@ pkg_prerm_udev-hwdb () {
python () {
if not bb.utils.contains ('DISTRO_FEATURES', 'systemd', True, False, d):
raise bb.parse.SkipPackage("'systemd' not in DISTRO_FEATURES")
import re
if re.match('.*musl*', d.getVar('TARGET_OS')) != None:
raise bb.parse.SkipPackage("Not _yet_ supported on musl based targets")
}

View File

@@ -304,7 +304,7 @@ python populate_packages_prepend() {
}
RDEPENDS_${PN}-bash-completion += "util-linux-lsblk"
RDEPENDS_${PN}-ptest = "bash grep coreutils"
RDEPENDS_${PN}-ptest = "bash grep coreutils which util-linux-blkid util-linux-fsck btrfs-tools"
do_compile_ptest() {
oe_runmake buildtest-TESTS
@@ -312,23 +312,30 @@ do_compile_ptest() {
do_install_ptest() {
mkdir -p ${D}${PTEST_PATH}/tests/ts
find . -maxdepth 1 -type f -perm -111 -exec cp {} ${D}${PTEST_PATH} \;
cp ${S}/tests/functions.sh ${D}${PTEST_PATH}/tests/
cp ${S}/tests/commands.sh ${D}${PTEST_PATH}/tests/
cp ${S}/tests/run.sh ${D}${PTEST_PATH}/tests/
cp -pR ${S}/tests/expected ${D}${PTEST_PATH}/tests/expected
find . -name 'test*' -maxdepth 1 -type f -perm -111 -exec cp {} ${D}${PTEST_PATH} \;
find ./.libs -name 'sample*' -maxdepth 1 -type f -perm -111 -exec cp {} ${D}${PTEST_PATH} \;
find ./.libs -name 'test*' -maxdepth 1 -type f -perm -111 -exec cp {} ${D}${PTEST_PATH} \;
list="bitops build-sys cal col colrm column dmesg fsck hexdump hwclock ipcs isosize login look md5 misc more namei paths schedutils script swapon"
# The following tests are not installed yet:
# blkid scsi_debug module dependent
# cramfs gcc dependent
# eject gcc dependent
# fdisk scsi_debug module and gcc dependent
# lscpu gcc dependant
# libmount uuidgen dependent
# mount gcc dependant
# partx blkid dependant
for d in $list; do
cp -pR ${S}/tests/ts/$d ${D}${PTEST_PATH}/tests/ts/
done
cp ${S}/tests/*.sh ${D}${PTEST_PATH}/tests/
cp -pR ${S}/tests/expected ${D}${PTEST_PATH}/tests/expected
cp -pR ${S}/tests/ts ${D}${PTEST_PATH}/tests/
cp ${WORKDIR}/build/config.h ${D}${PTEST_PATH}
# The original paths of executables to be tested point to a local folder containing
# the executables. We want to test the installed executables, not the local copies.
# So strip the paths, the executables will be located via "which"
sed -i \
-e '/^TS_CMD/ s|$top_builddir/||g' \
-e '/^TS_HELPER/ s|$top_builddir|${PTEST_PATH}|g' \
${D}${PTEST_PATH}/tests/commands.sh
# Change 'if [ ! -x "$1" ]' to 'if [ ! -x "`which $1 2>/dev/null`"]'
sed -i -e \
'/^\tif[[:space:]]\[[[:space:]]![[:space:]]-x[[:space:]]"$1"/s|$1|`which $1 2>/dev/null`|g' \
${D}${PTEST_PATH}/tests/functions.sh
# "kill -L" behaves differently than "/bin/kill -L" so we need an additional fix
sed -i -e \
'/^TS_CMD_KILL/ s|kill|/bin/kill|g' \
${D}${PTEST_PATH}/tests/commands.sh
}

View File

@@ -1,7 +1,7 @@
require dpkg.inc
LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
SRC_URI = "${DEBIAN_MIRROR}/main/d/${BPN}/${BPN}_${PV}.tar.xz \
SRC_URI = "http://snapshot.debian.org/archive/debian/20170518T093838Z/pool/main/d/dpkg/dpkg_1.18.24.tar.xz \
file://noman.patch \
file://remove-tar-no-timestamp.patch \
file://arch_pm.patch \

View File

@@ -109,4 +109,9 @@ do_install_ptest() {
cp -R --no-dereference --preserve=mode,links -v ${B}/tests ${D}${PTEST_PATH}/test
cp -R --no-dereference --preserve=mode,links -v ${S}/tests/* ${D}${PTEST_PATH}/test
sed -e 's!../e2fsck/e2fsck!e2fsck!g' -i ${D}${PTEST_PATH}/test/*/expect*
# Remove various files
find "${D}${PTEST_PATH}" -type f \
\( -name 'Makefile' -o -name 'Makefile.in' -o -name '*.o' -o -name '*.c' -o -name '*.h' \)\
-exec rm -f {} +
}

View File

@@ -17,6 +17,7 @@ SRC_URI += "\
file://0005-fix-a-stack-usage-warning.patch \
file://0006-Fix-build-on-aarch64-musl.patch \
file://0007-Fix-control-path-where-we-have-str-as-uninitialized-.patch \
file://0001-libasm-may-link-with-libbz2-if-found.patch \
"
SRC_URI_append_libc-musl = " file://0008-build-Provide-alternatives-for-glibc-assumptions-hel.patch"

View File

@@ -0,0 +1,39 @@
From 7672e363468271b4c63ff58770c5aac15ab8f722 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 4 Oct 2017 22:30:46 -0700
Subject: [PATCH] libasm may link with libbz2 if found
This can fail to link binaries like objdump
where indirect libraries may be not found by linker
| /mnt/a/oe/build/tmp/work/riscv64-bec-linux/elfutils/0.170-r0/recipe-sysroot/usr/lib/libbz2.so.1: error adding symbols: DSO missing from command line
| collect2: error: ld returned 1 exit status
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
Upstream-Status: Pending
src/Makefile.am | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/Makefile.am b/src/Makefile.am
index e03bc32..9b7e853 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -39,11 +39,11 @@ EXTRA_DIST += make-debug-archive.in
CLEANFILES += make-debug-archive
if BUILD_STATIC
-libasm = ../libasm/libasm.a
+libasm = ../libasm/libasm.a $(zip_LIBS)
libdw = ../libdw/libdw.a -lz $(zip_LIBS) $(libelf) $(libebl) -ldl
libelf = ../libelf/libelf.a -lz
else
-libasm = ../libasm/libasm.so
+libasm = ../libasm/libasm.so $(zip_LIBS)
libdw = ../libdw/libdw.so $(zip_LIBS) $(libelf) $(libebl) -ldl
libelf = ../libelf/libelf.so
endif
--
2.14.2

View File

@@ -78,6 +78,8 @@ SRC_URI = "\
${BACKPORTS} \
"
BACKPORTS = "\
file://0051-ARM-PR-82445-suppress-32-bit-aligned-ldrd-strd-peeph.patch \
file://0001-PR-rtl-optimization-81803.patch \
"
SRC_URI[md5sum] = "ff370482573133a7fcdd96cd2f552292"
SRC_URI[sha256sum] = "1cf7adf8ff4b5aa49041c8734bbcf1ad18cc4c94d0029aae0f4e48841088479a"

View File

@@ -0,0 +1,52 @@
From 5cbb8e6b1122092b3eaabd4270b2f316aa40407c Mon Sep 17 00:00:00 2001
From: ebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Tue, 31 Oct 2017 18:27:52 +0000
Subject: [PATCH] PR rtl-optimization/81803 * lra-constraints.c
(curr_insn_transform): Also reload the whole register for a strict subreg
no wider than a word if this is for a WORD_REGISTER_OPERATIONS target.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@254275 138bc75d-0d04-0410-961f-82ee72b054a4
Upstream-Status: Backport
This patch removes changes to Changelog from the original patch upstream. This is
because we are backporting a patch to a stable version, making changes to Changelog,
especially up '* GCC 7.2.0 released.', feels a little weird.
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
---
gcc/lra-constraints.c | 11 ++++++++---
2 files changed, 16 insertions(+), 3 deletions(-)
diff --git a/gcc/lra-constraints.c b/gcc/lra-constraints.c
index a423f069836..3758409bb9c 100644
--- a/gcc/lra-constraints.c
+++ b/gcc/lra-constraints.c
@@ -4207,8 +4207,9 @@ curr_insn_transform (bool check_only_p)
reg = SUBREG_REG (*loc);
byte = SUBREG_BYTE (*loc);
if (REG_P (reg)
- /* Strict_low_part requires reload the register not
- the sub-register. */
+ /* Strict_low_part requires reloading the register and not
+ just the subreg. Likewise for a strict subreg no wider
+ than a word for WORD_REGISTER_OPERATIONS targets. */
&& (curr_static_id->operand[i].strict_low
|| (!paradoxical_subreg_p (mode, GET_MODE (reg))
&& (hard_regno
@@ -4219,7 +4220,11 @@ curr_insn_transform (bool check_only_p)
&& (goal_alt[i] == NO_REGS
|| (simplify_subreg_regno
(ira_class_hard_regs[goal_alt[i]][0],
- GET_MODE (reg), byte, mode) >= 0)))))
+ GET_MODE (reg), byte, mode) >= 0)))
+ || (GET_MODE_PRECISION (mode)
+ < GET_MODE_PRECISION (GET_MODE (reg))
+ && GET_MODE_SIZE (GET_MODE (reg)) <= UNITS_PER_WORD
+ && WORD_REGISTER_OPERATIONS)))
{
/* An OP_INOUT is required when reloading a subreg of a
mode wider than a word to ensure that data beyond the
--
2.13.0

View File

@@ -0,0 +1,194 @@
From 8c18b422211878ba02503462cb22a2cc25a0a325 Mon Sep 17 00:00:00 2001
From: rearnsha <rearnsha@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Thu, 19 Oct 2017 13:14:55 +0000
Subject: [PATCH] [ARM] PR 82445 - suppress 32-bit aligned ldrd/strd peepholing
with -mno-unaligned-access
Peephole patterns exist in the arm backend to spot load/store
operations to adjacent memory operations in order to convert them into
ldrd/strd instructions. However, when we have strict alignment
enforced, then we can only do this if the accesses are known to be
64-bit aligned; this is unlikely to be the case for most loads. The
patch adds some alignment checking to the code that validates the
addresses for use in the peephole patterns. This should also fix
incorrect generation of ldrd/strd with unaligned accesses that could
previously have occurred on ARMv5e where all such operations must be
64-bit aligned.
I've added some new tests as well. In doing so I discovered that the
ldrd/strd peephole tests could never fail since they would match the
source file name in the scanned assembly as well as any instructions
of the intended type. I've fixed those by tightening the scan results
slightly.
gcc:
* config/arm/arm.c (align_ok_ldrd_strd): New function.
(mem_ok_for_ldrd_strd): New parameter align. Extract the alignment of the
mem into it.
(gen_operands_ldrd_strd): Validate the alignment of the accesses.
testsuite:
* gcc.target/arm/peep-ldrd-1.c: Tighten test scan pattern.
* gcc.target/arm/peep-strd-1.c: Likewise.
* gcc.target/arm/peep-ldrd-2.c: New test.
* gcc.target/arm/peep-strd-2.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@253891 138bc75d-0d04-0410-961f-82ee72b054a4
---
Upstream-Status: Backport
Signed-off-by: Khem Raj <raj.khem@gmail.com>
gcc/ChangeLog | 8 +++++++
gcc/config/arm/arm.c | 27 ++++++++++++++++++----
gcc/testsuite/ChangeLog | 8 +++++++
gcc/testsuite/gcc.target/arm/peep-ldrd-1.c | 2 +-
.../arm/{peep-ldrd-1.c => peep-ldrd-2.c} | 4 ++--
gcc/testsuite/gcc.target/arm/peep-strd-1.c | 2 +-
.../arm/{peep-strd-1.c => peep-strd-2.c} | 4 ++--
7 files changed, 44 insertions(+), 11 deletions(-)
copy gcc/testsuite/gcc.target/arm/{peep-ldrd-1.c => peep-ldrd-2.c} (63%)
copy gcc/testsuite/gcc.target/arm/{peep-strd-1.c => peep-strd-2.c} (58%)
diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c
index 1ded0d2a17d..989957f048e 100644
--- a/gcc/config/arm/arm.c
+++ b/gcc/config/arm/arm.c
@@ -15199,12 +15199,23 @@ operands_ok_ldrd_strd (rtx rt, rtx rt2, rtx rn, HOST_WIDE_INT offset,
return true;
}
+/* Return true if a 64-bit access with alignment ALIGN and with a
+ constant offset OFFSET from the base pointer is permitted on this
+ architecture. */
+static bool
+align_ok_ldrd_strd (HOST_WIDE_INT align, HOST_WIDE_INT offset)
+{
+ return (unaligned_access
+ ? (align >= BITS_PER_WORD && (offset & 3) == 0)
+ : (align >= 2 * BITS_PER_WORD && (offset & 7) == 0));
+}
+
/* Helper for gen_operands_ldrd_strd. Returns true iff the memory
operand MEM's address contains an immediate offset from the base
- register and has no side effects, in which case it sets BASE and
- OFFSET accordingly. */
+ register and has no side effects, in which case it sets BASE,
+ OFFSET and ALIGN accordingly. */
static bool
-mem_ok_for_ldrd_strd (rtx mem, rtx *base, rtx *offset)
+mem_ok_for_ldrd_strd (rtx mem, rtx *base, rtx *offset, HOST_WIDE_INT *align)
{
rtx addr;
@@ -15223,6 +15234,7 @@ mem_ok_for_ldrd_strd (rtx mem, rtx *base, rtx *offset)
gcc_assert (MEM_P (mem));
*offset = const0_rtx;
+ *align = MEM_ALIGN (mem);
addr = XEXP (mem, 0);
@@ -15263,7 +15275,7 @@ gen_operands_ldrd_strd (rtx *operands, bool load,
bool const_store, bool commute)
{
int nops = 2;
- HOST_WIDE_INT offsets[2], offset;
+ HOST_WIDE_INT offsets[2], offset, align[2];
rtx base = NULL_RTX;
rtx cur_base, cur_offset, tmp;
int i, gap;
@@ -15275,7 +15287,8 @@ gen_operands_ldrd_strd (rtx *operands, bool load,
registers, and the corresponding memory offsets. */
for (i = 0; i < nops; i++)
{
- if (!mem_ok_for_ldrd_strd (operands[nops+i], &cur_base, &cur_offset))
+ if (!mem_ok_for_ldrd_strd (operands[nops+i], &cur_base, &cur_offset,
+ &align[i]))
return false;
if (i == 0)
@@ -15389,6 +15402,7 @@ gen_operands_ldrd_strd (rtx *operands, bool load,
/* Swap the instructions such that lower memory is accessed first. */
std::swap (operands[0], operands[1]);
std::swap (operands[2], operands[3]);
+ std::swap (align[0], align[1]);
if (const_store)
std::swap (operands[4], operands[5]);
}
@@ -15402,6 +15416,9 @@ gen_operands_ldrd_strd (rtx *operands, bool load,
if (gap != 4)
return false;
+ if (!align_ok_ldrd_strd (align[0], offset))
+ return false;
+
/* Make sure we generate legal instructions. */
if (operands_ok_ldrd_strd (operands[0], operands[1], base, offset,
false, load))
diff --git a/gcc/testsuite/gcc.target/arm/peep-ldrd-1.c b/gcc/testsuite/gcc.target/arm/peep-ldrd-1.c
index eb2b86ee7b6..d49eff6b87e 100644
--- a/gcc/testsuite/gcc.target/arm/peep-ldrd-1.c
+++ b/gcc/testsuite/gcc.target/arm/peep-ldrd-1.c
@@ -8,4 +8,4 @@ int foo(int a, int b, int* p, int *q)
*p = a;
return a;
}
-/* { dg-final { scan-assembler "ldrd" } } */
+/* { dg-final { scan-assembler "ldrd\\t" } } */
diff --git a/gcc/testsuite/gcc.target/arm/peep-ldrd-1.c b/gcc/testsuite/gcc.target/arm/peep-ldrd-2.c
similarity index 63%
copy from gcc/testsuite/gcc.target/arm/peep-ldrd-1.c
copy to gcc/testsuite/gcc.target/arm/peep-ldrd-2.c
index eb2b86ee7b6..6822c2b1454 100644
--- a/gcc/testsuite/gcc.target/arm/peep-ldrd-1.c
+++ b/gcc/testsuite/gcc.target/arm/peep-ldrd-2.c
@@ -1,6 +1,6 @@
/* { dg-do compile } */
/* { dg-require-effective-target arm_prefer_ldrd_strd } */
-/* { dg-options "-O2" } */
+/* { dg-options "-O2 -mno-unaligned-access" } */
int foo(int a, int b, int* p, int *q)
{
a = p[2] + p[3];
@@ -8,4 +8,4 @@ int foo(int a, int b, int* p, int *q)
*p = a;
return a;
}
-/* { dg-final { scan-assembler "ldrd" } } */
+/* { dg-final { scan-assembler-not "ldrd\\t" } } */
diff --git a/gcc/testsuite/gcc.target/arm/peep-strd-1.c b/gcc/testsuite/gcc.target/arm/peep-strd-1.c
index bd330769599..fe1beac7229 100644
--- a/gcc/testsuite/gcc.target/arm/peep-strd-1.c
+++ b/gcc/testsuite/gcc.target/arm/peep-strd-1.c
@@ -6,4 +6,4 @@ void foo(int a, int b, int* p)
p[2] = a;
p[3] = b;
}
-/* { dg-final { scan-assembler "strd" } } */
+/* { dg-final { scan-assembler "strd\\t" } } */
diff --git a/gcc/testsuite/gcc.target/arm/peep-strd-1.c b/gcc/testsuite/gcc.target/arm/peep-strd-2.c
similarity index 58%
copy from gcc/testsuite/gcc.target/arm/peep-strd-1.c
copy to gcc/testsuite/gcc.target/arm/peep-strd-2.c
index bd330769599..bfc5ebe9eec 100644
--- a/gcc/testsuite/gcc.target/arm/peep-strd-1.c
+++ b/gcc/testsuite/gcc.target/arm/peep-strd-2.c
@@ -1,9 +1,9 @@
/* { dg-do compile } */
/* { dg-require-effective-target arm_prefer_ldrd_strd } */
-/* { dg-options "-O2" } */
+/* { dg-options "-O2 -mno-unaligned-access" } */
void foo(int a, int b, int* p)
{
p[2] = a;
p[3] = b;
}
-/* { dg-final { scan-assembler "strd" } } */
+/* { dg-final { scan-assembler-not "strd\\t" } } */
--
2.15.0

View File

@@ -15,6 +15,9 @@ SRC_URI += "\
file://0007-ld-add-soname-to-shareable-objects.patch \
file://0008-make.bash-add-GOHOSTxx-indirection-for-cross-canadia.patch \
file://0009-cmd-go-buildmode-pie-forces-external-linking-mode-on.patch \
file://0010-make.bash-override-CC-when-building-dist-and-go_boot.patch \
"
SRC_URI_append_libc-musl = " file://set-external-linker.patch"
SRC_URI[main.md5sum] = "da2d44ea384076efec43ee1f8b7d45d2"
SRC_URI[main.sha256sum] = "a4ab229028ed167ba1986825751463605264e44868362ca8e7accc8be057e993"

View File

@@ -0,0 +1,43 @@
From 21d83dd9499e5be30eea28dd7034d1ea2a01c838 Mon Sep 17 00:00:00 2001
From: Matt Madison <matt@madison.systems>
Date: Tue, 14 Nov 2017 07:38:42 -0800
Subject: [PATCH 10/10] make.bash: override CC when building dist and
go_bootstrap
For cross-canadian builds, dist and go_bootstrap
run on the build host, so CC needs to point to the
build host's C compiler. Add a BUILD_CC environment
for this, falling back to $CC if not present.
Upstream-Status: Pending
Signed-off-by: Matt Madison <matt@madison.systems>
---
src/make.bash | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/make.bash b/src/make.bash
index 0bdadc6..f199349 100755
--- a/src/make.bash
+++ b/src/make.bash
@@ -131,7 +131,7 @@ if [ "$GOROOT_BOOTSTRAP" = "$GOROOT" ]; then
exit 1
fi
rm -f cmd/dist/dist
-GOROOT="$GOROOT_BOOTSTRAP" GOOS="" GOARCH="" "$GOROOT_BOOTSTRAP/bin/go" build -o cmd/dist/dist ./cmd/dist
+CC=${BUILD_CC:-${CC}} GOROOT="$GOROOT_BOOTSTRAP" GOOS="" GOARCH="" "$GOROOT_BOOTSTRAP/bin/go" build -o cmd/dist/dist ./cmd/dist
# -e doesn't propagate out of eval, so check success by hand.
eval $(./cmd/dist/dist env -p || echo FAIL=true)
@@ -167,7 +167,7 @@ elif [ "$1" = "--host-only" ]; then
fi
if [ "$do_host_build" = "yes" ]; then
- ./cmd/dist/dist bootstrap $buildall $GO_DISTFLAGS -v # builds go_bootstrap
+ CC=${BUILD_CC:-${CC}} ./cmd/dist/dist bootstrap $buildall $GO_DISTFLAGS -v # builds go_bootstrap
# Delay move of dist tool to now, because bootstrap may clear tool directory.
mv cmd/dist/dist "$GOTOOLDIR"/dist
echo
--
2.7.4

View File

@@ -0,0 +1,111 @@
Change the dynamic linker hardcoding to use musl when not using glibc
this should be applied conditional to musl being the system C library
Upstream-Status: Inappropriate [Real Fix should be portable across libcs]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Index: go/src/cmd/link/internal/amd64/obj.go
===================================================================
--- go.orig/src/cmd/link/internal/amd64/obj.go
+++ go/src/cmd/link/internal/amd64/obj.go
@@ -67,7 +67,7 @@ func Init() {
ld.Thearch.Append64 = ld.Append64l
ld.Thearch.TLSIEtoLE = tlsIEtoLE
- ld.Thearch.Linuxdynld = "/lib64/ld-linux-x86-64.so.2"
+ ld.Thearch.Linuxdynld = "/lib/ld-musl-x86_64.so.1"
ld.Thearch.Freebsddynld = "/libexec/ld-elf.so.1"
ld.Thearch.Openbsddynld = "/usr/libexec/ld.so"
ld.Thearch.Netbsddynld = "/libexec/ld.elf_so"
Index: go/src/cmd/link/internal/arm/obj.go
===================================================================
--- go.orig/src/cmd/link/internal/arm/obj.go
+++ go/src/cmd/link/internal/arm/obj.go
@@ -63,7 +63,7 @@ func Init() {
ld.Thearch.Append32 = ld.Append32l
ld.Thearch.Append64 = ld.Append64l
- ld.Thearch.Linuxdynld = "/lib/ld-linux.so.3" // 2 for OABI, 3 for EABI
+ ld.Thearch.Linuxdynld = "/lib/ld-musl-armhf.so.1"
ld.Thearch.Freebsddynld = "/usr/libexec/ld-elf.so.1"
ld.Thearch.Openbsddynld = "/usr/libexec/ld.so"
ld.Thearch.Netbsddynld = "/libexec/ld.elf_so"
Index: go/src/cmd/link/internal/arm64/obj.go
===================================================================
--- go.orig/src/cmd/link/internal/arm64/obj.go
+++ go/src/cmd/link/internal/arm64/obj.go
@@ -62,7 +62,7 @@ func Init() {
ld.Thearch.Append32 = ld.Append32l
ld.Thearch.Append64 = ld.Append64l
- ld.Thearch.Linuxdynld = "/lib/ld-linux-aarch64.so.1"
+ ld.Thearch.Linuxdynld = "/lib/ld-musl-aarch64.so.1"
ld.Thearch.Freebsddynld = "XXX"
ld.Thearch.Openbsddynld = "XXX"
Index: go/src/cmd/link/internal/mips/obj.go
===================================================================
--- go.orig/src/cmd/link/internal/mips/obj.go
+++ go/src/cmd/link/internal/mips/obj.go
@@ -77,7 +77,7 @@ func Init() {
ld.Thearch.Append64 = ld.Append64b
}
- ld.Thearch.Linuxdynld = "/lib/ld.so.1"
+ ld.Thearch.Linuxdynld = "/lib/ld-musl-mipsle.so.1"
ld.Thearch.Freebsddynld = "XXX"
ld.Thearch.Openbsddynld = "XXX"
Index: go/src/cmd/link/internal/mips64/obj.go
===================================================================
--- go.orig/src/cmd/link/internal/mips64/obj.go
+++ go/src/cmd/link/internal/mips64/obj.go
@@ -75,7 +75,7 @@ func Init() {
ld.Thearch.Append64 = ld.Append64b
}
- ld.Thearch.Linuxdynld = "/lib64/ld64.so.1"
+ ld.Thearch.Linuxdynld = "/lib64/ld-musl-mips64le.so.1"
ld.Thearch.Freebsddynld = "XXX"
ld.Thearch.Openbsddynld = "XXX"
Index: go/src/cmd/link/internal/ppc64/obj.go
===================================================================
--- go.orig/src/cmd/link/internal/ppc64/obj.go
+++ go/src/cmd/link/internal/ppc64/obj.go
@@ -77,7 +77,7 @@ func Init() {
}
// TODO(austin): ABI v1 uses /usr/lib/ld.so.1
- ld.Thearch.Linuxdynld = "/lib64/ld64.so.1"
+ ld.Thearch.Linuxdynld = "/lib/ld-musl-powerpc64le.so.1"
ld.Thearch.Freebsddynld = "XXX"
ld.Thearch.Openbsddynld = "XXX"
Index: go/src/cmd/link/internal/s390x/obj.go
===================================================================
--- go.orig/src/cmd/link/internal/s390x/obj.go
+++ go/src/cmd/link/internal/s390x/obj.go
@@ -62,7 +62,7 @@ func Init() {
ld.Thearch.Append32 = ld.Append32b
ld.Thearch.Append64 = ld.Append64b
- ld.Thearch.Linuxdynld = "/lib64/ld64.so.1"
+ ld.Thearch.Linuxdynld = "/lib/ld-musl-s390x.so.1"
// not relevant for s390x
ld.Thearch.Freebsddynld = "XXX"
Index: go/src/cmd/link/internal/x86/obj.go
===================================================================
--- go.orig/src/cmd/link/internal/x86/obj.go
+++ go/src/cmd/link/internal/x86/obj.go
@@ -63,7 +63,7 @@ func Init() {
ld.Thearch.Append32 = ld.Append32l
ld.Thearch.Append64 = ld.Append64l
- ld.Thearch.Linuxdynld = "/lib/ld-linux.so.2"
+ ld.Thearch.Linuxdynld = "/lib/ld-musl-i386.so.1"
ld.Thearch.Freebsddynld = "/usr/libexec/ld-elf.so.1"
ld.Thearch.Openbsddynld = "/usr/libexec/ld.so"
ld.Thearch.Netbsddynld = "/usr/libexec/ld.elf_so"

View File

@@ -20,3 +20,7 @@ B = "${S}"
INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
SSTATE_SCAN_CMD = "true"
do_compile_prepend() {
BUILD_CC=${BUILD_CC}
}

View File

@@ -32,6 +32,7 @@ do_configure () {
-Dcc="${CC}" \
-Dcflags="${CFLAGS}" \
-Dldflags="${LDFLAGS}" \
-Dlddlflags="${LDFLAGS} -shared" \
-Dcf_by="Open Embedded" \
-Dprefix=${prefix} \
-Dvendorprefix=${prefix} \

View File

@@ -1,5 +1,5 @@
require python.inc
DEPENDS = "python-native libffi bzip2 db gdbm openssl readline sqlite3 zlib"
DEPENDS = "python-native libffi bzip2 gdbm openssl readline sqlite3 zlib"
PR = "${INC_PR}"
DISTRO_SRC_URI ?= "file://sitecustomize.py"
@@ -39,6 +39,9 @@ CONFIGUREOPTS += " --with-system-ffi "
EXTRA_OECONF += "ac_cv_file__dev_ptmx=yes ac_cv_file__dev_ptc=no"
PACKAGECONFIG ??= "bdb"
PACKAGECONFIG[bdb] = ",,db"
do_configure_append() {
rm -f ${S}/Makefile.orig
autoreconf -Wcross --verbose --install --force --exclude=autopoint ../Python-${PV}/Modules/_ctypes/libffi
@@ -118,6 +121,10 @@ do_install() {
fi
oe_multilib_header python${PYTHON_MAJMIN}/pyconfig.h
if [ -z "${@bb.utils.filter('PACKAGECONFIG', 'bdb', d)}" ]; then
rm -rf ${D}/${libdir}/python${PYTHON_MAJMIN}/bsddb
fi
}
do_install_append_class-nativesdk () {
@@ -154,6 +161,8 @@ FILES_lib${BPN}2 = "${libdir}/libpython*.so.*"
PACKAGES += "${PN}-misc"
FILES_${PN}-misc = "${libdir}/python${PYTHON_MAJMIN}"
RDEPENDS_${PN}-modules += "${PN}-misc"
# ptest
RDEPENDS_${PN}-ptest = "${PN}-modules ${PN}-tests"
#inherit ptest after "require python-${PYTHON_MAJMIN}-manifest.inc" so PACKAGES doesn't get overwritten
inherit ptest
@@ -180,4 +189,7 @@ do_install_ptest() {
PACKAGES += "${PN}-man"
FILES_${PN}-man = "${datadir}/man"
# Nasty but if bdb isn't enabled the package won't be generated
RDEPENDS_${PN}-modules_remove = "${@bb.utils.contains('PACKAGECONFIG', 'bdb', '', '${PN}-bsddb', d)}"
BBCLASSEXTEND = "nativesdk"

View File

@@ -0,0 +1,105 @@
I've tracked down what I think is a problem causing qemu-system-ppc
to hang whilst booting images.
I believe the decrementer timer stops receiving interrupts so
tasks in our images hang indefinitely as the timer stopped.
It can be summed up with this line of debug:
ppc_set_irq: 0x55b4e0d562f0 n_IRQ 8 level 1 => pending 00000100req 00000004
It should normally read:
ppc_set_irq: 0x55b4e0d562f0 n_IRQ 8 level 1 => pending 00000100req 00000002
The question is why CPU_INTERRUPT_EXITTB ends up being set when the
lines above this log message clearly sets CPU_INTERRUPT_HARD (via
cpu_interrupt() ).
I note in cpu.h:
/* updates protected by BQL */
uint32_t interrupt_request;
(for struct CPUState)
The ppc code does "cs->interrupt_request |= CPU_INTERRUPT_EXITTB" in 5
places, 3 in excp_helper.c and 2 in helper_regs.h. In all cases,
g_assert(qemu_mutex_iothread_locked()); fails. If I do something like:
if (!qemu_mutex_iothread_locked()) {
qemu_mutex_lock_iothread();
cpu_interrupt(cs, CPU_INTERRUPT_EXITTB);
qemu_mutex_unlock_iothread();
} else {
cpu_interrupt(cs, CPU_INTERRUPT_EXITTB);
}
in these call sites then I can no longer lock qemu up with my test
case.
I suspect the _HARD setting gets overwritten which stops the
decrementer interrupts being delivered.
Upstream-Status: Submitted [Issue discussed on qemu mailing list 2017/11/20]
RP 2017/11/20
Index: qemu-2.10.1/target/ppc/excp_helper.c
===================================================================
--- qemu-2.10.1.orig/target/ppc/excp_helper.c
+++ qemu-2.10.1/target/ppc/excp_helper.c
@@ -207,7 +207,9 @@ static inline void powerpc_excp(PowerPCC
"Entering checkstop state\n");
}
cs->halted = 1;
- cs->interrupt_request |= CPU_INTERRUPT_EXITTB;
+ qemu_mutex_lock_iothread();
+ cpu_interrupt(cs, CPU_INTERRUPT_EXITTB);
+ qemu_mutex_unlock_iothread();
}
if (env->msr_mask & MSR_HVB) {
/* ISA specifies HV, but can be delivered to guest with HV clear
@@ -940,7 +942,9 @@ void helper_store_msr(CPUPPCState *env,
if (excp != 0) {
CPUState *cs = CPU(ppc_env_get_cpu(env));
- cs->interrupt_request |= CPU_INTERRUPT_EXITTB;
+ qemu_mutex_lock_iothread();
+ cpu_interrupt(cs, CPU_INTERRUPT_EXITTB);
+ qemu_mutex_unlock_iothread();
raise_exception(env, excp);
}
}
@@ -995,7 +999,9 @@ static inline void do_rfi(CPUPPCState *e
/* No need to raise an exception here,
* as rfi is always the last insn of a TB
*/
- cs->interrupt_request |= CPU_INTERRUPT_EXITTB;
+ qemu_mutex_lock_iothread();
+ cpu_interrupt(cs, CPU_INTERRUPT_EXITTB);
+ qemu_mutex_unlock_iothread();
/* Reset the reservation */
env->reserve_addr = -1;
Index: qemu-2.10.1/target/ppc/helper_regs.h
===================================================================
--- qemu-2.10.1.orig/target/ppc/helper_regs.h
+++ qemu-2.10.1/target/ppc/helper_regs.h
@@ -114,11 +114,15 @@ static inline int hreg_store_msr(CPUPPCS
}
if (((value >> MSR_IR) & 1) != msr_ir ||
((value >> MSR_DR) & 1) != msr_dr) {
- cs->interrupt_request |= CPU_INTERRUPT_EXITTB;
+ qemu_mutex_lock_iothread();
+ cpu_interrupt(cs, CPU_INTERRUPT_EXITTB);
+ qemu_mutex_unlock_iothread();
}
if ((env->mmu_model & POWERPC_MMU_BOOKE) &&
((value >> MSR_GS) & 1) != msr_gs) {
- cs->interrupt_request |= CPU_INTERRUPT_EXITTB;
+ qemu_mutex_lock_iothread();
+ cpu_interrupt(cs, CPU_INTERRUPT_EXITTB);
+ qemu_mutex_unlock_iothread();
}
if (unlikely((env->flags & POWERPC_FLAG_TGPR) &&
((value ^ env->msr) & (1 << MSR_TGPR)))) {

View File

@@ -28,6 +28,7 @@ SRC_URI = "http://wiki.qemu-project.org/download/${BP}.tar.bz2 \
file://CVE-2017-13673.patch \
file://CVE-2017-13672.patch \
file://CVE-2017-14167.patch \
file://ppc_locking.patch \
"
UPSTREAM_CHECK_REGEX = "qemu-(?P<pver>\d+\..*)\.tar"

View File

@@ -107,7 +107,8 @@ do_install_append_class-target() {
}
do_install_append () {
sed -i -e 's:${HOSTTOOLS_DIR}/::g' ${D}/${libdir}/rpm/macros
sed -i -e 's:${HOSTTOOLS_DIR}/::g' \
${D}/${libdir}/rpm/macros
sed -i -e 's|/usr/bin/python|${USRBINPATH}/env ${PYTHON_PN}|' \
${D}${libdir}/rpm/pythondistdeps.py
@@ -127,3 +128,11 @@ FILES_python3-rpm = "${PYTHON_SITEPACKAGES_DIR}/rpm/*"
RPROVIDES_${PN} += "rpm-build"
RDEPENDS_${PN} = "bash perl python3-core"
PACKAGE_PREPROCESS_FUNCS += "rpm_package_preprocess"
# Do not specify a sysroot when compiling on a target.
rpm_package_preprocess () {
sed -i -e 's:--sysroot[^ ]*::g' \
${PKGD}/${libdir}/rpm/macros
}

View File

@@ -86,3 +86,16 @@ BINCONFIG_GLOB = "*Config.sh"
# Fix the path in sstate
SSTATE_SCAN_FILES += "*Config.sh"
# Cleanup host path from ${libdir}/tclConfig.sh and remove the
# ${bindir_crossscripts}/tclConfig.sh from target
PACKAGE_PREPROCESS_FUNCS += "tcl_package_preprocess"
tcl_package_preprocess() {
sed -i -e "s;${DEBUG_PREFIX_MAP};;g" \
-e "s;-L${STAGING_LIBDIR};-L${libdir};g" \
-e "s;${STAGING_INCDIR};${includedir};g" \
-e "s;--sysroot=${RECIPE_SYSROOT};;g" \
${PKGD}${libdir}/tclConfig.sh
rm -f ${PKGD}${bindir_crossscripts}/tclConfig.sh
}

View File

@@ -41,7 +41,7 @@ inherit ptest
do_install_ptest() {
mkdir ${D}${PTEST_PATH}/test
for i in `grep -vE "@|^$|#|Gt-dummy" ${S}/test/Maketests |awk -F: '{print $1}'` Maketests; \
for i in `grep -vE "@|^$|#|Gt-dummy" ${S}/test/Maketests |awk -F: '{print $1}'` Maketests inclib.awk; \
do cp ${S}/test/$i* ${D}${PTEST_PATH}/test; \
done
}

View File

@@ -34,3 +34,4 @@ do_install_append() {
FILES_${PN} += "${libdir}/nsl/*.so.*"
FILES_${PN}-dev += "${includedir}/nsl ${libdir}/nsl/*.so"
FILES_${PN}-staticdev += "${libdir}/nsl/*.a"

View File

@@ -0,0 +1,35 @@
From 1c4c935cb73ac1ccb9693df1a51ba218a22e8ca8 Mon Sep 17 00:00:00 2001
From: Ming Liu <liu.ming50@gmail.com>
Date: Sat, 30 Sep 2017 11:15:16 +0800
Subject: [PATCH] repo_rpmdb.c: increase MAX_HDR_CNT and MAX_HDR_DSIZE
Upstream-Status: Submitted [https://github.com/openSUSE/libsolv/pull/230]
We encountered 'corrupt rpm' issues when installing extreme big RPM
packages like the kernel-devsrc package of Yocto project.
It can be fixed by increasing MAX_HDR_CNT and MAX_HDR_DSIZE per test.
Signed-off-by: Ming Liu <liu.ming50@gmail.com>
---
ext/repo_rpmdb.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/ext/repo_rpmdb.c b/ext/repo_rpmdb.c
index c7000a9..7000835 100644
--- a/ext/repo_rpmdb.c
+++ b/ext/repo_rpmdb.c
@@ -170,8 +170,8 @@
#define MAX_SIG_CNT 0x100000
#define MAX_SIG_DSIZE 0x100000
-#define MAX_HDR_CNT 0x100000
-#define MAX_HDR_DSIZE 0x2000000
+#define MAX_HDR_CNT 0x200000
+#define MAX_HDR_DSIZE 0x4000000
typedef struct rpmhead {
int cnt;
--
2.7.4

View File

@@ -8,7 +8,8 @@ LIC_FILES_CHKSUM = "file://LICENSE.BSD;md5=62272bd11c97396d4aaf1c41bc11f7d8"
DEPENDS = "expat zlib rpm"
SRC_URI = "git://github.com/openSUSE/libsolv.git \
"
file://0001-repo_rpmdb.c-increase-MAX_HDR_CNT-and-MAX_HDR_DSIZE.patch \
"
SRC_URI_append_libc-musl = " file://0001-Add-fallback-fopencookie-implementation.patch \
file://0002-Fixes-to-internal-fopencookie-implementation.patch \
"

View File

@@ -0,0 +1,31 @@
From a129ee6d80f3b2cda0d827c35fa81a517cf6d505 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 13 Oct 2017 10:27:34 -0700
Subject: [PATCH] Use CC to check for implicit-fallthrough warning support
This warning it new in gcc7 and in cross compile case
its possible that build host gcc is version 7+ but the
cross compile used for compiling mdadm is < version 7
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
Upstream-Status: Pending
Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile b/Makefile
index d207ee4..971f255 100644
--- a/Makefile
+++ b/Makefile
@@ -48,7 +48,7 @@ ifdef WARN_UNUSED
CWFLAGS += -Wp,-D_FORTIFY_SOURCE=2 -O3
endif
-FALLTHROUGH := $(shell gcc -v --help 2>&1 | grep "implicit-fallthrough" | wc -l)
+FALLTHROUGH := $(shell ${CC} -v --help 2>&1 | grep "implicit-fallthrough" | wc -l)
ifneq "$(FALLTHROUGH)" "0"
CWFLAGS += -Wimplicit-fallthrough=0
endif
--
2.14.2

View File

@@ -21,6 +21,7 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/utils/raid/mdadm/${BPN}-${PV}.tar.xz \
file://0003-Replace-snprintf-with-strncpy-at-some-places-to-avoi.patch \
file://0004-mdadm-Forced-type-conversion-to-avoid-truncation.patch \
file://0005-Add-a-comment-to-indicate-valid-fallthrough.patch \
file://0001-Use-CC-to-check-for-implicit-fallthrough-warning-sup.patch \
"
SRC_URI[md5sum] = "2cb4feffea9167ba71b5f346a0c0a40d"
SRC_URI[sha256sum] = "1d6ae7f24ced3a0fa7b5613b32f4a589bb4881e3946a5a2c3724056254ada3a9"

View File

@@ -81,20 +81,12 @@ do_configure() {
do_compile() {
# net-tools use COPTS/LOPTS to allow adding custom options
export COPTS="$CFLAGS"
export LOPTS="$LDFLAGS"
unset CFLAGS
unset LDFLAGS
oe_runmake
oe_runmake COPTS="$CFLAGS" LOPTS="$LDFLAGS"
}
do_install() {
export COPTS="$CFLAGS"
export LOPTS="$LDFLAGS"
unset CFLAGS
unset LDFLAGS
oe_runmake 'BASEDIR=${D}' install
# We don't need COPTS or LOPTS, but let's be consistent.
oe_runmake COPTS="$CFLAGS" LOPTS="$LDFLAGS" 'BASEDIR=${D}' install
if [ "${base_bindir}" != "/bin" ]; then
mkdir -p ${D}/${base_bindir}

View File

@@ -27,6 +27,12 @@ EXTRA_OECONF_append_libc-musl = " --disable-hardening "
# mksigname/mksiglist are used on build host to generate source files
do_compile_prepend () {
# Remove build host references from sudo_usage.h
sed -i \
-e 's,--with-libtool-sysroot=${STAGING_DIR_TARGET},,g' \
-e 's,--build=${BUILD_SYS},,g' \
-e 's,--host=${HOST_SYS},,g' \
${B}/src/sudo_usage.h
oe_runmake SSP_CFLAGS="" SSP_LDFLAGS="" CC="$BUILD_CC" CFLAGS="$BUILD_CFLAGS" CPPFLAGS="$BUILD_CPPFLAGS -I${S}/include -I${S} -I${B}" -C lib/util mksigname mksiglist
}

View File

@@ -0,0 +1,174 @@
From b520d20b8122a783f99f088758b78d928f70ee34 Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Mon, 23 Oct 2017 11:42:45 -0700
Subject: [PATCH] Fix Makefile quoting bug
Problem with INSTALLARGS reported by Zefram in:
https://mm.icann.org/pipermail/tz/2017-October/025360.html
Fix similar problems too.
* Makefile (ZIC_INSTALL, VALIDATE_ENV, CC, install)
(INSTALL, version, INSTALLARGS, right_posix, posix_right)
(check_public): Use apostrophes to prevent undesirable
interpretation of names by the shell. We still do not support
directory names containing apostrophes or newlines, but this is
good enough.
Upstream-Status: Backport
Signed-off-by: Armin Kuster <akuster@mvista.com>
* NEWS: Mention this.
---
Makefile | 64 ++++++++++++++++++++++++++++++++--------------------------------
NEWS | 8 ++++++++
2 files changed, 40 insertions(+), 32 deletions(-)
diff --git a/Makefile b/Makefile
index c92edc0..97649ca 100644
--- a/Makefile
+++ b/Makefile
@@ -313,7 +313,7 @@ ZFLAGS=
# How to use zic to install tz binary files.
-ZIC_INSTALL= $(ZIC) -d $(DESTDIR)$(TZDIR) $(LEAPSECONDS)
+ZIC_INSTALL= $(ZIC) -d '$(DESTDIR)$(TZDIR)' $(LEAPSECONDS)
# The name of a Posix-compliant 'awk' on your system.
AWK= awk
@@ -341,8 +341,8 @@ SGML_CATALOG_FILES= \
VALIDATE = nsgmls
VALIDATE_FLAGS = -s -B -wall -wno-unused-param
VALIDATE_ENV = \
- SGML_CATALOG_FILES=$(SGML_CATALOG_FILES) \
- SGML_SEARCH_PATH=$(SGML_SEARCH_PATH) \
+ SGML_CATALOG_FILES='$(SGML_CATALOG_FILES)' \
+ SGML_SEARCH_PATH='$(SGML_SEARCH_PATH)' \
SP_CHARSET_FIXED=YES \
SP_ENCODING=UTF-8
@@ -396,7 +396,7 @@ GZIPFLAGS= -9n
#MAKE= make
cc= cc
-CC= $(cc) -DTZDIR=\"$(TZDIR)\"
+CC= $(cc) -DTZDIR='"$(TZDIR)"'
AR= ar
@@ -473,29 +473,29 @@ all: tzselect yearistype zic zdump libtz.a $(TABDATA)
ALL: all date $(ENCHILADA)
install: all $(DATA) $(REDO) $(MANS)
- mkdir -p $(DESTDIR)$(ETCDIR) $(DESTDIR)$(TZDIR) \
- $(DESTDIR)$(LIBDIR) \
- $(DESTDIR)$(MANDIR)/man3 $(DESTDIR)$(MANDIR)/man5 \
- $(DESTDIR)$(MANDIR)/man8
+ mkdir -p '$(DESTDIR)$(ETCDIR)' '$(DESTDIR)$(TZDIR)' \
+ '$(DESTDIR)$(LIBDIR)' \
+ '$(DESTDIR)$(MANDIR)/man3' '$(DESTDIR)$(MANDIR)/man5' \
+ '$(DESTDIR)$(MANDIR)/man8'
$(ZIC_INSTALL) -l $(LOCALTIME) -p $(POSIXRULES)
- cp -f $(TABDATA) $(DESTDIR)$(TZDIR)/.
- cp tzselect zic zdump $(DESTDIR)$(ETCDIR)/.
- cp libtz.a $(DESTDIR)$(LIBDIR)/.
- $(RANLIB) $(DESTDIR)$(LIBDIR)/libtz.a
- cp -f newctime.3 newtzset.3 $(DESTDIR)$(MANDIR)/man3/.
- cp -f tzfile.5 $(DESTDIR)$(MANDIR)/man5/.
- cp -f tzselect.8 zdump.8 zic.8 $(DESTDIR)$(MANDIR)/man8/.
+ cp -f $(TABDATA) '$(DESTDIR)$(TZDIR)/.'
+ cp tzselect zic zdump '$(DESTDIR)$(ETCDIR)/.'
+ cp libtz.a '$(DESTDIR)$(LIBDIR)/.'
+ $(RANLIB) '$(DESTDIR)$(LIBDIR)/libtz.a'
+ cp -f newctime.3 newtzset.3 '$(DESTDIR)$(MANDIR)/man3/.'
+ cp -f tzfile.5 '$(DESTDIR)$(MANDIR)/man5/.'
+ cp -f tzselect.8 zdump.8 zic.8 '$(DESTDIR)$(MANDIR)/man8/.'
INSTALL: ALL install date.1
- mkdir -p $(DESTDIR)$(BINDIR) $(DESTDIR)$(MANDIR)/man1
- cp date $(DESTDIR)$(BINDIR)/.
- cp -f date.1 $(DESTDIR)$(MANDIR)/man1/.
+ mkdir -p '$(DESTDIR)$(BINDIR)' '$(DESTDIR)$(MANDIR)/man1'
+ cp date '$(DESTDIR)$(BINDIR)/.'
+ cp -f date.1 '$(DESTDIR)$(MANDIR)/man1/.'
version: $(VERSION_DEPS)
{ (type git) >/dev/null 2>&1 && \
V=`git describe --match '[0-9][0-9][0-9][0-9][a-z]*' \
--abbrev=7 --dirty` || \
- V=$(VERSION); } && \
+ V='$(VERSION)'; } && \
printf '%s\n' "$$V" >$@.out
mv $@.out $@
@@ -529,12 +529,12 @@ leapseconds: $(LEAP_DEPS)
# Arguments to pass to submakes of install_data.
# They can be overridden by later submake arguments.
INSTALLARGS = \
- BACKWARD=$(BACKWARD) \
- DESTDIR=$(DESTDIR) \
+ BACKWARD='$(BACKWARD)' \
+ DESTDIR='$(DESTDIR)' \
LEAPSECONDS='$(LEAPSECONDS)' \
PACKRATDATA='$(PACKRATDATA)' \
- TZDIR=$(TZDIR) \
- YEARISTYPE=$(YEARISTYPE) \
+ TZDIR='$(TZDIR)' \
+ YEARISTYPE='$(YEARISTYPE)' \
ZIC='$(ZIC)'
# 'make install_data' installs one set of tz binary files.
@@ -558,16 +558,16 @@ right_only:
# You must replace all of $(TZDIR) to switch from not using leap seconds
# to using them, or vice versa.
right_posix: right_only
- rm -fr $(DESTDIR)$(TZDIR)-leaps
- ln -s $(TZDIR_BASENAME) $(DESTDIR)$(TZDIR)-leaps || \
- $(MAKE) $(INSTALLARGS) TZDIR=$(TZDIR)-leaps right_only
- $(MAKE) $(INSTALLARGS) TZDIR=$(TZDIR)-posix posix_only
+ rm -fr '$(DESTDIR)$(TZDIR)-leaps'
+ ln -s '$(TZDIR_BASENAME)' '$(DESTDIR)$(TZDIR)-leaps' || \
+ $(MAKE) $(INSTALLARGS) TZDIR='$(TZDIR)-leaps' right_only
+ $(MAKE) $(INSTALLARGS) TZDIR='$(TZDIR)-posix' posix_only
posix_right: posix_only
- rm -fr $(DESTDIR)$(TZDIR)-posix
- ln -s $(TZDIR_BASENAME) $(DESTDIR)$(TZDIR)-posix || \
- $(MAKE) $(INSTALLARGS) TZDIR=$(TZDIR)-posix posix_only
- $(MAKE) $(INSTALLARGS) TZDIR=$(TZDIR)-leaps right_only
+ rm -fr '$(DESTDIR)$(TZDIR)-posix'
+ ln -s '$(TZDIR_BASENAME)' '$(DESTDIR)$(TZDIR)-posix' || \
+ $(MAKE) $(INSTALLARGS) TZDIR='$(TZDIR)-posix' posix_only
+ $(MAKE) $(INSTALLARGS) TZDIR='$(TZDIR)-leaps' right_only
# This obsolescent rule is present for backwards compatibility with
# tz releases 2014g through 2015g. It should go away eventually.
@@ -764,7 +764,7 @@ set-timestamps.out: $(ENCHILADA)
check_public:
$(MAKE) maintainer-clean
- $(MAKE) "CFLAGS=$(GCC_DEBUG_FLAGS)" ALL
+ $(MAKE) CFLAGS='$(GCC_DEBUG_FLAGS)' ALL
mkdir -p public.dir
for i in $(TDATA) tzdata.zi; do \
$(zic) -v -d public.dir $$i 2>&1 || exit; \
diff --git a/NEWS b/NEWS
index bd2bec2..75ab095 100644
--- a/NEWS
+++ b/NEWS
@@ -1,5 +1,13 @@
News for the tz database
+Unreleased, experimental changes
+
+ Changes to build procedure
+
+ The Makefile now quotes values like BACKWARD more carefully when
+ passing them to the shell. (Problem reported by Zefram.)
+
+
Release 2017c - 2017-10-20 14:49:34 -0700
Briefly:
--
2.7.4

View File

@@ -0,0 +1,115 @@
From e231da4fb2beb17c60b4b1a5c276366d6a6e433f Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Mon, 23 Oct 2017 17:58:36 -0700
Subject: [PATCH] Port zdump to C90 + snprintf
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Problem reported by Jon Skeet in:
https://mm.icann.org/pipermail/tz/2017-October/025362.html
* NEWS: Mention this.
* zdump.c (my_snprintf): New macro or function. If a macro, it is
just snprintf. If a function, it is the same as the old snprintf
static function, with an ATTRIBUTE_FORMAT to pacify modern GCC.
All uses of snprintf changed to use my_snprintf. This way,
installers dont need to specify -DHAVE_SNPRINTF if they are using
a pre-C99 compiler with a library that has snprintf.
Upstream-Status: Backport
Signed-off-by: Armin Kuster <akuster@mvista.com>
---
NEWS | 4 ++++
zdump.c | 29 ++++++++++++++++-------------
2 files changed, 20 insertions(+), 13 deletions(-)
diff --git a/NEWS b/NEWS
index 75ab095..dea08b8 100644
--- a/NEWS
+++ b/NEWS
@@ -7,6 +7,10 @@ Unreleased, experimental changes
The Makefile now quotes values like BACKWARD more carefully when
passing them to the shell. (Problem reported by Zefram.)
+ Builders no longer need to specify -DHAVE_SNPRINTF on platforms
+ that have snprintf and use pre-C99 compilers. (Problem reported
+ by Jon Skeet.)
+
Release 2017c - 2017-10-20 14:49:34 -0700
diff --git a/zdump.c b/zdump.c
index 8e3bf3e..d4e6084 100644
--- a/zdump.c
+++ b/zdump.c
@@ -795,12 +795,14 @@ show(timezone_t tz, char *zone, time_t t, bool v)
abbrok(abbr(tmp), zone);
}
-#if !HAVE_SNPRINTF
+#if HAVE_SNPRINTF
+# define my_snprintf snprintf
+#else
# include <stdarg.h>
/* A substitute for snprintf that is good enough for zdump. */
-static int
-snprintf(char *s, size_t size, char const *format, ...)
+static int ATTRIBUTE_FORMAT((printf, 3, 4))
+my_snprintf(char *s, size_t size, char const *format, ...)
{
int n;
va_list args;
@@ -839,10 +841,10 @@ format_local_time(char *buf, size_t size, struct tm const *tm)
{
int ss = tm->tm_sec, mm = tm->tm_min, hh = tm->tm_hour;
return (ss
- ? snprintf(buf, size, "%02d:%02d:%02d", hh, mm, ss)
+ ? my_snprintf(buf, size, "%02d:%02d:%02d", hh, mm, ss)
: mm
- ? snprintf(buf, size, "%02d:%02d", hh, mm)
- : snprintf(buf, size, "%02d", hh));
+ ? my_snprintf(buf, size, "%02d:%02d", hh, mm)
+ : my_snprintf(buf, size, "%02d", hh));
}
/* Store into BUF, of size SIZE, a formatted UTC offset for the
@@ -877,10 +879,10 @@ format_utc_offset(char *buf, size_t size, struct tm const *tm, time_t t)
mm = off / 60 % 60;
hh = off / 60 / 60;
return (ss || 100 <= hh
- ? snprintf(buf, size, "%c%02ld%02d%02d", sign, hh, mm, ss)
+ ? my_snprintf(buf, size, "%c%02ld%02d%02d", sign, hh, mm, ss)
: mm
- ? snprintf(buf, size, "%c%02ld%02d", sign, hh, mm)
- : snprintf(buf, size, "%c%02ld", sign, hh));
+ ? my_snprintf(buf, size, "%c%02ld%02d", sign, hh, mm)
+ : my_snprintf(buf, size, "%c%02ld", sign, hh));
}
/* Store into BUF (of size SIZE) a quoted string representation of P.
@@ -983,15 +985,16 @@ istrftime(char *buf, size_t size, char const *time_fmt,
for (abp = ab; is_alpha(*abp); abp++)
continue;
len = (!*abp && *ab
- ? snprintf(b, s, "%s", ab)
+ ? my_snprintf(b, s, "%s", ab)
: format_quoted_string(b, s, ab));
if (s <= len)
return false;
b += len, s -= len;
}
- formatted_len = (tm->tm_isdst
- ? snprintf(b, s, &"\t\t%d"[show_abbr], tm->tm_isdst)
- : 0);
+ formatted_len
+ = (tm->tm_isdst
+ ? my_snprintf(b, s, &"\t\t%d"[show_abbr], tm->tm_isdst)
+ : 0);
}
break;
}
--
2.7.4

View File

@@ -3,16 +3,19 @@
SUMMARY = "tzcode, timezone zoneinfo utils -- zic, zdump, tzselect"
LICENSE = "PD & BSD & BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=ef1a352b901ee7b75a75df8171d6aca7"
LIC_FILES_CHKSUM = "file://LICENSE;md5=c679c9d6b02bc2757b3eaf8f53c43fba"
SRC_URI =" http://www.iana.org/time-zones/repository/releases/tzcode${PV}.tar.gz;name=tzcode \
http://www.iana.org/time-zones/repository/releases/tzdata${PV}.tar.gz;name=tzdata"
http://www.iana.org/time-zones/repository/releases/tzdata${PV}.tar.gz;name=tzdata \
file://0001-Fix-Makefile-quoting-bug.patch \
file://0002-Port-zdump-to-C90-snprintf.patch"
UPSTREAM_CHECK_URI = "http://www.iana.org/time-zones"
SRC_URI[tzcode.md5sum] = "afaf15deb13759e8b543d86350385b16"
SRC_URI[tzcode.sha256sum] = "4d1735bb54e22b8d7443d4d1f1a13d007ae11be79a35e51f8e8322fb8e292d40"
SRC_URI[tzdata.md5sum] = "50dc0dc50c68644c1f70804f2e7a1625"
SRC_URI[tzdata.sha256sum] = "f8242a522ea3496b0ce4ff4f2e75a049178da21001a08b8e666d8cbe07d18086"
SRC_URI[tzcode.md5sum] = "2fe6986231db5182c61d565021a0cd7b"
SRC_URI[tzcode.sha256sum] = "81e8b4bc23e60906640c266bbff3789661e22f0fa29fe61b96ec7c2816c079b7"
SRC_URI[tzdata.md5sum] = "1e751e7e08f8b68530674f04619d894d"
SRC_URI[tzdata.sha256sum] = "d6543f92a929826318e2f44ff3a7611ce5f565a43e10250b42599d0ba4cbd90b"
S = "${WORKDIR}"

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