From 79641f25e882b55af6a647cfc0bf6bcc025661a5 Mon Sep 17 00:00:00 2001
From: Brad Bishop
Date: Tue, 10 Sep 2019 07:20:22 -0400
Subject: poky: subtree update:c17113f1e2..3b87508a9a
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Adrian Bunk (18):
help2man: Upgrade 1.47.10 -> 1.47.11
glib-networking: Upgrade 2.60.2 -> 2.60.3
flac: Upgrade 1.3.2 -> 1.3.3
subversion: Upgrade 1.12.0 -> 1.12.2
world-broken.inc: Remove
meta/recipes.txt: Stop documenting the long removed recipes-lsb4
python: Remove PYTHONLSBOPTS that hasn't been set for some time
systemd: Print a buildtime warning about the status with musl
linux-dtb.inc: Remove
systemd: Update to the latest 242 branch
Remove LSB support
Remove LSB support bits
libxcrypt: Fix the build with -Os
systemd: Update to the latest 242 branch
Remove leftovers from the eglinfo removal
Update to KERNEL_DEVICETREE variable.
ref-manual: Remove documentation for the removed bluez5 distro feature
ref-manual: Remove documentation for the removed gnome class
Alex Kiernan (1):
iputils: Set prefix correctly for usrmerge
Alexander Kanavin (23):
python3-numpy: update to 1.17.0
images: use 512M of RAM in qemu if 'opengl" is in DISTRO_FEATURES
boost: update to 1.71.0
beaglebone: use the default of 256M rather than 512M
rpm: resolve a host contamination issue for mono packaging
qemu: set default RAM to 256M for all machines
mesa: disable gallium swrast driver on x86 x32
ltp: move from python 2.x to python 3.x
lsb-release: fix upstream version check
libffi: fix upstream version check
qemu: switch to '-vga std' emulated hardware from vmware/cirrus for x86/mips
ca-certificates: use python 3 for builds
libpsl: use python 3 during builds
pseudo: use python 3 during builds
llvm: use python 3 during builds
virglrenderer: update 0.7.0 -> 0.8.0
webkitgtk: use Python 3 for builds
webkitgtk: update 2.24.3 -> 2.24.4
default-providers.inc: set mesa as the provider for native(sdk) virtual/libgl
libepoxy: enable x11 PACKAGECONFIG for native/nativesdk
eglinfo: remove the recipe
local.conf.sample: add a commented-out option to enable the gtk UI qemu frontend
package.bbclass: allow shell-style wildcards in PRIVATE_LIBS
Alistair Francis (2):
linux-yocto-dev: Mark qemuriscv64 as compatible
qemuriscv: Generate a wic rootFS with a larger filesystem
Andre McCurdy (11):
bitbake.conf: drop FETCHCMD, GITDIR, etc fetcher over-rides
tune-arm1136jf-s.inc: add hardfloat support
tune-arm1176jz-s.inc: add support for arm1176jz-s CPU specific tuning
tune-ep9312.inc: fix TUNEVALID description
packagegroup-core-boot: drop duplicate MACHINE_ESSENTIAL_EXTRA_RDEPENDS, etc
rootfs-postcommands.bbclass: add inittab tweak to read_only_rootfs_hook()
base-files: nsswitch.conf is glibc specific
sqlite3: make CFLAGS consistent across native, nativesdk and target cases
sqlite3: explicitly set target endian-ness
feature-arm-thumb.inc: fix ARM_THUMB_SUFFIX
dropbear: don't create invalid symlinks if ssh, scp, etc are disabled
Anuj Mittal (1):
libjpeg-turbo: upgrade 2.0.2 -> 2.0.3
Armin Kuster (4):
bitbake: tests/fetch: Resolve fetch error in bitbake-selftest
gcc-9.2: Security fix for CVE-2019-14250
gcc-8.3: Security fix for CVE-2019-14250
gcc-8.3: remove 8.3 from zeus
Bruce Ashfield (11):
bluez5: fix build against libc-headers 5.2+
kernel-devsrc: remove python2 dependency
perf: change dependencies on python to python3
perf: v5.3+ build fixes
devsrc: update arm64 scripts/prepare for kernels 5.3+
linux-libc-headers: update to v5.2 headers
linux-yocto: introduce 5.2 recipes
qemu: bump linux-yocto preferred version to 5.2
linux-yocto/5.2: update qemuriscv64 SRCREV
linux-yocto/5.2: config tweaks and kallsyms fix
linux-yocto: drop 5.0 recipes
Changhyeok Bae (1):
iputils: upgrade to s20190709
Changqing Li (8):
libedit: fix failed to get history
avahi-ui: support usrmerge
bootchart2: support usrmerge
systemd-bootchart: support usrmerge
bootchart2: switch to add patch from change source in do_install
mdadm: skip timeout testcase 11spare-migration
dnf.py: installroot support usrmerge
man-db: support usrmerge
Chen Qi (7):
bbtests.py: remove recipe-depends.dot
commands.py: fix typo
bitbake: cooker.py: remove generation of recipe-depends.dot
bind: fix build with python3 PACKAGECONFIG enabled
python-testtools: rdepend on doctest module
python-numpy: rdepend on multiprocessing module
python3: make misc package rdepend on pydoc and pickle modules
Christophe PRIOUZEAU (1):
common-licenses: update BSD-2-CLAUSE license text
Dan Callaghan (1):
autotools: always include config_site.d files in CONFIG_SITE
Daniel Klauer (1):
image.bbclass: Fix debug output for rootfs size
Denys Zagorui (1):
gzip: add nativesdk support
Drew Moseley (1):
runqemu: Fix typo in help text.
He Zhe (4):
ltp: cve/meltdown.c: Fix kernel symbol finding
ltp: syscalls: rt_sigwaitinfo01: Fix failure for MIPS arches
qemu: Add pkg-config handling for libgcrypt
qemu: Fix dependency of PACKAGECONFIG libcurl
Jacob Kroon (2):
btrfs-tools: Add PACKAGECONFIG knob for controlling python support
rm_work: Remove redundant 'after' in addtask statement
Jason Wessel (2):
serial-getty@.service: Allow device to fast fail if it does not exist
Revert "kernel.bbclass: adjust a condition checking"
Joshua Watt (9):
bitbake: bitbake: respect force flag in runall and runonly
oeqa: reproducible: Cleanup reproducible build
oeqa: reproducible: Use subTest for packages
oeqa: Set LD_LIBRARY_PATH when executing native commands
oeqa: reproducible: Record packages in test results
oeqa: Enable reproducible build test
oeqa: reproducible: Do two clean builds
oeqa: reproducible: Preserve sstate mirror for first build
resulttool: Add reproducible log extraction
Kai Kang (4):
avahi: launch avahi-daemon after connman
cups: redefine CUPS_SERVERBIN
texinfo: fix multilib file confliction
sysstat: 12.1.3 -> 12.1.6
Kevin Hao (1):
meta-yocto-bsp: Bump to the v5.2 kernel
Khem Raj (12):
go-1.12: update to 1.12.9 minor release
powerpc-tunes: Introduce bigendian tune
tune-riscv: Drop littleendian and introduce bigendian tune
gcc: Move STANDARD_STARTFILE_PREFIX_1 and STANDARD_STARTFILE_PREFIX_2 back to gcc.c
gcc: Fix ldbl-128 support for musl
libgpg-error: Fix build with gawk 5.x
libgpg-error: Fix build with gawk 5.x
musl: Update to latest master
gcc-9.2: Fix risc-v dynamic linker relocation
python3native, pythonnative: export PYTHON_LIBRARY and PYTHON_INCLUDE_DIR
oeqa: Recognise svlogd as another logger
python3-manifest.json: Fix typo in summary
Mark Asselstine (1):
sdkext: use simpler kernel module for devtool test
Mark Hatle (1):
yocto-check-layer: Allow any case for README file detection
Martin Hundebøll (1):
initscripts: remove warnings on read-only-rootfs (again)
Martin Jansa (3):
bitbake: utils: Fix movefile() exception handling with python3
bitbake: fetch2: show warning when renaming the archive with bad checksum failed
bitbake: bitbake-user-manual: Improve the example for Removal (Override Style Syntax)
Mazliana (1):
oeqa/kerneldevelopment: Able to apply a single patch to the Linux kernel source
Ming Liu (1):
weston: uprev to 7.0.0
Nathan Rossi (30):
binutils: Fix mips patch which changes default emulation
oeqa/utils/nfs: Add unfs_server function to setup a userspace NFS server
scripts/lib/resulttool/report.py: Add more result types
gcc-common.inc: Process staging fixme with correct target/native sysroot
oeqa/core/tests: Skip test_fail_duplicated_module
oeqa/core/tests: Fix test_data module tests
Clean up remnants of glibc-initial
oe-selftest: Implement console 'keepalive' output
dejagnu: Add dejagnu for binutils/gcc test suites
binutils-cross-testsuite: Create recipe for test suite execution
gcc-runtime: Add do_check task for executing gcc test suites
glibc-testsuite: Create a recipe to implement glibc test suite
gcc-testsuite.inc: Fix ssh.exp, ensure multilib_flags are populated
security_flags.inc: Add overrides for glibc-testsuite to match glibc
archiver.bbclass: Do not archive srpm's if there are no package tasks
oeqa/core: Implement proper extra result collection and serialization
oeqa/core: Rework OETestTag and remove unused OETestFilter
oeqa/selftest: Add test run filtering based on test tags
oeqa/core/runner.py: Fix OETestTag listing
oeqa/selftest/binutils: Create selftest case for binutils test suite
oeqa/selftest/gcc: Create selftest case for gcc test suite
oeqa/selftest/glibc: Create selftest case for glibc test suite
oeqa/selftest/cases/glibc.py: Don't install python3 and pexpect
oeqa/selftest: For toolchain tests do not fail if a test failed
oeqa/selftest: Toolchain tests suffix "-user" for qemu usermode results
oeqa/selftest: Use extraresults on self instead of self.tc
oeqa/selftest/context.py: Change -t/-T args to be optional
oeqa/core/decorator: Fix super class modifying subclass tags
oeqa/selftest/cases/gcc.py: Split into classes for parallelism
oeqa/selftest/cases/glibc.py: Rework and tag with toolchain-user/system
Neil Armstrong (1):
mesa: Add support for the panfrost PACKAGECONFIG
Oleksandr Kravchuk (8):
libsolv: update to 0.7.6
libevdev: update to 1.8.0
ell: update to 0.22
go-dep: update to 0.5.4
libsecret: 0.19.0
python3-pbr: update to 5.4.3
python3-git: update to 3.0.2
libxcrypt: update to 4.4.8
Peiran Hong (1):
diffutils: Added perl to support ptest & Skipped one test case
Peter Kjellerstedt (2):
libffi: Make it build for MIPS o32
devtool: Avoid failure for recipes with S == WORKDIR and no local files
Richard Purdie (11):
poky-altcfg: Replace poky-lsb with poky-altcfg
ca-certificates: Fix reproducibilty and multilib issue
gcc-cross: Clean up fixed-includes
systemtap: Use latest and greatest git version for 5.2 kernel support
gcc-cross: Fix header file corruption problems
poky: Use 5.2 kernel by default
binutils/glibc-testsuite: inherit nopackages to fix world builds
systemtap: Drop patches merged upstream
poky-tiny/poky-altcfg: Use busybox-mdev and systemd
oeqa/selftest: Markup 'machine' specific test cases
oeqa/selftest: Tweak binutils tests tags as toolchain/user and system
Robert Yang (3):
ccache: 3.7.1 -> 3.7.3
nfs-utils: 2.3.3 -> 2.4.1
build-compare: 2015.02.10 -> 2019.08.14
Ross Burton (11):
libedit: remove FETCHCMD append
libnl: upgrade to 3.5.0
libnl: don't patch libnl-3.0.pc
systemd: explicitly set the path to nologin
core-image-sato: don't use 512MB in qemumips
patch: add CVE tags to patches
pango: 1.44.6 upgrade
pango: add PACKAGECONFIG for libthai support
harfbuzz: upgrade to 2.6.1
systemd: ensure reproducible builds by clearly exposing the time epoch support
ref-system-requirements: add Debian 10 to supported distribution list
Scott Rifenbark (5):
ref-manual: Updated the "AS" variable
ref-manual: Updates to "Building Your Recipe"
dev-manual: Updated "Creating a Team Development Environment"
poky-end: Added "pylint3" package to Ubuntu essentials.
ref-manual: sync list of image types with source
Tim Blechmann (1):
icecc: blacklist systemtap
Trevor Gamblin (2):
lighttpd: drop hard-coded lua version in PACKAGECONFIG
libevent: add granularity to ptest log
Vijai Kumar K (1):
lib/oe/gpg_sign.py: Remove unwanted import
Wes Lindauer (1):
bitbake: bitbake: cooker: Ensure bbappends are found in stable order
Yi Zhao (1):
libbsd: upgrade 0.9.1 -> 0.10.0
Yuan Chao (1):
man-db: upgrade 2.8.6.1 -> 2.8.7
Zang Ruochen (7):
libarchive:upgrade 3.3.3 -> 3.4.0
python3-pip:upgrade 19.2.2 -> 19.2.3
logrotate:upgrade 3.15.0 -> 3.15.1
libogg:upgrade 1.3.3 -> 1.3.4
dtc:upgrade 1.5.0 -> 1.5.1
python3-dbus:upgrade 1.2.8 -> 1.2.10
meson:upgrade 0.51.1 -> 0.51.2
Change-Id: I341e8df65e8196114088a2d6d6eb3a33296188b4
Signed-off-by: Brad Bishop
---
poky/README.LSB | 29 -
.../bitbake-user-manual-metadata.xml | 12 +-
poky/bitbake/lib/bb/cooker.py | 26 +-
poky/bitbake/lib/bb/fetch2/__init__.py | 3 +-
poky/bitbake/lib/bb/runqueue.py | 32 +-
poky/bitbake/lib/bb/tests/fetch.py | 4 +-
poky/bitbake/lib/bb/utils.py | 2 +-
poky/documentation/dev-manual/dev-manual-start.xml | 5 +-
poky/documentation/poky.ent | 2 +-
poky/documentation/ref-manual/ref-classes.xml | 32 -
.../ref-manual/ref-devtool-reference.xml | 12 +-
poky/documentation/ref-manual/ref-features.xml | 21 -
.../ref-manual/ref-system-requirements.xml | 1 +
poky/documentation/ref-manual/ref-variables.xml | 18 +-
.../distro/include/poky-distro-alt-test-config.inc | 8 +-
poky/meta-poky/conf/distro/poky-altcfg.conf | 15 +
poky/meta-poky/conf/distro/poky-lsb.conf | 13 -
poky/meta-poky/conf/distro/poky-tiny.conf | 10 +-
poky/meta-poky/conf/distro/poky.conf | 2 +-
poky/meta-poky/conf/local.conf.sample | 10 +-
poky/meta-poky/conf/local.conf.sample.extended | 2 +-
.../conf/machine/beaglebone-yocto.conf | 3 +-
poky/meta-yocto-bsp/conf/machine/edgerouter.conf | 2 +-
poky/meta-yocto-bsp/conf/machine/mpc8315e-rdb.conf | 2 +-
.../recipes-kernel/linux/linux-yocto_5.0.bbappend | 27 -
.../recipes-kernel/linux/linux-yocto_5.2.bbappend | 27 +
poky/meta/classes/archiver.bbclass | 14 +-
poky/meta/classes/autotools.bbclass | 7 +-
poky/meta/classes/icecc.bbclass | 3 +
poky/meta/classes/image.bbclass | 2 +-
poky/meta/classes/kernel.bbclass | 6 +-
poky/meta/classes/package.bbclass | 6 +-
poky/meta/classes/python3native.bbclass | 8 +
poky/meta/classes/pythonnative.bbclass | 8 +
poky/meta/classes/rm_work.bbclass | 2 +-
poky/meta/classes/rootfs-postcommands.bbclass | 5 +
poky/meta/classes/staging.bbclass | 2 +-
poky/meta/conf/bitbake.conf | 12 -
poky/meta/conf/distro/defaultsetup.conf | 1 -
.../meta/conf/distro/include/default-providers.inc | 2 +
poky/meta/conf/distro/include/distro_alias.inc | 8 -
poky/meta/conf/distro/include/maintainers.inc | 13 +-
poky/meta/conf/distro/include/security_flags.inc | 4 +-
poky/meta/conf/distro/include/tcmode-default.inc | 6 +-
poky/meta/conf/distro/include/world-broken.inc | 27 -
.../conf/machine/include/arm/feature-arm-thumb.inc | 7 +-
.../conf/machine/include/powerpc/arch-powerpc.inc | 22 +-
.../machine/include/powerpc/arch-powerpc64.inc | 10 +-
poky/meta/conf/machine/include/qemuboot-mips.inc | 3 +-
poky/meta/conf/machine/include/qemuboot-x86.inc | 2 +-
poky/meta/conf/machine/include/riscv/qemuriscv.inc | 5 +-
.../meta/conf/machine/include/riscv/tune-riscv.inc | 6 +-
.../meta/conf/machine/include/tune-arm1136jf-s.inc | 5 +-
.../meta/conf/machine/include/tune-arm1176jz-s.inc | 17 +
poky/meta/conf/machine/include/tune-ep9312.inc | 2 +-
poky/meta/conf/machine/include/tune-power5.inc | 4 +-
poky/meta/conf/machine/include/tune-power6.inc | 4 +-
poky/meta/conf/machine/include/tune-power7.inc | 4 +-
poky/meta/conf/machine/include/tune-ppc476.inc | 2 +-
poky/meta/conf/machine/include/tune-ppc603e.inc | 2 +-
poky/meta/conf/machine/include/tune-ppc7400.inc | 2 +-
poky/meta/conf/machine/include/tune-ppce300c2.inc | 2 +-
poky/meta/conf/machine/include/tune-ppce500.inc | 2 +-
poky/meta/conf/machine/include/tune-ppce500mc.inc | 2 +-
poky/meta/conf/machine/include/tune-ppce500v2.inc | 2 +-
poky/meta/conf/machine/include/tune-ppce5500.inc | 4 +-
poky/meta/conf/machine/include/tune-ppce6500.inc | 4 +-
poky/meta/conf/machine/include/x86-base.inc | 2 +-
poky/meta/conf/machine/qemuarm.conf | 1 -
poky/meta/conf/machine/qemuarm64.conf | 1 -
poky/meta/conf/machine/qemuarmv5.conf | 2 +-
poky/meta/conf/machine/qemux86-64.conf | 6 +-
poky/meta/conf/machine/qemux86.conf | 1 +
poky/meta/files/common-licenses/BSD-2-Clause | 11 +-
poky/meta/lib/oe/gpg_sign.py | 1 -
poky/meta/lib/oeqa/core/context.py | 4 +-
poky/meta/lib/oeqa/core/decorator/__init__.py | 21 +-
poky/meta/lib/oeqa/core/decorator/oetag.py | 27 -
poky/meta/lib/oeqa/core/loader.py | 61 +-
poky/meta/lib/oeqa/core/runner.py | 60 +-
poky/meta/lib/oeqa/core/tests/cases/data.py | 2 +-
poky/meta/lib/oeqa/core/tests/cases/oetag.py | 21 +-
poky/meta/lib/oeqa/core/tests/common.py | 4 +-
poky/meta/lib/oeqa/core/tests/test_data.py | 10 +-
poky/meta/lib/oeqa/core/tests/test_decorators.py | 77 +-
poky/meta/lib/oeqa/core/tests/test_loader.py | 26 +-
poky/meta/lib/oeqa/core/utils/concurrencytest.py | 61 +-
poky/meta/lib/oeqa/manual/bsp-hw.json | 2 +-
poky/meta/lib/oeqa/manual/compliance-test.json | 32 +-
poky/meta/lib/oeqa/manual/crops.json | 12 +-
.../meta/lib/oeqa/manual/toaster-managed-mode.json | 14 +-
poky/meta/lib/oeqa/runtime/cases/dnf.py | 34 +-
poky/meta/lib/oeqa/runtime/cases/oe_syslog.py | 2 +-
poky/meta/lib/oeqa/runtime/cases/parselogs.py | 4 +
poky/meta/lib/oeqa/sdkext/cases/devtool.py | 4 +-
poky/meta/lib/oeqa/selftest/cases/bbtests.py | 2 +-
poky/meta/lib/oeqa/selftest/cases/binutils.py | 49 +
poky/meta/lib/oeqa/selftest/cases/gcc.py | 139 ++
poky/meta/lib/oeqa/selftest/cases/glibc.py | 88 ++
.../lib/oeqa/selftest/cases/kerneldevelopment.py | 67 +
poky/meta/lib/oeqa/selftest/cases/meta_ide.py | 2 +
poky/meta/lib/oeqa/selftest/cases/reproducible.py | 80 +-
poky/meta/lib/oeqa/selftest/cases/runqemu.py | 2 +
poky/meta/lib/oeqa/selftest/context.py | 21 +-
poky/meta/lib/oeqa/utils/commands.py | 5 +-
poky/meta/lib/oeqa/utils/network.py | 4 +-
poky/meta/lib/oeqa/utils/nfs.py | 39 +
.../recipes-connectivity/avahi/avahi-ui_0.7.bb | 8 +-
.../0001-Fix-opening-etc-resolv.conf-error.patch | 7 +-
.../recipes-connectivity/bind/bind_9.11.5-P4.bb | 2 +-
poky/meta/recipes-connectivity/bluez5/bluez5.inc | 1 +
...ls-Fix-build-after-y2038-changes-in-glibc.patch | 68 +
...-Do-not-pass-null-pointer-to-freeaddrinfo.patch | 32 -
...le.am-fix-undefined-function-for-libnsm.a.patch | 22 +-
...1-Makefile.am-update-the-path-of-libnfs.a.patch | 50 -
...re.ac-Do-not-fatalize-Wmissing-prototypes.patch | 9 +-
.../bugfix-adjust-statd-service-name.patch | 30 +-
.../nfs-utils/nfs-utils-musl-limits.patch | 133 --
.../nfs-utils/nfs-utils-musl-res_querydomain.patch | 23 +-
.../nfs-utils/nfs-utils_2.3.3.bb | 157 --
.../nfs-utils/nfs-utils_2.4.1.bb | 151 ++
.../recipes-core/base-files/base-files_3.0.14.bb | 5 +-
poky/meta/recipes-core/dropbear/dropbear.inc | 11 +-
poky/meta/recipes-core/ell/ell_0.21.bb | 22 -
poky/meta/recipes-core/ell/ell_0.22.bb | 22 +
.../glib-networking/glib-networking_2.60.2.bb | 32 -
.../glib-networking/glib-networking_2.60.3.bb | 32 +
poky/meta/recipes-core/glibc/glibc-package.inc | 9 +-
.../recipes-core/glibc/glibc-testsuite_2.30.bb | 53 +
.../recipes-core/glibc/glibc/check-test-wrapper | 71 +
.../images/build-appliance-image_15.0.0.bb | 2 +
.../initscripts-1.0/populate-volatile.sh | 2 +-
.../libxcrypt/libxcrypt-compat_4.4.6.bb | 18 -
.../libxcrypt/libxcrypt-compat_4.4.8.bb | 18 +
.../meta/recipes-core/libxcrypt/libxcrypt_4.4.6.bb | 35 -
.../meta/recipes-core/libxcrypt/libxcrypt_4.4.8.bb | 33 +
poky/meta/recipes-core/musl/musl_git.bb | 2 +-
.../packagegroups/packagegroup-core-boot.bb | 6 -
.../packagegroups/packagegroup-self-hosted.bb | 2 +-
.../systemd-serialgetty/serial-getty@.service | 3 +-
poky/meta/recipes-core/systemd/systemd.inc | 2 +-
....file-max-sysctl-to-LONG_MAX-rather-than-.patch | 39 -
.../systemd/0001-networkd-fix-link-up.patch | 66 -
...lved-Fix-incorrect-use-of-OpenSSL-BUF_MEM.patch | 41 -
.../systemd/0002-network-do-not-send-ipv6.patch | 96 --
...work-remove-redunant-link-name-in-message.patch | 41 -
poky/meta/recipes-core/systemd/systemd_242.bb | 20 +-
.../binutils/binutils-cross-testsuite_2.32.bb | 85 ++
...Change-default-emulation-for-mips64-linux.patch | 9 +-
.../0001-bootchart2-support-usrmerge.patch | 37 +
.../bootchart2/bootchart2_0.14.8.bb | 7 +-
.../btrfs-tools/btrfs-tools_5.2.1.bb | 17 +-
.../build-compare/build-compare_git.bb | 12 +-
...001-Add-support-for-deb-and-ipk-packaging.patch | 64 -
.../files/Ignore-DWARF-sections.patch | 17 +-
.../files/Rename-rpm-check.sh-to-pkg-diff.sh.patch | 1599 --------------------
...functions.sh-improve-deb-and-ipk-checking.patch | 117 --
.../files/functions.sh-remove-space-at-head.patch | 41 -
...nctions.sh-run-rpm-once-to-make-it-faster.patch | 361 -----
.../pkg-diff.sh-check-for-fifo-named-pipe.patch | 35 -
...-check_single_file-return-at-once-when-sa.patch | 37 -
...diff.sh-remove-space-in-the-end-for-ftype.patch | 32 -
poky/meta/recipes-devtools/ccache/ccache_3.7.1.bb | 7 -
poky/meta/recipes-devtools/ccache/ccache_3.7.3.bb | 7 +
.../meta/recipes-devtools/dejagnu/dejagnu_1.6.2.bb | 15 +
poky/meta/recipes-devtools/gcc/gcc-8.3.inc | 112 --
.../0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch | 42 -
.../0002-gcc-poison-system-directories.patch | 203 ---
.../0003-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch | 73 -
.../gcc/gcc-8.3/0004-64-bit-multilib-hack.patch | 85 --
.../gcc/gcc-8.3/0005-optional-libstdc.patch | 125 --
.../gcc/gcc-8.3/0007-COLLECT_GCC_OPTIONS.patch | 38 -
...efaults.h-in-B-instead-of-S-and-t-oe-in-B.patch | 96 --
.../gcc-8.3/0009-fortran-cross-compile-hack.patch | 46 -
.../gcc/gcc-8.3/0010-cpp-honor-sysroot.patch | 54 -
.../gcc-8.3/0011-MIPS64-Default-to-N64-ABI.patch | 57 -
...C_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch | 248 ---
...0013-gcc-Fix-argument-list-too-long-error.patch | 40 -
.../gcc/gcc-8.3/0014-Disable-sdt.patch | 113 --
.../gcc/gcc-8.3/0015-libtool.patch | 42 -
...4-pass-fix-v4bx-to-linker-to-support-EABI.patch | 43 -
...tilib-config-files-from-B-instead-of-usin.patch | 102 --
...-libdir-from-.la-which-usually-points-to-.patch | 31 -
.../gcc/gcc-8.3/0019-export-CPP.patch | 53 -
...-MULTILIB_OSDIRNAMES-and-other-multilib-o.patch | 42 -
...Ensure-target-gcc-headers-can-be-included.patch | 98 --
...-t-build-with-disable-dependency-tracking.patch | 54 -
...h-host-directory-during-relink-if-inst_pr.patch | 38 -
...IBS_DIR-replacement-instead-of-hardcoding.patch | 28 -
.../0025-aarch64-Add-support-for-musl-ldso.patch | 28 -
...ibcc1-fix-libcc1-s-install-path-and-rpath.patch | 54 -
...-handle-sysroot-support-for-nativesdk-gcc.patch | 213 ---
...et-sysroot-gcc-version-specific-dirs-with.patch | 102 --
...-various-_FOR_BUILD-and-related-variables.patch | 137 --
.../0030-nios2-Define-MUSL_DYNAMIC_LINKER.patch | 28 -
...shared-to-link-commandline-for-musl-targe.patch | 87 --
...32-libgcc-Add-knob-to-use-ldbl-128-on-ppc.patch | 125 --
...bgcc-using-LDFLAGS-not-just-SHLIB_LDFLAGS.patch | 29 -
...e-alias-for-__cpu_indicator_init-instead-.patch | 85 --
.../gcc-8.3/0035-sync-gcc-stddef.h-with-musl.patch | 91 --
...ation-fault-in-precompiled-header-generat.patch | 60 -
.../gcc-8.3/0037-Fix-for-testsuite-failure.patch | 258 ----
...0038-Re-introduce-spe-commandline-options.patch | 41 -
.../0039-riscv-Disable-multilib-for-OE.patch | 27 -
...werpc-powerpc64-Add-support-for-musl-ldso.patch | 31 -
...sion-limit-to-libiberty-s-demangling-code.patch | 325 ----
.../gcc/gcc-8.3/0042-PR-debug-86964.patch | 94 --
...vent-spilling-of-stack-protector-guard-s-.patch | 813 ----------
.../gcc/gcc-8.3/CVE-2019-14250.patch | 44 +
poky/meta/recipes-devtools/gcc/gcc-9.2.inc | 1 +
...C_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch | 23 +-
...Ensure-target-gcc-headers-can-be-included.patch | 47 +-
...30-libgcc-Add-knob-to-use-ldbl-128-on-ppc.patch | 178 +--
.../gcc/gcc-9.2/CVE-2019-14250.patch | 44 +
poky/meta/recipes-devtools/gcc/gcc-common.inc | 9 +-
.../recipes-devtools/gcc/gcc-configure-common.inc | 1 -
.../recipes-devtools/gcc/gcc-cross-canadian_8.3.bb | 5 -
poky/meta/recipes-devtools/gcc/gcc-cross.inc | 5 +
poky/meta/recipes-devtools/gcc/gcc-cross_8.3.bb | 3 -
poky/meta/recipes-devtools/gcc/gcc-crosssdk_8.3.bb | 2 -
poky/meta/recipes-devtools/gcc/gcc-runtime.inc | 42 +
poky/meta/recipes-devtools/gcc/gcc-runtime_8.3.bb | 2 -
.../recipes-devtools/gcc/gcc-sanitizers_8.3.bb | 7 -
poky/meta/recipes-devtools/gcc/gcc-source_8.3.bb | 4 -
poky/meta/recipes-devtools/gcc/gcc-testsuite.inc | 107 ++
poky/meta/recipes-devtools/gcc/gcc_8.3.bb | 14 -
.../recipes-devtools/gcc/libgcc-initial_8.3.bb | 5 -
poky/meta/recipes-devtools/gcc/libgcc_8.3.bb | 5 -
poky/meta/recipes-devtools/gcc/libgfortran_8.3.bb | 3 -
poky/meta/recipes-devtools/go/go-1.12.inc | 6 +-
poky/meta/recipes-devtools/go/go-dep_0.5.0.bb | 25 -
poky/meta/recipes-devtools/go/go-dep_0.5.4.bb | 24 +
.../help2man/help2man-native_1.47.10.bb | 24 -
.../help2man/help2man-native_1.47.11.bb | 24 +
.../0001-readline.c-fix-cannot-get-history.patch | 34 +
.../libedit/libedit_20190324-3.1.bb | 3 +-
poky/meta/recipes-devtools/llvm/llvm_git.bb | 2 +-
poky/meta/recipes-devtools/meson/meson.inc | 5 +-
...-return-statements-that-are-seen-with-Wer.patch | 100 --
poky/meta/recipes-devtools/meson/meson_0.51.1.bb | 4 -
poky/meta/recipes-devtools/meson/meson_0.51.2.bb | 4 +
.../meson/nativesdk-meson_0.51.1.bb | 66 -
.../meson/nativesdk-meson_0.51.2.bb | 66 +
...k-temporary-file-on-failed-ed-style-patch.patch | 1 +
...ak-temporary-file-on-failed-multi-file-ed.patch | 1 +
poky/meta/recipes-devtools/prelink/prelink_git.bb | 3 +
.../0001-maketables-wrappers-use-Python-3.patch | 34 +
poky/meta/recipes-devtools/pseudo/pseudo_git.bb | 3 +
...h-usr-and-so-on-for-libraries-by-default-.patch | 47 +-
...m-setup.py-remove-the-detection-of-x86-ta.patch | 32 +
.../recipes-devtools/python-numpy/python-numpy.inc | 13 +-
.../python-numpy/python3-numpy_1.16.3.bb | 3 -
.../python-numpy/python3-numpy_1.17.0.bb | 3 +
.../recipes-devtools/python/python-testtools.inc | 1 +
poky/meta/recipes-devtools/python/python.inc | 1 -
.../recipes-devtools/python/python3-dbus_1.2.10.bb | 26 +
.../recipes-devtools/python/python3-dbus_1.2.8.bb | 26 -
.../recipes-devtools/python/python3-git_3.0.0.bb | 33 -
.../recipes-devtools/python/python3-git_3.0.2.bb | 33 +
.../recipes-devtools/python/python3-pbr_5.4.2.bb | 5 -
.../recipes-devtools/python/python3-pbr_5.4.3.bb | 5 +
.../recipes-devtools/python/python3-pip_19.2.2.bb | 30 -
.../recipes-devtools/python/python3-pip_19.2.3.bb | 30 +
.../python/python3/python3-manifest.json | 2 +-
poky/meta/recipes-devtools/python/python3_3.7.4.bb | 2 +-
poky/meta/recipes-devtools/qemu/qemu.inc | 3 +-
...ure-Add-pkg-config-handling-for-libgcrypt.patch | 93 ++
poky/meta/recipes-devtools/qemu/qemu_4.1.0.bb | 4 +
...rovides-requires-do-not-use-monodis-from-.patch | 58 +
poky/meta/recipes-devtools/rpm/rpm_4.14.2.1.bb | 1 +
.../subversion-1.12.0-apr_1.7.0_fix-1.patch | 107 --
.../subversion/subversion_1.12.0.bb | 62 -
.../subversion/subversion_1.12.2.bb | 61 +
.../systemd-bootchart/systemd-bootchart_233.bb | 2 +-
poky/meta/recipes-extended/cups/cups.inc | 2 +-
.../cups/cups/cups_serverbin.patch | 10 +-
.../0001-Skip-strip-trailing-cr-test-case.patch | 35 +
.../recipes-extended/diffutils/diffutils_3.7.bb | 3 +-
poky/meta/recipes-extended/gzip/gzip_1.10.bb | 2 +-
.../recipes-extended/images/core-image-lsb-dev.bb | 7 -
.../recipes-extended/images/core-image-lsb-sdk.bb | 12 -
.../meta/recipes-extended/images/core-image-lsb.bb | 14 -
.../iputils/iputils/ai_canonidn.patch | 58 -
.../recipes-extended/iputils/iputils/install.patch | 26 -
.../recipes-extended/iputils/iputils_s20180629.bb | 61 -
.../recipes-extended/iputils/iputils_s20190709.bb | 55 +
.../libarchive/libarchive/CVE-2018-1000877.patch | 38 -
.../libarchive/libarchive/CVE-2018-1000878.patch | 79 -
.../libarchive/libarchive/CVE-2018-1000879.patch | 50 -
.../libarchive/libarchive/CVE-2018-1000880.patch | 44 -
.../libarchive/libarchive/CVE-2019-1000019.patch | 59 -
.../libarchive/libarchive/CVE-2019-1000020.patch | 61 -
.../libarchive/libarchive/bug1066.patch | 54 -
.../non-recursive-extract-and-list.patch | 153 --
.../libarchive/libarchive_3.3.3.bb | 75 -
.../libarchive/libarchive_3.4.0.bb | 67 +
.../meta/recipes-extended/libsolv/libsolv_0.7.5.bb | 31 -
.../meta/recipes-extended/libsolv/libsolv_0.7.6.bb | 31 +
.../recipes-extended/lighttpd/lighttpd_1.4.54.bb | 2 +-
.../recipes-extended/logrotate/logrotate_3.15.0.bb | 99 --
.../recipes-extended/logrotate/logrotate_3.15.1.bb | 99 ++
...elease-to-work-with-busybox-head-and-find.patch | 38 +
poky/meta/recipes-extended/lsb/lsb-release_1.4.bb | 36 +
...elease-to-work-with-busybox-head-and-find.patch | 38 -
poky/meta/recipes-extended/lsb/lsb/init-functions | 44 -
poky/meta/recipes-extended/lsb/lsb/lsb_killproc | 6 -
poky/meta/recipes-extended/lsb/lsb/lsb_log_message | 27 -
poky/meta/recipes-extended/lsb/lsb/lsb_pidofproc | 6 -
.../meta/recipes-extended/lsb/lsb/lsb_start_daemon | 45 -
poky/meta/recipes-extended/lsb/lsb_5.0.bb | 136 --
...void-exit-1-which-causes-init-scripts-to-.patch | 21 -
.../lsb/lsbinitscripts/functions.patch | 33 -
.../recipes-extended/lsb/lsbinitscripts_9.79.bb | 31 -
poky/meta/recipes-extended/lsb/lsbtest/LSB_Test.sh | 525 -------
.../recipes-extended/lsb/lsbtest/packages_list | 49 -
poky/meta/recipes-extended/lsb/lsbtest/session | 176 ---
poky/meta/recipes-extended/lsb/lsbtest_1.0.bb | 49 -
...-cve-meltdown.c-Fix-kernel-symbol-finding.patch | 81 +
...sigtimedwait01-Fix-wrong-sigset-length-fo.patch | 46 +
...se-python3-everywhere-to-run-python-scrip.patch | 161 ++
poky/meta/recipes-extended/ltp/ltp_20190517.bb | 5 +-
.../meta/recipes-extended/man-db/man-db_2.8.6.1.bb | 59 -
poky/meta/recipes-extended/man-db/man-db_2.8.7.bb | 59 +
.../0001-mdadm-skip-test-11spare-migration.patch | 43 +
poky/meta/recipes-extended/mdadm/mdadm_4.1.bb | 2 +
.../packagegroups/packagegroup-core-lsb.bb | 240 ---
poky/meta/recipes-extended/sysstat/sysstat.inc | 4 +-
.../recipes-extended/sysstat/sysstat_12.1.3.bb | 8 -
.../recipes-extended/sysstat/sysstat_12.1.6.bb | 8 +
poky/meta/recipes-extended/texinfo/texinfo_6.5.bb | 4 +-
.../recipes-gnome/libsecret/libsecret_0.18.8.bb | 22 -
.../recipes-gnome/libsecret/libsecret_0.19.0.bb | 22 +
.../recipes-graphics/eglinfo/eglinfo-fb_1.0.0.bb | 7 -
.../eglinfo/eglinfo-wayland_1.0.0.bb | 13 -
.../recipes-graphics/eglinfo/eglinfo-x11_1.0.0.bb | 13 -
poky/meta/recipes-graphics/eglinfo/eglinfo.inc | 38 -
...GING_INCDIR-to-searchpath-for-egl-headers.patch | 33 -
.../0001-Check-for-libegl-using-pkg-config.patch | 36 -
poky/meta/recipes-graphics/eglinfo/files/waf | 169 ---
.../recipes-graphics/harfbuzz/harfbuzz_2.5.3.bb | 39 -
.../recipes-graphics/harfbuzz/harfbuzz_2.6.1.bb | 39 +
.../recipes-graphics/images/core-image-clutter.bb | 2 +
.../meta/recipes-graphics/images/core-image-x11.bb | 2 +
.../recipes-graphics/jpeg/libjpeg-turbo_2.0.2.bb | 57 -
.../recipes-graphics/jpeg/libjpeg-turbo_2.0.3.bb | 57 +
.../recipes-graphics/libepoxy/libepoxy_1.5.3.bb | 4 +-
poky/meta/recipes-graphics/mesa/mesa.inc | 6 +
poky/meta/recipes-graphics/pango/pango_1.44.5.bb | 45 -
poky/meta/recipes-graphics/pango/pango_1.44.6.bb | 46 +
...1-Makefile.am-explicitly-link-with-libdrm.patch | 31 -
.../0001-vtest-add-missing-includes.patch | 38 -
.../virglrenderer/virglrenderer_0.7.0.bb | 23 -
.../virglrenderer/virglrenderer_0.8.0.bb | 21 +
.../wayland/weston/0001-make-error-portable.patch | 80 -
...ch-Provide-a-default-version-that-doesn-t.patch | 47 +-
poky/meta/recipes-graphics/wayland/weston_6.0.1.bb | 112 --
poky/meta/recipes-graphics/wayland/weston_7.0.0.bb | 111 ++
poky/meta/recipes-kernel/dtc/dtc_1.5.0.bb | 10 -
poky/meta/recipes-kernel/dtc/dtc_1.5.1.bb | 10 +
...api-asm-ptrace.h-should-not-depend-on-uap.patch | 62 -
.../linux-libc-headers/linux-libc-headers_5.0.bb | 19 -
.../linux-libc-headers/linux-libc-headers_5.2.bb | 18 +
poky/meta/recipes-kernel/linux/kernel-devsrc.bb | 15 +-
poky/meta/recipes-kernel/linux/linux-dtb.inc | 3 -
poky/meta/recipes-kernel/linux/linux-yocto-dev.bb | 2 +-
.../recipes-kernel/linux/linux-yocto-rt_5.0.bb | 44 -
.../recipes-kernel/linux/linux-yocto-rt_5.2.bb | 44 +
.../recipes-kernel/linux/linux-yocto-tiny_5.0.bb | 32 -
.../recipes-kernel/linux/linux-yocto-tiny_5.2.bb | 32 +
poky/meta/recipes-kernel/linux/linux-yocto_5.0.bb | 54 -
poky/meta/recipes-kernel/linux/linux-yocto_5.2.bb | 54 +
poky/meta/recipes-kernel/perf/perf.bb | 23 +-
.../configure-allow-to-disable-libvirt.patch | 39 -
.../systemtap/systemtap/monitor-option.patch | 37 -
.../systemtap/systemtap/no-msgfmt-check.patch | 33 -
.../systemtap/systemtap/x32_abi_time.patch | 34 -
.../recipes-kernel/systemtap/systemtap_git.inc | 8 +-
.../flac/flac/CVE-2017-6888.patch | 37 -
poky/meta/recipes-multimedia/flac/flac_1.3.2.bb | 46 -
poky/meta/recipes-multimedia/flac/flac_1.3.3.bb | 45 +
.../meta/recipes-multimedia/libogg/libogg_1.3.3.bb | 17 -
.../meta/recipes-multimedia/libogg/libogg_1.3.4.bb | 17 +
poky/meta/recipes-rt/rt-tests/rt-tests_1.1.bb | 4 +
poky/meta/recipes-sato/images/core-image-sato.bb | 3 +
...c-settings-so-that-gtkdoc-generation-work.patch | 10 +-
...fix-build-failure-https-bugs.webkit.org-s.patch | 33 -
poky/meta/recipes-sato/webkit/webkitgtk_2.24.3.bb | 131 --
poky/meta/recipes-sato/webkit/webkitgtk_2.24.4.bb | 130 ++
.../recipes-support/boost/bjam-native_1.69.0.bb | 19 -
.../recipes-support/boost/bjam-native_1.71.0.bb | 20 +
poky/meta/recipes-support/boost/boost-1.69.0.inc | 21 -
poky/meta/recipes-support/boost/boost-1.71.0.inc | 21 +
poky/meta/recipes-support/boost/boost.inc | 2 +-
...p-arch-instruction-set-flags-we-do-that-o.patch | 15 +-
poky/meta/recipes-support/boost/boost_1.69.0.bb | 9 -
poky/meta/recipes-support/boost/boost_1.71.0.bb | 9 +
.../files/0001-Build-debug-version-of-bjam.patch | 38 +
...build.sh-use-DNDEBUG-also-in-debug-builds.patch | 27 +
.../boost/files/bjam-native-build-bjam.debug.patch | 50 -
.../0001-certdata2pem.py-use-python3.patch | 37 +
.../ca-certificates/ca-certificates_20190110.bb | 3 +-
.../0001-flopen-Add-missing-fcntl.h-include.patch | 46 -
poky/meta/recipes-support/libbsd/libbsd_0.10.0.bb | 41 +
poky/meta/recipes-support/libbsd/libbsd_0.9.1.bb | 44 -
.../recipes-support/libevdev/libevdev_1.7.0.bb | 14 -
.../recipes-support/libevdev/libevdev_1.8.0.bb | 13 +
.../recipes-support/libevent/libevent/run-ptest | 34 +-
.../recipes-support/libevent/libevent_2.1.11.bb | 3 +
...Fixed-missed-ifndef-for-__mips_soft_float.patch | 31 +
poky/meta/recipes-support/libffi/libffi_3.3~rc0.bb | 4 +
.../libgpg-error-1.36-gawk5-support.patch | 144 ++
.../libgpg-error/libgpg-error_1.36.bb | 1 +
...ATCH-fix-libnl-3.4.0-musl-compile-problem.patch | 38 -
.../recipes-support/libnl/libnl/fix-pc-file.patch | 17 -
poky/meta/recipes-support/libnl/libnl_3.4.0.bb | 46 -
poky/meta/recipes-support/libnl/libnl_3.5.0.bb | 42 +
...m-use-PYTHON-when-invoking-psl-make-dafsa.patch | 50 +
poky/meta/recipes-support/libpsl/libpsl_0.21.0.bb | 1 +
poky/meta/recipes-support/sqlite/sqlite3.inc | 10 +-
poky/meta/recipes.txt | 3 +-
poky/scripts/lib/checklayer/cases/common.py | 2 +-
poky/scripts/lib/devtool/standard.py | 6 +-
poky/scripts/lib/resulttool/log.py | 33 +-
poky/scripts/lib/resulttool/report.py | 6 +-
poky/scripts/lib/scriptutils.py | 43 +-
poky/scripts/lib/wic/canned-wks/qemuriscv.wks | 3 +
poky/scripts/oe-selftest | 2 +-
poky/scripts/runqemu | 12 +-
428 files changed, 4738 insertions(+), 13187 deletions(-)
delete mode 100644 poky/README.LSB
create mode 100644 poky/meta-poky/conf/distro/poky-altcfg.conf
delete mode 100644 poky/meta-poky/conf/distro/poky-lsb.conf
delete mode 100644 poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.0.bbappend
create mode 100644 poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.2.bbappend
delete mode 100644 poky/meta/conf/distro/include/world-broken.inc
create mode 100644 poky/meta/conf/machine/include/tune-arm1176jz-s.inc
delete mode 100644 poky/meta/lib/oeqa/core/decorator/oetag.py
create mode 100644 poky/meta/lib/oeqa/selftest/cases/binutils.py
create mode 100644 poky/meta/lib/oeqa/selftest/cases/gcc.py
create mode 100644 poky/meta/lib/oeqa/selftest/cases/glibc.py
create mode 100644 poky/meta/lib/oeqa/selftest/cases/kerneldevelopment.py
create mode 100644 poky/meta/lib/oeqa/utils/nfs.py
create mode 100644 poky/meta/recipes-connectivity/bluez5/bluez5/0001-tools-Fix-build-after-y2038-changes-in-glibc.patch
delete mode 100644 poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-Do-not-pass-null-pointer-to-freeaddrinfo.patch
delete mode 100644 poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-Makefile.am-update-the-path-of-libnfs.a.patch
delete mode 100644 poky/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-utils-musl-limits.patch
delete mode 100644 poky/meta/recipes-connectivity/nfs-utils/nfs-utils_2.3.3.bb
create mode 100644 poky/meta/recipes-connectivity/nfs-utils/nfs-utils_2.4.1.bb
delete mode 100644 poky/meta/recipes-core/ell/ell_0.21.bb
create mode 100644 poky/meta/recipes-core/ell/ell_0.22.bb
delete mode 100644 poky/meta/recipes-core/glib-networking/glib-networking_2.60.2.bb
create mode 100644 poky/meta/recipes-core/glib-networking/glib-networking_2.60.3.bb
create mode 100644 poky/meta/recipes-core/glibc/glibc-testsuite_2.30.bb
create mode 100644 poky/meta/recipes-core/glibc/glibc/check-test-wrapper
delete mode 100644 poky/meta/recipes-core/libxcrypt/libxcrypt-compat_4.4.6.bb
create mode 100644 poky/meta/recipes-core/libxcrypt/libxcrypt-compat_4.4.8.bb
delete mode 100644 poky/meta/recipes-core/libxcrypt/libxcrypt_4.4.6.bb
create mode 100644 poky/meta/recipes-core/libxcrypt/libxcrypt_4.4.8.bb
delete mode 100644 poky/meta/recipes-core/systemd/systemd/0001-core-set-fs.file-max-sysctl-to-LONG_MAX-rather-than-.patch
delete mode 100644 poky/meta/recipes-core/systemd/systemd/0001-networkd-fix-link-up.patch
delete mode 100644 poky/meta/recipes-core/systemd/systemd/0001-resolved-Fix-incorrect-use-of-OpenSSL-BUF_MEM.patch
delete mode 100644 poky/meta/recipes-core/systemd/systemd/0002-network-do-not-send-ipv6.patch
delete mode 100644 poky/meta/recipes-core/systemd/systemd/0006-network-remove-redunant-link-name-in-message.patch
create mode 100644 poky/meta/recipes-devtools/binutils/binutils-cross-testsuite_2.32.bb
create mode 100644 poky/meta/recipes-devtools/bootchart2/bootchart2/0001-bootchart2-support-usrmerge.patch
delete mode 100644 poky/meta/recipes-devtools/build-compare/files/0001-Add-support-for-deb-and-ipk-packaging.patch
delete mode 100644 poky/meta/recipes-devtools/build-compare/files/Rename-rpm-check.sh-to-pkg-diff.sh.patch
delete mode 100644 poky/meta/recipes-devtools/build-compare/files/functions.sh-improve-deb-and-ipk-checking.patch
delete mode 100644 poky/meta/recipes-devtools/build-compare/files/functions.sh-remove-space-at-head.patch
delete mode 100644 poky/meta/recipes-devtools/build-compare/files/functions.sh-run-rpm-once-to-make-it-faster.patch
delete mode 100644 poky/meta/recipes-devtools/build-compare/files/pkg-diff.sh-check-for-fifo-named-pipe.patch
delete mode 100644 poky/meta/recipes-devtools/build-compare/files/pkg-diff.sh-check_single_file-return-at-once-when-sa.patch
delete mode 100644 poky/meta/recipes-devtools/build-compare/files/pkg-diff.sh-remove-space-in-the-end-for-ftype.patch
delete mode 100644 poky/meta/recipes-devtools/ccache/ccache_3.7.1.bb
create mode 100644 poky/meta/recipes-devtools/ccache/ccache_3.7.3.bb
create mode 100644 poky/meta/recipes-devtools/dejagnu/dejagnu_1.6.2.bb
delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-8.3.inc
delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-8.3/0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch
delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-8.3/0002-gcc-poison-system-directories.patch
delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-8.3/0003-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch
delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-8.3/0004-64-bit-multilib-hack.patch
delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-8.3/0005-optional-libstdc.patch
delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-8.3/0007-COLLECT_GCC_OPTIONS.patch
delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-8.3/0008-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch
delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-8.3/0009-fortran-cross-compile-hack.patch
delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-8.3/0010-cpp-honor-sysroot.patch
delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-8.3/0011-MIPS64-Default-to-N64-ABI.patch
delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-8.3/0012-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch
delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-8.3/0013-gcc-Fix-argument-list-too-long-error.patch
delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-8.3/0014-Disable-sdt.patch
delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-8.3/0015-libtool.patch
delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-8.3/0016-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch
delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-8.3/0017-Use-the-multilib-config-files-from-B-instead-of-usin.patch
delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-8.3/0018-Avoid-using-libdir-from-.la-which-usually-points-to-.patch
delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-8.3/0019-export-CPP.patch
delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-8.3/0020-Disable-the-MULTILIB_OSDIRNAMES-and-other-multilib-o.patch
delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-8.3/0021-Ensure-target-gcc-headers-can-be-included.patch
delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-8.3/0022-gcc-4.8-won-t-build-with-disable-dependency-tracking.patch
delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-8.3/0023-Don-t-search-host-directory-during-relink-if-inst_pr.patch
delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-8.3/0024-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch
delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-8.3/0025-aarch64-Add-support-for-musl-ldso.patch
delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-8.3/0026-libcc1-fix-libcc1-s-install-path-and-rpath.patch
delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-8.3/0027-handle-sysroot-support-for-nativesdk-gcc.patch
delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-8.3/0028-Search-target-sysroot-gcc-version-specific-dirs-with.patch
delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-8.3/0029-Fix-various-_FOR_BUILD-and-related-variables.patch
delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-8.3/0030-nios2-Define-MUSL_DYNAMIC_LINKER.patch
delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-8.3/0031-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch
delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-8.3/0032-libgcc-Add-knob-to-use-ldbl-128-on-ppc.patch
delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-8.3/0033-Link-libgcc-using-LDFLAGS-not-just-SHLIB_LDFLAGS.patch
delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-8.3/0034-libgcc_s-Use-alias-for-__cpu_indicator_init-instead-.patch
delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-8.3/0035-sync-gcc-stddef.h-with-musl.patch
delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-8.3/0036-fix-segmentation-fault-in-precompiled-header-generat.patch
delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-8.3/0037-Fix-for-testsuite-failure.patch
delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-8.3/0038-Re-introduce-spe-commandline-options.patch
delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-8.3/0039-riscv-Disable-multilib-for-OE.patch
delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-8.3/0040-powerpc-powerpc64-Add-support-for-musl-ldso.patch
delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-8.3/0041-Add-a-recursion-limit-to-libiberty-s-demangling-code.patch
delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-8.3/0042-PR-debug-86964.patch
delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-8.3/0043-PR85434-Prevent-spilling-of-stack-protector-guard-s-.patch
create mode 100644 poky/meta/recipes-devtools/gcc/gcc-8.3/CVE-2019-14250.patch
create mode 100644 poky/meta/recipes-devtools/gcc/gcc-9.2/CVE-2019-14250.patch
delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-cross-canadian_8.3.bb
delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-cross_8.3.bb
delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-crosssdk_8.3.bb
delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-runtime_8.3.bb
delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-sanitizers_8.3.bb
delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-source_8.3.bb
create mode 100644 poky/meta/recipes-devtools/gcc/gcc-testsuite.inc
delete mode 100644 poky/meta/recipes-devtools/gcc/gcc_8.3.bb
delete mode 100644 poky/meta/recipes-devtools/gcc/libgcc-initial_8.3.bb
delete mode 100644 poky/meta/recipes-devtools/gcc/libgcc_8.3.bb
delete mode 100644 poky/meta/recipes-devtools/gcc/libgfortran_8.3.bb
delete mode 100644 poky/meta/recipes-devtools/go/go-dep_0.5.0.bb
create mode 100644 poky/meta/recipes-devtools/go/go-dep_0.5.4.bb
delete mode 100644 poky/meta/recipes-devtools/help2man/help2man-native_1.47.10.bb
create mode 100644 poky/meta/recipes-devtools/help2man/help2man-native_1.47.11.bb
create mode 100644 poky/meta/recipes-devtools/libedit/libedit/0001-readline.c-fix-cannot-get-history.patch
delete mode 100644 poky/meta/recipes-devtools/meson/meson/0001-Fix-missing-return-statements-that-are-seen-with-Wer.patch
delete mode 100644 poky/meta/recipes-devtools/meson/meson_0.51.1.bb
create mode 100644 poky/meta/recipes-devtools/meson/meson_0.51.2.bb
delete mode 100644 poky/meta/recipes-devtools/meson/nativesdk-meson_0.51.1.bb
create mode 100644 poky/meta/recipes-devtools/meson/nativesdk-meson_0.51.2.bb
create mode 100644 poky/meta/recipes-devtools/pseudo/files/0001-maketables-wrappers-use-Python-3.patch
create mode 100644 poky/meta/recipes-devtools/python-numpy/files/0001-numpy-random-setup.py-remove-the-detection-of-x86-ta.patch
delete mode 100644 poky/meta/recipes-devtools/python-numpy/python3-numpy_1.16.3.bb
create mode 100644 poky/meta/recipes-devtools/python-numpy/python3-numpy_1.17.0.bb
create mode 100644 poky/meta/recipes-devtools/python/python3-dbus_1.2.10.bb
delete mode 100644 poky/meta/recipes-devtools/python/python3-dbus_1.2.8.bb
delete mode 100644 poky/meta/recipes-devtools/python/python3-git_3.0.0.bb
create mode 100644 poky/meta/recipes-devtools/python/python3-git_3.0.2.bb
delete mode 100644 poky/meta/recipes-devtools/python/python3-pbr_5.4.2.bb
create mode 100644 poky/meta/recipes-devtools/python/python3-pbr_5.4.3.bb
delete mode 100644 poky/meta/recipes-devtools/python/python3-pip_19.2.2.bb
create mode 100644 poky/meta/recipes-devtools/python/python3-pip_19.2.3.bb
create mode 100644 poky/meta/recipes-devtools/qemu/qemu/0010-configure-Add-pkg-config-handling-for-libgcrypt.patch
create mode 100644 poky/meta/recipes-devtools/rpm/files/0001-mono-find-provides-requires-do-not-use-monodis-from-.patch
delete mode 100644 poky/meta/recipes-devtools/subversion/subversion/subversion-1.12.0-apr_1.7.0_fix-1.patch
delete mode 100644 poky/meta/recipes-devtools/subversion/subversion_1.12.0.bb
create mode 100644 poky/meta/recipes-devtools/subversion/subversion_1.12.2.bb
create mode 100644 poky/meta/recipes-extended/diffutils/diffutils/0001-Skip-strip-trailing-cr-test-case.patch
delete mode 100644 poky/meta/recipes-extended/images/core-image-lsb-dev.bb
delete mode 100644 poky/meta/recipes-extended/images/core-image-lsb-sdk.bb
delete mode 100644 poky/meta/recipes-extended/images/core-image-lsb.bb
delete mode 100644 poky/meta/recipes-extended/iputils/iputils/ai_canonidn.patch
delete mode 100644 poky/meta/recipes-extended/iputils/iputils/install.patch
delete mode 100644 poky/meta/recipes-extended/iputils/iputils_s20180629.bb
create mode 100644 poky/meta/recipes-extended/iputils/iputils_s20190709.bb
delete mode 100644 poky/meta/recipes-extended/libarchive/libarchive/CVE-2018-1000877.patch
delete mode 100644 poky/meta/recipes-extended/libarchive/libarchive/CVE-2018-1000878.patch
delete mode 100644 poky/meta/recipes-extended/libarchive/libarchive/CVE-2018-1000879.patch
delete mode 100644 poky/meta/recipes-extended/libarchive/libarchive/CVE-2018-1000880.patch
delete mode 100644 poky/meta/recipes-extended/libarchive/libarchive/CVE-2019-1000019.patch
delete mode 100644 poky/meta/recipes-extended/libarchive/libarchive/CVE-2019-1000020.patch
delete mode 100644 poky/meta/recipes-extended/libarchive/libarchive/bug1066.patch
delete mode 100644 poky/meta/recipes-extended/libarchive/libarchive/non-recursive-extract-and-list.patch
delete mode 100644 poky/meta/recipes-extended/libarchive/libarchive_3.3.3.bb
create mode 100644 poky/meta/recipes-extended/libarchive/libarchive_3.4.0.bb
delete mode 100644 poky/meta/recipes-extended/libsolv/libsolv_0.7.5.bb
create mode 100644 poky/meta/recipes-extended/libsolv/libsolv_0.7.6.bb
delete mode 100644 poky/meta/recipes-extended/logrotate/logrotate_3.15.0.bb
create mode 100644 poky/meta/recipes-extended/logrotate/logrotate_3.15.1.bb
create mode 100644 poky/meta/recipes-extended/lsb/lsb-release/0001-fix-lsb_release-to-work-with-busybox-head-and-find.patch
create mode 100644 poky/meta/recipes-extended/lsb/lsb-release_1.4.bb
delete mode 100644 poky/meta/recipes-extended/lsb/lsb/0001-fix-lsb_release-to-work-with-busybox-head-and-find.patch
delete mode 100755 poky/meta/recipes-extended/lsb/lsb/init-functions
delete mode 100755 poky/meta/recipes-extended/lsb/lsb/lsb_killproc
delete mode 100755 poky/meta/recipes-extended/lsb/lsb/lsb_log_message
delete mode 100755 poky/meta/recipes-extended/lsb/lsb/lsb_pidofproc
delete mode 100755 poky/meta/recipes-extended/lsb/lsb/lsb_start_daemon
delete mode 100644 poky/meta/recipes-extended/lsb/lsb_5.0.bb
delete mode 100644 poky/meta/recipes-extended/lsb/lsbinitscripts/0001-functions-avoid-exit-1-which-causes-init-scripts-to-.patch
delete mode 100644 poky/meta/recipes-extended/lsb/lsbinitscripts/functions.patch
delete mode 100644 poky/meta/recipes-extended/lsb/lsbinitscripts_9.79.bb
delete mode 100644 poky/meta/recipes-extended/lsb/lsbtest/LSB_Test.sh
delete mode 100644 poky/meta/recipes-extended/lsb/lsbtest/packages_list
delete mode 100644 poky/meta/recipes-extended/lsb/lsbtest/session
delete mode 100644 poky/meta/recipes-extended/lsb/lsbtest_1.0.bb
create mode 100644 poky/meta/recipes-extended/ltp/ltp/0001-cve-meltdown.c-Fix-kernel-symbol-finding.patch
create mode 100644 poky/meta/recipes-extended/ltp/ltp/0001-syscall-rt_sigtimedwait01-Fix-wrong-sigset-length-fo.patch
create mode 100644 poky/meta/recipes-extended/ltp/ltp/0001-testcases-use-python3-everywhere-to-run-python-scrip.patch
delete mode 100644 poky/meta/recipes-extended/man-db/man-db_2.8.6.1.bb
create mode 100644 poky/meta/recipes-extended/man-db/man-db_2.8.7.bb
create mode 100644 poky/meta/recipes-extended/mdadm/files/0001-mdadm-skip-test-11spare-migration.patch
delete mode 100644 poky/meta/recipes-extended/packagegroups/packagegroup-core-lsb.bb
delete mode 100644 poky/meta/recipes-extended/sysstat/sysstat_12.1.3.bb
create mode 100644 poky/meta/recipes-extended/sysstat/sysstat_12.1.6.bb
delete mode 100644 poky/meta/recipes-gnome/libsecret/libsecret_0.18.8.bb
create mode 100644 poky/meta/recipes-gnome/libsecret/libsecret_0.19.0.bb
delete mode 100644 poky/meta/recipes-graphics/eglinfo/eglinfo-fb_1.0.0.bb
delete mode 100644 poky/meta/recipes-graphics/eglinfo/eglinfo-wayland_1.0.0.bb
delete mode 100644 poky/meta/recipes-graphics/eglinfo/eglinfo-x11_1.0.0.bb
delete mode 100644 poky/meta/recipes-graphics/eglinfo/eglinfo.inc
delete mode 100644 poky/meta/recipes-graphics/eglinfo/files/0001-Add-STAGING_INCDIR-to-searchpath-for-egl-headers.patch
delete mode 100644 poky/meta/recipes-graphics/eglinfo/files/0001-Check-for-libegl-using-pkg-config.patch
delete mode 100755 poky/meta/recipes-graphics/eglinfo/files/waf
delete mode 100644 poky/meta/recipes-graphics/harfbuzz/harfbuzz_2.5.3.bb
create mode 100644 poky/meta/recipes-graphics/harfbuzz/harfbuzz_2.6.1.bb
delete mode 100644 poky/meta/recipes-graphics/jpeg/libjpeg-turbo_2.0.2.bb
create mode 100644 poky/meta/recipes-graphics/jpeg/libjpeg-turbo_2.0.3.bb
delete mode 100644 poky/meta/recipes-graphics/pango/pango_1.44.5.bb
create mode 100644 poky/meta/recipes-graphics/pango/pango_1.44.6.bb
delete mode 100644 poky/meta/recipes-graphics/virglrenderer/virglrenderer/0001-Makefile.am-explicitly-link-with-libdrm.patch
delete mode 100644 poky/meta/recipes-graphics/virglrenderer/virglrenderer/0001-vtest-add-missing-includes.patch
delete mode 100644 poky/meta/recipes-graphics/virglrenderer/virglrenderer_0.7.0.bb
create mode 100644 poky/meta/recipes-graphics/virglrenderer/virglrenderer_0.8.0.bb
delete mode 100644 poky/meta/recipes-graphics/wayland/weston/0001-make-error-portable.patch
delete mode 100644 poky/meta/recipes-graphics/wayland/weston_6.0.1.bb
create mode 100644 poky/meta/recipes-graphics/wayland/weston_7.0.0.bb
delete mode 100644 poky/meta/recipes-kernel/dtc/dtc_1.5.0.bb
create mode 100644 poky/meta/recipes-kernel/dtc/dtc_1.5.1.bb
delete mode 100644 poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers/0001-arm64-sve-uapi-asm-ptrace.h-should-not-depend-on-uap.patch
delete mode 100644 poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_5.0.bb
create mode 100644 poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_5.2.bb
delete mode 100644 poky/meta/recipes-kernel/linux/linux-dtb.inc
delete mode 100644 poky/meta/recipes-kernel/linux/linux-yocto-rt_5.0.bb
create mode 100644 poky/meta/recipes-kernel/linux/linux-yocto-rt_5.2.bb
delete mode 100644 poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.0.bb
create mode 100644 poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.2.bb
delete mode 100644 poky/meta/recipes-kernel/linux/linux-yocto_5.0.bb
create mode 100644 poky/meta/recipes-kernel/linux/linux-yocto_5.2.bb
delete mode 100644 poky/meta/recipes-kernel/systemtap/systemtap/configure-allow-to-disable-libvirt.patch
delete mode 100644 poky/meta/recipes-kernel/systemtap/systemtap/monitor-option.patch
delete mode 100644 poky/meta/recipes-kernel/systemtap/systemtap/no-msgfmt-check.patch
delete mode 100644 poky/meta/recipes-kernel/systemtap/systemtap/x32_abi_time.patch
delete mode 100644 poky/meta/recipes-multimedia/flac/flac/CVE-2017-6888.patch
delete mode 100644 poky/meta/recipes-multimedia/flac/flac_1.3.2.bb
create mode 100644 poky/meta/recipes-multimedia/flac/flac_1.3.3.bb
delete mode 100644 poky/meta/recipes-multimedia/libogg/libogg_1.3.3.bb
create mode 100644 poky/meta/recipes-multimedia/libogg/libogg_1.3.4.bb
delete mode 100644 poky/meta/recipes-sato/webkit/webkitgtk/0001-Unreviewed-fix-build-failure-https-bugs.webkit.org-s.patch
delete mode 100644 poky/meta/recipes-sato/webkit/webkitgtk_2.24.3.bb
create mode 100644 poky/meta/recipes-sato/webkit/webkitgtk_2.24.4.bb
delete mode 100644 poky/meta/recipes-support/boost/bjam-native_1.69.0.bb
create mode 100644 poky/meta/recipes-support/boost/bjam-native_1.71.0.bb
delete mode 100644 poky/meta/recipes-support/boost/boost-1.69.0.inc
create mode 100644 poky/meta/recipes-support/boost/boost-1.71.0.inc
delete mode 100644 poky/meta/recipes-support/boost/boost_1.69.0.bb
create mode 100644 poky/meta/recipes-support/boost/boost_1.71.0.bb
create mode 100644 poky/meta/recipes-support/boost/files/0001-Build-debug-version-of-bjam.patch
create mode 100644 poky/meta/recipes-support/boost/files/0001-build.sh-use-DNDEBUG-also-in-debug-builds.patch
delete mode 100644 poky/meta/recipes-support/boost/files/bjam-native-build-bjam.debug.patch
create mode 100644 poky/meta/recipes-support/ca-certificates/ca-certificates/0001-certdata2pem.py-use-python3.patch
delete mode 100644 poky/meta/recipes-support/libbsd/libbsd/0001-flopen-Add-missing-fcntl.h-include.patch
create mode 100644 poky/meta/recipes-support/libbsd/libbsd_0.10.0.bb
delete mode 100644 poky/meta/recipes-support/libbsd/libbsd_0.9.1.bb
delete mode 100644 poky/meta/recipes-support/libevdev/libevdev_1.7.0.bb
create mode 100644 poky/meta/recipes-support/libevdev/libevdev_1.8.0.bb
create mode 100644 poky/meta/recipes-support/libffi/libffi/0001-Fixed-missed-ifndef-for-__mips_soft_float.patch
create mode 100644 poky/meta/recipes-support/libgpg-error/libgpg-error/libgpg-error-1.36-gawk5-support.patch
delete mode 100644 poky/meta/recipes-support/libnl/libnl/0001-PATCH-fix-libnl-3.4.0-musl-compile-problem.patch
delete mode 100644 poky/meta/recipes-support/libnl/libnl/fix-pc-file.patch
delete mode 100644 poky/meta/recipes-support/libnl/libnl_3.4.0.bb
create mode 100644 poky/meta/recipes-support/libnl/libnl_3.5.0.bb
create mode 100644 poky/meta/recipes-support/libpsl/libpsl/0001-Makefile.am-use-PYTHON-when-invoking-psl-make-dafsa.patch
create mode 100644 poky/scripts/lib/wic/canned-wks/qemuriscv.wks
diff --git a/poky/README.LSB b/poky/README.LSB
deleted file mode 100644
index fecbe548b7..0000000000
--- a/poky/README.LSB
+++ /dev/null
@@ -1,29 +0,0 @@
-OE-Core aims to be able to provide basic LSB compatible images. There
-are some challenges for OE as LSB isn't always 100% relevant to its
-target embedded and IoT audiences.
-
-One challenge is that the LSB spec is no longer being actively
-developed [https://github.com/LinuxStandardBase/lsb] and has
-components which are end of life or significantly dated. OE
-therefore provides compatibility with the following caveats:
-
-* Qt4 is provided by the separate meta-qt4 layer. Its noted that Qt4
- is end of life and this isn't something the core project regularly
- tests any longer. Users are recommended to group together to support
- maintenance of that layer. [http://git.yoctoproject.org/cgit/cgit.cgi/meta-qt4/]
-
-* GTK+ 2 is provided by meta-oe. It is noted that GTK+ 2 is end of life
- and use of GTK+ 2 isn't recommended.
-
-* mailx has been dropped since its no longer being developed upstream
- and there are better, more modern replacements such as s-nail
- (http://sdaoden.eu/code.html) or mailutils (http://mailutils.org/).
-
-* A few perl modules that were required by LSB 4.x aren't provided:
- libclass-isa, libenv, libdumpvalue, libfile-checktree,
- libi18n-collate, libpod-plainer.
-
-* libpng 1.2 isn't provided; oe-core includes the latest release of libpng
- instead.
-
-* pax (POSIX standard archive) tool is not provided.
diff --git a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-metadata.xml b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-metadata.xml
index a125ad332e..88622421db 100644
--- a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-metadata.xml
+++ b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-metadata.xml
@@ -420,13 +420,17 @@
FOO = "123 456 789 123456 123 456 123 456"
FOO_remove = "123"
FOO_remove = "456"
- FOO2 = "abc def ghi abcdef abc def abc def"
- FOO2_remove = "abc def"
+ FOO2 = " abc def ghi abcdef abc def abc def def"
+ FOO2_remove = " \
+ def \
+ abc \
+ ghi \
+ "
The variable FOO becomes
- " 789 123456 "
+ " 789 123456 "
and FOO2 becomes
- " ghi abcdef ".
+ " jkl abcdef ".
diff --git a/poky/bitbake/lib/bb/cooker.py b/poky/bitbake/lib/bb/cooker.py
index 0607fcc708..5840aa75e0 100644
--- a/poky/bitbake/lib/bb/cooker.py
+++ b/poky/bitbake/lib/bb/cooker.py
@@ -919,6 +919,10 @@ class BBCooker:
os.unlink('package-depends.dot')
except FileNotFoundError:
pass
+ try:
+ os.unlink('recipe-depends.dot')
+ except FileNotFoundError:
+ pass
with open('task-depends.dot', 'w') as f:
f.write("digraph depends {\n")
@@ -932,27 +936,6 @@ class BBCooker:
f.write("}\n")
logger.info("Task dependencies saved to 'task-depends.dot'")
- with open('recipe-depends.dot', 'w') as f:
- f.write("digraph depends {\n")
- pndeps = {}
- for task in sorted(depgraph["tdepends"]):
- (pn, taskname) = task.rsplit(".", 1)
- if pn not in pndeps:
- pndeps[pn] = set()
- for dep in sorted(depgraph["tdepends"][task]):
- (deppn, deptaskname) = dep.rsplit(".", 1)
- pndeps[pn].add(deppn)
- for pn in sorted(pndeps):
- fn = depgraph["pn"][pn]["filename"]
- version = depgraph["pn"][pn]["version"]
- f.write('"%s" [label="%s\\n%s\\n%s"]\n' % (pn, pn, version, fn))
- for dep in sorted(pndeps[pn]):
- if dep == pn:
- continue
- f.write('"%s" -> "%s"\n' % (pn, dep))
- f.write("}\n")
- logger.info("Flattened recipe dependencies saved to 'recipe-depends.dot'")
-
def show_appends_with_no_recipes(self):
# Determine which bbappends haven't been applied
@@ -1869,6 +1852,7 @@ class CookerCollectFiles(object):
(bbappend, filename) = b
if (bbappend == f) or ('%' in bbappend and bbappend.startswith(f[:bbappend.index('%')])):
filelist.append(filename)
+ filelist.sort()
return filelist
def collection_priorities(self, pkgfns, d):
diff --git a/poky/bitbake/lib/bb/fetch2/__init__.py b/poky/bitbake/lib/bb/fetch2/__init__.py
index f6b5529bb8..1f5f8f1f14 100644
--- a/poky/bitbake/lib/bb/fetch2/__init__.py
+++ b/poky/bitbake/lib/bb/fetch2/__init__.py
@@ -962,7 +962,8 @@ def rename_bad_checksum(ud, suffix):
new_localpath = "%s_bad-checksum_%s" % (ud.localpath, suffix)
bb.warn("Renaming %s to %s" % (ud.localpath, new_localpath))
- bb.utils.movefile(ud.localpath, new_localpath)
+ if not bb.utils.movefile(ud.localpath, new_localpath):
+ bb.warn("Renaming %s to %s failed, grep movefile in log.do_fetch to see why" % (ud.localpath, new_localpath))
def try_mirror_url(fetch, origud, ud, ld, check = False):
diff --git a/poky/bitbake/lib/bb/runqueue.py b/poky/bitbake/lib/bb/runqueue.py
index 4f69578e46..addb2bb82f 100644
--- a/poky/bitbake/lib/bb/runqueue.py
+++ b/poky/bitbake/lib/bb/runqueue.py
@@ -849,6 +849,20 @@ class RunQueueData:
for depend in depends:
mark_active(depend, depth+1)
+ def invalidate_task(tid, error_nostamp):
+ (mc, fn, taskname, taskfn) = split_tid_mcfn(tid)
+ taskdep = self.dataCaches[mc].task_deps[taskfn]
+ if fn + ":" + taskname not in taskData[mc].taskentries:
+ logger.warning("Task %s does not exist, invalidating this task will have no effect" % taskname)
+ if 'nostamp' in taskdep and taskname in taskdep['nostamp']:
+ if error_nostamp:
+ bb.fatal("Task %s is marked nostamp, cannot invalidate this task" % taskname)
+ else:
+ bb.debug(1, "Task %s is marked nostamp, cannot invalidate this task" % taskname)
+ else:
+ logger.verbose("Invalidate task %s, %s", taskname, fn)
+ bb.parse.siggen.invalidate_task(taskname, self.dataCaches[mc], taskfn)
+
self.target_tids = []
for (mc, target, task, fn) in self.targets:
@@ -917,6 +931,8 @@ class RunQueueData:
for tid in list(runall_tids):
mark_active(tid,1)
+ if self.cooker.configuration.force:
+ invalidate_task(tid, False)
for tid in list(self.runtaskentries.keys()):
if tid not in runq_build:
@@ -938,6 +954,8 @@ class RunQueueData:
for tid in list(runonly_tids):
mark_active(tid,1)
+ if self.cooker.configuration.force:
+ invalidate_task(tid, False)
for tid in list(self.runtaskentries.keys()):
if tid not in runq_build:
@@ -1114,20 +1132,6 @@ class RunQueueData:
continue
self.runq_setscene_tids.append(tid)
- def invalidate_task(tid, error_nostamp):
- (mc, fn, taskname, taskfn) = split_tid_mcfn(tid)
- taskdep = self.dataCaches[mc].task_deps[taskfn]
- if fn + ":" + taskname not in taskData[mc].taskentries:
- logger.warning("Task %s does not exist, invalidating this task will have no effect" % taskname)
- if 'nostamp' in taskdep and taskname in taskdep['nostamp']:
- if error_nostamp:
- bb.fatal("Task %s is marked nostamp, cannot invalidate this task" % taskname)
- else:
- bb.debug(1, "Task %s is marked nostamp, cannot invalidate this task" % taskname)
- else:
- logger.verbose("Invalidate task %s, %s", taskname, fn)
- bb.parse.siggen.invalidate_task(taskname, self.dataCaches[mc], taskfn)
-
self.init_progress_reporter.next_stage()
# Invalidate task if force mode active
diff --git a/poky/bitbake/lib/bb/tests/fetch.py b/poky/bitbake/lib/bb/tests/fetch.py
index 23c6338a46..2ee030546a 100644
--- a/poky/bitbake/lib/bb/tests/fetch.py
+++ b/poky/bitbake/lib/bb/tests/fetch.py
@@ -1200,8 +1200,8 @@ class FetchLatestVersionTest(FetcherTest):
# packages with valid UPSTREAM_CHECK_URI and UPSTREAM_CHECK_REGEX
("cups", "http://www.cups.org/software/1.7.2/cups-1.7.2-source.tar.bz2", "https://github.com/apple/cups/releases", "(?Pcups\-)(?P((\d+[\.\-_]*)+))\-source\.tar\.gz")
: "2.0.0",
- ("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/(?Pdb-)(?P((\d+[\.\-_]*)+))\.tar\.gz")
- : "6.1.19",
+ ("db", "http://download.oracle.com/berkeley-db/db-5.3.21.tar.gz", "http://ftp.debian.org/debian/pool/main/d/db5.3/", "(?Pdb5\.3_)(?P\d+(\.\d+)+).+\.orig\.tar\.xz")
+ : "5.3.10",
}
@skipIfNoNetwork()
diff --git a/poky/bitbake/lib/bb/utils.py b/poky/bitbake/lib/bb/utils.py
index 0618e46fe6..3e90b6a306 100644
--- a/poky/bitbake/lib/bb/utils.py
+++ b/poky/bitbake/lib/bb/utils.py
@@ -780,7 +780,7 @@ def movefile(src, dest, newmtime = None, sstat = None):
os.rename(src, destpath)
renamefailed = 0
except Exception as e:
- if e[0] != errno.EXDEV:
+ if e.errno != errno.EXDEV:
# Some random error.
print("movefile: Failed to move", src, "to", dest, e)
return None
diff --git a/poky/documentation/dev-manual/dev-manual-start.xml b/poky/documentation/dev-manual/dev-manual-start.xml
index 5625dfcdd4..59ffa49bb6 100644
--- a/poky/documentation/dev-manual/dev-manual-start.xml
+++ b/poky/documentation/dev-manual/dev-manual-start.xml
@@ -23,9 +23,8 @@
It might not be immediately clear how you can use the Yocto
Project in a team development environment, or how to scale it for a
large team of developers.
- One of the strengths of the Yocto Project is that it is extremely
- flexible.
- Thus, you can adapt it to many different use cases and scenarios.
+ You can adapt the Yocto Project to many different use cases and
+ scenarios.
However, this flexibility could cause difficulties if you are trying
to create a working setup that scales across a large team.
diff --git a/poky/documentation/poky.ent b/poky/documentation/poky.ent
index b5f6009698..192b9418f7 100644
--- a/poky/documentation/poky.ent
+++ b/poky/documentation/poky.ent
@@ -60,7 +60,7 @@
+ pylint3 xterm">
-
- bluetooth.bbclass
-
-
- The bluetooth class defines a variable that
- expands to the recipe (package) providing core
- bluetooth support on the platform.
-
-
-
- For details on how the class works, see the
- meta/classes/bluetooth.bbclass file in the Yocto
- Project
- Source Directory.
-
-
-
buildhistory.bbclass
@@ -937,21 +920,6 @@
-
- gnome.bbclass
-
-
- The gnome class supports recipes that
- build software from the GNOME stack.
- This class inherits the
- gnomebase,
- gtk-icon-cache,
- gconf and
- mime classes.
- The class also disables GObject introspection where applicable.
-
-
-
gnomebase.bbclass
diff --git a/poky/documentation/ref-manual/ref-devtool-reference.xml b/poky/documentation/ref-manual/ref-devtool-reference.xml
index 4810d28ad1..11f7399c5a 100644
--- a/poky/documentation/ref-manual/ref-devtool-reference.xml
+++ b/poky/documentation/ref-manual/ref-devtool-reference.xml
@@ -629,18 +629,18 @@
Building Your Recipe
- Use the devtool build command to cause the
- OpenEmbedded build system to build your recipe.
+ Use the devtool build command to build your
+ recipe.
The devtool build command is equivalent to
- bitbake -c populate_sysroot.
+ the bitbake -c populate_sysroot command.
When you use the devtool build command,
- you must supply the root name of the recipe (i.e. no version,
- paths, or extensions).
+ you must supply the root name of the recipe (i.e. do not provide
+ versions, paths, or extensions).
You can use either the "-s" or the "--disable-parallel-make"
- option to disable parallel makes during the build.
+ options to disable parallel makes during the build.
Here is an example:
$ devtool build recipe
diff --git a/poky/documentation/ref-manual/ref-features.xml b/poky/documentation/ref-manual/ref-features.xml
index b057d2d040..44ba67cf50 100644
--- a/poky/documentation/ref-manual/ref-features.xml
+++ b/poky/documentation/ref-manual/ref-features.xml
@@ -154,27 +154,6 @@
bluetooth: Include
bluetooth support (integrated BT only).
- bluez5: Include
- BlueZ Version 5, which provides core Bluetooth layers and
- protocols support.
-
- The default value for the
- DISTRO FEATURES variable includes
- "bluetooth", which causes bluez5 to be backfilled in
- for bluetooth support.
- If you do not want bluez5 backfilled and would rather
- use bluez4, you need to use the
- DISTRO_FEATURES_BACKFILL_CONSIDERED
- variable as follows:
-
- DISTRO_FEATURES_BACKFILL_CONSIDERED = "bluez5"
-
- Setting this variable tells the OpenEmbedded build
- system that you have considered but ruled
- out using the bluez5 feature and that bluez4 will be
- used.
-
- cramfs: Include CramFS
support.directfb:
diff --git a/poky/documentation/ref-manual/ref-system-requirements.xml b/poky/documentation/ref-manual/ref-system-requirements.xml
index 239dd84bbd..51995309d4 100644
--- a/poky/documentation/ref-manual/ref-system-requirements.xml
+++ b/poky/documentation/ref-manual/ref-system-requirements.xml
@@ -95,6 +95,7 @@
CentOS 7.xDebian GNU/Linux 8.x (Jessie)Debian GNU/Linux 9.x (Stretch)
+ Debian GNU/Linux 10.x (Buster)OpenSUSE 42.3
diff --git a/poky/documentation/ref-manual/ref-variables.xml b/poky/documentation/ref-manual/ref-variables.xml
index 0080364e4f..93b7588385 100644
--- a/poky/documentation/ref-manual/ref-variables.xml
+++ b/poky/documentation/ref-manual/ref-variables.xml
@@ -335,7 +335,7 @@
- The minimal command and arguments used to run the
+ Minimal command and arguments needed to run the
assembler.
@@ -6606,6 +6606,7 @@
by default:
btrfs
+ container
cpio
cpio.gz
cpio.lz4
@@ -6621,13 +6622,14 @@
ext3.gz
ext4
ext4.gz
- hdddirect
+ f2fs
hddimg
iso
jffs2
jffs2.sum
multiubi
squashfs
+ squashfs-lz4
squashfs-lzo
squashfs-xz
tar
@@ -7580,15 +7582,9 @@
However, providing just the .dtb
file is preferred.
- In order to use this variable, you must have the include
- files in your kernel recipe:
-
- require recipes-kernel/linux/linux-dtb.inc
-
- or
-
- require recipes-kernel/linux/linux-yocto.inc
-
+ In order to use this variable, the
+ kernel-devicetree
+ class must be inherited.
diff --git a/poky/meta-poky/conf/distro/include/poky-distro-alt-test-config.inc b/poky/meta-poky/conf/distro/include/poky-distro-alt-test-config.inc
index 081584f397..9926c1bb02 100644
--- a/poky/meta-poky/conf/distro/include/poky-distro-alt-test-config.inc
+++ b/poky/meta-poky/conf/distro/include/poky-distro-alt-test-config.inc
@@ -1,2 +1,8 @@
+# Add an extra DISTRO_FEATURE
DISTRO_FEATURES_append = " pam"
-PREFERRED_VERSION_linux-yocto_linuxstdbase ?= "4.19%"
+
+# Use the LTSI Kernel
+PREFERRED_VERSION_linux-yocto ?= "4.19%"
+
+# Ensure the kernel nfs server is enabled
+KERNEL_FEATURES_append_pn-linux-yocto = " features/nfsd/nfsd-enable.scc"
diff --git a/poky/meta-poky/conf/distro/poky-altcfg.conf b/poky/meta-poky/conf/distro/poky-altcfg.conf
new file mode 100644
index 0000000000..177bf8d184
--- /dev/null
+++ b/poky/meta-poky/conf/distro/poky-altcfg.conf
@@ -0,0 +1,15 @@
+#
+# An example of subclassing a distro, primarily used for testing alternate configuration
+# combinations on the Yocto Project autobuilder
+#
+require conf/distro/poky.conf
+
+DISTRO = "poky-altcfg"
+DISTROOVERRIDES = "poky:poky-altcfg"
+#DISTROOVERRIDES = "poky:linuxstdbase"
+
+INIT_MANAGER ?= "systemd"
+# systemd isn't suitable with musl
+INIT_MANAGER_libc-musl ?= "sysvinit"
+
+require conf/distro/include/poky-distro-alt-test-config.inc
diff --git a/poky/meta-poky/conf/distro/poky-lsb.conf b/poky/meta-poky/conf/distro/poky-lsb.conf
deleted file mode 100644
index 9b36c87c48..0000000000
--- a/poky/meta-poky/conf/distro/poky-lsb.conf
+++ /dev/null
@@ -1,13 +0,0 @@
-
-require conf/distro/poky.conf
-
-DISTRO = "poky-lsb"
-DISTROOVERRIDES = "poky:linuxstdbase"
-
-DISTRO_FEATURES_append = " pam"
-
-# Ensure the kernel nfs server is enabled
-KERNEL_FEATURES_append_pn-linux-yocto = " features/nfsd/nfsd-enable.scc"
-
-# Use the LTSI Kernel for LSB Testing
-PREFERRED_VERSION_linux-yocto_linuxstdbase ?= "4.19%"
diff --git a/poky/meta-poky/conf/distro/poky-tiny.conf b/poky/meta-poky/conf/distro/poky-tiny.conf
index 1f8b6e8ff3..c6d4b88f83 100644
--- a/poky/meta-poky/conf/distro/poky-tiny.conf
+++ b/poky/meta-poky/conf/distro/poky-tiny.conf
@@ -82,12 +82,7 @@ DISTRO_FEATURES_class-native = "${DISTRO_FEATURES_DEFAULT} ${POKY_DEFAULT_DISTRO
DISTRO_FEATURES_class-nativesdk = "${DISTRO_FEATURES_DEFAULT} ${POKY_DEFAULT_DISTRO_FEATURES}"
# enable mdev/busybox for init
-VIRTUAL-RUNTIME_dev_manager = "busybox-mdev"
-VIRTUAL-RUNTIME_login_manager = "busybox"
-VIRTUAL-RUNTIME_init_manager = "busybox"
-VIRTUAL-RUNTIME_initscripts = "initscripts"
-VIRTUAL-RUNTIME_keymaps = "keymaps"
-DISTRO_FEATURES_BACKFILL_CONSIDERED += "sysvinit"
+INIT_MANAGER ?= "mdev-busybox"
# FIXME: Consider adding "modules" to MACHINE_FEATURES and using that in
# packagegroup-core-base to select modutils-initscripts or not. Similar with "net" and
@@ -117,9 +112,6 @@ PNBLACKLIST[build-appliance-image] = "not buildable with poky-tiny"
PNBLACKLIST[core-image-base] = "not buildable with poky-tiny"
PNBLACKLIST[core-image-clutter] = "not buildable with poky-tiny"
PNBLACKLIST[core-image-full-cmdline] = "not buildable with poky-tiny"
-PNBLACKLIST[core-image-lsb] = "not buildable with poky-tiny"
-PNBLACKLIST[core-image-lsb-dev] = "not buildable with poky-tiny"
-PNBLACKLIST[core-image-lsb-sdk] = "not buildable with poky-tiny"
PNBLACKLIST[core-image-rt] = "not buildable with poky-tiny"
PNBLACKLIST[core-image-rt-sdk] = "not buildable with poky-tiny"
PNBLACKLIST[core-image-sato] = "not buildable with poky-tiny"
diff --git a/poky/meta-poky/conf/distro/poky.conf b/poky/meta-poky/conf/distro/poky.conf
index aa041e2dcd..f999992c90 100644
--- a/poky/meta-poky/conf/distro/poky.conf
+++ b/poky/meta-poky/conf/distro/poky.conf
@@ -21,7 +21,7 @@ POKY_DEFAULT_EXTRA_RRECOMMENDS = "kernel-module-af-packet"
DISTRO_FEATURES ?= "${DISTRO_FEATURES_DEFAULT} ${POKY_DEFAULT_DISTRO_FEATURES}"
-PREFERRED_VERSION_linux-yocto ?= "5.0%"
+PREFERRED_VERSION_linux-yocto ?= "5.2%"
SDK_NAME = "${DISTRO}-${TCLIBC}-${SDKMACHINE}-${IMAGE_BASENAME}-${TUNE_PKGARCH}-${MACHINE}"
SDKPATH = "/opt/${DISTRO}/${SDK_VERSION}"
diff --git a/poky/meta-poky/conf/local.conf.sample b/poky/meta-poky/conf/local.conf.sample
index b36530dd8c..c86eee4560 100644
--- a/poky/meta-poky/conf/local.conf.sample
+++ b/poky/meta-poky/conf/local.conf.sample
@@ -238,12 +238,16 @@ BB_DISKMON_DIRS ??= "\
# Qemu configuration
#
# By default native qemu will build with a builtin VNC server where graphical output can be
-# seen. The line below enable the SDL backend too. By default libsdl2-native will
-# be built, if you want to use your host's libSDL instead of the minimal libsdl built
-# by libsdl2-native then uncomment the ASSUME_PROVIDED line below.
+# seen. The line below enables the SDL UI frontend too.
PACKAGECONFIG_append_pn-qemu-system-native = " sdl"
+# By default libsdl2-native will be built, if you want to use your host's libSDL instead of
+# the minimal libsdl built by libsdl2-native then uncomment the ASSUME_PROVIDED line below.
#ASSUME_PROVIDED += "libsdl2-native"
+# You can also enable the Gtk UI frontend, which takes somewhat longer to build, but adds
+# a handy set of menus for controlling the emulator.
+#PACKAGECONFIG_append_pn-qemu-system-native = " gtk+"
+
# CONF_VERSION is increased each time build/conf/ changes incompatibly and is used to
# track the version of this file when it was generated. This can safely be ignored if
# this doesn't mean anything to you.
diff --git a/poky/meta-poky/conf/local.conf.sample.extended b/poky/meta-poky/conf/local.conf.sample.extended
index 77e8be26fa..dc92a16f6c 100644
--- a/poky/meta-poky/conf/local.conf.sample.extended
+++ b/poky/meta-poky/conf/local.conf.sample.extended
@@ -270,7 +270,7 @@ DISTRO_FEATURES_remove = "x11"
#
# By including the security_flags include file you enable flags
# to the compiler and linker that cause them to generate more secure
-# code, this is enabled by default in the poky-lsb distro.
+# code.
# This does affect compile speed slightly.
#
# Use the following line to enable the security compiler and linker flags to your build
diff --git a/poky/meta-yocto-bsp/conf/machine/beaglebone-yocto.conf b/poky/meta-yocto-bsp/conf/machine/beaglebone-yocto.conf
index 7c7b3059a9..08dd3a5074 100644
--- a/poky/meta-yocto-bsp/conf/machine/beaglebone-yocto.conf
+++ b/poky/meta-yocto-bsp/conf/machine/beaglebone-yocto.conf
@@ -24,7 +24,7 @@ SERIAL_CONSOLES ?= "115200;ttyS0 115200;ttyO0 115200;ttyAMA0"
SERIAL_CONSOLES_CHECK = "${SERIAL_CONSOLES}"
PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"
-PREFERRED_VERSION_linux-yocto ?= "5.0%"
+PREFERRED_VERSION_linux-yocto ?= "5.2%"
KERNEL_IMAGETYPE = "zImage"
KERNEL_DEVICETREE = "am335x-bone.dtb am335x-boneblack.dtb am335x-bonegreen.dtb"
@@ -47,7 +47,6 @@ QB_DEFAULT_FSTYPE = "wic"
QB_FSINFO = "wic:no-kernel-in-fs"
QB_KERNEL_ROOT = "/dev/vda2"
QB_SYSTEM_NAME = "qemu-system-arm"
-QB_MEM = "-m 512"
QB_MACHINE = "-machine virt"
QB_CPU = "-cpu cortex-a15"
QB_KERNEL_CMDLINE_APPEND = "console=ttyAMA0 systemd.mask=systemd-networkd"
diff --git a/poky/meta-yocto-bsp/conf/machine/edgerouter.conf b/poky/meta-yocto-bsp/conf/machine/edgerouter.conf
index 88592dbc85..6331368f87 100644
--- a/poky/meta-yocto-bsp/conf/machine/edgerouter.conf
+++ b/poky/meta-yocto-bsp/conf/machine/edgerouter.conf
@@ -11,7 +11,7 @@ KERNEL_ALT_IMAGETYPE = "vmlinux.bin"
KERNEL_IMAGE_STRIP_EXTRA_SECTIONS = ".comment"
PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"
-PREFERRED_VERSION_linux-yocto ?= "5.0%"
+PREFERRED_VERSION_linux-yocto ?= "5.2%"
SERIAL_CONSOLES = "115200;ttyS0"
USE_VT ?= "0"
diff --git a/poky/meta-yocto-bsp/conf/machine/mpc8315e-rdb.conf b/poky/meta-yocto-bsp/conf/machine/mpc8315e-rdb.conf
index e2dce56738..5382796284 100644
--- a/poky/meta-yocto-bsp/conf/machine/mpc8315e-rdb.conf
+++ b/poky/meta-yocto-bsp/conf/machine/mpc8315e-rdb.conf
@@ -15,7 +15,7 @@ SERIAL_CONSOLES = "115200;ttyS0"
MACHINE_FEATURES = "keyboard pci ext2 ext3 serial"
-PREFERRED_VERSION_linux-yocto ?= "5.0%"
+PREFERRED_VERSION_linux-yocto ?= "5.2%"
PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"
PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xorg"
diff --git a/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.0.bbappend b/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.0.bbappend
deleted file mode 100644
index d7cf1216f4..0000000000
--- a/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.0.bbappend
+++ /dev/null
@@ -1,27 +0,0 @@
-KBRANCH_genericx86 = "v5.0/standard/base"
-KBRANCH_genericx86-64 = "v5.0/standard/base"
-KBRANCH_edgerouter = "v5.0/standard/edgerouter"
-KBRANCH_beaglebone-yocto = "v5.0/standard/beaglebone"
-KBRANCH_mpc8315e-rdb = "v5.0/standard/fsl-mpc8315e-rdb"
-
-KMACHINE_genericx86 ?= "common-pc"
-KMACHINE_genericx86-64 ?= "common-pc-64"
-KMACHINE_beaglebone-yocto ?= "beaglebone"
-
-SRCREV_machine_genericx86 ?= "f990fd0ce123aa6035042efad09b2ddc3e7d48f4"
-SRCREV_machine_genericx86-64 ?= "f990fd0ce123aa6035042efad09b2ddc3e7d48f4"
-SRCREV_machine_edgerouter ?= "f990fd0ce123aa6035042efad09b2ddc3e7d48f4"
-SRCREV_machine_beaglebone-yocto ?= "f990fd0ce123aa6035042efad09b2ddc3e7d48f4"
-SRCREV_machine_mpc8315e-rdb ?= "670ce7e9db627d0c2067cfdb571ddc1f117818d8"
-
-COMPATIBLE_MACHINE_genericx86 = "genericx86"
-COMPATIBLE_MACHINE_genericx86-64 = "genericx86-64"
-COMPATIBLE_MACHINE_edgerouter = "edgerouter"
-COMPATIBLE_MACHINE_beaglebone-yocto = "beaglebone-yocto"
-COMPATIBLE_MACHINE_mpc8315e-rdb = "mpc8315e-rdb"
-
-LINUX_VERSION_genericx86 = "5.0.13"
-LINUX_VERSION_genericx86-64 = "5.0.13"
-LINUX_VERSION_edgerouter = "5.0.13"
-LINUX_VERSION_beaglebone-yocto = "5.0.13"
-LINUX_VERSION_mpc8315e-rdb = "5.0.13"
diff --git a/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.2.bbappend b/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.2.bbappend
new file mode 100644
index 0000000000..b7cefd25ca
--- /dev/null
+++ b/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.2.bbappend
@@ -0,0 +1,27 @@
+KBRANCH_genericx86 = "v5.2/standard/base"
+KBRANCH_genericx86-64 = "v5.2/standard/base"
+KBRANCH_edgerouter = "v5.2/standard/edgerouter"
+KBRANCH_beaglebone-yocto = "v5.2/standard/beaglebone"
+KBRANCH_mpc8315e-rdb = "v5.2/standard/fsl-mpc8315e-rdb"
+
+KMACHINE_genericx86 ?= "common-pc"
+KMACHINE_genericx86-64 ?= "common-pc-64"
+KMACHINE_beaglebone-yocto ?= "beaglebone"
+
+SRCREV_machine_genericx86 ?= "77c28ea0e55cabb0b22b47d4eb2cc94b0940dfe6"
+SRCREV_machine_genericx86-64 ?= "35276d20c01a78ee3640a074446b0c15c486c5d0"
+SRCREV_machine_edgerouter ?= "35276d20c01a78ee3640a074446b0c15c486c5d0"
+SRCREV_machine_beaglebone-yocto ?= "77c28ea0e55cabb0b22b47d4eb2cc94b0940dfe6"
+SRCREV_machine_mpc8315e-rdb ?= "cae01d71ef67eaafec75ce24f49b038b705b8711"
+
+COMPATIBLE_MACHINE_genericx86 = "genericx86"
+COMPATIBLE_MACHINE_genericx86-64 = "genericx86-64"
+COMPATIBLE_MACHINE_edgerouter = "edgerouter"
+COMPATIBLE_MACHINE_beaglebone-yocto = "beaglebone-yocto"
+COMPATIBLE_MACHINE_mpc8315e-rdb = "mpc8315e-rdb"
+
+LINUX_VERSION_genericx86 = "5.2.10"
+LINUX_VERSION_genericx86-64 = "5.2.10"
+LINUX_VERSION_edgerouter = "5.2.10"
+LINUX_VERSION_beaglebone-yocto = "5.2.10"
+LINUX_VERSION_mpc8315e-rdb = "5.2.10"
diff --git a/poky/meta/classes/archiver.bbclass b/poky/meta/classes/archiver.bbclass
index af9f010dfc..13b05bb5f2 100644
--- a/poky/meta/classes/archiver.bbclass
+++ b/poky/meta/classes/archiver.bbclass
@@ -78,6 +78,9 @@ python () {
bb.debug(1, 'archiver: %s is excluded, covered by gcc-source' % pn)
return
+ def hasTask(task):
+ return bool(d.getVarFlag(task, "task", False)) and not bool(d.getVarFlag(task, "noexec", False))
+
ar_src = d.getVarFlag('ARCHIVER_MODE', 'src')
ar_dumpdata = d.getVarFlag('ARCHIVER_MODE', 'dumpdata')
ar_recipe = d.getVarFlag('ARCHIVER_MODE', 'recipe')
@@ -98,9 +101,6 @@ python () {
# There is a corner case with "gcc-source-${PV}" recipes, they don't have
# the "do_configure" task, so we need to use "do_preconfigure"
- def hasTask(task):
- return bool(d.getVarFlag(task, "task", False)) and not bool(d.getVarFlag(task, "noexec", False))
-
if hasTask("do_preconfigure"):
d.appendVarFlag('do_ar_configured', 'depends', ' %s:do_preconfigure' % pn)
elif hasTask("do_configure"):
@@ -118,7 +118,11 @@ python () {
# Output the SRPM package
if d.getVarFlag('ARCHIVER_MODE', 'srpm') == "1" and d.getVar('PACKAGES'):
- if "package_rpm" in d.getVar('PACKAGE_CLASSES'):
+ if "package_rpm" not in d.getVar('PACKAGE_CLASSES'):
+ bb.fatal("ARCHIVER_MODE[srpm] needs package_rpm in PACKAGE_CLASSES")
+
+ # Some recipes do not have any packaging tasks
+ if hasTask("do_package_write_rpm"):
d.appendVarFlag('do_deploy_archives', 'depends', ' %s:do_package_write_rpm' % pn)
d.appendVarFlag('do_package_write_rpm', 'dirs', ' ${ARCHIVER_RPMTOPDIR}')
d.appendVarFlag('do_package_write_rpm', 'sstate-inputdirs', ' ${ARCHIVER_RPMTOPDIR}')
@@ -133,8 +137,6 @@ python () {
d.appendVarFlag('do_package_write_rpm', 'depends', ' %s:do_ar_patched' % pn)
elif ar_src == "configured":
d.appendVarFlag('do_package_write_rpm', 'depends', ' %s:do_ar_configured' % pn)
- else:
- bb.fatal("ARCHIVER_MODE[srpm] needs package_rpm in PACKAGE_CLASSES")
}
# Take all the sources for a recipe and puts them in WORKDIR/archiver-work/.
diff --git a/poky/meta/classes/autotools.bbclass b/poky/meta/classes/autotools.bbclass
index 8768a6ad68..3d22ad0255 100644
--- a/poky/meta/classes/autotools.bbclass
+++ b/poky/meta/classes/autotools.bbclass
@@ -25,7 +25,9 @@ inherit siteinfo
# Space separated list of shell scripts with variables defined to supply test
# results for autoconf tests we cannot run at build time.
-export CONFIG_SITE = "${@siteinfo_get_files(d)}"
+# The value of this variable is filled in in a prefunc because it depends on
+# the contents of the sysroot.
+export CONFIG_SITE
acpaths ?= "default"
EXTRA_AUTORECONF = "--exclude=autopoint"
@@ -132,6 +134,8 @@ EXTRACONFFUNCS ??= ""
EXTRA_OECONF_append = " ${PACKAGECONFIG_CONFARGS}"
do_configure[prefuncs] += "autotools_preconfigure autotools_aclocals ${EXTRACONFFUNCS}"
+do_compile[prefuncs] += "autotools_aclocals"
+do_install[prefuncs] += "autotools_aclocals"
do_configure[postfuncs] += "autotools_postconfigure"
ACLOCALDIR = "${STAGING_DATADIR}/aclocal"
@@ -140,7 +144,6 @@ ACLOCALEXTRAPATH_class-target = " -I ${STAGING_DATADIR_NATIVE}/aclocal/"
ACLOCALEXTRAPATH_class-nativesdk = " -I ${STAGING_DATADIR_NATIVE}/aclocal/"
python autotools_aclocals () {
- # Refresh variable with cache files
d.setVar("CONFIG_SITE", siteinfo_get_files(d, sysrootcache=True))
}
diff --git a/poky/meta/classes/icecc.bbclass b/poky/meta/classes/icecc.bbclass
index 78a2f7602d..fc82f8de1a 100644
--- a/poky/meta/classes/icecc.bbclass
+++ b/poky/meta/classes/icecc.bbclass
@@ -73,10 +73,13 @@ ICECC_ENV_DEBUG ??= ""
#
# libgcc-initial - fails with CPP sanity check error if host sysroot contains
# cross gcc built for another target tune/variant
+# systemtap - _HelperSDT.c undefs macros and uses the identifiers in macros emitting
+# inline assembly
# target-sdk-provides-dummy - ${HOST_PREFIX} is empty which triggers the "NULL
# prefix" error.
ICECC_SYSTEM_PACKAGE_BL += "\
libgcc-initial \
+ systemtap \
target-sdk-provides-dummy \
"
diff --git a/poky/meta/classes/image.bbclass b/poky/meta/classes/image.bbclass
index 7fa4ff20bd..f4633da3d5 100644
--- a/poky/meta/classes/image.bbclass
+++ b/poky/meta/classes/image.bbclass
@@ -526,7 +526,7 @@ def get_rootfs_size(d):
base_size = size_kb * overhead_factor
bb.debug(1, '%f = %d * %f' % (base_size, size_kb, overhead_factor))
base_size2 = max(base_size, rootfs_req_size) + rootfs_extra_space
- bb.debug(1, '%f = max(%f, %d)[%f] + %d' % (base_size2, base_size, rootfs_req_size, max(base_size, rootfs_req_size), overhead_factor))
+ bb.debug(1, '%f = max(%f, %d)[%f] + %d' % (base_size2, base_size, rootfs_req_size, max(base_size, rootfs_req_size), rootfs_extra_space))
base_size = base_size2
if base_size != int(base_size):
diff --git a/poky/meta/classes/kernel.bbclass b/poky/meta/classes/kernel.bbclass
index bf3674238f..ebcb79a528 100644
--- a/poky/meta/classes/kernel.bbclass
+++ b/poky/meta/classes/kernel.bbclass
@@ -96,8 +96,10 @@ python __anonymous () {
d.setVar('ALLOW_EMPTY_%s-image-%s' % (kname, typelower), '1')
image = d.getVar('INITRAMFS_IMAGE')
- image_bundle = d.getVar('INITRAMFS_IMAGE_BUNDLE')
- if image and bb.utils.to_boolean(image_bundle, False):
+ # If the INTIRAMFS_IMAGE is set but the INITRAMFS_IMAGE_BUNDLE is set to 0,
+ # the do_bundle_initramfs does nothing, but the INITRAMFS_IMAGE is built
+ # standalone for use by wic and other tools.
+ if image:
d.appendVarFlag('do_bundle_initramfs', 'depends', ' ${INITRAMFS_IMAGE}:do_image_complete')
# NOTE: setting INITRAMFS_TASK is for backward compatibility
diff --git a/poky/meta/classes/package.bbclass b/poky/meta/classes/package.bbclass
index 114d6559f5..aa8451ffe8 100644
--- a/poky/meta/classes/package.bbclass
+++ b/poky/meta/classes/package.bbclass
@@ -1646,7 +1646,8 @@ python package_do_shlibs() {
prov = (this_soname, ldir, pkgver)
if not prov in sonames:
# if library is private (only used by package) then do not build shlib for it
- if not private_libs or this_soname not in private_libs:
+ import fnmatch
+ if not private_libs or len([i for i in private_libs if fnmatch.fnmatch(this_soname, i)]) == 0:
sonames.add(prov)
if libdir_re.match(os.path.dirname(file)):
needs_ldconfig = True
@@ -1829,7 +1830,8 @@ python package_do_shlibs() {
# /opt/abc/lib/libfoo.so.1 and contains /usr/bin/abc depending on system library libfoo.so.1
# but skipping it is still better alternative than providing own
# version and then adding runtime dependency for the same system library
- if private_libs and n[0] in private_libs:
+ import fnmatch
+ if private_libs and len([i for i in private_libs if fnmatch.fnmatch(n[0], i)]) > 0:
bb.debug(2, '%s: Dependency %s covered by PRIVATE_LIBS' % (pkg, n[0]))
continue
if n[0] in shlib_provider.keys():
diff --git a/poky/meta/classes/python3native.bbclass b/poky/meta/classes/python3native.bbclass
index a3acaf61bb..d98fb4c758 100644
--- a/poky/meta/classes/python3native.bbclass
+++ b/poky/meta/classes/python3native.bbclass
@@ -9,6 +9,14 @@ DEPENDS_append = " python3-native "
export STAGING_INCDIR
export STAGING_LIBDIR
+# Packages can use
+# find_package(PythonInterp REQUIRED)
+# find_package(PythonLibs REQUIRED)
+# which ends up using libs/includes from build host
+# Therefore pre-empt that effort
+export PYTHON_LIBRARY="${STAGING_LIBDIR}/lib${PYTHON_DIR}${PYTHON_ABI}.so"
+export PYTHON_INCLUDE_DIR="${STAGING_INCDIR}/${PYTHON_DIR}${PYTHON_ABI}"
+
export _PYTHON_SYSCONFIGDATA_NAME="_sysconfigdata"
# suppress host user's site-packages dirs.
diff --git a/poky/meta/classes/pythonnative.bbclass b/poky/meta/classes/pythonnative.bbclass
index ae6600cd15..0e9019d1e2 100644
--- a/poky/meta/classes/pythonnative.bbclass
+++ b/poky/meta/classes/pythonnative.bbclass
@@ -12,6 +12,14 @@ DEPENDS_append = " python-native "
export STAGING_INCDIR
export STAGING_LIBDIR
+# Packages can use
+# find_package(PythonInterp REQUIRED)
+# find_package(PythonLibs REQUIRED)
+# which ends up using libs/includes from build host
+# Therefore pre-empt that effort
+export PYTHON_LIBRARY="${STAGING_LIBDIR}/lib${PYTHON_DIR}${PYTHON_ABI}.so"
+export PYTHON_INCLUDE_DIR="${STAGING_INCDIR}/${PYTHON_DIR}${PYTHON_ABI}"
+
# suppress host user's site-packages dirs.
export PYTHONNOUSERSITE = "1"
diff --git a/poky/meta/classes/rm_work.bbclass b/poky/meta/classes/rm_work.bbclass
index c478f4a187..a6bd3f719f 100644
--- a/poky/meta/classes/rm_work.bbclass
+++ b/poky/meta/classes/rm_work.bbclass
@@ -121,7 +121,7 @@ do_rm_work_all () {
}
do_rm_work_all[recrdeptask] = "do_rm_work"
do_rm_work_all[noexec] = "1"
-addtask rm_work_all after before do_build
+addtask rm_work_all before do_build
do_populate_sdk[postfuncs] += "rm_work_populatesdk"
rm_work_populatesdk () {
diff --git a/poky/meta/classes/rootfs-postcommands.bbclass b/poky/meta/classes/rootfs-postcommands.bbclass
index 6cec23ef1a..fc338161c4 100644
--- a/poky/meta/classes/rootfs-postcommands.bbclass
+++ b/poky/meta/classes/rootfs-postcommands.bbclass
@@ -95,6 +95,11 @@ read_only_rootfs_hook () {
sed -i -e '/^[#[:space:]]*\/dev\/root/{s/defaults/ro/;s/\([[:space:]]*[[:digit:]]\)\([[:space:]]*\)[[:digit:]]$/\1\20/}' ${IMAGE_ROOTFS}/etc/fstab
fi
+ # Tweak the "mount -o remount,rw /" command in busybox-inittab inittab
+ if [ -f ${IMAGE_ROOTFS}/etc/inittab ]; then
+ sed -i 's|/bin/mount -o remount,rw /|/bin/mount -o remount,ro /|' ${IMAGE_ROOTFS}/etc/inittab
+ fi
+
# If we're using openssh and the /etc/ssh directory has no pre-generated keys,
# we should configure openssh to use the configuration file /etc/ssh/sshd_config_readonly
# and the keys under /var/run/ssh.
diff --git a/poky/meta/classes/staging.bbclass b/poky/meta/classes/staging.bbclass
index cdc342dbb9..55a9b52ed2 100644
--- a/poky/meta/classes/staging.bbclass
+++ b/poky/meta/classes/staging.bbclass
@@ -197,7 +197,7 @@ def staging_populate_sysroot_dir(targetsysroot, nativesysroot, native, d):
for pkgarch in pkgarchs:
for manifest in glob.glob(d.expand("${SSTATE_MANIFESTS}/manifest-%s-*.populate_sysroot" % pkgarch)):
if manifest.endswith("-initial.populate_sysroot"):
- # skip glibc-initial and libgcc-initial due to file overlap
+ # skip libgcc-initial due to file overlap
continue
if not native and (manifest.endswith("-native.populate_sysroot") or "nativesdk-" in manifest):
continue
diff --git a/poky/meta/conf/bitbake.conf b/poky/meta/conf/bitbake.conf
index 1311e6b5fd..a0a7f4911e 100644
--- a/poky/meta/conf/bitbake.conf
+++ b/poky/meta/conf/bitbake.conf
@@ -360,12 +360,6 @@ CACHE = "${TMPDIR}/cache${@['', '/' + str(d.getVar('MACHINE'))][bool(d.getVar('M
# The persistent cache should be shared by all builds
PERSISTENT_DIR = "${TOPDIR}/cache"
LOG_DIR = "${TMPDIR}/log"
-CO_DIR = "${DL_DIR}"
-CVSDIR = "${CO_DIR}/cvs"
-SVNDIR = "${CO_DIR}/svn"
-GITDIR = "${CO_DIR}/git2"
-BZRDIR = "${CO_DIR}/bzr"
-HGDIR = "${CO_DIR}/hg"
STAMPS_DIR ?= "${TMPDIR}/stamps"
STAMP = "${STAMPS_DIR}/${MULTIMACH_TARGET_SYS}/${PN}/${EXTENDPE}${PV}-${PR}"
@@ -676,12 +670,6 @@ SRC_URI[vardepsexclude] += "\
# export DEBIAN_MIRROR = "http://ftp.de.debian.org/debian/pool"
# into your local.conf
-FETCHCMD_svn = "/usr/bin/env svn --non-interactive --trust-server-cert"
-FETCHCMD_cvs = "/usr/bin/env cvs"
-FETCHCMD_wget = "/usr/bin/env wget -t 2 -T 30 --passive-ftp --no-check-certificate"
-FETCHCMD_bzr = "/usr/bin/env bzr"
-FETCHCMD_hg = "/usr/bin/env hg"
-
SRCDATE = "${DATE}"
SRCREV ??= "INVALID"
AUTOREV = "${@bb.fetch2.get_autorev(d)}"
diff --git a/poky/meta/conf/distro/defaultsetup.conf b/poky/meta/conf/distro/defaultsetup.conf
index 9b1ee20aaa..66fd246526 100644
--- a/poky/meta/conf/distro/defaultsetup.conf
+++ b/poky/meta/conf/distro/defaultsetup.conf
@@ -1,7 +1,6 @@
include conf/distro/include/default-providers.inc
include conf/distro/include/default-versions.inc
include conf/distro/include/default-distrovars.inc
-include conf/distro/include/world-broken.inc
include conf/distro/include/maintainers.inc
TCMODE ?= "default"
diff --git a/poky/meta/conf/distro/include/default-providers.inc b/poky/meta/conf/distro/include/default-providers.inc
index 8f4d44d884..ea88bd4876 100644
--- a/poky/meta/conf/distro/include/default-providers.inc
+++ b/poky/meta/conf/distro/include/default-providers.inc
@@ -5,6 +5,8 @@ PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xorg"
PREFERRED_PROVIDER_virtual/xserver-xf86 ?= "xserver-xorg"
PREFERRED_PROVIDER_virtual/egl ?= "mesa"
PREFERRED_PROVIDER_virtual/libgl ?= "mesa"
+PREFERRED_PROVIDER_virtual/libgl-native ?= "mesa-native"
+PREFERRED_PROVIDER_virtual/nativesdk-libgl ?= "nativesdk-mesa"
PREFERRED_PROVIDER_virtual/libgles1 ?= "mesa"
PREFERRED_PROVIDER_virtual/libgles2 ?= "mesa"
PREFERRED_PROVIDER_virtual/mesa ?= "mesa"
diff --git a/poky/meta/conf/distro/include/distro_alias.inc b/poky/meta/conf/distro/include/distro_alias.inc
index ab6ebdb899..e314642b9c 100644
--- a/poky/meta/conf/distro/include/distro_alias.inc
+++ b/poky/meta/conf/distro/include/distro_alias.inc
@@ -43,9 +43,6 @@ DISTRO_PN_ALIAS_pn-core-image-base = "OE-Core"
DISTRO_PN_ALIAS_pn-core-image-clutter = "OE-Core"
DISTRO_PN_ALIAS_pn-core-image-full-cmdline = "OE-Core"
DISTRO_PN_ALIAS_pn-core-image-kernel-dev = "OE-Core"
-DISTRO_PN_ALIAS_pn-core-image-lsb = "OE-Core"
-DISTRO_PN_ALIAS_pn-core-image-lsb-dev = "OE-Core"
-DISTRO_PN_ALIAS_pn-core-image-lsb-sdk = "OE-Core"
DISTRO_PN_ALIAS_pn-core-image-minimal = "OE-Core"
DISTRO_PN_ALIAS_pn-core-image-minimal-dev = "OE-Core"
DISTRO_PN_ALIAS_pn-core-image-minimal-initramfs = "OE-Core"
@@ -80,8 +77,6 @@ DISTRO_PN_ALIAS_pn-docbook-xml-dtd4-native = "Ubuntu=docbook-xml Fedora=docbook-
DISTRO_PN_ALIAS_pn-docbook-xsl-stylesheets = "Fedora=docbook-xsl-stylesheets Opensuse=docbook-xsl-stylesheets"
DISTRO_PN_ALIAS_pn-dropbear = "Debian=dropbear Ubuntu=dropbear"
DISTRO_PN_ALIAS_pn-dtc = "Fedora=dtc Ubuntu=dtc"
-DISTRO_PN_ALIAS_pn-eglinfo-fb = "OE-Core"
-DISTRO_PN_ALIAS_pn-eglinfo-x11 = "OE-Core"
DISTRO_PN_ALIAS_pn-encodings = "Ubuntu=xfonts-encodings Mandriva=x11-font-encodings Debian=xfonts-encodings"
DISTRO_PN_ALIAS_pn-font-alias = "Fedora=xorg-x11-fonts-base Mandriva=x11-font-alias Meego=xorg-x11-fonts"
DISTRO_PN_ALIAS_pn-font-util = "Meego=xorg-x11-font-utils Fedora=xorg-x11-font-utils Ubuntu=xfonts-utils Mandriva=x11-font-util Debian=xfonts-utils"
@@ -202,8 +197,6 @@ DISTRO_PN_ALIAS_pn-linux-libc-headers-yocto = "Debian=linux-kernel-headers Ubunt
DISTRO_PN_ALIAS_pn-linux-yocto = "Debian=linux-base Ubuntu=linux"
DISTRO_PN_ALIAS_pn-linux-yocto-rt = "Debian=linux-base Ubuntu=linux"
DISTRO_PN_ALIAS_pn-linux-yocto-tiny = "OSPDT"
-DISTRO_PN_ALIAS_pn-lsbinitscripts = "Windriver"
-DISTRO_PN_ALIAS_pn-lsbtest = "Windriver"
DISTRO_PN_ALIAS_pn-ltp = "Mandriva=ltp Ubuntu=ltp"
DISTRO_PN_ALIAS_pn-lttng-modules = "OSPDT upstream=http://lttng.org/"
DISTRO_PN_ALIAS_pn-lttng-tools = "OSPDT upstream=http://lttng.org/"
@@ -265,7 +258,6 @@ DISTRO_PN_ALIAS_pn-packagegroup-core-clutter = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-core-device-devel = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-core-eclipse-debug = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-core-full-cmdline = "OE-Core"
-DISTRO_PN_ALIAS_pn-packagegroup-core-lsb = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-core-nfs = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-core-sdk = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-core-ssh-dropbear = "OE-Core"
diff --git a/poky/meta/conf/distro/include/maintainers.inc b/poky/meta/conf/distro/include/maintainers.inc
index 6a2308d13c..5f21f98b2b 100644
--- a/poky/meta/conf/distro/include/maintainers.inc
+++ b/poky/meta/conf/distro/include/maintainers.inc
@@ -66,6 +66,7 @@ RECIPE_MAINTAINER_pn-bind = "Armin Kuster "
RECIPE_MAINTAINER_pn-binutils = "Khem Raj "
RECIPE_MAINTAINER_pn-binutils-cross-${TARGET_ARCH} = "Khem Raj "
RECIPE_MAINTAINER_pn-binutils-cross-canadian-${TRANSLATED_TARGET_ARCH} = "Khem Raj "
+RECIPE_MAINTAINER_pn-binutils-cross-testsuite = "Khem Raj "
RECIPE_MAINTAINER_pn-binutils-crosssdk-${SDK_SYS} = "Khem Raj "
RECIPE_MAINTAINER_pn-bison = "Chen Qi "
RECIPE_MAINTAINER_pn-bjam-native = "Alexander Kanavin "
@@ -114,8 +115,6 @@ RECIPE_MAINTAINER_pn-core-image-full-cmdline = "Richard Purdie "
-RECIPE_MAINTAINER_pn-core-image-lsb-sdk = "Richard Purdie "
RECIPE_MAINTAINER_pn-core-image-testmaster-initramfs = "Richard Purdie "
RECIPE_MAINTAINER_pn-core-image-testmaster = "Richard Purdie "
RECIPE_MAINTAINER_pn-core-image-clutter = "Richard Purdie "
@@ -144,6 +143,7 @@ RECIPE_MAINTAINER_pn-dbus-glib = "Chen Qi "
RECIPE_MAINTAINER_pn-dbus-test = "Chen Qi "
RECIPE_MAINTAINER_pn-dbus-wait = "Chen Qi "
RECIPE_MAINTAINER_pn-debianutils = "Yi Zhao "
+RECIPE_MAINTAINER_pn-dejagnu = "Nathan Rossi "
RECIPE_MAINTAINER_pn-depmodwrapper-cross = "Mark Hatle "
RECIPE_MAINTAINER_pn-desktop-file-utils = "Alexander Kanavin "
RECIPE_MAINTAINER_pn-dhcp = "Hongxu Jia "
@@ -165,9 +165,6 @@ RECIPE_MAINTAINER_pn-e2fsprogs = "Robert Yang "
RECIPE_MAINTAINER_pn-ed = "Alexander Kanavin "
RECIPE_MAINTAINER_pn-efivar = "Ross Burton "
RECIPE_MAINTAINER_pn-efibootmgr = "Ross Burton "
-RECIPE_MAINTAINER_pn-eglinfo-fb = "Alexander Kanavin "
-RECIPE_MAINTAINER_pn-eglinfo-x11 = "Alexander Kanavin "
-RECIPE_MAINTAINER_pn-eglinfo-wayland = "Alexander Kanavin "
RECIPE_MAINTAINER_pn-elfutils = "Hongxu Jia "
RECIPE_MAINTAINER_pn-ell = "Oleksandr Kravchuk "
RECIPE_MAINTAINER_pn-enchant = "Anuj Mittal "
@@ -217,10 +214,10 @@ RECIPE_MAINTAINER_pn-glew = "Anuj Mittal "
RECIPE_MAINTAINER_pn-glib-2.0 = "Anuj Mittal "
RECIPE_MAINTAINER_pn-glib-networking = "Anuj Mittal "
RECIPE_MAINTAINER_pn-glibc = "Khem Raj "
-RECIPE_MAINTAINER_pn-glibc-initial = "Khem Raj "
RECIPE_MAINTAINER_pn-glibc-locale = "Khem Raj "
RECIPE_MAINTAINER_pn-glibc-mtrace = "Khem Raj "
RECIPE_MAINTAINER_pn-glibc-scripts = "Khem Raj "
+RECIPE_MAINTAINER_pn-glibc-testsuite = "Khem Raj "
RECIPE_MAINTAINER_pn-glide = "Otavio Salvador "
RECIPE_MAINTAINER_pn-gmp = "Khem Raj "
RECIPE_MAINTAINER_pn-gnome-desktop-testing = "Ross Burton "
@@ -455,9 +452,7 @@ RECIPE_MAINTAINER_pn-linux-yocto-tiny = "Bruce Ashfield "
-RECIPE_MAINTAINER_pn-lsbinitscripts = "Ross Burton "
-RECIPE_MAINTAINER_pn-lsbtest = "Yi Zhao "
+RECIPE_MAINTAINER_pn-lsb-release = "Hongxu Jia "
RECIPE_MAINTAINER_pn-lsof = "Ross Burton "
RECIPE_MAINTAINER_pn-ltp = "Yi Zhao "
RECIPE_MAINTAINER_pn-lttng-modules = "Richard Purdie "
diff --git a/poky/meta/conf/distro/include/security_flags.inc b/poky/meta/conf/distro/include/security_flags.inc
index 620978a8ed..aaf04e9e59 100644
--- a/poky/meta/conf/distro/include/security_flags.inc
+++ b/poky/meta/conf/distro/include/security_flags.inc
@@ -36,7 +36,7 @@ SECURITY_CFLAGS_remove_powerpc = "${SECURITY_PIE_CFLAGS}"
SECURITY_CFLAGS_pn-libgcc_powerpc = ""
SECURITY_CFLAGS_pn-glibc = ""
-SECURITY_CFLAGS_pn-glibc-initial = ""
+SECURITY_CFLAGS_pn-glibc-testsuite = ""
SECURITY_CFLAGS_pn-gcc-runtime = ""
SECURITY_CFLAGS_pn-grub = ""
SECURITY_CFLAGS_pn-grub-efi = ""
@@ -60,7 +60,7 @@ TARGET_LDFLAGS_append_class-target = " ${SECURITY_LDFLAGS}"
SECURITY_STACK_PROTECTOR_pn-gcc-runtime = ""
SECURITY_STACK_PROTECTOR_pn-glibc = ""
-SECURITY_STACK_PROTECTOR_pn-glibc-initial = ""
+SECURITY_STACK_PROTECTOR_pn-glibc-testsuite = ""
# All xorg module drivers need to be linked this way as well and are
# handled in recipes-graphics/xorg-driver/xorg-driver-common.inc
SECURITY_LDFLAGS_pn-xserver-xorg = "${SECURITY_X_LDFLAGS}"
diff --git a/poky/meta/conf/distro/include/tcmode-default.inc b/poky/meta/conf/distro/include/tcmode-default.inc
index c89b8e012d..d8f434609b 100644
--- a/poky/meta/conf/distro/include/tcmode-default.inc
+++ b/poky/meta/conf/distro/include/tcmode-default.inc
@@ -14,8 +14,6 @@ PREFERRED_PROVIDER_virtual/${SDK_PREFIX}g++ = "gcc-crosssdk-${SDK_SYS}"
PREFERRED_PROVIDER_virtual/${SDK_PREFIX}compilerlibs = "nativesdk-gcc-runtime"
# Default libc config
-PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-initial = "${TCLIBC}-initial"
-PREFERRED_PROVIDER_virtual/nativesdk-${SDK_PREFIX}libc-initial ?= "nativesdk-glibc-initial"
PREFERRED_PROVIDER_virtual/gettext ??= "gettext"
GCCVERSION ?= "9.%"
@@ -23,7 +21,7 @@ SDKGCCVERSION ?= "${GCCVERSION}"
BINUVERSION ?= "2.32%"
GDBVERSION ?= "8.3%"
GLIBCVERSION ?= "2.30%"
-LINUXLIBCVERSION ?= "5.0%"
+LINUXLIBCVERSION ?= "5.2%"
QEMUVERSION ?= "4.1%"
GOVERSION ?= "1.12%"
# This can not use wildcards like 8.0.% since it is also used in mesa to denote
@@ -62,8 +60,6 @@ PREFERRED_VERSION_glibc-locale ?= "${GLIBCVERSION}"
PREFERRED_VERSION_glibc-mtrace ?= "${GLIBCVERSION}"
PREFERRED_VERSION_glibc-scripts ?= "${GLIBCVERSION}"
PREFERRED_VERSION_nativesdk-glibc ?= "${GLIBCVERSION}"
-PREFERRED_VERSION_glibc-initial ?= "${GLIBCVERSION}"
-PREFERRED_VERSION_nativesdk-glibc-initial ?= "${GLIBCVERSION}"
PREFERRED_VERSION_cross-localedef-native ?= "${GLIBCVERSION}"
PREFERRED_VERSION_qemu ?= "${QEMUVERSION}"
diff --git a/poky/meta/conf/distro/include/world-broken.inc b/poky/meta/conf/distro/include/world-broken.inc
deleted file mode 100644
index 42cacfdf2e..0000000000
--- a/poky/meta/conf/distro/include/world-broken.inc
+++ /dev/null
@@ -1,27 +0,0 @@
-#
-# Exclude known broken packages
-#
-
-# rt-tests needs PI mutex support in libc
-EXCLUDE_FROM_WORLD_pn-rt-tests_libc-musl = "1"
-
-# error: use of undeclared identifier '_STAT_VER'
-EXCLUDE_FROM_WORLD_pn-pseudo_libc-musl = "1"
-
-# error: error.h: No such file or directory
-EXCLUDE_FROM_WORLD_pn-prelink_libc-musl = "1"
-
-# error: obstack.h: No such file or directory
-EXCLUDE_FROM_WORLD_pn-systemtap_libc-musl = "1"
-EXCLUDE_FROM_WORLD_pn-systemtap-uprobes_libc-musl = "1"
-
-# error: a parameter list without types is only allowed in a function definition
-# void (*_function)(sigval_t);
-EXCLUDE_FROM_WORLD_pn-qemu_libc-musl = "1"
-
-# error: format '%s' expects argument of type 'char *', but argument 4 has type 'int' [-Werror=format=]
-# snprintf(buf, size, "%s", strerror_r(err, sbuf, sizeof(sbuf)));
-EXCLUDE_FROM_WORLD_pn-perf_libc-musl = "1"
-
-# error: 'RTLD_NEXT' was not declared in this scope
-EXCLUDE_FROM_WORLD_pn-gcc-sanitizers_libc-musl = "1"
diff --git a/poky/meta/conf/machine/include/arm/feature-arm-thumb.inc b/poky/meta/conf/machine/include/arm/feature-arm-thumb.inc
index 0b47ccad02..bae169da3a 100644
--- a/poky/meta/conf/machine/include/arm/feature-arm-thumb.inc
+++ b/poky/meta/conf/machine/include/arm/feature-arm-thumb.inc
@@ -1,8 +1,6 @@
TUNEVALID[thumb] = "Support Thumb instructions"
-ARM_THUMB_SUFFIX = "${@bb.utils.contains_any('TUNE_FEATURES', 'armv4 armv5 armv6', 't', 't2', d)}"
-
# If the device supports ARM, then respect ARM_THUMB_OPT (which can be "arm" or "thumb")
# If the device doesn't support ARM, then always set "thumb" even when
# some recipe explicitly sets ARM_INSTRUCTION_SET to "arm"
@@ -23,6 +21,11 @@ python () {
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'thumb', ' -m${ARM_M_OPT}', '', d)}"
+ARM_THUMB_SUFFIX = "t2"
+ARM_THUMB_SUFFIX_armv4 = "t"
+ARM_THUMB_SUFFIX_armv5 = "t"
+ARM_THUMB_SUFFIX_armv6 = "t"
+
# Add suffix from ARM_THUMB_SUFFIX only if after all this we still set ARM_M_OPT to thumb
ARMPKGSFX_THUMB .= "${@bb.utils.contains('TUNE_FEATURES', 'thumb', '${ARM_THUMB_SUFFIX}', '', d) if d.getVar('ARM_M_OPT') == 'thumb' else ''}"
diff --git a/poky/meta/conf/machine/include/powerpc/arch-powerpc.inc b/poky/meta/conf/machine/include/powerpc/arch-powerpc.inc
index 9cf6b88fd1..8c0c943044 100644
--- a/poky/meta/conf/machine/include/powerpc/arch-powerpc.inc
+++ b/poky/meta/conf/machine/include/powerpc/arch-powerpc.inc
@@ -8,6 +8,11 @@ DEFAULTTUNE ?= "powerpc"
TUNE_PKGARCH = "${TUNE_PKGARCH_tune-${DEFAULTTUNE}}"
ABIEXTENSION ?= ""
+# Endian
+TUNEVALID[bigendian] = "Use PowerPC Big Endian"
+
+TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "bigendian", " -mbig-endian", " -mlittle-endian", d)}"
+
TUNEVALID[m32] = "Power ELF32 standard ABI"
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'm32', ' -m32', '', d)}"
TUNE_ARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'm32', 'powerpc', '', d)}"
@@ -22,13 +27,24 @@ TARGET_FPU .= "${@bb.utils.contains('TUNE_FEATURES', 'fpu-soft', 'soft', '', d)}
TUNEVALID[altivec] = "Altivec"
# Basic tune definitions
-AVAILTUNES += "powerpc powerpc-nf"
-TUNE_FEATURES_tune-powerpc-nf = "m32 fpu-soft"
+AVAILTUNES += "powerpc powerpc-nf powerpcle powerpcle-nf"
+
+TUNE_FEATURES_tune-powerpc-nf = "m32 fpu-soft bigendian"
BASE_LIB_tune-powerpc-nf = "lib"
TUNE_PKGARCH_tune-powerpc-nf = "powerpc-nf"
PACKAGE_EXTRA_ARCHS_tune-powerpc-nf = "powerpc-nf"
-TUNE_FEATURES_tune-powerpc = "m32 fpu-hard"
+TUNE_FEATURES_tune-powerpc = "m32 fpu-hard bigendian"
BASE_LIB_tune-powerpc = "lib"
TUNE_PKGARCH_tune-powerpc = "powerpc"
PACKAGE_EXTRA_ARCHS_tune-powerpc = "powerpc"
+
+TUNE_FEATURES_tune-powerpcle-nf = "m32 fpu-soft"
+BASE_LIB_tune-powerpcle-nf = "lib"
+TUNE_PKGARCH_tune-powerpcle-nf = "powerpcle-nf"
+PACKAGE_EXTRA_ARCHS_tune-powerpcle-nf = "powerpcle-nf"
+
+TUNE_FEATURES_tune-powerpcle = "m32 fpu-hard"
+BASE_LIB_tune-powerpcle = "lib"
+TUNE_PKGARCH_tune-powerpcle = "powerpcle"
+PACKAGE_EXTRA_ARCHS_tune-powerpcle = "powerpcle"
diff --git a/poky/meta/conf/machine/include/powerpc/arch-powerpc64.inc b/poky/meta/conf/machine/include/powerpc/arch-powerpc64.inc
index d9916d43da..4bc5983087 100644
--- a/poky/meta/conf/machine/include/powerpc/arch-powerpc64.inc
+++ b/poky/meta/conf/machine/include/powerpc/arch-powerpc64.inc
@@ -13,8 +13,14 @@ TUNE_CCARGS .= "${@['', ' -mabi=elfv2']['libc-musl' in d.getVar('OVERRIDES').spl
# user mode qemu doesn't support ppc64
MACHINE_FEATURES_BACKFILL_CONSIDERED_append = " ${@bb.utils.contains('TUNE_FEATURES', 'm64', 'qemu-usermode', '', d)}"
-AVAILTUNES += "powerpc64"
-TUNE_FEATURES_tune-powerpc64 = "m64 fpu-hard"
+AVAILTUNES += "powerpc64 powerpc64le"
+
+TUNE_FEATURES_tune-powerpc64 = "m64 fpu-hard bigendian"
BASE_LIB_tune-powerpc64 = "lib64"
TUNE_PKGARCH_tune-powerpc64 = "powerpc64"
PACKAGE_EXTRA_ARCHS_tune-powerpc64 = "powerpc64"
+
+TUNE_FEATURES_tune-powerpc64le = "m64 fpu-hard"
+BASE_LIB_tune-powerpc64le = "lib64"
+TUNE_PKGARCH_tune-powerpc64le = "powerpc64le"
+PACKAGE_EXTRA_ARCHS_tune-powerpc64le = "powerpc64le"
diff --git a/poky/meta/conf/machine/include/qemuboot-mips.inc b/poky/meta/conf/machine/include/qemuboot-mips.inc
index a5f9ed821f..978820a2e0 100644
--- a/poky/meta/conf/machine/include/qemuboot-mips.inc
+++ b/poky/meta/conf/machine/include/qemuboot-mips.inc
@@ -1,8 +1,7 @@
# For runqemu
IMAGE_CLASSES += "qemuboot"
-QB_MEM = "-m 256"
QB_MACHINE = "-machine malta"
QB_KERNEL_CMDLINE_APPEND = "console=ttyS0 console=tty"
-QB_OPT_APPEND = "-vga cirrus -show-cursor -usb -device usb-tablet"
+QB_OPT_APPEND = "-show-cursor -usb -device usb-tablet"
# Add the 'virtio-rng-pci' device otherwise the guest may run out of entropy
QB_OPT_APPEND += "-object rng-random,filename=/dev/urandom,id=rng0 -device virtio-rng-pci,rng=rng0"
diff --git a/poky/meta/conf/machine/include/qemuboot-x86.inc b/poky/meta/conf/machine/include/qemuboot-x86.inc
index 3931b0f0fb..495418fa04 100644
--- a/poky/meta/conf/machine/include/qemuboot-x86.inc
+++ b/poky/meta/conf/machine/include/qemuboot-x86.inc
@@ -9,7 +9,7 @@ QB_CPU_KVM_x86-64 = "-cpu core2duo"
QB_AUDIO_DRV = "alsa"
QB_AUDIO_OPT = "-soundhw ac97,es1370"
QB_KERNEL_CMDLINE_APPEND = "vga=0 uvesafb.mode_option=${UVESA_MODE} oprofile.timer=1 uvesafb.task_timeout=-1"
-QB_OPT_APPEND = "-vga vmware -show-cursor -usb -device usb-tablet"
+QB_OPT_APPEND = "-show-cursor -usb -device usb-tablet"
# Add the 'virtio-rng-pci' device otherwise the guest may run out of entropy
QB_OPT_APPEND += "-object rng-random,filename=/dev/urandom,id=rng0 -device virtio-rng-pci,rng=rng0"
diff --git a/poky/meta/conf/machine/include/riscv/qemuriscv.inc b/poky/meta/conf/machine/include/riscv/qemuriscv.inc
index f1cb62818b..df35f2808f 100644
--- a/poky/meta/conf/machine/include/riscv/qemuriscv.inc
+++ b/poky/meta/conf/machine/include/riscv/qemuriscv.inc
@@ -11,7 +11,9 @@ KEEPUIMAGE = "no"
SERIAL_CONSOLES ?= "115200;ttyS0 115200;hvc0"
-IMAGE_FSTYPES_append = " ext4"
+IMAGE_FSTYPES += "ext4 wic.qcow2"
+
+WKS_FILE ?= "qemuriscv.wks"
MACHINE_EXTRA_RRECOMMENDS += " kernel-modules"
@@ -24,7 +26,6 @@ UBOOT_ENTRYPOINT_riscv64 = "0x80200000"
# qemuboot options
QB_KERNEL_CMDLINE_APPEND = "earlycon=sbi"
-QB_MEM = "-m 512"
QB_MACHINE = "-machine virt"
QB_DEFAULT_BIOS = "fw_jump.elf"
QB_TAP_OPT = "-netdev tap,id=net0,ifname=@TAP@,script=no,downscript=no"
diff --git a/poky/meta/conf/machine/include/riscv/tune-riscv.inc b/poky/meta/conf/machine/include/riscv/tune-riscv.inc
index 1e3a1081e0..25d0463492 100644
--- a/poky/meta/conf/machine/include/riscv/tune-riscv.inc
+++ b/poky/meta/conf/machine/include/riscv/tune-riscv.inc
@@ -3,16 +3,16 @@ require conf/machine/include/riscv/arch-riscv.inc
TUNEVALID[riscv64] = "Enable 64-bit RISC-V optimizations"
TUNEVALID[riscv32] = "Enable 32-bit RISC-V optimizations"
-TUNEVALID[littleendian] = "Little endian mode"
+TUNEVALID[bigendian] = "Big endian mode"
AVAILTUNES += "riscv64 riscv32"
-TUNE_FEATURES_tune-riscv64 = "riscv64 littleendian"
+TUNE_FEATURES_tune-riscv64 = "riscv64"
TUNE_ARCH_tune-riscv64 = "riscv64"
TUNE_PKGARCH_tune-riscv64 = "riscv64"
PACKAGE_EXTRA_ARCHS_tune-riscv64 = "riscv64"
-TUNE_FEATURES_tune-riscv32 = "riscv32 littleendian"
+TUNE_FEATURES_tune-riscv32 = "riscv32"
TUNE_ARCH_tune-riscv32 = "riscv32"
TUNE_PKGARCH_tune-riscv32 = "riscv32"
PACKAGE_EXTRA_ARCHS_tune-riscv32 = "riscv32"
diff --git a/poky/meta/conf/machine/include/tune-arm1136jf-s.inc b/poky/meta/conf/machine/include/tune-arm1136jf-s.inc
index d883eba7c9..b25995d495 100644
--- a/poky/meta/conf/machine/include/tune-arm1136jf-s.inc
+++ b/poky/meta/conf/machine/include/tune-arm1136jf-s.inc
@@ -6,8 +6,11 @@ TUNEVALID[arm1136jfs] = "Enable arm1136jfs specific processor optimizations"
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'arm1136jfs', ' -mcpu=arm1136jf-s', '', d)}"
MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'arm1136jfs', 'armv6:', '' ,d)}"
-AVAILTUNES += "arm1136jfs"
+AVAILTUNES += "arm1136jfs arm1136jfshf"
ARMPKGARCH_tune-arm1136jfs = "arm1136jfs"
+ARMPKGARCH_tune-arm1136jfshf = "arm1136jfs"
# mcpu is used so don't use armv6 as we don't want march
TUNE_FEATURES_tune-arm1136jfs = "arm arm1136jfs"
+TUNE_FEATURES_tune-arm1136jfshf = "${TUNE_FEATURES_tune-arm1136jfs} callconvention-hard"
PACKAGE_EXTRA_ARCHS_tune-arm1136jfs = "${PACKAGE_EXTRA_ARCHS_tune-armv6} arm1136jfs-vfp"
+PACKAGE_EXTRA_ARCHS_tune-arm1136jfshf = "${PACKAGE_EXTRA_ARCHS_tune-armv6hf} arm1136jfshf-vfp"
diff --git a/poky/meta/conf/machine/include/tune-arm1176jz-s.inc b/poky/meta/conf/machine/include/tune-arm1176jz-s.inc
new file mode 100644
index 0000000000..c741e80521
--- /dev/null
+++ b/poky/meta/conf/machine/include/tune-arm1176jz-s.inc
@@ -0,0 +1,17 @@
+DEFAULTTUNE ?= "arm1176jzs"
+
+require conf/machine/include/arm/arch-armv6.inc
+
+TUNEVALID[arm1176jzs] = "Enable arm1176jzs specific processor optimizations"
+TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'arm1176jzs', ' -mcpu=arm1176jz-s', '', d)}"
+MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'arm1176jzs', 'armv6:', '' ,d)}"
+
+AVAILTUNES += "arm1176jzs"
+ARMPKGARCH_tune-arm1176jzs = "arm1176jzs"
+TUNE_FEATURES_tune-arm1176jzs = "arm thumb arm1176jzs"
+PACKAGE_EXTRA_ARCHS_tune-arm1176jzs = "${PACKAGE_EXTRA_ARCHS_tune-armv6tb-novfp} arm1176jzs arm1176jzst"
+
+AVAILTUNES += "arm1176jzs-be"
+ARMPKGARCH_tune-arm1176jzs-be = "${ARMPKGARCH_tune-arm1176jzs}"
+TUNE_FEATURES_tune-arm1176jzs-be = "${TUNE_FEATURES_tune-arm1176jzs} bigendian"
+PACKAGE_EXTRA_ARCHS_tune-arm1176jzs-be = "${PACKAGE_EXTRA_ARCHS_tune-armv6tb-novfp} arm1176jzsb arm1176jzstb"
diff --git a/poky/meta/conf/machine/include/tune-ep9312.inc b/poky/meta/conf/machine/include/tune-ep9312.inc
index 4d92821628..be20eb363b 100644
--- a/poky/meta/conf/machine/include/tune-ep9312.inc
+++ b/poky/meta/conf/machine/include/tune-ep9312.inc
@@ -2,7 +2,7 @@ DEFAULTTUNE ?= "ep9312"
require conf/machine/include/arm/arch-armv4.inc
-TUNEVALID[ep9312] = "Enable Intel PXA27x specific processor optimizations"
+TUNEVALID[ep9312] = "Enable Cirrus Logic EP9312 specific processor optimizations"
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'ep9312', ' -march=ep9312 -mcpu=ep9312', '', d)}"
MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'ep9312', 'armv4:', '' ,d)}"
diff --git a/poky/meta/conf/machine/include/tune-power5.inc b/poky/meta/conf/machine/include/tune-power5.inc
index 39501bd8c5..48c33fb273 100644
--- a/poky/meta/conf/machine/include/tune-power5.inc
+++ b/poky/meta/conf/machine/include/tune-power5.inc
@@ -6,12 +6,12 @@ TUNEVALID[power5] = "Enable IBM Power5 specific processor optimizations"
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'power5', ' -mcpu=power5', '', d)}"
AVAILTUNES += "ppcp5 ppc64p5"
-TUNE_FEATURES_tune-ppcp5 = "m32 fpu-hard power5 altivec"
+TUNE_FEATURES_tune-ppcp5 = "m32 fpu-hard power5 altivec bigendian"
BASE_LIB_tune-ppcp5 = "lib"
TUNE_PKGARCH_tune-ppcp5 = "ppcp5"
PACKAGE_EXTRA_ARCHS_tune-ppcp5 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc} ppcp5"
-TUNE_FEATURES_tune-ppc64p5 = "m64 fpu-hard power5 altivec"
+TUNE_FEATURES_tune-ppc64p5 = "m64 fpu-hard power5 altivec bigendian"
BASE_LIB_tune-ppc64p5 = "lib64"
TUNE_PKGARCH_tune-ppc64p5 = "ppc64p5"
PACKAGE_EXTRA_ARCHS_tune-ppc64p5 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc64} ppc64p5"
diff --git a/poky/meta/conf/machine/include/tune-power6.inc b/poky/meta/conf/machine/include/tune-power6.inc
index 1d5e8ecc26..b708660217 100644
--- a/poky/meta/conf/machine/include/tune-power6.inc
+++ b/poky/meta/conf/machine/include/tune-power6.inc
@@ -6,12 +6,12 @@ TUNEVALID[power6] = "Enable IBM Power6 specific processor optimizations"
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'power6', ' -mcpu=power6', '', d)}"
AVAILTUNES += "ppcp6 ppc64p6"
-TUNE_FEATURES_tune-ppcp6 = "m32 fpu-hard power6 altivec"
+TUNE_FEATURES_tune-ppcp6 = "m32 fpu-hard power6 altivec bigendian"
BASE_LIB_tune-ppcp6 = "lib"
TUNE_PKGARCH_tune-ppcp6 = "ppcp6"
PACKAGE_EXTRA_ARCHS_tune-ppcp6 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc} ppcp6"
-TUNE_FEATURES_tune-ppc64p6 = "m64 fpu-hard power6 altivec"
+TUNE_FEATURES_tune-ppc64p6 = "m64 fpu-hard power6 altivec bigendian"
BASE_LIB_tune-ppc64p6 = "lib64"
TUNE_PKGARCH_tune-ppc64p6 = "ppc64p6"
PACKAGE_EXTRA_ARCHS_tune-ppc64p6 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc64} ppc64p6"
diff --git a/poky/meta/conf/machine/include/tune-power7.inc b/poky/meta/conf/machine/include/tune-power7.inc
index 8f3f037ebb..e976cc0467 100644
--- a/poky/meta/conf/machine/include/tune-power7.inc
+++ b/poky/meta/conf/machine/include/tune-power7.inc
@@ -6,12 +6,12 @@ TUNEVALID[power7] = "Enable IBM Power7 specific processor optimizations"
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'power7', ' -mcpu=power7', '', d)}"
AVAILTUNES += "ppcp7 ppc64p7"
-TUNE_FEATURES_tune-ppcp7 = "m32 fpu-hard power7 altivec"
+TUNE_FEATURES_tune-ppcp7 = "m32 fpu-hard power7 altivec bigendian"
BASE_LIB_tune-ppcp7 = "lib"
TUNE_PKGARCH_tune-ppcp7 = "ppcp7"
PACKAGE_EXTRA_ARCHS_tune-ppcp7 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc} ppcp7"
-TUNE_FEATURES_tune-ppc64p7 = "m64 fpu-hard power7 altivec"
+TUNE_FEATURES_tune-ppc64p7 = "m64 fpu-hard power7 altivec bigendian"
BASE_LIB_tune-ppc64p7 = "lib64"
TUNE_PKGARCH_tune-ppc64p7 = "ppc64p7"
PACKAGE_EXTRA_ARCHS_tune-ppc64p7 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc64} ppc64p7"
diff --git a/poky/meta/conf/machine/include/tune-ppc476.inc b/poky/meta/conf/machine/include/tune-ppc476.inc
index d0011ff213..31eecc435c 100644
--- a/poky/meta/conf/machine/include/tune-ppc476.inc
+++ b/poky/meta/conf/machine/include/tune-ppc476.inc
@@ -6,7 +6,7 @@ TUNEVALID[ppc476] = "Enable ppc476 specific processor optimizations"
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'ppc476', ' -mcpu=476', '', d)}"
AVAILTUNES += "ppc476"
-TUNE_FEATURES_tune-ppc476 = "m32 fpu-hard ppc476"
+TUNE_FEATURES_tune-ppc476 = "m32 fpu-hard ppc476 bigendian"
TUNE_PKGARCH_tune-ppc476 = "ppc476"
PACKAGE_EXTRA_ARCHS_tune-ppc476 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc} ppc476"
diff --git a/poky/meta/conf/machine/include/tune-ppc603e.inc b/poky/meta/conf/machine/include/tune-ppc603e.inc
index 13f60dd067..b110f13870 100644
--- a/poky/meta/conf/machine/include/tune-ppc603e.inc
+++ b/poky/meta/conf/machine/include/tune-ppc603e.inc
@@ -6,7 +6,7 @@ TUNEVALID[ppc603e] = "Enable ppc603e specific processor optimizations"
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'ppc603e', ' -mcpu=603e', '', d)}"
AVAILTUNES += "ppc603e"
-TUNE_FEATURES_tune-ppc603e = "m32 fpu-hard ppc603e"
+TUNE_FEATURES_tune-ppc603e = "m32 fpu-hard ppc603e bigendian"
TUNE_PKGARCH_tune-ppc603e = "ppc603e"
PACKAGE_EXTRA_ARCHS_tune-ppc603e = "${PACKAGE_EXTRA_ARCHS_tune-powerpc} ppc603e"
diff --git a/poky/meta/conf/machine/include/tune-ppc7400.inc b/poky/meta/conf/machine/include/tune-ppc7400.inc
index 425e8bd215..92d902994b 100644
--- a/poky/meta/conf/machine/include/tune-ppc7400.inc
+++ b/poky/meta/conf/machine/include/tune-ppc7400.inc
@@ -6,7 +6,7 @@ TUNEVALID[ppc7400] = "Enable ppc7400 specific processor optimizations"
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'ppc7400', ' -mcpu=7400 -mno-spe', '', d)}"
AVAILTUNES += "ppc7400"
-TUNE_FEATURES_tune-ppc7400 = "m32 fpu-hard ppc7400 altivec"
+TUNE_FEATURES_tune-ppc7400 = "m32 fpu-hard ppc7400 altivec bigendian"
TUNE_PKGARCH_tune-ppc7400 = "ppc7400"
PACKAGE_EXTRA_ARCHS_tune-ppc7400 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc} ppc7400"
diff --git a/poky/meta/conf/machine/include/tune-ppce300c2.inc b/poky/meta/conf/machine/include/tune-ppce300c2.inc
index af21f601a8..6adeb4bdec 100644
--- a/poky/meta/conf/machine/include/tune-ppce300c2.inc
+++ b/poky/meta/conf/machine/include/tune-ppce300c2.inc
@@ -6,6 +6,6 @@ TUNEVALID[ppce300c2] = "Enable ppce300c2 specific processor optimizations"
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'ppce300c2', ' -mcpu=e300c2', '', d)}"
AVAILTUNES += "ppce300c2"
-TUNE_FEATURES_tune-ppce300c2 = "m32 fpu-soft ppce300c2"
+TUNE_FEATURES_tune-ppce300c2 = "m32 fpu-soft ppce300c2 bigendian"
TUNE_PKGARCH_tune-ppce300c2 = "ppce300c2"
PACKAGE_EXTRA_ARCHS_tune-ppce300c2 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc-nf} ppce300c2"
diff --git a/poky/meta/conf/machine/include/tune-ppce500.inc b/poky/meta/conf/machine/include/tune-ppce500.inc
index 89ec3f38a7..abf81b90c4 100644
--- a/poky/meta/conf/machine/include/tune-ppce500.inc
+++ b/poky/meta/conf/machine/include/tune-ppce500.inc
@@ -15,6 +15,6 @@ SPEABIEXTENSION = "${@bb.utils.filter('TUNE_FEATURES', 'spe', d)}"
ABIEXTENSION .= "${SPEABIEXTENSION}"
AVAILTUNES += "ppce500"
-TUNE_FEATURES_tune-ppce500 = "m32 spe ppce500"
+TUNE_FEATURES_tune-ppce500 = "m32 spe ppce500 bigendian"
TUNE_PKGARCH_tune-ppce500 = "ppce500"
PACKAGE_EXTRA_ARCHS_tune-ppce500 = "ppce500"
diff --git a/poky/meta/conf/machine/include/tune-ppce500mc.inc b/poky/meta/conf/machine/include/tune-ppce500mc.inc
index bc26a0f875..9f8a172804 100644
--- a/poky/meta/conf/machine/include/tune-ppce500mc.inc
+++ b/poky/meta/conf/machine/include/tune-ppce500mc.inc
@@ -6,7 +6,7 @@ TUNEVALID[ppce500mc] = "Enable ppce500mc specific processor optimizations"
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'ppce500mc', ' -mcpu=e500mc', '', d)}"
AVAILTUNES += "ppce500mc"
-TUNE_FEATURES_tune-ppce500mc = "m32 fpu-hard ppce500mc"
+TUNE_FEATURES_tune-ppce500mc = "m32 fpu-hard ppce500mc bigendian"
TUNE_PKGARCH_tune-ppce500mc = "ppce500mc"
PACKAGE_EXTRA_ARCHS_tune-ppce500mc = "${PACKAGE_EXTRA_ARCHS_tune-powerpc} ppce500mc"
diff --git a/poky/meta/conf/machine/include/tune-ppce500v2.inc b/poky/meta/conf/machine/include/tune-ppce500v2.inc
index d318bba361..f6c7c17623 100644
--- a/poky/meta/conf/machine/include/tune-ppce500v2.inc
+++ b/poky/meta/conf/machine/include/tune-ppce500v2.inc
@@ -15,6 +15,6 @@ SPEABIEXTENSION = "${@bb.utils.filter('TUNE_FEATURES', 'spe', d)}"
ABIEXTENSION .= "${SPEABIEXTENSION}"
AVAILTUNES += "ppce500v2"
-TUNE_FEATURES_tune-ppce500v2 = "m32 ppce500v2"
+TUNE_FEATURES_tune-ppce500v2 = "m32 ppce500v2 bigendian"
TUNE_PKGARCH_tune-ppce500v2 = "ppce500v2"
PACKAGE_EXTRA_ARCHS_tune-ppce500v2 = "ppce500v2"
diff --git a/poky/meta/conf/machine/include/tune-ppce5500.inc b/poky/meta/conf/machine/include/tune-ppce5500.inc
index cebb244068..acc6a50fca 100644
--- a/poky/meta/conf/machine/include/tune-ppce5500.inc
+++ b/poky/meta/conf/machine/include/tune-ppce5500.inc
@@ -6,12 +6,12 @@ TUNEVALID[e5500] = "Enable Freescale e5500 specific processor optimizations"
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'e5500', ' -mcpu=e5500', '', d)}"
AVAILTUNES += "ppce5500 ppc64e5500"
-TUNE_FEATURES_tune-ppce5500 = "m32 fpu-hard e5500"
+TUNE_FEATURES_tune-ppce5500 = "m32 fpu-hard e5500 bigendian"
BASE_LIB_tune-ppce5500 = "lib"
TUNE_PKGARCH_tune-ppce5500 = "ppce5500"
PACKAGE_EXTRA_ARCHS_tune-ppce5500 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc} ppce5500"
-TUNE_FEATURES_tune-ppc64e5500 = "m64 fpu-hard e5500"
+TUNE_FEATURES_tune-ppc64e5500 = "m64 fpu-hard e5500 bigendian"
BASE_LIB_tune-ppc64e5500 = "lib64"
TUNE_PKGARCH_tune-ppc64e5500 = "ppc64e5500"
PACKAGE_EXTRA_ARCHS_tune-ppc64e5500 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc64} ppc64e5500"
diff --git a/poky/meta/conf/machine/include/tune-ppce6500.inc b/poky/meta/conf/machine/include/tune-ppce6500.inc
index 5db7e760c3..d12d218d06 100644
--- a/poky/meta/conf/machine/include/tune-ppce6500.inc
+++ b/poky/meta/conf/machine/include/tune-ppce6500.inc
@@ -6,12 +6,12 @@ TUNEVALID[e6500] = "Enable Freescale e6500 specific processor optimizations"
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'e6500', ' -mcpu=e6500', '', d)}"
AVAILTUNES += "ppce6500 ppc64e6500"
-TUNE_FEATURES_tune-ppce6500 = "m32 fpu-hard e6500 altivec"
+TUNE_FEATURES_tune-ppce6500 = "m32 fpu-hard e6500 altivec bigendian"
BASE_LIB_tune-ppce6500 = "lib"
TUNE_PKGARCH_tune-ppce6500 = "ppce6500"
PACKAGE_EXTRA_ARCHS_tune-ppce6500 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc} ppce6500"
-TUNE_FEATURES_tune-ppc64e6500 = "m64 fpu-hard e6500 altivec"
+TUNE_FEATURES_tune-ppc64e6500 = "m64 fpu-hard e6500 altivec bigendian"
BASE_LIB_tune-ppc64e6500 = "lib64"
TUNE_PKGARCH_tune-ppc64e6500 = "ppc64e6500"
PACKAGE_EXTRA_ARCHS_tune-ppc64e6500 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc64} ppc64e6500"
diff --git a/poky/meta/conf/machine/include/x86-base.inc b/poky/meta/conf/machine/include/x86-base.inc
index 686f938233..0227f3c289 100644
--- a/poky/meta/conf/machine/include/x86-base.inc
+++ b/poky/meta/conf/machine/include/x86-base.inc
@@ -18,7 +18,7 @@ SERIAL_CONSOLES ?= "115200;ttyS0"
# kernel-related variables
#
PREFERRED_PROVIDER_virtual/kernel ??= "linux-yocto"
-PREFERRED_VERSION_linux-yocto ??= "5.0%"
+PREFERRED_VERSION_linux-yocto ??= "5.2%"
#
# XSERVER subcomponents, used to build the XSERVER variable
diff --git a/poky/meta/conf/machine/qemuarm.conf b/poky/meta/conf/machine/qemuarm.conf
index 0a2c995312..26f40b1419 100644
--- a/poky/meta/conf/machine/qemuarm.conf
+++ b/poky/meta/conf/machine/qemuarm.conf
@@ -11,7 +11,6 @@ SERIAL_CONSOLES ?= "115200;ttyAMA0 115200;hvc0"
# For runqemu
QB_SYSTEM_NAME = "qemu-system-arm"
-QB_MEM = "-m 512"
QB_MACHINE = "-machine virt"
QB_CPU = "-cpu cortex-a15"
# Standard Serial console
diff --git a/poky/meta/conf/machine/qemuarm64.conf b/poky/meta/conf/machine/qemuarm64.conf
index 353ac927d9..ec2a887bdd 100644
--- a/poky/meta/conf/machine/qemuarm64.conf
+++ b/poky/meta/conf/machine/qemuarm64.conf
@@ -11,7 +11,6 @@ SERIAL_CONSOLES ?= "115200;ttyAMA0 115200;hvc0"
# For runqemu
QB_SYSTEM_NAME = "qemu-system-aarch64"
-QB_MEM = "-m 512"
QB_MACHINE = "-machine virt"
QB_CPU = "-cpu cortex-a57"
QB_CPU_KVM = "-cpu host"
diff --git a/poky/meta/conf/machine/qemuarmv5.conf b/poky/meta/conf/machine/qemuarmv5.conf
index 1c21d3342d..fb4789fdac 100644
--- a/poky/meta/conf/machine/qemuarmv5.conf
+++ b/poky/meta/conf/machine/qemuarmv5.conf
@@ -17,7 +17,7 @@ QB_KERNEL_CMDLINE_APPEND = "console=ttyAMA0,115200 console=tty"
QB_OPT_APPEND = "-show-cursor -usb -device usb-tablet"
# Add the 'virtio-rng-pci' device otherwise the guest may run out of entropy
QB_OPT_APPEND += "-object rng-random,filename=/dev/urandom,id=rng0 -device virtio-rng-pci,rng=rng0"
-PREFERRED_VERSION_linux-yocto ??= "5.0%"
+PREFERRED_VERSION_linux-yocto ??= "5.2%"
QB_DTB = "${@oe.utils.version_less_or_equal('PREFERRED_VERSION_linux-yocto', '4.7', '', 'zImage-versatile-pb.dtb', d)}"
KMACHINE_qemuarmv5 = "qemuarm"
diff --git a/poky/meta/conf/machine/qemux86-64.conf b/poky/meta/conf/machine/qemux86-64.conf
index 4b50e664e4..648cf2fe8f 100644
--- a/poky/meta/conf/machine/qemux86-64.conf
+++ b/poky/meta/conf/machine/qemux86-64.conf
@@ -18,12 +18,16 @@ KERNEL_IMAGETYPE = "bzImage"
SERIAL_CONSOLES ?= "115200;ttyS0 115200;ttyS1"
+# Install swrast and glx if opengl is in DISTRO_FEATURES and x32 is not in use.
+# This is because gallium swrast driver was found to crash X server on startup in qemu x32.
XSERVER = "xserver-xorg \
- ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'mesa-driver-swrast xserver-xorg-extension-glx', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', \
+ bb.utils.contains('TUNE_FEATURES', 'mx32', '', 'mesa-driver-swrast xserver-xorg-extension-glx', d), '', d)} \
xf86-video-cirrus \
xf86-video-fbdev \
xf86-video-vmware \
xf86-video-modesetting \
+ xf86-video-vesa \
xserver-xorg-module-libint10 \
"
diff --git a/poky/meta/conf/machine/qemux86.conf b/poky/meta/conf/machine/qemux86.conf
index 3832302f07..8e0da82076 100644
--- a/poky/meta/conf/machine/qemux86.conf
+++ b/poky/meta/conf/machine/qemux86.conf
@@ -24,6 +24,7 @@ XSERVER = "xserver-xorg \
xf86-video-fbdev \
xf86-video-vmware \
xf86-video-modesetting \
+ xf86-video-vesa \
xserver-xorg-module-libint10 \
"
diff --git a/poky/meta/files/common-licenses/BSD-2-Clause b/poky/meta/files/common-licenses/BSD-2-Clause
index ade0f34d59..f1917d6b73 100644
--- a/poky/meta/files/common-licenses/BSD-2-Clause
+++ b/poky/meta/files/common-licenses/BSD-2-Clause
@@ -1,13 +1,10 @@
-The FreeBSD Copyright
-
-Copyright 1992-2010 The FreeBSD Project. All rights reserved.
+Copyright
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
-Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
-Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
-THIS SOFTWARE IS PROVIDED BY THE FREEBSD PROJECT ``AS IS`` AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FREEBSD PROJECT OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
-The views and conclusions contained in the software and documentation are those of the authors and should not be interpreted as representing official policies, either expressed or implied, of the FreeBSD Project.
+2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/poky/meta/lib/oe/gpg_sign.py b/poky/meta/lib/oe/gpg_sign.py
index d7624804d5..7634d7ef1d 100644
--- a/poky/meta/lib/oe/gpg_sign.py
+++ b/poky/meta/lib/oe/gpg_sign.py
@@ -6,7 +6,6 @@
import os
import bb
-import oe.utils
import subprocess
import shlex
diff --git a/poky/meta/lib/oeqa/core/context.py b/poky/meta/lib/oeqa/core/context.py
index 68819cc338..14fc6a54f4 100644
--- a/poky/meta/lib/oeqa/core/context.py
+++ b/poky/meta/lib/oeqa/core/context.py
@@ -64,12 +64,12 @@ class OETestContext(object):
setattr(tclass, 'setUpHooker', skipfuncgen('Skip by the command line argument "%s"' % skip))
def loadTests(self, module_paths, modules=[], tests=[],
- modules_manifest="", modules_required=[], filters={}):
+ modules_manifest="", modules_required=[], **kwargs):
if modules_manifest:
modules = self._read_modules_from_manifest(modules_manifest)
self.loader = self.loaderClass(self, module_paths, modules, tests,
- modules_required, filters)
+ modules_required, **kwargs)
self.suites = self.loader.discover()
def runTests(self, processes=None, skips=[]):
diff --git a/poky/meta/lib/oeqa/core/decorator/__init__.py b/poky/meta/lib/oeqa/core/decorator/__init__.py
index 923b218266..1a82518ab6 100644
--- a/poky/meta/lib/oeqa/core/decorator/__init__.py
+++ b/poky/meta/lib/oeqa/core/decorator/__init__.py
@@ -6,6 +6,7 @@
from functools import wraps
from abc import abstractmethod, ABCMeta
+from oeqa.core.utils.misc import strToList
decoratorClasses = set()
@@ -63,12 +64,16 @@ class OETestDiscover(OETestDecorator):
def discover(registry):
return registry['cases']
-class OETestFilter(OETestDecorator):
+def OETestTag(*tags):
+ expandedtags = []
+ for tag in tags:
+ expandedtags += strToList(tag)
+ def decorator(item):
+ if hasattr(item, "__oeqa_testtags"):
+ # do not append, create a new list (to handle classes with inheritance)
+ item.__oeqa_testtags = list(item.__oeqa_testtags) + expandedtags
+ else:
+ item.__oeqa_testtags = expandedtags
+ return item
+ return decorator
- # OETestLoader call it while loading the tests
- # in loadTestsFromTestCase method, it needs to
- # return a bool, True if needs to be filtered.
- # This method must consume the filter used.
- @abstractmethod
- def filtrate(self, filters):
- return False
diff --git a/poky/meta/lib/oeqa/core/decorator/oetag.py b/poky/meta/lib/oeqa/core/decorator/oetag.py
deleted file mode 100644
index 8c31138dac..0000000000
--- a/poky/meta/lib/oeqa/core/decorator/oetag.py
+++ /dev/null
@@ -1,27 +0,0 @@
-#
-# Copyright (C) 2016 Intel Corporation
-#
-# SPDX-License-Identifier: MIT
-#
-
-from . import OETestFilter, registerDecorator
-from oeqa.core.utils.misc import strToList
-
-def _tagFilter(tags, filters):
- return False if set(tags) & set(filters) else True
-
-@registerDecorator
-class OETestTag(OETestFilter):
- attrs = ('oetag',)
-
- def bind(self, registry, case):
- super(OETestTag, self).bind(registry, case)
- self.oetag = strToList(self.oetag, 'oetag')
-
- def filtrate(self, filters):
- if filters.get('oetag'):
- filterx = strToList(filters['oetag'], 'oetag')
- del filters['oetag']
- if _tagFilter(self.oetag, filterx):
- return True
- return False
diff --git a/poky/meta/lib/oeqa/core/loader.py b/poky/meta/lib/oeqa/core/loader.py
index 7fea0585c7..0d7970d49e 100644
--- a/poky/meta/lib/oeqa/core/loader.py
+++ b/poky/meta/lib/oeqa/core/loader.py
@@ -16,7 +16,7 @@ from oeqa.core.utils.test import getSuiteModules, getCaseID
from oeqa.core.exception import OEQATestNotFound
from oeqa.core.case import OETestCase
from oeqa.core.decorator import decoratorClasses, OETestDecorator, \
- OETestFilter, OETestDiscover
+ OETestDiscover
# When loading tests, the unittest framework stores any exceptions and
# displays them only when the run method is called.
@@ -68,7 +68,7 @@ class OETestLoader(unittest.TestLoader):
'_top_level_dir']
def __init__(self, tc, module_paths, modules, tests, modules_required,
- filters, *args, **kwargs):
+ *args, **kwargs):
self.tc = tc
self.modules = _built_modules_dict(modules)
@@ -76,13 +76,7 @@ class OETestLoader(unittest.TestLoader):
self.tests = tests
self.modules_required = modules_required
- self.filters = filters
- self.decorator_filters = [d for d in decoratorClasses if \
- issubclass(d, OETestFilter)]
- self._validateFilters(self.filters, self.decorator_filters)
- self.used_filters = [d for d in self.decorator_filters
- for f in self.filters
- if f in d.attrs]
+ self.tags_filter = kwargs.get("tags_filter", None)
if isinstance(module_paths, str):
module_paths = [module_paths]
@@ -104,28 +98,6 @@ class OETestLoader(unittest.TestLoader):
setattr(testCaseClass, 'td', self.tc.td)
setattr(testCaseClass, 'logger', self.tc.logger)
- def _validateFilters(self, filters, decorator_filters):
- # Validate if filter isn't empty
- for key,value in filters.items():
- if not value:
- raise TypeError("Filter %s specified is empty" % key)
-
- # Validate unique attributes
- attr_filters = [attr for clss in decorator_filters \
- for attr in clss.attrs]
- dup_attr = [attr for attr in attr_filters
- if attr_filters.count(attr) > 1]
- if dup_attr:
- raise TypeError('Detected duplicated attribute(s) %s in filter'
- ' decorators' % ' ,'.join(dup_attr))
-
- # Validate if filter is supported
- for f in filters:
- if f not in attr_filters:
- classes = ', '.join([d.__name__ for d in decorator_filters])
- raise TypeError('Found "%s" filter but not declared in any of '
- '%s decorators' % (f, classes))
-
def _registerTestCase(self, case):
case_id = case.id()
self.tc._registry['cases'][case_id] = case
@@ -188,19 +160,20 @@ class OETestLoader(unittest.TestLoader):
return True
# Decorator filters
- if self.filters and isinstance(case, OETestCase):
- filters = self.filters.copy()
- case_decorators = [cd for cd in case.decorators
- if cd.__class__ in self.used_filters]
-
- # Iterate over case decorators to check if needs to be filtered.
- for cd in case_decorators:
- if cd.filtrate(filters):
- return True
-
- # Case is missing one or more decorators for all the filters
- # being used, so filter test case.
- if filters:
+ if self.tags_filter is not None and callable(self.tags_filter):
+ alltags = set()
+ # pull tags from the case class
+ if hasattr(case, "__oeqa_testtags"):
+ for t in getattr(case, "__oeqa_testtags"):
+ alltags.add(t)
+ # pull tags from the method itself
+ if hasattr(case, test_name):
+ method = getattr(case, test_name)
+ if hasattr(method, "__oeqa_testtags"):
+ for t in getattr(method, "__oeqa_testtags"):
+ alltags.add(t)
+
+ if self.tags_filter(alltags):
return True
return False
diff --git a/poky/meta/lib/oeqa/core/runner.py b/poky/meta/lib/oeqa/core/runner.py
index 930620ea19..f656e1a9c5 100644
--- a/poky/meta/lib/oeqa/core/runner.py
+++ b/poky/meta/lib/oeqa/core/runner.py
@@ -43,6 +43,7 @@ class OETestResult(_TestResult):
self.starttime = {}
self.endtime = {}
self.progressinfo = {}
+ self.extraresults = {}
# Inject into tc so that TestDepends decorator can see results
tc.results = self
@@ -129,19 +130,51 @@ class OETestResult(_TestResult):
return 'UNKNOWN', None
- def addSuccess(self, test):
+ def extractExtraResults(self, test, details = None):
+ extraresults = None
+ if details is not None and "extraresults" in details:
+ extraresults = details.get("extraresults", {})
+ elif hasattr(test, "extraresults"):
+ extraresults = test.extraresults
+
+ if extraresults is not None:
+ for k, v in extraresults.items():
+ # handle updating already existing entries (e.g. ptestresults.sections)
+ if k in self.extraresults:
+ self.extraresults[k].update(v)
+ else:
+ self.extraresults[k] = v
+
+ def addError(self, test, *args, details = None):
+ self.extractExtraResults(test, details = details)
+ return super(OETestResult, self).addError(test, *args)
+
+ def addFailure(self, test, *args, details = None):
+ self.extractExtraResults(test, details = details)
+ return super(OETestResult, self).addFailure(test, *args)
+
+ def addSuccess(self, test, details = None):
#Added so we can keep track of successes too
self.successes.append((test, None))
- super(OETestResult, self).addSuccess(test)
+ self.extractExtraResults(test, details = details)
+ return super(OETestResult, self).addSuccess(test)
+
+ def addExpectedFailure(self, test, *args, details = None):
+ self.extractExtraResults(test, details = details)
+ return super(OETestResult, self).addExpectedFailure(test, *args)
+
+ def addUnexpectedSuccess(self, test, details = None):
+ self.extractExtraResults(test, details = details)
+ return super(OETestResult, self).addUnexpectedSuccess(test)
def logDetails(self, json_file_dir=None, configuration=None, result_id=None,
dump_streams=False):
self.tc.logger.info("RESULTS:")
- result = {}
+ result = self.extraresults
logs = {}
if hasattr(self.tc, "extraresults"):
- result = self.tc.extraresults
+ result.update(self.tc.extraresults)
for case_name in self.tc._registry['cases']:
case = self.tc._registry['cases'][case_name]
@@ -205,23 +238,20 @@ class OETestRunner(_TestRunner):
self._walked_cases = self._walked_cases + 1
def _list_tests_name(self, suite):
- from oeqa.core.decorator.oetag import OETestTag
-
self._walked_cases = 0
def _list_cases(logger, case):
- oetag = None
-
- if hasattr(case, 'decorators'):
- for d in case.decorators:
- if isinstance(d, OETestTag):
- oetag = d.oetag
-
- logger.info("%s\t\t%s" % (oetag, case.id()))
+ oetags = []
+ if hasattr(case, '__oeqa_testtags'):
+ oetags = getattr(case, '__oeqa_testtags')
+ if oetags:
+ logger.info("%s (%s)" % (case.id(), ",".join(oetags)))
+ else:
+ logger.info("%s" % (case.id()))
self.tc.logger.info("Listing all available tests:")
self._walked_cases = 0
- self.tc.logger.info("id\ttag\t\ttest")
+ self.tc.logger.info("test (tags)")
self.tc.logger.info("-" * 80)
self._walk_suite(suite, _list_cases)
self.tc.logger.info("-" * 80)
diff --git a/poky/meta/lib/oeqa/core/tests/cases/data.py b/poky/meta/lib/oeqa/core/tests/cases/data.py
index 0d8de87ae7..61f88547f7 100644
--- a/poky/meta/lib/oeqa/core/tests/cases/data.py
+++ b/poky/meta/lib/oeqa/core/tests/cases/data.py
@@ -5,7 +5,7 @@
#
from oeqa.core.case import OETestCase
-from oeqa.core.decorator.oetag import OETestTag
+from oeqa.core.decorator import OETestTag
from oeqa.core.decorator.data import OETestDataDepends
class DataTest(OETestCase):
diff --git a/poky/meta/lib/oeqa/core/tests/cases/oetag.py b/poky/meta/lib/oeqa/core/tests/cases/oetag.py
index 4e1d080985..52f97dfda6 100644
--- a/poky/meta/lib/oeqa/core/tests/cases/oetag.py
+++ b/poky/meta/lib/oeqa/core/tests/cases/oetag.py
@@ -5,10 +5,9 @@
#
from oeqa.core.case import OETestCase
-from oeqa.core.decorator.oetag import OETestTag
+from oeqa.core.decorator import OETestTag
class TagTest(OETestCase):
-
@OETestTag('goodTag')
def testTagGood(self):
self.assertTrue(True, msg='How is this possible?')
@@ -17,5 +16,23 @@ class TagTest(OETestCase):
def testTagOther(self):
self.assertTrue(True, msg='How is this possible?')
+ @OETestTag('otherTag', 'multiTag')
+ def testTagOtherMulti(self):
+ self.assertTrue(True, msg='How is this possible?')
+
def testTagNone(self):
self.assertTrue(True, msg='How is this possible?')
+
+@OETestTag('classTag')
+class TagClassTest(OETestCase):
+ @OETestTag('otherTag')
+ def testTagOther(self):
+ self.assertTrue(True, msg='How is this possible?')
+
+ @OETestTag('otherTag', 'multiTag')
+ def testTagOtherMulti(self):
+ self.assertTrue(True, msg='How is this possible?')
+
+ def testTagNone(self):
+ self.assertTrue(True, msg='How is this possible?')
+
diff --git a/poky/meta/lib/oeqa/core/tests/common.py b/poky/meta/lib/oeqa/core/tests/common.py
index 39efd504c0..88cc758ad3 100644
--- a/poky/meta/lib/oeqa/core/tests/common.py
+++ b/poky/meta/lib/oeqa/core/tests/common.py
@@ -30,9 +30,9 @@ class TestBase(unittest.TestCase):
directory = os.path.dirname(os.path.abspath(__file__))
self.cases_path = os.path.join(directory, 'cases')
- def _testLoader(self, d={}, modules=[], tests=[], filters={}):
+ def _testLoader(self, d={}, modules=[], tests=[], **kwargs):
from oeqa.core.context import OETestContext
tc = OETestContext(d, self.logger)
tc.loadTests(self.cases_path, modules=modules, tests=tests,
- filters=filters)
+ **kwargs)
return tc
diff --git a/poky/meta/lib/oeqa/core/tests/test_data.py b/poky/meta/lib/oeqa/core/tests/test_data.py
index 50811bb381..ac74098b78 100755
--- a/poky/meta/lib/oeqa/core/tests/test_data.py
+++ b/poky/meta/lib/oeqa/core/tests/test_data.py
@@ -22,8 +22,9 @@ class TestData(TestBase):
expectedException = "oeqa.core.exception.OEQAMissingVariable"
tc = self._testLoader(modules=self.modules)
- self.assertEqual(False, tc.runTests().wasSuccessful())
- for test, data in tc.errors:
+ results = tc.runTests()
+ self.assertFalse(results.wasSuccessful())
+ for test, data in results.errors:
expect = False
if expectedException in data:
expect = True
@@ -35,8 +36,9 @@ class TestData(TestBase):
d = {'IMAGE' : 'core-image-sato', 'ARCH' : 'arm'}
tc = self._testLoader(d=d, modules=self.modules)
- self.assertEqual(False, tc.runTests().wasSuccessful())
- for test, data in tc.failures:
+ results = tc.runTests()
+ self.assertFalse(results.wasSuccessful())
+ for test, data in results.failures:
expect = False
if expectedError in data:
expect = True
diff --git a/poky/meta/lib/oeqa/core/tests/test_decorators.py b/poky/meta/lib/oeqa/core/tests/test_decorators.py
index 499cd66ff3..b798bf7d33 100755
--- a/poky/meta/lib/oeqa/core/tests/test_decorators.py
+++ b/poky/meta/lib/oeqa/core/tests/test_decorators.py
@@ -14,35 +14,58 @@ setup_sys_path()
from oeqa.core.exception import OEQADependency
from oeqa.core.utils.test import getCaseMethod, getSuiteCasesNames, getSuiteCasesIDs
-class TestFilterDecorator(TestBase):
-
- def _runFilterTest(self, modules, filters, expect, msg):
- tc = self._testLoader(modules=modules, filters=filters)
- test_loaded = set(getSuiteCasesNames(tc.suites))
- self.assertEqual(expect, test_loaded, msg=msg)
+class TestTagDecorator(TestBase):
+ def _runTest(self, modules, filterfn, expect):
+ tc = self._testLoader(modules = modules, tags_filter = filterfn)
+ test_loaded = set(getSuiteCasesIDs(tc.suites))
+ self.assertEqual(expect, test_loaded)
def test_oetag(self):
- # Get all cases without filtering.
- filter_all = {}
- test_all = {'testTagGood', 'testTagOther', 'testTagNone'}
- msg_all = 'Failed to get all oetag cases without filtering.'
-
- # Get cases with 'goodTag'.
- filter_good = {'oetag':'goodTag'}
- test_good = {'testTagGood'}
- msg_good = 'Failed to get just one test filtering with "goodTag" oetag.'
-
- # Get cases with an invalid tag.
- filter_invalid = {'oetag':'invalidTag'}
- test_invalid = set()
- msg_invalid = 'Failed to filter all test using an invalid oetag.'
-
- tests = ((filter_all, test_all, msg_all),
- (filter_good, test_good, msg_good),
- (filter_invalid, test_invalid, msg_invalid))
-
- for test in tests:
- self._runFilterTest(['oetag'], test[0], test[1], test[2])
+ # get all cases without any filtering
+ self._runTest(['oetag'], None, {
+ 'oetag.TagTest.testTagGood',
+ 'oetag.TagTest.testTagOther',
+ 'oetag.TagTest.testTagOtherMulti',
+ 'oetag.TagTest.testTagNone',
+ 'oetag.TagClassTest.testTagOther',
+ 'oetag.TagClassTest.testTagOtherMulti',
+ 'oetag.TagClassTest.testTagNone',
+ })
+
+ # exclude any case with tags
+ self._runTest(['oetag'], lambda tags: tags, {
+ 'oetag.TagTest.testTagNone',
+ })
+
+ # exclude any case with otherTag
+ self._runTest(['oetag'], lambda tags: "otherTag" in tags, {
+ 'oetag.TagTest.testTagGood',
+ 'oetag.TagTest.testTagNone',
+ 'oetag.TagClassTest.testTagNone',
+ })
+
+ # exclude any case with classTag
+ self._runTest(['oetag'], lambda tags: "classTag" in tags, {
+ 'oetag.TagTest.testTagGood',
+ 'oetag.TagTest.testTagOther',
+ 'oetag.TagTest.testTagOtherMulti',
+ 'oetag.TagTest.testTagNone',
+ })
+
+ # include any case with classTag
+ self._runTest(['oetag'], lambda tags: "classTag" not in tags, {
+ 'oetag.TagClassTest.testTagOther',
+ 'oetag.TagClassTest.testTagOtherMulti',
+ 'oetag.TagClassTest.testTagNone',
+ })
+
+ # include any case with classTag or no tags
+ self._runTest(['oetag'], lambda tags: tags and "classTag" not in tags, {
+ 'oetag.TagTest.testTagNone',
+ 'oetag.TagClassTest.testTagOther',
+ 'oetag.TagClassTest.testTagOtherMulti',
+ 'oetag.TagClassTest.testTagNone',
+ })
class TestDependsDecorator(TestBase):
modules = ['depends']
diff --git a/poky/meta/lib/oeqa/core/tests/test_loader.py b/poky/meta/lib/oeqa/core/tests/test_loader.py
index 519ba96091..cb38ac845e 100755
--- a/poky/meta/lib/oeqa/core/tests/test_loader.py
+++ b/poky/meta/lib/oeqa/core/tests/test_loader.py
@@ -15,31 +15,7 @@ from oeqa.core.exception import OEQADependency
from oeqa.core.utils.test import getSuiteModules, getSuiteCasesIDs
class TestLoader(TestBase):
-
- def test_fail_empty_filter(self):
- filters = {'oetag' : ''}
- expect = 'Filter oetag specified is empty'
- msg = 'Expected TypeError exception for having invalid filter'
- try:
- # Must throw TypeError because empty filter
- tc = self._testLoader(filters=filters)
- self.fail(msg)
- except TypeError as e:
- result = True if expect in str(e) else False
- self.assertTrue(result, msg=msg)
-
- def test_fail_invalid_filter(self):
- filters = {'invalid' : 'good'}
- expect = 'filter but not declared in any of'
- msg = 'Expected TypeError exception for having invalid filter'
- try:
- # Must throw TypeError because invalid filter
- tc = self._testLoader(filters=filters)
- self.fail(msg)
- except TypeError as e:
- result = True if expect in str(e) else False
- self.assertTrue(result, msg=msg)
-
+ @unittest.skip("invalid directory is missing oetag.py")
def test_fail_duplicated_module(self):
cases_path = self.cases_path
invalid_path = os.path.join(cases_path, 'loader', 'invalid')
diff --git a/poky/meta/lib/oeqa/core/utils/concurrencytest.py b/poky/meta/lib/oeqa/core/utils/concurrencytest.py
index 6bf7718863..fa6fa34b0e 100644
--- a/poky/meta/lib/oeqa/core/utils/concurrencytest.py
+++ b/poky/meta/lib/oeqa/core/utils/concurrencytest.py
@@ -21,6 +21,7 @@ import testtools
import threading
import time
import io
+import json
import subunit
from queue import Queue
@@ -28,6 +29,8 @@ from itertools import cycle
from subunit import ProtocolTestCase, TestProtocolClient
from subunit.test_results import AutoTimingTestResultDecorator
from testtools import ThreadsafeForwardingResult, iterate_tests
+from testtools.content import Content
+from testtools.content_type import ContentType
from oeqa.utils.commands import get_test_layer
import bb.utils
@@ -70,6 +73,58 @@ class BBThreadsafeForwardingResult(ThreadsafeForwardingResult):
self.semaphore.release()
super(BBThreadsafeForwardingResult, self)._add_result_with_semaphore(method, test, *args, **kwargs)
+class ProxyTestResult:
+ # a very basic TestResult proxy, in order to modify add* calls
+ def __init__(self, target):
+ self.result = target
+
+ def _addResult(self, method, test, *args, **kwargs):
+ return method(test, *args, **kwargs)
+
+ def addError(self, test, *args, **kwargs):
+ self._addResult(self.result.addError, test, *args, **kwargs)
+
+ def addFailure(self, test, *args, **kwargs):
+ self._addResult(self.result.addFailure, test, *args, **kwargs)
+
+ def addSuccess(self, test, *args, **kwargs):
+ self._addResult(self.result.addSuccess, test, *args, **kwargs)
+
+ def addExpectedFailure(self, test, *args, **kwargs):
+ self._addResult(self.result.addExpectedFailure, test, *args, **kwargs)
+
+ def addUnexpectedSuccess(self, test, *args, **kwargs):
+ self._addResult(self.result.addUnexpectedSuccess, test, *args, **kwargs)
+
+ def __getattr__(self, attr):
+ return getattr(self.result, attr)
+
+class ExtraResultsDecoderTestResult(ProxyTestResult):
+ def _addResult(self, method, test, *args, **kwargs):
+ if "details" in kwargs and "extraresults" in kwargs["details"]:
+ if isinstance(kwargs["details"]["extraresults"], Content):
+ kwargs = kwargs.copy()
+ kwargs["details"] = kwargs["details"].copy()
+ extraresults = kwargs["details"]["extraresults"]
+ data = bytearray()
+ for b in extraresults.iter_bytes():
+ data += b
+ extraresults = json.loads(data.decode())
+ kwargs["details"]["extraresults"] = extraresults
+ return method(test, *args, **kwargs)
+
+class ExtraResultsEncoderTestResult(ProxyTestResult):
+ def _addResult(self, method, test, *args, **kwargs):
+ if hasattr(test, "extraresults"):
+ extras = lambda : [json.dumps(test.extraresults).encode()]
+ kwargs = kwargs.copy()
+ if "details" not in kwargs:
+ kwargs["details"] = {}
+ else:
+ kwargs["details"] = kwargs["details"].copy()
+ kwargs["details"]["extraresults"] = Content(ContentType("application", "json", {'charset': 'utf8'}), extras)
+ return method(test, *args, **kwargs)
+
#
# We have to patch subunit since it doesn't understand how to handle addError
# outside of a running test case. This can happen if classSetUp() fails
@@ -116,7 +171,9 @@ class ConcurrentTestSuite(unittest.TestSuite):
result.threadprogress = {}
for i, (test, testnum) in enumerate(tests):
result.threadprogress[i] = []
- process_result = BBThreadsafeForwardingResult(result, semaphore, i, testnum, totaltests)
+ process_result = BBThreadsafeForwardingResult(
+ ExtraResultsDecoderTestResult(result),
+ semaphore, i, testnum, totaltests)
# Force buffering of stdout/stderr so the console doesn't get corrupted by test output
# as per default in parent code
process_result.buffer = True
@@ -231,7 +288,7 @@ def fork_for_tests(concurrency_num, suite):
# as per default in parent code
subunit_client.buffer = True
subunit_result = AutoTimingTestResultDecorator(subunit_client)
- process_suite.run(subunit_result)
+ process_suite.run(ExtraResultsEncoderTestResult(subunit_result))
if ourpid != os.getpid():
os._exit(0)
if newbuilddir:
diff --git a/poky/meta/lib/oeqa/manual/bsp-hw.json b/poky/meta/lib/oeqa/manual/bsp-hw.json
index 4b7c76f70f..18cec222fc 100644
--- a/poky/meta/lib/oeqa/manual/bsp-hw.json
+++ b/poky/meta/lib/oeqa/manual/bsp-hw.json
@@ -526,7 +526,7 @@
"expected_results": ""
},
"4": {
- "action": "check ping status \n\nNote: This TC apply only for core-image-full-cmd and core-image-lsb .",
+ "action": "check ping status \n\nNote: This TC apply only for core-image-full-cmd.",
"expected_results": "ping should always work before/after standby"
}
},
diff --git a/poky/meta/lib/oeqa/manual/compliance-test.json b/poky/meta/lib/oeqa/manual/compliance-test.json
index 8c13b68ec3..367a416f01 100644
--- a/poky/meta/lib/oeqa/manual/compliance-test.json
+++ b/poky/meta/lib/oeqa/manual/compliance-test.json
@@ -1,34 +1,4 @@
[
- {
- "test": {
- "@alias": "compliance-test.compliance-test.LSB_subset_test_suite",
- "author": [
- {
- "email": "corneliux.stoicescu@intel.com",
- "name": "corneliux.stoicescu@intel.com"
- }
- ],
- "execution": {
- "1": {
- "action": "Get lsd-sdk image and install it on target device or start the image(if it is QEMU) with option \"-m 512M\"",
- "expected_results": ""
- },
- "2": {
- "action": "Comment in /opt/lsb-test/session any tests you don't want to run.",
- "expected_results": ""
- },
- "3": {
- "action": "Run /usr/bin/LSB_Test.sh which should download the LSB suite and set it up. Some packages may fail to download because their location changed on ftp.linuxfoundation.org. You need to manually update /opt/lsb-test/packages_list",
- "expected_results": ""
- },
- "4": {
- "action": "Tests should start automatically, you can use the web interface to reconfigure the setup. ",
- "expected_results": "Check the result on wiki https://wiki.yoctoproject.org/wiki/LSB_Result No regression failures should be met."
- }
- },
- "summary": "LSB_subset_test_suite"
- }
- },
{
"test": {
"@alias": "compliance-test.compliance-test.stress_test_-_Genericx86-64",
@@ -40,7 +10,7 @@
],
"execution": {
"1": {
- "action": "Bootup with core-image-lsb-sdk image",
+ "action": "Bootup with core-image-sato-sdk image",
"expected_results": ""
},
"2": {
diff --git a/poky/meta/lib/oeqa/manual/crops.json b/poky/meta/lib/oeqa/manual/crops.json
index 1cf3c8f30c..5cfa653843 100644
--- a/poky/meta/lib/oeqa/manual/crops.json
+++ b/poky/meta/lib/oeqa/manual/crops.json
@@ -234,16 +234,16 @@
"expected_results": "this should output the directory of the devtool script and it should be within the sdk workdir you are working in. \n\n"
},
"5": {
- "action": "devtool add v4l2loopback-driver https://github.com/umlaeute/v4l2loopback.git \n\n",
- "expected_results": "This should automatically create the recipe v4l2loopback-driver.bb under /recipes/v4l2loopback-driver/v4l2loopback-driver.bb "
+ "action": "devtool add kernel-module-hello-world https://git.yoctoproject.org/git/kernel-module-hello-world \n\n",
+ "expected_results": "This should automatically create the recipe kernel-module-hello-world.bb under /recipes/kernel-module-hello-world/kernel-module-hello-world.bb "
},
"6": {
- "action": "devtool build v4l2loopback-driver \n\n",
+ "action": "devtool build kernel-module-hello-world \n\n",
"expected_results": "This should compile an image \n\n"
},
"7": {
- "action": "devtool reset v4l2loopback-driver ",
- "expected_results": "This cleans sysroot of the v4l2loopback-driver recipe, but it leaves the source tree intact. meaning it does not erase."
+ "action": "devtool reset kernel-module-hello-world ",
+ "expected_results": "This cleans sysroot of the kernel-module-hello-world recipe, but it leaves the source tree intact. meaning it does not erase."
}
},
"summary": "sdkext_devtool_kernelmodule"
@@ -291,4 +291,4 @@
"summary": "sdkext_recipes_for_nodejs"
}
}
-]
\ No newline at end of file
+]
diff --git a/poky/meta/lib/oeqa/manual/toaster-managed-mode.json b/poky/meta/lib/oeqa/manual/toaster-managed-mode.json
index 812f57da34..12374c7c64 100644
--- a/poky/meta/lib/oeqa/manual/toaster-managed-mode.json
+++ b/poky/meta/lib/oeqa/manual/toaster-managed-mode.json
@@ -1494,7 +1494,7 @@
"expected_results": "A type in form appears. \n\n\t"
},
"6": {
- "action": "Change distro (ex: poky-lsb). \n\n\t",
+ "action": "Change distro (ex: poky-tiny). \n\n\t",
"expected_results": "Distro has changed. \n\n\t"
},
"7": {
@@ -1503,7 +1503,7 @@
},
"8": {
"action": " Build a recipe (ex: core-image-minimal) and wait until build finish.",
- "expected_results": "Build finishes successfully. \n\nThe 'success' criteria for this one should be that the build is reported as using the poky-lsb distro in the build summary page, and that the DISTRO variable value in the bitbake variables table is set to the value specified in toaster (poky-lsb again)."
+ "expected_results": "Build finishes successfully. \n\nThe 'success' criteria for this one should be that the build is reported as using the poky-tiny distro in the build summary page, and that the DISTRO variable value in the bitbake variables table is set to the value specified in toaster (poky-tiny again)."
}
},
"summary": "Build_a_recipe_with_different_distro"
@@ -1612,7 +1612,7 @@
"expected_results": ""
},
"3": {
- "action": "Check that the table is populated with the list of image recipes (eg. core-image minimal, core-image-lsb) \n\n\n",
+ "action": "Check that the table is populated with the list of image recipes (eg. core-image minimal) \n\n\n",
"expected_results": ""
},
"4": {
@@ -1670,7 +1670,7 @@
"expected_results": ""
},
"7": {
- "action": "Sort the table by \"Layer\" and then navigate away by selecting an image (such as core-image-lsb). When you click the \"back\" button in the web-browser to go back, the \"New custom image\" table should still be sorted by \"Layer\". \nThis should apply also by navigating back to the page by any other means. \n\n",
+ "action": "Sort the table by \"Layer\" and then navigate away by selecting an image. When you click the \"back\" button in the web-browser to go back, the \"New custom image\" table should still be sorted by \"Layer\". \nThis should apply also by navigating back to the page by any other means. \n\n",
"expected_results": ""
},
"8": {
@@ -2348,7 +2348,7 @@
"expected_results": ""
},
"3": {
- "action": "Build 6 recipes example (core-image-sato, core-image-minimal, core-image-base, core-image-lsb, core-image-clutter) to name a few. ",
+ "action": "Build 6 recipes example (core-image-sato, core-image-minimal, core-image-base, core-image-clutter) to name a few. ",
"expected_results": " All recipes are built correctly \n\n"
},
"4": {
@@ -2382,7 +2382,7 @@
"expected_results": ""
},
"3": {
- "action": "Build 6 recipes example (core-image-sato, core-image-minimal, core-image-base, core-image-lsb, core-image-clutter) to name a few. \n\n",
+ "action": "Build 6 recipes example (core-image-sato, core-image-minimal, core-image-base, core-image-clutter) to name a few. \n\n",
"expected_results": "All recipes are built correctly \n\n"
},
"4": {
@@ -2420,7 +2420,7 @@
"expected_results": ""
},
"3": {
- "action": "Build 4 recipes example (core-image-sato, core-image-minimal, core-image-base, core-image-lsb, core-image-clutter) to name a few. \n\n",
+ "action": "Build 4 recipes example (core-image-sato, core-image-minimal, core-image-base, core-image-clutter) to name a few. \n\n",
"expected_results": " All recipes are built correctly \n\n"
},
"4": {
diff --git a/poky/meta/lib/oeqa/runtime/cases/dnf.py b/poky/meta/lib/oeqa/runtime/cases/dnf.py
index 629b9af3ed..80cc86a4fb 100644
--- a/poky/meta/lib/oeqa/runtime/cases/dnf.py
+++ b/poky/meta/lib/oeqa/runtime/cases/dnf.py
@@ -9,7 +9,7 @@ from oeqa.utils.httpserver import HTTPService
from oeqa.runtime.case import OERuntimeTestCase
from oeqa.core.decorator.depends import OETestDepends
-from oeqa.core.decorator.data import skipIfNotDataVar, skipIfNotFeature
+from oeqa.core.decorator.data import skipIfNotDataVar, skipIfNotFeature, skipIfInDataVar, skipIfNotInDataVar
from oeqa.runtime.decorator.package import OEHasPackage
class DnfTest(OERuntimeTestCase):
@@ -116,6 +116,7 @@ class DnfRepoTest(DnfTest):
self.dnf_with_repo('reinstall -y run-postinsts-dev')
@OETestDepends(['dnf.DnfRepoTest.test_dnf_makecache'])
+ @skipIfInDataVar('DISTRO_FEATURES', 'usrmerge', 'Test run when not enable usrmerge')
def test_dnf_installroot(self):
rootpath = '/home/root/chroot/test'
#Copy necessary files to avoid errors with not yet installed tools on
@@ -140,6 +141,37 @@ class DnfRepoTest(DnfTest):
status, output = self.target.run('test -e %s/bin/busybox' % rootpath, 1500)
self.assertEqual(0, status, output)
+ @OETestDepends(['dnf.DnfRepoTest.test_dnf_makecache'])
+ @skipIfNotInDataVar('DISTRO_FEATURES', 'usrmerge', 'Test run when enable usrmege')
+ def test_dnf_installroot_usrmerge(self):
+ rootpath = '/home/root/chroot/test'
+ #Copy necessary files to avoid errors with not yet installed tools on
+ #installroot directory.
+ self.target.run('mkdir -p %s/etc' % rootpath, 1500)
+ self.target.run('mkdir -p %s/usr/bin %s/usr/sbin' % (rootpath, rootpath), 1500)
+ self.target.run('ln -sf -r %s/usr/bin %s/bin' % (rootpath, rootpath), 1500)
+ self.target.run('ln -sf -r %s/usr/sbin %s/sbin' % (rootpath, rootpath), 1500)
+ self.target.run('mkdir -p %s/dev' % rootpath, 1500)
+ #Handle different architectures lib dirs
+ self.target.run('mkdir -p %s/usr/lib' % rootpath, 1500)
+ self.target.run('mkdir -p %s/usr/libx32' % rootpath, 1500)
+ self.target.run('mkdir -p %s/usr/lib64' % rootpath, 1500)
+ self.target.run('cp /lib/libtinfo.so.5 %s/usr/lib' % rootpath, 1500)
+ self.target.run('cp /libx32/libtinfo.so.5 %s/usr/libx32' % rootpath, 1500)
+ self.target.run('cp /lib64/libtinfo.so.5 %s/usr/lib64' % rootpath, 1500)
+ self.target.run('ln -sf -r %s/lib %s/usr/lib' % (rootpath,rootpath), 1500)
+ self.target.run('ln -sf -r %s/libx32 %s/usr/libx32' % (rootpath,rootpath), 1500)
+ self.target.run('ln -sf -r %s/lib64 %s/usr/lib64' % (rootpath,rootpath), 1500)
+ self.target.run('cp -r /etc/rpm %s/etc' % rootpath, 1500)
+ self.target.run('cp -r /etc/dnf %s/etc' % rootpath, 1500)
+ self.target.run('cp /bin/sh %s/bin' % rootpath, 1500)
+ self.target.run('mount -o bind /dev %s/dev/' % rootpath, 1500)
+ self.dnf_with_repo('install --installroot=%s -v -y --rpmverbosity=debug busybox run-postinsts' % rootpath)
+ status, output = self.target.run('test -e %s/var/cache/dnf' % rootpath, 1500)
+ self.assertEqual(0, status, output)
+ status, output = self.target.run('test -e %s/bin/busybox' % rootpath, 1500)
+ self.assertEqual(0, status, output)
+
@OETestDepends(['dnf.DnfRepoTest.test_dnf_makecache'])
def test_dnf_exclude(self):
excludepkg = 'curl-dev'
diff --git a/poky/meta/lib/oeqa/runtime/cases/oe_syslog.py b/poky/meta/lib/oeqa/runtime/cases/oe_syslog.py
index 3a8271a53a..f3c2bedbaf 100644
--- a/poky/meta/lib/oeqa/runtime/cases/oe_syslog.py
+++ b/poky/meta/lib/oeqa/runtime/cases/oe_syslog.py
@@ -17,7 +17,7 @@ class SyslogTest(OERuntimeTestCase):
msg = "Failed to execute %s" % self.tc.target_cmds['ps']
self.assertEqual(status, 0, msg=msg)
msg = "No syslog daemon process; %s output:\n%s" % (self.tc.target_cmds['ps'], output)
- hasdaemon = "syslogd" in output or "syslog-ng" in output
+ hasdaemon = "syslogd" in output or "syslog-ng" in output or "svlogd" in output
self.assertTrue(hasdaemon, msg=msg)
class SyslogTestConfig(OERuntimeTestCase):
diff --git a/poky/meta/lib/oeqa/runtime/cases/parselogs.py b/poky/meta/lib/oeqa/runtime/cases/parselogs.py
index 19c9c52a0a..15343d7abb 100644
--- a/poky/meta/lib/oeqa/runtime/cases/parselogs.py
+++ b/poky/meta/lib/oeqa/runtime/cases/parselogs.py
@@ -83,6 +83,10 @@ qemux86_common = [
'amd_nb: Cannot enumerate AMD northbridges',
'uvesafb: 5000 ms task timeout, infinitely waiting',
'tsc: HPET/PMTIMER calibration failed',
+ "modeset(0): Failed to initialize the DRI2 extension",
+ "uvesafb: cannot reserve video memory at",
+ "uvesafb: probe of uvesafb.0 failed with error",
+ "glamor initialization failed",
] + common_errors
ignore_errors = {
diff --git a/poky/meta/lib/oeqa/sdkext/cases/devtool.py b/poky/meta/lib/oeqa/sdkext/cases/devtool.py
index 5a02add764..8e92bf8064 100644
--- a/poky/meta/lib/oeqa/sdkext/cases/devtool.py
+++ b/poky/meta/lib/oeqa/sdkext/cases/devtool.py
@@ -73,8 +73,8 @@ class DevtoolTest(OESDKExtTestCase):
self._run('devtool reset %s' % recipe)
def test_devtool_kernelmodule(self):
- docfile = 'https://github.com/umlaeute/v4l2loopback.git'
- recipe = 'v4l2loopback-driver'
+ docfile = 'https://git.yoctoproject.org/git/kernel-module-hello-world'
+ recipe = 'kernel-module-hello-world'
self._run('devtool add %s %s' % (recipe, docfile) )
try:
self._run('devtool build %s' % recipe)
diff --git a/poky/meta/lib/oeqa/selftest/cases/bbtests.py b/poky/meta/lib/oeqa/selftest/cases/bbtests.py
index 0693ba8cf8..8e59bafae3 100644
--- a/poky/meta/lib/oeqa/selftest/cases/bbtests.py
+++ b/poky/meta/lib/oeqa/selftest/cases/bbtests.py
@@ -119,7 +119,7 @@ class BitbakeTests(OESelftestTestCase):
def test_bitbake_g(self):
result = bitbake('-g core-image-minimal')
- for f in ['pn-buildlist', 'recipe-depends.dot', 'task-depends.dot']:
+ for f in ['pn-buildlist', 'task-depends.dot']:
self.addCleanup(os.remove, f)
self.assertTrue('Task dependencies saved to \'task-depends.dot\'' in result.output, msg = "No task dependency \"task-depends.dot\" file was generated for the given task target. bitbake output: %s" % result.output)
self.assertTrue('busybox' in ftools.read_file(os.path.join(self.builddir, 'task-depends.dot')), msg = "No \"busybox\" dependency found in task-depends.dot file.")
diff --git a/poky/meta/lib/oeqa/selftest/cases/binutils.py b/poky/meta/lib/oeqa/selftest/cases/binutils.py
new file mode 100644
index 0000000000..9bc752040f
--- /dev/null
+++ b/poky/meta/lib/oeqa/selftest/cases/binutils.py
@@ -0,0 +1,49 @@
+# SPDX-License-Identifier: MIT
+import os
+import sys
+import re
+import logging
+from oeqa.core.decorator import OETestTag
+from oeqa.selftest.case import OESelftestTestCase
+from oeqa.utils.commands import bitbake, get_bb_var, get_bb_vars
+
+def parse_values(content):
+ for i in content:
+ for v in ["PASS", "FAIL", "XPASS", "XFAIL", "UNRESOLVED", "UNSUPPORTED", "UNTESTED", "ERROR", "WARNING"]:
+ if i.startswith(v + ": "):
+ yield i[len(v) + 2:].strip(), v
+ break
+
+@OETestTag("toolchain-user", "toolchain-system")
+class BinutilsCrossSelfTest(OESelftestTestCase):
+ def test_binutils(self):
+ self.run_binutils("binutils")
+
+ def test_gas(self):
+ self.run_binutils("gas")
+
+ def test_ld(self):
+ self.run_binutils("ld")
+
+ def run_binutils(self, suite):
+ features = []
+ features.append('CHECK_TARGETS = "{0}"'.format(suite))
+ self.write_config("\n".join(features))
+
+ recipe = "binutils-cross-testsuite"
+ bb_vars = get_bb_vars(["B", "TARGET_SYS", "T"], recipe)
+ builddir, target_sys, tdir = bb_vars["B"], bb_vars["TARGET_SYS"], bb_vars["T"]
+
+ bitbake("{0} -c check".format(recipe))
+
+ ptestsuite = "binutils-{}".format(suite) if suite != "binutils" else suite
+ self.extraresults = {"ptestresult.sections" : {ptestsuite : {}}}
+
+ sumspath = os.path.join(builddir, suite, "{0}.sum".format(suite))
+ if not os.path.exists(sumspath):
+ sumspath = os.path.join(builddir, suite, "testsuite", "{0}.sum".format(suite))
+
+ with open(sumspath, "r") as f:
+ for test, result in parse_values(f):
+ self.extraresults["ptestresult.{}.{}".format(ptestsuite, test)] = {"status" : result}
+
diff --git a/poky/meta/lib/oeqa/selftest/cases/gcc.py b/poky/meta/lib/oeqa/selftest/cases/gcc.py
new file mode 100644
index 0000000000..2c25b5904c
--- /dev/null
+++ b/poky/meta/lib/oeqa/selftest/cases/gcc.py
@@ -0,0 +1,139 @@
+# SPDX-License-Identifier: MIT
+import os
+from oeqa.core.decorator import OETestTag
+from oeqa.selftest.case import OESelftestTestCase
+from oeqa.utils.commands import bitbake, get_bb_var, get_bb_vars, runqemu, Command
+
+def parse_values(content):
+ for i in content:
+ for v in ["PASS", "FAIL", "XPASS", "XFAIL", "UNRESOLVED", "UNSUPPORTED", "UNTESTED", "ERROR", "WARNING"]:
+ if i.startswith(v + ": "):
+ yield i[len(v) + 2:].strip(), v
+ break
+
+class GccSelfTestBase(OESelftestTestCase):
+ def check_skip(self, suite):
+ targets = get_bb_var("RUNTIMETARGET", "gcc-runtime").split()
+ if suite not in targets:
+ self.skipTest("Target does not use {0}".format(suite))
+
+ def run_check(self, *suites, ssh = None):
+ targets = set()
+ for s in suites:
+ if s in ["gcc", "g++"]:
+ targets.add("check-gcc")
+ else:
+ targets.add("check-target-{}".format(s))
+
+ # configure ssh target
+ features = []
+ features.append('MAKE_CHECK_TARGETS = "{0}"'.format(" ".join(targets)))
+ if ssh is not None:
+ features.append('TOOLCHAIN_TEST_TARGET = "ssh"')
+ features.append('TOOLCHAIN_TEST_HOST = "{0}"'.format(ssh))
+ features.append('TOOLCHAIN_TEST_HOST_USER = "root"')
+ features.append('TOOLCHAIN_TEST_HOST_PORT = "22"')
+ self.write_config("\n".join(features))
+
+ recipe = "gcc-runtime"
+ bitbake("{} -c check".format(recipe))
+
+ bb_vars = get_bb_vars(["B", "TARGET_SYS"], recipe)
+ builddir, target_sys = bb_vars["B"], bb_vars["TARGET_SYS"]
+
+ self.extraresults = {"ptestresult.sections" : {}}
+ for suite in suites:
+ sumspath = os.path.join(builddir, "gcc", "testsuite", suite, "{0}.sum".format(suite))
+ if not os.path.exists(sumspath): # check in target dirs
+ sumspath = os.path.join(builddir, target_sys, suite, "testsuite", "{0}.sum".format(suite))
+ if not os.path.exists(sumspath): # handle libstdc++-v3 -> libstdc++
+ sumspath = os.path.join(builddir, target_sys, suite, "testsuite", "{0}.sum".format(suite.split("-")[0]))
+
+ ptestsuite = "gcc-{}".format(suite) if suite != "gcc" else suite
+ ptestsuite = ptestsuite + "-user" if ssh is None else ptestsuite
+ self.extraresults["ptestresult.sections"][ptestsuite] = {}
+ with open(sumspath, "r") as f:
+ for test, result in parse_values(f):
+ self.extraresults["ptestresult.{}.{}".format(ptestsuite, test)] = {"status" : result}
+
+ def run_check_emulated(self, *args, **kwargs):
+ # build core-image-minimal with required packages
+ default_installed_packages = ["libgcc", "libstdc++", "libatomic", "libgomp"]
+ features = []
+ features.append('IMAGE_FEATURES += "ssh-server-openssh"')
+ features.append('CORE_IMAGE_EXTRA_INSTALL += "{0}"'.format(" ".join(default_installed_packages)))
+ self.write_config("\n".join(features))
+ bitbake("core-image-minimal")
+
+ # wrap the execution with a qemu instance
+ with runqemu("core-image-minimal", runqemuparams = "nographic") as qemu:
+ # validate that SSH is working
+ status, _ = qemu.run("uname")
+ self.assertEqual(status, 0)
+
+ return self.run_check(*args, ssh=qemu.ip, **kwargs)
+
+@OETestTag("toolchain-user")
+class GccCrossSelfTest(GccSelfTestBase):
+ def test_cross_gcc(self):
+ self.run_check("gcc", "g++")
+
+@OETestTag("toolchain-user")
+class GccLibAtomicSelfTest(GccSelfTestBase):
+ def test_libatomic(self):
+ self.run_check("libatomic")
+
+@OETestTag("toolchain-user")
+class GccLibGompSelfTest(GccSelfTestBase):
+ def test_libgomp(self):
+ self.run_check("libgomp")
+
+@OETestTag("toolchain-user")
+class GccLibStdCxxSelfTest(GccSelfTestBase):
+ def test_libstdcxx(self):
+ self.run_check("libstdc++-v3")
+
+@OETestTag("toolchain-user")
+class GccLibSspSelfTest(GccSelfTestBase):
+ def test_libssp(self):
+ self.check_skip("libssp")
+ self.run_check("libssp")
+
+@OETestTag("toolchain-user")
+class GccLibItmSelfTest(GccSelfTestBase):
+ def test_libitm(self):
+ self.check_skip("libitm")
+ self.run_check("libitm")
+
+@OETestTag("toolchain-system")
+class GccCrossSelfTestSystemEmulated(GccSelfTestBase):
+ def test_cross_gcc(self):
+ self.run_check_emulated("gcc", "g++")
+
+@OETestTag("toolchain-system")
+class GccLibAtomicSelfTestSystemEmulated(GccSelfTestBase):
+ def test_libatomic(self):
+ self.run_check_emulated("libatomic")
+
+@OETestTag("toolchain-system")
+class GccLibGompSelfTestSystemEmulated(GccSelfTestBase):
+ def test_libgomp(self):
+ self.run_check_emulated("libgomp")
+
+@OETestTag("toolchain-system")
+class GccLibStdCxxSelfTestSystemEmulated(GccSelfTestBase):
+ def test_libstdcxx(self):
+ self.run_check_emulated("libstdc++-v3")
+
+@OETestTag("toolchain-system")
+class GccLibSspSelfTestSystemEmulated(GccSelfTestBase):
+ def test_libssp(self):
+ self.check_skip("libssp")
+ self.run_check_emulated("libssp")
+
+@OETestTag("toolchain-system")
+class GccLibItmSelfTestSystemEmulated(GccSelfTestBase):
+ def test_libitm(self):
+ self.check_skip("libitm")
+ self.run_check_emulated("libitm")
+
diff --git a/poky/meta/lib/oeqa/selftest/cases/glibc.py b/poky/meta/lib/oeqa/selftest/cases/glibc.py
new file mode 100644
index 0000000000..2e42485dd6
--- /dev/null
+++ b/poky/meta/lib/oeqa/selftest/cases/glibc.py
@@ -0,0 +1,88 @@
+# SPDX-License-Identifier: MIT
+import os
+import contextlib
+from oeqa.core.decorator import OETestTag
+from oeqa.selftest.case import OESelftestTestCase
+from oeqa.utils.commands import bitbake, get_bb_var, get_bb_vars, runqemu, Command
+from oeqa.utils.nfs import unfs_server
+
+def parse_values(content):
+ for i in content:
+ for v in ["PASS", "FAIL", "XPASS", "XFAIL", "UNRESOLVED", "UNSUPPORTED", "UNTESTED", "ERROR", "WARNING"]:
+ if i.startswith(v + ": "):
+ yield i[len(v) + 2:].strip(), v
+ break
+
+class GlibcSelfTestBase(OESelftestTestCase):
+ def run_check(self, ssh = None):
+ # configure ssh target
+ features = []
+ if ssh is not None:
+ features.append('TOOLCHAIN_TEST_TARGET = "ssh"')
+ features.append('TOOLCHAIN_TEST_HOST = "{0}"'.format(ssh))
+ features.append('TOOLCHAIN_TEST_HOST_USER = "root"')
+ features.append('TOOLCHAIN_TEST_HOST_PORT = "22"')
+ # force single threaded test execution
+ features.append('EGLIBCPARALLELISM_task-check_pn-glibc-testsuite = "PARALLELMFLAGS="-j1""')
+ self.write_config("\n".join(features))
+
+ bitbake("glibc-testsuite -c check")
+
+ builddir = get_bb_var("B", "glibc-testsuite")
+
+ ptestsuite = "glibc-user" if ssh is None else "glibc"
+ self.extraresults = {"ptestresult.sections" : {ptestsuite : {}}}
+ with open(os.path.join(builddir, "tests.sum"), "r") as f:
+ for test, result in parse_values(f):
+ self.extraresults["ptestresult.{}.{}".format(ptestsuite, test)] = {"status" : result}
+
+ def run_check_emulated(self):
+ with contextlib.ExitStack() as s:
+ # use the base work dir, as the nfs mount, since the recipe directory may not exist
+ tmpdir = get_bb_var("BASE_WORKDIR")
+ nfsport, mountport = s.enter_context(unfs_server(tmpdir))
+
+ # build core-image-minimal with required packages
+ default_installed_packages = [
+ "glibc-charmaps",
+ "libgcc",
+ "libstdc++",
+ "libatomic",
+ "libgomp",
+ # "python3",
+ # "python3-pexpect",
+ "nfs-utils",
+ ]
+ features = []
+ features.append('IMAGE_FEATURES += "ssh-server-openssh"')
+ features.append('CORE_IMAGE_EXTRA_INSTALL += "{0}"'.format(" ".join(default_installed_packages)))
+ self.write_config("\n".join(features))
+ bitbake("core-image-minimal")
+
+ # start runqemu
+ qemu = s.enter_context(runqemu("core-image-minimal", runqemuparams = "nographic"))
+
+ # validate that SSH is working
+ status, _ = qemu.run("uname")
+ self.assertEqual(status, 0)
+
+ # setup nfs mount
+ if qemu.run("mkdir -p \"{0}\"".format(tmpdir))[0] != 0:
+ raise Exception("Failed to setup NFS mount directory on target")
+ mountcmd = "mount -o noac,nfsvers=3,port={0},udp,mountport={1} \"{2}:{3}\" \"{3}\"".format(nfsport, mountport, qemu.server_ip, tmpdir)
+ status, output = qemu.run(mountcmd)
+ if status != 0:
+ raise Exception("Failed to setup NFS mount on target ({})".format(repr(output)))
+
+ self.run_check(ssh = qemu.ip)
+
+@OETestTag("toolchain-user")
+class GlibcSelfTest(GlibcSelfTestBase):
+ def test_glibc(self):
+ self.run_check()
+
+@OETestTag("toolchain-system")
+class GlibcSelfTestSystemEmulated(GlibcSelfTestBase):
+ def test_glibc(self):
+ self.run_check_emulated()
+
diff --git a/poky/meta/lib/oeqa/selftest/cases/kerneldevelopment.py b/poky/meta/lib/oeqa/selftest/cases/kerneldevelopment.py
new file mode 100644
index 0000000000..a61876ee61
--- /dev/null
+++ b/poky/meta/lib/oeqa/selftest/cases/kerneldevelopment.py
@@ -0,0 +1,67 @@
+import os
+from oeqa.selftest.case import OESelftestTestCase
+from oeqa.utils.commands import runCmd, get_bb_var
+from oeqa.utils.git import GitRepo
+
+class KernelDev(OESelftestTestCase):
+
+ @classmethod
+ def setUpClass(cls):
+ super(KernelDev, cls).setUpClass()
+ # Create the recipe directory structure inside the created layer
+ cls.layername = 'meta-kerneltest'
+ runCmd('bitbake-layers create-layer %s' % cls.layername)
+ runCmd('mkdir -p %s/recipes-kernel/linux/linux-yocto' % cls.layername)
+ cls.recipes_linuxyocto_dir = os.path.join \
+ (cls.builddir, cls.layername, 'recipes-kernel', 'linux', 'linux-yocto')
+ cls.recipeskernel_dir = os.path.dirname(cls.recipes_linuxyocto_dir)
+ runCmd('bitbake-layers add-layer %s' % cls.layername)
+
+ @classmethod
+ def tearDownClass(cls):
+ runCmd('bitbake-layers remove-layer %s' % cls.layername, ignore_status=True)
+ runCmd('rm -rf %s' % cls.layername)
+ super(KernelDev, cls).tearDownClass()
+
+ def setUp(self):
+ super(KernelDev, self).setUp()
+ self.set_machine_config('MACHINE = "qemux86-64"\n')
+
+ def test_apply_patches(self):
+ """
+ Summary: Able to apply a single patch to the Linux kernel source
+ Expected: The README file should exist and the patch changes should be
+ displayed at the end of the file.
+ Product: Kernel Development
+ Author: Yeoh Ee Peng
+ AutomatedBy: Mazliana Mohamad
+ """
+ runCmd('bitbake virtual/kernel -c patch')
+ kernel_source = get_bb_var('STAGING_KERNEL_DIR')
+ readme = os.path.join(kernel_source, 'README')
+
+ # This test step adds modified file 'README' to git and creates a
+ # patch file '0001-KERNEL_DEV_TEST_CASE.patch' at the same location as file
+ patch_content = 'This is a test to apply a patch to the kernel'
+ with open(readme, 'a+') as f:
+ f.write(patch_content)
+ repo = GitRepo('%s' % kernel_source, is_topdir=True)
+ repo.run_cmd('add %s' % readme)
+ repo.run_cmd(['commit', '-m', 'KERNEL_DEV_TEST_CASE'])
+ repo.run_cmd(['format-patch', '-1'])
+ patch_name = '0001-KERNEL_DEV_TEST_CASE.patch'
+ patchpath = os.path.join(kernel_source, patch_name)
+ runCmd('mv %s %s' % (patchpath, self.recipes_linuxyocto_dir))
+ runCmd('rm %s ' % readme)
+ self.assertFalse(os.path.exists(readme))
+
+ recipe_append = os.path.join(self.recipeskernel_dir, 'linux-yocto_%.bbappend')
+ with open(recipe_append, 'w+') as fh:
+ fh.write('SRC_URI += "file://%s"\n' % patch_name)
+ fh.write('FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"')
+
+ runCmd('bitbake virtual/kernel -c clean')
+ runCmd('bitbake virtual/kernel -c patch')
+ self.assertTrue(os.path.exists(readme))
+ result = runCmd('tail -n 1 %s' % readme)
+ self.assertEqual(result.output, patch_content)
diff --git a/poky/meta/lib/oeqa/selftest/cases/meta_ide.py b/poky/meta/lib/oeqa/selftest/cases/meta_ide.py
index f47bc70917..03901a2f32 100644
--- a/poky/meta/lib/oeqa/selftest/cases/meta_ide.py
+++ b/poky/meta/lib/oeqa/selftest/cases/meta_ide.py
@@ -5,9 +5,11 @@
from oeqa.selftest.case import OESelftestTestCase
from oeqa.sdk.utils.sdkbuildproject import SDKBuildProject
from oeqa.utils.commands import bitbake, get_bb_vars, runCmd
+from oeqa.core.decorator import OETestTag
import tempfile
import shutil
+@OETestTag("machine")
class MetaIDE(OESelftestTestCase):
@classmethod
diff --git a/poky/meta/lib/oeqa/selftest/cases/reproducible.py b/poky/meta/lib/oeqa/selftest/cases/reproducible.py
index 6dc83d2847..eee09d3fb2 100644
--- a/poky/meta/lib/oeqa/selftest/cases/reproducible.py
+++ b/poky/meta/lib/oeqa/selftest/cases/reproducible.py
@@ -8,6 +8,7 @@ from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_bb_vars
import functools
import multiprocessing
import textwrap
+import json
import unittest
MISSING = 'MISSING'
@@ -81,14 +82,12 @@ class ReproducibleTests(OESelftestTestCase):
for v in needed_vars:
setattr(self, v.lower(), bb_vars[v])
- if not hasattr(self.tc, "extraresults"):
- self.tc.extraresults = {}
- self.extras = self.tc.extraresults
-
- self.extras.setdefault('reproducible.rawlogs', {})['log'] = ''
+ self.extrasresults = {}
+ self.extrasresults.setdefault('reproducible.rawlogs', {})['log'] = ''
+ self.extrasresults.setdefault('reproducible', {}).setdefault('files', {})
def append_to_log(self, msg):
- self.extras['reproducible.rawlogs']['log'] += msg
+ self.extrasresults['reproducible.rawlogs']['log'] += msg
def compare_packages(self, reference_dir, test_dir, diffutils_sysroot):
result = PackageCompareResults()
@@ -114,47 +113,70 @@ class ReproducibleTests(OESelftestTestCase):
result.sort()
return result
- @unittest.skip("Reproducible builds do not yet pass")
+ def write_package_list(self, package_class, name, packages):
+ self.extrasresults['reproducible']['files'].setdefault(package_class, {})[name] = [
+ {'reference': p.reference, 'test': p.test} for p in packages]
+
def test_reproducible_builds(self):
capture_vars = ['DEPLOY_DIR_' + c.upper() for c in self.package_classes]
+ # Build native utilities
+ self.write_config('')
+ bitbake("diffutils-native -c addto_recipe_sysroot")
+ diffutils_sysroot = get_bb_var("RECIPE_SYSROOT_NATIVE", "diffutils-native")
+
+ # Reproducible builds should not pull from sstate or mirrors, but
+ # sharing DL_DIR is fine
common_config = textwrap.dedent('''\
INHERIT += "reproducible_build"
PACKAGE_CLASSES = "%s"
+ SSTATE_DIR = "${TMPDIR}/sstate"
''') % (' '.join('package_%s' % c for c in self.package_classes))
- # Do an initial build. It's acceptable for this build to use sstate
- self.write_config(common_config)
- vars_reference = get_bb_vars(capture_vars)
+ # Perform a build.
+ reproducibleA_tmp = os.path.join(self.topdir, 'reproducibleA', 'tmp')
+ if os.path.exists(reproducibleA_tmp):
+ bb.utils.remove(reproducibleA_tmp, recurse=True)
+
+ self.write_config((textwrap.dedent('''\
+ TMPDIR = "%s"
+ ''') % reproducibleA_tmp) + common_config)
+ vars_A = get_bb_vars(capture_vars)
bitbake(' '.join(self.images))
- # Build native utilities
- bitbake("diffutils-native -c addto_recipe_sysroot")
- diffutils_sysroot = get_bb_var("RECIPE_SYSROOT_NATIVE", "diffutils-native")
+ # Perform another build.
+ reproducibleB_tmp = os.path.join(self.topdir, 'reproducibleB', 'tmp')
+ if os.path.exists(reproducibleB_tmp):
+ bb.utils.remove(reproducibleB_tmp, recurse=True)
- # Perform another build. This build should *not* share sstate or pull
- # from any mirrors, but sharing a DL_DIR is fine
- self.write_config(textwrap.dedent('''\
- TMPDIR = "${TOPDIR}/reproducible/tmp"
- SSTATE_DIR = "${TMPDIR}/sstate"
+ self.write_config((textwrap.dedent('''\
SSTATE_MIRROR = ""
- ''') + common_config)
- vars_test = get_bb_vars(capture_vars)
+ TMPDIR = "%s"
+ ''') % reproducibleB_tmp) + common_config)
+ vars_B = get_bb_vars(capture_vars)
bitbake(' '.join(self.images))
+ # NOTE: The temp directories from the reproducible build are purposely
+ # kept after the build so it can be diffed for debugging.
+
for c in self.package_classes:
- package_class = 'package_' + c
+ with self.subTest(package_class=c):
+ package_class = 'package_' + c
+
+ deploy_A = vars_A['DEPLOY_DIR_' + c.upper()]
+ deploy_B = vars_B['DEPLOY_DIR_' + c.upper()]
- deploy_reference = vars_reference['DEPLOY_DIR_' + c.upper()]
- deploy_test = vars_test['DEPLOY_DIR_' + c.upper()]
+ result = self.compare_packages(deploy_A, deploy_B, diffutils_sysroot)
- result = self.compare_packages(deploy_reference, deploy_test, diffutils_sysroot)
+ self.logger.info('Reproducibility summary for %s: %s' % (c, result))
- self.logger.info('Reproducibility summary for %s: %s' % (c, result))
+ self.append_to_log('\n'.join("%s: %s" % (r.status, r.test) for r in result.total))
- self.append_to_log('\n'.join("%s: %s" % (r.status, r.test) for r in result.total))
+ self.write_package_list(package_class, 'missing', result.missing)
+ self.write_package_list(package_class, 'different', result.different)
+ self.write_package_list(package_class, 'same', result.same)
- if result.missing or result.different:
- self.fail("The following %s packages are missing or different: %s" %
- (c, ' '.join(r.test for r in (result.missing + result.different))))
+ if result.missing or result.different:
+ self.fail("The following %s packages are missing or different: %s" %
+ (c, ' '.join(r.test for r in (result.missing + result.different))))
diff --git a/poky/meta/lib/oeqa/selftest/cases/runqemu.py b/poky/meta/lib/oeqa/selftest/cases/runqemu.py
index b88ae306c0..7e676bcb41 100644
--- a/poky/meta/lib/oeqa/selftest/cases/runqemu.py
+++ b/poky/meta/lib/oeqa/selftest/cases/runqemu.py
@@ -8,6 +8,7 @@ import re
import tempfile
import time
import oe.types
+from oeqa.core.decorator import OETestTag
from oeqa.selftest.case import OESelftestTestCase
from oeqa.utils.commands import bitbake, runqemu, get_bb_var, runCmd
@@ -147,6 +148,7 @@ SYSLINUX_TIMEOUT = "10"
# dedicated for MACHINE=qemux86-64 where it test that qemux86-64 will
# bootup various filesystem types, including live image(iso and hddimg)
# where live image was not supported on all qemu architecture.
+@OETestTag("machine")
class QemuTest(OESelftestTestCase):
@classmethod
diff --git a/poky/meta/lib/oeqa/selftest/context.py b/poky/meta/lib/oeqa/selftest/context.py
index d279994ddf..3126ada716 100644
--- a/poky/meta/lib/oeqa/selftest/context.py
+++ b/poky/meta/lib/oeqa/selftest/context.py
@@ -77,7 +77,14 @@ class OESelftestTestContextExecutor(OETestContextExecutor):
parser.add_argument('--machine', required=False, choices=['random', 'all'],
help='Run tests on different machines (random/all).')
-
+
+ parser.add_argument('-t', '--select-tags', dest="select_tags",
+ nargs='*', default=None,
+ help='Filter all (unhidden) tests to any that match any of the specified tags.')
+ parser.add_argument('-T', '--exclude-tags', dest="exclude_tags",
+ nargs='*', default=None,
+ help='Exclude all (unhidden) tests that match any of the specified tags. (exclude applies before select)')
+
parser.set_defaults(func=self.run)
def _get_available_machines(self):
@@ -149,6 +156,18 @@ class OESelftestTestContextExecutor(OETestContextExecutor):
copyfile(self.tc_kwargs['init']['config_paths']['bblayers'],
self.tc_kwargs['init']['config_paths']['bblayers_backup'])
+ def tag_filter(tags):
+ if args.exclude_tags:
+ if any(tag in args.exclude_tags for tag in tags):
+ return True
+ if args.select_tags:
+ if not tags or not any(tag in args.select_tags for tag in tags):
+ return True
+ return False
+
+ if args.select_tags or args.exclude_tags:
+ self.tc_kwargs['load']['tags_filter'] = tag_filter
+
self.tc_kwargs['run']['skips'] = args.skips
self.tc_kwargs['run']['processes'] = args.processes
diff --git a/poky/meta/lib/oeqa/utils/commands.py b/poky/meta/lib/oeqa/utils/commands.py
index 7140bc73d2..dc1e286dac 100644
--- a/poky/meta/lib/oeqa/utils/commands.py
+++ b/poky/meta/lib/oeqa/utils/commands.py
@@ -172,8 +172,11 @@ def runCmd(command, ignore_status=False, timeout=None, assert_error=True,
if native_sysroot:
extra_paths = "%s/sbin:%s/usr/sbin:%s/usr/bin" % \
(native_sysroot, native_sysroot, native_sysroot)
+ extra_libpaths = "%s/lib:%s/usr/lib" % \
+ (native_sysroot, native_sysroot)
nenv = dict(options.get('env', os.environ))
nenv['PATH'] = extra_paths + ':' + nenv.get('PATH', '')
+ nenv['LD_LIBRARY_PATH'] = extra_libpaths + ':' + nenv.get('LD_LIBRARY_PATH', '')
options['env'] = nenv
cmd = Command(command, timeout=timeout, output_log=output_log, **options)
@@ -337,7 +340,7 @@ def runqemu(pn, ssh=True, runqemuparams='', image_fstype=None, launch_cmd=None,
qemu.deploy()
try:
qemu.start(params=qemuparams, ssh=ssh, runqemuparams=runqemuparams, launch_cmd=launch_cmd, discard_writes=discard_writes)
- except EXception as e:
+ except Exception as e:
msg = str(e) + '\nFailed to start QEMU - see the logs in %s' % logdir
if os.path.exists(qemu.qemurunnerlog):
with open(qemu.qemurunnerlog, 'r') as f:
diff --git a/poky/meta/lib/oeqa/utils/network.py b/poky/meta/lib/oeqa/utils/network.py
index 59cbbc4f1b..59d01723a1 100644
--- a/poky/meta/lib/oeqa/utils/network.py
+++ b/poky/meta/lib/oeqa/utils/network.py
@@ -4,8 +4,8 @@
import socket
-def get_free_port():
- s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
+def get_free_port(udp = False):
+ s = socket.socket(socket.AF_INET, socket.SOCK_STREAM if not udp else socket.SOCK_DGRAM)
s.bind(('', 0))
addr = s.getsockname()
s.close()
diff --git a/poky/meta/lib/oeqa/utils/nfs.py b/poky/meta/lib/oeqa/utils/nfs.py
new file mode 100644
index 0000000000..a37686c914
--- /dev/null
+++ b/poky/meta/lib/oeqa/utils/nfs.py
@@ -0,0 +1,39 @@
+# SPDX-License-Identifier: MIT
+import os
+import sys
+import tempfile
+import contextlib
+import socket
+from oeqa.utils.commands import bitbake, get_bb_var, Command
+from oeqa.utils.network import get_free_port
+
+@contextlib.contextmanager
+def unfs_server(directory, logger = None):
+ unfs_sysroot = get_bb_var("RECIPE_SYSROOT_NATIVE", "unfs3-native")
+ if not os.path.exists(os.path.join(unfs_sysroot, "usr", "bin", "unfsd")):
+ # build native tool
+ bitbake("unfs3-native -c addto_recipe_sysroot")
+
+ exports = None
+ cmd = None
+ try:
+ # create the exports file
+ with tempfile.NamedTemporaryFile(delete = False) as exports:
+ exports.write("{0} (rw,no_root_squash,no_all_squash,insecure)\n".format(directory).encode())
+
+ # find some ports for the server
+ nfsport, mountport = get_free_port(udp = True), get_free_port(udp = True)
+
+ nenv = dict(os.environ)
+ nenv['PATH'] = "{0}/sbin:{0}/usr/sbin:{0}/usr/bin:".format(unfs_sysroot) + nenv.get('PATH', '')
+ cmd = Command(["unfsd", "-d", "-p", "-N", "-e", exports.name, "-n", str(nfsport), "-m", str(mountport)],
+ bg = True, env = nenv, output_log = logger)
+ cmd.run()
+ yield nfsport, mountport
+ finally:
+ if cmd is not None:
+ cmd.stop()
+ if exports is not None:
+ # clean up exports file
+ os.unlink(exports.name)
+
diff --git a/poky/meta/recipes-connectivity/avahi/avahi-ui_0.7.bb b/poky/meta/recipes-connectivity/avahi/avahi-ui_0.7.bb
index a77653bf55..1c6e46aaba 100644
--- a/poky/meta/recipes-connectivity/avahi/avahi-ui_0.7.bb
+++ b/poky/meta/recipes-connectivity/avahi/avahi-ui_0.7.bb
@@ -20,7 +20,13 @@ FILES_avahi-discover = "${datadir}/applications/avahi-discover.desktop \
do_install_append () {
rm ${D}${sysconfdir} -rf
- rm ${D}${base_libdir} -rf
+ if ${@bb.utils.contains('DISTRO_FEATURES','usrmerge','true','false',d)}; then
+ if [ "${nonarch_base_libdir}" != "${base_libdir}" ];then
+ rm ${D}${nonarch_base_libdir} -rf
+ fi
+ else
+ rm ${D}${base_libdir} -rf
+ fi
rm ${D}${systemd_unitdir} -rf
# The ${systemd_unitdir} is /lib/systemd, so we need rmdir /lib,
# but not ${base_libdir} here. And the /lib may not exist
diff --git a/poky/meta/recipes-connectivity/avahi/files/0001-Fix-opening-etc-resolv.conf-error.patch b/poky/meta/recipes-connectivity/avahi/files/0001-Fix-opening-etc-resolv.conf-error.patch
index 11e7e8a9bc..cb8b83fd23 100644
--- a/poky/meta/recipes-connectivity/avahi/files/0001-Fix-opening-etc-resolv.conf-error.patch
+++ b/poky/meta/recipes-connectivity/avahi/files/0001-Fix-opening-etc-resolv.conf-error.patch
@@ -19,6 +19,11 @@ is marked as OE specific.
Upstream-Status: Inappropriate [OE Specific]
Signed-off-by: Chen Qi
+
+When connman installed to image, /etc/resolv.conf is link to
+/etc/resolv-conf.connman. So launch avahi-daemon after connman too.
+
+Signed-off-by: Kai Kang
---
avahi-daemon/avahi-daemon.service.in | 1 +
1 file changed, 1 insertion(+)
@@ -31,7 +36,7 @@ index 548c834..63e28e4 100644
[Unit]
Description=Avahi mDNS/DNS-SD Stack
Requires=avahi-daemon.socket
-+After=systemd-resolved.service
++After=systemd-resolved.service connman.service
[Service]
Type=dbus
diff --git a/poky/meta/recipes-connectivity/bind/bind_9.11.5-P4.bb b/poky/meta/recipes-connectivity/bind/bind_9.11.5-P4.bb
index 93c406f778..69b1174073 100644
--- a/poky/meta/recipes-connectivity/bind/bind_9.11.5-P4.bb
+++ b/poky/meta/recipes-connectivity/bind/bind_9.11.5-P4.bb
@@ -39,7 +39,7 @@ PACKAGECONFIG[httpstats] = "--with-libxml2=${STAGING_DIR_HOST}${prefix},--withou
PACKAGECONFIG[readline] = "--with-readline=-lreadline,,readline"
PACKAGECONFIG[libedit] = "--with-readline=-ledit,,libedit"
PACKAGECONFIG[urandom] = "--with-randomdev=/dev/urandom,--with-randomdev=/dev/random,,"
-PACKAGECONFIG[python3] = "--with-python=${PYTHON} --with-python-install-dir=${D}/${PYTHON_SITEPACKAGES_DIR} , --without-python, python3-ply-native,"
+PACKAGECONFIG[python3] = "--with-python=yes --with-python-install-dir=${PYTHON_SITEPACKAGES_DIR} , --without-python, python3-ply-native,"
ENABLE_IPV6 = "--enable-ipv6=${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'yes', 'no', d)}"
EXTRA_OECONF = " ${ENABLE_IPV6} --with-libtool --enable-threads \
diff --git a/poky/meta/recipes-connectivity/bluez5/bluez5.inc b/poky/meta/recipes-connectivity/bluez5/bluez5.inc
index bffd174c0a..6c79ed0606 100644
--- a/poky/meta/recipes-connectivity/bluez5/bluez5.inc
+++ b/poky/meta/recipes-connectivity/bluez5/bluez5.inc
@@ -57,6 +57,7 @@ SRC_URI = "\
file://0001-Makefile.am-Fix-a-race-issue-for-tools.patch \
file://CVE-2018-10910.patch \
file://gcc9-fixes.patch \
+ file://0001-tools-Fix-build-after-y2038-changes-in-glibc.patch \
"
S = "${WORKDIR}/bluez-${PV}"
diff --git a/poky/meta/recipes-connectivity/bluez5/bluez5/0001-tools-Fix-build-after-y2038-changes-in-glibc.patch b/poky/meta/recipes-connectivity/bluez5/bluez5/0001-tools-Fix-build-after-y2038-changes-in-glibc.patch
new file mode 100644
index 0000000000..9ca20ae53b
--- /dev/null
+++ b/poky/meta/recipes-connectivity/bluez5/bluez5/0001-tools-Fix-build-after-y2038-changes-in-glibc.patch
@@ -0,0 +1,68 @@
+From f36f71f60b1e68c0f12e615b9b128d089ec3dd19 Mon Sep 17 00:00:00 2001
+From: Bastien Nocera
+Date: Fri, 7 Jun 2019 09:51:33 +0200
+Subject: [PATCH] tools: Fix build after y2038 changes in glibc
+
+The 32-bit SIOCGSTAMP has been deprecated. Use the deprecated name
+to fix the build.
+
+Upstream-Status: backport commit f36f71f60b1e68c0f12e615b9b128d089ec3dd19
+
+Signed-off-by: Bruce Ashfield
+
+---
+ tools/l2test.c | 6 +++++-
+ tools/rctest.c | 6 +++++-
+ 2 files changed, 10 insertions(+), 2 deletions(-)
+
+diff --git a/tools/l2test.c b/tools/l2test.c
+index e755ac881..e787c2ce2 100644
+--- a/tools/l2test.c
++++ b/tools/l2test.c
+@@ -55,6 +55,10 @@
+ #define BREDR_DEFAULT_PSM 0x1011
+ #define LE_DEFAULT_PSM 0x0080
+
++#ifndef SIOCGSTAMP_OLD
++#define SIOCGSTAMP_OLD SIOCGSTAMP
++#endif
++
+ /* Test modes */
+ enum {
+ SEND,
+@@ -907,7 +911,7 @@ static void recv_mode(int sk)
+ if (timestamp) {
+ struct timeval tv;
+
+- if (ioctl(sk, SIOCGSTAMP, &tv) < 0) {
++ if (ioctl(sk, SIOCGSTAMP_OLD, &tv) < 0) {
+ timestamp = 0;
+ memset(ts, 0, sizeof(ts));
+ } else {
+diff --git a/tools/rctest.c b/tools/rctest.c
+index 94490f462..bc8ed875d 100644
+--- a/tools/rctest.c
++++ b/tools/rctest.c
+@@ -50,6 +50,10 @@
+
+ #include "src/shared/util.h"
+
++#ifndef SIOCGSTAMP_OLD
++#define SIOCGSTAMP_OLD SIOCGSTAMP
++#endif
++
+ /* Test modes */
+ enum {
+ SEND,
+@@ -505,7 +509,7 @@ static void recv_mode(int sk)
+ if (timestamp) {
+ struct timeval tv;
+
+- if (ioctl(sk, SIOCGSTAMP, &tv) < 0) {
++ if (ioctl(sk, SIOCGSTAMP_OLD, &tv) < 0) {
+ timestamp = 0;
+ memset(ts, 0, sizeof(ts));
+ } else {
+--
+2.19.1
+
diff --git a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-Do-not-pass-null-pointer-to-freeaddrinfo.patch b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-Do-not-pass-null-pointer-to-freeaddrinfo.patch
deleted file mode 100644
index a44d1bf2fe..0000000000
--- a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-Do-not-pass-null-pointer-to-freeaddrinfo.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 4f115fc314646500f7b4178d7248a02654c7cd10 Mon Sep 17 00:00:00 2001
-From: Khem Raj
-Date: Fri, 30 Nov 2018 16:47:57 -0800
-Subject: [PATCH] Do not pass null pointer to freeaddrinfo()
-
-Passing null pointer as input parameter to freeaddrinfo() is undefined
-behaviour, some libcs e.g. glibc might just call free() which does
-accept null pointer but other libcs e.g. musl might not and instead
-cause the program to segfault. Therefore do not rely on undefined
-behaviour instead make it deterministic
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj
----
- support/export/client.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-Index: nfs-utils-2.3.2/support/export/client.c
-===================================================================
---- nfs-utils-2.3.2.orig/support/export/client.c
-+++ nfs-utils-2.3.2/support/export/client.c
-@@ -309,7 +309,8 @@ client_lookup(char *hname, int canonical
- init_addrlist(clp, ai);
-
- out:
-- freeaddrinfo(ai);
-+ if (ai)
-+ freeaddrinfo(ai);
- return clp;
- }
-
diff --git a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-Makefile.am-fix-undefined-function-for-libnsm.a.patch b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-Makefile.am-fix-undefined-function-for-libnsm.a.patch
index aa551ebd19..fcb0e99b33 100644
--- a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-Makefile.am-fix-undefined-function-for-libnsm.a.patch
+++ b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-Makefile.am-fix-undefined-function-for-libnsm.a.patch
@@ -22,25 +22,28 @@ so rename ../support/misc/file.c to ../support/misc/misc.c.
Upstream-Status: Submitted[https://marc.info/?l=linux-nfs&m=154502780423058&w=2]
Signed-off-by: Mingli Yu
+
+Rebase it.
+
+Signed-off-by: Robert Yang
---
support/misc/Makefile.am | 2 +-
- support/misc/file.c | 111 -----------------------------------------------
- support/misc/misc.c | 111 +++++++++++++++++++++++++++++++++++++++++++++++
+ support/misc/file.c | 111 ---------------------------------------------------------------------------------------------------------------
+ support/misc/misc.c | 111 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
support/nsm/Makefile.am | 2 +-
4 files changed, 113 insertions(+), 113 deletions(-)
- delete mode 100644 support/misc/file.c
- create mode 100644 support/misc/misc.c
diff --git a/support/misc/Makefile.am b/support/misc/Makefile.am
-index 8936b0d..d4c1f76 100644
+index f9993e3..8b0e9db 100644
--- a/support/misc/Makefile.am
+++ b/support/misc/Makefile.am
-@@ -1,6 +1,6 @@
+@@ -1,7 +1,7 @@
## Process this file with automake to produce Makefile.in
noinst_LIBRARIES = libmisc.a
--libmisc_a_SOURCES = tcpwrapper.c from_local.c mountpoint.c file.c
-+libmisc_a_SOURCES = tcpwrapper.c from_local.c mountpoint.c misc.c
+-libmisc_a_SOURCES = tcpwrapper.c from_local.c mountpoint.c file.c \
++libmisc_a_SOURCES = tcpwrapper.c from_local.c mountpoint.c misc.c \
+ nfsd_path.c workqueue.c xstat.c
MAINTAINERCLEANFILES = Makefile.in
diff --git a/support/misc/file.c b/support/misc/file.c
@@ -290,6 +293,3 @@ index 8f5874e..68f1a46 100644
BUILT_SOURCES = $(GENFILES)
---
-2.7.4
-
diff --git a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-Makefile.am-update-the-path-of-libnfs.a.patch b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-Makefile.am-update-the-path-of-libnfs.a.patch
deleted file mode 100644
index 906ac0f905..0000000000
--- a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-Makefile.am-update-the-path-of-libnfs.a.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From fcece65d1b713eaeef41706898440302f8ce92d9 Mon Sep 17 00:00:00 2001
-From: Mingli Yu
-Date: Thu, 12 Jul 2018 15:19:41 +0800
-Subject: [PATCH] Makefile.am: update the path of libnfs.a
-
-The libnfs.a is under ../support/nfs/.libs/ now,
-update the reference path accordingly to fix below
-build error when run "make -C tests statdb_dump":
-| make: *** No rule to make target '../support/nfs/libnfs.a', needed by 'statdb_dump'. Stop.
-
-And below error when run "make -C tests/nsm_client nsm_client"
-| make: *** No rule to make target '../../support/nfs/libnfs.a', needed by 'nsm_client'. Stop.
-
-Upstream-Status: Submitted[https://marc.info/?l=linux-nfs&m=154502636522745&w=2]
-
-Signed-off-by: Mingli Yu
----
- tests/Makefile.am | 2 +-
- tests/nsm_client/Makefile.am | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/tests/Makefile.am b/tests/Makefile.am
-index 1f96264..74aa629 100644
---- a/tests/Makefile.am
-+++ b/tests/Makefile.am
-@@ -3,7 +3,7 @@
- check_PROGRAMS = statdb_dump
- statdb_dump_SOURCES = statdb_dump.c
-
--statdb_dump_LDADD = ../support/nfs/libnfs.a \
-+statdb_dump_LDADD = ../support/nfs/.libs/libnfs.a \
- ../support/nsm/libnsm.a $(LIBCAP)
-
- SUBDIRS = nsm_client
-diff --git a/tests/nsm_client/Makefile.am b/tests/nsm_client/Makefile.am
-index a8fc131..43db9c2 100644
---- a/tests/nsm_client/Makefile.am
-+++ b/tests/nsm_client/Makefile.am
-@@ -13,7 +13,7 @@ check_PROGRAMS = nsm_client
- nsm_client_SOURCES = $(GENFILES) nsm_client.c
-
- BUILT_SOURCES = $(GENFILES)
--nsm_client_LDADD = ../../support/nfs/libnfs.a \
-+nsm_client_LDADD = ../../support/nfs/.libs/libnfs.a \
- ../../support/nsm/libnsm.a $(LIBCAP) $(LIBTIRPC)
-
- if CONFIG_RPCGEN
---
-2.7.4
-
diff --git a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-configure.ac-Do-not-fatalize-Wmissing-prototypes.patch b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-configure.ac-Do-not-fatalize-Wmissing-prototypes.patch
index 17aabb9e4d..d14f0789ff 100644
--- a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-configure.ac-Do-not-fatalize-Wmissing-prototypes.patch
+++ b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-configure.ac-Do-not-fatalize-Wmissing-prototypes.patch
@@ -26,18 +26,15 @@ Signed-off-by: Mingli Yu
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac
-index e82ff14..d0cc5d5 100644
+index 50002b4..aebff01 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -548,7 +548,7 @@ my_am_cflags="\
+@@ -582,7 +582,7 @@ my_am_cflags="\
-Wall \
-Wextra \
- -Werror=strict-prototypes \
+ $rpcgen_cflags \
- -Werror=missing-prototypes \
+ -Wmissing-prototypes \
-Werror=missing-declarations \
-Werror=format=2 \
-Werror=undef \
---
-2.7.4
-
diff --git a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/bugfix-adjust-statd-service-name.patch b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/bugfix-adjust-statd-service-name.patch
index 822939f0d2..f13d7b380c 100644
--- a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/bugfix-adjust-statd-service-name.patch
+++ b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/bugfix-adjust-statd-service-name.patch
@@ -12,20 +12,28 @@ instead but forgot to update the mount.nfs helper 'start-statd' accordingly.
Upstream-Status: Inappropriate [other]
Signed-off-by: Ulrich Ölmann
+
+Rebase it.
+
+Signed-off-by: Robert Yang
---
- utils/statd/start-statd | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
+ utils/statd/start-statd | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
-Index: nfs-utils-2.1.1/utils/statd/start-statd
-===================================================================
---- nfs-utils-2.1.1.orig/utils/statd/start-statd
-+++ nfs-utils-2.1.1/utils/statd/start-statd
-@@ -28,7 +28,7 @@ fi
+diff --git a/utils/statd/start-statd b/utils/statd/start-statd
+index af5c950..df9b9be 100755
+--- a/utils/statd/start-statd
++++ b/utils/statd/start-statd
+@@ -28,10 +28,10 @@ fi
# First try systemd if it's installed.
if [ -d /run/systemd/system ]; then
# Quit only if the call worked.
-- systemctl start rpc-statd.service && exit
-+ systemctl start nfs-statd.service && exit
+- if systemctl start rpc-statd.service; then
++ if systemctl start nfs-statd.service; then
+ # Ensure systemd knows not to stop rpc.statd or its dependencies
+ # on 'systemctl isolate ..'
+- systemctl add-wants --runtime remote-fs.target rpc-statd.service
++ systemctl add-wants --runtime remote-fs.target nfs-statd.service
+ exit 0
+ fi
fi
-
- cd /
diff --git a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-utils-musl-limits.patch b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-utils-musl-limits.patch
deleted file mode 100644
index 25ca415155..0000000000
--- a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-utils-musl-limits.patch
+++ /dev/null
@@ -1,133 +0,0 @@
-Fixed:
-| file.c: In function 'generic_make_pathname':
-| file.c:48:13: error: 'PATH_MAX' undeclared (first use in this function); did you mean 'RAND_MAX'?
-| if (size > PATH_MAX)
-| ^~~~~~~~
-[snip]
-
-Upstream-Status: Pending [https://git.alpinelinux.org/cgit/aports/tree/main/nfs-utils/limits.patch?id=f6734a77d3caee73325f8cc1f77d1b5117a75096]
-
-Signed-off-by: Robert Yang
----
- support/export/export.c | 1 +
- support/export/xtab.c | 1 +
- support/misc/file.c | 1 +
- support/nfs/xcommon.c | 1 +
- support/nsm/file.c | 1 +
- utils/blkmapd/device-discovery.c | 1 +
- utils/gssd/krb5_util.c | 1 +
- utils/mountd/cache.c | 1 +
- utils/mountd/mountd.c | 1 +
- utils/mountd/rmtab.c | 1 +
- 10 files changed, 10 insertions(+)
-
-diff --git a/support/export/export.c b/support/export/export.c
---- a/support/export/export.c
-+++ b/support/export/export.c
-@@ -17,6 +17,7 @@
- #include
- #include
- #include
-+#include
- #include "xmalloc.h"
- #include "nfslib.h"
- #include "exportfs.h"
-diff --git a/support/export/xtab.c b/support/export/xtab.c
---- a/support/export/xtab.c
-+++ b/support/export/xtab.c
-@@ -18,6 +18,7 @@
- #include
- #include
- #include
-+#include
-
- #include "nfslib.h"
- #include "exportfs.h"
-diff --git a/support/misc/file.c b/support/misc/file.c
---- a/support/misc/file.c
-+++ b/support/misc/file.c
-@@ -27,6 +27,7 @@
- #include
- #include
- #include
-+#include
-
- #include "xlog.h"
- #include "misc.h"
-diff --git a/support/nfs/xcommon.c b/support/nfs/xcommon.c
---- a/support/nfs/xcommon.c
-+++ b/support/nfs/xcommon.c
-@@ -16,6 +16,7 @@
- #include
- #include
- #include
-+#include
-
- #include "xcommon.h"
- #include "nls.h" /* _() */
-diff --git a/support/nsm/file.c b/support/nsm/file.c
---- a/support/nsm/file.c
-+++ b/support/nsm/file.c
-@@ -85,6 +85,7 @@
- #include
- #include
- #include
-+#include
-
- #include "xlog.h"
- #include "nsm.h"
-diff --git a/utils/blkmapd/device-discovery.c b/utils/blkmapd/device-discovery.c
---- a/utils/blkmapd/device-discovery.c
-+++ b/utils/blkmapd/device-discovery.c
-@@ -49,6 +49,7 @@
- #include
- #include
- #include
-+#include
- #include
-
- #ifdef HAVE_CONFIG_H
-diff --git a/utils/gssd/krb5_util.c b/utils/gssd/krb5_util.c
---- a/utils/gssd/krb5_util.c
-+++ b/utils/gssd/krb5_util.c
-@@ -120,6 +120,7 @@
- #endif
- #include
- #include
-+#include
-
- #include "gssd.h"
- #include "err_util.h"
-diff --git a/utils/mountd/cache.c b/utils/mountd/cache.c
---- a/utils/mountd/cache.c
-+++ b/utils/mountd/cache.c
-@@ -26,6 +26,7 @@
- #include
- #include
- #include
-+#include
- #include "misc.h"
- #include "nfslib.h"
- #include "exportfs.h"
-diff --git a/utils/mountd/mountd.c b/utils/mountd/mountd.c
---- a/utils/mountd/mountd.c
-+++ b/utils/mountd/mountd.c
-@@ -22,6 +22,7 @@
- #include
- #include
- #include
-+#include
-
- #include "conffile.h"
- #include "xmalloc.h"
-diff --git a/utils/mountd/rmtab.c b/utils/mountd/rmtab.c
---- a/utils/mountd/rmtab.c
-+++ b/utils/mountd/rmtab.c
-@@ -16,6 +16,7 @@
- #include
- #include
- #include
-+#include
-
- #include "misc.h"
- #include "exportfs.h"
diff --git a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-utils-musl-res_querydomain.patch b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-utils-musl-res_querydomain.patch
index 22002fadca..921f5edc82 100644
--- a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-utils-musl-res_querydomain.patch
+++ b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-utils-musl-res_querydomain.patch
@@ -11,30 +11,19 @@ Upstream-Status: Pending [https://github.com/alpinelinux/aports/blob/master/main
Signed-off-by: Robert Yang
---
- configure.ac | 13 ++++++-------
- 1 file changed, 6 insertions(+), 7 deletions(-)
+ configure.ac | 9 ++++-----
+ 1 file changed, 4 insertions(+), 5 deletions(-)
diff --git a/configure.ac b/configure.ac
-index 276dec3..760238b 100644
+index 50002b4..dcadb23 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -408,7 +408,7 @@ if test "$enable_gss" = yes; then
- fi
-
- dnl libdnsidmap specific checks
--AC_CHECK_LIB([resolv], [__res_querydomain], , AC_MSG_ERROR(res_querydomain needed))
-+AC_CHECK_LIB([resolv], [res_querydomain], , AC_MSG_ERROR(res_querydomain needed))
-
- AC_ARG_ENABLE([ldap],
- [AS_HELP_STRING([--disable-ldap],[Disable support for LDAP @<:default=detect@:>@])])
-@@ -547,11 +547,11 @@ my_am_cflags="\
- -pipe \
+@@ -582,10 +582,10 @@ my_am_cflags="\
-Wall \
-Wextra \
-- -Werror=strict-prototypes \
+ $rpcgen_cflags \
- -Werror=missing-prototypes \
- -Werror=missing-declarations \
-+ -Wstrict-prototypes \
+ -Wmissing-prototypes \
+ -Wmissing-declarations \
-Werror=format=2 \
@@ -43,7 +32,7 @@ index 276dec3..760238b 100644
-Werror=missing-include-dirs \
-Werror=strict-aliasing=2 \
-Werror=init-self \
-@@ -579,10 +579,9 @@ AC_DEFUN([CHECK_CCSUPPORT], [
+@@ -614,10 +614,9 @@ AC_DEFUN([CHECK_CCSUPPORT], [
CHECK_CCSUPPORT([-Werror=format-overflow=2], [flg1])
CHECK_CCSUPPORT([-Werror=int-conversion], [flg2])
diff --git a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils_2.3.3.bb b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils_2.3.3.bb
deleted file mode 100644
index 28f98980d4..0000000000
--- a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils_2.3.3.bb
+++ /dev/null
@@ -1,157 +0,0 @@
-SUMMARY = "userspace utilities for kernel nfs"
-DESCRIPTION = "The nfs-utils package provides a daemon for the kernel \
-NFS server and related tools."
-HOMEPAGE = "http://nfs.sourceforge.net/"
-SECTION = "console/network"
-
-LICENSE = "MIT & GPLv2+ & BSD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=95f3a93a5c3c7888de623b46ea085a84"
-
-# util-linux for libblkid
-DEPENDS = "libcap libevent util-linux sqlite3 libtirpc"
-RDEPENDS_${PN} = "${PN}-client bash"
-RRECOMMENDS_${PN} = "kernel-module-nfsd"
-
-inherit useradd
-
-USERADD_PACKAGES = "${PN}-client"
-USERADD_PARAM_${PN}-client = "--system --home-dir /var/lib/nfs \
- --shell /bin/false --user-group rpcuser"
-
-SRC_URI = "${KERNELORG_MIRROR}/linux/utils/nfs-utils/${PV}/nfs-utils-${PV}.tar.xz \
- file://nfsserver \
- file://nfscommon \
- file://nfs-utils.conf \
- file://nfs-server.service \
- file://nfs-mountd.service \
- file://nfs-statd.service \
- file://proc-fs-nfsd.mount \
- file://nfs-utils-debianize-start-statd.patch \
- file://bugfix-adjust-statd-service-name.patch \
- file://nfs-utils-musl-limits.patch \
- file://0001-cacheio-use-intmax_t-for-formatted-IO.patch \
- file://0001-Do-not-pass-null-pointer-to-freeaddrinfo.patch \
- file://clang-format-string.patch \
- file://0001-Makefile.am-update-the-path-of-libnfs.a.patch \
- file://0001-Makefile.am-fix-undefined-function-for-libnsm.a.patch \
- file://0001-Don-t-build-tools-with-CC_FOR_BUILD.patch \
-"
-SRC_URI_append_libc-glibc = " file://0001-configure.ac-Do-not-fatalize-Wmissing-prototypes.patch"
-SRC_URI_append_libc-musl = " file://nfs-utils-musl-res_querydomain.patch"
-
-SRC_URI[md5sum] = "b6c9c032995af1c08fea9fbcc1ce33e9"
-SRC_URI[sha256sum] = "f68b34793831b05f1fd5760d6bdec92772c7684177586a99a61e7b444f336322"
-
-# Only kernel-module-nfsd is required here (but can be built-in) - the nfsd module will
-# pull in the remainder of the dependencies.
-
-INITSCRIPT_PACKAGES = "${PN} ${PN}-client"
-INITSCRIPT_NAME = "nfsserver"
-INITSCRIPT_PARAMS = "defaults"
-INITSCRIPT_NAME_${PN}-client = "nfscommon"
-INITSCRIPT_PARAMS_${PN}-client = "defaults 19 21"
-
-inherit autotools-brokensep update-rc.d systemd pkgconfig
-
-SYSTEMD_PACKAGES = "${PN} ${PN}-client"
-SYSTEMD_SERVICE_${PN} = "nfs-server.service nfs-mountd.service"
-SYSTEMD_SERVICE_${PN}-client = "nfs-statd.service"
-
-# --enable-uuid is need for cross-compiling
-EXTRA_OECONF = "--with-statduser=rpcuser \
- --enable-mountconfig \
- --enable-libmount-mount \
- --enable-uuid \
- --disable-gss \
- --disable-nfsdcltrack \
- --with-statdpath=/var/lib/nfs/statd \
- "
-
-CFLAGS += "-Wno-error=format-overflow"
-
-PACKAGECONFIG ??= "tcp-wrappers \
- ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \
-"
-PACKAGECONFIG_remove_libc-musl = "tcp-wrappers"
-PACKAGECONFIG[tcp-wrappers] = "--with-tcp-wrappers,--without-tcp-wrappers,tcp-wrappers"
-PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
-# libdevmapper is available in meta-oe
-PACKAGECONFIG[nfsv41] = "--enable-nfsv41,--disable-nfsv41,libdevmapper"
-# keyutils is available in meta-security
-PACKAGECONFIG[nfsv4] = "--enable-nfsv4,--disable-nfsv4,keyutils"
-
-PACKAGES =+ "${PN}-client ${PN}-mount ${PN}-stats"
-
-CONFFILES_${PN}-client += "${localstatedir}/lib/nfs/etab \
- ${localstatedir}/lib/nfs/rmtab \
- ${localstatedir}/lib/nfs/xtab \
- ${localstatedir}/lib/nfs/statd/state \
- ${sysconfdir}/nfsmount.conf"
-
-FILES_${PN}-client = "${sbindir}/*statd \
- ${sbindir}/rpc.idmapd ${sbindir}/sm-notify \
- ${sbindir}/showmount ${sbindir}/nfsstat \
- ${localstatedir}/lib/nfs \
- ${sysconfdir}/nfs-utils.conf \
- ${sysconfdir}/nfsmount.conf \
- ${sysconfdir}/init.d/nfscommon \
- ${systemd_unitdir}/system/nfs-statd.service"
-RDEPENDS_${PN}-client = "${PN}-mount rpcbind"
-
-FILES_${PN}-mount = "${base_sbindir}/*mount.nfs*"
-
-FILES_${PN}-stats = "${sbindir}/mountstats ${sbindir}/nfsiostat"
-RDEPENDS_${PN}-stats = "python3-core"
-
-FILES_${PN} += "${systemd_unitdir}"
-
-do_configure_prepend() {
- sed -i -e 's,sbindir = /sbin,sbindir = ${base_sbindir},g' \
- ${S}/utils/mount/Makefile.am
-
- sed -i -e 's,sbindir = /sbin,sbindir = ${base_sbindir},g' \
- ${S}/utils/osd_login/Makefile.am
-}
-
-# Make clean needed because the package comes with
-# precompiled 64-bit objects that break the build
-do_compile_prepend() {
- make clean
-}
-
-# Works on systemd only
-HIGH_RLIMIT_NOFILE ??= "4096"
-
-do_install_append () {
- install -d ${D}${sysconfdir}/init.d
- install -m 0755 ${WORKDIR}/nfsserver ${D}${sysconfdir}/init.d/nfsserver
- install -m 0755 ${WORKDIR}/nfscommon ${D}${sysconfdir}/init.d/nfscommon
-
- install -m 0755 ${WORKDIR}/nfs-utils.conf ${D}${sysconfdir}
- install -m 0755 ${S}/utils/mount/nfsmount.conf ${D}${sysconfdir}
-
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/nfs-server.service ${D}${systemd_unitdir}/system/
- install -m 0644 ${WORKDIR}/nfs-mountd.service ${D}${systemd_unitdir}/system/
- install -m 0644 ${WORKDIR}/nfs-statd.service ${D}${systemd_unitdir}/system/
- sed -i -e 's,@SBINDIR@,${sbindir},g' \
- -e 's,@SYSCONFDIR@,${sysconfdir},g' \
- -e 's,@HIGH_RLIMIT_NOFILE@,${HIGH_RLIMIT_NOFILE},g' \
- ${D}${systemd_unitdir}/system/*.service
- if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
- install -m 0644 ${WORKDIR}/proc-fs-nfsd.mount ${D}${systemd_unitdir}/system/
- install -d ${D}${systemd_unitdir}/system/sysinit.target.wants/
- ln -sf ../proc-fs-nfsd.mount ${D}${systemd_unitdir}/system/sysinit.target.wants/proc-fs-nfsd.mount
- fi
-
- # kernel code as of 3.8 hard-codes this path as a default
- install -d ${D}/var/lib/nfs/v4recovery
-
- # chown the directories and files
- chown -R rpcuser:rpcuser ${D}${localstatedir}/lib/nfs/statd
- chmod 0644 ${D}${localstatedir}/lib/nfs/statd/state
-
- # Make python tools use python 3
- sed -i -e '1s,#!.*python.*,#!${bindir}/python3,' ${D}${sbindir}/mountstats ${D}${sbindir}/nfsiostat
-
-}
diff --git a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils_2.4.1.bb b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils_2.4.1.bb
new file mode 100644
index 0000000000..8b673c8f5f
--- /dev/null
+++ b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils_2.4.1.bb
@@ -0,0 +1,151 @@
+SUMMARY = "userspace utilities for kernel nfs"
+DESCRIPTION = "The nfs-utils package provides a daemon for the kernel \
+NFS server and related tools."
+HOMEPAGE = "http://nfs.sourceforge.net/"
+SECTION = "console/network"
+
+LICENSE = "MIT & GPLv2+ & BSD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=95f3a93a5c3c7888de623b46ea085a84"
+
+# util-linux for libblkid
+DEPENDS = "libcap libevent util-linux sqlite3 libtirpc"
+RDEPENDS_${PN} = "${PN}-client bash"
+RRECOMMENDS_${PN} = "kernel-module-nfsd"
+
+inherit useradd
+
+USERADD_PACKAGES = "${PN}-client"
+USERADD_PARAM_${PN}-client = "--system --home-dir /var/lib/nfs \
+ --shell /bin/false --user-group rpcuser"
+
+SRC_URI = "${KERNELORG_MIRROR}/linux/utils/nfs-utils/${PV}/nfs-utils-${PV}.tar.xz \
+ file://nfsserver \
+ file://nfscommon \
+ file://nfs-utils.conf \
+ file://nfs-server.service \
+ file://nfs-mountd.service \
+ file://nfs-statd.service \
+ file://proc-fs-nfsd.mount \
+ file://nfs-utils-debianize-start-statd.patch \
+ file://bugfix-adjust-statd-service-name.patch \
+ file://0001-cacheio-use-intmax_t-for-formatted-IO.patch \
+ file://clang-format-string.patch \
+ file://0001-Makefile.am-fix-undefined-function-for-libnsm.a.patch \
+ file://0001-Don-t-build-tools-with-CC_FOR_BUILD.patch \
+"
+SRC_URI_append_libc-glibc = " file://0001-configure.ac-Do-not-fatalize-Wmissing-prototypes.patch"
+SRC_URI_append_libc-musl = " file://nfs-utils-musl-res_querydomain.patch"
+
+SRC_URI[md5sum] = "161efe469ec1b06f1c750bd87f8ba6dd"
+SRC_URI[sha256sum] = "85274ada94479b1beba9f8eeffd19f477c53a6710b9998d1192c807854087736"
+
+# Only kernel-module-nfsd is required here (but can be built-in) - the nfsd module will
+# pull in the remainder of the dependencies.
+
+INITSCRIPT_PACKAGES = "${PN} ${PN}-client"
+INITSCRIPT_NAME = "nfsserver"
+INITSCRIPT_PARAMS = "defaults"
+INITSCRIPT_NAME_${PN}-client = "nfscommon"
+INITSCRIPT_PARAMS_${PN}-client = "defaults 19 21"
+
+inherit autotools-brokensep update-rc.d systemd pkgconfig
+
+SYSTEMD_PACKAGES = "${PN} ${PN}-client"
+SYSTEMD_SERVICE_${PN} = "nfs-server.service nfs-mountd.service"
+SYSTEMD_SERVICE_${PN}-client = "nfs-statd.service"
+
+# --enable-uuid is need for cross-compiling
+EXTRA_OECONF = "--with-statduser=rpcuser \
+ --enable-mountconfig \
+ --enable-libmount-mount \
+ --enable-uuid \
+ --disable-gss \
+ --disable-nfsdcltrack \
+ --with-statdpath=/var/lib/nfs/statd \
+ "
+
+CFLAGS += "-Wno-error=format-overflow"
+
+PACKAGECONFIG ??= "tcp-wrappers \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \
+"
+PACKAGECONFIG_remove_libc-musl = "tcp-wrappers"
+PACKAGECONFIG[tcp-wrappers] = "--with-tcp-wrappers,--without-tcp-wrappers,tcp-wrappers"
+PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
+# libdevmapper is available in meta-oe
+PACKAGECONFIG[nfsv41] = "--enable-nfsv41,--disable-nfsv41,libdevmapper"
+# keyutils is available in meta-security
+PACKAGECONFIG[nfsv4] = "--enable-nfsv4,--disable-nfsv4,keyutils"
+
+PACKAGES =+ "${PN}-client ${PN}-mount ${PN}-stats"
+
+CONFFILES_${PN}-client += "${localstatedir}/lib/nfs/etab \
+ ${localstatedir}/lib/nfs/rmtab \
+ ${localstatedir}/lib/nfs/xtab \
+ ${localstatedir}/lib/nfs/statd/state \
+ ${sysconfdir}/nfsmount.conf"
+
+FILES_${PN}-client = "${sbindir}/*statd \
+ ${sbindir}/rpc.idmapd ${sbindir}/sm-notify \
+ ${sbindir}/showmount ${sbindir}/nfsstat \
+ ${localstatedir}/lib/nfs \
+ ${sysconfdir}/nfs-utils.conf \
+ ${sysconfdir}/nfsmount.conf \
+ ${sysconfdir}/init.d/nfscommon \
+ ${systemd_unitdir}/system/nfs-statd.service"
+RDEPENDS_${PN}-client = "${PN}-mount rpcbind"
+
+FILES_${PN}-mount = "${base_sbindir}/*mount.nfs*"
+
+FILES_${PN}-stats = "${sbindir}/mountstats ${sbindir}/nfsiostat"
+RDEPENDS_${PN}-stats = "python3-core"
+
+FILES_${PN} += "${systemd_unitdir}"
+
+do_configure_prepend() {
+ sed -i -e 's,sbindir = /sbin,sbindir = ${base_sbindir},g' \
+ ${S}/utils/mount/Makefile.am
+}
+
+# Make clean needed because the package comes with
+# precompiled 64-bit objects that break the build
+do_compile_prepend() {
+ make clean
+}
+
+# Works on systemd only
+HIGH_RLIMIT_NOFILE ??= "4096"
+
+do_install_append () {
+ install -d ${D}${sysconfdir}/init.d
+ install -m 0755 ${WORKDIR}/nfsserver ${D}${sysconfdir}/init.d/nfsserver
+ install -m 0755 ${WORKDIR}/nfscommon ${D}${sysconfdir}/init.d/nfscommon
+
+ install -m 0755 ${WORKDIR}/nfs-utils.conf ${D}${sysconfdir}
+ install -m 0755 ${S}/utils/mount/nfsmount.conf ${D}${sysconfdir}
+
+ install -d ${D}${systemd_unitdir}/system
+ install -m 0644 ${WORKDIR}/nfs-server.service ${D}${systemd_unitdir}/system/
+ install -m 0644 ${WORKDIR}/nfs-mountd.service ${D}${systemd_unitdir}/system/
+ install -m 0644 ${WORKDIR}/nfs-statd.service ${D}${systemd_unitdir}/system/
+ sed -i -e 's,@SBINDIR@,${sbindir},g' \
+ -e 's,@SYSCONFDIR@,${sysconfdir},g' \
+ -e 's,@HIGH_RLIMIT_NOFILE@,${HIGH_RLIMIT_NOFILE},g' \
+ ${D}${systemd_unitdir}/system/*.service
+ if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
+ install -m 0644 ${WORKDIR}/proc-fs-nfsd.mount ${D}${systemd_unitdir}/system/
+ install -d ${D}${systemd_unitdir}/system/sysinit.target.wants/
+ ln -sf ../proc-fs-nfsd.mount ${D}${systemd_unitdir}/system/sysinit.target.wants/proc-fs-nfsd.mount
+ fi
+
+ # kernel code as of 3.8 hard-codes this path as a default
+ install -d ${D}/var/lib/nfs/v4recovery
+
+ # chown the directories and files
+ chown -R rpcuser:rpcuser ${D}${localstatedir}/lib/nfs/statd
+ chmod 0644 ${D}${localstatedir}/lib/nfs/statd/state
+
+ # Make python tools use python 3
+ sed -i -e '1s,#!.*python.*,#!${bindir}/python3,' ${D}${sbindir}/mountstats ${D}${sbindir}/nfsiostat
+
+}
diff --git a/poky/meta/recipes-core/base-files/base-files_3.0.14.bb b/poky/meta/recipes-core/base-files/base-files_3.0.14.bb
index 4b4027f18d..2b1f217ddb 100644
--- a/poky/meta/recipes-core/base-files/base-files_3.0.14.bb
+++ b/poky/meta/recipes-core/base-files/base-files_3.0.14.bb
@@ -129,7 +129,6 @@ do_install () {
install -m 0644 ${WORKDIR}/shells ${D}${sysconfdir}/shells
install -m 0755 ${WORKDIR}/share/dot.profile ${D}${sysconfdir}/skel/.profile
install -m 0755 ${WORKDIR}/share/dot.bashrc ${D}${sysconfdir}/skel/.bashrc
- install -m 0644 ${WORKDIR}/nsswitch.conf ${D}${sysconfdir}/nsswitch.conf
install -m 0644 ${WORKDIR}/host.conf ${D}${sysconfdir}/host.conf
install -m 0644 ${WORKDIR}/motd ${D}${sysconfdir}/motd
@@ -142,6 +141,10 @@ do_install () {
fi
}
+do_install_append_libc-glibc () {
+ install -m 0644 ${WORKDIR}/nsswitch.conf ${D}${sysconfdir}/nsswitch.conf
+}
+
DISTRO_VERSION[vardepsexclude] += "DATE"
do_install_basefilesissue () {
install -m 644 ${WORKDIR}/issue* ${D}${sysconfdir}
diff --git a/poky/meta/recipes-core/dropbear/dropbear.inc b/poky/meta/recipes-core/dropbear/dropbear.inc
index dcbda741c3..7269888a4e 100644
--- a/poky/meta/recipes-core/dropbear/dropbear.inc
+++ b/poky/meta/recipes-core/dropbear/dropbear.inc
@@ -70,8 +70,13 @@ do_install() {
install -m 0644 ${WORKDIR}/dropbear.default ${D}${sysconfdir}/default/dropbear
install -m 0755 dropbearmulti ${D}${sbindir}/
- ln -s ${sbindir}/dropbearmulti ${D}${bindir}/dbclient
+ for i in ${BINCOMMANDS}
+ do
+ # ssh and scp symlinks are created by update-alternatives
+ if [ $i = ssh ] || [ $i = scp ]; then continue; fi
+ ln -s ${sbindir}/dropbearmulti ${D}${bindir}/$i
+ done
for i in ${SBINCOMMANDS}
do
ln -s ./dropbearmulti ${D}${sbindir}/$i
@@ -101,7 +106,7 @@ do_install() {
inherit update-alternatives
ALTERNATIVE_PRIORITY = "20"
-ALTERNATIVE_${PN} = "scp ssh"
+ALTERNATIVE_${PN} = "${@bb.utils.filter('BINCOMMANDS', 'scp ssh', d)}"
ALTERNATIVE_TARGET = "${sbindir}/dropbearmulti"
@@ -113,3 +118,5 @@ pkg_postrm_append_${PN} () {
rm ${sysconfdir}/dropbear/dropbear_dss_host_key
fi
}
+
+FILES_${PN} += "${bindir}"
diff --git a/poky/meta/recipes-core/ell/ell_0.21.bb b/poky/meta/recipes-core/ell/ell_0.21.bb
deleted file mode 100644
index 487fbccab5..0000000000
--- a/poky/meta/recipes-core/ell/ell_0.21.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-SUMMARY = "Embedded Linux Library"
-DESCRIPTION = "The Embedded Linux Library (ELL) provides core, \
-low-level functionality for system daemons. It typically has no \
-dependencies other than the Linux kernel, C standard library, and \
-libdl (for dynamic linking). While ELL is designed to be efficient \
-and compact enough for use on embedded Linux platforms, it is not \
-limited to resource-constrained systems."
-SECTION = "libs"
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=fb504b67c50331fc78734fed90fb0e09"
-
-DEPENDS = "dbus"
-
-inherit autotools pkgconfig
-
-SRC_URI = "https://mirrors.edge.kernel.org/pub/linux/libs/${BPN}/${BPN}-${PV}.tar.xz"
-SRC_URI[md5sum] = "f94f8c812b0426b0c30b651fa5142dd9"
-SRC_URI[sha256sum] = "a0db4e3057ba41035637354b6af2aa4c74f83509e0c3e563d682df9d72eaff17"
-
-do_configure_prepend () {
- mkdir -p ${S}/build-aux
-}
diff --git a/poky/meta/recipes-core/ell/ell_0.22.bb b/poky/meta/recipes-core/ell/ell_0.22.bb
new file mode 100644
index 0000000000..b3942fc30e
--- /dev/null
+++ b/poky/meta/recipes-core/ell/ell_0.22.bb
@@ -0,0 +1,22 @@
+SUMMARY = "Embedded Linux Library"
+DESCRIPTION = "The Embedded Linux Library (ELL) provides core, \
+low-level functionality for system daemons. It typically has no \
+dependencies other than the Linux kernel, C standard library, and \
+libdl (for dynamic linking). While ELL is designed to be efficient \
+and compact enough for use on embedded Linux platforms, it is not \
+limited to resource-constrained systems."
+SECTION = "libs"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=fb504b67c50331fc78734fed90fb0e09"
+
+DEPENDS = "dbus"
+
+inherit autotools pkgconfig
+
+SRC_URI = "https://mirrors.edge.kernel.org/pub/linux/libs/${BPN}/${BPN}-${PV}.tar.xz"
+SRC_URI[md5sum] = "a4e7d74404f11e71775b89f53a8f1c33"
+SRC_URI[sha256sum] = "3c1d6d997e17dfcbe4ebcd1331d9a7be5c64f2f0a0813bc223790e570d8da2e3"
+
+do_configure_prepend () {
+ mkdir -p ${S}/build-aux
+}
diff --git a/poky/meta/recipes-core/glib-networking/glib-networking_2.60.2.bb b/poky/meta/recipes-core/glib-networking/glib-networking_2.60.2.bb
deleted file mode 100644
index 4d4fe64916..0000000000
--- a/poky/meta/recipes-core/glib-networking/glib-networking_2.60.2.bb
+++ /dev/null
@@ -1,32 +0,0 @@
-SUMMARY = "GLib networking extensions"
-DESCRIPTION = "glib-networking contains the implementations of certain GLib networking features that cannot be implemented directly in GLib itself because of their dependencies."
-HOMEPAGE = "https://gitlab.gnome.org/GNOME/glib-networking/"
-BUGTRACKER = "http://bugzilla.gnome.org"
-
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
-
-SECTION = "libs"
-DEPENDS = "glib-2.0"
-
-SRC_URI[archive.md5sum] = "bf46d1208ac00d78a45fbf621d459025"
-SRC_URI[archive.sha256sum] = "c022f3d10f55a5b7c31676fb001b4cb6401db8ab9f6e8418c69de00d0f268732"
-
-PACKAGECONFIG ??= "gnutls"
-
-PACKAGECONFIG[gnutls] = "-Dgnutls=enabled,-Dgnutls=disabled,gnutls"
-PACKAGECONFIG[openssl] = "-Dopenssl=enabled,-Dopenssl=disabled,openssl"
-PACKAGECONFIG[libproxy] = "-Dlibproxy=enabled,-Dlibproxy=disabled,libproxy"
-
-EXTRA_OEMESON = "-Dgnome_proxy=disabled"
-
-GNOMEBASEBUILDCLASS = "meson"
-inherit gnomebase gettext upstream-version-is-even gio-module-cache
-
-FILES_${PN} += "\
- ${libdir}/gio/modules/libgio*.so \
- ${datadir}/dbus-1/services/ \
- ${systemd_user_unitdir} \
- "
-FILES_${PN}-dev += "${libdir}/gio/modules/libgio*.la"
-FILES_${PN}-staticdev += "${libdir}/gio/modules/libgio*.a"
diff --git a/poky/meta/recipes-core/glib-networking/glib-networking_2.60.3.bb b/poky/meta/recipes-core/glib-networking/glib-networking_2.60.3.bb
new file mode 100644
index 0000000000..d893b7a3a1
--- /dev/null
+++ b/poky/meta/recipes-core/glib-networking/glib-networking_2.60.3.bb
@@ -0,0 +1,32 @@
+SUMMARY = "GLib networking extensions"
+DESCRIPTION = "glib-networking contains the implementations of certain GLib networking features that cannot be implemented directly in GLib itself because of their dependencies."
+HOMEPAGE = "https://gitlab.gnome.org/GNOME/glib-networking/"
+BUGTRACKER = "http://bugzilla.gnome.org"
+
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
+
+SECTION = "libs"
+DEPENDS = "glib-2.0"
+
+SRC_URI[archive.md5sum] = "e8fd0462a82269fb4bbd6c07a1e7d0f4"
+SRC_URI[archive.sha256sum] = "d50183046a4ff955d8cc7e953067cdfc94f14dbfda3024bf377ff37a3121dcd5"
+
+PACKAGECONFIG ??= "gnutls"
+
+PACKAGECONFIG[gnutls] = "-Dgnutls=enabled,-Dgnutls=disabled,gnutls"
+PACKAGECONFIG[openssl] = "-Dopenssl=enabled,-Dopenssl=disabled,openssl"
+PACKAGECONFIG[libproxy] = "-Dlibproxy=enabled,-Dlibproxy=disabled,libproxy"
+
+EXTRA_OEMESON = "-Dgnome_proxy=disabled"
+
+GNOMEBASEBUILDCLASS = "meson"
+inherit gnomebase gettext upstream-version-is-even gio-module-cache
+
+FILES_${PN} += "\
+ ${libdir}/gio/modules/libgio*.so \
+ ${datadir}/dbus-1/services/ \
+ ${systemd_user_unitdir} \
+ "
+FILES_${PN}-dev += "${libdir}/gio/modules/libgio*.la"
+FILES_${PN}-staticdev += "${libdir}/gio/modules/libgio*.a"
diff --git a/poky/meta/recipes-core/glibc/glibc-package.inc b/poky/meta/recipes-core/glibc/glibc-package.inc
index f796876a87..9b1e7b7903 100644
--- a/poky/meta/recipes-core/glibc/glibc-package.inc
+++ b/poky/meta/recipes-core/glibc/glibc-package.inc
@@ -88,14 +88,7 @@ do_install_append () {
rm -f ${D}${sysconfdir}/ld.so.conf
rm -f ${D}${base_sbindir}/ldconfig
# This directory will be empty now so remove it too.
- # But check whether it exists first, since it won't for glibc-initial.
- if [ -d ${D}${sysconfdir} ]; then
- rmdir ${D}${sysconfdir}
- fi
- fi
-
- if echo ${PN}|grep -q "glibc-initial"; then
- return
+ rmdir ${D}${sysconfdir}
fi
install -d ${D}${sysconfdir}/init.d
diff --git a/poky/meta/recipes-core/glibc/glibc-testsuite_2.30.bb b/poky/meta/recipes-core/glibc/glibc-testsuite_2.30.bb
new file mode 100644
index 0000000000..64fa8d87df
--- /dev/null
+++ b/poky/meta/recipes-core/glibc/glibc-testsuite_2.30.bb
@@ -0,0 +1,53 @@
+require glibc_${PV}.bb
+
+# handle PN differences
+FILESEXTRAPATHS_prepend := "${THISDIR}/glibc:"
+
+# strip provides
+PROVIDES = ""
+# setup depends
+INHIBIT_DEFAULT_DEPS = ""
+
+DEPENDS += "glibc-locale libgcc gcc-runtime"
+
+# remove the initial depends
+DEPENDS_remove = "libgcc-initial"
+
+inherit qemu
+
+SRC_URI += "file://check-test-wrapper"
+
+DEPENDS += "${@'qemu-native' if d.getVar('TOOLCHAIN_TEST_TARGET') == 'user' else ''}"
+
+TOOLCHAIN_TEST_TARGET ??= "user"
+TOOLCHAIN_TEST_HOST ??= "localhost"
+TOOLCHAIN_TEST_HOST_USER ??= "root"
+TOOLCHAIN_TEST_HOST_PORT ??= "2222"
+
+do_check[dirs] += "${B}"
+do_check[nostamp] = "1"
+do_check () {
+ chmod 0755 ${WORKDIR}/check-test-wrapper
+
+ # clean out previous test results
+ oe_runmake tests-clean
+ # makefiles don't clean entirely (and also sometimes fails due to too many args)
+ find ${B} -type f -name "*.out" -delete
+ find ${B} -type f -name "*.test-result" -delete
+ find ${B}/catgets -name "*.cat" -delete
+ find ${B}/conform -name "symlist-*" -delete
+ [ ! -e ${B}/timezone/testdata ] || rm -rf ${B}/timezone/testdata
+
+ oe_runmake -i \
+ QEMU_SYSROOT="${RECIPE_SYSROOT}" \
+ QEMU_OPTIONS="${@qemu_target_binary(d)} ${QEMU_OPTIONS}" \
+ SSH_HOST="${TOOLCHAIN_TEST_HOST}" \
+ SSH_HOST_USER="${TOOLCHAIN_TEST_HOST_USER}" \
+ SSH_HOST_PORT="${TOOLCHAIN_TEST_HOST_PORT}" \
+ test-wrapper="${WORKDIR}/check-test-wrapper ${TOOLCHAIN_TEST_TARGET}" \
+ check
+}
+addtask do_check after do_compile
+
+inherit nopackages
+deltask do_stash_locale
diff --git a/poky/meta/recipes-core/glibc/glibc/check-test-wrapper b/poky/meta/recipes-core/glibc/glibc/check-test-wrapper
new file mode 100644
index 0000000000..f8e04e02d2
--- /dev/null
+++ b/poky/meta/recipes-core/glibc/glibc/check-test-wrapper
@@ -0,0 +1,71 @@
+#!/usr/bin/env python3
+import sys
+import os
+import subprocess
+
+env = os.environ.copy()
+args = sys.argv[1:]
+targettype = args.pop(0)
+
+if targettype == "user":
+ qemuargs = os.environ.get("QEMU_OPTIONS", "").split()
+ if not os.path.exists(qemuargs[0]):
+ # ensure qemu args has a valid absolute path
+ for i in os.environ.get("PATH", "").split(":"):
+ if os.path.exists(os.path.join(i, qemuargs[0])):
+ qemuargs[0] = os.path.join(i, qemuargs[0])
+ break
+ sysroot = os.environ.get("QEMU_SYSROOT", None)
+ if not sysroot:
+ sys.exit(-1)
+ libpaths = [sysroot + "/usr/lib", sysroot + "/lib"]
+
+ if args[0] == "env":
+ args.pop(0)
+ if len(args) == 0:
+ args = ["env"]
+ else:
+ # process options
+ while args[0].startswith("-"):
+ opt = args.pop(0).lstrip("-")
+ if "i" in opt:
+ env.clear()
+ # process environment vars
+ while "=" in args[0]:
+ key, val = args.pop(0).split("=", 1)
+ if key == "LD_LIBRARY_PATH":
+ libpaths += val.split(":")
+ else:
+ env[key] = val
+ if args[0] == "cp":
+ # ignore copies, the filesystem is the same
+ sys.exit(0)
+
+ qemuargs += ["-L", sysroot]
+ qemuargs += ["-E", "LD_LIBRARY_PATH={}".format(":".join(libpaths))]
+ command = qemuargs + args
+elif targettype == "ssh":
+ host = os.environ.get("SSH_HOST", None)
+ user = os.environ.get("SSH_HOST_USER", None)
+ port = os.environ.get("SSH_HOST_PORT", None)
+
+ command = ["ssh", "-o", "UserKnownHostsFile=/dev/null", "-o", "StrictHostKeyChecking=no"]
+ if port:
+ command += ["-p", str(port)]
+ if not host:
+ sys.exit(-1)
+ command += ["{}@{}".format(user, host) if user else host]
+
+ # wrap and replace quotes for correct transformation on ssh
+ wrapped = " ".join(["'{0}'".format(i.replace("'", r"'\''")) for i in ["cd", os.getcwd()]]) + "; "
+ wrapped += " ".join(["'{0}'".format(i.replace("'", r"'\''")) for i in args])
+ command += ["sh", "-c", "\"{}\"".format(wrapped)]
+else:
+ sys.exit(-1)
+
+try:
+ r = subprocess.run(command, timeout = 1800, env = env)
+ sys.exit(r.returncode)
+except subprocess.TimeoutExpired:
+ sys.exit(-1)
+
diff --git a/poky/meta/recipes-core/images/build-appliance-image_15.0.0.bb b/poky/meta/recipes-core/images/build-appliance-image_15.0.0.bb
index e9cac98c57..3f1b1c7a5e 100644
--- a/poky/meta/recipes-core/images/build-appliance-image_15.0.0.bb
+++ b/poky/meta/recipes-core/images/build-appliance-image_15.0.0.bb
@@ -11,6 +11,8 @@ IMAGE_INSTALL = "packagegroup-core-boot packagegroup-core-ssh-openssh packagegro
IMAGE_FEATURES += "x11-base package-management splash"
+QB_MEM = '${@bb.utils.contains("DISTRO_FEATURES", "opengl", "-m 512", "-m 256", d)}'
+
# Ensure there's enough space to do a core-image-sato build, with rm_work enabled
IMAGE_ROOTFS_EXTRA_SPACE = "41943040"
diff --git a/poky/meta/recipes-core/initscripts/initscripts-1.0/populate-volatile.sh b/poky/meta/recipes-core/initscripts/initscripts-1.0/populate-volatile.sh
index 6f965a6870..1c525b71bd 100755
--- a/poky/meta/recipes-core/initscripts/initscripts-1.0/populate-volatile.sh
+++ b/poky/meta/recipes-core/initscripts/initscripts-1.0/populate-volatile.sh
@@ -80,7 +80,7 @@ mk_dir() {
link_file() {
EXEC="
if [ -L \"$2\" ]; then
- [ \"\$(readlink -f \"$2\")\" != \"$1\" ] && { rm -f \"$2\"; ln -sf \"$1\" \"$2\"; };
+ [ \"\$(readlink \"$2\")\" != \"$1\" ] && { rm -f \"$2\"; ln -sf \"$1\" \"$2\"; };
elif [ -d \"$2\" ]; then
if awk '\$2 == \"$2\" {exit 1}' /proc/mounts; then
cp -a $2/* $1 2>/dev/null;
diff --git a/poky/meta/recipes-core/libxcrypt/libxcrypt-compat_4.4.6.bb b/poky/meta/recipes-core/libxcrypt/libxcrypt-compat_4.4.6.bb
deleted file mode 100644
index ebc4648a18..0000000000
--- a/poky/meta/recipes-core/libxcrypt/libxcrypt-compat_4.4.6.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# This provides libcrypto.so.1 which contains obsolete APIs, needed for uninative in particular
-#
-
-require libxcrypt_${PV}.bb
-
-PROVIDES = ""
-AUTO_LIBNAME_PKGS = ""
-EXCLUDE_FROM_WORLD = "1"
-
-API = "--enable-obsolete-api"
-
-do_install_append () {
- rm -rf ${D}${includedir}
- rm -rf ${D}${libdir}/pkgconfig
- rm -rf ${D}${datadir}
-}
-
diff --git a/poky/meta/recipes-core/libxcrypt/libxcrypt-compat_4.4.8.bb b/poky/meta/recipes-core/libxcrypt/libxcrypt-compat_4.4.8.bb
new file mode 100644
index 0000000000..ebc4648a18
--- /dev/null
+++ b/poky/meta/recipes-core/libxcrypt/libxcrypt-compat_4.4.8.bb
@@ -0,0 +1,18 @@
+#
+# This provides libcrypto.so.1 which contains obsolete APIs, needed for uninative in particular
+#
+
+require libxcrypt_${PV}.bb
+
+PROVIDES = ""
+AUTO_LIBNAME_PKGS = ""
+EXCLUDE_FROM_WORLD = "1"
+
+API = "--enable-obsolete-api"
+
+do_install_append () {
+ rm -rf ${D}${includedir}
+ rm -rf ${D}${libdir}/pkgconfig
+ rm -rf ${D}${datadir}
+}
+
diff --git a/poky/meta/recipes-core/libxcrypt/libxcrypt_4.4.6.bb b/poky/meta/recipes-core/libxcrypt/libxcrypt_4.4.6.bb
deleted file mode 100644
index 893f5e7379..0000000000
--- a/poky/meta/recipes-core/libxcrypt/libxcrypt_4.4.6.bb
+++ /dev/null
@@ -1,35 +0,0 @@
-SUMMARY = "Extended cryptographic library (from glibc)"
-DESCRIPTION = "Forked code from glibc libary to extract only crypto part."
-HOMEPAGE = "https://github.com/besser82/libxcrypt"
-SECTION = "libs"
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM ?= "file://LICENSING;md5=be275bc7f91642efe7709a8ae7a1433b \
- file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \
-"
-
-inherit autotools pkgconfig
-
-PV = "4.4.6"
-
-SRC_URI = "git://github.com/besser82/libxcrypt.git;branch=${SRCBRANCH}"
-SRCREV = "398943774c5ff38baf1bc5ee088855fd8983bb05"
-SRCBRANCH ?= "develop"
-
-PROVIDES = "virtual/crypt"
-
-FILES_${PN} = "${libdir}/libcrypt*.so.* \
- ${libdir}/libcrypt-*.so \
- ${libdir}/libowcrypt*.so.* \
- ${libdir}/libowcrypt-*.so \
-"
-
-S = "${WORKDIR}/git"
-
-BUILD_CPPFLAGS = "-I${STAGING_INCDIR_NATIVE}"
-TARGET_CPPFLAGS = "-I${STAGING_DIR_TARGET}${includedir} -Wno-error=missing-attributes"
-CPPFLAGS_append_class-nativesdk = " -Wno-error=missing-attributes"
-
-API = "--disable-obsolete-api"
-EXTRA_OECONF += "${API}"
-
-BBCLASSEXTEND = "nativesdk"
diff --git a/poky/meta/recipes-core/libxcrypt/libxcrypt_4.4.8.bb b/poky/meta/recipes-core/libxcrypt/libxcrypt_4.4.8.bb
new file mode 100644
index 0000000000..1787f6921e
--- /dev/null
+++ b/poky/meta/recipes-core/libxcrypt/libxcrypt_4.4.8.bb
@@ -0,0 +1,33 @@
+SUMMARY = "Extended cryptographic library (from glibc)"
+DESCRIPTION = "Forked code from glibc libary to extract only crypto part."
+HOMEPAGE = "https://github.com/besser82/libxcrypt"
+SECTION = "libs"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM ?= "file://LICENSING;md5=3bb6614cf5880cbf1b9dbd9e3d145e2c \
+ file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \
+"
+
+inherit autotools pkgconfig
+
+SRC_URI = "git://github.com/besser82/libxcrypt.git;branch=${SRCBRANCH}"
+SRCREV = "acd84997a5a8b2badd28b70a642abee11272fad2"
+SRCBRANCH ?= "develop"
+
+PROVIDES = "virtual/crypt"
+
+FILES_${PN} = "${libdir}/libcrypt*.so.* \
+ ${libdir}/libcrypt-*.so \
+ ${libdir}/libowcrypt*.so.* \
+ ${libdir}/libowcrypt-*.so \
+"
+
+S = "${WORKDIR}/git"
+
+BUILD_CPPFLAGS = "-I${STAGING_INCDIR_NATIVE}"
+TARGET_CPPFLAGS = "-I${STAGING_DIR_TARGET}${includedir} -Wno-error"
+CPPFLAGS_append_class-nativesdk = " -Wno-error"
+
+API = "--disable-obsolete-api"
+EXTRA_OECONF += "${API}"
+
+BBCLASSEXTEND = "nativesdk"
diff --git a/poky/meta/recipes-core/musl/musl_git.bb b/poky/meta/recipes-core/musl/musl_git.bb
index 64aee6c448..9341bf5d58 100644
--- a/poky/meta/recipes-core/musl/musl_git.bb
+++ b/poky/meta/recipes-core/musl/musl_git.bb
@@ -4,7 +4,7 @@
require musl.inc
inherit linuxloader
-SRCREV = "29e8737f81ccc9fbadcf61a75318aa3d0516aafa"
+SRCREV = "6ad514e4e278f0c3b18eb2db1d45638c9af1c07f"
BASEVER = "1.1.23"
diff --git a/poky/meta/recipes-core/packagegroups/packagegroup-core-boot.bb b/poky/meta/recipes-core/packagegroups/packagegroup-core-boot.bb
index 3a2f50febb..abbee14bd4 100644
--- a/poky/meta/recipes-core/packagegroups/packagegroup-core-boot.bb
+++ b/poky/meta/recipes-core/packagegroups/packagegroup-core-boot.bb
@@ -10,12 +10,6 @@ PACKAGE_ARCH = "${MACHINE_ARCH}"
inherit packagegroup
-#
-# Set by the machine configuration with packages essential for device bootup
-#
-MACHINE_ESSENTIAL_EXTRA_RDEPENDS ?= ""
-MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS ?= ""
-
# Distro can override the following VIRTUAL-RUNTIME providers:
VIRTUAL-RUNTIME_dev_manager ?= "udev"
VIRTUAL-RUNTIME_keymaps ?= "keymaps"
diff --git a/poky/meta/recipes-core/packagegroups/packagegroup-self-hosted.bb b/poky/meta/recipes-core/packagegroups/packagegroup-self-hosted.bb
index f206cee373..9b0ae0d1c2 100644
--- a/poky/meta/recipes-core/packagegroups/packagegroup-self-hosted.bb
+++ b/poky/meta/recipes-core/packagegroups/packagegroup-self-hosted.bb
@@ -37,7 +37,7 @@ RDEPENDS_packagegroup-self-hosted-host-tools = "\
e2fsprogs-tune2fs \
hdparm \
iptables \
- lsb \
+ lsb-release \
mc \
mc-fish \
mc-helpers \
diff --git a/poky/meta/recipes-core/systemd/systemd-serialgetty/serial-getty@.service b/poky/meta/recipes-core/systemd/systemd-serialgetty/serial-getty@.service
index e8b027e97d..15af16a9f8 100644
--- a/poky/meta/recipes-core/systemd/systemd-serialgetty/serial-getty@.service
+++ b/poky/meta/recipes-core/systemd/systemd-serialgetty/serial-getty@.service
@@ -9,7 +9,8 @@
Description=Serial Getty on %I
Documentation=man:agetty(8) man:systemd-getty-generator(8)
Documentation=http://0pointer.de/blog/projects/serial-console.html
-BindsTo=dev-%i.device
+PartOf=dev-%i.device
+ConditionPathExists=/dev/%i
After=dev-%i.device systemd-user-sessions.service plymouth-quit-wait.service
After=rc-local.service
diff --git a/poky/meta/recipes-core/systemd/systemd.inc b/poky/meta/recipes-core/systemd/systemd.inc
index 3a353b009b..1912715617 100644
--- a/poky/meta/recipes-core/systemd/systemd.inc
+++ b/poky/meta/recipes-core/systemd/systemd.inc
@@ -14,7 +14,7 @@ LICENSE = "GPLv2 & LGPLv2.1"
LIC_FILES_CHKSUM = "file://LICENSE.GPL2;md5=751419260aa954499f7abaabaa882bbe \
file://LICENSE.LGPL2.1;md5=4fbd65380cdd255951079008b364516c"
-SRCREV = "db2e367bfc3b119609f837eb973d915f6c550b2f"
+SRCREV = "f875dced33462641e1fb7875d2f9a8cd8e8c2fcc"
SRCBRANCH = "v242-stable"
SRC_URI = "git://github.com/systemd/systemd-stable.git;protocol=git;branch=${SRCBRANCH}"
diff --git a/poky/meta/recipes-core/systemd/systemd/0001-core-set-fs.file-max-sysctl-to-LONG_MAX-rather-than-.patch b/poky/meta/recipes-core/systemd/systemd/0001-core-set-fs.file-max-sysctl-to-LONG_MAX-rather-than-.patch
deleted file mode 100644
index ff64f58c9c..0000000000
--- a/poky/meta/recipes-core/systemd/systemd/0001-core-set-fs.file-max-sysctl-to-LONG_MAX-rather-than-.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 6e2f78948403a4cce45b9e34311c9577c624f066 Mon Sep 17 00:00:00 2001
-From: Lennart Poettering
-Date: Mon, 17 Jun 2019 10:51:25 +0200
-Subject: [PATCH] core: set fs.file-max sysctl to LONG_MAX rather than
- ULONG_MAX
-
-Since kernel 5.2 the kernel thankfully returns proper errors when we
-write a value out of range to the sysctl. Which however breaks writing
-ULONG_MAX to request the maximum value. Hence let's write the new
-maximum value instead, LONG_MAX.
-
-/cc @brauner
-
-Fixes: #12803
-
-Upstream-Status: Backport
-
-Signed-off-by: Matthias Schiffer
----
- src/core/main.c | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/src/core/main.c b/src/core/main.c
-index b33ea1b5b5..e7f51815f0 100644
---- a/src/core/main.c
-+++ b/src/core/main.c
-@@ -1245,9 +1245,9 @@ static void bump_file_max_and_nr_open(void) {
- #endif
-
- #if BUMP_PROC_SYS_FS_FILE_MAX
-- /* I so wanted to use STRINGIFY(ULONG_MAX) here, but alas we can't as glibc/gcc define that as
-- * "(0x7fffffffffffffffL * 2UL + 1UL)". Seriously. 😢 */
-- if (asprintf(&t, "%lu\n", ULONG_MAX) < 0) {
-+ /* The maximum the kernel allows for this since 5.2 is LONG_MAX, use that. (Previously thing where
-+ * different but the operation would fail silently.) */
-+ if (asprintf(&t, "%li\n", LONG_MAX) < 0) {
- log_oom();
- return;
- }
diff --git a/poky/meta/recipes-core/systemd/systemd/0001-networkd-fix-link-up.patch b/poky/meta/recipes-core/systemd/systemd/0001-networkd-fix-link-up.patch
deleted file mode 100644
index 4c7a0a33a3..0000000000
--- a/poky/meta/recipes-core/systemd/systemd/0001-networkd-fix-link-up.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-From 6bd76d2d4ff130decd3aa13e0c2dbfd56ff8d7b7 Mon Sep 17 00:00:00 2001
-From: Susant Sahani
-Date: Thu, 9 May 2019 07:35:35 +0530
-Subject: [PATCH] networkd: fix link_up() (#12505)
-
-Fillup IFLA_INET6_ADDR_GEN_MODE while we do link_up.
-
-Fixes the following error:
-```
-dummy-test: Could not bring up interface: Invalid argument
-```
-
-After reading the kernel code when we do a link up
-```
-net/core/rtnetlink.c
-IFLA_AF_SPEC
- af_ops->set_link_af(dev, af);
- inet6_set_link_af
- if (tb[IFLA_INET6_ADDR_GEN_MODE])
- Here it looks for IFLA_INET6_ADDR_GEN_MODE
-```
-Since link up we didn't filling up that it's failing.
-
-Closes #12504.
-
-Signed-off-by: Ricardo Ribalda Delgado
-
-Upstream-Status: Backport [https://github.com/systemd/systemd/commit/4eb086a38712ea98faf41e075b84555b11b54362.patch]
-
----
- src/network/networkd-link.c | 15 +++++++++++++++
- 1 file changed, 15 insertions(+)
-
-diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c
-index e466b96792..042496173c 100644
---- a/src/network/networkd-link.c
-+++ b/src/network/networkd-link.c
-@@ -2034,6 +2034,8 @@ static int link_up(Link *link) {
- }
-
- if (link_ipv6_enabled(link)) {
-+ uint8_t ipv6ll_mode;
-+
- r = sd_netlink_message_open_container(req, IFLA_AF_SPEC);
- if (r < 0)
- return log_link_error_errno(link, r, "Could not open IFLA_AF_SPEC container: %m");
-@@ -2049,6 +2051,19 @@ static int link_up(Link *link) {
- return log_link_error_errno(link, r, "Could not append IFLA_INET6_TOKEN: %m");
- }
-
-+ if (!link_ipv6ll_enabled(link))
-+ ipv6ll_mode = IN6_ADDR_GEN_MODE_NONE;
-+ else if (sysctl_read_ip_property(AF_INET6, link->ifname, "stable_secret", NULL) < 0)
-+ /* The file may not exist. And event if it exists, when stable_secret is unset,
-+ * reading the file fails with EIO. */
-+ ipv6ll_mode = IN6_ADDR_GEN_MODE_EUI64;
-+ else
-+ ipv6ll_mode = IN6_ADDR_GEN_MODE_STABLE_PRIVACY;
-+
-+ r = sd_netlink_message_append_u8(req, IFLA_INET6_ADDR_GEN_MODE, ipv6ll_mode);
-+ if (r < 0)
-+ return log_link_error_errno(link, r, "Could not append IFLA_INET6_ADDR_GEN_MODE: %m");
-+
- r = sd_netlink_message_close_container(req);
- if (r < 0)
- return log_link_error_errno(link, r, "Could not close AF_INET6 container: %m");
diff --git a/poky/meta/recipes-core/systemd/systemd/0001-resolved-Fix-incorrect-use-of-OpenSSL-BUF_MEM.patch b/poky/meta/recipes-core/systemd/systemd/0001-resolved-Fix-incorrect-use-of-OpenSSL-BUF_MEM.patch
deleted file mode 100644
index f0ae1db60d..0000000000
--- a/poky/meta/recipes-core/systemd/systemd/0001-resolved-Fix-incorrect-use-of-OpenSSL-BUF_MEM.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From 18bddeaaf225d5becfc10cd2c6a1d037c90574a2 Mon Sep 17 00:00:00 2001
-From: Tomas Mraz
-Date: Tue, 11 Jun 2019 15:10:21 +0200
-Subject: [PATCH] resolved: Fix incorrect use of OpenSSL BUF_MEM
-
-Fixes: #12763
-Upstream-Status: Backport [Not yet released]
- https://github.com/systemd/systemd/commit/18bddeaaf225d5becfc10cd2c6a1d037c90574a2
-Signed-off-by: Alex Kiernan
----
- src/resolve/resolved-dnstls-openssl.c | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/src/resolve/resolved-dnstls-openssl.c b/src/resolve/resolved-dnstls-openssl.c
-index f269e4d6487f..5d9223007581 100644
---- a/src/resolve/resolved-dnstls-openssl.c
-+++ b/src/resolve/resolved-dnstls-openssl.c
-@@ -6,6 +6,7 @@
-
- #include
- #include
-+#include
-
- #include "io-util.h"
- #include "resolved-dns-stream.h"
-@@ -34,9 +35,11 @@ static int dnstls_flush_write_buffer(DnsStream *stream) {
- return ss;
- } else {
- stream->dnstls_data.write_buffer->length -= ss;
-- stream->dnstls_data.write_buffer->data += ss;
-
- if (stream->dnstls_data.write_buffer->length > 0) {
-+ memmove(stream->dnstls_data.write_buffer->data,
-+ stream->dnstls_data.write_buffer->data + ss,
-+ stream->dnstls_data.write_buffer->length);
- stream->dnstls_events |= EPOLLOUT;
- return -EAGAIN;
- }
---
-2.17.1
-
diff --git a/poky/meta/recipes-core/systemd/systemd/0002-network-do-not-send-ipv6.patch b/poky/meta/recipes-core/systemd/systemd/0002-network-do-not-send-ipv6.patch
deleted file mode 100644
index 2565314876..0000000000
--- a/poky/meta/recipes-core/systemd/systemd/0002-network-do-not-send-ipv6.patch
+++ /dev/null
@@ -1,96 +0,0 @@
-From b5c4eb818101127a606849e822937b15b8497c75 Mon Sep 17 00:00:00 2001
-From: Yu Watanabe
-Date: Thu, 9 May 2019 14:39:46 +0900
-Subject: [PATCH] network: do not send ipv6 token to kernel
-
-We disabled kernel RA support. Then, we should not send
-IFLA_INET6_TOKEN.
-Thus, we do not need to send IFLA_INET6_ADDR_GEN_MODE twice.
-
-Follow-up for 0e2fdb83bb5e22047e0c7cc058b415d0e93f02cf and
-4eb086a38712ea98faf41e075b84555b11b54362.
-
-Signed-off-by: Ricardo Ribalda Delgado
-
-Upstream-Status: Backport [https://github.com/systemd/systemd/commit/9f6e82e6eb3b6e73d66d00d1d6eee60691fb702f]
-
----
- src/network/networkd-link.c | 51 +++++--------------------------------
- 1 file changed, 6 insertions(+), 45 deletions(-)
-
-diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c
-index 042496173c..c49dba33da 100644
---- a/src/network/networkd-link.c
-+++ b/src/network/networkd-link.c
-@@ -1940,6 +1940,9 @@ static int link_configure_addrgen_mode(Link *link) {
- assert(link->manager);
- assert(link->manager->rtnl);
-
-+ if (!socket_ipv6_is_supported())
-+ return 0;
-+
- log_link_debug(link, "Setting address genmode for link");
-
- r = sd_rtnl_message_new_link(link->manager->rtnl, &req, RTM_SETLINK, link->ifindex);
-@@ -2033,46 +2036,6 @@ static int link_up(Link *link) {
- return log_link_error_errno(link, r, "Could not set MAC address: %m");
- }
-
-- if (link_ipv6_enabled(link)) {
-- uint8_t ipv6ll_mode;
--
-- r = sd_netlink_message_open_container(req, IFLA_AF_SPEC);
-- if (r < 0)
-- return log_link_error_errno(link, r, "Could not open IFLA_AF_SPEC container: %m");
--
-- /* if the kernel lacks ipv6 support setting IFF_UP fails if any ipv6 options are passed */
-- r = sd_netlink_message_open_container(req, AF_INET6);
-- if (r < 0)
-- return log_link_error_errno(link, r, "Could not open AF_INET6 container: %m");
--
-- if (!in_addr_is_null(AF_INET6, &link->network->ipv6_token)) {
-- r = sd_netlink_message_append_in6_addr(req, IFLA_INET6_TOKEN, &link->network->ipv6_token.in6);
-- if (r < 0)
-- return log_link_error_errno(link, r, "Could not append IFLA_INET6_TOKEN: %m");
-- }
--
-- if (!link_ipv6ll_enabled(link))
-- ipv6ll_mode = IN6_ADDR_GEN_MODE_NONE;
-- else if (sysctl_read_ip_property(AF_INET6, link->ifname, "stable_secret", NULL) < 0)
-- /* The file may not exist. And event if it exists, when stable_secret is unset,
-- * reading the file fails with EIO. */
-- ipv6ll_mode = IN6_ADDR_GEN_MODE_EUI64;
-- else
-- ipv6ll_mode = IN6_ADDR_GEN_MODE_STABLE_PRIVACY;
--
-- r = sd_netlink_message_append_u8(req, IFLA_INET6_ADDR_GEN_MODE, ipv6ll_mode);
-- if (r < 0)
-- return log_link_error_errno(link, r, "Could not append IFLA_INET6_ADDR_GEN_MODE: %m");
--
-- r = sd_netlink_message_close_container(req);
-- if (r < 0)
-- return log_link_error_errno(link, r, "Could not close AF_INET6 container: %m");
--
-- r = sd_netlink_message_close_container(req);
-- if (r < 0)
-- return log_link_error_errno(link, r, "Could not close IFLA_AF_SPEC container: %m");
-- }
--
- r = netlink_call_async(link->manager->rtnl, NULL, req, link_up_handler,
- link_netlink_destroy_callback, link);
- if (r < 0)
-@@ -3208,11 +3171,9 @@ static int link_configure(Link *link) {
- if (r < 0)
- return r;
-
-- if (socket_ipv6_is_supported()) {
-- r = link_configure_addrgen_mode(link);
-- if (r < 0)
-- return r;
-- }
-+ r = link_configure_addrgen_mode(link);
-+ if (r < 0)
-+ return r;
-
- return link_configure_after_setting_mtu(link);
- }
diff --git a/poky/meta/recipes-core/systemd/systemd/0006-network-remove-redunant-link-name-in-message.patch b/poky/meta/recipes-core/systemd/systemd/0006-network-remove-redunant-link-name-in-message.patch
deleted file mode 100644
index 33f482ae9b..0000000000
--- a/poky/meta/recipes-core/systemd/systemd/0006-network-remove-redunant-link-name-in-message.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From 9e6940858c7dbdd56b297bdf49f58d623e3430b7 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?=
-Date: Tue, 7 May 2019 13:46:55 +0200
-Subject: [PATCH] network: remove redunant link name in message
-
-Fixes #12454.
-
-gcc was complaining that the link->ifname argument is NULL. Adding
-assert(link->ifname) right before the call has no effect. It seems that
-gcc is confused by the fact that log_link_warning_errno() internally
-calls log_object(), with link->ifname passed as the object. log_object()
-is also a macro and is does a check whether the passed object is NULL.
-So we have a check if something is NULL right next an unconditional use
-of it where it cannot be NULL. I think it's a bug in gcc.
-
-Anyway, we don't need to use link->ifname here. log_object() already prepends
-the object name to the message.
-
-Signed-off-by: Khem Raj
-Upstream-Status: backport [https://github.com/systemd/systemd/commit/c98b3545008d8e984ab456dcf79787418fcbfe13]
----
- src/network/networkd-link.c | 3 +--
- 1 file changed, 1 insertion(+), 2 deletions(-)
-
-diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c
-index 3e334c8d29..a158c01bbd 100644
---- a/src/network/networkd-link.c
-+++ b/src/network/networkd-link.c
-@@ -321,8 +321,7 @@ static int link_enable_ipv6(Link *link) {
-
- r = sysctl_write_ip_property_boolean(AF_INET6, link->ifname, "disable_ipv6", disabled);
- if (r < 0)
-- log_link_warning_errno(link, r, "Cannot %s IPv6 for interface %s: %m",
-- enable_disable(!disabled), link->ifname);
-+ log_link_warning_errno(link, r, "Cannot %s IPv6: %m", enable_disable(!disabled));
- else
- log_link_info(link, "IPv6 successfully %sd", enable_disable(!disabled));
-
---
-2.21.0
-
diff --git a/poky/meta/recipes-core/systemd/systemd_242.bb b/poky/meta/recipes-core/systemd/systemd_242.bb
index b368ca8a2c..2c101cbbb4 100644
--- a/poky/meta/recipes-core/systemd/systemd_242.bb
+++ b/poky/meta/recipes-core/systemd/systemd_242.bb
@@ -22,12 +22,7 @@ SRC_URI += "file://touchscreen.rules \
file://0003-implment-systemd-sysv-install-for-OE.patch \
file://0004-rules-whitelist-hd-devices.patch \
file://0005-rules-watch-metadata-changes-in-ide-devices.patch \
- file://0006-network-remove-redunant-link-name-in-message.patch \
file://99-default.preset \
- file://0001-resolved-Fix-incorrect-use-of-OpenSSL-BUF_MEM.patch \
- file://0001-core-set-fs.file-max-sysctl-to-LONG_MAX-rather-than-.patch \
- file://0001-networkd-fix-link-up.patch \
- file://0002-network-do-not-send-ipv6.patch \
"
# patches needed by musl
@@ -88,6 +83,7 @@ PACKAGECONFIG ??= " \
quotacheck \
randomseed \
resolved \
+ set-time-epoch \
smack \
sysusers \
timedated \
@@ -171,7 +167,12 @@ PACKAGECONFIG[seccomp] = "-Dseccomp=true,-Dseccomp=false,libseccomp"
PACKAGECONFIG[selinux] = "-Dselinux=true,-Dselinux=false,libselinux,initscripts-sushell"
PACKAGECONFIG[smack] = "-Dsmack=true,-Dsmack=false"
PACKAGECONFIG[sysusers] = "-Dsysusers=true,-Dsysusers=false"
-PACKAGECONFIG[time-epoch] = "-Dtime-epoch=0,,"
+# When enabled use reproducble build timestamp if set as time epoch,
+# or build time if not. When disabled, time epoch is unset.
+def build_epoch(d):
+ epoch = d.getVar('SOURCE_DATE_EPOCH') or "-1"
+ return '-Dtime-epoch=%d' % int(epoch)
+PACKAGECONFIG[set-time-epoch] = "${@build_epoch(d)},-Dtime-epoch=0"
PACKAGECONFIG[timedated] = "-Dtimedated=true,-Dtimedated=false"
PACKAGECONFIG[timesyncd] = "-Dtimesyncd=true,-Dtimesyncd=false"
PACKAGECONFIG[usrmerge] = "-Dsplit-usr=false,-Dsplit-usr=true"
@@ -210,6 +211,7 @@ EXTRA_OEMESON += "-Dkexec-path=${sbindir}/kexec \
-Dquotacheck-path=${sbindir}/quotacheck \
-Dquotaon-path=${sbindir}/quotaon \
-Dsulogin-path=${base_sbindir}/sulogin \
+ -Dnologin-path=${base_sbindir}/nologin \
-Dumount-path=${base_bindir}/umount"
do_install() {
@@ -619,6 +621,12 @@ python __anonymous() {
d.setVar("INHIBIT_UPDATERCD_BBCLASS", "1")
}
+python do_warn_musl() {
+ if d.getVar('TCLIBC') == "musl":
+ bb.warn("Using systemd with musl is not recommended since it is not supported upstream and some patches are known to be problematic.")
+}
+addtask warn_musl before do_configure
+
ALTERNATIVE_${PN} = "halt reboot shutdown poweroff runlevel resolv-conf"
ALTERNATIVE_TARGET[resolv-conf] = "${sysconfdir}/resolv-conf.systemd"
diff --git a/poky/meta/recipes-devtools/binutils/binutils-cross-testsuite_2.32.bb b/poky/meta/recipes-devtools/binutils/binutils-cross-testsuite_2.32.bb
new file mode 100644
index 0000000000..07a8e7c417
--- /dev/null
+++ b/poky/meta/recipes-devtools/binutils/binutils-cross-testsuite_2.32.bb
@@ -0,0 +1,85 @@
+require binutils.inc
+require binutils-${PV}.inc
+
+BPN = "binutils"
+
+DEPENDS += "dejagnu-native expect-native"
+DEPENDS += "binutils-native"
+
+deltask do_compile
+deltask do_install
+
+inherit nopackages
+
+do_configure[dirs] += "${B}/ld ${B}/bfd"
+do_configure() {
+ # create config.h, oe enables initfini-array by default
+ echo "#define HAVE_INITFINI_ARRAY" > ${B}/ld/config.h
+ # use the bfd_stdint.h from binutils-native, this is the same of the one
+ # generated by binutils-cross
+ cp ${RECIPE_SYSROOT_NATIVE}/usr/include/bfd_stdint.h ${B}/bfd/
+}
+
+# target depends
+DEPENDS += "virtual/${MLPREFIX}${TARGET_PREFIX}binutils"
+DEPENDS += "virtual/${MLPREFIX}${TARGET_PREFIX}gcc"
+DEPENDS += "virtual/${MLPREFIX}${TARGET_PREFIX}compilerlibs"
+DEPENDS += "virtual/${MLPREFIX}libc"
+
+python check_prepare() {
+ def suffix_sys(sys):
+ if sys.endswith("-linux"):
+ return sys + "-gnu"
+ return sys
+
+ def generate_site_exp(d, suite):
+ content = []
+ content.append('set srcdir "{0}/{1}"'.format(d.getVar("S"), suite))
+ content.append('set objdir "{0}/{1}"'.format(d.getVar("B"), suite))
+ content.append('set build_alias "{0}"'.format(d.getVar("BUILD_SYS")))
+ content.append('set build_triplet {0}'.format(d.getVar("BUILD_SYS")))
+ # use BUILD here since HOST=TARGET
+ content.append('set host_alias "{0}"'.format(d.getVar("BUILD_SYS")))
+ content.append('set host_triplet {0}'.format(d.getVar("BUILD_SYS")))
+ content.append('set target_alias "{0}"'.format(d.getVar("TARGET_SYS")))
+ content.append('set target_triplet {0}'.format(suffix_sys(d.getVar("TARGET_SYS"))))
+ content.append("set development true")
+ content.append("set experimental false")
+
+ content.append(d.expand('set CXXFILT "${TARGET_PREFIX}c++filt"'))
+ content.append(d.expand('set CC "${TARGET_PREFIX}gcc --sysroot=${STAGING_DIR_TARGET} ${TUNE_CCARGS}"'))
+ content.append(d.expand('set CXX "${TARGET_PREFIX}g++ --sysroot=${STAGING_DIR_TARGET} ${TUNE_CCARGS}"'))
+ content.append(d.expand('set CFLAGS_FOR_TARGET "--sysroot=${STAGING_DIR_TARGET} ${TUNE_CCARGS}"'))
+
+ if suite == "ld" and d.getVar("TUNE_ARCH") == "mips64":
+ # oe patches binutils to have the default mips64 abi as 64bit, but
+ # skips gas causing issues with the ld test suite (which uses gas)
+ content.append('set ASFLAGS "-64"')
+
+ return "\n".join(content)
+
+ for i in ["binutils", "gas", "ld"]:
+ builddir = os.path.join(d.getVar("B"), i)
+ if not os.path.isdir(builddir):
+ os.makedirs(builddir)
+ with open(os.path.join(builddir, "site.exp"), "w") as f:
+ f.write(generate_site_exp(d, i))
+}
+
+CHECK_TARGETS ??= "binutils gas ld"
+
+do_check[dirs] = "${B} ${B}/binutils ${B}/gas ${B}/ld"
+do_check[prefuncs] += "check_prepare"
+do_check[nostamp] = "1"
+do_check() {
+ export LC_ALL=C
+ for i in ${CHECK_TARGETS}; do
+ (cd ${B}/$i; runtest \
+ --tool $i \
+ --srcdir ${S}/$i/testsuite \
+ --ignore 'plugin.exp' \
+ || true)
+ done
+}
+addtask check after do_configure
+
diff --git a/poky/meta/recipes-devtools/binutils/binutils/0010-Change-default-emulation-for-mips64-linux.patch b/poky/meta/recipes-devtools/binutils/binutils/0010-Change-default-emulation-for-mips64-linux.patch
index ba5e4c2ce5..5f4ac72f48 100644
--- a/poky/meta/recipes-devtools/binutils/binutils/0010-Change-default-emulation-for-mips64-linux.patch
+++ b/poky/meta/recipes-devtools/binutils/binutils/0010-Change-default-emulation-for-mips64-linux.patch
@@ -1,4 +1,4 @@
-From d540e95d05cd7c4b8924ac7b257c14ae0105d0ab Mon Sep 17 00:00:00 2001
+From 958a49749b772660d3bafb80748829cba6bed065 Mon Sep 17 00:00:00 2001
From: Khem Raj
Date: Mon, 2 Mar 2015 01:44:14 +0000
Subject: [PATCH 10/15] Change default emulation for mips64*-*-linux
@@ -14,7 +14,7 @@ Signed-off-by: Khem Raj
2 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/bfd/config.bfd b/bfd/config.bfd
-index 0e1ddb659c..cc65547588 100644
+index 0e1ddb659c..d4f50f0a8d 100644
--- a/bfd/config.bfd
+++ b/bfd/config.bfd
@@ -919,12 +919,12 @@ case "${targ}" in
@@ -30,7 +30,7 @@ index 0e1ddb659c..cc65547588 100644
- targ_defvec=mips_elf32_ntrad_be_vec
- targ_selvecs="mips_elf32_ntrad_le_vec mips_elf32_trad_be_vec mips_elf32_trad_le_vec mips_elf64_trad_be_vec mips_elf64_trad_le_vec"
+ targ_defvec=mips_elf64_trad_be_vec
-+ targ_selvecs="mips_elf32_ntrad_be_vec mips_elf32_ntrad_be_vec mips_elf32_trad_be_vec mips_elf32_trad_le_vec mips_elf64_trad_le_vec"
++ targ_selvecs="mips_elf32_ntrad_be_vec mips_elf32_ntrad_le_vec mips_elf32_trad_be_vec mips_elf32_trad_le_vec mips_elf64_trad_le_vec"
;;
mips*el-*-linux*)
targ_defvec=mips_elf32_trad_le_vec
@@ -54,6 +54,3 @@ index beba17ef51..917be6f8eb 100644
targ_extra_libpath=$targ_extra_emuls ;;
mips*el-*-linux-*) targ_emul=elf32ltsmip
targ_extra_emuls="elf32btsmip elf32ltsmipn32 elf64ltsmip elf32btsmipn32 elf64btsmip"
---
-2.20.1
-
diff --git a/poky/meta/recipes-devtools/bootchart2/bootchart2/0001-bootchart2-support-usrmerge.patch b/poky/meta/recipes-devtools/bootchart2/bootchart2/0001-bootchart2-support-usrmerge.patch
new file mode 100644
index 0000000000..8ee6723df1
--- /dev/null
+++ b/poky/meta/recipes-devtools/bootchart2/bootchart2/0001-bootchart2-support-usrmerge.patch
@@ -0,0 +1,37 @@
+From b6d1a1ff2de363b1b76c8c70f77ae56a4e4d4b56 Mon Sep 17 00:00:00 2001
+From: Changqing Li
+Date: Thu, 5 Sep 2019 18:37:31 +0800
+Subject: [PATCH] bootchart2: support usrmerge
+
+Upstream-Status: Inappropriate[oe-specific]
+
+Signed-off-by: Changqing Li
+---
+ Makefile | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 1cc2974..f988904 100644
+--- a/Makefile
++++ b/Makefile
+@@ -36,7 +36,7 @@ endif
+ PY_SITEDIR ?= $(PY_LIBDIR)/site-packages
+ LIBC_A_PATH = /usr$(LIBDIR)
+ # Always lib, even on systems that otherwise use lib64
+-SYSTEMD_UNIT_DIR = $(EARLY_PREFIX)/lib/systemd/system
++SYSTEMD_UNIT_DIR ?= $(EARLY_PREFIX)/lib/systemd/system
+ COLLECTOR = \
+ collector/collector.o \
+ collector/output.o \
+@@ -99,7 +99,7 @@ install-chroot:
+ install -d $(DESTDIR)$(PKGLIBDIR)/tmpfs
+
+ install-collector: all install-chroot
+- install -m 755 -D bootchartd $(DESTDIR)$(EARLY_PREFIX)/sbin/$(PROGRAM_PREFIX)bootchartd$(PROGRAM_SUFFIX)
++ install -m 755 -D bootchartd $(DESTDIR)${BASE_SBINDIR}/$(PROGRAM_PREFIX)bootchartd$(PROGRAM_SUFFIX)
+ install -m 644 -D bootchartd.conf $(DESTDIR)/etc/$(PROGRAM_PREFIX)bootchartd$(PROGRAM_SUFFIX).conf
+ install -m 755 -D bootchart-collector $(DESTDIR)$(PKGLIBDIR)/$(PROGRAM_PREFIX)bootchart$(PROGRAM_SUFFIX)-collector
+
+--
+2.7.4
+
diff --git a/poky/meta/recipes-devtools/bootchart2/bootchart2_0.14.8.bb b/poky/meta/recipes-devtools/bootchart2/bootchart2_0.14.8.bb
index 396d0ec0a1..a938b2da49 100644
--- a/poky/meta/recipes-devtools/bootchart2/bootchart2_0.14.8.bb
+++ b/poky/meta/recipes-devtools/bootchart2/bootchart2_0.14.8.bb
@@ -93,6 +93,7 @@ UPSTREAM_CHECK_GITTAGREGEX = "(?P\d+\.\d+(\.\d+)*)"
SRC_URI = "git://github.com/xrmx/bootchart.git \
file://bootchartd_stop.sh \
file://0001-collector-Allocate-space-on-heap-for-chunks.patch \
+ file://0001-bootchart2-support-usrmerge.patch \
"
S = "${WORKDIR}/git"
@@ -114,6 +115,8 @@ UPDATERCPN = "bootchartd-stop-initscript"
INITSCRIPT_NAME = "bootchartd_stop.sh"
INITSCRIPT_PARAMS = "start 99 2 3 4 5 ."
+EXTRA_OEMAKE = 'BASE_SBINDIR="${base_sbindir}"'
+
do_compile_prepend () {
export PY_LIBDIR="${libdir}/${PYTHON_DIR}"
export BINDIR="${bindir}"
@@ -126,6 +129,8 @@ do_install () {
export BINDIR="${bindir}"
export DESTDIR="${D}"
export LIBDIR="${base_libdir}"
+ export PKGLIBDIR="${base_libdir}/bootchart"
+ export SYSTEMD_UNIT_DIR="${systemd_unitdir}/system"
oe_runmake install
install -d ${D}${sysconfdir}/init.d
@@ -141,7 +146,7 @@ PACKAGES =+ "pybootchartgui"
FILES_pybootchartgui += "${PYTHON_SITEPACKAGES_DIR}/pybootchartgui ${bindir}/pybootchartgui"
RDEPENDS_pybootchartgui = "python3-pycairo python3-compression python3-image python3-shell python3-compression python3-codecs"
RDEPENDS_${PN}_class-target += "${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'sysvinit-pidof', 'procps', d)}"
-RDEPENDS_${PN}_class-target += "lsb"
+RDEPENDS_${PN}_class-target += "lsb-release"
DEPENDS_append_class-native = " python3-pycairo-native"
PACKAGES =+ "bootchartd-stop-initscript"
diff --git a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.2.1.bb b/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.2.1.bb
index 647516cf92..a364cf53ed 100644
--- a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.2.1.bb
+++ b/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.2.1.bb
@@ -10,7 +10,7 @@ HOMEPAGE = "https://btrfs.wiki.kernel.org"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=fcb02dc552a041dee27e4b85c7396067"
SECTION = "base"
-DEPENDS = "util-linux attr e2fsprogs lzo acl python3-setuptools-native"
+DEPENDS = "util-linux attr e2fsprogs lzo acl"
DEPENDS_append_class-target = " udev"
RDEPENDS_${PN} = "libgcc"
@@ -19,13 +19,16 @@ SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/kdave/btrfs-progs.git \
file://0001-Add-a-possibility-to-specify-where-python-modules-ar.patch \
"
-inherit autotools-brokensep pkgconfig manpages distutils3-base
-
-CLEANBROKEN = "1"
-
+PACKAGECONFIG ??= "python"
PACKAGECONFIG[manpages] = "--enable-documentation, --disable-documentation, asciidoc-native xmlto-native"
+PACKAGECONFIG[python] = "--enable-python,--disable-python,python3-setuptools-native"
PACKAGECONFIG[zstd] = "--enable-zstd,--disable-zstd,zstd"
+inherit autotools-brokensep pkgconfig manpages
+inherit ${@bb.utils.contains('PACKAGECONFIG', 'python', 'distutils3-base', '', d)}
+
+CLEANBROKEN = "1"
+
EXTRA_OECONF_append_libc-musl = " --disable-backtrace "
EXTRA_PYTHON_CFLAGS = "${DEBUG_PREFIX_MAP}"
EXTRA_PYTHON_CFLAGS_class-native = ""
@@ -41,7 +44,9 @@ do_configure_prepend() {
S = "${WORKDIR}/git"
do_install_append() {
- oe_runmake 'DESTDIR=${D}' 'PYTHON_SITEPACKAGES_DIR=${PYTHON_SITEPACKAGES_DIR}' install_python
+ if [ "${@bb.utils.filter('PACKAGECONFIG', 'python', d)}" ]; then
+ oe_runmake 'DESTDIR=${D}' 'PYTHON_SITEPACKAGES_DIR=${PYTHON_SITEPACKAGES_DIR}' install_python
+ fi
}
BBCLASSEXTEND = "native"
diff --git a/poky/meta/recipes-devtools/build-compare/build-compare_git.bb b/poky/meta/recipes-devtools/build-compare/build-compare_git.bb
index efcf6b6dd3..b0560cc277 100644
--- a/poky/meta/recipes-devtools/build-compare/build-compare_git.bb
+++ b/poky/meta/recipes-devtools/build-compare/build-compare_git.bb
@@ -6,22 +6,14 @@ LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
SRC_URI = "git://github.com/openSUSE/build-compare.git \
- file://Rename-rpm-check.sh-to-pkg-diff.sh.patch;striplevel=1 \
file://Ignore-DWARF-sections.patch;striplevel=1 \
- file://0001-Add-support-for-deb-and-ipk-packaging.patch \
- file://functions.sh-remove-space-at-head.patch \
- file://functions.sh-run-rpm-once-to-make-it-faster.patch \
- file://pkg-diff.sh-check-for-fifo-named-pipe.patch \
- file://pkg-diff.sh-check_single_file-return-at-once-when-sa.patch \
- file://pkg-diff.sh-remove-space-in-the-end-for-ftype.patch \
- file://functions.sh-improve-deb-and-ipk-checking.patch \
"
# Date matches entry in build-compare.changes and date of SRCREV.
#
-SRCREV = "c5352c054c6ef15735da31b76d6d88620f4aff0a"
+SRCREV = "4dfa207660776cae120afa4353aec7f1f2a998d2"
PE = "1"
-PV = "2015.02.10+git${SRCPV}"
+PV = "2019.08.14+git${SRCPV}"
UPSTREAM_CHECK_COMMITS = "1"
S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-devtools/build-compare/files/0001-Add-support-for-deb-and-ipk-packaging.patch b/poky/meta/recipes-devtools/build-compare/files/0001-Add-support-for-deb-and-ipk-packaging.patch
deleted file mode 100644
index 82fd8169ff..0000000000
--- a/poky/meta/recipes-devtools/build-compare/files/0001-Add-support-for-deb-and-ipk-packaging.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-From 02dbc7e3478e409d6f5e3e1c53daddf8838be999 Mon Sep 17 00:00:00 2001
-From: Paul Eggleton
-Date: Tue, 1 Sep 2015 12:04:33 +0100
-Subject: [PATCH] Add support for deb and ipk packaging
-
-Upstream-Status: Submitted [https://github.com/openSUSE/build-compare/pull/10]
-
-Signed-off-by: Paul Eggleton
----
- functions.sh | 15 +++++++++++++++
- pkg-diff.sh | 6 ++++++
- 2 files changed, 21 insertions(+)
-
-diff --git a/functions.sh b/functions.sh
-index 06079df..85c9003 100644
---- a/functions.sh
-+++ b/functions.sh
-@@ -85,6 +85,13 @@ function unpackage()
- CPIO_OPTS="--extract --unconditional --preserve-modification-time --make-directories --quiet"
- rpm2cpio $file | cpio ${CPIO_OPTS}
- ;;
-+ *.ipk|*.deb)
-+ ar x $file
-+ tar xf control.tar.gz
-+ rm control.tar.gz
-+ tar xf data.tar.gz
-+ rm data.tar.gz
-+ ;;
- esac
- popd 1>/dev/null
- }
-@@ -255,4 +262,12 @@ function cmp_spec ()
- rm $file1 $file2
- return $RES
- }
-+
-+function adjust_controlfile() {
-+ cat $1/control | sed '/^Version: /d' > $1/control.fixed
-+ mv $1/control.fixed $1/control
-+ cat $2/control | sed '/^Version: /d' > $2/control.fixed
-+ mv $2/control.fixed $2/control
-+}
-+
- # vim: tw=666 ts=2 et
-diff --git a/pkg-diff.sh b/pkg-diff.sh
-index 0f1fa76..3cf10aa 100644
---- a/pkg-diff.sh
-+++ b/pkg-diff.sh
-@@ -138,6 +138,12 @@ echo "Extracting packages"
- unpackage $oldpkg $dir/old
- unpackage $newpkg $dir/new
-
-+case $oldpkg in
-+ *.deb|*.ipk)
-+ adjust_controlfile $dir/old $dir/new
-+ ;;
-+esac
-+
- # files is set in cmp_spec for rpms, so if RES is empty we should assume
- # it wasn't an rpm and pick all files for comparison.
- if [ -z $RES ]; then
---
-2.1.0
-
diff --git a/poky/meta/recipes-devtools/build-compare/files/Ignore-DWARF-sections.patch b/poky/meta/recipes-devtools/build-compare/files/Ignore-DWARF-sections.patch
index 7dda1acbf2..2fb62ae8ce 100644
--- a/poky/meta/recipes-devtools/build-compare/files/Ignore-DWARF-sections.patch
+++ b/poky/meta/recipes-devtools/build-compare/files/Ignore-DWARF-sections.patch
@@ -23,18 +23,15 @@ Signed-off-by: Randy Witt
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pkg-diff.sh b/pkg-diff.sh
-index 56035c1..0f1fa76 100755
+index 9c2125e..b0d77c8 100755
--- a/pkg-diff.sh
+++ b/pkg-diff.sh
-@@ -658,7 +658,7 @@ check_single_file()
+@@ -851,7 +851,7 @@ check_single_file()
echo "" >$file1
echo "" >$file2
- # Don't compare .build-id and .gnu_debuglink sections
-- sections="$(objdump -s new/$file | grep "Contents of section .*:" | sed -r "s,.* (.*):,\1,g" | grep -v -e "\.build-id" -e "\.gnu_debuglink" | tr "\n" " ")"
-+ sections="$(objdump -s new/$file | grep "Contents of section .*:" | sed -r "s,.* (.*):,\1,g" | grep -v -e "\.build-id" -e "\.gnu_debuglink" -e "\.debug_abbrev" -e "\.debug_aranges" -e "\.debug_frame" -e "\.debug_info" -e "\.debug_line" -e "\.debug_loc" -e "\.debug_macinfo" -e "\.debug_pubnames" -e "\.debug_pubtypes" -e "\.debug_ranges" -e "\.debug_str" | tr "\n" " ")"
+ # Don't compare .build-id, .gnu_debuglink and .gnu_debugdata sections
+- sections="$($OBJDUMP -s new/$file | grep "Contents of section .*:" | sed -r "s,.* (.*):,\1,g" | grep -v -e "\.build-id" -e "\.gnu_debuglink" -e "\.gnu_debugdata" | tr "\n" " ")"
++ sections="$($OBJDUMP -s new/$file | grep "Contents of section .*:" | sed -r "s,.* (.*):,\1,g" | grep -v -e "\.build-id" -e "\.gnu_debuglink" -e "\.gnu_debugdata" -e "\.debug_abbrev" -e "\.debug_aranges" -e "\.debug_frame" -e "\.debug_info" -e "\.debug_line" -e "\.debug_loc" -e "\.debug_macinfo" -e "\.debug_pubnames" -e "\.debug_pubtypes" -e "\.debug_ranges" -e "\.debug_str" | tr "\n" " ")"
for section in $sections; do
- objdump -s -j $section old/$file | sed "s,^old/,," > $file1
- objdump -s -j $section new/$file | sed "s,^new/,," > $file2
---
-1.9.3
-
+ $OBJDUMP -s -j $section old/$file | sed "s,^old/,," > $file1
+ $OBJDUMP -s -j $section new/$file | sed "s,^new/,," > $file2
diff --git a/poky/meta/recipes-devtools/build-compare/files/Rename-rpm-check.sh-to-pkg-diff.sh.patch b/poky/meta/recipes-devtools/build-compare/files/Rename-rpm-check.sh-to-pkg-diff.sh.patch
deleted file mode 100644
index cff3a9e236..0000000000
--- a/poky/meta/recipes-devtools/build-compare/files/Rename-rpm-check.sh-to-pkg-diff.sh.patch
+++ /dev/null
@@ -1,1599 +0,0 @@
-From 4de3df5a1b361cd09a081f0e0bdb94cbf684ed48 Mon Sep 17 00:00:00 2001
-From: Robert Yang
-Date: Thu, 19 Feb 2015 00:34:47 -0800
-Subject: [PATCH] Rename rpm-check.sh to pkg-diff.sh.
-
-The tool now accepts package input other than rpm, so change the name
-which could be misleading.
-
-Upstream-Status: Submitted [https://github.com/openSUSE/build-compare/pulls]
-
-Signed-off-by: Randy Witt
-
-Updated for rpm-check.sh.
-
-Signed-off-by: Robert Yang
----
- build-compare.spec | 2 +-
- pkg-diff.sh | 765 ++++++++++++++++++++++++++++++++++++++++++++++++++
- rpm-check.sh | 764 -------------------------------------------------
- same-build-result.sh | 4 +-
- 4 files changed, 768 insertions(+), 767 deletions(-)
- create mode 100644 pkg-diff.sh
- delete mode 100755 rpm-check.sh
-
-diff --git a/build-compare.spec b/build-compare.spec
-index 14a97e9..5f47ca1 100644
---- a/build-compare.spec
-+++ b/build-compare.spec
-@@ -25,7 +25,7 @@ Version: 2015.02.10
- Release: 0
- Source1: COPYING
- Source2: same-build-result.sh
--Source3: rpm-check.sh
-+Source3: pkg-diff.sh
- Source4: functions.sh
- Source5: srpm-check.sh
- BuildRoot: %{_tmppath}/%{name}-%{version}-build
-diff --git a/pkg-diff.sh b/pkg-diff.sh
-new file mode 100644
-index 0000000..56035c1
---- /dev/null
-+++ b/pkg-diff.sh
-@@ -0,0 +1,765 @@
-+#! /bin/bash
-+#
-+# Copyright (c) 2009, 2010, 2011, 2012 SUSE Linux Product GmbH, Germany.
-+# Licensed under GPL v2, see COPYING file for details.
-+#
-+# Written by Michael Matz and Stephan Coolo
-+# Enhanced by Andreas Jaeger
-+
-+FUNCTIONS=${0%/*}/functions.sh
-+
-+check_all=
-+case $1 in
-+ -a | --check-all)
-+ check_all=1
-+ shift
-+esac
-+
-+if test "$#" != 2; then
-+ echo "usage: $0 [-a|--check-all] old.rpm new.rpm"
-+ exit 1
-+fi
-+
-+self_script=$(cd $(dirname $0); echo $(pwd)/$(basename $0))
-+
-+source $FUNCTIONS
-+
-+oldpkg=`readlink -f $1`
-+newpkg=`readlink -f $2`
-+rename_script=`mktemp`
-+
-+if test ! -f "$oldpkg"; then
-+ echo "can't open $1"
-+ exit 1
-+fi
-+
-+if test ! -f "$newpkg"; then
-+ echo "can't open $2"
-+ exit 1
-+fi
-+
-+#usage unjar
-+function unjar()
-+{
-+ local file
-+ file=$1
-+
-+ if [[ $(type -p fastjar) ]]; then
-+ UNJAR=fastjar
-+ elif [[ $(type -p jar) ]]; then
-+ UNJAR=jar
-+ elif [[ $(type -p unzip) ]]; then
-+ UNJAR=unzip
-+ else
-+ echo "ERROR: jar, fastjar, or unzip is not installed (trying file $file)"
-+ exit 1
-+ fi
-+
-+ case $UNJAR in
-+ jar|fastjar)
-+ # echo jar -xf $file
-+ ${UNJAR} -xf $file
-+ ;;
-+ unzip)
-+ unzip -oqq $file
-+ ;;
-+ esac
-+}
-+
-+# list files in directory
-+#usage unjar_l
-+function unjar_l()
-+{
-+ local file
-+ file=$1
-+
-+ if [[ $(type -p fastjar) ]]; then
-+ UNJAR=fastjar
-+ elif [[ $(type -p jar) ]]; then
-+ UNJAR=jar
-+ elif [[ $(type -p unzip) ]]; then
-+ UNJAR=unzip
-+ else
-+ echo "ERROR: jar, fastjar, or unzip is not installed (trying file $file)"
-+ exit 1
-+ fi
-+
-+ case $UNJAR in
-+ jar|fastjar)
-+ ${UNJAR} -tf $file
-+ ;;
-+ unzip)
-+ unzip -l $file
-+ ;;
-+ esac
-+}
-+
-+filter_disasm()
-+{
-+ sed -e 's/^ *[0-9a-f]\+://' -e 's/\$0x[0-9a-f]\+/$something/' -e 's/callq *[0-9a-f]\+/callq /' -e 's/# *[0-9a-f]\+/# /' -e 's/\(0x\)\?[0-9a-f]\+(/offset(/' -e 's/[0-9a-f]\+ ' -e 's/^<\(.*\)>:/\1:/' -e 's/<\(.*\)+0x[0-9a-f]\+>/<\1 + ofs>/'
-+}
-+
-+echo "Comparing `basename $oldpkg` to `basename $newpkg`"
-+
-+case $oldpkg in
-+ *.rpm)
-+ cmp_spec $rename_script $oldpkg $newpkg
-+ RES=$?
-+ case $RES in
-+ 0)
-+ echo "RPM meta information is identical"
-+ if test -z "$check_all"; then
-+ exit 0
-+ fi
-+ ;;
-+ 1)
-+ echo "RPM meta information is different"
-+ if test -z "$check_all"; then
-+ exit 1
-+ fi
-+ ;;
-+ 2)
-+ echo "RPM file checksum differs."
-+ RES=0
-+ ;;
-+ *)
-+ echo "Wrong exit code!"
-+ exit 1
-+ ;;
-+ esac
-+ ;;
-+esac
-+
-+file1=`mktemp`
-+file2=`mktemp`
-+
-+dir=`mktemp -d`
-+echo "Extracting packages"
-+unpackage $oldpkg $dir/old
-+unpackage $newpkg $dir/new
-+
-+# files is set in cmp_spec for rpms, so if RES is empty we should assume
-+# it wasn't an rpm and pick all files for comparison.
-+if [ -z $RES ]; then
-+ oldfiles=`cd $dir/old; find . -type f`
-+ newfiles=`cd $dir/new; find . -type f`
-+
-+ files=`echo -e "$oldfiles\n$newfiles" | sort -u`
-+fi
-+
-+cd $dir
-+bash $rename_script
-+
-+dfile=`mktemp`
-+
-+diff_two_files()
-+{
-+ if ! cmp -s old/$file new/$file; then
-+ echo "$file differs ($ftype)"
-+ hexdump -C old/$file > $file1
-+ hexdump -C new/$file > $file2
-+ diff -u $file1 $file2 | head -n 200
-+ return 1
-+ fi
-+ return 0
-+}
-+
-+trim_man_first_line()
-+{
-+ # Handles the first line if it is like:
-+ #.\" Automatically generated by Pod::Man 2.28 (Pod::Simple 3.28)
-+ #.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.43.3.
-+ local f=$1
-+ sed -i -e '1{
-+ s|^\.\\"[[:blank:]]\+Automatically[[:blank:]]generated[[:blank:]]by[[:blank:]]Pod::Man[[:blank:]].*|.\\" Overly verbose Pod::Man|
-+ s|^\.\\"[[:blank:]]\+DO[[:blank:]]NOT[[:blank:]]MODIFY[[:blank:]]THIS[[:blank:]]FILE![[:blank:]]\+It[[:blank:]]was[[:blank:]]generated[[:blank:]]by[[:blank:]]help2man[[:blank:]].*|.\\" Overly verbose help2man|
-+ }' $f
-+}
-+
-+trim_man_TH()
-+{
-+ # Handles lines like:
-+ # .TH debhelper 7 "2010-02-27" "7.4.15" "Debhelper"
-+ # .TH DIRMNGR-CLIENT 1 2010-02-27 "Dirmngr 1.0.3" "GNU Privacy Guard"
-+ # .TH ccmake 1 "March 06, 2010" "ccmake 2.8.1-rc3"
-+ # .TH QEMU-IMG 1 "2010-03-14" " " " "
-+ # .TH kdecmake 1 "May 07, 2010" "cmake 2.8.1"
-+ # .TH "appender.h" 3 "12 May 2010" "Version 1.2.1" "log4c" \" -*- nroff -*-
-+ # .TH "appender.h" 3 "Tue Aug 31 2010" "Version 1.2.1" "log4c" \" -*- nroff -*-
-+ # .TH "OFFLINEIMAP" "1" "11 May 2010" "John Goerzen" "OfflineIMAP Manual"
-+ # .TH gv 3guile "13 May 2010"
-+ #.TH "GIT\-ARCHIMPORT" "1" "09/13/2010" "Git 1\&.7\&.1" "Git Manual"
-+ # .TH LDIRECTORD 8 "2010-10-20" "perl v5.12.2" "User Contributed Perl Documentation"
-+ # .TH ccmake 1 "February 05, 2012" "ccmake 2.8.7"
-+ # .TH "appender.h" 3 "Tue Aug 31 2010" "Version 1.2.1" "log4c" \" -*- nroff -*-
-+ # .TH ARCH "1" "September 2010" "GNU coreutils 8.5" "User Commands"
-+ # .TH "GCM-CALIBRATE" "1" "03 February 2012" "" ""
-+ #.TH Locale::Po4a::Xml.pm 3pm "2015-01-30" "Po4a Tools" "Po4a Tools"
-+ local f=$1
-+ # (.TH quoted section) (quoted_date)(*)
-+ sed -i -e 's|^\([[:blank:]]*\.TH[[:blank:]]\+"[^"]\+"[[:blank:]]\+[^[:blank:]]\+\)[[:blank:]]\+\("[^"]\+"\)\([[:blank:]]\+.*\)\?|\1 "qq2000-01-01"\3|' $f
-+ # (.TH unquoted section) (quoted_date)(*)
-+ sed -i -e 's|^\([[:blank:]]*\.TH[[:blank:]]\+[^"][^[:blank:]]\+[[:blank:]]\+[^[:blank:]]\+\)[[:blank:]]\+\("[^"]\+"\)\([[:blank:]]\+.*\)\?|\1 "uq2000-02-02"\3|' $f
-+ # (.TH quoted section) (unquoted_date)(*)
-+ sed -i -e 's|^\([[:blank:]]*\.TH[[:blank:]]\+"[^"]\+"[[:blank:]]\+[^[:blank:]]\+\)[[:blank:]]\+\([^"][^[:blank:]]\+\)\([[:blank:]]\+.*\)\?|\1 qu2000-03-03\3|' $f
-+ # (.TH unquoted section) (unquoted_date)(*)
-+ sed -i -e 's|^\([[:blank:]]*\.TH[[:blank:]]\+[^"][^[:blank:]]\+[[:blank:]]\+[^[:blank:]]\+\)[[:blank:]]\+\([^"][^[:blank:]]\+\)\([[:blank:]]\+.*\)\?|\1 uu2000-04-04\3|' $f
-+}
-+
-+strip_numbered_anchors()
-+{
-+ # Remove numbered anchors on Docbook / HTML files.
-+ # This should be save since we remove them from old and new files.
-+ # A trailing or tag will stay also on both files.
-+ for f in old/$file new/$file; do
-+ sed -i -e 's%<[ ]*a[ ]\+name[^<]*[0-9]\+[^<]*%%g' \
-+ -e 's%<[ ]*a[ ]\+href[^<]*#[^<]*[0-9]\+[^<]*%%g' \
-+ -e 's%<[^<]*id="ftn\.[^<]*[0-9]\+[^<]*%%g' $f
-+ done
-+}
-+
-+
-+check_compressed_file()
-+{
-+ local file=$1
-+ local ext=$2
-+ local tmpdir=`mktemp -d`
-+ local ftype
-+ local ret=0
-+ echo "$ext file with odd filename: $file"
-+ if test -n "$tmpdir"; then
-+ mkdir $tmpdir/{old,new}
-+ cp --parents --dereference old/$file $tmpdir/
-+ cp --parents --dereference new/$file $tmpdir/
-+ if pushd $tmpdir > /dev/null ; then
-+ case "$ext" in
-+ bz2)
-+ mv old/$file{,.bz2}
-+ mv new/$file{,.bz2}
-+ bzip2 -d old/$file.bz2
-+ bzip2 -d new/$file.bz2
-+ ;;
-+ gzip)
-+ mv old/$file{,.gz}
-+ mv new/$file{,.gz}
-+ gzip -d old/$file.gz
-+ gzip -d new/$file.gz
-+ ;;
-+ xz)
-+ mv old/$file{,.xz}
-+ mv new/$file{,.xz}
-+ xz -d old/$file.xz
-+ xz -d new/$file.xz
-+ ;;
-+ esac
-+ ftype=`/usr/bin/file old/$file | sed 's@^[^:]\+:[[:blank:]]*@@'`
-+ case $ftype in
-+ POSIX\ tar\ archive)
-+ echo "$ext content is: $ftype"
-+ mv old/$file{,.tar}
-+ mv new/$file{,.tar}
-+ if ! check_single_file ${file}.tar; then
-+ ret=1
-+ fi
-+ ;;
-+ ASCII\ cpio\ archive\ *)
-+ echo "$ext content is: $ftype"
-+ mv old/$file{,.cpio}
-+ mv new/$file{,.cpio}
-+ if ! check_single_file ${file}.cpio; then
-+ ret=1
-+ fi
-+ ;;
-+ *)
-+ echo "unhandled $ext content: $ftype"
-+ if ! diff_two_files; then
-+ ret=1
-+ fi
-+ ;;
-+ esac
-+ popd > /dev/null
-+ fi
-+ rm -rf "$tmpdir"
-+ fi
-+ return $ret
-+}
-+
-+check_single_file()
-+{
-+ local file="$1"
-+ case $file in
-+ *.spec)
-+ sed -i -e "s,Release:.*$release1,Release: @RELEASE@," old/$file
-+ sed -i -e "s,Release:.*$release2,Release: @RELEASE@," new/$file
-+ ;;
-+ *.exe.mdb|*.dll.mdb)
-+ # Just debug information, we can skip them
-+ echo "$file skipped as debug file."
-+ return 0
-+ ;;
-+ *.a)
-+ flist=`ar t new/$file`
-+ pwd=$PWD
-+ fdir=`dirname $file`
-+ cd old/$fdir
-+ ar x `basename $file`
-+ cd $pwd/new/$fdir
-+ ar x `basename $file`
-+ cd $pwd
-+ for f in $flist; do
-+ if ! check_single_file $fdir/$f; then
-+ return 1
-+ fi
-+ done
-+ return 0
-+ ;;
-+ *.cpio)
-+ flist=`cpio --quiet --list --force-local < "new/$file"`
-+ pwd=$PWD
-+ fdir=$file.extract.$PPID.$$
-+ mkdir old/$fdir new/$fdir
-+ cd old/$fdir
-+ cpio --quiet --extract --force-local < "../${file##*/}"
-+ cd $pwd/new/$fdir
-+ cpio --quiet --extract --force-local < "../${file##*/}"
-+ cd $pwd
-+ local ret=0
-+ for f in $flist; do
-+ if ! check_single_file $fdir/$f; then
-+ ret=1
-+ if test -z "$check_all"; then
-+ break
-+ fi
-+ fi
-+ done
-+ rm -rf old/$fdir new/$fdir
-+ return $ret
-+ ;;
-+ *.tar|*.tar.bz2|*.tar.gz|*.tgz|*.tbz2)
-+ flist=`tar tf new/$file`
-+ pwd=$PWD
-+ fdir=`dirname $file`
-+ cd old/$fdir
-+ tar xf `basename $file`
-+ cd $pwd/new/$fdir
-+ tar xf `basename $file`
-+ cd $pwd
-+ local ret=0
-+ for f in $flist; do
-+ if ! check_single_file $fdir/$f; then
-+ ret=1
-+ if test -z "$check_all"; then
-+ break
-+ fi
-+ fi
-+ done
-+ return $ret
-+ ;;
-+ *.zip|*.jar|*.war)
-+ cd old
-+ unjar_l ./$file |sort > flist
-+ # 10-05-2010 14:39
-+ sed -i -e "s, [0-9][0-9]-[0-9][0-9]-[0-9]\+ [0-9][0-9]:[0-9][0-9] , date ," flist
-+ # 2012-02-03 07:59
-+ sed -i -e "s, 20[0-9][0-9]-[0-9][0-9]-[0-9][0-9] [0-9][0-9]:[0-9][0-9] , date ," flist
-+ cd ../new
-+ unjar_l ./$file |sort> flist
-+ sed -i -e "s, [0-9][0-9]-[0-9][0-9]-[0-9]\+ [0-9][0-9]:[0-9][0-9] , date ,; " flist
-+ sed -i -e "s, 20[0-9][0-9]-[0-9][0-9]-[0-9][0-9] [0-9][0-9]:[0-9][0-9] , date ," flist
-+ cd ..
-+ if ! cmp -s old/flist new/flist; then
-+ echo "$file has different file list"
-+ diff -u old/flist new/flist
-+ return 1
-+ fi
-+ flist=`grep date new/flist | sed -e 's,.* date ,,'`
-+ pwd=$PWD
-+ fdir=`dirname $file`
-+ cd old/$fdir
-+ unjar `basename $file`
-+ cd $pwd/new/$fdir
-+ unjar `basename $file`
-+ cd $pwd
-+ local ret=0
-+ for f in $flist; do
-+ if test -f new/$fdir/$f && ! check_single_file $fdir/$f; then
-+ ret=1
-+ if test -z "$check_all"; then
-+ break
-+ fi
-+ fi
-+ done
-+ return $ret;;
-+ *.pyc|*.pyo)
-+ perl -e "open fh, '+<', 'old/$file'; seek fh, 4, SEEK_SET; print fh '0000';"
-+ perl -e "open fh, '+<', 'new/$file'; seek fh, 4, SEEK_SET; print fh '0000';"
-+ ;;
-+ *.bz2)
-+ bunzip2 -c old/$file > old/${file/.bz2/}
-+ bunzip2 -c new/$file > new/${file/.bz2/}
-+ check_single_file ${file/.bz2/}
-+ return $?
-+ ;;
-+ *.gz)
-+ gunzip -c old/$file > old/${file/.gz/}
-+ gunzip -c new/$file > new/${file/.gz/}
-+ check_single_file ${file/.gz/}
-+ return $?
-+ ;;
-+ *.rpm)
-+ $self_script -a old/$file new/$file
-+ return $?
-+ ;;
-+ *png)
-+ # Try to remove timestamps, only if convert from ImageMagick is installed
-+ if [[ $(type -p convert) ]]; then
-+ convert old/$file +set date:create +set date:modify old/${file/.png/_n.png}
-+ convert old/$file +set date:create +set date:modify new/${file/.png/_n.png}
-+ if ! cmp -s old/${file/.png/_n.png} new/${file/.png/_n.png}; then
-+ echo "$file differs ($ftype)"
-+ hexdump -C old/${file/.png/_n.png} > $file1
-+ hexdump -C new/${file/.png/_n.png} > $file2
-+ diff -u $file1 $file2 | head -n 20
-+ return 1
-+ fi
-+ return 0
-+ fi
-+ ;;
-+ /usr/share/locale/*/LC_MESSAGES/*.mo|/usr/share/locale-bundle/*/LC_MESSAGES/*.mo)
-+ for f in old/$file new/$file; do
-+ sed -i -e "s,POT-Creation-Date: ....-..-.. ..:..+....,POT-Creation-Date: 1970-01-01 00:00+0000," $f
-+ done
-+ ;;
-+ /usr/share/doc/packages/*/*.html|\
-+ /usr/share/doc/kde/HTML/*/*/*.html|/usr/share/doc/*/html/*.html)
-+ for f in old/$file new/$file; do
-+ # texi2html output, e.g. in kvm, indent, qemu
-+ sed -i -e "s|^
-+ #
-+ #
-+ #
-+ sed -i -e '
-+ /^/{
-+ : next
-+ n
-+ /^<\/head>/{
-+ b end_head
-+ }
-+ s/^\(\)/\1 some-date-removed-by-build-compare \5/
-+ t next
-+ s/^\(\)/\1 some-date-removed-by-build-compare \3/
-+ t next
-+ s/^//
-+ b next
-+ }
-+ : end_head
-+ ' $f
-+ # Gjdoc HtmlDoclet:
-+ sed -i -e 's%Generated by Gjdoc HtmlDoclet [0-9,.]*, part of GNU Classpath Tools, on .*, 20.. [0-9]*:..:.. \(a\|p\)\.m\. GMT.%Generated by Gjdoc.%' $f
-+ sed -i -e 's%, on [A-Z][a-z]* [0-9]*, 20?? [0-9]*:??:?? \(a|p\)\.m\. GMT.
%, on January 1, 2009 0:00:00 a.m. GMT.%' $f
-+ sed -i -e 's%%' $f
-+ # deprecated-list is randomly ordered, sort it for comparison
-+ case $f in
-+ */deprecated-list.html)
-+ sort -o $f $f
-+ ;;
-+ esac
-+ done
-+ ;;
-+ /usr/share/javadoc/gjdoc.properties |\
-+ /usr/share/javadoc/*/gjdoc.properties)
-+ for f in old/$file new/$file; do
-+ sed -i -e 's|^#[A-Z][a-z]\{2\} [A-Z][a-z]\{2\} [0-9]\{2\} ..:..:.. GMT 20..$|#Fri Jan 01 11:27:36 GMT 2009|' $f
-+ done
-+ ;;
-+ */fonts.scale|*/fonts.dir|*/encodings.dir)
-+ for f in old/$file new/$file; do
-+ # sort files before comparing
-+ sort -o $f $f
-+ done
-+ ;;
-+ /var/adm/perl-modules/*)
-+ for f in old/$file new/$file; do
-+ sed -i -e 's|^=head2 ... ... .. ..:..:.. ....: C|=head2 Wed Jul 1 00:00:00 2009: C|' $f
-+ done
-+ ;;
-+ /usr/share/man/man3/*3pm)
-+ for f in old/$file new/$file; do
-+ sed -i -e 's| 3 "20..-..-.." "perl v5....." "User Contributed Perl Documentation"$| 3 "2009-01-01" "perl v5.10.0" "User Contributed Perl Documentation"|' $f
-+ trim_man_TH $f
-+ trim_man_first_line $f
-+ done
-+ ;;
-+ /usr/share/man/*/man*|/usr/share/man/man*|/usr/lib/texmf/doc/man/*/*)
-+
-+ for f in old/$file new/$file; do
-+ trim_man_TH $f
-+ trim_man_first_line $f
-+ # generated by docbook xml:
-+ #.\" Date: 09/13/2010
-+ sed -i -e 's|Date: [0-1][0-9]/[0-9][0-9]/201[0-9]|Date: 09/13/2010|' $f
-+ done
-+ ;;
-+ *.elc)
-+ # emacs lisp files
-+ for f in old/$file new/$file; do
-+ sed -i -e 's|Compiled by abuild@.* on ... ... .. ..:..:.. 20..$|compiled by abuild@buildhost on Wed Jul 01 00:00:00 2009|' $f
-+ done
-+ ;;
-+ /var/lib/texmf/web2c/*/*fmt |\
-+ /var/lib/texmf/web2c/metafont/*.base|\
-+ /var/lib/texmf/web2c/metapost/*.mem)
-+ # binary dump of TeX and Metafont formats, we can ignore them for good
-+ echo "difference in $file ignored."
-+ return 0
-+ ;;
-+ */libtool)
-+ for f in old/$file new/$file; do
-+ sed -i -e 's|^# Libtool was configured on host [A-Za-z0-9]*:$|# Libtool was configured on host x42:|' $f
-+ done
-+ ;;
-+ /etc/mail/*cf|/etc/sendmail.cf)
-+ # from sendmail package
-+ for f in old/$file new/$file; do
-+ # - ##### built by abuild@build33 on Thu May 6 11:21:17 UTC 2010
-+ sed -i -e 's|built by abuild@[a-z0-9]* on ... ... [0-9]* [0-9]*:[0-9][0-9]:[0-9][0-9] .* 20[0-9][0-9]|built by abuild@build42 on Thu May 6 11:21:17 UTC 2010|' $f
-+ done
-+ ;;
-+ /usr/share/doc/kde/HTML/*/*/index.cache|/usr/share/doc/kde/HTML/*/*/*/index.cache|\
-+ /usr/share/gtk-doc/html/*/*.html|/usr/share/gtk-doc/html/*/*.devhelp2)
-+ # various kde and gtk packages
-+ strip_numbered_anchors
-+ ;;
-+ */created.rid)
-+ # ruby documentation
-+ # file just contains a timestamp and nothing else, so ignore it
-+ echo "Ignore $file"
-+ return 0
-+ ;;
-+ */rdoc/files/*.html)
-+ # ruby documentation
-+ #
Mon Sep 20 19:02:43 +0000 2010
-+ for f in old/$file new/$file; do
-+ sed -i -e 's%