poky: subtree update:796be0593a..9294bc4bb4

This includes our temporary libpam revert until OpenBMC can get in
support for the new libraries. See openbmc/openbmc#3750 for more
information.

Abdellatif El Khlifi (4):
      kernel-fitimage: adding support for Initramfs bundle and u-boot script
      kernel: skip installing fitImage when using Initramfs bundles
      oeqa/selftest/imagefeatures: adding fitImage initramfs bundle testcase
      ref-manual/ref-classes: update kernel-fitimage with Initramfs bundle and boot script

Adrian Herrera (2):
      scripts: oe-run-native, fix *-native directories
      common-licenses: add BSD-3-Clause-Clear license

Alan Perry (2):
      binutils: add libopcodes package for perf
      iproute2: Add subpackage for rdma command

Alejandro Hernandez Samaniego (2):
      newlib: Upgrade 3.3.0 -> 4.1.0
      newlib: Update licence

Alex Stewart (1):
      opkg: upgrade to version 0.4.4

Alexander Kanavin (89):
      selftest/reproducible: enable world reproducibility test
      selftest/reproducible: add an exclusion list for items that are not yet reproducible
      kea: upgrade 1.7.10 -> 1.8.1
      valgrind: exclude bar_bad/bar_bad_xml from ptests
      bzip2: run ptests without valgrind
      lttng-tools: disable more failing ptests
      glib-2.0: add a patch to increase a test timeout
      acpica: upgrade 20201113 -> 20201217
      bind: upgrade 9.16.9 -> 9.16.10
      diffoscope: upgrade 161 -> 163
      dnf: upgrade 4.4.0 -> 4.5.2
      enchant2: upgrade 2.2.13 -> 2.2.14
      epiphany: upgrade 3.38.1 -> 3.38.2
      ethtool: upgrade 5.9 -> 5.10
      gtk+3: upgrade 3.24.23 -> 3.24.24
      init-system-helpers: upgrade 1.58 -> 1.60
      kbd: upgrade 2.3.0 -> 2.4.0
      kea: upgrade 1.8.1 -> 1.8.2
      libmodulemd: upgrade 2.9.4 -> 2.11.1
      libpcre2: upgrade 10.35 -> 10.36
      libtirpc: upgrade 1.2.6 -> 1.3.1
      libusb1: upgrade 1.0.23 -> 1.0.24
      libva: upgrade 2.9.0 -> 2.10.0
      libx11: upgrade 1.6.12 -> 1.7.0
      lighttpd: upgrade 1.4.56 -> 1.4.57
      ninja: upgrade 1.10.1 -> 1.10.2
      puzzles: upgrade to latest revision
      python3-hypothesis: upgrade 5.41.5 -> 5.43.3
      python3-py: upgrade 1.9.0 -> 1.10.0
      python3-setuptools-scm: upgrade 4.1.2 -> 5.0.1
      sqlite3: upgrade 3.33.0 -> 3.34.0
      stress-ng: upgrade 0.11.24 -> 0.12.00
      sudo: upgrade 1.9.3p1 -> 1.9.4p1
      sysvinit: upgrade 2.97 -> 2.98
      vala: upgrade 0.50.1 -> 0.50.2
      vulkan-headers: upgrade 1.2.154.0 -> 1.2.162.0
      webkitgtk: upgrade 2.30.2 -> 2.30.4
      xprop: upgrade 1.2.4 -> 1.2.5
      xserver-xorg: upgrade 1.20.9 -> 1.20.10
      glib-2.0: update 2.66.2 -> 2.66.4
      rpm: update 4.16.0 -> 4.16.1.2
      piglit: update to latest revision
      sbc: update 1.4 -> 1.5
      libdnf: update 0.55.0 -> 0.55.2
      libva-utils: update 2.9.1 -> 2.10.0
      python3-importlib-metadata: update 3.1.1 -> 3.3.0
      python3: update 3.9.0 -> 3.9.1
      vulkan-loader: upgrade 1.2.154.1 -> 1.2.162.0
      vulkan-tools: upgrade 1.2.154.0 -> 1.2.162.0
      systemd-bootchart: update 233 -> 234
      zstd: add recipe from meta-oe
      zstd: update 1.4.5 -> 1.4.8
      devtool: gitsm:// should be handled same as git:// in upgrades
      ovmf: upgrade 202008 -> 202011
      libksba: update 1.4.0 -> 1.5.0
      libjitterentropy: update 2.2.0 -> 3.0.0
      icu: update 68.1 -> 68.2
      gnutls: update 3.6.15 -> 3.7.0
      gnupg: update 2.2.23 -> 2.2.26
      boost: update 1.74.0 -> 1.75.0
      kexec-tools: update 2.0.20 -> 2.0.21
      vulkan-samples: update to latest revision
      libpam: update 1.3.1 -> 1.5.1
      strace: update 5.9 -> 5.10
      python3-pytest: update 6.1.2 -> 6.2.1
      mtools: update 4.0.25 -> 4.0.26
      gnu-config: update to latest revision
      cmake: update 3.18.4 -> 3.19.2
      ccache: upgrade 3.7.11 -> 4.1
      ccache.bbclass: use ccache from host distribution
      gawk: add missing ptest dependency
      util-linux: upgrade 2.36 -> 2.36.1
      ell: upgrade 0.33 -> 0.35
      net-tools: correct version check
      oeqa/ptest: print a warning if ptests failed
      bash: update 5.0 -> 5.1
      runtime_test.py: correct output check for bash 5.1
      distcc: update 3.3.3 -> 3.3.5
      gptfdisk: update 1.0.5 -> 1.0.6
      python3-setuptools: update 51.0.0 -> 52.0.0
      ruby: update 2.7.2 -> 3.0.0
      vulkan-samples: update to latest revision
      dpkg: update 1.20.5 -> 1.20.7.1
      libhandy: upgrade 1.0.2 -> 1.0.3
      tar: update 1.32 -> 1.33
      at: correct upstream version check
      shaderc: correct version check
      spirv-tools: correct version check
      u-boot: upgrade 2020.10 -> 2021.01

Alistair Francis (1):
      opensbi: Bump from 0.8 to 0.9

Anatol Belski (1):
      iproute2: Make it easier to manipulate SUBDIRS list from bbappend

Andreas Müller (1):
      openssl: re-enable whirlpool

Andrey Mozzhuhin (1):
      toolchain-shar-extract.sh: Handle special characters in script path

Anton Kachalov (1):
      rootfs: add option to allow delayed postinsts on read-only rootfs

Anuj Mittal (45):
      mesa: add more details to elf-tls patch
      mesa: remove patch disabling asm
      linux-yocto: update genericx86 to v5.4.87
      enchant2: upgrade 2.2.14 -> 2.2.15
      gstreamer1.0: upgrade 1.18.2 -> 1.18.3
      gstreamer1.0-plugins-base: upgrade 1.18.2 -> 1.18.3
      gstreamer1.0-plugins-good: upgrade 1.18.2 -> 1.18.3
      gstreamer1.0-plugins-bad: upgrade 1.18.2 -> 1.18.3
      gstreamer1.0-libav: upgrade 1.18.2 -> 1.18.3
      gstreamer1.0-omx: upgrade 1.18.2 -> 1.18.3
      gstreamer1.0-rtsp-server: upgrade 1.18.2 -> 1.18.3
      gstreamer1.0-python: upgrade 1.18.2 -> 1.18.3
      gstreamer1.0-vaapi: upgrade 1.18.2 -> 1.18.3
      gst-examples: upgrade 1.18.2 -> 1.18.3
      gst-devtools: upgrade 1.18.2 -> 1.18.3
      gstreamer1.0-plugins-ugly: upgrade 1.18.2 -> 1.18.3
      libepoxy: upgrade 1.5.4 -> 1.5.5
      libproxy: upgrade 0.4.15 -> 0.4.17
      stress-ng: upgrade 0.12.00 -> 0.12.01
      vulkan-tools: upgrade 1.2.162.0 -> 1.2.162.1
      harfbuzz: upgrade 2.7.2 -> 2.7.4
      mpg123: upgrade 1.26.3 -> 1.26.4
      piglit: upgrade to latest revision
      vala: upgrade 0.50.2 -> 0.50.3
      gcr: upgrade 3.38.0 -> 3.38.1
      python3-pygments: upgrade 2.7.3 -> 2.7.4
      logrotate: upgrade 3.17.0 -> 3.18.0
      lzip: upgrade 1.21 -> 1.22
      python3-mako: upgrade 1.1.3 -> 1.1.4
      wget: upgrade 1.20.3 -> 1.21.1
      lighttpd: upgrade 1.4.57 -> 1.4.58
      python3-importlib-metadata: upgrade 3.3.0 -> 3.4.0
      python3-git: upgrade 3.1.11 -> 3.1.12
      acpica: upgrade 20201217 -> 20210105
      diffstat: upgrade 1.63 -> 1.64
      python3-dbusmock: upgrade 0.19 -> 0.22.0
      python3-hypothesis: upgrade 5.43.3 -> 6.0.2
      python3-numpy: upgrade 1.19.4 -> 1.19.5
      resolvconf: upgrade 1.83 -> 1.87
      sudo: upgrade 1.9.4p1 -> 1.9.5p1
      git: upgrade 2.29.2 -> 2.30.0
      meson: upgrade 0.56.0 -> 0.56.2
      rt-tests/hwlatdetect: upgrade 1.9 -> 1.10
      gstreamer1.0: fix failing ptest
      python3: fix CVE-2021-3177

Awais Belal (1):
      kernel.bbclass: fix deployment for initramfs images

Bruce Ashfield (38):
      linux-yocto-rt/5.4: update to -rt44
      linux-yocto/5.4: update to v5.4.80
      lttng-modules: fix build against v5.10+
      kern-tools: non-gcc config support and option re-classification
      linux-yocto/cfg: qemuppc: set CONFIG_SCSI to '=y'
      linux-yocto/5.4: update to v5.4.82
      linux-yocto/cfg: qemuarm64-gfx.cfg: add CONFIG_INPUT_UINPUT
      linux-yocto/5.4: update to v5.4.83
      linux-yocto/5.8/cfg: fix -tiny warnings
      linux-yocto/5.4/cfg: fix -tiny warnings
      systemtap: fix on target build for 4.4 and 5.10+
      linux-yocto/5.4/cfg: fix FIRMWARE_LOADER warnings
      kernel-devsrc: fix 32bit ARM devsrc builds
      linux-yocto/5.4: update to v5.4.85
      linux-yocto-dev: bump to v5.11-rc
      libc-headers: update to v5.10
      machine/qemuarm*: add vmalloc kernel parameter
      linux-yocto: introduce v5.10 reference kernel recipes
      linux-yocto/5.10: update to v5.10.2
      conf/machine: bump qemu preferred versions to 5.10
      poky/poky-tiny: set preferred kernel to 5.10
      yocto-bsp: explicitly set preferred version for reference boards
      poky-alt: don't use conditional assignment for preferred kernel version
      linux-yocto/5.10: update to v5.10.4
      linux-yocto/5.10: update to v5.10.5
      linux-yocto/5.4: update to v5.4.87
      linux-yocto/5.10/cfg: x86 and beaglebone config fixes
      linux-yocto: remove 5.8 recipes
      yocto-bsp: drop 5.8 bbappend
      linux-yocto/5.10: update to v5.10.8
      linux-yocto/5.4: update to v5.4.90
      linux-yocto-rt/5.10: fix 5.10-rt build breakage
      linux-yocto-rt/5.4: fix 5.4-stable caused build breakage
      linux-yocto/5.10: update to v5.10.10
      linux-yocto/5.10: update to v5.10.12
      linux-yocto/5.4: update to v5.4.94
      linux-yocto/5.10: binutils 2.36 fixes
      yocto-bsp: linux-yocto: update to v5.10.12

Changhyeok Bae (1):
      python3-importlib-metadata: Add toml dependency

Changqing Li (4):
      libexif: fix CVE-2020-0198; CVE-2020-0452
      libpam: support usrmerge
      libpam: remove unused code
      qemu: fix do_compile error

Chee Yang Lee (1):
      initrdscripts: init-install-efi.sh install extra files for ESP

Chen Qi (1):
      systemd: change /bin/nologin to /sbin/nologin

Chris Laplante (2):
      contrib/git-hooks: add a sendemail-validate example hook that adds FROM: lines to outgoing patch emails
      systemd.bbclass: improve error message when a service unit specified in SYSTEMD_SERVICE is not found

Christophe Priouzeau (1):
      bitbake: fetch2/wget: Update user-agent

Christopher Larson (2):
      grub-efi-cfg: exclude OVERRIDES from build_efi_cfg vardeps
      uboot-extlinux-config: exclude OVERRIDES from do_create_extlinux_config vardeps

Deepak Rawat (1):
      openssl: add support for mingw64 as target

Denys Dmytriyenko (2):
      maintainers: update own email address
      wayland: upgrade 1.18.0 -> 1.19.0

Diego Sueiro (4):
      wic: Introduce empty plugin to create unformatted empty partitions
      modutils-initscripts: Use depmod -a when modules.dep is empty
      staging: Introduce /sysroot-only to SYSROOT_DIRS
      dev-manual: Add usage of /sysroot-only in SYSROOT_DIRS

Dmitry Baryshkov (4):
      perl: fix installation failure because of shell issue
      linux-firmware: upgrade 20201118 -> 20201218
      linux-firmware: package firmware for Lontium lt9611uxc bridge
      mesa,mesa-gl: upgrade to 20.3.2

Dorinda (8):
      sanity: Verify that user isn't building in PSEUDO_IGNORE_PATHS
      sanity.bbclass: sanity check for if bitbake is present in PATH
      sanity.bbclass: check if PSEUDO_IGNORE_PATHS and ${S} overlap
      elfutils: split libdebuginfod into its own package
      elfutils: add PACKAGECONFIG for debuginfod
      elfutils: add support for ipk
      sanity.bbclass: Check if PSEUDO_IGNORE_PATHS and paths under pseudo control overlap
      oe-pkgdata-util: Check if environment script is initialized

Easwar Hariharan (1):
      classes/kernel-fitimage: make fitimage_emit_section_config more readable

Elvis Stansvik (1):
      ref-manual: terms: Fix poky tarball root folder

Hongxu Jia (1):
      deb: do not insert feed uris if apt not installed

Jack Mitchell (1):
      distutils3: allow setup.py to be run from a different directory to ${S}

Joey Degges (4):
      bitbake: tests/fetch: Organize usehead tests by net requirements
      bitbake: tests/fetch: Document behavior of test_gitfetch_usehead
      bitbake: tests/fetch: Test usehead with a non-default name
      bitbake: fetch/git: Fix usehead for non-default names

Jonathan Richardson (1):
      core-image-tiny-initramfs: Add compatiblity for aarch64

Jose Quaresma (22):
      gstreamer1.0: upgrade 1.18.1 -> 1.18.2
      gstreamer1.0-plugins-bad: v4l2codecs fix typo
      gstreamer1.0-plugins-bad: add support for aom plugin
      gstreamer1.0-plugins-bad: add support for x265 plugin
      gstreamer1.0-plugins-bad: sctp plugin uses the internal usrsctp static lib
      gstreamer1.0-plugins-bad: remove unsupported plugins comment
      gstreamer1.0-plugins-bad: netsim plugin don't have external deps
      gstreamer1.0-plugins-bad: transcode plugin external deps is always present
      gstreamer1.0: use the correct meson option for the capabilities
      shaderc: upgrade 2020.3 -> 2020.4
      spirv-tools: upgrade 2020.5 -> 2020.6
      common-licenses: Add GPL-3.0-with-bison-exception
      glslang: upgrade 8.13.3743 -> 11.1.0
      glslang: enable shared libs
      glslang: disable precompiled header
      shaderc: avoid reproducible issues
      shaderc: fix the build with glslang 11.1.0
      spirv-headers: Add receipe
      spirv-tools: cleanup
      shaderc: add spirv-headers as dependencie
      spirv-tools: fix reproducible
      selftest/reproducible: remove spirv-tools-dev from exclusion list

Joshua Watt (4):
      diffoscope: upgrade 163 -> 164
      ref-manual: Clarify recommended operator for PROVIDES
      bash: Disable bracketed input by default
      bitbake: logging: Make bitbake logger compatible with python logger

Kai Kang (1):
      adwaita-icon-theme: add version 3.34.3 back

Kamel Bouhara (2):
      npm.bbclass: make shrinkwrap file optional
      recipetool: create: only add npmsw url if required

Kevin Hao (2):
      Revert "yocto-bsp: explicitly set preferred version for reference boards"
      meta-yocto-bsp: Bump the kernel to v5.10

Khairul Rohaizzat Jamaluddin (4):
      openssl: Update 1.1.1h -> 1.1.1i
      go: Update 1.15.5 -> 1.15.6
      curl: Update 7.73.0 -> 7.74.0
      ffmpeg: Fix CVE-2020-35964, CVE-2020-35965

Khem Raj (37):
      musl: Update to latest master
      systemd: Fix reallocarray check
      go.bbclass: Use external linker for native packages
      qemuriscv: check serial consoles w.r.t. /proc/consoles
      busybox-inittab: Implement SYSVINIT_ENABLED_GETTYS and USE_VT
      initscripts: use quotes for shell variable comparision
      busybox: Install /etc/default/rcS when used as init system
      busybox: Run mdev as daemon
      rcS: Define identifier for init system used
      initscripts: Use initctl on sysvinit only
      busybox: Sync rcS.default with sysvinit
      ltp: Fix ltp-pan crash on 32bit arches using 64bit time_t
      pulseaudio: Fix build with clang for non-x86 target
      util-linux: Build fixes for 32bit arches with 64bit time_t
      libpam: Drop musl patches
      ccache: Build fixes for clang and riscv32
      shadow: Remove lastlog pam plugin on musl system
      rxvt-unicode: Disable lastlog on musl systems
      openssh: Disable lastlog on musl
      dropbear: Disable lastlog and wtmp on musl
      ccache: Fix build on aarch64/clang
      openssl: Enable rc4/rc2/bf/md4 algorithms
      openssl: Enable psk for qtbase
      libyaml: Enable static lib on native/nativesdk
      musl/glibc: Document assembly file directive fix
      musl: Update to 1.2.2 release
      binutils: Upgrade to 2.36 release
      binutils: Package libdep linker plugins
      binutils: Disable parallel install for target/nativesdk binutils
      musl: Drop adding .file directive in asm files
      glibc: Drop adding .file directive in asm files
      glibc: Upgrade to 2.33
      glibc: Enable cet
      glibc: Require full ISA support for x86-64 level marker
      security_flags.inc: Use -O with -D_FORTIFY_SOURCE
      systemd: Fix build on musl
      autoconf: Fix typo for prefuncs

Lee Chee Yang (8):
      gdk-pixbuf: fix CVE-2020-29385
      wic/direct/kparser: ensure fsuuid for vfat and msdos align with format
      p11-kit: upgrade 0.23.21 -> 0.23.22
      cve-check: replace Looseversion with custom version class
      cve_check: add CVE_VERSION_SUFFIX to indicate suffix in versioning
      openssl: set CVE_VERSION_SUFFIX
      wic/selftest: test_permissions also test bitbake image
      wic: debug mode to keep tmp directory

Leon Anavi (1):
      common-tasks.rst: Fix GNU_HASH in hello.bb

Li Wang (2):
      qemu: CVE-2020-25723
      qemu: CVE-2020-28916

Luca Boccassi (7):
      classes/kernel-fitimage: add ability to sign individual images
      systemd: update 246 -> 247
      systemd: add package config for systemd-oomd
      systemd: ship new systemd-dissect in -extra-utils
      systemd: set -Dmode=release as recommended by NEWS
      systemd: add RRECOMMENDS for weak dependencies, if enabled
      systemd: update to v247.3

Mans Rullgard (1):
      boost: drop arm-intrinsics.patch

Marek Vasut (2):
      meta: toolchain-shar-relocate.sh: Do not use $target_sdk_dir as regex
      meta: toolchain-shar-relocate.sh: Filter out post-relocate-setup script

Mark Jonas (1):
      parted: Make readline dependency optional

Martin Jansa (3):
      license.bbclass: Add COMMON_LICENSE_DIR and LICENSE_PATH dirs to PSEUDO_IGNORE_PATHS
      busybox.inc: install rcS, rcK and rcS.default only with busybox in VIRTUAL-RUNTIME_init_manager
      image_types.bbclass: tar: use posix format instead of gnu

Matt Hoosier (1):
      bitbake: fetch/git: download LFS content too during do_fetch

Maxime Roussin-Bélanger (1):
      meta: add missing descriptions in some support recipes

Michael Halstead (4):
      releases: conf: add link to 3.2.1, update to include 3.2.1
      releases: conf: add link to 3.1.5, update to include 3.2.1 & 3.1.5
      uninative: Upgrade to 2.10
      yocto-uninative.inc: version 2.11 updates glibc to 2.33

Michael Ho (2):
      rootfs_ipk: allow do_populate_sdk in parallel to do_rootfs
      license_image.bbclass: fix missing recipeinfo on self

Mike Looijmans (1):
      license_image.bbclass: Don't attempt to symlink to the same file

Mikko Rapeli (1):
      zip: whitelist CVE-2018-13410 and CVE-2018-13684

Milan Shah (2):
      oe-pkgdata-util: Added a test to verify oe-pkgdata-util without parameters
      bitbake: utils: add docstrings to functions

Mingli Yu (4):
      kbd: fix transaction conflict
      systemd: resolve executable path if it is relative
      libpam: add ptest support
      qemu: make ptest rework

Nathan Rossi (8):
      gcc: Add patch to resolve i*86 tune configuration overrides
      qemu.inc: Add seccomp PACKAGECONFIG option
      ncurses: Prevent LDFLAGS being emitted in .pc files
      which: add nativesdk to BBCLASSEXTEND
      sed: add nativesdk to BBCLASSEXTEND
      grep: add nativesdk to BBCLASSEXTEND
      coreutils: enable xattrs by default for nativesdk
      gcc: Backport patch to resolve i*86 tune configuration overrides

Naveen Saini (1):
      gstreamer1.0-plugins-bad: fix msdk pkgconfig build failure

Oleksandr Kravchuk (4):
      python3-smmap: update to 4.0.0
      python3-numpy: update to 0.20.0
      inetutils: update to 2.0
      ell: update to 0.37

Oleksiy Obitotskyy (2):
      flex: Fix --noline option behavior
      dtc: improve reproducibility

Oleksiy Obitotskyy yIEf0zt.mo (1):
      toolchain-shar-relocate.sh: Fix handling files with colons

Ovidiu Panait (5):
      timezone: upgrade to 2020e
      timezone: upgrade to 2020f
      variables: Add documentation for KERNEL_DTC_FLAGS
      kernel-devicetree: Introduce KERNEL_DTC_FLAGS to pass dtc flags
      timezone: upgrade to 2021a

Paul Barker (22):
      bitbake.conf: Prevent pyc file generation in pseudo context
      documentation: Simplify oe_wiki and oe_home links
      documentation: Simplify layerindex and layer links
      documentation: Simplify remaining yocto_home links
      profile-manual: Simplify yocto_bugs link
      ref-manual: Simplify oe_lists link
      documentation: Use https links where possible
      selftest: Add argument to keep build dir
      wic: Add workdir argument
      wic: Allow exec_native_cmd to run HOSTTOOLS
      wic: Ensure internal workdir is not reused
      image_types_wic: Move wic working directory
      wic: Update pseudo db when excluding content from rootfs
      wic: Copy rootfs dir if fstab needs updating
      wic: Optimise fstab modification for ext2/3/4 and msdos partitions
      bitbake: bitbake-hashclient: Remove obsolete call to client.connect
      bitbake: hashserv: client: Fix handling of null responses
      bitbake: hashserv: Support read-only server
      bitbake: hashserv: Support upstream command line argument
      bitbake: hashserv: Add short forms of remaining command line arguments
      bitbake: hashserv: server: Support searching upstream for outhash
      bitbake: hashserv: Add get-outhash message

Paul Eggleton (11):
      classes/kernel-fitimage: add variable for description
      classes/kernel-fitimage: allow substituting mkimage command
      classes/kernel-fitimage: add ability to add additional signing options
      oe-selftest: move FIT image tests to their own module
      oe-selftest: fitimage: Test for FIT_DESC
      oe-selftest: fitimage: add test for signing FIT images
      classes: minor corrections to kernel-fitimage section
      variables: clarify KERNEL_ALT_IMAGETYPE reference
      variables: explicitly state that UBOOT_MKIMAGE_DTCOPTS is optional
      variables: Add documentation for new kernel-fitimage vars
      ref-manual: use consistent capitalisation of U-Boot

Paul Gortmaker (1):
      systemd: dont spew hidepid mount errors for kernels < v5.8

Peter Bergin (1):
      buildhistory.bbclass: avoid exception for empty BUILDHISTORY_FEATURES variable

Peter Kjellerstedt (7):
      lib/oe/path: Add canonicalize()
      bitbake.conf: Canonicalize paths in PSEUDO_IGNORE_PATHS
      wic: Pass canonicalized paths in PSEUDO_IGNORE_PATHS
      glibc: Make adjtime() for 32 bit support being called with delta == NULL
      bitbake: cache: Make CoreRecipeInfo include rprovides_pkg for skipped recipes
      bitbake: cooker: Include all packages a recipe provides in SkippedPackage.rprovides
      apr-util: Only specify --with-dbm=gdbm if gdbm support is enabled

Quentin Schulz (1):
      docs: fix missing & and ; surrounding references from poky.yaml

Randy Li (2):
      meson: Add sysroot property to nativesdk-meson
      meson: Don't turn string into a list in nativesdk

Richard Purdie (69):
      pseudo: Drop patches merged into upstream branch
      bitbake: data_smart: Ensure hash reflects vardepvalue flags correctly
      linuxloader: Avoid confusing string concat errors
      systemd: Ensure uid/gid ranges are set deterministically
      grub: Fix build reproducibility issue
      u-boot-tools: Fix reproducibility issue
      grub: Add second fix for determinism issue
      oeqa/commands: Ensure sync can be found regardless of PATH
      cups: Mark CVE-2009-0032 as a non-issue
      cups: Mark CVE-2008-1033 as a non-issue
      groff: Fix reproducibility issue
      man-db: Avoid reproducibility failures after fixing groff-native
      meta-selftest/staticids: Add ids for other recipes
      selftest/reproducible: Add useradd-staticids to reproducible builds tests
      grub: Further reproducibility fix
      man-db: Fix reproducibility issue
      bitbake.conf: Add mkfifo to HOSTTOOLS
      bitbake.conf: Add /run/ to PSEUDO_IGNORE_PATHS
      ppp: Update 2.4.8 -> 2.4.9
      ppp: Fix reproducibility issue
      sanity: Bump min python version to 3.6
      pseudo: Add lchmod wrapper
      qemu: Upgrade 5.1.0->5.2.0
      qemu: Drop vm reservation changes to resolve build issues
      qemu: Fix mingw builds
      qemu: Add some user space mmap tweaks to address musl 32 bit build issues
      ppp: Fix patch typo
      pseudo: Update for arm host and memleak fixes/cleanup
      vulkan-samples: Fix reproducibility issue
      vulkan-samples: Disable PCH for reproducibility
      lttng-modules: Upgrade 2.12.3->2.12.4
      lttng-modules: Drop gcc7 related patch
      bash: Set HEREDOC_PIPESIZE deterministically
      bash: Add makefile race workaround
      build-appliance-image: Update to master head revision
      bitbake: fetch2/perforce: Fix localfile to include ud.module
      ncurses: Don't put terminfo into the sysroot
      python3: Avoid installing test data into recipe-sysroot
      staging: Clean up files installed into the sysroot
      gobject-introspection: Fix variable override order
      nativesdk-buildtools-perl-dummy: Add missing entries for nativesdk-automake
      package_rpm: Clean up unset runtime package variable handling
      bitbake.conf/python: Drop setting RDEPENDS/RPROVIDES default
      native: Stop clearing PACKAGES
      meta: Clean up various class-native* RDEPENDS overrides
      gtk-doc: Disable dependencies in native case
      pseudo: Update to include passwd and file renaming fixes
      at: Upgrade 3.1.23 -> 3.2.1
      msmtp: Fix to work with autoconf 2.70
      ruby: Fix to work with autoconf 2.70
      lrzsz: Fix to work with autoconf 2.70
      Revert "sanity.bbclass: check if PSEUDO_IGNORE_PATHS and ${S} overlap"
      image_types: Ensure tar archives are reproducible
      qemu.inc: Should depend on qemu-system-native, not qemu-native
      python3-setuptools: Add back accidentally dropped RDEPENDS
      opkg: Fix build reproducibility issue
      Revert "msmtp: Fix to work with autoconf 2.70"
      grub: Backport fix to work with new binutils
      package: Ensure do_packagedata is cleaned correctly
      openssh: Backport a fix to fix with glibc 2.33 on some platforms
      pseudo: Update to work with glibc 2.33
      bitbake: bitbake-worker: Try and avoid potential short write events issues
      apr: Fix to work with autoconf 2.70
      bitbake: cooker: Ensure reparsing is handled correctly
      bitbake: bblayers/action: When adding layers, catch BBHandledException
      bitbake: bitbake: Bump release to 1.49.1
      sanity.conf: Increase minimum bitbake version due to logging function change
      Fix up bitbake logging compatibility
      opkg: Fix patch glitches

Robert Rosengren (1):
      mpg123: Add support for FPU-less targets

Robert Yang (10):
      buildtools-tarball.bb: Fix PATH for environment setup script
      ncurses: Make ncurses-tools depend on ncurses-terminfo-base
      minicom: RDEPENDS on ncurses-terminfo-base
      archiver.bbclass: Fix --runall=deploy_archives for images
      ccache: Extend to nativesdk
      ccache.bbclass: Set CCACHE_TEMPDIR
      Revert "ccache.bbclass: use ccache from host distribution"
      ccache.bbclass: Use ccache-native and disable ccache for native recipes
      apt: Fix do_compile error when enable ccache
      oeqa/selftest: binutils-cross-x86_64 -> libgcc-initial

Ross Burton (28):
      wic-image-minimal: only depend on syslinux on x86 targets
      syslinux: rewrite recipe so only target code is x86-specific
      wic-tools: don't build syslinux-native for targets without syslinux
      image-uefi.conf: add EFI arch variable
      systemd-boot: build the EFI stub
      systemd-boot: allow building for Arm targets
      wic-tools: add grub-efi and systemd-boot on arm64
      lib/oe/qa: handle the 'no specific instruction set' ELF e_machine value
      local.conf: add aarch64 to the SDKMACHINE example values
      kernel: set COMPATIBLE_HOST to *-linux
      bitbake.conf: default SDKMACHINE to the build host architecture
      diffstat: point the license checksum at the license
      ruby: remove tcl DEPENDS
      base: use URI instead of decodeurl when detecting unpack dependencies
      lib/oe/package_manager: ensure repodata is wiped
      core-image-sato-sdk-ptest: these images need ptest
      ovmf-shell-image: image is only buildable on x86-64
      bitbake: fetch2: handle empty elements in _param_str_split
      bitbake: tests/fetch: add test for empty query parameters
      Revert "lrzsz: Fix to work with autoconf 2.70"
      unfs3: fix build with new autoconf
      gnu-config: update to latest commit
      autoconf: merge .bb and .inc files
      autotools: don't warn about obsolete usage
      autoconf: upgrade to 2.71
      autotools: disable gtkdocize for now
      autotools: remove intltoolize logic
      autotools: no need to depend on gnu-config

Sakib Sajal (2):
      buildstats.bbclass: add functionality to collect build system stats
      linux-yocto*: add features/gpio/mockup.scc to KERNEL_FEATURES

Scott Branden (1):
      kmod: update 27 -> 28

Scott Murray (3):
      grub: fix "CVE:" line in one of the patches
      patch: fix CVE-2019-20633
      glibc: CVE-2019-25013

Shachar Menashe (1):
      openssl: drop support for deprecated algorithms

Sinan Kaya (8):
      gcsections: add more suppressions for SDK builds
      sudo: split sudo binary into its own package
      iproute2: split ip to individual package
      procps: split ps and sysctl into individual packages
      net-tools: split mii-tool into its own package
      runqemu: Add support for VHD/VHDX rootfs
      meta/classes: Add supprot for WIC<>VHD/VHDX conversion
      appliance: Add VHD/VHDX generation

Steve Sakoman (2):
      oeqa/selftest/cases/devtool.py: fix typo in ignore_patterns call
      glibc: update to latest release/2.32/master branch

Tanu Kaskinen (6):
      maintainers.inc: remove myself from maintainers
      pulseaudio: Remove OE_LT_RPATH_ALLOW
      pulseaudio: disable EsounD support
      pulseaudio: disable GConf support
      pulseaudio: switch build system from Autotools to Meson
      pulseaudio: fix client.conf location

Teoh Jay Shen (4):
      oeqa/terminal : improve the test case
      oeqa/suspend : add test for suspend state
      oeqa/ethernet_ip_connman : add test for network connections
      oeqa/usb_hid.py : add test to check the usb/human interface device status after suspend state

Thomas Perrot (1):
      go.bbclass: don't stage test data with sources of dependencies

Tim Orling (6):
      python3-hypothesis: upgrade 5.41.4 -> 5.41.5
      python3-importlib-metadata: upgrade 3.1.0 -> 3.1.1
      python3-pygments: upgrade v2.7.2 -> v2.7.3
      python3-setuptools: upgrade 50.3.2 -> 51.0.0
      python3-setuptools-scm: add python3-toml dep
      python3-packaging: upgrade 20.4 -> 20.8

Tomasz Dziendzielski (18):
      populate_sdk_base: Fix condition syntax if SDK_RELOCATE_AFTER_INSTALL is disabled
      lib/oe/utils: Return empty string in parallel_make
      devtool: Fix source extraction for gcc shared source
      externalsrc: Fix parsing error with devtool non-git sources
      devtool: Fix file:// fetcher symlink directory structure
      selftest/devtool: Add modify_localfiles_only test checking symlink path
      meta: Fix native inheritance order in recipes
      insane: Add test for native/nativesdk inherit order
      lib/oe/package_manager: Do not pass stderr to package manager as an argument
      externalsrc: Detect code changes in submodules
      insane: Add missing INSANE_SKIP mechanism for native-last QA check
      insane: native-last: Only print classes inherited after native/nativesdk
      lib/oe/patch.py: Don't return command stderr from runcmd function
      python3: Use addtask statement instead of task dependencies
      lib/oe/patch.py: Ignore scissors line on applying patch
      sstatesig: Add descriptive error message to getpwuid/getgrgid "uid/gid not found" KeyError
      bitbake: lib/bb: Don't treat mc recipe (Midnight Commander) as a multiconfig target
      bitbake: BBHandler: Don't classify shell functions that names start with "python*" as python function

Trevor Woerner (7):
      mesa.inc: switch true/enabled false/disabled
      mesa: update 20.2.4 -> 20.3.1
      insane.bbclass: allow fifos
      selftest-chown: add test for fifos
      PSPLASH_FIFO_DIR: refactor
      psplash: fix working on first boot (sysvinit)
      psplash (sysvinit): add textual updates

Vinícius Ossanes Aquino (1):
      cmake: Upgrade 3.19.2 -> 3.19.3

Vivien Didelot (4):
      README.hardware: prettify headline
      README.hardware: fix the dd command
      meta-yocto-bsp: use provided variables
      meta-yocto-bsp: use mmcblk0 for root partition

Vyacheslav Yurkov (1):
      npm.bbclass: use python3 for npm config

Wang Mingyu (33):
      libaio: upgrade 0.3.111 -> 0.3.112
      readline: upgrade 8.0 -> 8.1
      man-pages: upgrade 5.09 ->5.10
      mobile-broadband-provider-info: upgrade 20190618 ->20201225
      shared-mime-info: upgrade 2.0 -> 2.1
      tiff: upgrade 4.1.0 -> 4.2.0
      tcl: upgrade 8.6.10 -> 8.6.11
      sysstat: upgrade 12.4.1 -> 12.4.2
      nettle: upgrade 3.6 ->3.7
      binutils: upgrade 2.35 -> 2.35.1
      ed: upgrade 1.16 -> 1.17
      ell: upgrade 0.35 -> 0.36
      findutils: upgrade 4.7.0 -> 4.8.0
      iproute2: upgrade 5.9.0 -> 5.10.0
      gnupg: upgrade 2.2.26 -> 2.2.27
      libpcap: upgrade 1.9.1 -> 1.10.0
      libmodulemd: upgrade 2.11.1 -> 2.11.2
      pulseaudio: upgrade 14.0 -> 14.2
      btrfs-tools: upgrade 5.9 -> 5.10
      gpgme: upgrade 1.15.0 -> 1.15.1
      iptables: upgrade 1.8.6 -> 1.8.7
      socat: upgrade 1.7.3.4 ->1.7.4.1
      libcap: upgrade 2.46 -> 2.47
      libjitterentropy: upgrade 3.0.0 -> 3.0.1
      libsolv: upgrade 0.7.16 -> 0.7.17
      ltp: upgrade 20200930 -> 20210121
      stress-ng: upgrade 0.12.01 -> 0.12.02
      util-macros: upgrade 1.19.2 -> 1.19.3
      gtk-doc: upgrade 1.33.1 -> 1.33.2
      e2fsprogs: upgrade 1.45.6 -> 1.45.7
      bind: upgrade 9.16.10 -> 9.16.11
      libdrm: upgrade 2.4.103 -> 2.4.104
      parted: upgrade 3.3 -> 3.4

Yann Dirson (1):
      libsdl2: upgrade to 2.0.14

Yi Fan Yu (6):
      binutils: Fix CVE-2020-35448
      oeqa/selftest/cases/tinfoil.py: increase timeout 10->60s test_wait_event
      strace: increase ptest timeout duration 120->240s
      sudo: upgrade 1.9.5p1 -> 1.9.5p2
      glibc: fix CVE-2020-27618
      glib-2.0: add workaround to fix codegen.py.test failing

Yi Zhao (7):
      dhcpcd: upgrade 9.3.2 -> 9.3.4
      dhcpcd: fix SECCOMP for i386
      inetutils: add dnsdomainname to ALTERNATIVE
      libcap: update 2.45 -> 2.46
      libcap-ng: upgrade 0.8.1 -> 0.8.2
      dhcpcd: upgrade 9.3.4 -> 9.4.0
      rng-tools: upgrade 6.10 -> 6.11

Yoann Congal (2):
      documentation: Fix a Concpets -> Concepts typo
      documentation: Prevent building documentation with an outdated version of sphinx

Zhixiong Chi (1):
      glibc: CVE-2020-29562 and CVE-2020-29573

akuster (4):
      openssl: Enable srp algorithm
      cve-check.bbclass: add layer to cve log
      cve-check: add include/exclude layers
      documentation.conf: add both CVE_CHECK_LAYER_*

hongxu (2):
      apt: add nativesdk support
      dpkg: add nativesdk support

saloni (2):
      libgcrypt: Whitelisted CVEs
      libcroco: Added CVE

zangrc (3):
      bash: Rename patch name
      systemtap: upgrade 4.3 -> 4.4
      msmtp: upgrade 1.8.13 -> 1.8.14

zhengruoqin (11):
      cantarell-fonts: upgrade 0.201 -> 0.301
      gdbm: upgrade 1.18.1 -> 1.19
      libarchive: upgrade 3.4.3 -> 3.5.1
      libevdev: upgrade 1.10.0 -> 1.10.1
      libgpg-error: upgrade 1.39 -> 1.41
      libmodulemd: upgrade 2.11.2 -> 2.12.0
      bison: upgrade 3.7.4 -> 3.7.5
      ca-certificates: upgrade 20200601 -> 20210119
      mc: upgrade 4.8.25 -> 4.8.26
      sqlite3: upgrade 3.34.0 -> 3.34.1
      python3-packaging: upgrade 20.8 -> 20.9

Revert "libpam: update 1.3.1 -> 1.5.1"

This reverts commit b0384720a46fb25c4ad180e3f256ffdeb53dc8a6.

OpenBMC is not ready for the removal of pam_cracklib and pam_tally2.
Until code is ready to move to new libs in libpam_1.5, carry a revert
in OpenBMC to stay at libpam_1.3.

openbmc/openbmc#3750 tracks this work

Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
Change-Id: I69357e370d7cf5c5d6dfedde11b88a4f797f7e95
diff --git a/poky/bitbake/lib/bb/fetch2/__init__.py b/poky/bitbake/lib/bb/fetch2/__init__.py
index 07b7ae4..19169d7 100644
--- a/poky/bitbake/lib/bb/fetch2/__init__.py
+++ b/poky/bitbake/lib/bb/fetch2/__init__.py
@@ -290,7 +290,7 @@
 
     def _param_str_split(self, string, elmdelim, kvdelim="="):
         ret = collections.OrderedDict()
-        for k, v in [x.split(kvdelim, 1) for x in string.split(elmdelim)]:
+        for k, v in [x.split(kvdelim, 1) for x in string.split(elmdelim) if x]:
             ret[k] = v
         return ret
 
@@ -428,7 +428,7 @@
     uri_decoded = list(decodeurl(ud.url))
     uri_find_decoded = list(decodeurl(uri_find))
     uri_replace_decoded = list(decodeurl(uri_replace))
-    logger.debug(2, "For url %s comparing %s to %s" % (uri_decoded, uri_find_decoded, uri_replace_decoded))
+    logger.debug2("For url %s comparing %s to %s" % (uri_decoded, uri_find_decoded, uri_replace_decoded))
     result_decoded = ['', '', '', '', '', {}]
     for loc, i in enumerate(uri_find_decoded):
         result_decoded[loc] = uri_decoded[loc]
@@ -474,7 +474,7 @@
     result = encodeurl(result_decoded)
     if result == ud.url:
         return None
-    logger.debug(2, "For url %s returning %s" % (ud.url, result))
+    logger.debug2("For url %s returning %s" % (ud.url, result))
     return result
 
 methods = []
@@ -499,9 +499,9 @@
     # When to drop SCM head revisions controlled by user policy
     srcrev_policy = d.getVar('BB_SRCREV_POLICY') or "clear"
     if srcrev_policy == "cache":
-        logger.debug(1, "Keeping SRCREV cache due to cache policy of: %s", srcrev_policy)
+        logger.debug("Keeping SRCREV cache due to cache policy of: %s", srcrev_policy)
     elif srcrev_policy == "clear":
-        logger.debug(1, "Clearing SRCREV cache due to cache policy of: %s", srcrev_policy)
+        logger.debug("Clearing SRCREV cache due to cache policy of: %s", srcrev_policy)
         revs.clear()
     else:
         raise FetchError("Invalid SRCREV cache policy of: %s" % srcrev_policy)
@@ -857,9 +857,9 @@
     cmd = 'export PSEUDO_DISABLED=1; ' + cmd
 
     if workdir:
-        logger.debug(1, "Running '%s' in %s" % (cmd, workdir))
+        logger.debug("Running '%s' in %s" % (cmd, workdir))
     else:
-        logger.debug(1, "Running %s", cmd)
+        logger.debug("Running %s", cmd)
 
     success = False
     error_message = ""
@@ -900,7 +900,7 @@
     elif not trusted_network(d, url):
         raise UntrustedUrl(url, info)
     else:
-        logger.debug(1, "Fetcher accessed the network with the command %s" % info)
+        logger.debug("Fetcher accessed the network with the command %s" % info)
 
 def build_mirroruris(origud, mirrors, ld):
     uris = []
@@ -926,7 +926,7 @@
                     continue
 
                 if not trusted_network(ld, newuri):
-                    logger.debug(1, "Mirror %s not in the list of trusted networks, skipping" %  (newuri))
+                    logger.debug("Mirror %s not in the list of trusted networks, skipping" %  (newuri))
                     continue
 
                 # Create a local copy of the mirrors minus the current line
@@ -939,8 +939,8 @@
                     newud = FetchData(newuri, ld)
                     newud.setup_localpath(ld)
                 except bb.fetch2.BBFetchException as e:
-                    logger.debug(1, "Mirror fetch failure for url %s (original url: %s)" % (newuri, origud.url))
-                    logger.debug(1, str(e))
+                    logger.debug("Mirror fetch failure for url %s (original url: %s)" % (newuri, origud.url))
+                    logger.debug(str(e))
                     try:
                         # setup_localpath of file:// urls may fail, we should still see
                         # if mirrors of the url exist
@@ -1043,8 +1043,8 @@
         elif isinstance(e, NoChecksumError):
             raise
         else:
-            logger.debug(1, "Mirror fetch failure for url %s (original url: %s)" % (ud.url, origud.url))
-            logger.debug(1, str(e))
+            logger.debug("Mirror fetch failure for url %s (original url: %s)" % (ud.url, origud.url))
+            logger.debug(str(e))
         try:
             ud.method.clean(ud, ld)
         except UnboundLocalError:
@@ -1688,7 +1688,7 @@
                 if m.verify_donestamp(ud, self.d) and not m.need_update(ud, self.d):
                     done = True
                 elif m.try_premirror(ud, self.d):
-                    logger.debug(1, "Trying PREMIRRORS")
+                    logger.debug("Trying PREMIRRORS")
                     mirrors = mirror_from_string(self.d.getVar('PREMIRRORS'))
                     done = m.try_mirrors(self, ud, self.d, mirrors)
                     if done:
@@ -1698,7 +1698,7 @@
                             m.update_donestamp(ud, self.d)
                         except ChecksumError as e:
                             logger.warning("Checksum failure encountered with premirror download of %s - will attempt other sources." % u)
-                            logger.debug(1, str(e))
+                            logger.debug(str(e))
                             done = False
 
                 if premirroronly:
@@ -1710,7 +1710,7 @@
                     try:
                         if not trusted_network(self.d, ud.url):
                             raise UntrustedUrl(ud.url)
-                        logger.debug(1, "Trying Upstream")
+                        logger.debug("Trying Upstream")
                         m.download(ud, self.d)
                         if hasattr(m, "build_mirror_data"):
                             m.build_mirror_data(ud, self.d)
@@ -1725,19 +1725,19 @@
                     except BBFetchException as e:
                         if isinstance(e, ChecksumError):
                             logger.warning("Checksum failure encountered with download of %s - will attempt other sources if available" % u)
-                            logger.debug(1, str(e))
+                            logger.debug(str(e))
                             if os.path.exists(ud.localpath):
                                 rename_bad_checksum(ud, e.checksum)
                         elif isinstance(e, NoChecksumError):
                             raise
                         else:
                             logger.warning('Failed to fetch URL %s, attempting MIRRORS if available' % u)
-                            logger.debug(1, str(e))
+                            logger.debug(str(e))
                         firsterr = e
                         # Remove any incomplete fetch
                         if not verified_stamp:
                             m.clean(ud, self.d)
-                        logger.debug(1, "Trying MIRRORS")
+                        logger.debug("Trying MIRRORS")
                         mirrors = mirror_from_string(self.d.getVar('MIRRORS'))
                         done = m.try_mirrors(self, ud, self.d, mirrors)
 
@@ -1774,7 +1774,7 @@
             ud = self.ud[u]
             ud.setup_localpath(self.d)
             m = ud.method
-            logger.debug(1, "Testing URL %s", u)
+            logger.debug("Testing URL %s", u)
             # First try checking uri, u, from PREMIRRORS
             mirrors = mirror_from_string(self.d.getVar('PREMIRRORS'))
             ret = m.try_mirrors(self, ud, self.d, mirrors, True)
diff --git a/poky/bitbake/lib/bb/fetch2/bzr.py b/poky/bitbake/lib/bb/fetch2/bzr.py
index 566ace9..fc558f5 100644
--- a/poky/bitbake/lib/bb/fetch2/bzr.py
+++ b/poky/bitbake/lib/bb/fetch2/bzr.py
@@ -74,16 +74,16 @@
 
         if os.access(os.path.join(ud.pkgdir, os.path.basename(ud.pkgdir), '.bzr'), os.R_OK):
             bzrcmd = self._buildbzrcommand(ud, d, "update")
-            logger.debug(1, "BZR Update %s", ud.url)
+            logger.debug("BZR Update %s", ud.url)
             bb.fetch2.check_network_access(d, bzrcmd, ud.url)
             runfetchcmd(bzrcmd, d, workdir=os.path.join(ud.pkgdir, os.path.basename(ud.path)))
         else:
             bb.utils.remove(os.path.join(ud.pkgdir, os.path.basename(ud.pkgdir)), True)
             bzrcmd = self._buildbzrcommand(ud, d, "fetch")
             bb.fetch2.check_network_access(d, bzrcmd, ud.url)
-            logger.debug(1, "BZR Checkout %s", ud.url)
+            logger.debug("BZR Checkout %s", ud.url)
             bb.utils.mkdirhier(ud.pkgdir)
-            logger.debug(1, "Running %s", bzrcmd)
+            logger.debug("Running %s", bzrcmd)
             runfetchcmd(bzrcmd, d, workdir=ud.pkgdir)
 
         scmdata = ud.parm.get("scmdata", "")
@@ -109,7 +109,7 @@
         """
         Return the latest upstream revision number
         """
-        logger.debug(2, "BZR fetcher hitting network for %s", ud.url)
+        logger.debug2("BZR fetcher hitting network for %s", ud.url)
 
         bb.fetch2.check_network_access(d, self._buildbzrcommand(ud, d, "revno"), ud.url)
 
diff --git a/poky/bitbake/lib/bb/fetch2/clearcase.py b/poky/bitbake/lib/bb/fetch2/clearcase.py
index 49d7ae1..1a9c863 100644
--- a/poky/bitbake/lib/bb/fetch2/clearcase.py
+++ b/poky/bitbake/lib/bb/fetch2/clearcase.py
@@ -70,7 +70,7 @@
         return ud.type in ['ccrc']
 
     def debug(self, msg):
-        logger.debug(1, "ClearCase: %s", msg)
+        logger.debug("ClearCase: %s", msg)
 
     def urldata_init(self, ud, d):
         """
diff --git a/poky/bitbake/lib/bb/fetch2/cvs.py b/poky/bitbake/lib/bb/fetch2/cvs.py
index 22abdef..01de5ff 100644
--- a/poky/bitbake/lib/bb/fetch2/cvs.py
+++ b/poky/bitbake/lib/bb/fetch2/cvs.py
@@ -109,7 +109,7 @@
             cvsupdatecmd = "CVS_RSH=\"%s\" %s" % (cvs_rsh, cvsupdatecmd)
 
         # create module directory
-        logger.debug(2, "Fetch: checking for module directory")
+        logger.debug2("Fetch: checking for module directory")
         moddir = os.path.join(ud.pkgdir, localdir)
         workdir = None
         if os.access(os.path.join(moddir, 'CVS'), os.R_OK):
@@ -123,7 +123,7 @@
             # check out sources there
             bb.utils.mkdirhier(ud.pkgdir)
             workdir = ud.pkgdir
-            logger.debug(1, "Running %s", cvscmd)
+            logger.debug("Running %s", cvscmd)
             bb.fetch2.check_network_access(d, cvscmd, ud.url)
             cmd = cvscmd
 
diff --git a/poky/bitbake/lib/bb/fetch2/git.py b/poky/bitbake/lib/bb/fetch2/git.py
index 490d57f..e3ba80a 100644
--- a/poky/bitbake/lib/bb/fetch2/git.py
+++ b/poky/bitbake/lib/bb/fetch2/git.py
@@ -220,7 +220,12 @@
             ud.shallow = False
 
         if ud.usehead:
-            ud.unresolvedrev['default'] = 'HEAD'
+            # When usehead is set let's associate 'HEAD' with the unresolved
+            # rev of this repository. This will get resolved into a revision
+            # later. If an actual revision happens to have also been provided
+            # then this setting will be overridden.
+            for name in ud.names:
+                ud.unresolvedrev[name] = 'HEAD'
 
         ud.basecmd = d.getVar("FETCHCMD_git") or "git -c core.fsyncobjectfiles=0"
 
@@ -379,6 +384,35 @@
             if missing_rev:
                 raise bb.fetch2.FetchError("Unable to find revision %s even from upstream" % missing_rev)
 
+        if self._contains_lfs(ud, d, ud.clonedir) and self._need_lfs(ud):
+            # Unpack temporary working copy, use it to run 'git checkout' to force pre-fetching
+            # of all LFS blobs needed at the the srcrev.
+            #
+            # It would be nice to just do this inline here by running 'git-lfs fetch'
+            # on the bare clonedir, but that operation requires a working copy on some
+            # releases of Git LFS.
+            tmpdir = tempfile.mkdtemp(dir=d.getVar('DL_DIR'))
+            try:
+                # Do the checkout. This implicitly involves a Git LFS fetch.
+                self.unpack(ud, tmpdir, d)
+
+                # Scoop up a copy of any stuff that Git LFS downloaded. Merge them into
+                # the bare clonedir.
+                #
+                # As this procedure is invoked repeatedly on incremental fetches as
+                # a recipe's SRCREV is bumped throughout its lifetime, this will
+                # result in a gradual accumulation of LFS blobs in <ud.clonedir>/lfs
+                # corresponding to all the blobs reachable from the different revs
+                # fetched across time.
+                #
+                # Only do this if the unpack resulted in a .git/lfs directory being
+                # created; this only happens if at least one blob needed to be
+                # downloaded.
+                if os.path.exists(os.path.join(tmpdir, "git", ".git", "lfs")):
+                    runfetchcmd("tar -cf - lfs | tar -xf - -C %s" % ud.clonedir, d, workdir="%s/git/.git" % tmpdir)
+            finally:
+                bb.utils.remove(tmpdir, recurse=True)
+
     def build_mirror_data(self, ud, d):
         if ud.shallow and ud.write_shallow_tarballs:
             if not os.path.exists(ud.fullshallow):
@@ -474,7 +508,7 @@
         if os.path.exists(destdir):
             bb.utils.prunedir(destdir)
 
-        need_lfs = ud.parm.get("lfs", "1") == "1"
+        need_lfs = self._need_lfs(ud)
 
         if not need_lfs:
             ud.basecmd = "GIT_LFS_SKIP_SMUDGE=1 " + ud.basecmd
@@ -563,6 +597,9 @@
             raise bb.fetch2.FetchError("The command '%s' gave output with more then 1 line unexpectedly, output: '%s'" % (cmd, output))
         return output.split()[0] != "0"
 
+    def _need_lfs(self, ud):
+        return ud.parm.get("lfs", "1") == "1"
+
     def _contains_lfs(self, ud, d, wd):
         """
         Check if the repository has 'lfs' (large file) content
@@ -573,8 +610,14 @@
         else:
             branchname = "master"
 
-        cmd = "%s grep lfs origin/%s:.gitattributes | wc -l" % (
-            ud.basecmd, ud.branches[ud.names[0]])
+        # The bare clonedir doesn't use the remote names; it has the branch immediately.
+        if wd == ud.clonedir:
+            refname = ud.branches[ud.names[0]]
+        else:
+            refname = "origin/%s" % ud.branches[ud.names[0]]
+
+        cmd = "%s grep lfs %s:.gitattributes | wc -l" % (
+            ud.basecmd, refname)
 
         try:
             output = runfetchcmd(cmd, d, quiet=True, workdir=wd)
diff --git a/poky/bitbake/lib/bb/fetch2/gitsm.py b/poky/bitbake/lib/bb/fetch2/gitsm.py
index d6e5c5c..a4527bf 100644
--- a/poky/bitbake/lib/bb/fetch2/gitsm.py
+++ b/poky/bitbake/lib/bb/fetch2/gitsm.py
@@ -78,7 +78,7 @@
                     module_hash = ""
 
                 if not module_hash:
-                    logger.debug(1, "submodule %s is defined, but is not initialized in the repository. Skipping", m)
+                    logger.debug("submodule %s is defined, but is not initialized in the repository. Skipping", m)
                     continue
 
                 submodules.append(m)
@@ -179,7 +179,7 @@
                             (ud.basecmd, ud.revisions[ud.names[0]]), d, workdir=ud.clonedir)
 
         if len(need_update_list) > 0:
-            logger.debug(1, 'gitsm: Submodules requiring update: %s' % (' '.join(need_update_list)))
+            logger.debug('gitsm: Submodules requiring update: %s' % (' '.join(need_update_list)))
             return True
 
         return False
diff --git a/poky/bitbake/lib/bb/fetch2/hg.py b/poky/bitbake/lib/bb/fetch2/hg.py
index 8f50370..063e130 100644
--- a/poky/bitbake/lib/bb/fetch2/hg.py
+++ b/poky/bitbake/lib/bb/fetch2/hg.py
@@ -150,7 +150,7 @@
     def download(self, ud, d):
         """Fetch url"""
 
-        logger.debug(2, "Fetch: checking for module directory '" + ud.moddir + "'")
+        logger.debug2("Fetch: checking for module directory '" + ud.moddir + "'")
 
         # If the checkout doesn't exist and the mirror tarball does, extract it
         if not os.path.exists(ud.pkgdir) and os.path.exists(ud.fullmirror):
@@ -160,7 +160,7 @@
         if os.access(os.path.join(ud.moddir, '.hg'), os.R_OK):
             # Found the source, check whether need pull
             updatecmd = self._buildhgcommand(ud, d, "update")
-            logger.debug(1, "Running %s", updatecmd)
+            logger.debug("Running %s", updatecmd)
             try:
                 runfetchcmd(updatecmd, d, workdir=ud.moddir)
             except bb.fetch2.FetchError:
@@ -168,7 +168,7 @@
                 pullcmd = self._buildhgcommand(ud, d, "pull")
                 logger.info("Pulling " + ud.url)
                 # update sources there
-                logger.debug(1, "Running %s", pullcmd)
+                logger.debug("Running %s", pullcmd)
                 bb.fetch2.check_network_access(d, pullcmd, ud.url)
                 runfetchcmd(pullcmd, d, workdir=ud.moddir)
                 try:
@@ -183,14 +183,14 @@
             logger.info("Fetch " + ud.url)
             # check out sources there
             bb.utils.mkdirhier(ud.pkgdir)
-            logger.debug(1, "Running %s", fetchcmd)
+            logger.debug("Running %s", fetchcmd)
             bb.fetch2.check_network_access(d, fetchcmd, ud.url)
             runfetchcmd(fetchcmd, d, workdir=ud.pkgdir)
 
         # Even when we clone (fetch), we still need to update as hg's clone
         # won't checkout the specified revision if its on a branch
         updatecmd = self._buildhgcommand(ud, d, "update")
-        logger.debug(1, "Running %s", updatecmd)
+        logger.debug("Running %s", updatecmd)
         runfetchcmd(updatecmd, d, workdir=ud.moddir)
 
     def clean(self, ud, d):
@@ -247,9 +247,9 @@
         if scmdata != "nokeep":
             proto = ud.parm.get('protocol', 'http')
             if not os.access(os.path.join(codir, '.hg'), os.R_OK):
-                logger.debug(2, "Unpack: creating new hg repository in '" + codir + "'")
+                logger.debug2("Unpack: creating new hg repository in '" + codir + "'")
                 runfetchcmd("%s init %s" % (ud.basecmd, codir), d)
-            logger.debug(2, "Unpack: updating source in '" + codir + "'")
+            logger.debug2("Unpack: updating source in '" + codir + "'")
             if ud.user and ud.pswd:
                 runfetchcmd("%s --config auth.default.prefix=* --config auth.default.username=%s --config auth.default.password=%s --config \"auth.default.schemes=%s\" pull %s" % (ud.basecmd, ud.user, ud.pswd, proto, ud.moddir), d, workdir=codir)
             else:
@@ -259,5 +259,5 @@
             else:
                 runfetchcmd("%s up -C %s" % (ud.basecmd, revflag), d, workdir=codir)
         else:
-            logger.debug(2, "Unpack: extracting source to '" + codir + "'")
+            logger.debug2("Unpack: extracting source to '" + codir + "'")
             runfetchcmd("%s archive -t files %s %s" % (ud.basecmd, revflag, codir), d, workdir=ud.moddir)
diff --git a/poky/bitbake/lib/bb/fetch2/local.py b/poky/bitbake/lib/bb/fetch2/local.py
index 25d4557..e7d1c8c 100644
--- a/poky/bitbake/lib/bb/fetch2/local.py
+++ b/poky/bitbake/lib/bb/fetch2/local.py
@@ -54,12 +54,12 @@
             return [path]
         filespath = d.getVar('FILESPATH')
         if filespath:
-            logger.debug(2, "Searching for %s in paths:\n    %s" % (path, "\n    ".join(filespath.split(":"))))
+            logger.debug2("Searching for %s in paths:\n    %s" % (path, "\n    ".join(filespath.split(":"))))
             newpath, hist = bb.utils.which(filespath, path, history=True)
             searched.extend(hist)
         if not os.path.exists(newpath):
             dldirfile = os.path.join(d.getVar("DL_DIR"), path)
-            logger.debug(2, "Defaulting to %s for %s" % (dldirfile, path))
+            logger.debug2("Defaulting to %s for %s" % (dldirfile, path))
             bb.utils.mkdirhier(os.path.dirname(dldirfile))
             searched.append(dldirfile)
             return searched
diff --git a/poky/bitbake/lib/bb/fetch2/osc.py b/poky/bitbake/lib/bb/fetch2/osc.py
index 3a6cd29..d9ce443 100644
--- a/poky/bitbake/lib/bb/fetch2/osc.py
+++ b/poky/bitbake/lib/bb/fetch2/osc.py
@@ -84,13 +84,13 @@
         Fetch url
         """
 
-        logger.debug(2, "Fetch: checking for module directory '" + ud.moddir + "'")
+        logger.debug2("Fetch: checking for module directory '" + ud.moddir + "'")
 
         if os.access(os.path.join(d.getVar('OSCDIR'), ud.path, ud.module), os.R_OK):
             oscupdatecmd = self._buildosccommand(ud, d, "update")
             logger.info("Update "+ ud.url)
             # update sources there
-            logger.debug(1, "Running %s", oscupdatecmd)
+            logger.debug("Running %s", oscupdatecmd)
             bb.fetch2.check_network_access(d, oscupdatecmd, ud.url)
             runfetchcmd(oscupdatecmd, d, workdir=ud.moddir)
         else:
@@ -98,7 +98,7 @@
             logger.info("Fetch " + ud.url)
             # check out sources there
             bb.utils.mkdirhier(ud.pkgdir)
-            logger.debug(1, "Running %s", oscfetchcmd)
+            logger.debug("Running %s", oscfetchcmd)
             bb.fetch2.check_network_access(d, oscfetchcmd, ud.url)
             runfetchcmd(oscfetchcmd, d, workdir=ud.pkgdir)
 
diff --git a/poky/bitbake/lib/bb/fetch2/perforce.py b/poky/bitbake/lib/bb/fetch2/perforce.py
index 6f3c95b..e2a41a4 100644
--- a/poky/bitbake/lib/bb/fetch2/perforce.py
+++ b/poky/bitbake/lib/bb/fetch2/perforce.py
@@ -90,16 +90,16 @@
         p4port = d.getVar('P4PORT')
 
         if p4port:
-            logger.debug(1, 'Using recipe provided P4PORT: %s' % p4port)
+            logger.debug('Using recipe provided P4PORT: %s' % p4port)
             ud.host = p4port
         else:
-            logger.debug(1, 'Trying to use P4CONFIG to automatically set P4PORT...')
+            logger.debug('Trying to use P4CONFIG to automatically set P4PORT...')
             ud.usingp4config = True
             p4cmd = '%s info | grep "Server address"' % ud.basecmd
             bb.fetch2.check_network_access(d, p4cmd, ud.url)
             ud.host = runfetchcmd(p4cmd, d, True)
             ud.host = ud.host.split(': ')[1].strip()
-            logger.debug(1, 'Determined P4PORT to be: %s' % ud.host)
+            logger.debug('Determined P4PORT to be: %s' % ud.host)
             if not ud.host:
                 raise FetchError('Could not determine P4PORT from P4CONFIG')
 
@@ -119,6 +119,7 @@
         cleanedpath = ud.path.replace('/...', '').replace('/', '.')
         cleanedhost = ud.host.replace(':', '.')
 
+        cleanedmodule = ""
         # Merge the path and module into the final depot location
         if ud.module:
             if ud.module.find('/') == 0:
@@ -133,7 +134,7 @@
 
         ud.setup_revisions(d)
 
-        ud.localfile = d.expand('%s_%s_%s.tar.gz' % (cleanedhost, cleanedpath, ud.revision))
+        ud.localfile = d.expand('%s_%s_%s_%s.tar.gz' % (cleanedhost, cleanedpath, cleandedmodule, ud.revision))
 
     def _buildp4command(self, ud, d, command, depot_filename=None):
         """
@@ -207,7 +208,7 @@
         for filename in p4fileslist:
             item = filename.split(' - ')
             lastaction = item[1].split()
-            logger.debug(1, 'File: %s Last Action: %s' % (item[0], lastaction[0]))
+            logger.debug('File: %s Last Action: %s' % (item[0], lastaction[0]))
             if lastaction[0] == 'delete':
                 continue
             filelist.append(item[0])
@@ -254,7 +255,7 @@
             raise FetchError('Could not determine the latest perforce changelist')
 
         tipcset = tip.split(' ')[1]
-        logger.debug(1, 'p4 tip found to be changelist %s' % tipcset)
+        logger.debug('p4 tip found to be changelist %s' % tipcset)
         return tipcset
 
     def sortable_revision(self, ud, d, name):
diff --git a/poky/bitbake/lib/bb/fetch2/repo.py b/poky/bitbake/lib/bb/fetch2/repo.py
index 2bdbbd4..fa4cb81 100644
--- a/poky/bitbake/lib/bb/fetch2/repo.py
+++ b/poky/bitbake/lib/bb/fetch2/repo.py
@@ -47,7 +47,7 @@
         """Fetch url"""
 
         if os.access(os.path.join(d.getVar("DL_DIR"), ud.localfile), os.R_OK):
-            logger.debug(1, "%s already exists (or was stashed). Skipping repo init / sync.", ud.localpath)
+            logger.debug("%s already exists (or was stashed). Skipping repo init / sync.", ud.localpath)
             return
 
         repodir = d.getVar("REPODIR") or (d.getVar("DL_DIR") + "/repo")
diff --git a/poky/bitbake/lib/bb/fetch2/svn.py b/poky/bitbake/lib/bb/fetch2/svn.py
index 971a5ad..8856ef1 100644
--- a/poky/bitbake/lib/bb/fetch2/svn.py
+++ b/poky/bitbake/lib/bb/fetch2/svn.py
@@ -116,7 +116,7 @@
     def download(self, ud, d):
         """Fetch url"""
 
-        logger.debug(2, "Fetch: checking for module directory '" + ud.moddir + "'")
+        logger.debug2("Fetch: checking for module directory '" + ud.moddir + "'")
 
         lf = bb.utils.lockfile(ud.svnlock)
 
@@ -129,7 +129,7 @@
                     runfetchcmd(ud.basecmd + " upgrade", d, workdir=ud.moddir)
                 except FetchError:
                     pass
-                logger.debug(1, "Running %s", svncmd)
+                logger.debug("Running %s", svncmd)
                 bb.fetch2.check_network_access(d, svncmd, ud.url)
                 runfetchcmd(svncmd, d, workdir=ud.moddir)
             else:
@@ -137,7 +137,7 @@
                 logger.info("Fetch " + ud.url)
                 # check out sources there
                 bb.utils.mkdirhier(ud.pkgdir)
-                logger.debug(1, "Running %s", svncmd)
+                logger.debug("Running %s", svncmd)
                 bb.fetch2.check_network_access(d, svncmd, ud.url)
                 runfetchcmd(svncmd, d, workdir=ud.pkgdir)
 
diff --git a/poky/bitbake/lib/bb/fetch2/wget.py b/poky/bitbake/lib/bb/fetch2/wget.py
index e6d9f52..78a4967 100644
--- a/poky/bitbake/lib/bb/fetch2/wget.py
+++ b/poky/bitbake/lib/bb/fetch2/wget.py
@@ -52,6 +52,12 @@
 
 
 class Wget(FetchMethod):
+
+    # CDNs like CloudFlare may do a 'browser integrity test' which can fail
+    # with the standard wget/urllib User-Agent, so pretend to be a modern
+    # browser.
+    user_agent = "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:84.0) Gecko/20100101 Firefox/84.0"
+
     """Class to fetch urls via 'wget'"""
     def supports(self, ud, d):
         """
@@ -82,7 +88,7 @@
 
         progresshandler = WgetProgressHandler(d)
 
-        logger.debug(2, "Fetching %s using command '%s'" % (ud.url, command))
+        logger.debug2("Fetching %s using command '%s'" % (ud.url, command))
         bb.fetch2.check_network_access(d, command, ud.url)
         runfetchcmd(command + ' --progress=dot -v', d, quiet, log=progresshandler, workdir=workdir)
 
@@ -297,7 +303,7 @@
             # Some servers (FusionForge, as used on Alioth) require that the
             # optional Accept header is set.
             r.add_header("Accept", "*/*")
-            r.add_header("User-Agent", "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.12) Gecko/20101027 Ubuntu/9.10 (karmic) Firefox/3.6.12")
+            r.add_header("User-Agent", self.user_agent)
             def add_basic_auth(login_str, request):
                 '''Adds Basic auth to http request, pass in login:password as string'''
                 import base64
@@ -320,11 +326,11 @@
                 pass
         except urllib.error.URLError as e:
             if try_again:
-                logger.debug(2, "checkstatus: trying again")
+                logger.debug2("checkstatus: trying again")
                 return self.checkstatus(fetch, ud, d, False)
             else:
                 # debug for now to avoid spamming the logs in e.g. remote sstate searches
-                logger.debug(2, "checkstatus() urlopen failed: %s" % e)
+                logger.debug2("checkstatus() urlopen failed: %s" % e)
                 return False
         return True
 
@@ -401,9 +407,8 @@
         """
         f = tempfile.NamedTemporaryFile()
         with tempfile.TemporaryDirectory(prefix="wget-index-") as workdir, tempfile.NamedTemporaryFile(dir=workdir, prefix="wget-listing-") as f:
-            agent = "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.12) Gecko/20101027 Ubuntu/9.10 (karmic) Firefox/3.6.12"
             fetchcmd = self.basecmd
-            fetchcmd += " -O " + f.name + " --user-agent='" + agent + "' '" + uri + "'"
+            fetchcmd += " -O " + f.name + " --user-agent='" + self.user_agent + "' '" + uri + "'"
             try:
                 self._runwget(ud, d, fetchcmd, True, workdir=workdir)
                 fetchresult = f.read()