poky: subtree update:5951cbcabe..968fcf4989

Alejandro Hernandez (3):
      baremetal-helloworld: Use do_image_complete instead of do_deploy
      baremetal-image.bbclass: Create a class for baremetal applications or an RTOS
      baremetal-helloworld: Use baremetal-image class to deploy the application

Alejandro del Castillo (2):
      opkg-utils: upgrade to 0.4.3
      opkg: upgrade to version 0.4.3

Alexander Kanavin (30):
      dnf: upgrade 4.2.21 -> 4.2.23
      meson: upgrade 0.54.2 -> 0.54.3
      libdnf: update 0.47.0 -> 0.48.0
      ffmpeg: disable altivec on ppc by default
      dropbear: update 2019.78 -> 2020.79
      elfutils: upgrade 0.179 -> 0.180
      gnu-config: update to latest revision
      libgpg-error: update 1.37 -> 1.38
      perl: update 5.30.2 -> 5.32.0
      gst-examples: upstream releases are even numbered
      bison: upgrade 3.6.3 -> 3.6.4
      python3-cython: upgrade 0.29.19 -> 0.29.20
      stress-ng: upgrade 0.11.12 -> 0.11.14
      piglit: upgrade to latest revision
      linux-firmware: upgrade 20200519 -> 20200619
      systemtap: upgrade 4.2 -> 4.3
      alsa-lib: upgrade 1.2.2 -> 1.2.3.1
      alsa-topology-conf: upgrade 1.2.2 -> 1.2.3
      alsa-ucm-conf: upgrade 1.2.2 -> 1.2.3
      alsa-utils: upgrade 1.2.2 -> 1.2.3
      puzzles: upgrade to latest revision
      diffoscope: upgrade 147 -> 148
      libcheck: upgrade 0.14.0 -> 0.15.0
      rsync: update 3.1.3 -> 3.2.1
      sudo: upgrade 1.9.0 -> 1.9.1
      python3-numpy: update 1.18.5 -> 1.19.0
      mesa: update 20.0.7 -> 20.1.2
      go-binary-native: fix upstream version check
      Revert "python3-setuptools: patch entrypoints for faster initialization"
      python3-setuptools: upgrade 47.1.1 -> 47.3.1

Alistair Francis (1):
      opensbi: Update to OpenSBI v0.8 release

Andreas Müller (3):
      nfs-utils: upgrade 2.4.3 -> 2.5.1
      ccache: merge ccache.inc into recipe
      ccache: upgrade 3.7.9 -> 3.7.10

Andrej Valek (2):
      busybox: 1.31.1 -> 1.32.0
      dropbear: update to 2020.80

Andrey Zhizhikin (1):
      kernel/yocto: fix search for defconfig from src_uri

Armin Kuster (1):
      wpa-supplicant: Security fix CVE-2020-12695

Bjarne Michelsen (1):
      devtool: default to empty string, if LIC_FILES_CHKSUM is not available

Bruce Ashfield (10):
      kernel/yocto: ensure that defconfigs are processed first
      linux-yocto/5.4: update to v5.4.45
      linux-yocto-rt/5.4: update to rt25
      linux-yocto/5.4: update to v5.4.46
      linux-yocto/5.4: update to v5.4.47
      linux-yocto/5.4: update to v5.4.49 and -rt28
      yocto-bsps: bump reference boards to v5.4.49
      linux-yocto/5.4: update to v5.4.50
      linux-yocto-dev: bump to 5.8-rc
      lttng-modules: bump devupstream to v2.12.1+

Changqing Li (5):
      xinit: add rxvt-unicode in RDEPENDS
      modutils-initscripts: update postinst
      initscripts: update postinst
      gtk-icon-cache.bbclass: add runtime dependency
      logrotate.py: fix testimage occasionally failure

Chen Qi (2):
      oescripts.py: fix typo
      oescripts: ignore whitespaces when comparing lines

Chris Laplante (2):
      bitbake: contrib/vim: synchronize from kergoth/vim-bitbake rev 4225ee8b4818d7e4696520567216a3a031c26f7d
      bitbake: ui/teamcity: don't use removed logging classes

Christian Eggers (1):
      libnl: Extend for native/nativesdk

Damian Wrobel (1):
      rootfs: do not let ldconfig to create symlinks

Daniel Klauer (2):
      uboot-sign: Refactor do_deploy prefunc to do_deploy_prepend
      deploy.bbclass: Clean DEPLOYDIR before do_deploy

David Khouya (2):
      bitbake: lib/ui/taskexp: Validate gi import
      bitbake: lib/ui/taskexp: Fix missing Gtk import

Hannu Lounento (1):
      openssl: move ${libdir}/[...]/openssl.cnf to ${PN}-conf

Hongxu Jia (1):
      iso-codes: switch upstream branch master -> main

Jason Wessel (1):
      runqemu: If using a vmtype image do not add the -no-reboot flag

Joe Slater (1):
      jquery: use ${S}

Joshua Watt (4):
      bitbake: hashserv: Chunkify large messages
      bitbake: siggen: Fix error when hash equivalence has an exception
      classes/archiver: run do_unpack_and_patch after do_preconfigure
      classes/archive: do_configure should not depend on do_ar_patched

Khem Raj (2):
      musl: Update to tip of master
      rxvt-unicode: Disable wtmp on musl

Konrad Weihmann (2):
      systemd: remove kernel-install from base pkg
      bitbake.conf: fix whitespace issues

Lee Chee Yang (3):
      json-c: fix CVE-2020-12762
      qemu: fix CVE-2020-10761
      oeqa/core/loader: refine regex to find module

Lili Li (1):
      kernel.bbclass: Fix Module.symvers support

Matt Madison (1):
      kernel.bbclass: add gzip-native to do_deploy dependencies

Max Krummenacher (2):
      cogl-1.0: : don't require eglmesaext.h
      cogl-1.0: cope with missing x11 headers

Mingli Yu (2):
      python3-libarchive-c: add the missing rdepends
      python3: add ldconfig rdepends for python3-ctypes

Nicolas Dechesne (1):
      checklayer: parse LAYERDEPENDS with bb.utils.explode_dep_versions2()

Pierre-Jean Texier (3):
      libubootenv: bump to revision 86bd30a
      curl: upgrade 7.71.0 -> 7.71.1
      diffoscope: upgrade 148 -> 150

Rahul Kumar (1):
      bzip2: Add test suite for bzip2

Rasmus Villemoes (1):
      coreutils: don't split stdbuf to own package with single-binary

Richard Purdie (13):
      pseudo: Switch to oe-core branch in git repo
      pseudo: merge in fixes for setfacl issue
      oeqa/selftest: Clean up separate builddir in success case when non-threaded
      populate_sdk_ext: Fix to use python3, not python
      bitbake: taskdata: Improve handling of regex in ASSUME_PROVIDED
      bitbake: runqueue: Avoid unpickle errors in rare cases
      bitbake: msg: Avoid issues where paths have relative components
      oeqa/selftest: recipetool/devtool: Avoid load_plugin test race
      oeqa/targetcontrol: Attempt to fix log closure warning message
      rootfs-postcommands: Improve/fix rootfs_check_host_user_contaminated
      spdx: Remove the class as its obsolete
      adwaita-icon-theme: Add missing license files to LIC_FILES_CHKSUM
      bitbake: server/process: Increase timeout for commands

Ross Burton (3):
      ovmf: build natively everywhere
      common-licenses: fix filename of BSD-2-Clause-Patent
      gtk+3: fix reproducible build failure

Timon Ulrich (2):
      kernel.bbclass: add lz4 dependency and fix the call to lz4
      kernel.bbclass: make dependency on lzop-native conditional

Vacek, Patrick (1):
      oeqa/core/loader: fix regex to include numbers

Wang Mingyu (1):
      gtk+3: upgrade 3.24.20 -> 3.24.21

Yanfei Xu (1):
      classes/kernel: Use a copy of image for kernel*.rpm if fs doesn't support symlinks

akuster (5):
      libuv: update to the last version in meta-oe
      bitbake: test/fetch: change to better svn source
      overview-manual: add SPDX license header
      mega-manual: Add SPDX license headers
      ref-manual: Add SPDX license headers

hongxu (2):
      qemu: switches from libcap to libcap-ng for PACAKGECONFIG virtfs
      cpio: add nativesdk support

zangrc (1):
      libjpeg-turbo:upgrade 2.0.4 -> 2.0.5

Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
Change-Id: I41e066e5957aa74c9a24e86a6c214bcf96e9c46b
diff --git a/poky/bitbake/contrib/vim/LICENSE.txt b/poky/bitbake/contrib/vim/LICENSE.txt
new file mode 100644
index 0000000..c7d9150
--- /dev/null
+++ b/poky/bitbake/contrib/vim/LICENSE.txt
@@ -0,0 +1,18 @@
+The MIT License (MIT)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
+the Software, and to permit persons to whom the Software is furnished to do so,
+subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
+FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
+COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/poky/bitbake/contrib/vim/ftdetect/bitbake.vim b/poky/bitbake/contrib/vim/ftdetect/bitbake.vim
index 200f8ae..09fc4dc 100644
--- a/poky/bitbake/contrib/vim/ftdetect/bitbake.vim
+++ b/poky/bitbake/contrib/vim/ftdetect/bitbake.vim
@@ -6,12 +6,12 @@
 "
 " This sets up the syntax highlighting for BitBake files, like .bb, .bbclass and .inc
 
-if &compatible || version < 600
+if &compatible || version < 600 || exists("b:loaded_bitbake_plugin")
     finish
 endif
 
 " .bb, .bbappend and .bbclass
-au BufNewFile,BufRead *.{bb,bbappend,bbclass}	set filetype=bitbake
+au BufNewFile,BufRead *.{bb,bbappend,bbclass}  set filetype=bitbake
 
 " .inc
 au BufNewFile,BufRead *.inc		set filetype=bitbake
diff --git a/poky/bitbake/contrib/vim/ftplugin/bitbake.vim b/poky/bitbake/contrib/vim/ftplugin/bitbake.vim
index db0d753..9e8d3e1 100644
--- a/poky/bitbake/contrib/vim/ftplugin/bitbake.vim
+++ b/poky/bitbake/contrib/vim/ftplugin/bitbake.vim
@@ -1,2 +1,13 @@
-set sts=4 sw=4 et
-set cms=#%s
+" Only do this when not done yet for this buffer
+if exists("b:did_ftplugin")
+  finish
+endif
+
+" Don't load another plugin for this buffer
+let b:did_ftplugin = 1
+
+let b:undo_ftplugin = "setl cms< sts< sw< et< sua<"
+
+setlocal commentstring=#\ %s
+setlocal softtabstop=4 shiftwidth=4 expandtab
+setlocal suffixesadd+=.bb,.bbclass
diff --git a/poky/bitbake/contrib/vim/plugin/newbb.vim b/poky/bitbake/contrib/vim/plugin/newbb.vim
old mode 100755
new mode 100644
index 874e338..3a42027
--- a/poky/bitbake/contrib/vim/plugin/newbb.vim
+++ b/poky/bitbake/contrib/vim/plugin/newbb.vim
@@ -10,7 +10,7 @@
 "
 " Will try to use git to find the user name and email
 
-if &compatible || v:version < 600
+if &compatible || v:version < 600 || exists("b:loaded_bitbake_plugin")
     finish
 endif
 
@@ -25,7 +25,7 @@
 fun! <SID>GetUserEmail()
     let l:user_email = system("git config --get user.email")
     if v:shell_error
-        return "unknow@user.org"
+        return "unknown@user.org"
     else
         return substitute(l:user_email, "\n", "", "")
 endfun
@@ -41,6 +41,10 @@
 endfun
 
 fun! NewBBTemplate()
+    if line2byte(line('$') + 1) != -1
+        return
+    endif
+
     let l:paste = &paste
     set nopaste
     
@@ -48,7 +52,7 @@
     call BBHeader()
 
     " New the bb template
-    put ='DESCRIPTION = \"\"'
+    put ='SUMMARY = \"\"'
     put ='HOMEPAGE = \"\"'
     put ='LICENSE = \"\"' 
     put ='SECTION = \"\"'
@@ -58,7 +62,7 @@
 
     " Go to the first place to edit
     0
-    /^DESCRIPTION =/
+    /^SUMMARY =/
     exec "normal 2f\""
 
     if paste == 1
@@ -76,7 +80,7 @@
 endif
 
 augroup NewBB
-    au BufNewFile *.bb
+    au BufNewFile,BufReadPost *.bb
                 \ if g:bb_create_on_empty |
                 \    call NewBBTemplate() |
                 \ endif
diff --git a/poky/bitbake/contrib/vim/plugin/newbbappend.vim b/poky/bitbake/contrib/vim/plugin/newbbappend.vim
new file mode 100644
index 0000000..e04174c
--- /dev/null
+++ b/poky/bitbake/contrib/vim/plugin/newbbappend.vim
@@ -0,0 +1,46 @@
+" Vim plugin file
+" Purpose:	Create a template for new bbappend file
+" Author:	Joshua Watt <JPEWhacker@gmail.com>
+" Copyright:	Copyright (C) 2017 Joshua Watt <JPEWhacker@gmail.com>
+"
+" This file is licensed under the MIT license, see COPYING.MIT in
+" this source distribution for the terms.
+"
+
+if &compatible || v:version < 600 || exists("b:loaded_bitbake_plugin")
+    finish
+endif
+
+fun! NewBBAppendTemplate()
+    if line2byte(line('$') + 1) != -1
+        return
+    endif
+
+    let l:paste = &paste
+    set nopaste
+
+    " New bbappend template
+    0 put ='FILESEXTRAPATHS_prepend := \"${THISDIR}/${PN}:\"'
+    2
+
+    if paste == 1
+        set paste
+    endif
+endfun
+
+if !exists("g:bb_create_on_empty")
+    let g:bb_create_on_empty = 1
+endif
+
+" disable in case of vimdiff
+if v:progname =~ "vimdiff"
+    let g:bb_create_on_empty = 0
+endif
+
+augroup NewBBAppend
+    au BufNewFile,BufReadPost *.bbappend
+                \ if g:bb_create_on_empty |
+                \    call NewBBAppendTemplate() |
+                \ endif
+augroup END
+
diff --git a/poky/bitbake/contrib/vim/syntax/bitbake.vim b/poky/bitbake/contrib/vim/syntax/bitbake.vim
index fb55f91..f964621 100644
--- a/poky/bitbake/contrib/vim/syntax/bitbake.vim
+++ b/poky/bitbake/contrib/vim/syntax/bitbake.vim
@@ -12,7 +12,7 @@
 "
 " It's an entirely new type, just has specific syntax in shell and python code
 
-if &compatible || v:version < 600
+if &compatible || v:version < 600 || exists("b:loaded_bitbake_plugin")
     finish
 endif
 if exists("b:current_syntax")
@@ -58,8 +58,8 @@
 syn region bbVarPyValue         start=+${@+ skip=+\\$+ end=+}+ contained contains=@python
 
 " Vars metadata flags
-syn match bbVarFlagDef          "^\([a-zA-Z0-9\-_\.]\+\)\(\[[a-zA-Z0-9\-_\.]\+\]\)\@=" contains=bbIdentifier nextgroup=bbVarFlagFlag
-syn region bbVarFlagFlag        matchgroup=bbArrayBrackets start="\[" end="\]\s*\(=\|+=\|=+\|?=\)\@=" contained contains=bbIdentifier nextgroup=bbVarEq
+syn match bbVarFlagDef          "^\([a-zA-Z0-9\-_\.]\+\)\(\[[a-zA-Z0-9\-_\.+]\+\]\)\@=" contains=bbIdentifier nextgroup=bbVarFlagFlag
+syn region bbVarFlagFlag        matchgroup=bbArrayBrackets start="\[" end="\]\s*\(:=\|=\|.=\|=.|+=\|=+\|?=\)\@=" contained contains=bbIdentifier nextgroup=bbVarEq
 
 " Includes and requires
 syn keyword bbInclude           inherit include require contained 
@@ -67,15 +67,15 @@
 syn match bbIncludeLine         "^\(inherit\|include\|require\)\s\+" contains=bbInclude nextgroup=bbIncludeRest
 
 " Add taks and similar
-syn keyword bbStatement         addtask addhandler after before EXPORT_FUNCTIONS contained
+syn keyword bbStatement         addtask deltask addhandler after before EXPORT_FUNCTIONS contained
 syn match bbStatementRest       ".*$" skipwhite contained contains=bbStatement
-syn match bbStatementLine       "^\(addtask\|addhandler\|after\|before\|EXPORT_FUNCTIONS\)\s\+" contains=bbStatement nextgroup=bbStatementRest
+syn match bbStatementLine       "^\(addtask\|deltask\|addhandler\|after\|before\|EXPORT_FUNCTIONS\)\s\+" contains=bbStatement nextgroup=bbStatementRest
 
 " OE Important Functions
 syn keyword bbOEFunctions       do_fetch do_unpack do_patch do_configure do_compile do_stage do_install do_package contained
 
 " Generic Functions
-syn match bbFunction            "\h[0-9A-Za-z_-]*" display contained contains=bbOEFunctions
+syn match bbFunction            "\h[0-9A-Za-z_\-\.]*" display contained contains=bbOEFunctions
 
 " BitBake shell metadata
 syn include @shell syntax/sh.vim
@@ -83,7 +83,7 @@
   unlet b:current_syntax
 endif
 syn keyword bbShFakeRootFlag    fakeroot contained
-syn match bbShFuncDef           "^\(fakeroot\s*\)\?\([0-9A-Za-z_${}-]\+\)\(python\)\@<!\(\s*()\s*\)\({\)\@=" contains=bbShFakeRootFlag,bbFunction,bbVarDeref,bbDelimiter nextgroup=bbShFuncRegion skipwhite
+syn match bbShFuncDef           "^\(fakeroot\s*\)\?\([\.0-9A-Za-z_${}\-\.]\+\)\(python\)\@<!\(\s*()\s*\)\({\)\@=" contains=bbShFakeRootFlag,bbFunction,bbVarDeref,bbDelimiter nextgroup=bbShFuncRegion skipwhite
 syn region bbShFuncRegion       matchgroup=bbDelimiter start="{\s*$" end="^}\s*$" contained contains=@shell
 
 " Python value inside shell functions
@@ -91,7 +91,7 @@
 
 " BitBake python metadata
 syn keyword bbPyFlag            python contained
-syn match bbPyFuncDef           "^\(python\s\+\)\([0-9A-Za-z_${}-]\+\)\?\(\s*()\s*\)\({\)\@=" contains=bbPyFlag,bbFunction,bbVarDeref,bbDelimiter nextgroup=bbPyFuncRegion skipwhite
+syn match bbPyFuncDef           "^\(fakeroot\s*\)\?\(python\)\(\s\+[0-9A-Za-z_${}\-\.]\+\)\?\(\s*()\s*\)\({\)\@=" contains=bbShFakeRootFlag,bbPyFlag,bbFunction,bbVarDeref,bbDelimiter nextgroup=bbPyFuncRegion skipwhite
 syn region bbPyFuncRegion       matchgroup=bbDelimiter start="{\s*$" end="^}\s*$" contained contains=@python
 
 " BitBake 'def'd python functions
diff --git a/poky/bitbake/lib/bb/msg.py b/poky/bitbake/lib/bb/msg.py
index c0b344e..2d88c4e 100644
--- a/poky/bitbake/lib/bb/msg.py
+++ b/poky/bitbake/lib/bb/msg.py
@@ -280,7 +280,7 @@
     logconfig = copy.deepcopy(defaultconfig)
 
     if userconfigfile:
-        with open(userconfigfile, 'r') as f:
+        with open(os.path.normpath(userconfigfile), 'r') as f:
             if userconfigfile.endswith('.yml') or userconfigfile.endswith('.yaml'):
                 import yaml
                 userconfig = yaml.load(f)
diff --git a/poky/bitbake/lib/bb/runqueue.py b/poky/bitbake/lib/bb/runqueue.py
index adb34a8..02a261e 100644
--- a/poky/bitbake/lib/bb/runqueue.py
+++ b/poky/bitbake/lib/bb/runqueue.py
@@ -2967,7 +2967,12 @@
             while index != -1 and self.queue.startswith(b"<event>"):
                 try:
                     event = pickle.loads(self.queue[7:index])
-                except ValueError as e:
+                except (ValueError, pickle.UnpicklingError, AttributeError, IndexError) as e:
+                    if isinstance(e, pickle.UnpicklingError) and "truncated" in str(e):
+                        # The pickled data could contain "</event>" so search for the next occurance
+                        # unpickling again, this should be the only way an unpickle error could occur
+                        index = self.queue.find(b"</event>", index + 1)
+                        continue
                     bb.msg.fatal("RunQueue", "failed load pickle '%s': '%s'" % (e, self.queue[7:index]))
                 bb.event.fire_from_worker(event, self.d)
                 if isinstance(event, taskUniHashUpdate):
@@ -2979,7 +2984,7 @@
             while index != -1 and self.queue.startswith(b"<exitcode>"):
                 try:
                     task, status = pickle.loads(self.queue[10:index])
-                except ValueError as e:
+                except (ValueError, pickle.UnpicklingError, AttributeError, IndexError) as e:
                     bb.msg.fatal("RunQueue", "failed load pickle '%s': '%s'" % (e, self.queue[10:index]))
                 self.rqexec.runqueue_process_waitpid(task, status)
                 found = True
diff --git a/poky/bitbake/lib/bb/server/process.py b/poky/bitbake/lib/bb/server/process.py
index 69aae62..83385ba 100644
--- a/poky/bitbake/lib/bb/server/process.py
+++ b/poky/bitbake/lib/bb/server/process.py
@@ -331,7 +331,9 @@
     def runCommand(self, command):
         self.connection.send(command)
         if not self.recv.poll(30):
-            raise ProcessTimeout("Timeout while waiting for a reply from the bitbake server")
+            logger.note("No reply from server in 30s")
+            if not self.recv.poll(30):
+                raise ProcessTimeout("Timeout while waiting for a reply from the bitbake server (60s)")
         return self.recv.get()
 
     def updateFeatureSet(self, featureset):
diff --git a/poky/bitbake/lib/bb/siggen.py b/poky/bitbake/lib/bb/siggen.py
index 872333d..4c63b0b 100644
--- a/poky/bitbake/lib/bb/siggen.py
+++ b/poky/bitbake/lib/bb/siggen.py
@@ -14,6 +14,7 @@
 from bb.checksum import FileChecksumCache
 from bb import runqueue
 import hashserv
+import hashserv.client
 
 logger = logging.getLogger('BitBake.SigGen')
 hashequiv_logger = logging.getLogger('BitBake.SigGen.HashEquiv')
diff --git a/poky/bitbake/lib/bb/taskdata.py b/poky/bitbake/lib/bb/taskdata.py
index d13a124..ffbaf36 100644
--- a/poky/bitbake/lib/bb/taskdata.py
+++ b/poky/bitbake/lib/bb/taskdata.py
@@ -21,8 +21,13 @@
     Whether or not the string 'target' matches
     any one string of the strings which can be regular expression string
     """
-    return any(name == target or re.match(name, target)
-               for name in strings)
+    for name in strings:
+        if name.startswith("^") or name.endswith("$"):
+            if re.match(name, target):
+                return True
+        elif name == target:
+            return True
+    return False
 
 class TaskEntry:
     def __init__(self):
diff --git a/poky/bitbake/lib/bb/tests/fetch.py b/poky/bitbake/lib/bb/tests/fetch.py
index 4697ef5..29c96b2 100644
--- a/poky/bitbake/lib/bb/tests/fetch.py
+++ b/poky/bitbake/lib/bb/tests/fetch.py
@@ -1031,7 +1031,7 @@
 
         bb.process.run("svn co %s svnfetch_co" % self.repo_url, cwd=self.tempdir)
         # Github will emulate SVN.  Use this to check if we're downloding...
-        bb.process.run("svn propset svn:externals 'bitbake http://github.com/openembedded/bitbake' .",
+        bb.process.run("svn propset svn:externals 'bitbake svn://vcs.pcre.org/pcre2/code' .",
                        cwd=os.path.join(self.tempdir, 'svnfetch_co', 'trunk'))
         bb.process.run("svn commit --non-interactive -m 'Add external'",
                        cwd=os.path.join(self.tempdir, 'svnfetch_co', 'trunk'))
diff --git a/poky/bitbake/lib/bb/ui/taskexp.py b/poky/bitbake/lib/bb/ui/taskexp.py
index 8fff244..05e3233 100644
--- a/poky/bitbake/lib/bb/ui/taskexp.py
+++ b/poky/bitbake/lib/bb/ui/taskexp.py
@@ -8,9 +8,16 @@
 #
 
 import sys
-import gi
-gi.require_version('Gtk', '3.0')
-from gi.repository import Gtk, Gdk, GObject
+
+try:
+    import gi
+    gi.require_version('Gtk', '3.0')
+    from gi.repository import Gtk, Gdk, GObject
+except ValueError:
+    sys.exit("FATAL: Gtk version needs to be 3.0")
+except ImportError:
+    sys.exit("FATAL: Gtk ui could not load the required gi python module")
+
 import threading
 from xmlrpc import client
 import bb
diff --git a/poky/bitbake/lib/bb/ui/teamcity.py b/poky/bitbake/lib/bb/ui/teamcity.py
index 1854292..fca46c2 100644
--- a/poky/bitbake/lib/bb/ui/teamcity.py
+++ b/poky/bitbake/lib/bb/ui/teamcity.py
@@ -167,8 +167,6 @@
         forcelevel = bb.msg.BBLogFormatter.ERROR
     else:
         forcelevel = bb.msg.BBLogFormatter.WARNING
-    bb.msg.addDefaultlogFilter(console, bb.msg.BBLogFilterStdOut, forcelevel)
-    bb.msg.addDefaultlogFilter(errconsole, bb.msg.BBLogFilterStdErr)
     console.setFormatter(format)
     errconsole.setFormatter(format)
     if not bb.msg.has_console_handler(logger):
diff --git a/poky/bitbake/lib/hashserv/__init__.py b/poky/bitbake/lib/hashserv/__init__.py
index c331862..f95e8f4 100644
--- a/poky/bitbake/lib/hashserv/__init__.py
+++ b/poky/bitbake/lib/hashserv/__init__.py
@@ -6,12 +6,20 @@
 from contextlib import closing
 import re
 import sqlite3
+import itertools
+import json
 
 UNIX_PREFIX = "unix://"
 
 ADDR_TYPE_UNIX = 0
 ADDR_TYPE_TCP = 1
 
+# The Python async server defaults to a 64K receive buffer, so we hardcode our
+# maximum chunk size. It would be better if the client and server reported to
+# each other what the maximum chunk sizes were, but that will slow down the
+# connection setup with a round trip delay so I'd rather not do that unless it
+# is necessary
+DEFAULT_MAX_CHUNK = 32 * 1024
 
 def setup_database(database, sync=True):
     db = sqlite3.connect(database)
@@ -66,6 +74,20 @@
         return (ADDR_TYPE_TCP, (host, int(port)))
 
 
+def chunkify(msg, max_chunk):
+    if len(msg) < max_chunk - 1:
+        yield ''.join((msg, "\n"))
+    else:
+        yield ''.join((json.dumps({
+                'chunk-stream': None
+            }), "\n"))
+
+        args = [iter(msg)] * (max_chunk - 1)
+        for m in map(''.join, itertools.zip_longest(*args, fillvalue='')):
+            yield ''.join(itertools.chain(m, "\n"))
+        yield "\n"
+
+
 def create_server(addr, dbname, *, sync=True):
     from . import server
     db = setup_database(dbname, sync=sync)
diff --git a/poky/bitbake/lib/hashserv/client.py b/poky/bitbake/lib/hashserv/client.py
index 46085d6..a29af83 100644
--- a/poky/bitbake/lib/hashserv/client.py
+++ b/poky/bitbake/lib/hashserv/client.py
@@ -7,6 +7,7 @@
 import logging
 import socket
 import os
+from . import chunkify, DEFAULT_MAX_CHUNK
 
 
 logger = logging.getLogger('hashserv.client')
@@ -25,6 +26,7 @@
         self.reader = None
         self.writer = None
         self.mode = self.MODE_NORMAL
+        self.max_chunk = DEFAULT_MAX_CHUNK
 
     def connect_tcp(self, address, port):
         def connect_sock():
@@ -58,7 +60,7 @@
             self.reader = self._socket.makefile('r', encoding='utf-8')
             self.writer = self._socket.makefile('w', encoding='utf-8')
 
-            self.writer.write('OEHASHEQUIV 1.0\n\n')
+            self.writer.write('OEHASHEQUIV 1.1\n\n')
             self.writer.flush()
 
             # Restore mode if the socket is being re-created
@@ -91,18 +93,35 @@
                 count += 1
 
     def send_message(self, msg):
-        def proc():
-            self.writer.write('%s\n' % json.dumps(msg))
-            self.writer.flush()
-
-            l = self.reader.readline()
-            if not l:
+        def get_line():
+            line = self.reader.readline()
+            if not line:
                 raise HashConnectionError('Connection closed')
 
-            if not l.endswith('\n'):
+            if not line.endswith('\n'):
                 raise HashConnectionError('Bad message %r' % message)
 
-            return json.loads(l)
+            return line
+
+        def proc():
+            for c in chunkify(json.dumps(msg), self.max_chunk):
+                self.writer.write(c)
+            self.writer.flush()
+
+            l = get_line()
+
+            m = json.loads(l)
+            if 'chunk-stream' in m:
+                lines = []
+                while True:
+                    l = get_line().rstrip('\n')
+                    if not l:
+                        break
+                    lines.append(l)
+
+                m = json.loads(''.join(lines))
+
+            return m
 
         return self._send_wrapper(proc)
 
@@ -155,6 +174,14 @@
         m['unihash'] = unihash
         return self.send_message({'report-equiv': m})
 
+    def get_taskhash(self, method, taskhash, all_properties=False):
+        self._set_mode(self.MODE_NORMAL)
+        return self.send_message({'get': {
+            'taskhash': taskhash,
+            'method': method,
+            'all': all_properties
+        }})
+
     def get_stats(self):
         self._set_mode(self.MODE_NORMAL)
         return self.send_message({'get-stats': None})
diff --git a/poky/bitbake/lib/hashserv/server.py b/poky/bitbake/lib/hashserv/server.py
index cc7e482..8105071 100644
--- a/poky/bitbake/lib/hashserv/server.py
+++ b/poky/bitbake/lib/hashserv/server.py
@@ -13,6 +13,7 @@
 import signal
 import socket
 import time
+from . import chunkify, DEFAULT_MAX_CHUNK
 
 logger = logging.getLogger('hashserv.server')
 
@@ -107,12 +108,29 @@
         return {k: getattr(self, k) for k in ('num', 'total_time', 'max_time', 'average', 'stdev')}
 
 
+class ClientError(Exception):
+    pass
+
 class ServerClient(object):
+    FAST_QUERY = 'SELECT taskhash, method, unihash FROM tasks_v2 WHERE method=:method AND taskhash=:taskhash ORDER BY created ASC LIMIT 1'
+    ALL_QUERY =  'SELECT *                         FROM tasks_v2 WHERE method=:method AND taskhash=:taskhash ORDER BY created ASC LIMIT 1'
+
     def __init__(self, reader, writer, db, request_stats):
         self.reader = reader
         self.writer = writer
         self.db = db
         self.request_stats = request_stats
+        self.max_chunk = DEFAULT_MAX_CHUNK
+
+        self.handlers = {
+            'get': self.handle_get,
+            'report': self.handle_report,
+            'report-equiv': self.handle_equivreport,
+            'get-stream': self.handle_get_stream,
+            'get-stats': self.handle_get_stats,
+            'reset-stats': self.handle_reset_stats,
+            'chunk-stream': self.handle_chunk,
+        }
 
     async def process_requests(self):
         try:
@@ -125,7 +143,11 @@
                 return
 
             (proto_name, proto_version) = protocol.decode('utf-8').rstrip().split()
-            if proto_name != 'OEHASHEQUIV' or proto_version != '1.0':
+            if proto_name != 'OEHASHEQUIV':
+                return
+
+            proto_version = tuple(int(v) for v in proto_version.split('.'))
+            if proto_version < (1, 0) or proto_version > (1, 1):
                 return
 
             # Read headers. Currently, no headers are implemented, so look for
@@ -140,40 +162,34 @@
                     break
 
             # Handle messages
-            handlers = {
-                'get': self.handle_get,
-                'report': self.handle_report,
-                'report-equiv': self.handle_equivreport,
-                'get-stream': self.handle_get_stream,
-                'get-stats': self.handle_get_stats,
-                'reset-stats': self.handle_reset_stats,
-            }
-
             while True:
                 d = await self.read_message()
                 if d is None:
                     break
-
-                for k in handlers.keys():
-                    if k in d:
-                        logger.debug('Handling %s' % k)
-                        if 'stream' in k:
-                            await handlers[k](d[k])
-                        else:
-                            with self.request_stats.start_sample() as self.request_sample, \
-                                    self.request_sample.measure():
-                                await handlers[k](d[k])
-                        break
-                else:
-                    logger.warning("Unrecognized command %r" % d)
-                    break
-
+                await self.dispatch_message(d)
                 await self.writer.drain()
+        except ClientError as e:
+            logger.error(str(e))
         finally:
             self.writer.close()
 
+    async def dispatch_message(self, msg):
+        for k in self.handlers.keys():
+            if k in msg:
+                logger.debug('Handling %s' % k)
+                if 'stream' in k:
+                    await self.handlers[k](msg[k])
+                else:
+                    with self.request_stats.start_sample() as self.request_sample, \
+                            self.request_sample.measure():
+                        await self.handlers[k](msg[k])
+                return
+
+        raise ClientError("Unrecognized command %r" % msg)
+
     def write_message(self, msg):
-        self.writer.write(('%s\n' % json.dumps(msg)).encode('utf-8'))
+        for c in chunkify(json.dumps(msg), self.max_chunk):
+            self.writer.write(c.encode('utf-8'))
 
     async def read_message(self):
         l = await self.reader.readline()
@@ -191,14 +207,38 @@
             logger.error('Bad message from client: %r' % message)
             raise e
 
+    async def handle_chunk(self, request):
+        lines = []
+        try:
+            while True:
+                l = await self.reader.readline()
+                l = l.rstrip(b"\n").decode("utf-8")
+                if not l:
+                    break
+                lines.append(l)
+
+            msg = json.loads(''.join(lines))
+        except (json.JSONDecodeError, UnicodeDecodeError) as e:
+            logger.error('Bad message from client: %r' % message)
+            raise e
+
+        if 'chunk-stream' in msg:
+            raise ClientError("Nested chunks are not allowed")
+
+        await self.dispatch_message(msg)
+
     async def handle_get(self, request):
         method = request['method']
         taskhash = request['taskhash']
 
-        row = self.query_equivalent(method, taskhash)
+        if request.get('all', False):
+            row = self.query_equivalent(method, taskhash, self.ALL_QUERY)
+        else:
+            row = self.query_equivalent(method, taskhash, self.FAST_QUERY)
+
         if row is not None:
             logger.debug('Found equivalent task %s -> %s', (row['taskhash'], row['unihash']))
-            d = {k: row[k] for k in ('taskhash', 'method', 'unihash')}
+            d = {k: row[k] for k in row.keys()}
 
             self.write_message(d)
         else:
@@ -228,7 +268,7 @@
 
                 (method, taskhash) = l.split()
                 #logger.debug('Looking up %s %s' % (method, taskhash))
-                row = self.query_equivalent(method, taskhash)
+                row = self.query_equivalent(method, taskhash, self.FAST_QUERY)
                 if row is not None:
                     msg = ('%s\n' % row['unihash']).encode('utf-8')
                     #logger.debug('Found equivalent task %s -> %s', (row['taskhash'], row['unihash']))
@@ -328,7 +368,7 @@
             # Fetch the unihash that will be reported for the taskhash. If the
             # unihash matches, it means this row was inserted (or the mapping
             # was already valid)
-            row = self.query_equivalent(data['method'], data['taskhash'])
+            row = self.query_equivalent(data['method'], data['taskhash'], self.FAST_QUERY)
 
             if row['unihash'] == data['unihash']:
                 logger.info('Adding taskhash equivalence for %s with unihash %s',
@@ -354,12 +394,11 @@
         self.request_stats.reset()
         self.write_message(d)
 
-    def query_equivalent(self, method, taskhash):
+    def query_equivalent(self, method, taskhash, query):
         # This is part of the inner loop and must be as fast as possible
         try:
             cursor = self.db.cursor()
-            cursor.execute('SELECT taskhash, method, unihash FROM tasks_v2 WHERE method=:method AND taskhash=:taskhash ORDER BY created ASC LIMIT 1',
-                           {'method': method, 'taskhash': taskhash})
+            cursor.execute(query, {'method': method, 'taskhash': taskhash})
             return cursor.fetchone()
         except:
             cursor.close()
diff --git a/poky/bitbake/lib/hashserv/tests.py b/poky/bitbake/lib/hashserv/tests.py
index a5472a9..6e86295 100644
--- a/poky/bitbake/lib/hashserv/tests.py
+++ b/poky/bitbake/lib/hashserv/tests.py
@@ -99,6 +99,29 @@
         result = self.client.get_unihash(self.METHOD, taskhash)
         self.assertEqual(result, unihash)
 
+    def test_huge_message(self):
+        # Simple test that hashes can be created
+        taskhash = 'c665584ee6817aa99edfc77a44dd853828279370'
+        outhash = '3c979c3db45c569f51ab7626a4651074be3a9d11a84b1db076f5b14f7d39db44'
+        unihash = '90e9bc1d1f094c51824adca7f8ea79a048d68824'
+
+        result = self.client.get_unihash(self.METHOD, taskhash)
+        self.assertIsNone(result, msg='Found unexpected task, %r' % result)
+
+        siginfo = "0" * (self.client.max_chunk * 4)
+
+        result = self.client.report_unihash(taskhash, self.METHOD, outhash, unihash, {
+            'outhash_siginfo': siginfo
+        })
+        self.assertEqual(result['unihash'], unihash, 'Server returned bad unihash')
+
+        result = self.client.get_taskhash(self.METHOD, taskhash, True)
+        self.assertEqual(result['taskhash'], taskhash)
+        self.assertEqual(result['unihash'], unihash)
+        self.assertEqual(result['method'], self.METHOD)
+        self.assertEqual(result['outhash'], outhash)
+        self.assertEqual(result['outhash_siginfo'], siginfo)
+
     def test_stress(self):
         def query_server(failures):
             client = Client(self.server.address)
diff --git a/poky/documentation/mega-manual/mega-manual-customization.xsl b/poky/documentation/mega-manual/mega-manual-customization.xsl
index b52b5b2..33a6e16 100644
--- a/poky/documentation/mega-manual/mega-manual-customization.xsl
+++ b/poky/documentation/mega-manual/mega-manual-customization.xsl
@@ -1,4 +1,5 @@
 <?xml version='1.0'?>
+<!--SPDX-License-Identifier: CC-BY-2.0-UK-->
 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml" xmlns:fo="http://www.w3.org/1999/XSL/Format" version="1.0">
 
   <xsl:import href="http://downloads.yoctoproject.org/mirror/docbook-mirror/docbook-xsl-1.76.1/xhtml/docbook.xsl" />
diff --git a/poky/documentation/mega-manual/mega-manual.xml b/poky/documentation/mega-manual/mega-manual.xml
index e730f72..d9912fa 100755
--- a/poky/documentation/mega-manual/mega-manual.xml
+++ b/poky/documentation/mega-manual/mega-manual.xml
@@ -1,7 +1,7 @@
 <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
 "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
 [<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
-
+<!--SPDX-License-Identifier: CC-BY-2.0-UK-->
 
 <book id='mega-manual' lang='en'
       xmlns:xi="http://www.w3.org/2003/XInclude"
diff --git a/poky/documentation/mega-manual/mega-style.css b/poky/documentation/mega-manual/mega-style.css
index cd71eb6..7748320 100644
--- a/poky/documentation/mega-manual/mega-style.css
+++ b/poky/documentation/mega-manual/mega-style.css
@@ -1,4 +1,6 @@
 /*
+   SPDX-License-Identifier: CC-BY-2.0-UK
+
    Generic XHTML / DocBook XHTML CSS Stylesheet.
 
    Browser wrangling and typographic design by
diff --git a/poky/documentation/overview-manual/overview-manual-concepts.xml b/poky/documentation/overview-manual/overview-manual-concepts.xml
index f085dd7..58b64bd 100644
--- a/poky/documentation/overview-manual/overview-manual-concepts.xml
+++ b/poky/documentation/overview-manual/overview-manual-concepts.xml
@@ -1,6 +1,7 @@
 <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
 "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
 [<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
+<!--SPDX-License-Identifier: CC-BY-2.0-UK-->
 
 <chapter id=' overview-manual-concepts'>
 <title>Yocto Project Concepts</title>
diff --git a/poky/documentation/overview-manual/overview-manual-customization.xsl b/poky/documentation/overview-manual/overview-manual-customization.xsl
index 22360e7..1dd91bd 100644
--- a/poky/documentation/overview-manual/overview-manual-customization.xsl
+++ b/poky/documentation/overview-manual/overview-manual-customization.xsl
@@ -1,4 +1,6 @@
 <?xml version='1.0'?>
+<!--SPDX-License-Identifier: CC-BY-2.0-UK-->
+
 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml" xmlns:fo="http://www.w3.org/1999/XSL/Format" version="1.0">
 
   <xsl:import href="http://downloads.yoctoproject.org/mirror/docbook-mirror/docbook-xsl-1.76.1/xhtml/docbook.xsl" />
diff --git a/poky/documentation/overview-manual/overview-manual-development-environment.xml b/poky/documentation/overview-manual/overview-manual-development-environment.xml
index 36ebf8a..8415d1d 100644
--- a/poky/documentation/overview-manual/overview-manual-development-environment.xml
+++ b/poky/documentation/overview-manual/overview-manual-development-environment.xml
@@ -1,6 +1,7 @@
 <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
 "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
 [<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
+<!--SPDX-License-Identifier: CC-BY-2.0-UK-->
 
 <chapter id='overview-development-environment'>
 <title>The Yocto Project Development Environment</title>
diff --git a/poky/documentation/overview-manual/overview-manual-intro.xml b/poky/documentation/overview-manual/overview-manual-intro.xml
index 39433aa..0e0bfed 100644
--- a/poky/documentation/overview-manual/overview-manual-intro.xml
+++ b/poky/documentation/overview-manual/overview-manual-intro.xml
@@ -1,6 +1,7 @@
 <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
 "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
 [<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
+<!--SPDX-License-Identifier: CC-BY-2.0-UK-->
 
 <chapter id='overview-manual-intro'>
 
diff --git a/poky/documentation/overview-manual/overview-manual-style.css b/poky/documentation/overview-manual/overview-manual-style.css
index 97a364b..eec9341 100644
--- a/poky/documentation/overview-manual/overview-manual-style.css
+++ b/poky/documentation/overview-manual/overview-manual-style.css
@@ -1,4 +1,6 @@
 /*
+   SPDX-License-Identifier: CC-BY-2.0-UK
+
    Generic XHTML / DocBook XHTML CSS Stylesheet.
 
    Browser wrangling and typographic design by
diff --git a/poky/documentation/overview-manual/overview-manual-yp-intro.xml b/poky/documentation/overview-manual/overview-manual-yp-intro.xml
index 1b60a30..2097ed3 100644
--- a/poky/documentation/overview-manual/overview-manual-yp-intro.xml
+++ b/poky/documentation/overview-manual/overview-manual-yp-intro.xml
@@ -1,6 +1,7 @@
 <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
 "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
 [<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
+<!--SPDX-License-Identifier: CC-BY-2.0-UK-->
 
 <chapter id='overview-yp'>
     <title>Introducing the Yocto Project</title>
diff --git a/poky/documentation/overview-manual/overview-manual.xml b/poky/documentation/overview-manual/overview-manual.xml
index 210d644..8021a2e 100755
--- a/poky/documentation/overview-manual/overview-manual.xml
+++ b/poky/documentation/overview-manual/overview-manual.xml
@@ -1,6 +1,7 @@
 <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
 "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
 [<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
+<!--SPDX-License-Identifier: CC-BY-2.0-UK-->
 
 <book id='overview-manual' lang='en'
       xmlns:xi="http://www.w3.org/2003/XInclude"
diff --git a/poky/documentation/ref-manual/faq.xml b/poky/documentation/ref-manual/faq.xml
index d94cb32..98ae0a9 100644
--- a/poky/documentation/ref-manual/faq.xml
+++ b/poky/documentation/ref-manual/faq.xml
@@ -1,6 +1,7 @@
 <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
 "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
 [<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
+<!--SPDX-License-Identifier: CC-BY-2.0-UK-->
 
 <chapter id='faq'>
 <title>FAQ</title>
diff --git a/poky/documentation/ref-manual/migration.xml b/poky/documentation/ref-manual/migration.xml
index affc8b9..d3d5b16 100644
--- a/poky/documentation/ref-manual/migration.xml
+++ b/poky/documentation/ref-manual/migration.xml
@@ -1,6 +1,7 @@
 <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
 "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
 [<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
+<!--SPDX-License-Identifier: CC-BY-2.0-UK-->
 
 <chapter id='migration'>
 <title>Migrating to a Newer Yocto Project Release</title>
diff --git a/poky/documentation/ref-manual/ref-classes.xml b/poky/documentation/ref-manual/ref-classes.xml
index f8920d8..ab12373 100644
--- a/poky/documentation/ref-manual/ref-classes.xml
+++ b/poky/documentation/ref-manual/ref-classes.xml
@@ -1,6 +1,7 @@
 <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
 "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
 [<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
+<!--SPDX-License-Identifier: CC-BY-2.0-UK-->
 
 <chapter id='ref-classes'>
 <title>Classes</title>
diff --git a/poky/documentation/ref-manual/ref-devtool-reference.xml b/poky/documentation/ref-manual/ref-devtool-reference.xml
index 11f7399..6c3ccc3 100644
--- a/poky/documentation/ref-manual/ref-devtool-reference.xml
+++ b/poky/documentation/ref-manual/ref-devtool-reference.xml
@@ -1,6 +1,7 @@
 <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
 "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
 [<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
+<!--SPDX-License-Identifier: CC-BY-2.0-UK-->
 
 <chapter id='ref-devtool-reference'>
     <title><filename>devtool</filename> Quick Reference</title>
diff --git a/poky/documentation/ref-manual/ref-features.xml b/poky/documentation/ref-manual/ref-features.xml
index 294b297..8cab5ec 100644
--- a/poky/documentation/ref-manual/ref-features.xml
+++ b/poky/documentation/ref-manual/ref-features.xml
@@ -1,6 +1,7 @@
 <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
 "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
 [<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
+<!--SPDX-License-Identifier: CC-BY-2.0-UK-->
 
 <chapter id='ref-features'>
     <title>Features</title>
diff --git a/poky/documentation/ref-manual/ref-images.xml b/poky/documentation/ref-manual/ref-images.xml
index 1f96186..aaeda55 100644
--- a/poky/documentation/ref-manual/ref-images.xml
+++ b/poky/documentation/ref-manual/ref-images.xml
@@ -1,6 +1,7 @@
 <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
 "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
 [<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
+<!--SPDX-License-Identifier: CC-BY-2.0-UK-->
 
 <chapter id='ref-images'>
     <title>Images</title>
diff --git a/poky/documentation/ref-manual/ref-kickstart.xml b/poky/documentation/ref-manual/ref-kickstart.xml
index 1128bd5..45db1c0 100644
--- a/poky/documentation/ref-manual/ref-kickstart.xml
+++ b/poky/documentation/ref-manual/ref-kickstart.xml
@@ -1,6 +1,7 @@
 <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
 "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
 [<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
+<!--SPDX-License-Identifier: CC-BY-2.0-UK-->
 
 <chapter id='ref-kickstart'>
 <title>OpenEmbedded Kickstart (<filename>.wks</filename>) Reference</title>
diff --git a/poky/documentation/ref-manual/ref-manual-customization.xsl b/poky/documentation/ref-manual/ref-manual-customization.xsl
index c58dd90..3181f61 100644
--- a/poky/documentation/ref-manual/ref-manual-customization.xsl
+++ b/poky/documentation/ref-manual/ref-manual-customization.xsl
@@ -1,4 +1,6 @@
 <?xml version='1.0'?>
+<!--SPDX-License-Identifier: CC-BY-2.0-UK-->
+
 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml" xmlns:fo="http://www.w3.org/1999/XSL/Format" version="1.0">
 
   <xsl:import href="http://downloads.yoctoproject.org/mirror/docbook-mirror/docbook-xsl-1.76.1/xhtml/docbook.xsl" />
diff --git a/poky/documentation/ref-manual/ref-qa-checks.xml b/poky/documentation/ref-manual/ref-qa-checks.xml
index 424a19c..0071e4a 100644
--- a/poky/documentation/ref-manual/ref-qa-checks.xml
+++ b/poky/documentation/ref-manual/ref-qa-checks.xml
@@ -1,6 +1,7 @@
 <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
 "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
 [<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
+<!--SPDX-License-Identifier: CC-BY-2.0-UK-->
 
 <chapter id='ref-qa-checks'>
 <title>QA Error and Warning Messages</title>
diff --git a/poky/documentation/ref-manual/ref-release-process.xml b/poky/documentation/ref-manual/ref-release-process.xml
index 5efe174..87f5308 100644
--- a/poky/documentation/ref-manual/ref-release-process.xml
+++ b/poky/documentation/ref-manual/ref-release-process.xml
@@ -1,6 +1,7 @@
 <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
 "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
 [<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
+<!--SPDX-License-Identifier: CC-BY-2.0-UK-->
 
 <chapter id='ref-release-process'>
 <title>Yocto Project Releases and the Stable Release Process</title>
diff --git a/poky/documentation/ref-manual/ref-structure.xml b/poky/documentation/ref-manual/ref-structure.xml
index 27f17dd..8588e9c 100644
--- a/poky/documentation/ref-manual/ref-structure.xml
+++ b/poky/documentation/ref-manual/ref-structure.xml
@@ -1,6 +1,7 @@
 <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
 "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
 [<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
+<!--SPDX-License-Identifier: CC-BY-2.0-UK-->
 
 <chapter id='ref-structure'>
 
diff --git a/poky/documentation/ref-manual/ref-style.css b/poky/documentation/ref-manual/ref-style.css
index 7077e4b..622ceb8 100644
--- a/poky/documentation/ref-manual/ref-style.css
+++ b/poky/documentation/ref-manual/ref-style.css
@@ -1,4 +1,7 @@
 /*
+
+   SPDX-License-Identifier: CC-BY-2.0-UK
+
    Generic XHTML / DocBook XHTML CSS Stylesheet.
 
    Browser wrangling and typographic design by
diff --git a/poky/documentation/ref-manual/ref-system-requirements.xml b/poky/documentation/ref-manual/ref-system-requirements.xml
index 7a11ec2..43e217c 100644
--- a/poky/documentation/ref-manual/ref-system-requirements.xml
+++ b/poky/documentation/ref-manual/ref-system-requirements.xml
@@ -1,6 +1,7 @@
 <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
 "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
 [<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
+<!--SPDX-License-Identifier: CC-BY-2.0-UK-->
 
 <chapter id='ref-manual-system-requirements'>
 <title>System Requirements</title>
diff --git a/poky/documentation/ref-manual/ref-tasks.xml b/poky/documentation/ref-manual/ref-tasks.xml
index 011e0d7..5b09b3f 100644
--- a/poky/documentation/ref-manual/ref-tasks.xml
+++ b/poky/documentation/ref-manual/ref-tasks.xml
@@ -1,6 +1,7 @@
 <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
 "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
 [<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
+<!--SPDX-License-Identifier: CC-BY-2.0-UK-->
 
 <chapter id='ref-tasks'>
 <title>Tasks</title>
diff --git a/poky/documentation/ref-manual/ref-terms.xml b/poky/documentation/ref-manual/ref-terms.xml
index 722fa7e..d2605c6 100644
--- a/poky/documentation/ref-manual/ref-terms.xml
+++ b/poky/documentation/ref-manual/ref-terms.xml
@@ -1,6 +1,7 @@
 <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
 "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
 [<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
+<!--SPDX-License-Identifier: CC-BY-2.0-UK-->
 
 <chapter id='ref-terms'>
 <title>Yocto Project Terms</title>
diff --git a/poky/documentation/ref-manual/ref-variables.xml b/poky/documentation/ref-manual/ref-variables.xml
index 657f6cf..9fe744a 100644
--- a/poky/documentation/ref-manual/ref-variables.xml
+++ b/poky/documentation/ref-manual/ref-variables.xml
@@ -1,6 +1,7 @@
 <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
 "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
 [<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
+<!--SPDX-License-Identifier: CC-BY-2.0-UK-->
 
 <!-- Dummy chapter -->
 <chapter id='ref-variables-glos'>
diff --git a/poky/documentation/ref-manual/ref-varlocality.xml b/poky/documentation/ref-manual/ref-varlocality.xml
index 54524d5..a2436fb 100644
--- a/poky/documentation/ref-manual/ref-varlocality.xml
+++ b/poky/documentation/ref-manual/ref-varlocality.xml
@@ -1,6 +1,7 @@
 <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
 "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
 [<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
+<!--SPDX-License-Identifier: CC-BY-2.0-UK-->
 
 <chapter id='ref-varlocality'>
     <title>Variable Context</title>
diff --git a/poky/documentation/ref-manual/resources.xml b/poky/documentation/ref-manual/resources.xml
index afe8e28..4899b2e 100644
--- a/poky/documentation/ref-manual/resources.xml
+++ b/poky/documentation/ref-manual/resources.xml
@@ -1,6 +1,7 @@
 <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
 "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
 [<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
+<!--SPDX-License-Identifier: CC-BY-2.0-UK-->
 
 <chapter id='resources'>
 <title>Contributions and Additional Information</title>
diff --git a/poky/meta-skeleton/recipes-baremetal/baremetal-examples/baremetal-helloworld_git.bb b/poky/meta-skeleton/recipes-baremetal/baremetal-examples/baremetal-helloworld_git.bb
index e84a90f..3acc523 100644
--- a/poky/meta-skeleton/recipes-baremetal/baremetal-examples/baremetal-helloworld_git.bb
+++ b/poky/meta-skeleton/recipes-baremetal/baremetal-examples/baremetal-helloworld_git.bb
@@ -10,10 +10,19 @@
 
 S = "${WORKDIR}/git/"
 
-# These examples are not meant to be built when using either musl or glibc
-COMPATIBLE_HOST_libc-musl_class-target = "null"
-COMPATIBLE_HOST_libc-glibc_class-target = "null"
+# The following variables should be set to accomodate each application
+BAREMETAL_BINNAME ?= "hello_baremetal_${MACHINE}"
+IMAGE_LINK_NAME ?= "baremetal-helloworld-image-${MACHINE}"
+IMAGE_NAME_SUFFIX ?= ""
 
+# Baremetal-Image creates the proper wiring, assumes the output is provided in
+# binary and ELF format, installed on ${base_libdir}/firmware/ , we want a
+# package to be created since we might have some way of updating the baremetal
+# firmware from Linux
+inherit baremetal-image
+
+
+# These parameters are app specific for this example
 # This will be translated automatically to the architecture and
 # machine that QEMU uses on OE, e.g. -machine virt -cpu cortex-a57
 # but the examples can also be run on other architectures/machines
@@ -25,82 +34,17 @@
 BAREMETAL_QEMUARCH_qemuarm = "arm"
 BAREMETAL_QEMUARCH_qemuarm64 = "aarch64"
 
-
 EXTRA_OEMAKE_append = " QEMUARCH=${BAREMETAL_QEMUARCH} V=1"
 
+
+# Install binaries on the proper location for baremetal-image to fetch and deploy
 do_install(){
-    install -d ${D}/${datadir}
-    install -m 755 ${B}build/hello_baremetal_${BAREMETAL_QEMUARCH}.bin ${D}/${datadir}/hello_baremetal_${MACHINE}.bin
-    install -m 755 ${B}build/hello_baremetal_${BAREMETAL_QEMUARCH}.elf ${D}/${datadir}/hello_baremetal_${MACHINE}.elf
-}
-
-# Borrowed from meta-freertos
-inherit rootfs-postcommands
-inherit deploy
-IMGDEPLOYDIR ?= "${WORKDIR}/deploy-${PN}-image-complete"
-do_deploy[dirs] = "${DEPLOYDIR} ${DEPLOY_DIR_IMAGE}"
-do_rootfs[dirs] = "${DEPLOYDIR} ${DEPLOY_DIR_IMAGE}"
-DEPLOYDIR = "${IMGDEPLOYDIR}"
-IMAGE_LINK_NAME ?= "baremetal-helloworld-image-${MACHINE}"
-IMAGE_NAME_SUFFIX ?= ""
-
-do_deploy(){
-    install ${D}/${datadir}/hello_baremetal_${MACHINE}.bin ${DEPLOYDIR}/${IMAGE_LINK_NAME}.bin
-    install ${D}/${datadir}/hello_baremetal_${MACHINE}.elf ${DEPLOYDIR}/${IMAGE_LINK_NAME}.elf
-}
-
-do_image(){
-    :
+    install -d ${D}/${base_libdir}/firmware
+    install -m 755 ${B}build/hello_baremetal_${BAREMETAL_QEMUARCH}.bin ${D}/${base_libdir}/firmware/${BAREMETAL_BINNAME}.bin
+    install -m 755 ${B}build/hello_baremetal_${BAREMETAL_QEMUARCH}.elf ${D}/${base_libdir}/firmware/${BAREMETAL_BINNAME}.elf
 }
 
 FILES_${PN} += " \
-    ${datadir}/hello_baremetal_${MACHINE}.bin \
-    ${datadir}/hello_baremetal_${MACHINE}.elf \
+    ${base_libdir}/firmware/${BAREMETAL_BINNAME}.bin \
+    ${base_libdir}/firmware/${BAREMETAL_BINNAME}.elf \
 "
-
-python do_rootfs(){
-    from oe.utils import execute_pre_post_process
-    from pathlib import Path
-
-    # Write empty manifest testdate file
-    deploy_dir = d.getVar('DEPLOYDIR')
-    link_name = d.getVar('IMAGE_LINK_NAME')
-    manifest_name = d.getVar('IMAGE_MANIFEST')
-
-    Path(manifest_name).touch()
-    if os.path.exists(manifest_name) and link_name:
-        manifest_link = deploy_dir + "/" + link_name + ".manifest"
-        if os.path.lexists(manifest_link):
-            os.remove(manifest_link)
-        os.symlink(os.path.basename(manifest_name), manifest_link)
-    execute_pre_post_process(d, d.getVar('ROOTFS_POSTPROCESS_COMMAND'))
-}
-
-# QEMU generic FreeRTOS parameters
-QB_DEFAULT_KERNEL = "${IMAGE_LINK_NAME}.bin"
-QB_MEM = "-m 256"
-QB_OPT_APPEND = "-nographic"
-QB_DEFAULT_FSTYPE = "bin"
-QB_DTB = ""
-
-# This next part is necessary to trick the build system into thinking
-# its building an image recipe so it generates the qemuboot.conf
-addtask do_deploy after do_write_qemuboot_conf before do_build
-addtask do_rootfs before do_deploy after do_install
-addtask do_image after do_rootfs before do_build
-inherit qemuboot
-
-# Based on image.bbclass to make sure we build qemu
-python(){
-    # do_addto_recipe_sysroot doesnt exist for all recipes, but we need it to have
-    # /usr/bin on recipe-sysroot (qemu) populated
-    def extraimage_getdepends(task):
-        deps = ""
-        for dep in (d.getVar('EXTRA_IMAGEDEPENDS') or "").split():
-        # Make sure we only add it for qemu
-            if 'qemu' in dep:
-                deps += " %s:%s" % (dep, task)
-        return deps
-    d.appendVarFlag('do_image', 'depends', extraimage_getdepends('do_addto_recipe_sysroot'))
-    d.appendVarFlag('do_image', 'depends', extraimage_getdepends('do_populate_sysroot'))
-}
diff --git a/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.4.bbappend b/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.4.bbappend
index 7207442..6267485 100644
--- a/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.4.bbappend
+++ b/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.4.bbappend
@@ -7,17 +7,17 @@
 KMACHINE_genericx86-64 ?= "common-pc-64"
 KMACHINE_beaglebone-yocto ?= "beaglebone"
 
-SRCREV_machine_genericx86 ?= "29f44c85c379c38f15e544828e7e77b3c008f378"
-SRCREV_machine_genericx86-64 ?= "29f44c85c379c38f15e544828e7e77b3c008f378"
-SRCREV_machine_edgerouter ?= "f4d7dbafb103e4f782323017c239c548871c1567"
-SRCREV_machine_beaglebone-yocto ?= "f4d7dbafb103e4f782323017c239c548871c1567"
+SRCREV_machine_genericx86 ?= "ec485bd4afef57715eb45ba331b04b3f941e43bb"
+SRCREV_machine_genericx86-64 ?= "ec485bd4afef57715eb45ba331b04b3f941e43bb"
+SRCREV_machine_edgerouter ?= "ec485bd4afef57715eb45ba331b04b3f941e43bb"
+SRCREV_machine_beaglebone-yocto ?= "ec485bd4afef57715eb45ba331b04b3f941e43bb"
 
 COMPATIBLE_MACHINE_genericx86 = "genericx86"
 COMPATIBLE_MACHINE_genericx86-64 = "genericx86-64"
 COMPATIBLE_MACHINE_edgerouter = "edgerouter"
 COMPATIBLE_MACHINE_beaglebone-yocto = "beaglebone-yocto"
 
-LINUX_VERSION_genericx86 = "5.4.40"
-LINUX_VERSION_genericx86-64 = "5.4.40"
-LINUX_VERSION_edgerouter = "5.4.20"
-LINUX_VERSION_beaglebone-yocto = "5.4.20"
+LINUX_VERSION_genericx86 = "5.4.49"
+LINUX_VERSION_genericx86-64 = "5.4.49"
+LINUX_VERSION_edgerouter = "5.4.49"
+LINUX_VERSION_beaglebone-yocto = "5.4.49"
diff --git a/poky/meta/classes/archiver.bbclass b/poky/meta/classes/archiver.bbclass
index e221fff..aff1f9d 100644
--- a/poky/meta/classes/archiver.bbclass
+++ b/poky/meta/classes/archiver.bbclass
@@ -582,8 +582,8 @@
 addtask do_deploy_archives_setscene
 
 addtask do_ar_original after do_unpack
-addtask do_unpack_and_patch after do_patch
-addtask do_ar_patched after do_unpack_and_patch before do_preconfigure do_configure
+addtask do_unpack_and_patch after do_patch do_preconfigure
+addtask do_ar_patched after do_unpack_and_patch
 addtask do_ar_configured after do_unpack_and_patch
 addtask do_ar_mirror after do_fetch
 addtask do_dumpdata
diff --git a/poky/meta/classes/baremetal-image.bbclass b/poky/meta/classes/baremetal-image.bbclass
new file mode 100644
index 0000000..90d58f2
--- /dev/null
+++ b/poky/meta/classes/baremetal-image.bbclass
@@ -0,0 +1,99 @@
+# Baremetal image class
+#
+# This class is meant to be inherited by recipes for baremetal/RTOS applications
+# It contains code that would be used by all of them, every recipe just needs to
+# override certain variables.
+#
+# For scalability purposes, code within this class focuses on the "image" wiring
+# to satisfy the OpenEmbedded image creation and testing infrastructure.
+#
+# See meta-skeleton for a working example.
+
+
+# Toolchain should be baremetal or newlib based.
+# TCLIBC="baremetal" or TCLIBC="newlib"
+COMPATIBLE_HOST_libc-musl_class-target = "null"
+COMPATIBLE_HOST_libc-glibc_class-target = "null"
+
+
+inherit rootfs-postcommands
+
+# Set some defaults, but these should be overriden by each recipe if required
+IMGDEPLOYDIR ?= "${WORKDIR}/deploy-${PN}-image-complete"
+BAREMETAL_BINNAME ?= "hello_baremetal_${MACHINE}"
+IMAGE_LINK_NAME ?= "baremetal-helloworld-image-${MACHINE}"
+IMAGE_NAME_SUFFIX ?= ""
+
+do_rootfs[dirs] = "${IMGDEPLOYDIR} ${DEPLOY_DIR_IMAGE}"
+
+do_image(){
+    install ${D}/${base_libdir}/firmware/${BAREMETAL_BINNAME}.bin ${IMGDEPLOYDIR}/${IMAGE_LINK_NAME}.bin
+    install ${D}/${base_libdir}/firmware/${BAREMETAL_BINNAME}.elf ${IMGDEPLOYDIR}/${IMAGE_LINK_NAME}.elf
+}
+
+do_image_complete(){
+    :
+}
+
+python do_rootfs(){
+    from oe.utils import execute_pre_post_process
+    from pathlib import Path
+
+    # Write empty manifest file to satisfy test infrastructure
+    deploy_dir = d.getVar('IMGDEPLOYDIR')
+    link_name = d.getVar('IMAGE_LINK_NAME')
+    manifest_name = d.getVar('IMAGE_MANIFEST')
+
+    Path(manifest_name).touch()
+    if os.path.exists(manifest_name) and link_name:
+        manifest_link = deploy_dir + "/" + link_name + ".manifest"
+        if os.path.lexists(manifest_link):
+            os.remove(manifest_link)
+        os.symlink(os.path.basename(manifest_name), manifest_link)
+    execute_pre_post_process(d, d.getVar('ROOTFS_POSTPROCESS_COMMAND'))
+}
+
+
+# Assure binaries, manifest and qemubootconf are populated on DEPLOY_DIR_IMAGE
+do_image_complete[dirs] = "${TOPDIR}"
+do_image_complete[umask] = "022"
+SSTATETASKS += "do_image_complete"
+SSTATE_SKIP_CREATION_task-image-complete = '1'
+do_image_complete[sstate-inputdirs] = "${IMGDEPLOYDIR}"
+do_image_complete[sstate-outputdirs] = "${DEPLOY_DIR_IMAGE}"
+do_image_complete[stamp-extra-info] = "${MACHINE_ARCH}"
+addtask do_image_complete after do_image before do_build
+
+python do_image_complete_setscene () {
+    sstate_setscene(d)
+}
+addtask do_image_complete_setscene
+
+# QEMU generic Baremetal/RTOS parameters
+QB_DEFAULT_KERNEL ?= "${IMAGE_LINK_NAME}.bin"
+QB_MEM ?= "-m 256"
+QB_DEFAULT_FSTYPE ?= "bin"
+QB_DTB ?= ""
+QB_OPT_APPEND = "-nographic"
+
+# This next part is necessary to trick the build system into thinking
+# its building an image recipe so it generates the qemuboot.conf
+addtask do_rootfs before do_image after do_install
+addtask do_image after do_rootfs before do_image_complete
+addtask do_image_complete after do_image before do_build
+inherit qemuboot
+
+# Based on image.bbclass to make sure we build qemu
+python(){
+    # do_addto_recipe_sysroot doesnt exist for all recipes, but we need it to have
+    # /usr/bin on recipe-sysroot (qemu) populated
+    def extraimage_getdepends(task):
+        deps = ""
+        for dep in (d.getVar('EXTRA_IMAGEDEPENDS') or "").split():
+        # Make sure we only add it for qemu
+            if 'qemu' in dep:
+                deps += " %s:%s" % (dep, task)
+        return deps
+    d.appendVarFlag('do_image', 'depends', extraimage_getdepends('do_addto_recipe_sysroot'))
+    d.appendVarFlag('do_image', 'depends', extraimage_getdepends('do_populate_sysroot'))
+}
diff --git a/poky/meta/classes/deploy.bbclass b/poky/meta/classes/deploy.bbclass
index 6d52908..737c261 100644
--- a/poky/meta/classes/deploy.bbclass
+++ b/poky/meta/classes/deploy.bbclass
@@ -8,4 +8,5 @@
 }
 addtask do_deploy_setscene
 do_deploy[dirs] = "${DEPLOYDIR} ${B}"
+do_deploy[cleandirs] = "${DEPLOYDIR}"
 do_deploy[stamp-extra-info] = "${MACHINE_ARCH}"
diff --git a/poky/meta/classes/gtk-icon-cache.bbclass b/poky/meta/classes/gtk-icon-cache.bbclass
index 91cb4ad..dd394af2 100644
--- a/poky/meta/classes/gtk-icon-cache.bbclass
+++ b/poky/meta/classes/gtk-icon-cache.bbclass
@@ -1,6 +1,10 @@
 FILES_${PN} += "${datadir}/icons/hicolor"
 
-DEPENDS +=" ${@['hicolor-icon-theme', '']['${BPN}' == 'hicolor-icon-theme']} gtk+3-native"
+DEPENDS +=" ${@['hicolor-icon-theme', '']['${BPN}' == 'hicolor-icon-theme']} \
+            ${@['gdk-pixbuf', '']['${BPN}' == 'gdk-pixbuf']} \
+            ${@['gtk+3', '']['${BPN}' == 'gtk+3']} \
+            gtk+3-native \
+"
 
 PACKAGE_WRITE_DEPS += "gtk+3-native gdk-pixbuf-native"
 
@@ -48,9 +52,18 @@
         bb.note("adding hicolor-icon-theme dependency to %s" % pkg)
         rdepends = ' ' + d.getVar('MLPREFIX', False) + "hicolor-icon-theme"
         d.appendVar('RDEPENDS_%s' % pkg, rdepends)
-    
+
+        #gtk_icon_cache_postinst depend on gdk-pixbuf and gtk+3
+        bb.note("adding gdk-pixbuf dependency to %s" % pkg)
+        rdepends = ' ' + d.getVar('MLPREFIX', False) + "gdk-pixbuf"
+        d.appendVar('RDEPENDS_%s' % pkg, rdepends)
+
+        bb.note("adding gtk+3 dependency to %s" % pkg)
+        rdepends = ' ' + d.getVar('MLPREFIX', False) + "gtk+3"
+        d.appendVar('RDEPENDS_%s' % pkg, rdepends)
+
         bb.note("adding gtk-icon-cache postinst and postrm scripts to %s" % pkg)
-        
+
         postinst = d.getVar('pkg_postinst_%s' % pkg)
         if not postinst:
             postinst = '#!/bin/sh\n'
diff --git a/poky/meta/classes/kernel-yocto.bbclass b/poky/meta/classes/kernel-yocto.bbclass
index 5bc6270..54a1a16 100644
--- a/poky/meta/classes/kernel-yocto.bbclass
+++ b/poky/meta/classes/kernel-yocto.bbclass
@@ -131,7 +131,7 @@
 			else
 				cp -f ${S}/arch/${ARCH}/configs/${KBUILD_DEFCONFIG} ${WORKDIR}/defconfig
 			fi
-			sccs="${WORKDIR}/defconfig"
+			in_tree_defconfig="${WORKDIR}/defconfig"
 		else
 			bbfatal "A KBUILD_DEFCONFIG '${KBUILD_DEFCONFIG}' was specified, but not present in the source tree"
 		fi
@@ -153,14 +153,25 @@
 	patches="${@" ".join(find_patches(d,''))}"
 	feat_dirs="${@" ".join(find_kernel_feature_dirs(d))}"
 
-	# a quick check to make sure we don't have duplicate defconfigs
-	# If there's a defconfig in the SRC_URI, did we also have one from
-	# the KBUILD_DEFCONFIG processing above ?
-	if [ -n "$sccs" ]; then
-	    # we did have a defconfig from above. remove any that might be in the src_uri
-	    sccs_from_src_uri=$(echo $sccs_from_src_uri | awk '{ if ($0!="defconfig") { print $0 } }' RS=' ')
+	# a quick check to make sure we don't have duplicate defconfigs If
+	# there's a defconfig in the SRC_URI, did we also have one from the
+	# KBUILD_DEFCONFIG processing above ?
+	src_uri_defconfig=$(echo $sccs_from_src_uri | awk '(match($0, "defconfig") != 0) { print $0 }' RS=' ')
+	# drop and defconfig's from the src_uri variable, we captured it just above here if it existed
+	sccs_from_src_uri=$(echo $sccs_from_src_uri | awk '(match($0, "defconfig") == 0) { print $0 }' RS=' ')
+
+	if [ -n "$in_tree_defconfig" ]; then
+		sccs_defconfig=$in_tree_defconfig
+		if [ -n "$src_uri_defconfig" ]; then
+			bbwarn "[NOTE]: defconfig was supplied both via KBUILD_DEFCONFIG and SRC_URI. Dropping SRC_URI defconfig"
+		fi
+	else
+		# if we didn't have an in-tree one, make our defconfig the one
+		# from the src_uri. Note: there may not have been one from the
+		# src_uri, so this can be an empty variable.
+		sccs_defconfig=$src_uri_defconfig
 	fi
-	sccs="$sccs $sccs_from_src_uri"
+	sccs="$sccs_from_src_uri"
 
 	# check for feature directories/repos/branches that were part of the
 	# SRC_URI. If they were supplied, we convert them into include directives
@@ -187,11 +198,10 @@
 	# expand kernel features into their full path equivalents
 	bsp_definition=$(spp ${includes} --find -DKMACHINE=${KMACHINE} -DKTYPE=${LINUX_KERNEL_TYPE})
 	if [ -z "$bsp_definition" ]; then
-		echo "$sccs" | grep -q defconfig
-		if [ $? -ne 0 ]; then
+		if [ -z "$sccs_defconfig" ]; then
 			bbfatal_log "Could not locate BSP definition for ${KMACHINE}/${LINUX_KERNEL_TYPE} and no defconfig was provided"
 		fi
-
+	else
 		# if the bsp definition has "define KMETA_EXTERNAL_BSP t",
 		# then we need to set a flag that will instruct the next
 		# steps to use the BSP as both configuration and patches.
@@ -206,7 +216,7 @@
 	elements="`echo -n ${bsp_definition} ${sccs} ${patches} ${KERNEL_FEATURES}`"
 	if [ -n "${elements}" ]; then
 		echo "${bsp_definition}" > ${S}/${meta_dir}/bsp_definition
-		scc --force -o ${S}/${meta_dir}:cfg,merge,meta ${includes} ${bsp_definition} ${sccs} ${patches} ${KERNEL_FEATURES}
+		scc --force -o ${S}/${meta_dir}:cfg,merge,meta ${includes} $sccs_defconfig $bsp_definition $sccs $patches ${KERNEL_FEATURES}
 		if [ $? -ne 0 ]; then
 			bbfatal_log "Could not generate configuration queue for ${KMACHINE}."
 		fi
diff --git a/poky/meta/classes/kernel.bbclass b/poky/meta/classes/kernel.bbclass
index 20a0135..cf43a5d 100644
--- a/poky/meta/classes/kernel.bbclass
+++ b/poky/meta/classes/kernel.bbclass
@@ -4,10 +4,12 @@
 KERNEL_DEPLOYSUBDIR ??= "${@ "" if (d.getVar("KERNEL_PACKAGE_NAME") == "kernel") else d.getVar("KERNEL_PACKAGE_NAME") }"
 
 PROVIDES += "${@ "virtual/kernel" if (d.getVar("KERNEL_PACKAGE_NAME") == "kernel") else "" }"
-DEPENDS += "virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}gcc kmod-native bc-native lzop-native bison-native"
+DEPENDS += "virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}gcc kmod-native bc-native bison-native"
+DEPENDS += "${@bb.utils.contains("INITRAMFS_FSTYPES", "cpio.lzo", "lzop-native", "", d)}"
+DEPENDS += "${@bb.utils.contains("INITRAMFS_FSTYPES", "cpio.lz4", "lz4-native", "", d)}"
 PACKAGE_WRITE_DEPS += "depmodwrapper-cross"
 
-do_deploy[depends] += "depmodwrapper-cross:do_populate_sysroot"
+do_deploy[depends] += "depmodwrapper-cross:do_populate_sysroot gzip-native:do_populate_sysroot"
 do_clean[depends] += "make-mod-scripts:do_clean"
 
 CVE_PRODUCT ?= "linux_kernel"
@@ -94,6 +96,25 @@
         d.appendVar('RDEPENDS_%s-image' % kname, ' %s-image-%s' % (kname, typelower))
         d.setVar('PKG_%s-image-%s' % (kname,typelower), '%s-image-%s-${KERNEL_VERSION_PKG_NAME}' % (kname, typelower))
         d.setVar('ALLOW_EMPTY_%s-image-%s' % (kname, typelower), '1')
+        d.setVar('pkg_postinst_%s-image-%s' % (kname,typelower), """set +e
+if [ -n "$D" ]; then
+    ln -sf %s-${KERNEL_VERSION} $D/${KERNEL_IMAGEDEST}/%s > /dev/null 2>&1
+else
+    ln -sf %s-${KERNEL_VERSION} ${KERNEL_IMAGEDEST}/%s > /dev/null 2>&1
+    if [ $? -ne 0 ]; then
+        echo "Filesystem on ${KERNEL_IMAGEDEST}/ doesn't support symlinks, falling back to copied image (%s)."
+        install -m 0644 ${KERNEL_IMAGEDEST}/%s-${KERNEL_VERSION} ${KERNEL_IMAGEDEST}/%s
+    fi
+fi
+set -e
+""" % (type, type, type, type, type, type, type))
+        d.setVar('pkg_postrm_%s-image-%s' % (kname,typelower), """set +e
+if [ -f "${KERNEL_IMAGEDEST}/%s" -o -L "${KERNEL_IMAGEDEST}/%s" ]; then
+    rm -f ${KERNEL_IMAGEDEST}/%s  > /dev/null 2>&1
+fi
+set -e
+""" % (type, type, type))
+
 
     image = d.getVar('INITRAMFS_IMAGE')
     # If the INTIRAMFS_IMAGE is set but the INITRAMFS_IMAGE_BUNDLE is set to 0,
@@ -210,7 +231,7 @@
 				;;
 			*lz4)
 				echo "lz4 decompressing image"
-				lz4 -df ${B}/usr/${INITRAMFS_IMAGE_NAME}.$img
+				lz4 -df ${B}/usr/${INITRAMFS_IMAGE_NAME}.$img ${B}/usr/${INITRAMFS_IMAGE_NAME}.cpio
 				break
 				;;
 			*lzo)
@@ -385,9 +406,6 @@
 	install -d ${D}/boot
 	for imageType in ${KERNEL_IMAGETYPES} ; do
 		install -m 0644 ${KERNEL_OUTPUT_DIR}/${imageType} ${D}/${KERNEL_IMAGEDEST}/${imageType}-${KERNEL_VERSION}
-		if [ "${KERNEL_PACKAGE_NAME}" = "kernel" ]; then
-			ln -sf ${imageType}-${KERNEL_VERSION} ${D}/${KERNEL_IMAGEDEST}/${imageType}
-		fi
 	done
 	install -m 0644 System.map ${D}/boot/System.map-${KERNEL_VERSION}
 	install -m 0644 .config ${D}/boot/config-${KERNEL_VERSION}
@@ -463,7 +481,7 @@
 
 	# Copy files required for module builds
 	cp System.map $kerneldir/System.map-${KERNEL_VERSION}
-	cp Module.symvers $kerneldir/
+	[ -e Module.symvers ] && cp Module.symvers $kerneldir/
 	cp .config $kerneldir/
 	mkdir -p $kerneldir/include/config
 	cp include/config/kernel.release $kerneldir/include/config/kernel.release
@@ -729,8 +747,6 @@
 		done
 	fi
 }
-do_deploy[cleandirs] = "${DEPLOYDIR}"
-do_deploy[dirs] = "${DEPLOYDIR} ${B}"
 do_deploy[prefuncs] += "package_get_auto_pr"
 
 addtask deploy after do_populate_sysroot do_packagedata
diff --git a/poky/meta/classes/populate_sdk_ext.bbclass b/poky/meta/classes/populate_sdk_ext.bbclass
index 9f26cfc..fd0da16 100644
--- a/poky/meta/classes/populate_sdk_ext.bbclass
+++ b/poky/meta/classes/populate_sdk_ext.bbclass
@@ -676,7 +676,7 @@
 		# current working directory when first ran, nor will it set $1 when
 		# sourcing a script. That is why this has to look so ugly.
 		LOGFILE="$target_sdk_dir/preparing_build_system.log"
-		sh -c ". buildtools/environment-setup* > $LOGFILE && cd $target_sdk_dir/`dirname ${oe_init_build_env_path}` && set $target_sdk_dir && . $target_sdk_dir/${oe_init_build_env_path} $target_sdk_dir >> $LOGFILE && python $target_sdk_dir/ext-sdk-prepare.py $LOGFILE '${SDK_INSTALL_TARGETS}'" || { echo "printf 'ERROR: this SDK was not fully installed and needs reinstalling\n'" >> $env_setup_script ; exit 1 ; }
+		sh -c ". buildtools/environment-setup* > $LOGFILE && cd $target_sdk_dir/`dirname ${oe_init_build_env_path}` && set $target_sdk_dir && . $target_sdk_dir/${oe_init_build_env_path} $target_sdk_dir >> $LOGFILE && python3 $target_sdk_dir/ext-sdk-prepare.py $LOGFILE '${SDK_INSTALL_TARGETS}'" || { echo "printf 'ERROR: this SDK was not fully installed and needs reinstalling\n'" >> $env_setup_script ; exit 1 ; }
 	fi
 	if [ -e $target_sdk_dir/ext-sdk-prepare.py ]; then
 		rm $target_sdk_dir/ext-sdk-prepare.py
diff --git a/poky/meta/classes/rootfs-postcommands.bbclass b/poky/meta/classes/rootfs-postcommands.bbclass
index 2f17183..c43b9a9 100644
--- a/poky/meta/classes/rootfs-postcommands.bbclass
+++ b/poky/meta/classes/rootfs-postcommands.bbclass
@@ -308,12 +308,16 @@
 	HOST_USER_UID="$(PSEUDO_UNLOAD=1 id -u)"
 	HOST_USER_GID="$(PSEUDO_UNLOAD=1 id -g)"
 
-	find "${IMAGE_ROOTFS}" -wholename "${IMAGE_ROOTFS}/home" -prune \
-	    -user "$HOST_USER_UID" -o -group "$HOST_USER_GID" >"$contaminated"
+	find "${IMAGE_ROOTFS}" -path "${IMAGE_ROOTFS}/home" -prune -o \
+	    -user "$HOST_USER_UID" -print -o -group "$HOST_USER_GID" -print >"$contaminated"
+
+	sed -e "s,${IMAGE_ROOTFS},," $contaminated | while read line; do
+		bbwarn "Path in the rootfs is owned by the same user or group as the user running bitbake:" $line `ls -lan ${IMAGE_ROOTFS}/$line`
+	done
 
 	if [ -s "$contaminated" ]; then
-		echo "WARNING: Paths in the rootfs are owned by the same user or group as the user running bitbake. See the logfile for the specific paths."
-		cat "$contaminated" | sed "s,^,  ,"
+		bbwarn "/etc/passwd:" `cat ${IMAGE_ROOTFS}/etc/passwd`
+		bbwarn "/etc/group:" `cat ${IMAGE_ROOTFS}/etc/group`
 	fi
 }
 
diff --git a/poky/meta/classes/spdx.bbclass b/poky/meta/classes/spdx.bbclass
deleted file mode 100644
index fb78e27..0000000
--- a/poky/meta/classes/spdx.bbclass
+++ /dev/null
@@ -1,360 +0,0 @@
-# This class integrates real-time license scanning, generation of SPDX standard
-# output and verifiying license info during the building process.
-# It is a combination of efforts from the OE-Core, SPDX and Fossology projects.
-#
-# For more information on FOSSology:
-#   http://www.fossology.org
-#
-# For more information on FOSSologySPDX commandline:
-#   https://github.com/spdx-tools/fossology-spdx/wiki/Fossology-SPDX-Web-API
-#
-# For more information on SPDX:
-#   http://www.spdx.org
-#
-
-# SPDX file will be output to the path which is defined as[SPDX_MANIFEST_DIR] 
-# in ./meta/conf/licenses.conf.
-
-SPDXSSTATEDIR = "${WORKDIR}/spdx_sstate_dir"
-
-# If ${S} isn't actually the top-level source directory, set SPDX_S to point at
-# the real top-level directory.
-SPDX_S ?= "${S}"
-
-python do_spdx () {
-    import os, sys
-    import json, shutil
-
-    info = {} 
-    info['workdir'] = d.getVar('WORKDIR')
-    info['sourcedir'] = d.getVar('SPDX_S')
-    info['pn'] = d.getVar('PN')
-    info['pv'] = d.getVar('PV')
-    info['spdx_version'] = d.getVar('SPDX_VERSION')
-    info['data_license'] = d.getVar('DATA_LICENSE')
-
-    sstatedir = d.getVar('SPDXSSTATEDIR')
-    sstatefile = os.path.join(sstatedir, info['pn'] + info['pv'] + ".spdx")
-
-    manifest_dir = d.getVar('SPDX_MANIFEST_DIR')
-    info['outfile'] = os.path.join(manifest_dir, info['pn'] + ".spdx" )
-
-    info['spdx_temp_dir'] = d.getVar('SPDX_TEMP_DIR')
-    info['tar_file'] = os.path.join(info['workdir'], info['pn'] + ".tar.gz" )
-
-    # Make sure important dirs exist
-    try:
-        bb.utils.mkdirhier(manifest_dir)
-        bb.utils.mkdirhier(sstatedir)
-        bb.utils.mkdirhier(info['spdx_temp_dir'])
-    except OSError as e:
-        bb.error("SPDX: Could not set up required directories: " + str(e))
-        return
-
-    ## get everything from cache.  use it to decide if 
-    ## something needs to be rerun 
-    cur_ver_code = get_ver_code(info['sourcedir'])
-    cache_cur = False
-    if os.path.exists(sstatefile):
-        ## cache for this package exists. read it in
-        cached_spdx = get_cached_spdx(sstatefile)
-
-        if cached_spdx['PackageVerificationCode'] == cur_ver_code:
-            bb.warn("SPDX: Verification code for " + info['pn']
-                  + "is same as cache's. do nothing")
-            cache_cur = True
-        else:
-            local_file_info = setup_foss_scan(info, True, cached_spdx['Files'])
-    else:
-        local_file_info = setup_foss_scan(info, False, None)
-
-    if cache_cur:
-        spdx_file_info = cached_spdx['Files']
-        foss_package_info = cached_spdx['Package']
-        foss_license_info = cached_spdx['Licenses']
-    else:
-        ## setup fossology command
-        foss_server = d.getVar('FOSS_SERVER')
-        foss_flags = d.getVar('FOSS_WGET_FLAGS')
-        foss_full_spdx = d.getVar('FOSS_FULL_SPDX') == "true" or False
-        foss_command = "wget %s --post-file=%s %s"\
-            % (foss_flags, info['tar_file'], foss_server)
-        
-        foss_result = run_fossology(foss_command, foss_full_spdx)
-        if foss_result is not None:
-            (foss_package_info, foss_file_info, foss_license_info) = foss_result
-            spdx_file_info = create_spdx_doc(local_file_info, foss_file_info)
-            ## write to cache
-            write_cached_spdx(sstatefile, cur_ver_code, foss_package_info,
-                              spdx_file_info, foss_license_info)
-        else:
-            bb.error("SPDX: Could not communicate with FOSSology server. Command was: " + foss_command)
-            return
-    
-    ## Get document and package level information
-    spdx_header_info = get_header_info(info, cur_ver_code, foss_package_info)
-    
-    ## CREATE MANIFEST
-    create_manifest(info, spdx_header_info, spdx_file_info, foss_license_info)
-
-    ## clean up the temp stuff
-    shutil.rmtree(info['spdx_temp_dir'], ignore_errors=True)
-    if os.path.exists(info['tar_file']):
-        remove_file(info['tar_file'])
-}
-addtask spdx after do_patch before do_configure
-
-def create_manifest(info, header, files, licenses):
-    import codecs
-    with codecs.open(info['outfile'], mode='w', encoding='utf-8') as f:
-        # Write header
-        f.write(header + '\n')
-
-        # Write file data
-        for chksum, block in files.iteritems():
-            f.write("FileName: " + block['FileName'] + '\n')
-            for key, value in block.iteritems():
-                if not key == 'FileName':
-                    f.write(key + ": " + value + '\n')
-            f.write('\n')
-
-        # Write license data
-        for id, block in licenses.iteritems():
-            f.write("LicenseID: " + id + '\n')
-            for key, value in block.iteritems():
-                f.write(key + ": " + value + '\n')
-            f.write('\n')
-
-def get_cached_spdx(sstatefile):
-    import json
-    import codecs
-    cached_spdx_info = {}
-    with codecs.open(sstatefile, mode='r', encoding='utf-8') as f:
-        try:
-            cached_spdx_info = json.load(f)
-        except ValueError as e:
-            cached_spdx_info = None
-    return cached_spdx_info
-
-def write_cached_spdx(sstatefile, ver_code, package_info, files, license_info):
-    import json
-    import codecs
-    spdx_doc = {}
-    spdx_doc['PackageVerificationCode'] = ver_code
-    spdx_doc['Files'] = {}
-    spdx_doc['Files'] = files
-    spdx_doc['Package'] = {}
-    spdx_doc['Package'] = package_info
-    spdx_doc['Licenses'] = {}
-    spdx_doc['Licenses'] = license_info
-    with codecs.open(sstatefile, mode='w', encoding='utf-8') as f:
-        f.write(json.dumps(spdx_doc))
-
-def setup_foss_scan(info, cache, cached_files):
-    import errno, shutil
-    import tarfile
-    file_info = {}
-    cache_dict = {}
-
-    for f_dir, f in list_files(info['sourcedir']):
-        full_path = os.path.join(f_dir, f)
-        abs_path = os.path.join(info['sourcedir'], full_path)
-        dest_dir = os.path.join(info['spdx_temp_dir'], f_dir)
-        dest_path = os.path.join(info['spdx_temp_dir'], full_path)
-
-        checksum = hash_file(abs_path)
-        if not checksum is None:
-            file_info[checksum] = {}
-            ## retain cache information if it exists
-            if cache and checksum in cached_files:
-                file_info[checksum] = cached_files[checksum]
-            ## have the file included in what's sent to the FOSSology server
-            else:
-                file_info[checksum]['FileName'] = full_path
-                try:
-                    bb.utils.mkdirhier(dest_dir)
-                    shutil.copyfile(abs_path, dest_path)
-                except OSError as e:
-                    bb.warn("SPDX: mkdirhier failed: " + str(e))
-                except shutil.Error as e:
-                    bb.warn("SPDX: copyfile failed: " + str(e))
-                except IOError as e:
-                    bb.warn("SPDX: copyfile failed: " + str(e))
-        else:
-            bb.warn("SPDX: Could not get checksum for file: " + f)
-    
-    with tarfile.open(info['tar_file'], "w:gz") as tar:
-        tar.add(info['spdx_temp_dir'], arcname=os.path.basename(info['spdx_temp_dir']))
-    
-    return file_info
-
-def remove_file(file_name):
-    try:
-        os.remove(file_name)
-    except OSError as e:
-        pass
-
-def list_files(dir):
-    for root, subFolders, files in os.walk(dir):
-        for f in files:
-            rel_root = os.path.relpath(root, dir)
-            yield rel_root, f
-    return
-
-def hash_file(file_name):
-    from bb.utils import sha1_file
-    return sha1_file(file_name)
-
-def hash_string(data):
-    import hashlib
-    sha1 = hashlib.sha1()
-    sha1.update(data.encode('utf-8'))
-    return sha1.hexdigest()
-
-def run_fossology(foss_command, full_spdx):
-    import string, re
-    import subprocess
-
-    try:
-        foss_output = subprocess.check_output(foss_command.split(),
-                stderr=subprocess.STDOUT).decode('utf-8')
-    except subprocess.CalledProcessError as e:
-        return None
-
-    foss_output = foss_output.replace('\r', '')
-
-    # Package info
-    package_info = {}
-    if full_spdx:
-        # All mandatory, only one occurrence
-        package_info['PackageCopyrightText'] = re.findall('PackageCopyrightText: (.*?</text>)', foss_output, re.S)[0]
-        package_info['PackageLicenseDeclared'] = re.findall('PackageLicenseDeclared: (.*)', foss_output)[0]
-        package_info['PackageLicenseConcluded'] = re.findall('PackageLicenseConcluded: (.*)', foss_output)[0]
-        # These may be more than one
-        package_info['PackageLicenseInfoFromFiles'] = re.findall('PackageLicenseInfoFromFiles: (.*)', foss_output)
-    else:
-        DEFAULT = "NOASSERTION"
-        package_info['PackageCopyrightText'] = "<text>" + DEFAULT + "</text>"
-        package_info['PackageLicenseDeclared'] = DEFAULT
-        package_info['PackageLicenseConcluded'] = DEFAULT
-        package_info['PackageLicenseInfoFromFiles'] = []
-
-    # File info
-    file_info = {}
-    records = []
-    # FileName is also in PackageFileName, so we match on FileType as well.
-    records = re.findall('FileName:.*?FileType:.*?</text>', foss_output, re.S)
-    for rec in records:
-        chksum = re.findall('FileChecksum: SHA1: (.*)\n', rec)[0]
-        file_info[chksum] = {}
-        file_info[chksum]['FileCopyrightText'] = re.findall('FileCopyrightText: '
-            + '(.*?</text>)', rec, re.S )[0]
-        fields = ['FileName', 'FileType', 'LicenseConcluded', 'LicenseInfoInFile']
-        for field in fields:
-            file_info[chksum][field] = re.findall(field + ': (.*)', rec)[0]
-
-    # Licenses
-    license_info = {}
-    licenses = []
-    licenses = re.findall('LicenseID:.*?LicenseName:.*?\n', foss_output, re.S)
-    for lic in licenses:
-        license_id = re.findall('LicenseID: (.*)\n', lic)[0]
-        license_info[license_id] = {}
-        license_info[license_id]['ExtractedText'] = re.findall('ExtractedText: (.*?</text>)', lic, re.S)[0]
-        license_info[license_id]['LicenseName'] = re.findall('LicenseName: (.*)', lic)[0]
-
-    return (package_info, file_info, license_info)
-
-def create_spdx_doc(file_info, scanned_files):
-    import json
-    ## push foss changes back into cache
-    for chksum, lic_info in scanned_files.iteritems():
-        if chksum in file_info:
-            file_info[chksum]['FileType'] = lic_info['FileType']
-            file_info[chksum]['FileChecksum: SHA1'] = chksum
-            file_info[chksum]['LicenseInfoInFile'] = lic_info['LicenseInfoInFile']
-            file_info[chksum]['LicenseConcluded'] = lic_info['LicenseConcluded']
-            file_info[chksum]['FileCopyrightText'] = lic_info['FileCopyrightText']
-        else:
-            bb.warn("SPDX: " + lic_info['FileName'] + " : " + chksum
-                + " : is not in the local file info: "
-                + json.dumps(lic_info, indent=1))
-    return file_info
-
-def get_ver_code(dirname):
-    chksums = []
-    for f_dir, f in list_files(dirname):
-        path = os.path.join(dirname, f_dir, f)
-        hash = hash_file(path)
-        if not hash is None:
-            chksums.append(hash)
-        else:
-            bb.warn("SPDX: Could not hash file: " + path)
-    ver_code_string = ''.join(chksums).lower()
-    ver_code = hash_string(ver_code_string)
-    return ver_code
-
-def get_header_info(info, spdx_verification_code, package_info):
-    """
-        Put together the header SPDX information.
-        Eventually this needs to become a lot less
-        of a hardcoded thing.
-    """
-    from datetime import datetime
-    import os
-    head = []
-    DEFAULT = "NOASSERTION"
-
-    package_checksum = hash_file(info['tar_file'])
-    if package_checksum is None:
-        package_checksum = DEFAULT
-
-    ## document level information
-    head.append("## SPDX Document Information")
-    head.append("SPDXVersion: " + info['spdx_version'])
-    head.append("DataLicense: " + info['data_license'])
-    head.append("DocumentComment: <text>SPDX for "
-        + info['pn'] + " version " + info['pv'] + "</text>")
-    head.append("")
-
-    ## Creator information
-    ## Note that this does not give time in UTC.
-    now = datetime.now().strftime('%Y-%m-%dT%H:%M:%SZ')
-    head.append("## Creation Information")
-    ## Tools are supposed to have a version, but FOSSology+SPDX provides none.
-    head.append("Creator: Tool: FOSSology+SPDX")
-    head.append("Created: " + now)
-    head.append("CreatorComment: <text>UNO</text>")
-    head.append("")
-
-    ## package level information
-    head.append("## Package Information")
-    head.append("PackageName: " + info['pn'])
-    head.append("PackageVersion: " + info['pv'])
-    head.append("PackageFileName: " + os.path.basename(info['tar_file']))
-    head.append("PackageSupplier: Person:" + DEFAULT)
-    head.append("PackageDownloadLocation: " + DEFAULT)
-    head.append("PackageSummary: <text></text>")
-    head.append("PackageOriginator: Person:" + DEFAULT)
-    head.append("PackageChecksum: SHA1: " + package_checksum)
-    head.append("PackageVerificationCode: " + spdx_verification_code)
-    head.append("PackageDescription: <text>" + info['pn']
-        + " version " + info['pv'] + "</text>")
-    head.append("")
-    head.append("PackageCopyrightText: "
-        + package_info['PackageCopyrightText'])
-    head.append("")
-    head.append("PackageLicenseDeclared: "
-        + package_info['PackageLicenseDeclared'])
-    head.append("PackageLicenseConcluded: "
-        + package_info['PackageLicenseConcluded'])
-
-    for licref in package_info['PackageLicenseInfoFromFiles']:
-        head.append("PackageLicenseInfoFromFiles: " + licref)
-    head.append("")
-    
-    ## header for file level
-    head.append("## File Information")
-    head.append("")
-
-    return '\n'.join(head)
diff --git a/poky/meta/classes/uboot-sign.bbclass b/poky/meta/classes/uboot-sign.bbclass
index 982ed46..713196d 100644
--- a/poky/meta/classes/uboot-sign.bbclass
+++ b/poky/meta/classes/uboot-sign.bbclass
@@ -117,15 +117,16 @@
 	fi
 }
 
+do_deploy_prepend_pn-${UBOOT_PN}() {
+	if [ "${UBOOT_SIGN_ENABLE}" = "1" -a -n "${UBOOT_DTB_BINARY}" ]; then
+		concat_dtb
+	fi
+}
+
 python () {
     if d.getVar('UBOOT_SIGN_ENABLE') == '1' and d.getVar('PN') == d.getVar('UBOOT_PN') and d.getVar('UBOOT_DTB_BINARY'):
         kernel_pn = d.getVar('PREFERRED_PROVIDER_virtual/kernel')
 
         # Make "bitbake u-boot -cdeploy" deploys the signed u-boot.dtb
         d.appendVarFlag('do_deploy', 'depends', ' %s:do_deploy' % kernel_pn)
-
-        # kernerl's do_deploy is a litle special, so we can't use
-        # do_deploy_append, otherwise it would override
-        # kernel_do_deploy.
-        d.appendVarFlag('do_deploy', 'prefuncs', ' concat_dtb')
 }
diff --git a/poky/meta/conf/bitbake.conf b/poky/meta/conf/bitbake.conf
index 89717a7..353caac 100644
--- a/poky/meta/conf/bitbake.conf
+++ b/poky/meta/conf/bitbake.conf
@@ -252,7 +252,7 @@
 related items necessary for software development."
 
 SUMMARY_${PN}-staticdev ?= "${SUMMARY} - Development files (Static Libraries)"
-DESCRIPTION_${PN}-staticdev?= "${DESCRIPTION}  \
+DESCRIPTION_${PN}-staticdev ?= "${DESCRIPTION}  \
 This package contains static libraries for software development."
 
 SUMMARY_${PN}-doc ?= "${SUMMARY} - Documentation files"
@@ -267,7 +267,7 @@
 
 # Ensure that -dev packages recommend the corresponding -dev packages of their
 # deps, and the same for -dbg.
-DEPCHAIN_PRE  = ""
+DEPCHAIN_PRE = ""
 DEPCHAIN_POST = "-dev -dbg"
 
 DEPENDS = ""
diff --git a/poky/meta/conf/machine/include/riscv/qemuriscv.inc b/poky/meta/conf/machine/include/riscv/qemuriscv.inc
index a42346f..759c8a1 100644
--- a/poky/meta/conf/machine/include/riscv/qemuriscv.inc
+++ b/poky/meta/conf/machine/include/riscv/qemuriscv.inc
@@ -18,7 +18,7 @@
 MACHINE_EXTRA_RRECOMMENDS += " kernel-modules"
 
 EXTRA_IMAGEDEPENDS += "opensbi"
-RISCV_SBI_PLAT ?= "qemu/virt"
+RISCV_SBI_PLAT ?= "generic"
 RISCV_SBI_PAYLOAD ?= "${KERNEL_IMAGETYPE}-${MACHINE}.bin"
 
 UBOOT_ENTRYPOINT_riscv32 = "0x80400000"
diff --git a/poky/meta/files/common-licenses/BSD-2-Clause-Patent.txt b/poky/meta/files/common-licenses/BSD-2-Clause-Patent
similarity index 100%
rename from poky/meta/files/common-licenses/BSD-2-Clause-Patent.txt
rename to poky/meta/files/common-licenses/BSD-2-Clause-Patent
diff --git a/poky/meta/lib/oe/rootfs.py b/poky/meta/lib/oe/rootfs.py
index a0ac33a..0e05f1f 100644
--- a/poky/meta/lib/oe/rootfs.py
+++ b/poky/meta/lib/oe/rootfs.py
@@ -297,9 +297,9 @@
 
     def _run_ldconfig(self):
         if self.d.getVar('LDCONFIGDEPEND'):
-            bb.note("Executing: ldconfig -r " + self.image_rootfs + " -c new -v")
+            bb.note("Executing: ldconfig -r " + self.image_rootfs + " -c new -v -X")
             self._exec_shell_cmd(['ldconfig', '-r', self.image_rootfs, '-c',
-                                  'new', '-v'])
+                                  'new', '-v', '-X'])
 
     def _check_for_kernel_modules(self, modules_dir):
         for root, dirs, files in os.walk(modules_dir, topdown=True):
diff --git a/poky/meta/lib/oeqa/core/loader.py b/poky/meta/lib/oeqa/core/loader.py
index 0d7970d..1197821 100644
--- a/poky/meta/lib/oeqa/core/loader.py
+++ b/poky/meta/lib/oeqa/core/loader.py
@@ -46,7 +46,7 @@
     for module in modules:
         # Assumption: package and module names do not contain upper case
         # characters, whereas class names do
-        m = re.match(r'^(\w+)(?:\.(\w[^.]*)(?:\.([^.]+))?)?$', module, flags=re.ASCII)
+        m = re.match(r'^([0-9a-z_.]+)(?:\.(\w[^.]*)(?:\.([^.]+))?)?$', module, flags=re.ASCII)
         if not m:
             continue
 
diff --git a/poky/meta/lib/oeqa/core/utils/concurrencytest.py b/poky/meta/lib/oeqa/core/utils/concurrencytest.py
index 01c3983..b2eb68f 100644
--- a/poky/meta/lib/oeqa/core/utils/concurrencytest.py
+++ b/poky/meta/lib/oeqa/core/utils/concurrencytest.py
@@ -183,10 +183,11 @@
 #
 class ConcurrentTestSuite(unittest.TestSuite):
 
-    def __init__(self, suite, processes, setupfunc):
+    def __init__(self, suite, processes, setupfunc, removefunc):
         super(ConcurrentTestSuite, self).__init__([suite])
         self.processes = processes
         self.setupfunc = setupfunc
+        self.removefunc = removefunc
 
     def run(self, result):
         tests, totaltests = fork_for_tests(self.processes, self)
@@ -237,22 +238,6 @@
         finally:
             queue.put(test)
 
-def removebuilddir(d):
-    delay = 5
-    while delay and os.path.exists(d + "/bitbake.lock"):
-        time.sleep(1)
-        delay = delay - 1
-    # Deleting these directories takes a lot of time, use autobuilder
-    # clobberdir if its available
-    clobberdir = os.path.expanduser("~/yocto-autobuilder-helper/janitor/clobberdir")
-    if os.path.exists(clobberdir):
-        try:
-            subprocess.check_call([clobberdir, d])
-            return
-        except subprocess.CalledProcessError:
-            pass
-    bb.utils.prunedir(d, ionice=True)
-
 def fork_for_tests(concurrency_num, suite):
     result = []
     if 'BUILDDIR' in os.environ:
@@ -297,7 +282,7 @@
                 if ourpid != os.getpid():
                     os._exit(0)
                 if newbuilddir and unittest_result.wasSuccessful():
-                    removebuilddir(newbuilddir)
+                    suite.removefunc(newbuilddir)
             except:
                 # Don't do anything with process children
                 if ourpid != os.getpid():
@@ -313,7 +298,7 @@
                     sys.stderr.write(traceback.format_exc())
                 finally:
                     if newbuilddir:
-                        removebuilddir(newbuilddir)
+                        suite.removefunc(newbuilddir)
                     stream.flush()
                     os._exit(1)
             stream.flush()
diff --git a/poky/meta/lib/oeqa/runtime/cases/logrotate.py b/poky/meta/lib/oeqa/runtime/cases/logrotate.py
index 3938e91..a4efcd0 100644
--- a/poky/meta/lib/oeqa/runtime/cases/logrotate.py
+++ b/poky/meta/lib/oeqa/runtime/cases/logrotate.py
@@ -37,10 +37,6 @@
         msg = ('Could not write to /tmp/logrotate-test.conf')
         self.assertEqual(status, 0, msg = msg)
         
-        status, output = self.target.run('echo "/var/log/logrotate_test {\\n missingok \\n monthly \\n rotate 1" > /etc/logrotate.d/logrotate_test')
-        msg = ('Could not write to /etc/logrotate.d/logrotate_test')
-        self.assertEqual(status, 0, msg = msg)
-        
         # If logrotate fails to rotate the log, view the verbose output of logrotate to see what prevented it
         _, logrotate_output = self.target.run('logrotate -vf /tmp/logrotate-test.conf')
         status, _ = self.target.run('find $HOME/logrotate_dir -type f | grep wtmp.1')
diff --git a/poky/meta/lib/oeqa/selftest/cases/devtool.py b/poky/meta/lib/oeqa/selftest/cases/devtool.py
index 7d8f895..b383ed9 100644
--- a/poky/meta/lib/oeqa/selftest/cases/devtool.py
+++ b/poky/meta/lib/oeqa/selftest/cases/devtool.py
@@ -1500,7 +1500,11 @@
             dstdir = os.path.join(dstdir, p)
             if not os.path.exists(dstdir):
                 os.makedirs(dstdir)
-                self.track_for_cleanup(dstdir)
+                if p == "lib":
+                    # Can race with other tests
+                    self.add_command_to_tearDown('rmdir --ignore-fail-on-non-empty %s' % dstdir)
+                else:
+                    self.track_for_cleanup(dstdir)
         dstfile = os.path.join(dstdir, os.path.basename(srcfile))
         if srcfile != dstfile:
             shutil.copy(srcfile, dstfile)
diff --git a/poky/meta/lib/oeqa/selftest/cases/oescripts.py b/poky/meta/lib/oeqa/selftest/cases/oescripts.py
index 2f18d8f..726daff 100644
--- a/poky/meta/lib/oeqa/selftest/cases/oescripts.py
+++ b/poky/meta/lib/oeqa/selftest/cases/oescripts.py
@@ -133,7 +133,7 @@
     def check_endlines(self, results,  expected_endlines): 
         for line in results.output.splitlines():
             for el in expected_endlines:
-                if line == el:
+                if line.split() == el.split():
                     expected_endlines.remove(el)
                     break
 
@@ -177,7 +177,7 @@
 
         self.check_endlines(results, expected_endlines)
 
-    def test_packageconfig_flags_optiins_preferred_only(self):
+    def test_packageconfig_flags_options_preferred_only(self):
         results = runCmd('%s/contrib/list-packageconfig-flags.py -p' % self.scripts_dir)
         expected_endlines = []
         expected_endlines.append("RECIPE NAME                  PACKAGECONFIG FLAGS")
diff --git a/poky/meta/lib/oeqa/selftest/cases/recipetool.py b/poky/meta/lib/oeqa/selftest/cases/recipetool.py
index 6bfe8f1..c2ade25 100644
--- a/poky/meta/lib/oeqa/selftest/cases/recipetool.py
+++ b/poky/meta/lib/oeqa/selftest/cases/recipetool.py
@@ -534,7 +534,11 @@
             dstdir = os.path.join(dstdir, p)
             if not os.path.exists(dstdir):
                 os.makedirs(dstdir)
-                self.track_for_cleanup(dstdir)
+                if p == "lib":
+                    # Can race with other tests
+                    self.add_command_to_tearDown('rmdir --ignore-fail-on-non-empty %s' % dstdir)
+                else:
+                    self.track_for_cleanup(dstdir)
         dstfile = os.path.join(dstdir, os.path.basename(srcfile))
         if srcfile != dstfile:
             shutil.copy(srcfile, dstfile)
diff --git a/poky/meta/lib/oeqa/selftest/context.py b/poky/meta/lib/oeqa/selftest/context.py
index 494e9db..23f7d71 100644
--- a/poky/meta/lib/oeqa/selftest/context.py
+++ b/poky/meta/lib/oeqa/selftest/context.py
@@ -22,6 +22,37 @@
 
 from oeqa.utils.commands import runCmd, get_bb_vars, get_test_layer
 
+class NonConcurrentTestSuite(unittest.TestSuite):
+    def __init__(self, suite, processes, setupfunc, removefunc):
+        super().__init__([suite])
+        self.processes = processes
+        self.suite = suite
+        self.setupfunc = setupfunc
+        self.removefunc = removefunc
+
+    def run(self, result):
+        (builddir, newbuilddir) = self.setupfunc("-st", None, self.suite)
+        ret = super().run(result)
+        os.chdir(builddir)
+        if newbuilddir and ret.wasSuccessful():
+            self.removefunc(newbuilddir)
+
+def removebuilddir(d):
+    delay = 5
+    while delay and os.path.exists(d + "/bitbake.lock"):
+        time.sleep(1)
+        delay = delay - 1
+    # Deleting these directories takes a lot of time, use autobuilder
+    # clobberdir if its available
+    clobberdir = os.path.expanduser("~/yocto-autobuilder-helper/janitor/clobberdir")
+    if os.path.exists(clobberdir):
+        try:
+            subprocess.check_call([clobberdir, d])
+            return
+        except subprocess.CalledProcessError:
+            pass
+    bb.utils.prunedir(d, ionice=True)
+
 class OESelftestTestContext(OETestContext):
     def __init__(self, td=None, logger=None, machines=None, config_paths=None, newbuilddir=None):
         super(OESelftestTestContext, self).__init__(td, logger)
@@ -86,10 +117,9 @@
         if processes:
             from oeqa.core.utils.concurrencytest import ConcurrentTestSuite
 
-            return ConcurrentTestSuite(suites, processes, self.setup_builddir)
+            return ConcurrentTestSuite(suites, processes, self.setup_builddir, removebuilddir)
         else:
-            self.setup_builddir("-st", None, suites)
-            return suites
+            return NonConcurrentTestSuite(suites, processes, self.setup_builddir, removebuilddir)
 
     def runTests(self, processes=None, machine=None, skips=[]):
         if machine:
diff --git a/poky/meta/lib/oeqa/targetcontrol.py b/poky/meta/lib/oeqa/targetcontrol.py
index 7bbba60..19f5a4e 100644
--- a/poky/meta/lib/oeqa/targetcontrol.py
+++ b/poky/meta/lib/oeqa/targetcontrol.py
@@ -187,6 +187,7 @@
         except:
             pass
         self.logger.removeHandler(self.loggerhandler)
+        self.loggerhandler.close()
         self.connection = None
         self.ip = None
         self.server_ip = None
diff --git a/poky/meta/recipes-bsp/opensbi/opensbi_0.6.bb b/poky/meta/recipes-bsp/opensbi/opensbi_0.8.bb
similarity index 65%
rename from poky/meta/recipes-bsp/opensbi/opensbi_0.6.bb
rename to poky/meta/recipes-bsp/opensbi/opensbi_0.8.bb
index 56f2d4b..818efac 100644
--- a/poky/meta/recipes-bsp/opensbi/opensbi_0.6.bb
+++ b/poky/meta/recipes-bsp/opensbi/opensbi_0.8.bb
@@ -7,8 +7,8 @@
 
 inherit autotools-brokensep deploy
 
-SRCREV = "ac5e821d50be631f26274765a59bc1b444ffd862"
-SRC_URI = "git://github.com/riscv/opensbi.git \
+SRCREV = "a98258d0b537a295f517bbc8d813007336731fa9"
+SRC_URI = "git://github.com/riscv/opensbi.git;branch=master \
            file://0001-Makefile-Don-t-specify-mabi-or-march.patch \
           "
 
@@ -25,22 +25,21 @@
 	# In the future these might be required as a dependency for other packages.
 	# At the moment just delete them to avoid warnings
 	rm -r ${D}/include
-	rm -r ${D}/platform/${RISCV_SBI_PLAT}/lib
-	rm -r ${D}/platform/${RISCV_SBI_PLAT}/firmware/payloads
-	rm -r ${D}/lib
+	rm -r ${D}/lib*
+	rm -r ${D}/share/opensbi/*/${RISCV_SBI_PLAT}/firmware/payloads
 }
 
 do_deploy () {
-	install -m 755 ${D}/platform/${RISCV_SBI_PLAT}/firmware/fw_payload.* ${DEPLOYDIR}/
-	install -m 755 ${D}/platform/${RISCV_SBI_PLAT}/firmware/fw_jump.* ${DEPLOYDIR}/
-	install -m 755 ${D}/platform/${RISCV_SBI_PLAT}/firmware/fw_dynamic.* ${DEPLOYDIR}/
+	install -m 755 ${D}/share/opensbi/*/${RISCV_SBI_PLAT}/firmware/fw_payload.* ${DEPLOYDIR}/
+	install -m 755 ${D}/share/opensbi/*/${RISCV_SBI_PLAT}/firmware/fw_jump.* ${DEPLOYDIR}/
+	install -m 755 ${D}/share/opensbi/*/${RISCV_SBI_PLAT}/firmware/fw_dynamic.* ${DEPLOYDIR}/
 }
 
 addtask deploy before do_build after do_install
 
-FILES_${PN} += "/platform/${RISCV_SBI_PLAT}/firmware/fw_jump.*"
-FILES_${PN} += "/platform/${RISCV_SBI_PLAT}/firmware/fw_payload.*"
-FILES_${PN} += "/platform/${RISCV_SBI_PLAT}/firmware/fw_dynamic.*"
+FILES_${PN} += "/share/opensbi/*/${RISCV_SBI_PLAT}/firmware/fw_jump.*"
+FILES_${PN} += "/share/opensbi/*/${RISCV_SBI_PLAT}/firmware/fw_payload.*"
+FILES_${PN} += "/share/opensbi/*/${RISCV_SBI_PLAT}/firmware/fw_dynamic.*"
 
 COMPATIBLE_HOST = "(riscv64|riscv32).*"
 INHIBIT_PACKAGE_STRIP = "1"
diff --git a/poky/meta/recipes-bsp/u-boot/libubootenv_0.2.bb b/poky/meta/recipes-bsp/u-boot/libubootenv_0.2.bb
index ea29b66..3820ba2 100644
--- a/poky/meta/recipes-bsp/u-boot/libubootenv_0.2.bb
+++ b/poky/meta/recipes-bsp/u-boot/libubootenv_0.2.bb
@@ -12,7 +12,7 @@
 
 PV = "0.2+git${SRCPV}"
 SRC_URI = "git://github.com/sbabic/libubootenv;protocol=https"
-SRCREV = "f4b9cde3815abe84a98079cedd515283ea08c16b"
+SRCREV = "86bd30a14e153a18f670b25708795253d8736f0f"
 
 S = "${WORKDIR}/git"
 
diff --git a/poky/meta/recipes-connectivity/libuv/libuv_1.34.2.bb b/poky/meta/recipes-connectivity/libuv/libuv_1.38.0.bb
similarity index 89%
rename from poky/meta/recipes-connectivity/libuv/libuv_1.34.2.bb
rename to poky/meta/recipes-connectivity/libuv/libuv_1.38.0.bb
index 234cec3..afc9b2f 100644
--- a/poky/meta/recipes-connectivity/libuv/libuv_1.34.2.bb
+++ b/poky/meta/recipes-connectivity/libuv/libuv_1.38.0.bb
@@ -4,7 +4,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=a68902a430e32200263d182d44924d47"
 
-SRCREV = "f868c9ab0c307525a16fff99fd21e32a6ebc3837"
+SRCREV = "1ab9ea3790378f9f25c4e78e9e2b511c75f9c9ed"
 SRC_URI = "git://github.com/libuv/libuv;branch=v1.x"
 
 S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-cacheio-use-intmax_t-for-formatted-IO.patch b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-cacheio-use-intmax_t-for-formatted-IO.patch
deleted file mode 100644
index bafff5b..0000000
--- a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-cacheio-use-intmax_t-for-formatted-IO.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From ac32b813f5d6f9a2de944015cf9bb98d68e0203a Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 1 Dec 2018 10:02:12 -0800
-Subject: [PATCH] cacheio: use intmax_t for formatted IO
-
-time_t is not same size on x32 ABI (ILP32)
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- support/nfs/cacheio.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/support/nfs/cacheio.c b/support/nfs/cacheio.c
-index 9dc4cf1..2086a95 100644
---- a/support/nfs/cacheio.c
-+++ b/support/nfs/cacheio.c
-@@ -17,6 +17,7 @@
- 
- #include <nfslib.h>
- #include <stdio.h>
-+#include <inttypes.h>
- #include <stdio_ext.h>
- #include <string.h>
- #include <ctype.h>
-@@ -234,7 +235,7 @@ cache_flush(int force)
- 	    stb.st_mtime > now)
- 		stb.st_mtime = time(0);
- 	
--	sprintf(stime, "%ld\n", stb.st_mtime);
-+	sprintf(stime, "%jd\n", (intmax_t)stb.st_mtime);
- 	for (c=0; cachelist[c]; c++) {
- 		int fd;
- 		sprintf(path, "/proc/net/rpc/%s/flush", cachelist[c]);
--- 
-2.19.2
-
diff --git a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils_2.4.3.bb b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils_2.5.1.bb
similarity index 85%
rename from poky/meta/recipes-connectivity/nfs-utils/nfs-utils_2.4.3.bb
rename to poky/meta/recipes-connectivity/nfs-utils/nfs-utils_2.5.1.bb
index 9bdb6f4..188a889 100644
--- a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils_2.4.3.bb
+++ b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils_2.5.1.bb
@@ -28,12 +28,10 @@
            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://0001-Makefile.am-fix-undefined-function-for-libnsm.a.patch \
            file://clang-warnings.patch \
            "
-SRC_URI[md5sum] = "06020c76f531ed97f3145514901e0e7c"
-SRC_URI[sha256sum] = "af65fce5dd8370cff9ead67baac5a6cd69c376dcadfef264dc2c78c904f26599"
+SRC_URI[sha256sum] = "0f1c8170e16a07d9836bbf0836d48d0c842b6f0e0e8b18748f099751851d30c4"
 
 # Only kernel-module-nfsd is required here (but can be built-in)  - the nfsd module will
 # pull in the remainder of the dependencies.
@@ -91,7 +89,7 @@
 
 FILES_${PN}-mount = "${base_sbindir}/*mount.nfs*"
 
-FILES_${PN}-stats = "${sbindir}/mountstats ${sbindir}/nfsiostat"
+FILES_${PN}-stats = "${sbindir}/mountstats ${sbindir}/nfsiostat ${sbindir}/nfsdclnts"
 RDEPENDS_${PN}-stats = "python3-core"
 
 FILES_${PN}-staticdev += "${libdir}/libnfsidmap/*.a"
@@ -99,8 +97,8 @@
 FILES_${PN} += "${systemd_unitdir} ${libdir}/libnfsidmap/"
 
 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/mount/Makefile.am
 }
 
 # Make clean needed because the package comes with
@@ -129,9 +127,9 @@
 		-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
+		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
@@ -141,7 +139,6 @@
 	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
-
+	# 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/openssl/openssl_1.1.1g.bb b/poky/meta/recipes-connectivity/openssl/openssl_1.1.1g.bb
index 66fa8f7..47ed6b7 100644
--- a/poky/meta/recipes-connectivity/openssl/openssl_1.1.1g.bb
+++ b/poky/meta/recipes-connectivity/openssl/openssl_1.1.1g.bb
@@ -191,7 +191,9 @@
 
 FILES_libcrypto = "${libdir}/libcrypto${SOLIBS}"
 FILES_libssl = "${libdir}/libssl${SOLIBS}"
-FILES_openssl-conf = "${sysconfdir}/ssl/openssl.cnf"
+FILES_openssl-conf = "${sysconfdir}/ssl/openssl.cnf \
+                      ${libdir}/ssl-1.1/openssl.cnf* \
+                      "
 FILES_${PN}-engines = "${libdir}/engines-1.1"
 FILES_${PN}-misc = "${libdir}/ssl-1.1/misc"
 FILES_${PN} =+ "${libdir}/ssl-1.1/*"
diff --git a/poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/0001-WPS-UPnP-Do-not-allow-event-subscriptions-with-URLs-.patch b/poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/0001-WPS-UPnP-Do-not-allow-event-subscriptions-with-URLs-.patch
new file mode 100644
index 0000000..53ad5d0
--- /dev/null
+++ b/poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/0001-WPS-UPnP-Do-not-allow-event-subscriptions-with-URLs-.patch
@@ -0,0 +1,151 @@
+From 5b78c8f961f25f4dc22d6f2b77ddd06d712cec63 Mon Sep 17 00:00:00 2001
+From: Jouni Malinen <jouni@codeaurora.org>
+Date: Wed, 3 Jun 2020 23:17:35 +0300
+Subject: [PATCH 1/3] WPS UPnP: Do not allow event subscriptions with URLs to
+ other networks
+
+The UPnP Device Architecture 2.0 specification errata ("UDA errata
+16-04-2020.docx") addresses a problem with notifications being allowed
+to go out to other domains by disallowing such cases. Do such filtering
+for the notification callback URLs to avoid undesired connections to
+external networks based on subscriptions that any device in the local
+network could request when WPS support for external registrars is
+enabled (the upnp_iface parameter in hostapd configuration).
+
+Upstream-Status: Backport
+CVE: CVE-2020-12695 patch #1
+Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
+Signed-off-by: Armin Kuster <akuster@mvista.com>
+
+---
+ src/wps/wps_er.c     |  2 +-
+ src/wps/wps_upnp.c   | 38 ++++++++++++++++++++++++++++++++++++--
+ src/wps/wps_upnp_i.h |  3 ++-
+ 3 files changed, 39 insertions(+), 4 deletions(-)
+
+Index: wpa_supplicant-2.9/src/wps/wps_er.c
+===================================================================
+--- wpa_supplicant-2.9.orig/src/wps/wps_er.c
++++ wpa_supplicant-2.9/src/wps/wps_er.c
+@@ -1298,7 +1298,7 @@ wps_er_init(struct wps_context *wps, con
+			   "with %s", filter);
+	}
+	if (get_netif_info(er->ifname, &er->ip_addr, &er->ip_addr_text,
+-			   er->mac_addr)) {
++			   NULL, er->mac_addr)) {
+		wpa_printf(MSG_INFO, "WPS UPnP: Could not get IP/MAC address "
+			   "for %s. Does it have IP address?", er->ifname);
+		wps_er_deinit(er, NULL, NULL);
+Index: wpa_supplicant-2.9/src/wps/wps_upnp.c
+===================================================================
+--- wpa_supplicant-2.9.orig/src/wps/wps_upnp.c
++++ wpa_supplicant-2.9/src/wps/wps_upnp.c
+@@ -303,6 +303,14 @@ static void subscr_addr_free_all(struct
+ }
+
+
++static int local_network_addr(struct upnp_wps_device_sm *sm,
++			      struct sockaddr_in *addr)
++{
++	return (addr->sin_addr.s_addr & sm->netmask.s_addr) ==
++		(sm->ip_addr & sm->netmask.s_addr);
++}
++
++
+ /* subscr_addr_add_url -- add address(es) for one url to subscription */
+ static void subscr_addr_add_url(struct subscription *s, const char *url,
+				size_t url_len)
+@@ -381,6 +389,7 @@ static void subscr_addr_add_url(struct s
+
+	for (rp = result; rp; rp = rp->ai_next) {
+		struct subscr_addr *a;
++		struct sockaddr_in *addr = (struct sockaddr_in *) rp->ai_addr;
+
+		/* Limit no. of address to avoid denial of service attack */
+		if (dl_list_len(&s->addr_list) >= MAX_ADDR_PER_SUBSCRIPTION) {
+@@ -389,6 +398,13 @@ static void subscr_addr_add_url(struct s
+			break;
+		}
+
++		if (!local_network_addr(s->sm, addr)) {
++			wpa_printf(MSG_INFO,
++				   "WPS UPnP: Ignore a delivery URL that points to another network %s",
++				   inet_ntoa(addr->sin_addr));
++			continue;
++		}
++
+		a = os_zalloc(sizeof(*a) + alloc_len);
+		if (a == NULL)
+			break;
+@@ -889,11 +905,12 @@ static int eth_get(const char *device, u
+  * @net_if: Selected network interface name
+  * @ip_addr: Buffer for returning IP address in network byte order
+  * @ip_addr_text: Buffer for returning a pointer to allocated IP address text
++ * @netmask: Buffer for returning netmask or %NULL if not needed
+  * @mac: Buffer for returning MAC address
+  * Returns: 0 on success, -1 on failure
+  */
+ int get_netif_info(const char *net_if, unsigned *ip_addr, char **ip_addr_text,
+-		   u8 mac[ETH_ALEN])
++		   struct in_addr *netmask, u8 mac[ETH_ALEN])
+ {
+	struct ifreq req;
+	int sock = -1;
+@@ -919,6 +936,19 @@ int get_netif_info(const char *net_if, u
+	in_addr.s_addr = *ip_addr;
+	os_snprintf(*ip_addr_text, 16, "%s", inet_ntoa(in_addr));
+
++	if (netmask) {
++		os_memset(&req, 0, sizeof(req));
++		os_strlcpy(req.ifr_name, net_if, sizeof(req.ifr_name));
++		if (ioctl(sock, SIOCGIFNETMASK, &req) < 0) {
++			wpa_printf(MSG_ERROR,
++				   "WPS UPnP: SIOCGIFNETMASK failed: %d (%s)",
++				   errno, strerror(errno));
++			goto fail;
++		}
++		addr = (struct sockaddr_in *) &req.ifr_netmask;
++		netmask->s_addr = addr->sin_addr.s_addr;
++	}
++
+ #ifdef __linux__
+	os_strlcpy(req.ifr_name, net_if, sizeof(req.ifr_name));
+	if (ioctl(sock, SIOCGIFHWADDR, &req) < 0) {
+@@ -1025,11 +1055,15 @@ static int upnp_wps_device_start(struct
+
+	/* Determine which IP and mac address we're using */
+	if (get_netif_info(net_if, &sm->ip_addr, &sm->ip_addr_text,
+-			   sm->mac_addr)) {
++			   &sm->netmask, sm->mac_addr)) {
+		wpa_printf(MSG_INFO, "WPS UPnP: Could not get IP/MAC address "
+			   "for %s. Does it have IP address?", net_if);
+		goto fail;
+	}
++	wpa_printf(MSG_DEBUG, "WPS UPnP: Local IP address %s netmask %s hwaddr "
++		   MACSTR,
++		   sm->ip_addr_text, inet_ntoa(sm->netmask),
++		   MAC2STR(sm->mac_addr));
+
+	/* Listen for incoming TCP connections so that others
+	 * can fetch our "xml files" from us.
+Index: wpa_supplicant-2.9/src/wps/wps_upnp_i.h
+===================================================================
+--- wpa_supplicant-2.9.orig/src/wps/wps_upnp_i.h
++++ wpa_supplicant-2.9/src/wps/wps_upnp_i.h
+@@ -128,6 +128,7 @@ struct upnp_wps_device_sm {
+	u8 mac_addr[ETH_ALEN]; /* mac addr of network i.f. we use */
+	char *ip_addr_text; /* IP address of network i.f. we use */
+	unsigned ip_addr; /* IP address of network i.f. we use (host order) */
++	struct in_addr netmask;
+	int multicast_sd; /* send multicast messages over this socket */
+	int ssdp_sd; /* receive discovery UPD packets on socket */
+	int ssdp_sd_registered; /* nonzero if we must unregister */
+@@ -158,7 +159,7 @@ struct subscription * subscription_find(
+					const u8 uuid[UUID_LEN]);
+ void subscr_addr_delete(struct subscr_addr *a);
+ int get_netif_info(const char *net_if, unsigned *ip_addr, char **ip_addr_text,
+-		   u8 mac[ETH_ALEN]);
++		   struct in_addr *netmask, u8 mac[ETH_ALEN]);
+
+ /* wps_upnp_ssdp.c */
+ void msearchreply_state_machine_stop(struct advertisement_state_machine *a);
diff --git a/poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/0002-WPS-UPnP-Fix-event-message-generation-using-a-long-U.patch b/poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/0002-WPS-UPnP-Fix-event-message-generation-using-a-long-U.patch
new file mode 100644
index 0000000..5964085
--- /dev/null
+++ b/poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/0002-WPS-UPnP-Fix-event-message-generation-using-a-long-U.patch
@@ -0,0 +1,62 @@
+From f7d268864a2660b7239b9a8ff5ad37faeeb751ba Mon Sep 17 00:00:00 2001
+From: Jouni Malinen <jouni@codeaurora.org>
+Date: Wed, 3 Jun 2020 22:41:02 +0300
+Subject: [PATCH 2/3] WPS UPnP: Fix event message generation using a long URL
+ path
+
+More than about 700 character URL ended up overflowing the wpabuf used
+for building the event notification and this resulted in the wpabuf
+buffer overflow checks terminating the hostapd process. Fix this by
+allocating the buffer to be large enough to contain the full URL path.
+However, since that around 700 character limit has been the practical
+limit for more than ten years, start explicitly enforcing that as the
+limit or the callback URLs since any longer ones had not worked before
+and there is no need to enable them now either.
+
+Upstream-Status: Backport
+CVE: CVE-2020-12695 patch #2
+Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
+Signed-off-by: Armin Kuster <akuster@mvista.com>
+
+---
+ src/wps/wps_upnp.c       | 9 +++++++--
+ src/wps/wps_upnp_event.c | 3 ++-
+ 2 files changed, 9 insertions(+), 3 deletions(-)
+
+diff --git a/src/wps/wps_upnp.c b/src/wps/wps_upnp.c
+index 7d4b7439940e..ab685d52ecab 100644
+--- a/src/wps/wps_upnp.c
++++ b/src/wps/wps_upnp.c
+@@ -328,9 +328,14 @@ static void subscr_addr_add_url(struct subscription *s, const char *url,
+	int rerr;
+	size_t host_len, path_len;
+
+-	/* url MUST begin with http: */
+-	if (url_len < 7 || os_strncasecmp(url, "http://", 7))
++	/* URL MUST begin with HTTP scheme. In addition, limit the length of
++	 * the URL to 700 characters which is around the limit that was
++	 * implicitly enforced for more than 10 years due to a bug in
++	 * generating the event messages. */
++	if (url_len < 7 || os_strncasecmp(url, "http://", 7) || url_len > 700) {
++		wpa_printf(MSG_DEBUG, "WPS UPnP: Reject an unacceptable URL");
+		goto fail;
++	}
+	url += 7;
+	url_len -= 7;
+
+diff --git a/src/wps/wps_upnp_event.c b/src/wps/wps_upnp_event.c
+index d7e6edcc6503..08a23612f338 100644
+--- a/src/wps/wps_upnp_event.c
++++ b/src/wps/wps_upnp_event.c
+@@ -147,7 +147,8 @@ static struct wpabuf * event_build_message(struct wps_event_ *e)
+	struct wpabuf *buf;
+	char *b;
+
+-	buf = wpabuf_alloc(1000 + wpabuf_len(e->data));
++	buf = wpabuf_alloc(1000 + os_strlen(e->addr->path) +
++			   wpabuf_len(e->data));
+	if (buf == NULL)
+		return NULL;
+	wpabuf_printf(buf, "NOTIFY %s HTTP/1.1\r\n", e->addr->path);
+--
+2.20.1
diff --git a/poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/0003-WPS-UPnP-Handle-HTTP-initiation-failures-for-events-.patch b/poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/0003-WPS-UPnP-Handle-HTTP-initiation-failures-for-events-.patch
new file mode 100644
index 0000000..8a014ef
--- /dev/null
+++ b/poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/0003-WPS-UPnP-Handle-HTTP-initiation-failures-for-events-.patch
@@ -0,0 +1,50 @@
+From 85aac526af8612c21b3117dadc8ef5944985b476 Mon Sep 17 00:00:00 2001
+From: Jouni Malinen <jouni@codeaurora.org>
+Date: Thu, 4 Jun 2020 21:24:04 +0300
+Subject: [PATCH 3/3] WPS UPnP: Handle HTTP initiation failures for events more
+ properly
+
+While it is appropriate to try to retransmit the event to another
+callback URL on a failure to initiate the HTTP client connection, there
+is no point in trying the exact same operation multiple times in a row.
+Replve the event_retry() calls with event_addr_failure() for these cases
+to avoid busy loops trying to repeat the same failing operation.
+
+These potential busy loops would go through eloop callbacks, so the
+process is not completely stuck on handling them, but unnecessary CPU
+would be used to process the continues retries that will keep failing
+for the same reason.
+
+Upstream-Status: Backport
+CVE: CVE-2020-12695 patch #2
+Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
+Signed-off-by: Armin Kuster <akuster@mvista.com>
+
+---
+ src/wps/wps_upnp_event.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/wps/wps_upnp_event.c b/src/wps/wps_upnp_event.c
+index 08a23612f338..c0d9e41d9a38 100644
+--- a/src/wps/wps_upnp_event.c
++++ b/src/wps/wps_upnp_event.c
+@@ -294,7 +294,7 @@ static int event_send_start(struct subscription *s)
+
+	buf = event_build_message(e);
+	if (buf == NULL) {
+-		event_retry(e, 0);
++		event_addr_failure(e);
+		return -1;
+	}
+
+@@ -302,7 +302,7 @@ static int event_send_start(struct subscription *s)
+					 event_http_cb, e);
+	if (e->http_event == NULL) {
+		wpabuf_free(buf);
+-		event_retry(e, 0);
++		event_addr_failure(e);
+		return -1;
+	}
+
+--
+2.20.1
diff --git a/poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.9.bb b/poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.9.bb
index 2936e89..7cc03fe 100644
--- a/poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.9.bb
+++ b/poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.9.bb
@@ -25,7 +25,10 @@
            file://wpa_supplicant.conf-sane \
            file://99_wpa_supplicant \
            file://0001-replace-systemd-install-Alias-with-WantedBy.patch \
-		   file://0001-AP-Silently-ignore-management-frame-from-unexpected-.patch \
+           file://0001-AP-Silently-ignore-management-frame-from-unexpected-.patch \
+           file://0001-WPS-UPnP-Do-not-allow-event-subscriptions-with-URLs-.patch \
+           file://0002-WPS-UPnP-Fix-event-message-generation-using-a-long-U.patch \
+           file://0003-WPS-UPnP-Handle-HTTP-initiation-failures-for-events-.patch \
           "
 SRC_URI[md5sum] = "2d2958c782576dc9901092fbfecb4190"
 SRC_URI[sha256sum] = "fcbdee7b4a64bea8177973299c8c824419c413ec2e3a95db63dd6a5dc3541f17"
diff --git a/poky/meta/recipes-core/busybox/busybox-inittab_1.31.0.bb b/poky/meta/recipes-core/busybox/busybox-inittab_1.32.0.bb
similarity index 100%
rename from poky/meta/recipes-core/busybox/busybox-inittab_1.31.0.bb
rename to poky/meta/recipes-core/busybox/busybox-inittab_1.32.0.bb
diff --git a/poky/meta/recipes-core/busybox/busybox/0001-Remove-stime-function-calls.patch b/poky/meta/recipes-core/busybox/busybox/0001-Remove-stime-function-calls.patch
deleted file mode 100644
index 9b94328..0000000
--- a/poky/meta/recipes-core/busybox/busybox/0001-Remove-stime-function-calls.patch
+++ /dev/null
@@ -1,85 +0,0 @@
-From d3539be8f27b8cbfdfee460fe08299158f08bcd9 Mon Sep 17 00:00:00 2001
-From: Alistair Francis <alistair.francis@wdc.com>
-Date: Tue, 19 Nov 2019 13:06:40 +0100
-Subject: [PATCH] Remove stime() function calls
-
-stime() has been deprecated in glibc 2.31 and replaced with
-clock_settime(). Let's replace the stime() function calls with
-clock_settime() in preperation.
-
-function                                             old     new   delta
-rdate_main                                           197     224     +27
-clock_settime                                          -      27     +27
-date_main                                            926     941     +15
-stime                                                 37       -     -37
-------------------------------------------------------------------------------
-(add/remove: 2/2 grow/shrink: 2/0 up/down: 69/-37)             Total: 32 bytes
-
-Upstream-Status: Backport [https://git.busybox.net/busybox/commit/?id=d3539be8f27b8cbfdfee460fe08299158f08bcd9] 
-Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
-Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
----
- coreutils/date.c         | 6 +++++-
- libbb/missing_syscalls.c | 8 --------
- util-linux/rdate.c       | 8 ++++++--
- 3 files changed, 11 insertions(+), 11 deletions(-)
-
---- a/coreutils/date.c
-+++ b/coreutils/date.c
-@@ -279,6 +279,9 @@ int date_main(int argc UNUSED_PARAM, cha
- 		time(&ts.tv_sec);
- #endif
- 	}
-+#if !ENABLE_FEATURE_DATE_NANO
-+	ts.tv_nsec = 0;
-+#endif
- 	localtime_r(&ts.tv_sec, &tm_time);
- 
- 	/* If date string is given, update tm_time, and maybe set date */
-@@ -301,9 +304,10 @@ int date_main(int argc UNUSED_PARAM, cha
- 		if (date_str[0] != '@')
- 			tm_time.tm_isdst = -1;
- 		ts.tv_sec = validate_tm_time(date_str, &tm_time);
-+		ts.tv_nsec = 0;
- 
- 		/* if setting time, set it */
--		if ((opt & OPT_SET) && stime(&ts.tv_sec) < 0) {
-+		if ((opt & OPT_SET) && clock_settime(CLOCK_REALTIME, &ts) < 0) {
- 			bb_perror_msg("can't set date");
- 		}
- 	}
---- a/libbb/missing_syscalls.c
-+++ b/libbb/missing_syscalls.c
-@@ -15,14 +15,6 @@ pid_t getsid(pid_t pid)
- 	return syscall(__NR_getsid, pid);
- }
- 
--int stime(const time_t *t)
--{
--	struct timeval tv;
--	tv.tv_sec = *t;
--	tv.tv_usec = 0;
--	return settimeofday(&tv, NULL);
--}
--
- int sethostname(const char *name, size_t len)
- {
- 	return syscall(__NR_sethostname, name, len);
---- a/util-linux/rdate.c
-+++ b/util-linux/rdate.c
-@@ -95,9 +95,13 @@ int rdate_main(int argc UNUSED_PARAM, ch
- 	if (!(flags & 2)) { /* no -p (-s may be present) */
- 		if (time(NULL) == remote_time)
- 			bb_error_msg("current time matches remote time");
--		else
--			if (stime(&remote_time) < 0)
-+		else {
-+			struct timespec ts;
-+			ts.tv_sec = remote_time;
-+			ts.tv_nsec = 0;
-+			if (clock_settime(CLOCK_REALTIME, &ts) < 0)
- 				bb_perror_msg_and_die("can't set time of day");
-+		}
- 	}
- 
- 	if (flags != 1) /* not lone -s */
diff --git a/poky/meta/recipes-core/busybox/busybox/0001-Remove-syscall-wrappers-around-clock_gettime-closes-.patch b/poky/meta/recipes-core/busybox/busybox/0001-Remove-syscall-wrappers-around-clock_gettime-closes-.patch
deleted file mode 100644
index 0c7f9b8..0000000
--- a/poky/meta/recipes-core/busybox/busybox/0001-Remove-syscall-wrappers-around-clock_gettime-closes-.patch
+++ /dev/null
@@ -1,120 +0,0 @@
-From be5a505d771a77c640acc35ceaa470c80e62f954 Mon Sep 17 00:00:00 2001
-From: Denys Vlasenko <vda.linux@googlemail.com>
-Date: Thu, 24 Oct 2019 16:26:55 +0200
-Subject: [PATCH] Remove syscall wrappers around clock_gettime, closes 12091
-
-12091 "Direct use of __NR_clock_gettime is not time64-safe".
-
-function                                             old     new   delta
-runsv_main                                          1698    1712     +14
-startservice                                         378     383      +5
-get_mono                                              31      25      -6
-date_main                                            932     926      -6
-gettimeofday_ns                                       17       -     -17
-------------------------------------------------------------------------------
-(add/remove: 0/1 grow/shrink: 2/2 up/down: 19/-29)            Total: -10 bytes
-
-Upstream-Status: Backport [https://git.busybox.net/busybox/commit/?id=be5a505d771a77c640acc35ceaa470c80e62f954]
-Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
----
- Makefile.flags   |  6 ++++--
- coreutils/date.c | 16 +++-------------
- libbb/time.c     | 11 +----------
- runit/runsv.c    | 11 +----------
- 4 files changed, 9 insertions(+), 35 deletions(-)
-
---- a/Makefile.flags
-+++ b/Makefile.flags
-@@ -129,10 +129,12 @@ endif
- # fall back to using a temp file:
- CRYPT_AVAILABLE := $(shell echo 'int main(void){return 0;}' >crypttest.c; $(CC) $(CFLAGS) -lcrypt -o /dev/null crypttest.c >/dev/null 2>&1 && echo "y"; rm crypttest.c)
- ifeq ($(CRYPT_AVAILABLE),y)
--LDLIBS += m crypt
-+LDLIBS += m rt crypt
- else
--LDLIBS += m
-+LDLIBS += m rt
- endif
-+# libm may be needed for dc, awk, ntpd
-+# librt may be needed for clock_gettime()
- 
- # libpam may use libpthread, libdl and/or libaudit.
- # On some platforms that requires an explicit -lpthread, -ldl, -laudit.
---- a/coreutils/date.c
-+++ b/coreutils/date.c
-@@ -33,10 +33,9 @@
- //config:	Enable option (-I) to output an ISO-8601 compliant
- //config:	date/time string.
- //config:
--//config:# defaults to "no": stat's nanosecond field is a bit non-portable
- //config:config FEATURE_DATE_NANO
- //config:	bool "Support %[num]N nanosecond format specifier"
--//config:	default n  # syscall(__NR_clock_gettime) or syscall(__NR_clock_gettime64)
-+//config:	default n # stat's nanosecond field is a bit non-portable
- //config:	depends on DATE
- //config:	select PLATFORM_LINUX
- //config:	help
-@@ -271,17 +270,8 @@ int date_main(int argc UNUSED_PARAM, cha
- 		 */
- #endif
- 	} else {
--#if ENABLE_FEATURE_DATE_NANO && defined(__NR_clock_gettime)
--		/* libc has incredibly messy way of doing this,
--		 * typically requiring -lrt. We just skip all this mess */
--		syscall(__NR_clock_gettime, CLOCK_REALTIME, &ts);
--#elif ENABLE_FEATURE_DATE_NANO && __TIMESIZE == 64
--		/* Let's only support the 64 suffix syscalls for 64-bit time_t.
--		 * This simplifies the code for us as we don't need to convert
--		 * between 64-bit and 32-bit. We also don't have a way to
--		 * report overflow errors here.
--		 */
--		syscall(__NR_clock_gettime64, CLOCK_REALTIME, &ts);
-+#if ENABLE_FEATURE_DATE_NANO
-+		clock_gettime(CLOCK_REALTIME, &ts);
- #else
- 		time(&ts.tv_sec);
- #endif
---- a/libbb/time.c
-+++ b/libbb/time.c
-@@ -253,18 +253,9 @@ char* FAST_FUNC strftime_YYYYMMDDHHMMSS(
- #define CLOCK_MONOTONIC 1
- #endif
- 
--/* libc has incredibly messy way of doing this,
-- * typically requiring -lrt. We just skip all this mess */
- static void get_mono(struct timespec *ts)
- {
--#if defined(__NR_clock_gettime)
-- 	if (syscall(__NR_clock_gettime, CLOCK_MONOTONIC, ts))
--#elif __TIMESIZE == 64
--	if (syscall(__NR_clock_gettime64, CLOCK_MONOTONIC, ts))
--#else
--# error "We currently don't support architectures without " \
--	"the __NR_clock_gettime syscall and 32-bit time_t"
--#endif
-+	if (clock_gettime(CLOCK_MONOTONIC, ts))
- 		bb_error_msg_and_die("clock_gettime(MONOTONIC) failed");
- }
- unsigned long long FAST_FUNC monotonic_ns(void)
---- a/runit/runsv.c
-+++ b/runit/runsv.c
-@@ -51,18 +51,9 @@ ADVISED OF THE POSSIBILITY OF SUCH DAMAG
- #if ENABLE_MONOTONIC_SYSCALL
- #include <sys/syscall.h>
- 
--/* libc has incredibly messy way of doing this,
-- * typically requiring -lrt. We just skip all this mess */
- static void gettimeofday_ns(struct timespec *ts)
- {
--#if defined(__NR_clock_gettime)
--	syscall(__NR_clock_gettime, CLOCK_REALTIME, ts);
--#elif __TIMESIZE == 64
--	syscall(__NR_clock_gettime64, CLOCK_REALTIME, ts);
--#else
--# error "We currently don't support architectures without " \
--	"the __NR_clock_gettime syscall and 32-bit time_t"
--#endif
-+	clock_gettime(CLOCK_REALTIME, ts);
- }
- #else
- static void gettimeofday_ns(struct timespec *ts)
diff --git a/poky/meta/recipes-core/busybox/busybox/0001-date-Use-64-prefix-syscall-if-we-have-to.patch b/poky/meta/recipes-core/busybox/busybox/0001-date-Use-64-prefix-syscall-if-we-have-to.patch
deleted file mode 100644
index 944526b..0000000
--- a/poky/meta/recipes-core/busybox/busybox/0001-date-Use-64-prefix-syscall-if-we-have-to.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-From b7b7452f292f03eefafa6fd1da9bcfc933dee15a Mon Sep 17 00:00:00 2001
-From: Alistair Francis <alistair.francis@wdc.com>
-Date: Wed, 18 Sep 2019 09:28:49 -0700
-Subject: [PATCH] date: Use 64 prefix syscall if we have to
-
-Some 32-bit architectures no longer have the 32-bit time_t syscalls.
-Instead they have suffixed syscalls that returns a 64-bit time_t. If
-the architecture doesn't have the non-suffixed syscall and is using a
-64-bit time_t let's use the suffixed syscall instead.
-
-This fixes build issues when building for RISC-V 32-bit with 5.1+ kernel
-headers.
-
-If an architecture only supports the suffixed syscalls, but is still
-using a 32-bit time_t fall back to the libc call.
-
-Upstream-Status: Backport [https://git.busybox.net/busybox/commit/?id=b7b7452f292f03eefafa6fd1da9bcfc933dee15a]
-Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
-Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
----
- coreutils/date.c | 11 +++++++++--
- 1 file changed, 9 insertions(+), 2 deletions(-)
-
---- a/coreutils/date.c
-+++ b/coreutils/date.c
-@@ -36,7 +36,7 @@
- //config:# defaults to "no": stat's nanosecond field is a bit non-portable
- //config:config FEATURE_DATE_NANO
- //config:	bool "Support %[num]N nanosecond format specifier"
--//config:	default n  # syscall(__NR_clock_gettime)
-+//config:	default n  # syscall(__NR_clock_gettime) or syscall(__NR_clock_gettime64)
- //config:	depends on DATE
- //config:	select PLATFORM_LINUX
- //config:	help
-@@ -271,10 +271,17 @@ int date_main(int argc UNUSED_PARAM, cha
- 		 */
- #endif
- 	} else {
--#if ENABLE_FEATURE_DATE_NANO
-+#if ENABLE_FEATURE_DATE_NANO && defined(__NR_clock_gettime)
- 		/* libc has incredibly messy way of doing this,
- 		 * typically requiring -lrt. We just skip all this mess */
- 		syscall(__NR_clock_gettime, CLOCK_REALTIME, &ts);
-+#elif ENABLE_FEATURE_DATE_NANO && __TIMESIZE == 64
-+		/* Let's only support the 64 suffix syscalls for 64-bit time_t.
-+		 * This simplifies the code for us as we don't need to convert
-+		 * between 64-bit and 32-bit. We also don't have a way to
-+		 * report overflow errors here.
-+		 */
-+		syscall(__NR_clock_gettime64, CLOCK_REALTIME, &ts);
- #else
- 		time(&ts.tv_sec);
- #endif
diff --git a/poky/meta/recipes-core/busybox/busybox/0001-time-Use-64-prefix-syscall-if-we-have-to.patch b/poky/meta/recipes-core/busybox/busybox/0001-time-Use-64-prefix-syscall-if-we-have-to.patch
deleted file mode 100644
index 58a6c0d..0000000
--- a/poky/meta/recipes-core/busybox/busybox/0001-time-Use-64-prefix-syscall-if-we-have-to.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From 902d3992922fc8db8495d5fb30a4581711b60c62 Mon Sep 17 00:00:00 2001
-From: Alistair Francis <alistair.francis@wdc.com>
-Date: Wed, 18 Sep 2019 09:28:50 -0700
-Subject: [PATCH] time: Use 64 prefix syscall if we have to
-
-Some 32-bit architectures no longer have the 32-bit time_t syscalls.
-Instead they have suffixed syscalls that returns a 64-bit time_t. If
-the architecture doesn't have the non-suffixed syscall and is using a
-64-bit time_t let's use the suffixed syscall instead.
-
-This fixes build issues when building for RISC-V 32-bit with 5.1+ kernel
-headers.
-
-If an architecture only supports the suffixed syscalls, but is still
-using a 32-bit time_t report a compilation error. This avoids us have to
-deal with converting between 64-bit and 32-bit values. There are
-currently no architectures where this is the case.
-
-Upstream-Status: Backport [https://git.busybox.net/busybox/commit/?id=902d3992922fc8db8495d5fb30a4581711b60c62]
-Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
-Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
----
- libbb/time.c | 7 +++++++
- 1 file changed, 7 insertions(+)
-
---- a/libbb/time.c
-+++ b/libbb/time.c
-@@ -257,7 +257,14 @@ char* FAST_FUNC strftime_YYYYMMDDHHMMSS(
-  * typically requiring -lrt. We just skip all this mess */
- static void get_mono(struct timespec *ts)
- {
--	if (syscall(__NR_clock_gettime, CLOCK_MONOTONIC, ts))
-+#if defined(__NR_clock_gettime)
-+ 	if (syscall(__NR_clock_gettime, CLOCK_MONOTONIC, ts))
-+#elif __TIMESIZE == 64
-+	if (syscall(__NR_clock_gettime64, CLOCK_MONOTONIC, ts))
-+#else
-+# error "We currently don't support architectures without " \
-+	"the __NR_clock_gettime syscall and 32-bit time_t"
-+#endif
- 		bb_error_msg_and_die("clock_gettime(MONOTONIC) failed");
- }
- unsigned long long FAST_FUNC monotonic_ns(void)
diff --git a/poky/meta/recipes-core/busybox/busybox/0003-runsv-Use-64-prefix-syscall-if-we-have-to.patch b/poky/meta/recipes-core/busybox/busybox/0003-runsv-Use-64-prefix-syscall-if-we-have-to.patch
deleted file mode 100644
index 4760570..0000000
--- a/poky/meta/recipes-core/busybox/busybox/0003-runsv-Use-64-prefix-syscall-if-we-have-to.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From 8c7419649d6e6fda8fa7d0e863084c78ac728628 Mon Sep 17 00:00:00 2001
-From: Alistair Francis <alistair.francis@wdc.com>
-Date: Wed, 28 Aug 2019 10:54:15 -0700
-Subject: [PATCH 3/3] runsv: Use 64 prefix syscall if we have to
-
-Some 32-bit architectures no longer have the 32-bit time_t syscalls.
-Instead they have suffixed syscalls that returns a 64-bit time_t. If
-the architecture doesn't have the non-suffixed syscall and is using a
-64-bit time_t let's use the suffixed syscall instead.
-
-This fixes build issues when building for RISC-V 32-bit with 5.1+ kernel
-headers.
-
-If an architecture only supports the suffixed syscalls, but is still
-using a 32-bit time_t report a compilation error. This avoids us have to
-deal with converting between 64-bit and 32-bit values. There are
-currently no architectures where this is the case.
-
-Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
-Upstream-Status: Backport [https://git.busybox.net/busybox/commit/?id=ad27d44ebe950335616f37e36863469dc181b455]
----
- runit/runsv.c | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-diff --git a/runit/runsv.c b/runit/runsv.c
-index ccc762d78..737909b0e 100644
---- a/runit/runsv.c
-+++ b/runit/runsv.c
-@@ -55,7 +55,14 @@ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-  * typically requiring -lrt. We just skip all this mess */
- static void gettimeofday_ns(struct timespec *ts)
- {
-+#if defined(__NR_clock_gettime)
- 	syscall(__NR_clock_gettime, CLOCK_REALTIME, ts);
-+#elif __TIMESIZE == 64
-+	syscall(__NR_clock_gettime64, CLOCK_REALTIME, ts);
-+#else
-+# error "We currently don't support architectures without " \
-+	"the __NR_clock_gettime syscall and 32-bit time_t"
-+#endif
- }
- #else
- static void gettimeofday_ns(struct timespec *ts)
--- 
-2.22.0
-
diff --git a/poky/meta/recipes-core/busybox/busybox/busybox-udhcpc-no_deconfig.patch b/poky/meta/recipes-core/busybox/busybox/busybox-udhcpc-no_deconfig.patch
index 2a0a40c..35e981d 100644
--- a/poky/meta/recipes-core/busybox/busybox/busybox-udhcpc-no_deconfig.patch
+++ b/poky/meta/recipes-core/busybox/busybox/busybox-udhcpc-no_deconfig.patch
@@ -31,11 +31,11 @@
  networking/udhcp/dhcpc.c                       | 29 ++++++++++++++++------
  1 file changed, 21 insertions(+), 8 deletions(-)
 
-Index: busybox-1.31.0/networking/udhcp/dhcpc.c
+Index: busybox-1.32.0/networking/udhcp/dhcpc.c
 ===================================================================
---- busybox-1.31.0.orig/networking/udhcp/dhcpc.c
-+++ busybox-1.31.0/networking/udhcp/dhcpc.c
-@@ -48,6 +48,8 @@
+--- busybox-1.32.0.orig/networking/udhcp/dhcpc.c
++++ busybox-1.32.0/networking/udhcp/dhcpc.c
+@@ -48,6 +48,8 @@ struct tpacket_auxdata {
  };
  #endif
  
@@ -55,7 +55,7 @@
  	USE_FOR_MMU(             OPTBIT_b,)
  	IF_FEATURE_UDHCPC_ARPING(OPTBIT_a,)
  	IF_FEATURE_UDHCP_PORT(   OPTBIT_P,)
-@@ -1124,7 +1128,8 @@
+@@ -1084,7 +1088,8 @@
  		client_data.state = RENEW_REQUESTED;
  		break;
  	case RENEW_REQUESTED: /* impatient are we? fine, square 1 */
@@ -65,7 +65,7 @@
  	case REQUESTING:
  	case RELEASED:
  		change_listen_mode(LISTEN_RAW);
-@@ -1160,7 +1165,8 @@
+@@ -1120,7 +1125,8 @@ static void perform_release(uint32_t server_addr, uint32_t requested_ip)
   * Users requested to be notified in all cases, even if not in one
   * of the states above.
   */
@@ -75,7 +75,7 @@
  
  	change_listen_mode(LISTEN_NONE);
  	client_data.state = RELEASED;
-@@ -1278,7 +1284,7 @@
+@@ -1238,7 +1244,7 @@
  	/* Parse command line */
  	opt = getopt32long(argv, "^"
  		/* O,x: list; -T,-t,-A take numeric param */
@@ -84,7 +84,7 @@
  		USE_FOR_MMU("b")
  		IF_FEATURE_UDHCPC_ARPING("a::")
  		IF_FEATURE_UDHCP_PORT("P:")
-@@ -1389,6 +1395,10 @@
+@@ -1349,6 +1355,10 @@
  		logmode |= LOGMODE_SYSLOG;
  	}
  
@@ -95,7 +95,7 @@
  	/* Create pidfile */
  	write_pidfile(client_data.pidfile);
  	/* Goes to stdout (unless NOMMU) and possibly syslog */
-@@ -1397,7 +1407,8 @@
+@@ -1357,7 +1367,8 @@
  	srand(monotonic_us());
  
  	client_data.state = INIT_SELECTING;
@@ -105,17 +105,17 @@
  	change_listen_mode(LISTEN_RAW);
  	packet_num = 0;
  	timeout = 0;
-@@ -1570,7 +1581,8 @@
+@@ -1530,7 +1541,8 @@
  				}
  				/* Timed out, enter init state */
- 				bb_info_msg("lease lost, entering init state");
+ 				bb_simple_info_msg("lease lost, entering init state");
 -				udhcp_run_script(NULL, "deconfig");
 +				if (allow_deconfig)
 +					udhcp_run_script(NULL, "deconfig");
  				client_data.state = INIT_SELECTING;
  				client_data.first_secs = 0; /* make secs field count from 0 */
  				/*timeout = 0; - already is */
-@@ -1762,8 +1774,10 @@
+@@ -1722,8 +1734,10 @@
  							"(got ARP reply), declining");
  						send_decline(/*xid,*/ server_addr, packet.yiaddr);
  
@@ -128,7 +128,7 @@
  						change_listen_mode(LISTEN_RAW);
  						client_data.state = INIT_SELECTING;
  						client_data.first_secs = 0; /* make secs field count from 0 */
-@@ -1832,8 +1846,10 @@
+@@ -1792,8 +1806,10 @@
  				/* return to init state */
  				bb_info_msg("received %s", "DHCP NAK");
  				udhcp_run_script(&packet, "nak");
diff --git a/poky/meta/recipes-core/busybox/busybox_1.31.1.bb b/poky/meta/recipes-core/busybox/busybox_1.32.0.bb
similarity index 79%
rename from poky/meta/recipes-core/busybox/busybox_1.31.1.bb
rename to poky/meta/recipes-core/busybox/busybox_1.32.0.bb
index 2bb1d59..0dfdfdb 100644
--- a/poky/meta/recipes-core/busybox/busybox_1.31.1.bb
+++ b/poky/meta/recipes-core/busybox/busybox_1.32.0.bb
@@ -42,14 +42,9 @@
            file://0001-testsuite-check-uudecode-before-using-it.patch \
            file://0001-testsuite-use-www.example.org-for-wget-test-cases.patch \
            file://0001-du-l-works-fix-to-use-145-instead-of-144.patch \
-           file://0001-date-Use-64-prefix-syscall-if-we-have-to.patch \
-           file://0001-time-Use-64-prefix-syscall-if-we-have-to.patch \
-           file://0003-runsv-Use-64-prefix-syscall-if-we-have-to.patch \
-           file://0001-Remove-syscall-wrappers-around-clock_gettime-closes-.patch \
-           file://0001-Remove-stime-function-calls.patch \
            file://0001-sysctl-ignore-EIO-of-stable_secret-below-proc-sys-ne.patch \
 "
 SRC_URI_append_libc-musl = " file://musl.cfg "
 
-SRC_URI[tarball.md5sum] = "70913edaf2263a157393af07565c17f0"
-SRC_URI[tarball.sha256sum] = "d0f940a72f648943c1f2211e0e3117387c31d765137d92bd8284a3fb9752a998"
+SRC_URI[tarball.md5sum] = "9576986f1a960da471d03b72a62f13c7"
+SRC_URI[tarball.sha256sum] = "c35d87f1d04b2b153d33c275c2632e40d388a88f19a9e71727e0bbbff51fe689"
diff --git a/poky/meta/recipes-core/coreutils/coreutils_8.32.bb b/poky/meta/recipes-core/coreutils/coreutils_8.32.bb
index 2422f86..f8ae3fd 100644
--- a/poky/meta/recipes-core/coreutils/coreutils_8.32.bb
+++ b/poky/meta/recipes-core/coreutils/coreutils_8.32.bb
@@ -59,9 +59,20 @@
 
 sbindir_progs= "chroot"
 
-PACKAGE_BEFORE_PN_class-target += "coreutils-stdbuf"
+# Split stdbuf into its own package, so one can include
+# coreutils-stdbuf without getting the rest of coreutils, but make
+# coreutils itself pull in stdbuf, so IMAGE_INSTALL += "coreutils"
+# always provides all coreutils
+PACKAGE_BEFORE_PN_class-target += "${@bb.utils.contains('PACKAGECONFIG', 'single-binary', '', 'coreutils-stdbuf', d)}"
 FILES_coreutils-stdbuf = "${bindir}/stdbuf ${libdir}/coreutils/libstdbuf.so"
-RDEPENDS_coreutils_class-target += "coreutils-stdbuf"
+RDEPENDS_coreutils_class-target += "${@bb.utils.contains('PACKAGECONFIG', 'single-binary', '', 'coreutils-stdbuf', d)}"
+
+# However, when the single-binary PACKAGECONFIG is used, stdbuf
+# functionality is built into the single coreutils binary, so there's
+# no point splitting /usr/bin/stdbuf to its own package. Instead, add
+# an RPROVIDE so that rdepending on coreutils-stdbuf will work
+# regardless of whether single-binary is in effect.
+RPROVIDES_coreutils += "${@bb.utils.contains('PACKAGECONFIG', 'single-binary', 'coreutils-stdbuf', '', d)}"
 
 # Let aclocal use the relative path for the m4 file rather than the
 # absolute since coreutils has a lot of m4 files, otherwise there might
diff --git a/poky/meta/recipes-core/dropbear/dropbear.inc b/poky/meta/recipes-core/dropbear/dropbear.inc
index 7269888..080ee26 100644
--- a/poky/meta/recipes-core/dropbear/dropbear.inc
+++ b/poky/meta/recipes-core/dropbear/dropbear.inc
@@ -5,7 +5,7 @@
 # some files are from other projects and have others license terms:
 #   public domain, OpenSSH 3.5p1, OpenSSH3.6.1p2, PuTTY
 LICENSE = "MIT & BSD-3-Clause & BSD-2-Clause & PD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=a5ec40cafba26fc4396d0b550f824e01"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=25cf44512b7bc8966a48b6b1a9b7605f"
 
 DEPENDS = "zlib virtual/crypt"
 RPROVIDES_${PN} = "ssh sshd"
diff --git a/poky/meta/recipes-core/dropbear/dropbear/dropbear-disable-weak-ciphers.patch b/poky/meta/recipes-core/dropbear/dropbear/dropbear-disable-weak-ciphers.patch
index e48a34b..b54581f 100644
--- a/poky/meta/recipes-core/dropbear/dropbear/dropbear-disable-weak-ciphers.patch
+++ b/poky/meta/recipes-core/dropbear/dropbear/dropbear-disable-weak-ciphers.patch
@@ -1,33 +1,24 @@
-This feature disables all CBC, SHA1, and diffie-hellman group1 ciphers 
+From c347ece05a7fdbf50d76cb136b9ed45caed333f6 Mon Sep 17 00:00:00 2001
+From: Joseph Reynolds <joseph.reynolds1@ibm.com>
+Date: Thu, 20 Jun 2019 16:29:15 -0500
+Subject: [PATCH] dropbear: new feature: disable-weak-ciphers
+
+This feature disables all CBC, SHA1, and diffie-hellman group1 ciphers
 in the dropbear ssh server and client since they're considered weak ciphers
 and we want to support the stong algorithms.
 
 Upstream-Status: Inappropriate [configuration]
 Signed-off-by: Joseph Reynolds <joseph.reynolds1@ibm.com>
 
-Index: dropbear-2019.78/default_options.h
-===================================================================
---- dropbear-2019.78.orig/default_options.h
-+++ dropbear-2019.78/default_options.h
-@@ -91,7 +91,7 @@ IMPORTANT: Some options will require "ma
- 
- /* Enable CBC mode for ciphers. This has security issues though
-  * is the most compatible with older SSH implementations */
--#define DROPBEAR_ENABLE_CBC_MODE 1
-+#define DROPBEAR_ENABLE_CBC_MODE 0
- 
- /* Enable "Counter Mode" for ciphers. This is more secure than
-  * CBC mode against certain attacks. It is recommended for security
-@@ -101,7 +101,7 @@ IMPORTANT: Some options will require "ma
- /* Message integrity. sha2-256 is recommended as a default, 
-    sha1 for compatibility */
- #define DROPBEAR_SHA1_HMAC 1
--#define DROPBEAR_SHA1_96_HMAC 1
-+#define DROPBEAR_SHA1_96_HMAC 0
- #define DROPBEAR_SHA2_256_HMAC 1
- 
- /* Hostkey/public key algorithms - at least one required, these are used
-@@ -149,12 +149,12 @@ IMPORTANT: Some options will require "ma
+---
+ default_options.h | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/default_options.h b/default_options.h
+index 1aa2297..7ff1394 100644
+--- a/default_options.h
++++ b/default_options.h
+@@ -163,12 +163,12 @@ IMPORTANT: Some options will require "make clean" after changes */
   * Small systems should generally include either curve25519 or ecdh for performance.
   * curve25519 is less widely supported but is faster
   */ 
diff --git a/poky/meta/recipes-core/dropbear/dropbear_2019.78.bb b/poky/meta/recipes-core/dropbear/dropbear_2019.78.bb
deleted file mode 100644
index d2cd816..0000000
--- a/poky/meta/recipes-core/dropbear/dropbear_2019.78.bb
+++ /dev/null
@@ -1,4 +0,0 @@
-require dropbear.inc
-
-SRC_URI[md5sum] = "a972c85ed678ad0fdcb7844e1294fb54"
-SRC_URI[sha256sum] = "525965971272270995364a0eb01f35180d793182e63dd0b0c3eb0292291644a4"
diff --git a/poky/meta/recipes-core/dropbear/dropbear_2020.80.bb b/poky/meta/recipes-core/dropbear/dropbear_2020.80.bb
new file mode 100644
index 0000000..088c71c
--- /dev/null
+++ b/poky/meta/recipes-core/dropbear/dropbear_2020.80.bb
@@ -0,0 +1,3 @@
+require dropbear.inc
+
+SRC_URI[sha256sum] = "d927941b91f2da150b2033f1a88b6a47999bf0afb1493a73e9216cffdb5d7949"
diff --git a/poky/meta/recipes-core/initscripts/initscripts_1.0.bb b/poky/meta/recipes-core/initscripts/initscripts_1.0.bb
index 4080c4a..32c5277 100644
--- a/poky/meta/recipes-core/initscripts/initscripts_1.0.bb
+++ b/poky/meta/recipes-core/initscripts/initscripts_1.0.bb
@@ -170,7 +170,7 @@
   urandom"
 
 pkg_postinst_${PN} () {
-	if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
+	if type systemctl >/dev/null 2>/dev/null; then
 		if [ -n "$D" ]; then
 			OPTS="--root=$D"
 		fi
diff --git a/poky/meta/recipes-core/meta/signing-keys.bb b/poky/meta/recipes-core/meta/signing-keys.bb
index 1e1c7e3..5bab94a 100644
--- a/poky/meta/recipes-core/meta/signing-keys.bb
+++ b/poky/meta/recipes-core/meta/signing-keys.bb
@@ -67,8 +67,6 @@
     fi
 }
 do_deploy[sstate-outputdirs] = "${DEPLOY_DIR_RPM}"
-# cleandirs should possibly be in deploy.bbclass but we need it
-do_deploy[cleandirs] = "${DEPLOYDIR}"
 # clear stamp-extra-info since MACHINE_ARCH is normally put there by
 # deploy.bbclass
 do_deploy[stamp-extra-info] = ""
diff --git a/poky/meta/recipes-core/musl/musl/0001-Make-dynamic-linker-a-relative-symlink-to-libc.patch b/poky/meta/recipes-core/musl/musl/0001-Make-dynamic-linker-a-relative-symlink-to-libc.patch
index 462d338..ba00efe 100644
--- a/poky/meta/recipes-core/musl/musl/0001-Make-dynamic-linker-a-relative-symlink-to-libc.patch
+++ b/poky/meta/recipes-core/musl/musl/0001-Make-dynamic-linker-a-relative-symlink-to-libc.patch
@@ -22,11 +22,9 @@
  tools/install.sh | 8 +++++---
  2 files changed, 6 insertions(+), 4 deletions(-)
 
-diff --git a/Makefile b/Makefile
-index 8246b78..d1dbe39 100644
 --- a/Makefile
 +++ b/Makefile
-@@ -215,7 +215,7 @@ $(DESTDIR)$(includedir)/%: $(srcdir)/include/%
+@@ -210,7 +210,7 @@ $(DESTDIR)$(includedir)/%: $(srcdir)/inc
  	$(INSTALL) -D -m 644 $< $@
  
  $(DESTDIR)$(LDSO_PATHNAME): $(DESTDIR)$(libdir)/libc.so
@@ -35,8 +33,6 @@
  
  install-libs: $(ALL_LIBS:lib/%=$(DESTDIR)$(libdir)/%) $(if $(SHARED_LIBS),$(DESTDIR)$(LDSO_PATHNAME),)
  
-diff --git a/tools/install.sh b/tools/install.sh
-index d913b60..b6a7f79 100755
 --- a/tools/install.sh
 +++ b/tools/install.sh
 @@ -6,18 +6,20 @@
@@ -62,7 +58,7 @@
  m) mode=$OPTARG ;;
  ?) usage ;;
  esac
-@@ -48,7 +50,7 @@ trap 'rm -f "$tmp"' EXIT INT QUIT TERM HUP
+@@ -48,7 +50,7 @@ trap 'rm -f "$tmp"' EXIT INT QUIT TERM H
  umask 077
  
  if test "$symlink" ; then
@@ -71,6 +67,3 @@
  else
  cat < "$1" > "$tmp"
  chmod "$mode" "$tmp"
--- 
-2.7.4
-
diff --git a/poky/meta/recipes-core/musl/musl/0002-ldso-Use-syslibdir-and-libdir-as-default-pathes-to-l.patch b/poky/meta/recipes-core/musl/musl/0002-ldso-Use-syslibdir-and-libdir-as-default-pathes-to-l.patch
index 6a875a7..f57aae5 100644
--- a/poky/meta/recipes-core/musl/musl/0002-ldso-Use-syslibdir-and-libdir-as-default-pathes-to-l.patch
+++ b/poky/meta/recipes-core/musl/musl/0002-ldso-Use-syslibdir-and-libdir-as-default-pathes-to-l.patch
@@ -20,11 +20,9 @@
  ldso/dynlink.c | 4 +++-
  2 files changed, 5 insertions(+), 2 deletions(-)
 
-diff --git a/Makefile b/Makefile
-index b46f8ca4..c07e4ae8 100644
 --- a/Makefile
 +++ b/Makefile
-@@ -46,7 +46,8 @@ CFLAGS_AUTO = -Os -pipe
+@@ -47,7 +47,8 @@ CFLAGS_AUTO = -Os -pipe
  CFLAGS_C99FSE = -std=c99 -ffreestanding -nostdinc 
  
  CFLAGS_ALL = $(CFLAGS_C99FSE)
@@ -34,20 +32,18 @@
  CFLAGS_ALL += $(CPPFLAGS) $(CFLAGS_AUTO) $(CFLAGS)
  
  LDFLAGS_ALL = $(LDFLAGS_AUTO) $(LDFLAGS)
-diff --git a/ldso/dynlink.c b/ldso/dynlink.c
-index ec921dfd..7c119c55 100644
 --- a/ldso/dynlink.c
 +++ b/ldso/dynlink.c
-@@ -22,6 +22,8 @@
+@@ -24,6 +24,8 @@
+ #include "libc.h"
  #include "dynlink.h"
- #include "malloc_impl.h"
  
 +#define SYS_PATH_DFLT SYSLIBDIR ":" LIBDIR
 +
  static void error(const char *, ...);
  
  #define MAXP2(a,b) (-(-(a)&-(b)))
-@@ -1038,7 +1040,7 @@ static struct dso *load_library(const char *name, struct dso *needed_by)
+@@ -1071,7 +1073,7 @@ static struct dso *load_library(const ch
  					sys_path = "";
  				}
  			}
@@ -56,6 +52,3 @@
  			fd = path_open(name, sys_path, buf, sizeof buf);
  		}
  		pathname = buf;
--- 
-2.7.4
-
diff --git a/poky/meta/recipes-core/musl/musl_git.bb b/poky/meta/recipes-core/musl/musl_git.bb
index 6aa6998..0913b09 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 = "1b4e84c56df0f8ca30f6bc05962a860f869e71df"
+SRCREV = "fca7428c096066482d8c3f52450810288e27515c"
 
 BASEVER = "1.2.0"
 
diff --git a/poky/meta/recipes-core/ovmf/ovmf_git.bb b/poky/meta/recipes-core/ovmf/ovmf_git.bb
index 91c1b6b..8454763 100644
--- a/poky/meta/recipes-core/ovmf/ovmf_git.bb
+++ b/poky/meta/recipes-core/ovmf/ovmf_git.bb
@@ -37,7 +37,7 @@
 BUILD_OPTIMIZATION="-pipe"
 
 # OVMF supports IA only, although it could conceivably support ARM someday.
-COMPATIBLE_HOST='(i.86|x86_64).*'
+COMPATIBLE_HOST_class-target='(i.86|x86_64).*'
 
 # Additional build flags for OVMF with Secure Boot.
 # Fedora also uses "-D SMM_REQUIRE -D EXCLUDE_SHELL_FROM_FD".
@@ -220,7 +220,6 @@
 
 do_deploy() {
 }
-do_deploy[cleandirs] = "${DEPLOYDIR}"
 do_deploy_class-target() {
     # For use with "runqemu ovmf".
     for i in \
diff --git a/poky/meta/recipes-core/systemd/systemd_245.6.bb b/poky/meta/recipes-core/systemd/systemd_245.6.bb
index b6681b2..cdafb98 100644
--- a/poky/meta/recipes-core/systemd/systemd_245.6.bb
+++ b/poky/meta/recipes-core/systemd/systemd_245.6.bb
@@ -544,7 +544,6 @@
                 ${bindir}/resolvectl \
                 ${bindir}/timedatectl \
                 ${bindir}/bootctl \
-                ${bindir}/kernel-install \
                 ${exec_prefix}/lib/tmpfiles.d/*.conf \
                 ${exec_prefix}/lib/systemd \
                 ${exec_prefix}/lib/modules-load.d \
diff --git a/poky/meta/recipes-devtools/bison/bison_3.6.3.bb b/poky/meta/recipes-devtools/bison/bison_3.6.4.bb
similarity index 94%
rename from poky/meta/recipes-devtools/bison/bison_3.6.3.bb
rename to poky/meta/recipes-devtools/bison/bison_3.6.4.bb
index 1d0f599..0c877c3 100644
--- a/poky/meta/recipes-devtools/bison/bison_3.6.3.bb
+++ b/poky/meta/recipes-devtools/bison/bison_3.6.4.bb
@@ -13,7 +13,7 @@
            file://add-with-bisonlocaledir.patch \
            file://0001-bison-fix-the-parallel-build.patch \
            "
-SRC_URI[sha256sum] = "06db793651de9dd5f0a85a6fe4bdbca413c0806bf2432377523da96ca0b4b73d"
+SRC_URI[sha256sum] = "8b13473b31ca7fcf65e5e8a74224368ffd5df19275602a9c9567ba393f18577d"
 
 # No point in hardcoding path to m4, just use PATH
 EXTRA_OECONF += "M4=m4"
diff --git a/poky/meta/recipes-devtools/ccache/ccache.inc b/poky/meta/recipes-devtools/ccache/ccache_3.7.10.bb
similarity index 83%
rename from poky/meta/recipes-devtools/ccache/ccache.inc
rename to poky/meta/recipes-devtools/ccache/ccache_3.7.10.bb
index dcbbf0c..852583d 100644
--- a/poky/meta/recipes-devtools/ccache/ccache.inc
+++ b/poky/meta/recipes-devtools/ccache/ccache_3.7.10.bb
@@ -5,11 +5,15 @@
 Objective-C and Objective-C++."
 HOMEPAGE = "http://ccache.samba.org"
 SECTION = "devel"
+
 LICENSE = "GPLv3+"
+LIC_FILES_CHKSUM = "file://LICENSE.adoc;md5=22d514dbc01fdf9a9784334b6b59417a"
 
 DEPENDS = "zlib"
 
 SRC_URI = "https://github.com/ccache/ccache/releases/download/v${PV}/${BP}.tar.gz"
+SRC_URI[sha256sum] = "447ddf21a5f0ffa6b6d26839ae876a6d17d0d7e3533926cdf78ecd11dad793f8"
+
 UPSTREAM_CHECK_URI = "https://github.com/ccache/ccache/releases/"
 
 inherit autotools
diff --git a/poky/meta/recipes-devtools/ccache/ccache_3.7.9.bb b/poky/meta/recipes-devtools/ccache/ccache_3.7.9.bb
deleted file mode 100644
index a4de6c9..0000000
--- a/poky/meta/recipes-devtools/ccache/ccache_3.7.9.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-require ccache.inc
-
-LICENSE = "GPLv3+"
-LIC_FILES_CHKSUM = "file://LICENSE.adoc;md5=22d514dbc01fdf9a9784334b6b59417a"
-
-SRC_URI[md5sum] = "a4a38afc62ed189904357739fd8f3fb8"
-SRC_URI[sha256sum] = "92838e2133c9e704fdab9ee2608dad86c99021278b9ac47d065aa8ff2ea8ce36"
diff --git a/poky/meta/recipes-devtools/dnf/dnf_4.2.21.bb b/poky/meta/recipes-devtools/dnf/dnf_4.2.23.bb
similarity index 98%
rename from poky/meta/recipes-devtools/dnf/dnf_4.2.21.bb
rename to poky/meta/recipes-devtools/dnf/dnf_4.2.23.bb
index 44dab1d..8cfd4d0 100644
--- a/poky/meta/recipes-devtools/dnf/dnf_4.2.21.bb
+++ b/poky/meta/recipes-devtools/dnf/dnf_4.2.23.bb
@@ -17,7 +17,7 @@
            file://0001-dnf-write-the-log-lock-to-root.patch \
            "
 
-SRCREV = "864c381baabf024c299dca75abfda96139b8f583"
+SRCREV = "126d861812f827285960592359615ed7cb195aac"
 UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)"
 
 S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-devtools/elfutils/elfutils_0.179.bb b/poky/meta/recipes-devtools/elfutils/elfutils_0.180.bb
similarity index 85%
rename from poky/meta/recipes-devtools/elfutils/elfutils_0.179.bb
rename to poky/meta/recipes-devtools/elfutils/elfutils_0.180.bb
index 1da95ec..9f8bfc2 100644
--- a/poky/meta/recipes-devtools/elfutils/elfutils_0.179.bb
+++ b/poky/meta/recipes-devtools/elfutils/elfutils_0.180.bb
@@ -15,33 +15,20 @@
            file://0006-Fix-build-on-aarch64-musl.patch \
            file://0001-libasm-may-link-with-libbz2-if-found.patch \
            file://0001-libelf-elf_end.c-check-data_list.data.d.d_buf-before.patch \
-           file://debian/hppa_backend.diff \
-           file://debian/arm_backend.diff \
-           file://debian/mips_backend.diff \
-           file://debian/mips_readelf_w.patch \
-           file://debian/kfreebsd_path.patch \
-           file://debian/0001-Ignore-differences-between-mips-machine-identifiers.patch \
-           file://debian/0002-Add-support-for-mips64-abis-in-mips_retval.c.patch \
-           file://debian/0003-Add-mips-n64-relocation-format-hack.patch \
-           file://debian/hurd_path.patch \
-           file://debian/ignore_strmerge.diff \
-           file://debian/disable_werror.patch \
-           file://debian/testsuite-ignore-elflint.diff \
-           file://debian/mips_cfi.patch \
-           file://debian/0001-fix-compile-failure-with-debian-patches.patch \
            file://0001-skip-the-test-when-gcc-not-deployed.patch \
            file://0001-ppc_initreg.c-Incliude-asm-ptrace.h-for-pt_regs-defi.patch \
            file://run-ptest \
            file://ptest.patch \
+           file://0001-tests-Makefile.am-compile-test_nlist-with-standard-C.patch \
            "
 SRC_URI_append_libc-musl = " \
            file://0001-musl-obstack-fts.patch \
            file://0002-musl-libs.patch \
            file://0003-musl-utils.patch \
            file://0004-Fix-error-on-musl.patch \
+           file://0015-config-eu.am-do-not-use-Werror.patch \
            "
-SRC_URI[md5sum] = "8ee56b371b5a7ea081284c44e5164600"
-SRC_URI[sha256sum] = "25a545566cbacaa37ae6222e58f1c48ea4570f53ba991886e2f5ce96e22a23a2"
+SRC_URI[sha256sum] = "b827b6e35c59d188ba97d7cf148fa8dc6f5c68eb6c5981888dfdbb758c0b569d"
 
 inherit autotools gettext ptest pkgconfig
 
diff --git a/poky/meta/recipes-devtools/elfutils/files/0001-musl-obstack-fts.patch b/poky/meta/recipes-devtools/elfutils/files/0001-musl-obstack-fts.patch
index f751a2e..2450b0d 100644
--- a/poky/meta/recipes-devtools/elfutils/files/0001-musl-obstack-fts.patch
+++ b/poky/meta/recipes-devtools/elfutils/files/0001-musl-obstack-fts.patch
@@ -1,7 +1,7 @@
-From 8ccf3d92b8766b53f203df7e01b489604ef851f3 Mon Sep 17 00:00:00 2001
+From 1ec7b2208803e0fbdcbe6c07b849e7dc4d9fa8a2 Mon Sep 17 00:00:00 2001
 From: Hongxu Jia <hongxu.jia@windriver.com>
 Date: Fri, 23 Aug 2019 10:17:25 +0800
-Subject: [PATCH 1/4] musl-obstack-fts
+Subject: [PATCH] musl-obstack-fts
 
 Look for libfts and libobstack during configure, these
 libraries are external to libc when using musl, whereas
@@ -20,10 +20,10 @@
  3 files changed, 58 insertions(+), 4 deletions(-)
 
 diff --git a/configure.ac b/configure.ac
-index cad7b2b..6d4229b 100644
+index e9649c2..03643c8 100644
 --- a/configure.ac
 +++ b/configure.ac
-@@ -529,6 +529,60 @@ else
+@@ -538,6 +538,60 @@ else
  fi
  AC_SUBST([argp_LDADD])
  
@@ -122,6 +122,3 @@
  unstrip_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(argp_LDADD)
  stack_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(argp_LDADD) $(demanglelib)
  elfcompress_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(argp_LDADD)
--- 
-2.17.1
-
diff --git a/poky/meta/recipes-devtools/elfutils/files/0001-tests-Makefile.am-compile-test_nlist-with-standard-C.patch b/poky/meta/recipes-devtools/elfutils/files/0001-tests-Makefile.am-compile-test_nlist-with-standard-C.patch
new file mode 100644
index 0000000..481b912
--- /dev/null
+++ b/poky/meta/recipes-devtools/elfutils/files/0001-tests-Makefile.am-compile-test_nlist-with-standard-C.patch
@@ -0,0 +1,27 @@
+From 1ca86294ee5454592c9ad855e13080509d8a92d3 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Tue, 23 Jun 2020 07:49:35 +0000
+Subject: [PATCH] tests/Makefile.am: compile test_nlist with standard CFLAGS
+
+Otherwise, it will contain build paths in it and wont
+be reproducible.
+
+Upstream-Status: Inappropriate [oe-core specific]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ tests/Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tests/Makefile.am b/tests/Makefile.am
+index 8048b69..d2b28a4 100644
+--- a/tests/Makefile.am
++++ b/tests/Makefile.am
+@@ -86,7 +86,7 @@ backtrace-child-biarch$(EXEEXT): backtrace-child.c
+ test-nlist$(EXEEXT): test-nlist.c
+ 	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ 	  $(AM_CPPFLAGS) $(CPPFLAGS) \
+-	  $(test_nlist_CFLAGS) $(test_nlist_LDADD) -o $@ $<
++	  $(CFLAGS) $(test_nlist_LDADD) -o $@ $<
+ 
+ TESTS = run-arextract.sh run-arsymtest.sh run-ar.sh newfile test-nlist \
+ 	update1 update2 update3 update4 \
diff --git a/poky/meta/recipes-devtools/elfutils/files/0002-musl-libs.patch b/poky/meta/recipes-devtools/elfutils/files/0002-musl-libs.patch
index cf14683..d5ec0ec 100644
--- a/poky/meta/recipes-devtools/elfutils/files/0002-musl-libs.patch
+++ b/poky/meta/recipes-devtools/elfutils/files/0002-musl-libs.patch
@@ -1,7 +1,7 @@
-From ea908c7009de5a208383abf4bec4c6b3d9519ca3 Mon Sep 17 00:00:00 2001
+From 9a57efb0f826a70ae360aa55504ee2de656b92b6 Mon Sep 17 00:00:00 2001
 From: Hongxu Jia <hongxu.jia@windriver.com>
 Date: Fri, 23 Aug 2019 10:18:47 +0800
-Subject: [PATCH 2/4] musl-libs
+Subject: [PATCH] musl-libs
 
 Collection of fixes needed to compile libelf and other libraries
 provided by elfutils for musl targets
@@ -104,7 +104,7 @@
        return elf_errmsg (error & 0xffff);
      case OTHER_ERROR (LIBDW):
 diff --git a/libdwfl/linux-kernel-modules.c b/libdwfl/linux-kernel-modules.c
-index d46ab5a..1c3faee 100644
+index 0434f1e..5afaee8 100644
 --- a/libdwfl/linux-kernel-modules.c
 +++ b/libdwfl/linux-kernel-modules.c
 @@ -50,6 +50,7 @@
@@ -116,7 +116,7 @@
  /* If fts.h is included before config.h, its indirect inclusions may not
     give us the right LFS aliases of these functions, so map them manually.  */
 diff --git a/libelf/elf.h b/libelf/elf.h
-index bed273d..be228e6 100644
+index 197b557..8e5b94c 100644
 --- a/libelf/elf.h
 +++ b/libelf/elf.h
 @@ -21,7 +21,9 @@
@@ -130,9 +130,9 @@
  
  /* Standard ELF types.  */
  
-@@ -4029,6 +4031,7 @@ enum
- #define R_NDS32_TLS_TPOFF	102
- #define R_NDS32_TLS_DESC	119
+@@ -4103,6 +4105,7 @@ enum
+ #define R_ARC_TLS_LE_S9		0x4a
+ #define R_ARC_TLS_LE_32		0x4b
  
 -__END_DECLS
 -
@@ -140,6 +140,3 @@
 +}
 +#endif
  #endif	/* elf.h */
--- 
-2.17.1
-
diff --git a/poky/meta/recipes-devtools/elfutils/files/0003-musl-utils.patch b/poky/meta/recipes-devtools/elfutils/files/0003-musl-utils.patch
index 79c9d9a..4f28d9d 100644
--- a/poky/meta/recipes-devtools/elfutils/files/0003-musl-utils.patch
+++ b/poky/meta/recipes-devtools/elfutils/files/0003-musl-utils.patch
@@ -1,7 +1,7 @@
-From 94028b16e56c8eef1aa02dcc4da268a0e471b4ea Mon Sep 17 00:00:00 2001
+From 6923400b777d4ba6f040c4006413bf997326460f Mon Sep 17 00:00:00 2001
 From: Hongxu Jia <hongxu.jia@windriver.com>
 Date: Fri, 23 Aug 2019 10:19:48 +0800
-Subject: [PATCH 3/4] musl-utils
+Subject: [PATCH] musl-utils
 
 Provide missing defines which otherwise are available on glibc system headers
 
@@ -161,6 +161,3 @@
  /* Name and version of program.  */
  ARGP_PROGRAM_VERSION_HOOK_DEF = print_version;
  
--- 
-2.17.1
-
diff --git a/poky/meta/recipes-devtools/elfutils/files/0004-Fix-error-on-musl.patch b/poky/meta/recipes-devtools/elfutils/files/0004-Fix-error-on-musl.patch
index 1b2f9ed..481e4b3 100644
--- a/poky/meta/recipes-devtools/elfutils/files/0004-Fix-error-on-musl.patch
+++ b/poky/meta/recipes-devtools/elfutils/files/0004-Fix-error-on-musl.patch
@@ -1,7 +1,7 @@
-From 7ff8cbecde7455b530fa7894a78d2326799f2556 Mon Sep 17 00:00:00 2001
+From 48b769ab692c8f02c1ae467229fe3404f662098a Mon Sep 17 00:00:00 2001
 From: Richard Purdie <richard.purdie@linuxfoundation.org>
 Date: Wed, 1 May 2019 22:15:03 +0100
-Subject: [PATCH 4/4] Fix error on musl:
+Subject: [PATCH] Fix error on musl:
 
 | ../../elfutils-0.176/tests/elfstrmerge.c: In function 'main':
 | ../../elfutils-0.176/tests/elfstrmerge.c:370:60: error: 'ALLPERMS' undeclared (first use in this function); did you mean 'EPERM'?
@@ -34,6 +34,3 @@
  /* The original ELF file.  */
  static int fd = -1;
  static Elf *elf = NULL;
--- 
-2.17.1
-
diff --git a/poky/meta/recipes-devtools/elfutils/files/0015-config-eu.am-do-not-use-Werror.patch b/poky/meta/recipes-devtools/elfutils/files/0015-config-eu.am-do-not-use-Werror.patch
new file mode 100644
index 0000000..c3ae357
--- /dev/null
+++ b/poky/meta/recipes-devtools/elfutils/files/0015-config-eu.am-do-not-use-Werror.patch
@@ -0,0 +1,36 @@
+From dce2187dd8f592316357b200ebbe8dbed9ee65cb Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Mon, 22 Jun 2020 21:35:16 +0000
+Subject: [PATCH] config/eu.am: do not use -Werror
+
+Due to re-definition of error() on musl, gcc starts throwing
+errors where none happen with glibc. Since upstream is not
+likely to be interested in musl builds, lets just disable
+Werror.
+
+Upstream-Status: Inappropriate [oe core specific]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ config/eu.am | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/config/eu.am b/config/eu.am
+index 6c3c444..3bc0dc9 100644
+--- a/config/eu.am
++++ b/config/eu.am
+@@ -73,7 +73,6 @@ AM_CFLAGS = -std=gnu99 -Wall -Wshadow -Wformat=2 \
+ 	    -Wold-style-definition -Wstrict-prototypes -Wtrampolines \
+ 	    $(LOGICAL_OP_WARNING) $(DUPLICATED_COND_WARNING) \
+ 	    $(NULL_DEREFERENCE_WARNING) $(IMPLICIT_FALLTHROUGH_WARNING) \
+-	    $(if $($(*F)_no_Werror),,-Werror) \
+ 	    $(if $($(*F)_no_Wunused),,-Wunused -Wextra) \
+ 	    $(if $($(*F)_no_Wstack_usage),,$(STACK_USAGE_WARNING)) \
+ 	    $(if $($(*F)_no_Wpacked_not_aligned),-Wno-packed-not-aligned,) \
+@@ -83,7 +82,6 @@ AM_CXXFLAGS = -std=c++11 -Wall -Wshadow \
+ 	   -Wtrampolines \
+ 	   $(LOGICAL_OP_WARNING) $(DUPLICATED_COND_WARNING) \
+ 	   $(NULL_DEREFERENCE_WARNING) $(IMPLICIT_FALLTHROUGH_WARNING) \
+-	   $(if $($(*F)_no_Werror),,-Werror) \
+ 	   $(if $($(*F)_no_Wunused),,-Wunused -Wextra) \
+ 	   $(if $($(*F)_no_Wstack_usage),,$(STACK_USAGE_WARNING)) \
+ 	   $(if $($(*F)_no_Wpacked_not_aligned),-Wno-packed-not-aligned,) \
diff --git a/poky/meta/recipes-devtools/elfutils/files/debian/0001-Ignore-differences-between-mips-machine-identifiers.patch b/poky/meta/recipes-devtools/elfutils/files/debian/0001-Ignore-differences-between-mips-machine-identifiers.patch
deleted file mode 100644
index a2983c5..0000000
--- a/poky/meta/recipes-devtools/elfutils/files/debian/0001-Ignore-differences-between-mips-machine-identifiers.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 77cb4a53c270d5854d3af24f19547bc3de825233 Mon Sep 17 00:00:00 2001
-From: James Cowgill <james410@cowgill.org.uk>
-Date: Mon, 5 Jan 2015 15:16:58 +0000
-Subject: [PATCH 1/3] Ignore differences between mips machine identifiers
-
-Little endian binaries actually use EM_MIPS so you can't tell the endianness
-from the elf machine id. Also, the EM_MIPS_RS3_LE machine is dead anyway (the
-kernel will not load binaries containing it).
-
-Signed-off-by: James Cowgill <james410@cowgill.org.uk>
-
-Upstream-Status: Pending [from debian]
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- backends/mips_init.c | 6 +-----
- 1 file changed, 1 insertion(+), 5 deletions(-)
-
-Index: b/backends/mips_init.c
-===================================================================
---- a/backends/mips_init.c
-+++ b/backends/mips_init.c
-@@ -45,11 +45,7 @@ mips_init (Elf *elf __attribute__ ((unus
-     return NULL;
- 
-   /* We handle it.  */
--  if (machine == EM_MIPS)
--    eh->name = "MIPS R3000 big-endian";
--  else if (machine == EM_MIPS_RS3_LE)
--    eh->name = "MIPS R3000 little-endian";
--
-+  eh->name = "MIPS";
-   mips_init_reloc (eh);
-   HOOK (eh, reloc_simple_type);
-   HOOK (eh, return_value_location);
diff --git a/poky/meta/recipes-devtools/elfutils/files/debian/0001-fix-compile-failure-with-debian-patches.patch b/poky/meta/recipes-devtools/elfutils/files/debian/0001-fix-compile-failure-with-debian-patches.patch
deleted file mode 100644
index 19a2015..0000000
--- a/poky/meta/recipes-devtools/elfutils/files/debian/0001-fix-compile-failure-with-debian-patches.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From 3f3e7b16934ec58ab47d2bdc9982f54a55b07534 Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Wed, 21 Aug 2019 16:25:33 +0800
-Subject: [PATCH] fix compile failure with debian patches
-
-While applying debian patches, there is a compile failure
-...
-elfutils-0.177/backends/mips_init.c:48:5: error: 'Ebl' {aka 'struct ebl'} has no member named 'name'
-...
-
-Since upstream applied commit [b323391 libdwelf: Add dwelf_elf_e_machine_string
-and use it in readelf], it remove 'name' from 'struct ebl'
-
-Upstream-Status: Pending
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- backends/mips_init.c   | 1 -
- backends/parisc_init.c | 1 -
- 2 files changed, 2 deletions(-)
-
-diff --git a/backends/mips_init.c b/backends/mips_init.c
-index bce5abe..e1c65c8 100644
---- a/backends/mips_init.c
-+++ b/backends/mips_init.c
-@@ -45,7 +45,6 @@ mips_init (Elf *elf __attribute__ ((unused)),
-     return NULL;
- 
-   /* We handle it.  */
--  eh->name = "MIPS";
-   mips_init_reloc (eh);
-   HOOK (eh, reloc_simple_type);
-   HOOK (eh, return_value_location);
-diff --git a/backends/parisc_init.c b/backends/parisc_init.c
-index f1e401c..97b4a8c 100644
---- a/backends/parisc_init.c
-+++ b/backends/parisc_init.c
-@@ -56,7 +56,6 @@ parisc_init (Elf *elf __attribute__ ((unused)),
-       pa64 = 1;
-   }
-   /* We handle it.  */
--  eh->name = "PA-RISC";
-   parisc_init_reloc (eh);
-   HOOK (eh, reloc_simple_type);
-   HOOK (eh, machine_flag_check);
--- 
-2.7.4
-
diff --git a/poky/meta/recipes-devtools/elfutils/files/debian/0002-Add-support-for-mips64-abis-in-mips_retval.c.patch b/poky/meta/recipes-devtools/elfutils/files/debian/0002-Add-support-for-mips64-abis-in-mips_retval.c.patch
deleted file mode 100644
index aee00cb..0000000
--- a/poky/meta/recipes-devtools/elfutils/files/debian/0002-Add-support-for-mips64-abis-in-mips_retval.c.patch
+++ /dev/null
@@ -1,171 +0,0 @@
-From fdaab18a65ed2529656baa64cb6169f34d7e507b Mon Sep 17 00:00:00 2001
-From: James Cowgill <james410@cowgill.org.uk>
-Date: Mon, 5 Jan 2015 15:17:01 +0000
-Subject: [PATCH 2/3] Add support for mips64 abis in mips_retval.c
-
-Signed-off-by: James Cowgill <james410@cowgill.org.uk>
-
-Upstream-Status: Pending [from debian]
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- backends/mips_retval.c | 104 ++++++++++++++++++++++++++++++++++++++++++++-----
- 1 file changed, 94 insertions(+), 10 deletions(-)
-
-diff --git a/backends/mips_retval.c b/backends/mips_retval.c
-index 33f12a7..d5c6ef0 100644
---- a/backends/mips_retval.c
-+++ b/backends/mips_retval.c
-@@ -91,6 +91,8 @@ enum mips_abi find_mips_abi(Elf *elf)
-     default:
-       if ((elf_flags & EF_MIPS_ABI2))
- 	return MIPS_ABI_N32;
-+      else if ((ehdr->e_ident[EI_CLASS] == ELFCLASS64))
-+	return MIPS_ABI_N64;
-     }
- 
-   /* GCC creates a pseudo-section whose name describes the ABI.  */
-@@ -195,6 +197,57 @@ static const Dwarf_Op loc_aggregate[] =
-   };
- #define nloc_aggregate 1
- 
-+/* Test if a struct member is a float */
-+static int is_float_child(Dwarf_Die *childdie)
-+{
-+  /* Test if this is actually a struct member */
-+  if (dwarf_tag(childdie) != DW_TAG_member)
-+    return 0;
-+
-+  /* Get type of member */
-+  Dwarf_Attribute attr_mem;
-+  Dwarf_Die child_type_mem;
-+  Dwarf_Die *child_typedie =
-+    dwarf_formref_die(dwarf_attr_integrate(childdie,
-+                                           DW_AT_type,
-+                                           &attr_mem), &child_type_mem);
-+
-+  if (dwarf_tag(child_typedie) != DW_TAG_base_type)
-+    return 0;
-+
-+  /* Get base subtype */
-+  Dwarf_Word encoding;
-+  if (dwarf_formudata (dwarf_attr_integrate (child_typedie,
-+                                             DW_AT_encoding,
-+                                             &attr_mem), &encoding) != 0)
-+    return 0;
-+
-+  return encoding == DW_ATE_float;
-+}
-+
-+/* Returns the number of fpregs which can be returned in the given struct */
-+static int get_struct_fpregs(Dwarf_Die *structtypedie)
-+{
-+  Dwarf_Die child_mem;
-+  int fpregs = 0;
-+
-+  /* Get first structure member */
-+  if (dwarf_child(structtypedie, &child_mem) != 0)
-+    return 0;
-+
-+  do
-+    {
-+      /* Ensure this register is a float */
-+      if (!is_float_child(&child_mem))
-+        return 0;
-+
-+      fpregs++;
-+    }
-+  while (dwarf_siblingof (&child_mem, &child_mem) == 0);
-+
-+  return fpregs;
-+}
-+
- int
- mips_return_value_location (Dwarf_Die *functypedie, const Dwarf_Op **locp)
- {
-@@ -240,6 +293,7 @@ mips_return_value_location (Dwarf_Die *functypedie, const Dwarf_Op **locp)
-       tag = dwarf_tag (typedie);
-     }
- 
-+  Dwarf_Word size;
-   switch (tag)
-     {
-     case -1:
-@@ -258,8 +312,6 @@ mips_return_value_location (Dwarf_Die *functypedie, const Dwarf_Op **locp)
-     case DW_TAG_enumeration_type:
-     case DW_TAG_pointer_type:
-     case DW_TAG_ptr_to_member_type:
--      {
--        Dwarf_Word size;
- 	if (dwarf_formudata (dwarf_attr_integrate (typedie, DW_AT_byte_size,
- 					 &attr_mem), &size) != 0)
- 	  {
-@@ -289,7 +341,7 @@ mips_return_value_location (Dwarf_Die *functypedie, const Dwarf_Op **locp)
- 		if (size <= 4*regsize && abi == MIPS_ABI_O32)
-                   return nloc_fpregquad;
- 
--		goto aggregate;
-+		goto large;
- 	      }
- 	  }
- 	*locp = ABI_LOC(loc_intreg, regsize);
-@@ -298,18 +350,50 @@ mips_return_value_location (Dwarf_Die *functypedie, const Dwarf_Op **locp)
- 	if (size <= 2*regsize)
- 	  return nloc_intregpair;
- 
--	/* Else fall through. Shouldn't happen though (at least with gcc) */
--      }
-+	/* Else pass in memory. Shouldn't happen though (at least with gcc) */
-+	goto large;
- 
-     case DW_TAG_structure_type:
-     case DW_TAG_class_type:
-     case DW_TAG_union_type:
--    case DW_TAG_array_type:
--    aggregate:
--      /* XXX TODO: Can't handle structure return with other ABI's yet :-/ */
--      if ((abi != MIPS_ABI_O32) && (abi != MIPS_ABI_O64))
--        return -2;
-+      /* Handle special cases for structures <= 128 bytes in newer ABIs */
-+      if (abi == MIPS_ABI_EABI32 || abi == MIPS_ABI_EABI64 ||
-+          abi == MIPS_ABI_N32 || abi == MIPS_ABI_N64)
-+        {
-+          if (dwarf_aggregate_size (typedie, &size) == 0 && size <= 16)
-+            {
-+              /*
-+               * Special case in N64 / N32 -
-+               * structures containing only floats are returned in fp regs.
-+               * Everything else is returned in integer regs.
-+               */
-+              if (tag != DW_TAG_union_type &&
-+                  (abi == MIPS_ABI_N32 || abi == MIPS_ABI_N64))
-+                {
-+                  int num_fpregs = get_struct_fpregs(typedie);
-+                  if (num_fpregs == 1 || num_fpregs == 2)
-+                    {
-+                      *locp = loc_fpreg;
-+                      if (num_fpregs == 1)
-+                        return nloc_fpreg;
-+                      else
-+                        return nloc_fpregpair;
-+                    }
-+                }
-+
-+              *locp = loc_intreg;
-+              if (size <= 8)
-+                return nloc_intreg;
-+              else
-+                return nloc_intregpair;
-+            }
-+        }
-+
-+      /* Fallthrough to handle large types */
- 
-+    case DW_TAG_array_type:
-+    large:
-+      /* Return large structures in memory */
-       *locp = loc_aggregate;
-       return nloc_aggregate;
-     }
--- 
-2.1.4
-
diff --git a/poky/meta/recipes-devtools/elfutils/files/debian/0003-Add-mips-n64-relocation-format-hack.patch b/poky/meta/recipes-devtools/elfutils/files/debian/0003-Add-mips-n64-relocation-format-hack.patch
deleted file mode 100644
index c949e96..0000000
--- a/poky/meta/recipes-devtools/elfutils/files/debian/0003-Add-mips-n64-relocation-format-hack.patch
+++ /dev/null
@@ -1,229 +0,0 @@
-From 59d4b8c48e5040af7e02b34eb26ea602ec82a38e Mon Sep 17 00:00:00 2001
-From: James Cowgill <james410@cowgill.org.uk>
-Date: Mon, 5 Jan 2015 15:17:02 +0000
-Subject: [PATCH 3/3] Add mips n64 relocation format hack
-
-MIPSEL N64 ELF files use a slightly different format for storing relocation
-entries which is incompatible with the normal R_SYM / R_INFO macros.
-To workaround this, we rearrange the bytes in the relocation's r_info field
-when reading and writing the relocations.
-
-This patch also ensures that strip.c sets the correct value of e_machine
-before manipulating relocations so that these changes take effect.
-
-Signed-off-by: James Cowgill <james410@cowgill.org.uk>
-
-Upstream-Status: Pending [from debian]
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- libelf/gelf_getrel.c      | 25 +++++++++++++++++++++++--
- libelf/gelf_getrela.c     | 25 +++++++++++++++++++++++--
- libelf/gelf_update_rel.c  | 20 +++++++++++++++++++-
- libelf/gelf_update_rela.c | 20 +++++++++++++++++++-
- src/strip.c               | 17 +++++++++++++++++
- 5 files changed, 101 insertions(+), 6 deletions(-)
-
-Index: elfutils-0.175/libelf/gelf_getrel.c
-===================================================================
---- elfutils-0.175.orig/libelf/gelf_getrel.c
-+++ elfutils-0.175/libelf/gelf_getrel.c
-@@ -36,6 +36,7 @@
- 
- #include "libelfP.h"
- 
-+#define EF_MIPS_ABI	0x0000F000
- 
- GElf_Rel *
- gelf_getrel (Elf_Data *data, int ndx, GElf_Rel *dst)
-@@ -89,8 +90,28 @@ gelf_getrel (Elf_Data *data, int ndx, GE
- 	  result = NULL;
- 	}
-       else
--	result = memcpy (dst, &((Elf64_Rel *) data_scn->d.d_buf)[ndx],
--			 sizeof (Elf64_Rel));
-+        {
-+          GElf_Ehdr hdr;
-+          result = memcpy (dst, &((Elf64_Rel *) data_scn->d.d_buf)[ndx],
-+                           sizeof (Elf64_Rel));
-+
-+          if (gelf_getehdr(scn->elf, &hdr) != NULL &&
-+              hdr.e_ident[EI_DATA] == ELFDATA2LSB &&
-+              hdr.e_machine == EM_MIPS &&
-+              (hdr.e_flags & EF_MIPS_ABI) == 0)
-+            {
-+              /*
-+               * The relocation format is mangled on MIPSEL N64
-+               *  We'll adjust it so at least R_SYM will work on it
-+               */
-+              GElf_Xword r_info = dst->r_info;
-+              dst->r_info = (r_info << 32) |
-+                            ((r_info >> 8) & 0xFF000000) |
-+                            ((r_info >> 24) & 0x00FF0000) |
-+                            ((r_info >> 40) & 0x0000FF00) |
-+                            ((r_info >> 56) & 0x000000FF);
-+            }
-+        }
-     }
- 
-   rwlock_unlock (scn->elf->lock);
-Index: elfutils-0.175/libelf/gelf_getrela.c
-===================================================================
---- elfutils-0.175.orig/libelf/gelf_getrela.c
-+++ elfutils-0.175/libelf/gelf_getrela.c
-@@ -36,6 +36,7 @@
- 
- #include "libelfP.h"
- 
-+#define EF_MIPS_ABI	0x0000F000
- 
- GElf_Rela *
- gelf_getrela (Elf_Data *data, int ndx, GElf_Rela *dst)
-@@ -90,8 +91,28 @@ gelf_getrela (Elf_Data *data, int ndx, G
- 	  result = NULL;
- 	}
-       else
--	result = memcpy (dst, &((Elf64_Rela *) data_scn->d.d_buf)[ndx],
--			 sizeof (Elf64_Rela));
-+        {
-+          GElf_Ehdr hdr;
-+          result = memcpy (dst, &((Elf64_Rela *) data_scn->d.d_buf)[ndx],
-+                           sizeof (Elf64_Rela));
-+
-+          if (gelf_getehdr(scn->elf, &hdr) != NULL &&
-+              hdr.e_ident[EI_DATA] == ELFDATA2LSB &&
-+              hdr.e_machine == EM_MIPS &&
-+              (hdr.e_flags & EF_MIPS_ABI) == 0)
-+            {
-+              /*
-+               * The relocation format is mangled on MIPSEL N64
-+               *  We'll adjust it so at least R_SYM will work on it
-+               */
-+              GElf_Xword r_info = dst->r_info;
-+              dst->r_info = (r_info << 32) |
-+                            ((r_info >> 8) & 0xFF000000) |
-+                            ((r_info >> 24) & 0x00FF0000) |
-+                            ((r_info >> 40) & 0x0000FF00) |
-+                            ((r_info >> 56) & 0x000000FF);
-+            }
-+        }
-     }
- 
-   rwlock_unlock (scn->elf->lock);
-Index: elfutils-0.175/libelf/gelf_update_rel.c
-===================================================================
---- elfutils-0.175.orig/libelf/gelf_update_rel.c
-+++ elfutils-0.175/libelf/gelf_update_rel.c
-@@ -36,6 +36,7 @@
- 
- #include "libelfP.h"
- 
-+#define EF_MIPS_ABI	0x0000F000
- 
- int
- gelf_update_rel (Elf_Data *dst, int ndx, GElf_Rel *src)
-@@ -86,6 +87,9 @@ gelf_update_rel (Elf_Data *dst, int ndx,
-     }
-   else
-     {
-+      GElf_Ehdr hdr;
-+      GElf_Rel value = *src;
-+
-       /* Check whether we have to resize the data buffer.  */
-       if (INVALID_NDX (ndx, Elf64_Rel, &data_scn->d))
- 	{
-@@ -93,7 +97,21 @@ gelf_update_rel (Elf_Data *dst, int ndx,
- 	  goto out;
- 	}
- 
--      ((Elf64_Rel *) data_scn->d.d_buf)[ndx] = *src;
-+      if (gelf_getehdr(scn->elf, &hdr) != NULL &&
-+          hdr.e_ident[EI_DATA] == ELFDATA2LSB &&
-+          hdr.e_machine == EM_MIPS &&
-+          (hdr.e_flags & EF_MIPS_ABI) == 0)
-+        {
-+          /* Undo the MIPSEL N64 hack from gelf_getrel */
-+          GElf_Xword r_info = value.r_info;
-+          value.r_info = (r_info >> 32) |
-+                         ((r_info << 8) &  0x000000FF00000000) |
-+                         ((r_info << 24) & 0x0000FF0000000000) |
-+                         ((r_info << 40) & 0x00FF000000000000) |
-+                         ((r_info << 56) & 0xFF00000000000000);
-+        }
-+
-+      ((Elf64_Rel *) data_scn->d.d_buf)[ndx] = value;
-     }
- 
-   result = 1;
-Index: elfutils-0.175/libelf/gelf_update_rela.c
-===================================================================
---- elfutils-0.175.orig/libelf/gelf_update_rela.c
-+++ elfutils-0.175/libelf/gelf_update_rela.c
-@@ -36,6 +36,7 @@
- 
- #include "libelfP.h"
- 
-+#define EF_MIPS_ABI	0x0000F000
- 
- int
- gelf_update_rela (Elf_Data *dst, int ndx, GElf_Rela *src)
-@@ -89,6 +90,9 @@ gelf_update_rela (Elf_Data *dst, int ndx
-     }
-   else
-     {
-+      GElf_Ehdr hdr;
-+      GElf_Rela value = *src;
-+
-       /* Check whether we have to resize the data buffer.  */
-       if (INVALID_NDX (ndx, Elf64_Rela, &data_scn->d))
- 	{
-@@ -96,7 +100,21 @@ gelf_update_rela (Elf_Data *dst, int ndx
- 	  goto out;
- 	}
- 
--      ((Elf64_Rela *) data_scn->d.d_buf)[ndx] = *src;
-+      if (gelf_getehdr(scn->elf, &hdr) != NULL &&
-+          hdr.e_ident[EI_DATA] == ELFDATA2LSB &&
-+          hdr.e_machine == EM_MIPS &&
-+          (hdr.e_flags & EF_MIPS_ABI) == 0)
-+        {
-+          /* Undo the MIPSEL N64 hack from gelf_getrel */
-+          GElf_Xword r_info = value.r_info;
-+          value.r_info = (r_info >> 32) |
-+                         ((r_info << 8) &  0x000000FF00000000) |
-+                         ((r_info << 24) & 0x0000FF0000000000) |
-+                         ((r_info << 40) & 0x00FF000000000000) |
-+                         ((r_info << 56) & 0xFF00000000000000);
-+        }
-+
-+      ((Elf64_Rela *) data_scn->d.d_buf)[ndx] = value;
-     }
- 
-   result = 1;
-Index: elfutils-0.175/src/strip.c
-===================================================================
---- elfutils-0.175.orig/src/strip.c
-+++ elfutils-0.175/src/strip.c
-@@ -1062,6 +1062,23 @@ handle_elf (int fd, Elf *elf, const char
-       goto fail;
-     }
- 
-+  /* Copy identity part of the ELF header now */
-+  newehdr = gelf_getehdr (newelf, &newehdr_mem);
-+  if (newehdr == NULL)
-+    INTERNAL_ERROR (fname);
-+
-+  memcpy (newehdr->e_ident, ehdr->e_ident, EI_NIDENT);
-+  newehdr->e_type = ehdr->e_type;
-+  newehdr->e_machine = ehdr->e_machine;
-+  newehdr->e_version = ehdr->e_version;
-+
-+  if (gelf_update_ehdr (newelf, newehdr) == 0)
-+    {
-+      error (0, 0, gettext ("%s: error while creating ELF header: %s"),
-+	     fname, elf_errmsg (-1));
-+      return 1;
-+    }
-+
-   /* Copy over the old program header if needed.  */
-   if (phnum > 0)
-     {
diff --git a/poky/meta/recipes-devtools/elfutils/files/debian/arm_backend.diff b/poky/meta/recipes-devtools/elfutils/files/debian/arm_backend.diff
deleted file mode 100644
index ba0ce33..0000000
--- a/poky/meta/recipes-devtools/elfutils/files/debian/arm_backend.diff
+++ /dev/null
@@ -1,624 +0,0 @@
-From 4e6fededb3d8c90694c44214c862ac216a69ecae Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Wed, 21 Aug 2019 16:50:33 +0800
-Subject: [PATCH] arm_backend
-
-Upstream-Status: Pending [from debian]
-Rebase to 0.177
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- backends/arm_init.c                 |  18 ++++-
- backends/arm_regs.c                 | 132 ++++++++++++++++++++++++++++++++++++
- backends/arm_retval.c               |  43 +++++++++++-
- backends/libebl_arm.h               |   9 +++
- libelf/elf.h                        |  11 +++
- tests/run-addrcfi.sh                |  93 ++++++++++++++++++++++++-
- tests/run-allregs.sh                |  95 +++++++++++++++++++++++++-
- tests/run-readelf-mixed-corenote.sh |  11 ++-
- 8 files changed, 400 insertions(+), 12 deletions(-)
- create mode 100644 backends/libebl_arm.h
-
-diff --git a/backends/arm_init.c b/backends/arm_init.c
-index af023f0..ea2bcb7 100644
---- a/backends/arm_init.c
-+++ b/backends/arm_init.c
-@@ -35,20 +35,31 @@
- #define RELOC_PREFIX	R_ARM_
- #include "libebl_CPU.h"
- 
-+#include "libebl_arm.h"
-+
- /* This defines the common reloc hooks based on arm_reloc.def.  */
- #include "common-reloc.c"
- 
- 
- const char *
--arm_init (Elf *elf __attribute__ ((unused)),
-+arm_init (Elf *elf,
- 	  GElf_Half machine __attribute__ ((unused)),
- 	  Ebl *eh,
- 	  size_t ehlen)
- {
-+  int soft_float = 0;
-+
-   /* Check whether the Elf_BH object has a sufficent size.  */
-   if (ehlen < sizeof (Ebl))
-     return NULL;
- 
-+  if (elf) {
-+    GElf_Ehdr ehdr_mem;
-+    GElf_Ehdr *ehdr = gelf_getehdr (elf, &ehdr_mem);
-+    if (ehdr && (ehdr->e_flags & EF_ARM_SOFT_FLOAT))
-+      soft_float = 1;
-+  }
-+
-   /* We handle it.  */
-   arm_init_reloc (eh);
-   HOOK (eh, segment_type_name);
-@@ -59,7 +70,10 @@ arm_init (Elf *elf __attribute__ ((unused)),
-   HOOK (eh, core_note);
-   HOOK (eh, auxv_info);
-   HOOK (eh, check_object_attribute);
--  HOOK (eh, return_value_location);
-+  if (soft_float)
-+    eh->return_value_location = arm_return_value_location_soft;
-+  else
-+    eh->return_value_location = arm_return_value_location_hard;
-   HOOK (eh, abi_cfi);
-   HOOK (eh, check_reloc_target_type);
-   HOOK (eh, symbol_type_name);
-diff --git a/backends/arm_regs.c b/backends/arm_regs.c
-index a46a4c9..418c931 100644
---- a/backends/arm_regs.c
-+++ b/backends/arm_regs.c
-@@ -31,6 +31,7 @@
- #endif
- 
- #include <string.h>
-+#include <stdio.h>
- #include <dwarf.h>
- 
- #define BACKEND arm_
-@@ -76,6 +77,9 @@ arm_register_info (Ebl *ebl __attribute__ ((unused)),
-       break;
- 
-     case 16 + 0 ... 16 + 7:
-+      /* AADWARF says that there are no registers in that range,
-+       * but gcc maps FPA registers here
-+       */
-       regno += 96 - 16;
-       FALLTHROUGH;
-     case 96 + 0 ... 96 + 7:
-@@ -87,11 +91,139 @@ arm_register_info (Ebl *ebl __attribute__ ((unused)),
-       namelen = 2;
-       break;
- 
-+    case 64 + 0 ... 64 + 9:
-+      *setname = "VFP";
-+      *bits = 32;
-+      *type = DW_ATE_float;
-+      name[0] = 's';
-+      name[1] = regno - 64 + '0';
-+      namelen = 2;
-+      break;
-+
-+    case 64 + 10 ... 64 + 31:
-+      *setname = "VFP";
-+      *bits = 32;
-+      *type = DW_ATE_float;
-+      name[0] = 's';
-+      name[1] = (regno - 64) / 10 + '0';
-+      name[2] = (regno - 64) % 10 + '0';
-+      namelen = 3;
-+      break;
-+
-+    case 104 + 0 ... 104 + 7:
-+      /* XXX TODO:
-+       * This can be either intel wireless MMX general purpose/control
-+       * registers or xscale accumulator, which have different usage.
-+       * We only have the intel wireless MMX here now.
-+       * The name needs to be changed for the xscale accumulator too. */
-+      *setname = "MMX";
-+      *type = DW_ATE_unsigned;
-+      *bits = 32;
-+      memcpy(name, "wcgr", 4);
-+      name[4] = regno - 104 + '0';
-+      namelen = 5;
-+      break;
-+
-+    case 112 + 0 ... 112 + 9:
-+      *setname = "MMX";
-+      *type = DW_ATE_unsigned;
-+      *bits = 64;
-+      name[0] = 'w';
-+      name[1] = 'r';
-+      name[2] = regno - 112 + '0';
-+      namelen = 3;
-+      break;
-+
-+    case 112 + 10 ... 112 + 15:
-+      *setname = "MMX";
-+      *type = DW_ATE_unsigned;
-+      *bits = 64;
-+      name[0] = 'w';
-+      name[1] = 'r';
-+      name[2] = '1';
-+      name[3] = regno - 112 - 10 + '0';
-+      namelen = 4;
-+      break;
-+
-     case 128:
-+      *setname = "state";
-       *type = DW_ATE_unsigned;
-       return stpcpy (name, "spsr") + 1 - name;
- 
-+    case 129:
-+      *setname = "state";
-+      *type = DW_ATE_unsigned;
-+      return stpcpy(name, "spsr_fiq") + 1 - name;
-+
-+    case 130:
-+      *setname = "state";
-+      *type = DW_ATE_unsigned;
-+      return stpcpy(name, "spsr_irq") + 1 - name;
-+
-+    case 131:
-+      *setname = "state";
-+      *type = DW_ATE_unsigned;
-+      return stpcpy(name, "spsr_abt") + 1 - name;
-+
-+    case 132:
-+      *setname = "state";
-+      *type = DW_ATE_unsigned;
-+      return stpcpy(name, "spsr_und") + 1 - name;
-+
-+    case 133:
-+      *setname = "state";
-+      *type = DW_ATE_unsigned;
-+      return stpcpy(name, "spsr_svc") + 1 - name;
-+
-+    case 144 ... 150:
-+      *setname = "integer";
-+      *type = DW_ATE_signed;
-+      *bits = 32;
-+      return sprintf(name, "r%d_usr", regno - 144 + 8) + 1;
-+
-+    case 151 ... 157:
-+      *setname = "integer";
-+      *type = DW_ATE_signed;
-+      *bits = 32;
-+      return sprintf(name, "r%d_fiq", regno - 151 + 8) + 1;
-+
-+    case 158 ... 159:
-+      *setname = "integer";
-+      *type = DW_ATE_signed;
-+      *bits = 32;
-+      return sprintf(name, "r%d_irq", regno - 158 + 13) + 1;
-+
-+    case 160 ... 161:
-+      *setname = "integer";
-+      *type = DW_ATE_signed;
-+      *bits = 32;
-+      return sprintf(name, "r%d_abt", regno - 160 + 13) + 1;
-+
-+    case 162 ... 163:
-+      *setname = "integer";
-+      *type = DW_ATE_signed;
-+      *bits = 32;
-+      return sprintf(name, "r%d_und", regno - 162 + 13) + 1;
-+
-+    case 164 ... 165:
-+      *setname = "integer";
-+      *type = DW_ATE_signed;
-+      *bits = 32;
-+      return sprintf(name, "r%d_svc", regno - 164 + 13) + 1;
-+
-+    case 192 ... 199:
-+     *setname = "MMX";
-+      *bits = 32;
-+      *type = DW_ATE_unsigned;
-+      name[0] = 'w';
-+      name[1] = 'c';
-+      name[2] = regno - 192 + '0';
-+      namelen = 3;
-+      break;
-+
-     case 256 + 0 ... 256 + 9:
-+      /* XXX TODO: Neon also uses those registers and can contain
-+       * both float and integers */
-       *setname = "VFP";
-       *type = DW_ATE_float;
-       *bits = 64;
-diff --git a/backends/arm_retval.c b/backends/arm_retval.c
-index 1c28f01..313e4eb 100644
---- a/backends/arm_retval.c
-+++ b/backends/arm_retval.c
-@@ -48,6 +48,13 @@ static const Dwarf_Op loc_intreg[] =
- #define nloc_intreg	1
- #define nloc_intregs(n)	(2 * (n))
- 
-+/* f1  */ /* XXX TODO: f0 can also have number 96 if program was compiled with -mabi=aapcs */
-+static const Dwarf_Op loc_fpreg[] =
-+  {
-+    { .atom = DW_OP_reg16 },
-+  };
-+#define nloc_fpreg  1
-+
- /* The return value is a structure and is actually stored in stack space
-    passed in a hidden argument by the caller.  But, the compiler
-    helpfully returns the address of that space in r0.  */
-@@ -58,8 +65,9 @@ static const Dwarf_Op loc_aggregate[] =
- #define nloc_aggregate 1
- 
- 
--int
--arm_return_value_location (Dwarf_Die *functypedie, const Dwarf_Op **locp)
-+static int
-+arm_return_value_location_ (Dwarf_Die *functypedie, const Dwarf_Op **locp,
-+		            int soft_float)
- {
-   /* Start with the function's type, and get the DW_AT_type attribute,
-      which is the type of the return value.  */
-@@ -98,6 +106,21 @@ arm_return_value_location (Dwarf_Die *functypedie, const Dwarf_Op **locp)
- 	    else
- 	      return -1;
- 	  }
-+	if (tag == DW_TAG_base_type)
-+	  {
-+	    Dwarf_Word encoding;
-+	    if (dwarf_formudata (dwarf_attr_integrate (typedie, DW_AT_encoding,
-+				 &attr_mem), &encoding) != 0)
-+	      return -1;
-+
-+	    if ((encoding == DW_ATE_float) && !soft_float)
-+	      {
-+		*locp = loc_fpreg;
-+		if (size <= 8)
-+		  return nloc_fpreg;
-+		goto aggregate;
-+	      }
-+	  }
- 	if (size <= 16)
- 	  {
- 	  intreg:
-@@ -106,6 +129,7 @@ arm_return_value_location (Dwarf_Die *functypedie, const Dwarf_Op **locp)
- 	  }
- 
-       aggregate:
-+	/* XXX TODO sometimes aggregates are returned in r0 (-mabi=aapcs) */
- 	*locp = loc_aggregate;
- 	return nloc_aggregate;
-       }
-@@ -125,3 +149,18 @@ arm_return_value_location (Dwarf_Die *functypedie, const Dwarf_Op **locp)
-      DWARF and might be valid.  */
-   return -2;
- }
-+
-+/* return location for -mabi=apcs-gnu -msoft-float */
-+int
-+arm_return_value_location_soft (Dwarf_Die *functypedie, const Dwarf_Op **locp)
-+{
-+   return arm_return_value_location_ (functypedie, locp, 1);
-+}
-+
-+/* return location for -mabi=apcs-gnu -mhard-float (current default) */
-+int
-+arm_return_value_location_hard (Dwarf_Die *functypedie, const Dwarf_Op **locp)
-+{
-+   return arm_return_value_location_ (functypedie, locp, 0);
-+}
-+
-diff --git a/backends/libebl_arm.h b/backends/libebl_arm.h
-new file mode 100644
-index 0000000..c00770c
---- /dev/null
-+++ b/backends/libebl_arm.h
-@@ -0,0 +1,9 @@
-+#ifndef _LIBEBL_ARM_H
-+#define _LIBEBL_ARM_H 1
-+
-+#include <libdw.h>
-+
-+extern int arm_return_value_location_soft(Dwarf_Die *, const Dwarf_Op **locp);
-+extern int arm_return_value_location_hard(Dwarf_Die *, const Dwarf_Op **locp);
-+
-+#endif
-diff --git a/libelf/elf.h b/libelf/elf.h
-index 01648bd..05b7e7e 100644
---- a/libelf/elf.h
-+++ b/libelf/elf.h
-@@ -2690,6 +2690,9 @@ enum
- #define EF_ARM_EABI_VER4	0x04000000
- #define EF_ARM_EABI_VER5	0x05000000
- 
-+/* EI_OSABI values */
-+#define ELFOSABI_ARM_AEABI    64      /* Contains symbol versioning. */
-+
- /* Additional symbol types for Thumb.  */
- #define STT_ARM_TFUNC		STT_LOPROC /* A Thumb function.  */
- #define STT_ARM_16BIT		STT_HIPROC /* A Thumb label.  */
-@@ -2707,12 +2710,19 @@ enum
- 
- /* Processor specific values for the Phdr p_type field.  */
- #define PT_ARM_EXIDX		(PT_LOPROC + 1)	/* ARM unwind segment.  */
-+#define PT_ARM_UNWIND		PT_ARM_EXIDX
- 
- /* Processor specific values for the Shdr sh_type field.  */
- #define SHT_ARM_EXIDX		(SHT_LOPROC + 1) /* ARM unwind section.  */
- #define SHT_ARM_PREEMPTMAP	(SHT_LOPROC + 2) /* Preemption details.  */
- #define SHT_ARM_ATTRIBUTES	(SHT_LOPROC + 3) /* ARM attributes section.  */
- 
-+/* Processor specific values for the Dyn d_tag field.  */
-+#define DT_ARM_RESERVED1	(DT_LOPROC + 0)
-+#define DT_ARM_SYMTABSZ		(DT_LOPROC + 1)
-+#define DT_ARM_PREEMTMAB	(DT_LOPROC + 2)
-+#define DT_ARM_RESERVED2	(DT_LOPROC + 3)
-+#define DT_ARM_NUM		4
- 
- /* AArch64 relocs.  */
- 
-@@ -3005,6 +3015,7 @@ enum
- 					   TLS block (LDR, STR).  */
- #define R_ARM_TLS_IE12GP	111	/* 12 bit GOT entry relative
- 					   to GOT origin (LDR).  */
-+/* 112 - 127 private range */
- #define R_ARM_ME_TOO		128	/* Obsolete.  */
- #define R_ARM_THM_TLS_DESCSEQ	129
- #define R_ARM_THM_TLS_DESCSEQ16	129
-diff --git a/tests/run-addrcfi.sh b/tests/run-addrcfi.sh
-index 64fa24d..1c2aa4d 100755
---- a/tests/run-addrcfi.sh
-+++ b/tests/run-addrcfi.sh
-@@ -3554,6 +3554,38 @@ dwarf_cfi_addrframe (.eh_frame): no matching address range
- 	FPA reg21 (f5): undefined
- 	FPA reg22 (f6): undefined
- 	FPA reg23 (f7): undefined
-+	VFP reg64 (s0): undefined
-+	VFP reg65 (s1): undefined
-+	VFP reg66 (s2): undefined
-+	VFP reg67 (s3): undefined
-+	VFP reg68 (s4): undefined
-+	VFP reg69 (s5): undefined
-+	VFP reg70 (s6): undefined
-+	VFP reg71 (s7): undefined
-+	VFP reg72 (s8): undefined
-+	VFP reg73 (s9): undefined
-+	VFP reg74 (s10): undefined
-+	VFP reg75 (s11): undefined
-+	VFP reg76 (s12): undefined
-+	VFP reg77 (s13): undefined
-+	VFP reg78 (s14): undefined
-+	VFP reg79 (s15): undefined
-+	VFP reg80 (s16): undefined
-+	VFP reg81 (s17): undefined
-+	VFP reg82 (s18): undefined
-+	VFP reg83 (s19): undefined
-+	VFP reg84 (s20): undefined
-+	VFP reg85 (s21): undefined
-+	VFP reg86 (s22): undefined
-+	VFP reg87 (s23): undefined
-+	VFP reg88 (s24): undefined
-+	VFP reg89 (s25): undefined
-+	VFP reg90 (s26): undefined
-+	VFP reg91 (s27): undefined
-+	VFP reg92 (s28): undefined
-+	VFP reg93 (s29): undefined
-+	VFP reg94 (s30): undefined
-+	VFP reg95 (s31): undefined
- 	FPA reg96 (f0): undefined
- 	FPA reg97 (f1): undefined
- 	FPA reg98 (f2): undefined
-@@ -3562,7 +3594,66 @@ dwarf_cfi_addrframe (.eh_frame): no matching address range
- 	FPA reg101 (f5): undefined
- 	FPA reg102 (f6): undefined
- 	FPA reg103 (f7): undefined
--	integer reg128 (spsr): undefined
-+	MMX reg104 (wcgr0): undefined
-+	MMX reg105 (wcgr1): undefined
-+	MMX reg106 (wcgr2): undefined
-+	MMX reg107 (wcgr3): undefined
-+	MMX reg108 (wcgr4): undefined
-+	MMX reg109 (wcgr5): undefined
-+	MMX reg110 (wcgr6): undefined
-+	MMX reg111 (wcgr7): undefined
-+	MMX reg112 (wr0): undefined
-+	MMX reg113 (wr1): undefined
-+	MMX reg114 (wr2): undefined
-+	MMX reg115 (wr3): undefined
-+	MMX reg116 (wr4): undefined
-+	MMX reg117 (wr5): undefined
-+	MMX reg118 (wr6): undefined
-+	MMX reg119 (wr7): undefined
-+	MMX reg120 (wr8): undefined
-+	MMX reg121 (wr9): undefined
-+	MMX reg122 (wr10): undefined
-+	MMX reg123 (wr11): undefined
-+	MMX reg124 (wr12): undefined
-+	MMX reg125 (wr13): undefined
-+	MMX reg126 (wr14): undefined
-+	MMX reg127 (wr15): undefined
-+	state reg128 (spsr): undefined
-+	state reg129 (spsr_fiq): undefined
-+	state reg130 (spsr_irq): undefined
-+	state reg131 (spsr_abt): undefined
-+	state reg132 (spsr_und): undefined
-+	state reg133 (spsr_svc): undefined
-+	integer reg144 (r8_usr): undefined
-+	integer reg145 (r9_usr): undefined
-+	integer reg146 (r10_usr): undefined
-+	integer reg147 (r11_usr): undefined
-+	integer reg148 (r12_usr): undefined
-+	integer reg149 (r13_usr): undefined
-+	integer reg150 (r14_usr): undefined
-+	integer reg151 (r8_fiq): undefined
-+	integer reg152 (r9_fiq): undefined
-+	integer reg153 (r10_fiq): undefined
-+	integer reg154 (r11_fiq): undefined
-+	integer reg155 (r12_fiq): undefined
-+	integer reg156 (r13_fiq): undefined
-+	integer reg157 (r14_fiq): undefined
-+	integer reg158 (r13_irq): undefined
-+	integer reg159 (r14_irq): undefined
-+	integer reg160 (r13_abt): undefined
-+	integer reg161 (r14_abt): undefined
-+	integer reg162 (r13_und): undefined
-+	integer reg163 (r14_und): undefined
-+	integer reg164 (r13_svc): undefined
-+	integer reg165 (r14_svc): undefined
-+	MMX reg192 (wc0): undefined
-+	MMX reg193 (wc1): undefined
-+	MMX reg194 (wc2): undefined
-+	MMX reg195 (wc3): undefined
-+	MMX reg196 (wc4): undefined
-+	MMX reg197 (wc5): undefined
-+	MMX reg198 (wc6): undefined
-+	MMX reg199 (wc7): undefined
- 	VFP reg256 (d0): undefined
- 	VFP reg257 (d1): undefined
- 	VFP reg258 (d2): undefined
-diff --git a/tests/run-allregs.sh b/tests/run-allregs.sh
-index 1422bd6..dc0fc99 100755
---- a/tests/run-allregs.sh
-+++ b/tests/run-allregs.sh
-@@ -2672,7 +2672,28 @@ integer registers:
- 	 13: sp (sp), address 32 bits
- 	 14: lr (lr), address 32 bits
- 	 15: pc (pc), address 32 bits
--	128: spsr (spsr), unsigned 32 bits
-+	144: r8_usr (r8_usr), signed 32 bits
-+	145: r9_usr (r9_usr), signed 32 bits
-+	146: r10_usr (r10_usr), signed 32 bits
-+	147: r11_usr (r11_usr), signed 32 bits
-+	148: r12_usr (r12_usr), signed 32 bits
-+	149: r13_usr (r13_usr), signed 32 bits
-+	150: r14_usr (r14_usr), signed 32 bits
-+	151: r8_fiq (r8_fiq), signed 32 bits
-+	152: r9_fiq (r9_fiq), signed 32 bits
-+	153: r10_fiq (r10_fiq), signed 32 bits
-+	154: r11_fiq (r11_fiq), signed 32 bits
-+	155: r12_fiq (r12_fiq), signed 32 bits
-+	156: r13_fiq (r13_fiq), signed 32 bits
-+	157: r14_fiq (r14_fiq), signed 32 bits
-+	158: r13_irq (r13_irq), signed 32 bits
-+	159: r14_irq (r14_irq), signed 32 bits
-+	160: r13_abt (r13_abt), signed 32 bits
-+	161: r14_abt (r14_abt), signed 32 bits
-+	162: r13_und (r13_und), signed 32 bits
-+	163: r14_und (r14_und), signed 32 bits
-+	164: r13_svc (r13_svc), signed 32 bits
-+	165: r14_svc (r14_svc), signed 32 bits
- FPA registers:
- 	 16: f0 (f0), float 96 bits
- 	 17: f1 (f1), float 96 bits
-@@ -2690,7 +2711,72 @@ FPA registers:
- 	101: f5 (f5), float 96 bits
- 	102: f6 (f6), float 96 bits
- 	103: f7 (f7), float 96 bits
-+MMX registers:
-+	104: wcgr0 (wcgr0), unsigned 32 bits
-+	105: wcgr1 (wcgr1), unsigned 32 bits
-+	106: wcgr2 (wcgr2), unsigned 32 bits
-+	107: wcgr3 (wcgr3), unsigned 32 bits
-+	108: wcgr4 (wcgr4), unsigned 32 bits
-+	109: wcgr5 (wcgr5), unsigned 32 bits
-+	110: wcgr6 (wcgr6), unsigned 32 bits
-+	111: wcgr7 (wcgr7), unsigned 32 bits
-+	112: wr0 (wr0), unsigned 64 bits
-+	113: wr1 (wr1), unsigned 64 bits
-+	114: wr2 (wr2), unsigned 64 bits
-+	115: wr3 (wr3), unsigned 64 bits
-+	116: wr4 (wr4), unsigned 64 bits
-+	117: wr5 (wr5), unsigned 64 bits
-+	118: wr6 (wr6), unsigned 64 bits
-+	119: wr7 (wr7), unsigned 64 bits
-+	120: wr8 (wr8), unsigned 64 bits
-+	121: wr9 (wr9), unsigned 64 bits
-+	122: wr10 (wr10), unsigned 64 bits
-+	123: wr11 (wr11), unsigned 64 bits
-+	124: wr12 (wr12), unsigned 64 bits
-+	125: wr13 (wr13), unsigned 64 bits
-+	126: wr14 (wr14), unsigned 64 bits
-+	127: wr15 (wr15), unsigned 64 bits
-+	192: wc0 (wc0), unsigned 32 bits
-+	193: wc1 (wc1), unsigned 32 bits
-+	194: wc2 (wc2), unsigned 32 bits
-+	195: wc3 (wc3), unsigned 32 bits
-+	196: wc4 (wc4), unsigned 32 bits
-+	197: wc5 (wc5), unsigned 32 bits
-+	198: wc6 (wc6), unsigned 32 bits
-+	199: wc7 (wc7), unsigned 32 bits
- VFP registers:
-+	 64: s0 (s0), float 32 bits
-+	 65: s1 (s1), float 32 bits
-+	 66: s2 (s2), float 32 bits
-+	 67: s3 (s3), float 32 bits
-+	 68: s4 (s4), float 32 bits
-+	 69: s5 (s5), float 32 bits
-+	 70: s6 (s6), float 32 bits
-+	 71: s7 (s7), float 32 bits
-+	 72: s8 (s8), float 32 bits
-+	 73: s9 (s9), float 32 bits
-+	 74: s10 (s10), float 32 bits
-+	 75: s11 (s11), float 32 bits
-+	 76: s12 (s12), float 32 bits
-+	 77: s13 (s13), float 32 bits
-+	 78: s14 (s14), float 32 bits
-+	 79: s15 (s15), float 32 bits
-+	 80: s16 (s16), float 32 bits
-+	 81: s17 (s17), float 32 bits
-+	 82: s18 (s18), float 32 bits
-+	 83: s19 (s19), float 32 bits
-+	 84: s20 (s20), float 32 bits
-+	 85: s21 (s21), float 32 bits
-+	 86: s22 (s22), float 32 bits
-+	 87: s23 (s23), float 32 bits
-+	 88: s24 (s24), float 32 bits
-+	 89: s25 (s25), float 32 bits
-+	 90: s26 (s26), float 32 bits
-+	 91: s27 (s27), float 32 bits
-+	 92: s28 (s28), float 32 bits
-+	 93: s29 (s29), float 32 bits
-+	 94: s30 (s30), float 32 bits
-+	 95: s31 (s31), float 32 bits
- 	256: d0 (d0), float 64 bits
- 	257: d1 (d1), float 64 bits
- 	258: d2 (d2), float 64 bits
-@@ -2723,6 +2809,13 @@ VFP registers:
- 	285: d29 (d29), float 64 bits
- 	286: d30 (d30), float 64 bits
- 	287: d31 (d31), float 64 bits
-+state registers:
-+	128: spsr (spsr), unsigned 32 bits
-+	129: spsr_fiq (spsr_fiq), unsigned 32 bits
-+	130: spsr_irq (spsr_irq), unsigned 32 bits
-+	131: spsr_abt (spsr_abt), unsigned 32 bits
-+	132: spsr_und (spsr_und), unsigned 32 bits
-+	133: spsr_svc (spsr_svc), unsigned 32 bits
- EOF
- 
- # See run-readelf-mixed-corenote.sh for instructions to regenerate
-diff --git a/tests/run-readelf-mixed-corenote.sh b/tests/run-readelf-mixed-corenote.sh
-index c960f1d..e4bf074 100755
---- a/tests/run-readelf-mixed-corenote.sh
-+++ b/tests/run-readelf-mixed-corenote.sh
-@@ -31,12 +31,11 @@ Note segment of 892 bytes at offset 0x274:
-     pid: 11087, ppid: 11063, pgrp: 11087, sid: 11063
-     utime: 0.000000, stime: 0.010000, cutime: 0.000000, cstime: 0.000000
-     orig_r0: -1, fpvalid: 1
--    r0:             1  r1:   -1091672508  r2:   -1091672500
--    r3:             0  r4:             0  r5:             0
--    r6:         33728  r7:             0  r8:             0
--    r9:             0  r10:  -1225703496  r11:  -1091672844
--    r12:            0  sp:    0xbeee64f4  lr:    0xb6dc3f48
--    pc:    0x00008500  spsr:  0x60000010
-+    r0:            1  r1:  -1091672508  r2:  -1091672500  r3:            0
-+    r4:            0  r5:            0  r6:        33728  r7:            0
-+    r8:            0  r9:            0  r10: -1225703496  r11: -1091672844
-+    r12:           0  sp:   0xbeee64f4  lr:   0xb6dc3f48  pc:   0x00008500
-+    spsr:  0x60000010
-   CORE                 124  PRPSINFO
-     state: 0, sname: R, zomb: 0, nice: 0, flag: 0x00400500
-     uid: 0, gid: 0, pid: 11087, ppid: 11063, pgrp: 11087, sid: 11063
--- 
-2.7.4
-
diff --git a/poky/meta/recipes-devtools/elfutils/files/debian/disable_werror.patch b/poky/meta/recipes-devtools/elfutils/files/debian/disable_werror.patch
deleted file mode 100644
index bd98dae..0000000
--- a/poky/meta/recipes-devtools/elfutils/files/debian/disable_werror.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-From: Helmut Grohne <helmut@subdivi.de>
-Subject: disable -Werror as it tends to break with new gcc versions
-Bug-Debian: https://bugs.debian.org/886004
-Last-Update: 2018-01-01
-
-Upstream-Status: Pending [from debian]
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
-
-Index: elfutils-0.176/config/eu.am
-===================================================================
---- elfutils-0.176.orig/config/eu.am
-+++ elfutils-0.176/config/eu.am
-@@ -73,7 +73,6 @@ AM_CFLAGS = -std=gnu99 -Wall -Wshadow -W
- 	    -Wold-style-definition -Wstrict-prototypes -Wtrampolines \
- 	    $(LOGICAL_OP_WARNING) $(DUPLICATED_COND_WARNING) \
- 	    $(NULL_DEREFERENCE_WARNING) $(IMPLICIT_FALLTHROUGH_WARNING) \
--	    $(if $($(*F)_no_Werror),,-Werror) \
- 	    $(if $($(*F)_no_Wunused),,-Wunused -Wextra) \
- 	    $(if $($(*F)_no_Wstack_usage),,$(STACK_USAGE_WARNING)) \
- 	    $(if $($(*F)_no_Wpacked_not_aligned),-Wno-packed-not-aligned,) \
diff --git a/poky/meta/recipes-devtools/elfutils/files/debian/hppa_backend.diff b/poky/meta/recipes-devtools/elfutils/files/debian/hppa_backend.diff
deleted file mode 100644
index 53fa2f4..0000000
--- a/poky/meta/recipes-devtools/elfutils/files/debian/hppa_backend.diff
+++ /dev/null
@@ -1,828 +0,0 @@
-From ffb811e18d7046d5bbe54ede5b1b7e14eaac0146 Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Wed, 21 Aug 2019 15:44:18 +0800
-Subject: [PATCH] hppa backend
-
-Rebase to 0.177
-Upstream-Status: Pending [from debian]
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
-
----
- backends/Makefile.am      |   7 +-
- backends/libebl_parisc.h  |   9 ++
- backends/parisc_init.c    |  73 +++++++++++++
- backends/parisc_regs.c    | 159 ++++++++++++++++++++++++++++
- backends/parisc_reloc.def | 128 +++++++++++++++++++++++
- backends/parisc_retval.c  | 213 ++++++++++++++++++++++++++++++++++++++
- backends/parisc_symbol.c  | 113 ++++++++++++++++++++
- libelf/elf.h              |  11 ++
- 8 files changed, 711 insertions(+), 2 deletions(-)
- create mode 100644 backends/libebl_parisc.h
- create mode 100644 backends/parisc_init.c
- create mode 100644 backends/parisc_regs.c
- create mode 100644 backends/parisc_reloc.def
- create mode 100644 backends/parisc_retval.c
- create mode 100644 backends/parisc_symbol.c
-
-diff --git a/backends/Makefile.am b/backends/Makefile.am
-index f405212..4755f61 100644
---- a/backends/Makefile.am
-+++ b/backends/Makefile.am
-@@ -37,7 +37,9 @@ AM_CPPFLAGS += -I$(top_srcdir)/libebl -I$(top_srcdir)/libasm \
- noinst_LIBRARIES = libebl_backends.a libebl_backends_pic.a
- 
- modules = i386 sh x86_64 ia64 alpha arm aarch64 sparc ppc ppc64 s390 \
--	  tilegx m68k bpf riscv csky
-+	  tilegx m68k bpf riscv csky parisc
-+
-+parisc_SRCS = parisc_init.c parisc_symbol.c parisc_regs.c parisc_retval.c
- 
- i386_SRCS = i386_init.c i386_symbol.c i386_corenote.c i386_cfi.c \
- 	    i386_retval.c i386_regs.c i386_auxv.c i386_syscall.c \
-@@ -102,7 +104,8 @@ libebl_backends_a_SOURCES = $(i386_SRCS) $(sh_SRCS) $(x86_64_SRCS) \
- 			    $(ia64_SRCS) $(alpha_SRCS) $(arm_SRCS) \
- 			    $(aarch64_SRCS) $(sparc_SRCS) $(ppc_SRCS) \
- 			    $(ppc64_SRCS) $(s390_SRCS) $(tilegx_SRCS) \
--			    $(m68k_SRCS) $(bpf_SRCS) $(riscv_SRCS) $(csky_SRCS)
-+			    $(m68k_SRCS) $(bpf_SRCS) $(riscv_SRCS) $(csky_SRCS) \
-+                            $(parisc_SRCS)
- 
- libebl_backends_pic_a_SOURCES =
- am_libebl_backends_pic_a_OBJECTS = $(libebl_backends_a_SOURCES:.c=.os)
-diff --git a/backends/libebl_parisc.h b/backends/libebl_parisc.h
-new file mode 100644
-index 0000000..f473b79
---- /dev/null
-+++ b/backends/libebl_parisc.h
-@@ -0,0 +1,9 @@
-+#ifndef _LIBEBL_HPPA_H
-+#define _LIBEBL_HPPA_H 1
-+
-+#include <libdw.h>
-+
-+extern int parisc_return_value_location_32(Dwarf_Die *, const Dwarf_Op **locp);
-+extern int parisc_return_value_location_64(Dwarf_Die *, const Dwarf_Op **locp);
-+
-+#endif
-diff --git a/backends/parisc_init.c b/backends/parisc_init.c
-new file mode 100644
-index 0000000..f1e401c
---- /dev/null
-+++ b/backends/parisc_init.c
-@@ -0,0 +1,73 @@
-+/* Initialization of PA-RISC specific backend library.
-+   Copyright (C) 2002, 2005, 2006 Red Hat, Inc.
-+   This file is part of Red Hat elfutils.
-+   Written by Ulrich Drepper <drepper@redhat.com>, 2002.
-+
-+   Red Hat elfutils is free software; you can redistribute it and/or modify
-+   it under the terms of the GNU General Public License as published by the
-+   Free Software Foundation; version 2 of the License.
-+
-+   Red Hat elfutils is distributed in the hope that it will be useful, but
-+   WITHOUT ANY WARRANTY; without even the implied warranty of
-+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-+   General Public License for more details.
-+
-+   You should have received a copy of the GNU General Public License along
-+   with Red Hat elfutils; if not, write to the Free Software Foundation,
-+   Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
-+
-+   Red Hat elfutils is an included package of the Open Invention Network.
-+   An included package of the Open Invention Network is a package for which
-+   Open Invention Network licensees cross-license their patents.  No patent
-+   license is granted, either expressly or impliedly, by designation as an
-+   included package.  Should you wish to participate in the Open Invention
-+   Network licensing program, please visit www.openinventionnetwork.com
-+   <http://www.openinventionnetwork.com>.  */
-+
-+#ifdef HAVE_CONFIG_H
-+# include <config.h>
-+#endif
-+
-+#define BACKEND		parisc_
-+#define RELOC_PREFIX	R_PARISC_
-+#include "libebl_CPU.h"
-+#include "libebl_parisc.h"
-+
-+/* This defines the common reloc hooks based on parisc_reloc.def.  */
-+#include "common-reloc.c"
-+
-+
-+const char *
-+parisc_init (Elf *elf __attribute__ ((unused)),
-+     GElf_Half machine __attribute__ ((unused)),
-+     Ebl *eh,
-+     size_t ehlen)
-+{
-+  int pa64 = 0;
-+
-+  /* Check whether the Elf_BH object has a sufficent size.  */
-+  if (ehlen < sizeof (Ebl))
-+    return NULL;
-+
-+  if (elf) {
-+    GElf_Ehdr ehdr_mem;
-+    GElf_Ehdr *ehdr = gelf_getehdr (elf, &ehdr_mem);
-+    if (ehdr && (ehdr->e_flags & EF_PARISC_WIDE))
-+      pa64 = 1;
-+  }
-+  /* We handle it.  */
-+  eh->name = "PA-RISC";
-+  parisc_init_reloc (eh);
-+  HOOK (eh, reloc_simple_type);
-+  HOOK (eh, machine_flag_check);
-+  HOOK (eh, symbol_type_name);
-+  HOOK (eh, segment_type_name);
-+  HOOK (eh, section_type_name);
-+  HOOK (eh, register_info);
-+  if (pa64)
-+    eh->return_value_location = parisc_return_value_location_64;
-+  else
-+    eh->return_value_location = parisc_return_value_location_32;
-+
-+  return MODVERSION;
-+}
-diff --git a/backends/parisc_regs.c b/backends/parisc_regs.c
-new file mode 100644
-index 0000000..3895f8e
---- /dev/null
-+++ b/backends/parisc_regs.c
-@@ -0,0 +1,159 @@
-+/* Register names and numbers for PA-RISC DWARF.
-+   Copyright (C) 2005, 2006 Red Hat, Inc.
-+   This file is part of Red Hat elfutils.
-+
-+   Red Hat elfutils is free software; you can redistribute it and/or modify
-+   it under the terms of the GNU General Public License as published by the
-+   Free Software Foundation; version 2 of the License.
-+
-+   Red Hat elfutils is distributed in the hope that it will be useful, but
-+   WITHOUT ANY WARRANTY; without even the implied warranty of
-+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-+   General Public License for more details.
-+
-+   You should have received a copy of the GNU General Public License along
-+   with Red Hat elfutils; if not, write to the Free Software Foundation,
-+   Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
-+
-+   Red Hat elfutils is an included package of the Open Invention Network.
-+   An included package of the Open Invention Network is a package for which
-+   Open Invention Network licensees cross-license their patents.  No patent
-+   license is granted, either expressly or impliedly, by designation as an
-+   included package.  Should you wish to participate in the Open Invention
-+   Network licensing program, please visit www.openinventionnetwork.com
-+   <http://www.openinventionnetwork.com>.  */
-+
-+#ifdef HAVE_CONFIG_H
-+# include <config.h>
-+#endif
-+
-+#include <string.h>
-+#include <dwarf.h>
-+
-+#define BACKEND parisc_
-+#include "libebl_CPU.h"
-+
-+ssize_t
-+parisc_register_info (Ebl *ebl, int regno, char *name, size_t namelen,
-+		     const char **prefix, const char **setname,
-+		     int *bits, int *type)
-+{
-+  int pa64 = 0;
-+
-+  if (ebl->elf) {
-+    GElf_Ehdr ehdr_mem;
-+    GElf_Ehdr *ehdr = gelf_getehdr (ebl->elf, &ehdr_mem);
-+    if (ehdr->e_flags & EF_PARISC_WIDE)
-+      pa64 = 1;
-+  }
-+
-+  int nregs = pa64 ? 127 : 128;
-+
-+  if (name == NULL)
-+    return nregs;
-+
-+  if (regno < 0 || regno >= nregs || namelen < 6)
-+    return -1;
-+
-+  *prefix = "%";
-+
-+  if (regno < 32)
-+  {
-+    *setname = "integer";
-+    *type = DW_ATE_signed;
-+    if (pa64)
-+    {
-+	*bits = 64;
-+    }
-+    else
-+    {
-+    	*bits = 32;
-+    }
-+  }
-+  else if (regno == 32)
-+  {
-+    *setname = "special";
-+    if (pa64)
-+    {
-+	*bits = 6;
-+    }
-+    else
-+    {
-+    	*bits = 5;
-+    }
-+    *type = DW_ATE_unsigned;
-+  }
-+  else
-+  {
-+    *setname = "FPU";
-+    *type = DW_ATE_float;
-+    if (pa64)
-+    {
-+	*bits = 64;
-+    }
-+    else
-+    {
-+    	*bits = 32;
-+    }
-+  }
-+
-+  if (regno < 33) {
-+    switch (regno)
-+      {
-+      case 0 ... 9:
-+        name[0] = 'r';
-+        name[1] = regno + '0';
-+        namelen = 2;
-+        break;
-+      case 10 ... 31:
-+        name[0] = 'r';
-+        name[1] = regno / 10 + '0';
-+        name[2] = regno % 10 + '0';
-+        namelen = 3;
-+        break;
-+      case 32:
-+	*prefix = NULL;
-+	name[0] = 'S';
-+	name[1] = 'A';
-+	name[2] = 'R';
-+	namelen = 3;
-+	break;
-+      }
-+  }
-+  else {
-+    if (pa64 && ((regno - 72) % 2)) {
-+      *setname = NULL;
-+      return 0;
-+    }
-+
-+    switch (regno)
-+      {
-+      case 72 + 0 ... 72 + 11:
-+        name[0] = 'f';
-+	name[1] = 'r';
-+        name[2] = (regno + 8 - 72) / 2 + '0';
-+        namelen = 3;
-+        if ((regno + 8 - 72) % 2) {
-+	  name[3] = 'R';
-+	  namelen++;
-+        }
-+        break;
-+      case 72 + 12 ... 72 + 55:
-+        name[0] = 'f';
-+	name[1] = 'r';
-+        name[2] = (regno + 8 - 72) / 2 / 10 + '0';
-+        name[3] = (regno + 8 - 72) / 2 % 10 + '0';
-+        namelen = 4;
-+        if ((regno + 8 - 72) % 2) {
-+	  name[4] = 'R';
-+	  namelen++;
-+        }
-+        break;
-+      default:
-+        *setname = NULL;
-+        return 0;
-+      }
-+  }
-+  name[namelen++] = '\0';
-+  return namelen;
-+}
-diff --git a/backends/parisc_reloc.def b/backends/parisc_reloc.def
-new file mode 100644
-index 0000000..1f875ba
---- /dev/null
-+++ b/backends/parisc_reloc.def
-@@ -0,0 +1,128 @@
-+/* List the relocation types for PA-RISC.  -*- C -*-
-+   Copyright (C) 2005 Red Hat, Inc.
-+   This file is part of Red Hat elfutils.
-+
-+   Red Hat elfutils is free software; you can redistribute it and/or modify
-+   it under the terms of the GNU General Public License as published by the
-+   Free Software Foundation; version 2 of the License.
-+
-+   Red Hat elfutils is distributed in the hope that it will be useful, but
-+   WITHOUT ANY WARRANTY; without even the implied warranty of
-+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-+   General Public License for more details.
-+
-+   You should have received a copy of the GNU General Public License along
-+   with Red Hat elfutils; if not, write to the Free Software Foundation,
-+   Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
-+
-+   Red Hat elfutils is an included package of the Open Invention Network.
-+   An included package of the Open Invention Network is a package for which
-+   Open Invention Network licensees cross-license their patents.  No patent
-+   license is granted, either expressly or impliedly, by designation as an
-+   included package.  Should you wish to participate in the Open Invention
-+   Network licensing program, please visit www.openinventionnetwork.com
-+   <http://www.openinventionnetwork.com>.  */
-+
-+/*	    NAME,		REL|EXEC|DYN	*/
-+
-+RELOC_TYPE (NONE,		EXEC|DYN)
-+RELOC_TYPE (DIR32,		REL|EXEC|DYN)
-+RELOC_TYPE (DIR21L,		REL|EXEC|DYN)
-+RELOC_TYPE (DIR17R,		REL)
-+RELOC_TYPE (DIR17F,		REL)
-+RELOC_TYPE (DIR14R,		REL|DYN)
-+RELOC_TYPE (PCREL32,		REL)
-+RELOC_TYPE (PCREL21L,		REL)
-+RELOC_TYPE (PCREL17R,		REL)
-+RELOC_TYPE (PCREL17F,		REL)
-+RELOC_TYPE (PCREL14R,		REL|EXEC)
-+RELOC_TYPE (DPREL21L,		REL)
-+RELOC_TYPE (DPREL14WR,		REL)
-+RELOC_TYPE (DPREL14DR,          REL)
-+RELOC_TYPE (DPREL14R,		REL)
-+RELOC_TYPE (GPREL21L,		0)
-+RELOC_TYPE (GPREL14R,		0)
-+RELOC_TYPE (LTOFF21L,		REL)
-+RELOC_TYPE (LTOFF14R,		REL)
-+RELOC_TYPE (DLTIND14F,		0)
-+RELOC_TYPE (SETBASE,		0)
-+RELOC_TYPE (SECREL32,		REL)
-+RELOC_TYPE (BASEREL21L,		0)
-+RELOC_TYPE (BASEREL17R,		0)
-+RELOC_TYPE (BASEREL14R,		0)
-+RELOC_TYPE (SEGBASE,		0)
-+RELOC_TYPE (SEGREL32,		REL)
-+RELOC_TYPE (PLTOFF21L,		0)
-+RELOC_TYPE (PLTOFF14R,		0)
-+RELOC_TYPE (PLTOFF14F,		0)
-+RELOC_TYPE (LTOFF_FPTR32,	0)
-+RELOC_TYPE (LTOFF_FPTR21L,	0)
-+RELOC_TYPE (LTOFF_FPTR14R,	0)
-+RELOC_TYPE (FPTR64,		0)
-+RELOC_TYPE (PLABEL32,		REL|DYN)
-+RELOC_TYPE (PCREL64,		0)
-+RELOC_TYPE (PCREL22C,		0)
-+RELOC_TYPE (PCREL22F,		0)
-+RELOC_TYPE (PCREL14WR,		0)
-+RELOC_TYPE (PCREL14DR,		0)
-+RELOC_TYPE (PCREL16F,		0)
-+RELOC_TYPE (PCREL16WF,		0)
-+RELOC_TYPE (PCREL16DF,		0)
-+RELOC_TYPE (DIR64,		REL|DYN)
-+RELOC_TYPE (DIR14WR,		REL)
-+RELOC_TYPE (DIR14DR,		REL)
-+RELOC_TYPE (DIR16F,		REL)
-+RELOC_TYPE (DIR16WF,		REL)
-+RELOC_TYPE (DIR16DF,		REL)
-+RELOC_TYPE (GPREL64,		0)
-+RELOC_TYPE (GPREL14WR,		0)
-+RELOC_TYPE (GPREL14DR,		0)
-+RELOC_TYPE (GPREL16F,		0)
-+RELOC_TYPE (GPREL16WF,		0)
-+RELOC_TYPE (GPREL16DF,		0)
-+RELOC_TYPE (LTOFF64,		0)
-+RELOC_TYPE (LTOFF14WR,		0)
-+RELOC_TYPE (LTOFF14DR,		0)
-+RELOC_TYPE (LTOFF16F,		0)
-+RELOC_TYPE (LTOFF16WF,		0)
-+RELOC_TYPE (LTOFF16DF,		0)
-+RELOC_TYPE (SECREL64,		0)
-+RELOC_TYPE (BASEREL14WR,	0)
-+RELOC_TYPE (BASEREL14DR,	0)
-+RELOC_TYPE (SEGREL64,		0)
-+RELOC_TYPE (PLTOFF14WR,		0)
-+RELOC_TYPE (PLTOFF14DR,		0)
-+RELOC_TYPE (PLTOFF16F,		0)
-+RELOC_TYPE (PLTOFF16WF,		0)
-+RELOC_TYPE (PLTOFF16DF,		0)
-+RELOC_TYPE (LTOFF_FPTR64,	0)
-+RELOC_TYPE (LTOFF_FPTR14WR,	0)
-+RELOC_TYPE (LTOFF_FPTR14DR,	0)
-+RELOC_TYPE (LTOFF_FPTR16F,	0)
-+RELOC_TYPE (LTOFF_FPTR16WF,	0)
-+RELOC_TYPE (LTOFF_FPTR16DF,	0)
-+RELOC_TYPE (COPY,		EXEC)
-+RELOC_TYPE (IPLT,		EXEC|DYN)
-+RELOC_TYPE (EPLT,		0)
-+RELOC_TYPE (TPREL32,		DYN)
-+RELOC_TYPE (TPREL21L,		0)
-+RELOC_TYPE (TPREL14R,		0)
-+RELOC_TYPE (LTOFF_TP21L,	0)
-+RELOC_TYPE (LTOFF_TP14R,	0)
-+RELOC_TYPE (LTOFF_TP14F,	0)
-+RELOC_TYPE (TPREL64,		0)
-+RELOC_TYPE (TPREL14WR,		0)
-+RELOC_TYPE (TPREL14DR,		0)
-+RELOC_TYPE (TPREL16F,		0)
-+RELOC_TYPE (TPREL16WF,		0)
-+RELOC_TYPE (TPREL16DF,		0)
-+RELOC_TYPE (LTOFF_TP64,		0)
-+RELOC_TYPE (LTOFF_TP14WR,	0)
-+RELOC_TYPE (LTOFF_TP14DR,	0)
-+RELOC_TYPE (LTOFF_TP16F,	0)
-+RELOC_TYPE (LTOFF_TP16WF,	0)
-+RELOC_TYPE (LTOFF_TP16DF,	0)
-+RELOC_TYPE (TLS_DTPMOD32,	DYN)
-+RELOC_TYPE (TLS_DTPMOD64,	DYN)
-+
-+#define NO_RELATIVE_RELOC       1
-diff --git a/backends/parisc_retval.c b/backends/parisc_retval.c
-new file mode 100644
-index 0000000..df7ec3a
---- /dev/null
-+++ b/backends/parisc_retval.c
-@@ -0,0 +1,213 @@
-+/* Function return value location for Linux/PA-RISC ABI.
-+   Copyright (C) 2005 Red Hat, Inc.
-+   This file is part of Red Hat elfutils.
-+
-+   Red Hat elfutils is free software; you can redistribute it and/or modify
-+   it under the terms of the GNU General Public License as published by the
-+   Free Software Foundation; version 2 of the License.
-+
-+   Red Hat elfutils is distributed in the hope that it will be useful, but
-+   WITHOUT ANY WARRANTY; without even the implied warranty of
-+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-+   General Public License for more details.
-+
-+   You should have received a copy of the GNU General Public License along
-+   with Red Hat elfutils; if not, write to the Free Software Foundation,
-+   Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
-+
-+   Red Hat elfutils is an included package of the Open Invention Network.
-+   An included package of the Open Invention Network is a package for which
-+   Open Invention Network licensees cross-license their patents.  No patent
-+   license is granted, either expressly or impliedly, by designation as an
-+   included package.  Should you wish to participate in the Open Invention
-+   Network licensing program, please visit www.openinventionnetwork.com
-+   <http://www.openinventionnetwork.com>.  */
-+
-+#ifdef HAVE_CONFIG_H
-+# include <config.h>
-+#endif
-+
-+#include <assert.h>
-+#include <dwarf.h>
-+
-+#define BACKEND parisc_
-+#include "libebl_CPU.h"
-+#include "libebl_parisc.h"
-+
-+/* %r28, or pair %r28, %r29.  */
-+static const Dwarf_Op loc_intreg32[] =
-+  {
-+    { .atom = DW_OP_reg28 }, { .atom = DW_OP_piece, .number = 4 },
-+    { .atom = DW_OP_reg29 }, { .atom = DW_OP_piece, .number = 4 },
-+  };
-+
-+static const Dwarf_Op loc_intreg[] =
-+  {
-+    { .atom = DW_OP_reg28 }, { .atom = DW_OP_piece, .number = 8 },
-+    { .atom = DW_OP_reg29 }, { .atom = DW_OP_piece, .number = 8 },
-+  };
-+#define nloc_intreg	1
-+#define nloc_intregpair	4
-+
-+/* %fr4L, or pair %fr4L, %fr4R on pa-32 */
-+static const Dwarf_Op loc_fpreg32[] =
-+  {
-+    { .atom = DW_OP_regx, .number = 72 }, { .atom = DW_OP_piece, .number = 4 },
-+    { .atom = DW_OP_regx, .number = 73 }, { .atom = DW_OP_piece, .number = 4 },
-+  };
-+#define nloc_fpreg32 2
-+#define nloc_fpregpair32 4
-+
-+/* $fr4 */
-+static const Dwarf_Op loc_fpreg[] =
-+  {
-+    { .atom = DW_OP_regx, .number = 72 },
-+  };
-+#define nloc_fpreg  1
-+
-+#if 0
-+/* The return value is a structure and is actually stored in stack space
-+   passed in a hidden argument by the caller. Address of the location is stored
-+   in %r28 before function call, but it may be changed by function. */
-+static const Dwarf_Op loc_aggregate[] =
-+  {
-+    { .atom = DW_OP_breg28 },
-+  };
-+#define nloc_aggregate 1
-+#endif
-+
-+static int
-+parisc_return_value_location_ (Dwarf_Die *functypedie, const Dwarf_Op **locp, int pa64)
-+{
-+  Dwarf_Word regsize = pa64 ? 8 : 4;
-+
-+  /* Start with the function's type, and get the DW_AT_type attribute,
-+     which is the type of the return value.  */
-+
-+  Dwarf_Attribute attr_mem;
-+  Dwarf_Attribute *attr = dwarf_attr_integrate (functypedie, DW_AT_type, &attr_mem);
-+  if (attr == NULL)
-+    /* The function has no return value, like a `void' function in C.  */
-+    return 0;
-+
-+  Dwarf_Die die_mem;
-+  Dwarf_Die *typedie = dwarf_formref_die (attr, &die_mem);
-+  int tag = dwarf_tag (typedie);
-+
-+  /* Follow typedefs and qualifiers to get to the actual type.  */
-+  while (tag == DW_TAG_typedef
-+	 || tag == DW_TAG_const_type || tag == DW_TAG_volatile_type
-+	 || tag == DW_TAG_restrict_type)
-+    {
-+      attr = dwarf_attr_integrate (typedie, DW_AT_type, &attr_mem);
-+      typedie = dwarf_formref_die (attr, &die_mem);
-+      tag = dwarf_tag (typedie);
-+    }
-+
-+  switch (tag)
-+    {
-+    case -1:
-+      return -1;
-+
-+    case DW_TAG_subrange_type:
-+      if (! dwarf_hasattr_integrate (typedie, DW_AT_byte_size))
-+	{
-+	  attr = dwarf_attr_integrate (typedie, DW_AT_type, &attr_mem);
-+	  typedie = dwarf_formref_die (attr, &die_mem);
-+	  tag = dwarf_tag (typedie);
-+	}
-+      /* Fall through.  */
-+
-+    case DW_TAG_base_type:
-+    case DW_TAG_enumeration_type:
-+    case DW_TAG_pointer_type:
-+    case DW_TAG_ptr_to_member_type:
-+      {
-+        Dwarf_Word size;
-+	if (dwarf_formudata (dwarf_attr_integrate (typedie, DW_AT_byte_size,
-+					 &attr_mem), &size) != 0)
-+	  {
-+	    if (tag == DW_TAG_pointer_type || tag == DW_TAG_ptr_to_member_type)
-+	      size = 4;
-+	    else
-+	      return -1;
-+	  }
-+	if (tag == DW_TAG_base_type)
-+	  {
-+	    Dwarf_Word encoding;
-+	    if (dwarf_formudata (dwarf_attr_integrate (typedie, DW_AT_encoding,
-+					     &attr_mem), &encoding) != 0)
-+	      return -1;
-+
-+	    if (encoding == DW_ATE_float)
-+	      {
-+		if (pa64) {
-+		  *locp = loc_fpreg;
-+		  if (size <= 8)
-+		      return nloc_fpreg;
-+		}
-+		else {
-+		  *locp = loc_fpreg32;
-+		  if (size <= 4)
-+		    return nloc_fpreg32;
-+		  else if (size <= 8)
-+		    return nloc_fpregpair32;
-+		}
-+		goto aggregate;
-+	      }
-+	  }
-+	if (pa64)
-+	  *locp = loc_intreg;
-+	else
-+	  *locp = loc_intreg32;
-+	if (size <= regsize)
-+	  return nloc_intreg;
-+	if (size <= 2 * regsize)
-+	  return nloc_intregpair;
-+
-+	/* Else fall through.  */
-+      }
-+
-+    case DW_TAG_structure_type:
-+    case DW_TAG_class_type:
-+    case DW_TAG_union_type:
-+    case DW_TAG_array_type:
-+    aggregate: {
-+        Dwarf_Word size;
-+	if (dwarf_aggregate_size (typedie, &size) != 0)
-+	  return -1;
-+	if (pa64)
-+          *locp = loc_intreg;
-+	else
-+	  *locp = loc_intreg32;
-+        if (size <= regsize)
-+	  return nloc_intreg;
-+        if (size <= 2 * regsize)
-+	  return nloc_intregpair;
-+#if 0
-+	/* there should be some way to know this location... But I do not see it. */
-+        *locp = loc_aggregate;
-+        return nloc_aggregate;
-+#endif
-+	/* fall through.  */
-+      }
-+    }
-+
-+  /* XXX We don't have a good way to return specific errors from ebl calls.
-+     This value means we do not understand the type, but it is well-formed
-+     DWARF and might be valid.  */
-+  return -2;
-+}
-+
-+int
-+parisc_return_value_location_32 (Dwarf_Die *functypedie, const Dwarf_Op **locp)
-+{
-+  return parisc_return_value_location_ (functypedie, locp, 0);
-+}
-+
-+int
-+parisc_return_value_location_64 (Dwarf_Die *functypedie, const Dwarf_Op **locp)
-+{
-+  return parisc_return_value_location_ (functypedie, locp, 1);
-+}
-+
-diff --git a/backends/parisc_symbol.c b/backends/parisc_symbol.c
-new file mode 100644
-index 0000000..5754bd8
---- /dev/null
-+++ b/backends/parisc_symbol.c
-@@ -0,0 +1,113 @@
-+/* PA-RISC specific symbolic name handling.
-+   Copyright (C) 2002, 2005 Red Hat, Inc.
-+   This file is part of Red Hat elfutils.
-+   Written by Ulrich Drepper <drepper@redhat.com>, 2002.
-+
-+   Red Hat elfutils is free software; you can redistribute it and/or modify
-+   it under the terms of the GNU General Public License as published by the
-+   Free Software Foundation; version 2 of the License.
-+
-+   Red Hat elfutils is distributed in the hope that it will be useful, but
-+   WITHOUT ANY WARRANTY; without even the implied warranty of
-+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-+   General Public License for more details.
-+
-+   You should have received a copy of the GNU General Public License along
-+   with Red Hat elfutils; if not, write to the Free Software Foundation,
-+   Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
-+
-+   Red Hat elfutils is an included package of the Open Invention Network.
-+   An included package of the Open Invention Network is a package for which
-+   Open Invention Network licensees cross-license their patents.  No patent
-+   license is granted, either expressly or impliedly, by designation as an
-+   included package.  Should you wish to participate in the Open Invention
-+   Network licensing program, please visit www.openinventionnetwork.com
-+   <http://www.openinventionnetwork.com>.  */
-+
-+#ifdef HAVE_CONFIG_H
-+# include <config.h>
-+#endif
-+
-+#include <elf.h>
-+#include <stddef.h>
-+
-+#define BACKEND		parisc_
-+#include "libebl_CPU.h"
-+
-+const char *
-+parisc_segment_type_name (int segment, char *buf __attribute__ ((unused)),
-+			size_t len __attribute__ ((unused)))
-+{
-+  switch (segment)
-+    {
-+    case PT_PARISC_ARCHEXT:
-+      return "PARISC_ARCHEXT";
-+    case PT_PARISC_UNWIND:
-+      return "PARISC_UNWIND";
-+    default:
-+      break;
-+    }
-+  return NULL;
-+}
-+
-+/* Return symbolic representation of symbol type.  */
-+const char *
-+parisc_symbol_type_name(int symbol, char *buf __attribute__ ((unused)),
-+    size_t len __attribute__ ((unused)))
-+{
-+	if (symbol == STT_PARISC_MILLICODE)
-+	  return "PARISC_MILLI";
-+	return NULL;
-+}
-+
-+/* Return symbolic representation of section type.  */
-+const char *
-+parisc_section_type_name (int type,
-+			char *buf __attribute__ ((unused)),
-+			size_t len __attribute__ ((unused)))
-+{
-+  switch (type)
-+    {
-+    case SHT_PARISC_EXT:
-+      return "PARISC_EXT";
-+    case SHT_PARISC_UNWIND:
-+      return "PARISC_UNWIND";
-+    case SHT_PARISC_DOC:
-+      return "PARISC_DOC";
-+    }
-+
-+  return NULL;
-+}
-+
-+/* Check whether machine flags are valid.  */
-+bool
-+parisc_machine_flag_check (GElf_Word flags)
-+{
-+  if (flags &~ (EF_PARISC_TRAPNIL | EF_PARISC_EXT | EF_PARISC_LSB |
-+	EF_PARISC_WIDE | EF_PARISC_NO_KABP |
-+	EF_PARISC_LAZYSWAP | EF_PARISC_ARCH))
-+    return 0;
-+
-+  GElf_Word arch = flags & EF_PARISC_ARCH;
-+
-+  return ((arch == EFA_PARISC_1_0) || (arch == EFA_PARISC_1_1) ||
-+      (arch == EFA_PARISC_2_0));
-+}
-+
-+/* Check for the simple reloc types.  */
-+Elf_Type
-+parisc_reloc_simple_type (Ebl *ebl __attribute__ ((unused)), int type,
-+                          int *addsub __attribute__ ((unused)))
-+{
-+  switch (type)
-+    {
-+    case R_PARISC_DIR64:
-+    case R_PARISC_SECREL64:
-+      return ELF_T_XWORD;
-+    case R_PARISC_DIR32:
-+    case R_PARISC_SECREL32:
-+      return ELF_T_WORD;
-+    default:
-+      return ELF_T_NUM;
-+    }
-+}
-diff --git a/libelf/elf.h b/libelf/elf.h
-index 01648bd..218ceb2 100644
---- a/libelf/elf.h
-+++ b/libelf/elf.h
-@@ -2162,16 +2162,24 @@ enum
- #define R_PARISC_PCREL17F	12	/* 17 bits of rel. address.  */
- #define R_PARISC_PCREL14R	14	/* Right 14 bits of rel. address.  */
- #define R_PARISC_DPREL21L	18	/* Left 21 bits of rel. address.  */
-+#define R_PARISC_DPREL14WR	19
-+#define R_PARISC_DPREL14DR	20
- #define R_PARISC_DPREL14R	22	/* Right 14 bits of rel. address.  */
- #define R_PARISC_GPREL21L	26	/* GP-relative, left 21 bits.  */
- #define R_PARISC_GPREL14R	30	/* GP-relative, right 14 bits.  */
- #define R_PARISC_LTOFF21L	34	/* LT-relative, left 21 bits.  */
- #define R_PARISC_LTOFF14R	38	/* LT-relative, right 14 bits.  */
-+#define R_PARISC_DLTIND14F	39
-+#define R_PARISC_SETBASE	40
- #define R_PARISC_SECREL32	41	/* 32 bits section rel. address.  */
-+#define R_PARISC_BASEREL21L	42
-+#define R_PARISC_BASEREL17R	43
-+#define R_PARISC_BASEREL14R	46
- #define R_PARISC_SEGBASE	48	/* No relocation, set segment base.  */
- #define R_PARISC_SEGREL32	49	/* 32 bits segment rel. address.  */
- #define R_PARISC_PLTOFF21L	50	/* PLT rel. address, left 21 bits.  */
- #define R_PARISC_PLTOFF14R	54	/* PLT rel. address, right 14 bits.  */
-+#define R_PARISC_PLTOFF14F	55
- #define R_PARISC_LTOFF_FPTR32	57	/* 32 bits LT-rel. function pointer. */
- #define R_PARISC_LTOFF_FPTR21L	58	/* LT-rel. fct ptr, left 21 bits. */
- #define R_PARISC_LTOFF_FPTR14R	62	/* LT-rel. fct ptr, right 14 bits. */
-@@ -2180,6 +2188,7 @@ enum
- #define R_PARISC_PLABEL21L	66	/* Left 21 bits of fdesc address.  */
- #define R_PARISC_PLABEL14R	70	/* Right 14 bits of fdesc address.  */
- #define R_PARISC_PCREL64	72	/* 64 bits PC-rel. address.  */
-+#define R_PARISC_PCREL22C	73
- #define R_PARISC_PCREL22F	74	/* 22 bits PC-rel. address.  */
- #define R_PARISC_PCREL14WR	75	/* PC-rel. address, right 14 bits.  */
- #define R_PARISC_PCREL14DR	76	/* PC rel. address, right 14 bits.  */
-@@ -2205,6 +2214,8 @@ enum
- #define R_PARISC_LTOFF16WF	102	/* 16 bits LT-rel. address.  */
- #define R_PARISC_LTOFF16DF	103	/* 16 bits LT-rel. address.  */
- #define R_PARISC_SECREL64	104	/* 64 bits section rel. address.  */
-+#define R_PARISC_BASEREL14WR	107
-+#define R_PARISC_BASEREL14DR	108
- #define R_PARISC_SEGREL64	112	/* 64 bits segment rel. address.  */
- #define R_PARISC_PLTOFF14WR	115	/* PLT-rel. address, right 14 bits.  */
- #define R_PARISC_PLTOFF14DR	116	/* PLT-rel. address, right 14 bits.  */
diff --git a/poky/meta/recipes-devtools/elfutils/files/debian/hurd_path.patch b/poky/meta/recipes-devtools/elfutils/files/debian/hurd_path.patch
deleted file mode 100644
index 62a960f..0000000
--- a/poky/meta/recipes-devtools/elfutils/files/debian/hurd_path.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Upstream-Status: Pending [from debian]
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
-
-Index: elfutils-0.165/tests/run-native-test.sh
-===================================================================
---- elfutils-0.165.orig/tests/run-native-test.sh
-+++ elfutils-0.165/tests/run-native-test.sh
-@@ -83,6 +83,9 @@ native_test()
- # "cannot attach to process: Function not implemented".
- [ "$(uname)" = "GNU/kFreeBSD" ] && exit 77
- 
-+# hurd's /proc/$PID/maps does not give paths yet.
-+[ "$(uname)" = "GNU" ] && exit 77
-+
- native_test ${abs_builddir}/allregs
- native_test ${abs_builddir}/funcretval
- 
diff --git a/poky/meta/recipes-devtools/elfutils/files/debian/ignore_strmerge.diff b/poky/meta/recipes-devtools/elfutils/files/debian/ignore_strmerge.diff
deleted file mode 100644
index 55513ee..0000000
--- a/poky/meta/recipes-devtools/elfutils/files/debian/ignore_strmerge.diff
+++ /dev/null
@@ -1,14 +0,0 @@
-Upstream-Status: Pending [from debian]
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
-
---- elfutils-0.165.orig/tests/run-strip-strmerge.sh
-+++ elfutils-0.165/tests/run-strip-strmerge.sh
-@@ -30,7 +30,7 @@ remerged=remerged.elf
- tempfiles $merged $stripped $debugfile $remerged
- 
- echo elflint $input
--testrun ${abs_top_builddir}/src/elflint --gnu $input
-+testrun_on_self_skip ${abs_top_builddir}/src/elflint --gnu $input
- echo elfstrmerge
- testrun ${abs_top_builddir}/tests/elfstrmerge -o $merged $input
- echo elflint $merged
diff --git a/poky/meta/recipes-devtools/elfutils/files/debian/kfreebsd_path.patch b/poky/meta/recipes-devtools/elfutils/files/debian/kfreebsd_path.patch
deleted file mode 100644
index e85a2fe..0000000
--- a/poky/meta/recipes-devtools/elfutils/files/debian/kfreebsd_path.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-Upstream-Status: Pending [from debian]
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
-
-Index: b/tests/run-native-test.sh
-===================================================================
---- a/tests/run-native-test.sh
-+++ b/tests/run-native-test.sh
-@@ -77,6 +77,12 @@ native_test()
-   test $native -eq 0 || testrun "$@" -p $native > /dev/null
- }
- 
-+# On the Debian buildds, GNU/kFreeBSD linprocfs /proc/$PID/maps does
-+# not give absolute paths due to sbuild's bind mounts (bug #570805)
-+# therefore the next two test programs are expected to fail with
-+# "cannot attach to process: Function not implemented".
-+[ "$(uname)" = "GNU/kFreeBSD" ] && exit 77
-+
- native_test ${abs_builddir}/allregs
- native_test ${abs_builddir}/funcretval
- 
diff --git a/poky/meta/recipes-devtools/elfutils/files/debian/mips_backend.diff b/poky/meta/recipes-devtools/elfutils/files/debian/mips_backend.diff
deleted file mode 100644
index 749faa4..0000000
--- a/poky/meta/recipes-devtools/elfutils/files/debian/mips_backend.diff
+++ /dev/null
@@ -1,724 +0,0 @@
-From 7e0b036d087dfff7f5e306f52fc78745f99454c3 Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Wed, 21 Aug 2019 15:49:52 +0800
-Subject: [PATCH] mips backend
-
-Rebase to 0.177
-Upstream-Status: Pending [from debian]
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
-
----
- backends/Makefile.am    |   6 +-
- backends/mips_init.c    |  59 ++++++++
- backends/mips_regs.c    | 104 +++++++++++++
- backends/mips_reloc.def |  79 ++++++++++
- backends/mips_retval.c  | 321 ++++++++++++++++++++++++++++++++++++++++
- backends/mips_symbol.c  |  53 +++++++
- libebl/eblopenbackend.c |   3 +
- 7 files changed, 623 insertions(+), 2 deletions(-)
- create mode 100644 backends/mips_init.c
- create mode 100644 backends/mips_regs.c
- create mode 100644 backends/mips_reloc.def
- create mode 100644 backends/mips_retval.c
- create mode 100644 backends/mips_symbol.c
-
-diff --git a/backends/Makefile.am b/backends/Makefile.am
-index 4755f61..07d45d7 100644
---- a/backends/Makefile.am
-+++ b/backends/Makefile.am
-@@ -37,7 +37,7 @@ AM_CPPFLAGS += -I$(top_srcdir)/libebl -I$(top_srcdir)/libasm \
- noinst_LIBRARIES = libebl_backends.a libebl_backends_pic.a
- 
- modules = i386 sh x86_64 ia64 alpha arm aarch64 sparc ppc ppc64 s390 \
--	  tilegx m68k bpf riscv csky parisc
-+	  tilegx m68k bpf riscv csky parisc mips
- 
- parisc_SRCS = parisc_init.c parisc_symbol.c parisc_regs.c parisc_retval.c
- 
-@@ -100,12 +100,14 @@ riscv_SRCS = riscv_init.c riscv_symbol.c riscv_cfi.c riscv_regs.c \
- csky_SRCS = csky_attrs.c csky_init.c csky_symbol.c csky_cfi.c \
- 	    csky_regs.c csky_initreg.c csky_corenote.c
- 
-+mips_SRCS = mips_init.c mips_symbol.c mips_regs.c mips_retval.c
-+
- libebl_backends_a_SOURCES = $(i386_SRCS) $(sh_SRCS) $(x86_64_SRCS) \
- 			    $(ia64_SRCS) $(alpha_SRCS) $(arm_SRCS) \
- 			    $(aarch64_SRCS) $(sparc_SRCS) $(ppc_SRCS) \
- 			    $(ppc64_SRCS) $(s390_SRCS) $(tilegx_SRCS) \
- 			    $(m68k_SRCS) $(bpf_SRCS) $(riscv_SRCS) $(csky_SRCS) \
--                            $(parisc_SRCS)
-+                            $(parisc_SRCS) $(mips_SRCS)
- 
- libebl_backends_pic_a_SOURCES =
- am_libebl_backends_pic_a_OBJECTS = $(libebl_backends_a_SOURCES:.c=.os)
-diff --git a/backends/mips_init.c b/backends/mips_init.c
-new file mode 100644
-index 0000000..975c04e
---- /dev/null
-+++ b/backends/mips_init.c
-@@ -0,0 +1,59 @@
-+/* Initialization of mips specific backend library.
-+   Copyright (C) 2006 Red Hat, Inc.
-+   This file is part of Red Hat elfutils.
-+
-+   Red Hat elfutils is free software; you can redistribute it and/or modify
-+   it under the terms of the GNU General Public License as published by the
-+   Free Software Foundation; version 2 of the License.
-+
-+   Red Hat elfutils is distributed in the hope that it will be useful, but
-+   WITHOUT ANY WARRANTY; without even the implied warranty of
-+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-+   General Public License for more details.
-+
-+   You should have received a copy of the GNU General Public License along
-+   with Red Hat elfutils; if not, write to the Free Software Foundation,
-+   Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
-+
-+   Red Hat elfutils is an included package of the Open Invention Network.
-+   An included package of the Open Invention Network is a package for which
-+   Open Invention Network licensees cross-license their patents.  No patent
-+   license is granted, either expressly or impliedly, by designation as an
-+   included package.  Should you wish to participate in the Open Invention
-+   Network licensing program, please visit www.openinventionnetwork.com
-+   <http://www.openinventionnetwork.com>.  */
-+
-+#ifdef HAVE_CONFIG_H
-+# include <config.h>
-+#endif
-+
-+#define BACKEND		mips_
-+#define RELOC_PREFIX	R_MIPS_
-+#include "libebl_CPU.h"
-+
-+/* This defines the common reloc hooks based on mips_reloc.def.  */
-+#include "common-reloc.c"
-+
-+const char *
-+mips_init (Elf *elf __attribute__ ((unused)),
-+     GElf_Half machine __attribute__ ((unused)),
-+     Ebl *eh,
-+     size_t ehlen)
-+{
-+  /* Check whether the Elf_BH object has a sufficent size.  */
-+  if (ehlen < sizeof (Ebl))
-+    return NULL;
-+
-+  /* We handle it.  */
-+  if (machine == EM_MIPS)
-+    eh->name = "MIPS R3000 big-endian";
-+  else if (machine == EM_MIPS_RS3_LE)
-+    eh->name = "MIPS R3000 little-endian";
-+
-+  mips_init_reloc (eh);
-+  HOOK (eh, reloc_simple_type);
-+  HOOK (eh, return_value_location);
-+  HOOK (eh, register_info);
-+
-+  return MODVERSION;
-+}
-diff --git a/backends/mips_regs.c b/backends/mips_regs.c
-new file mode 100644
-index 0000000..44f86cb
---- /dev/null
-+++ b/backends/mips_regs.c
-@@ -0,0 +1,104 @@
-+/* Register names and numbers for MIPS DWARF.
-+   Copyright (C) 2006 Red Hat, Inc.
-+   This file is part of Red Hat elfutils.
-+
-+   Red Hat elfutils is free software; you can redistribute it and/or modify
-+   it under the terms of the GNU General Public License as published by the
-+   Free Software Foundation; version 2 of the License.
-+
-+   Red Hat elfutils is distributed in the hope that it will be useful, but
-+   WITHOUT ANY WARRANTY; without even the implied warranty of
-+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-+   General Public License for more details.
-+
-+   You should have received a copy of the GNU General Public License along
-+   with Red Hat elfutils; if not, write to the Free Software Foundation,
-+   Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
-+
-+   Red Hat elfutils is an included package of the Open Invention Network.
-+   An included package of the Open Invention Network is a package for which
-+   Open Invention Network licensees cross-license their patents.  No patent
-+   license is granted, either expressly or impliedly, by designation as an
-+   included package.  Should you wish to participate in the Open Invention
-+   Network licensing program, please visit www.openinventionnetwork.com
-+   <http://www.openinventionnetwork.com>.  */
-+
-+#ifdef HAVE_CONFIG_H
-+# include <config.h>
-+#endif
-+
-+#include <string.h>
-+#include <dwarf.h>
-+
-+#define BACKEND mips_
-+#include "libebl_CPU.h"
-+
-+ssize_t
-+mips_register_info (Ebl *ebl __attribute__((unused)),
-+		    int regno, char *name, size_t namelen,
-+		    const char **prefix, const char **setname,
-+		    int *bits, int *type)
-+{
-+  if (name == NULL)
-+    return 66;
-+
-+  if (regno < 0 || regno > 65 || namelen < 4)
-+    return -1;
-+
-+  *prefix = "$";
-+
-+  if (regno < 32)
-+    {
-+      *setname = "integer";
-+      *type = DW_ATE_signed;
-+      *bits = 32;
-+      if (regno < 32 + 10)
-+        {
-+          name[0] = regno + '0';
-+          namelen = 1;
-+        }
-+      else
-+        {
-+          name[0] = (regno / 10) + '0';
-+          name[1] = (regno % 10) + '0';
-+          namelen = 2;
-+        }
-+    }
-+  else if (regno < 64)
-+    {
-+      *setname = "FPU";
-+      *type = DW_ATE_float;
-+      *bits = 32;
-+      name[0] = 'f';
-+      if (regno < 32 + 10)
-+	{
-+	  name[1] = (regno - 32) + '0';
-+	  namelen = 2;
-+	}
-+      else
-+	{
-+	  name[1] = (regno - 32) / 10 + '0';
-+	  name[2] = (regno - 32) % 10 + '0';
-+	  namelen = 3;
-+	}
-+    }
-+  else if (regno == 64)
-+    {
-+      *type = DW_ATE_signed;
-+      *bits = 32;
-+      name[0] = 'h';
-+      name[1] = 'i';
-+      namelen = 2;
-+    }
-+  else
-+    {
-+      *type = DW_ATE_signed;
-+      *bits = 32;
-+      name[0] = 'l';
-+      name[1] = 'o';
-+      namelen = 2;
-+    }
-+
-+  name[namelen++] = '\0';
-+  return namelen;
-+}
-diff --git a/backends/mips_reloc.def b/backends/mips_reloc.def
-new file mode 100644
-index 0000000..4579970
---- /dev/null
-+++ b/backends/mips_reloc.def
-@@ -0,0 +1,79 @@
-+/* List the relocation types for mips.  -*- C -*-
-+   Copyright (C) 2006 Red Hat, Inc.
-+   This file is part of Red Hat elfutils.
-+
-+   Red Hat elfutils is free software; you can redistribute it and/or modify
-+   it under the terms of the GNU General Public License as published by the
-+   Free Software Foundation; version 2 of the License.
-+
-+   Red Hat elfutils is distributed in the hope that it will be useful, but
-+   WITHOUT ANY WARRANTY; without even the implied warranty of
-+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-+   General Public License for more details.
-+
-+   You should have received a copy of the GNU General Public License along
-+   with Red Hat elfutils; if not, write to the Free Software Foundation,
-+   Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
-+
-+   Red Hat elfutils is an included package of the Open Invention Network.
-+   An included package of the Open Invention Network is a package for which
-+   Open Invention Network licensees cross-license their patents.  No patent
-+   license is granted, either expressly or impliedly, by designation as an
-+   included package.  Should you wish to participate in the Open Invention
-+   Network licensing program, please visit www.openinventionnetwork.com
-+   <http://www.openinventionnetwork.com>.  */
-+
-+/* 	    NAME,		REL|EXEC|DYN	*/
-+
-+RELOC_TYPE (NONE,               0)
-+RELOC_TYPE (16,                 0)
-+RELOC_TYPE (32,                 0)
-+RELOC_TYPE (REL32,              0)
-+RELOC_TYPE (26,                 0)
-+RELOC_TYPE (HI16,               0)
-+RELOC_TYPE (LO16,               0)
-+RELOC_TYPE (GPREL16,            0)
-+RELOC_TYPE (LITERAL,            0)
-+RELOC_TYPE (GOT16,              0)
-+RELOC_TYPE (PC16,               0)
-+RELOC_TYPE (CALL16,             0)
-+RELOC_TYPE (GPREL32,            0)
-+
-+RELOC_TYPE (SHIFT5,             0)
-+RELOC_TYPE (SHIFT6,             0)
-+RELOC_TYPE (64,                 0)
-+RELOC_TYPE (GOT_DISP,           0)
-+RELOC_TYPE (GOT_PAGE,           0)
-+RELOC_TYPE (GOT_OFST,           0)
-+RELOC_TYPE (GOT_HI16,           0)
-+RELOC_TYPE (GOT_LO16,           0)
-+RELOC_TYPE (SUB,                0)
-+RELOC_TYPE (INSERT_A,           0)
-+RELOC_TYPE (INSERT_B,           0)
-+RELOC_TYPE (DELETE,             0)
-+RELOC_TYPE (HIGHER,             0)
-+RELOC_TYPE (HIGHEST,            0)
-+RELOC_TYPE (CALL_HI16,          0)
-+RELOC_TYPE (CALL_LO16,          0)
-+RELOC_TYPE (SCN_DISP,           0)
-+RELOC_TYPE (REL16,              0)
-+RELOC_TYPE (ADD_IMMEDIATE,      0)
-+RELOC_TYPE (PJUMP,              0)
-+RELOC_TYPE (RELGOT,             0)
-+RELOC_TYPE (JALR,               0)
-+RELOC_TYPE (TLS_DTPMOD32,       0)
-+RELOC_TYPE (TLS_DTPREL32,       0)
-+RELOC_TYPE (TLS_DTPMOD64,       0)
-+RELOC_TYPE (TLS_DTPREL64,       0)
-+RELOC_TYPE (TLS_GD,             0)
-+RELOC_TYPE (TLS_LDM,            0)
-+RELOC_TYPE (TLS_DTPREL_HI16,    0)
-+RELOC_TYPE (TLS_DTPREL_LO16,    0)
-+RELOC_TYPE (TLS_GOTTPREL,       0)
-+RELOC_TYPE (TLS_TPREL32,        0)
-+RELOC_TYPE (TLS_TPREL64,        0)
-+RELOC_TYPE (TLS_TPREL_HI16,     0)
-+RELOC_TYPE (TLS_TPREL_LO16,     0)
-+
-+#define NO_COPY_RELOC 1
-+#define NO_RELATIVE_RELOC 1
-diff --git a/backends/mips_retval.c b/backends/mips_retval.c
-new file mode 100644
-index 0000000..656cd1f
---- /dev/null
-+++ b/backends/mips_retval.c
-@@ -0,0 +1,321 @@
-+/* Function return value location for Linux/mips ABI.
-+   Copyright (C) 2005 Red Hat, Inc.
-+   This file is part of Red Hat elfutils.
-+
-+   Red Hat elfutils is free software; you can redistribute it and/or modify
-+   it under the terms of the GNU General Public License as published by the
-+   Free Software Foundation; version 2 of the License.
-+
-+   Red Hat elfutils is distributed in the hope that it will be useful, but
-+   WITHOUT ANY WARRANTY; without even the implied warranty of
-+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-+   General Public License for more details.
-+
-+   You should have received a copy of the GNU General Public License along
-+   with Red Hat elfutils; if not, write to the Free Software Foundation,
-+   Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
-+
-+   Red Hat elfutils is an included package of the Open Invention Network.
-+   An included package of the Open Invention Network is a package for which
-+   Open Invention Network licensees cross-license their patents.  No patent
-+   license is granted, either expressly or impliedly, by designation as an
-+   included package.  Should you wish to participate in the Open Invention
-+   Network licensing program, please visit www.openinventionnetwork.com
-+   <http://www.openinventionnetwork.com>.  */
-+
-+#ifdef HAVE_CONFIG_H
-+# include <config.h>
-+#endif
-+
-+#include <string.h>
-+#include <assert.h>
-+#include <dwarf.h>
-+#include <elf.h>
-+
-+#include "../libebl/libeblP.h"
-+#include "../libdw/libdwP.h"
-+
-+#define BACKEND mips_
-+#include "libebl_CPU.h"
-+
-+/* The ABI of the file.  Also see EF_MIPS_ABI2 above. */
-+#define EF_MIPS_ABI		0x0000F000
-+
-+/* The original o32 abi. */
-+#define E_MIPS_ABI_O32          0x00001000
-+
-+/* O32 extended to work on 64 bit architectures */
-+#define E_MIPS_ABI_O64          0x00002000
-+
-+/* EABI in 32 bit mode */
-+#define E_MIPS_ABI_EABI32       0x00003000
-+
-+/* EABI in 64 bit mode */
-+#define E_MIPS_ABI_EABI64       0x00004000
-+
-+/* All the possible MIPS ABIs. */
-+enum mips_abi
-+  {
-+    MIPS_ABI_UNKNOWN = 0,
-+    MIPS_ABI_N32,
-+    MIPS_ABI_O32,
-+    MIPS_ABI_N64,
-+    MIPS_ABI_O64,
-+    MIPS_ABI_EABI32,
-+    MIPS_ABI_EABI64,
-+    MIPS_ABI_LAST
-+  };
-+
-+/* Find the mips ABI of the current file */
-+enum mips_abi find_mips_abi(Elf *elf)
-+{
-+  GElf_Ehdr ehdr_mem;
-+  GElf_Ehdr *ehdr = gelf_getehdr (elf, &ehdr_mem);
-+
-+  if (ehdr == NULL)
-+    return MIPS_ABI_LAST;
-+
-+  GElf_Word elf_flags = ehdr->e_flags;
-+
-+  /* Check elf_flags to see if it specifies the ABI being used.  */
-+  switch ((elf_flags & EF_MIPS_ABI))
-+    {
-+    case E_MIPS_ABI_O32:
-+      return MIPS_ABI_O32;
-+    case E_MIPS_ABI_O64:
-+      return MIPS_ABI_O64;
-+    case E_MIPS_ABI_EABI32:
-+      return MIPS_ABI_EABI32;
-+    case E_MIPS_ABI_EABI64:
-+      return MIPS_ABI_EABI64;
-+    default:
-+      if ((elf_flags & EF_MIPS_ABI2))
-+	return MIPS_ABI_N32;
-+    }
-+
-+  /* GCC creates a pseudo-section whose name describes the ABI.  */
-+  size_t shstrndx;
-+  if (elf_getshdrstrndx (elf, &shstrndx) < 0)
-+    return MIPS_ABI_LAST;
-+
-+  const char *name;
-+  Elf_Scn *scn = NULL;
-+  while ((scn = elf_nextscn (elf, scn)) != NULL)
-+    {
-+      GElf_Shdr shdr_mem;
-+      GElf_Shdr *shdr = gelf_getshdr (scn, &shdr_mem);
-+      if (shdr == NULL)
-+        return MIPS_ABI_LAST;
-+
-+      name = elf_strptr (elf, shstrndx, shdr->sh_name) ?: "";
-+      if (strncmp (name, ".mdebug.", 8) != 0)
-+        continue;
-+
-+      if (strcmp (name, ".mdebug.abi32") == 0)
-+        return MIPS_ABI_O32;
-+      else if (strcmp (name, ".mdebug.abiN32") == 0)
-+        return MIPS_ABI_N32;
-+      else if (strcmp (name, ".mdebug.abi64") == 0)
-+        return MIPS_ABI_N64;
-+      else if (strcmp (name, ".mdebug.abiO64") == 0)
-+        return MIPS_ABI_O64;
-+      else if (strcmp (name, ".mdebug.eabi32") == 0)
-+        return MIPS_ABI_EABI32;
-+      else if (strcmp (name, ".mdebug.eabi64") == 0)
-+        return MIPS_ABI_EABI64;
-+      else
-+        return MIPS_ABI_UNKNOWN;
-+    }
-+
-+  return MIPS_ABI_UNKNOWN;
-+}
-+
-+unsigned int
-+mips_abi_regsize (enum mips_abi abi)
-+{
-+  switch (abi)
-+    {
-+    case MIPS_ABI_EABI32:
-+    case MIPS_ABI_O32:
-+      return 4;
-+    case MIPS_ABI_N32:
-+    case MIPS_ABI_N64:
-+    case MIPS_ABI_O64:
-+    case MIPS_ABI_EABI64:
-+      return 8;
-+    case MIPS_ABI_UNKNOWN:
-+    case MIPS_ABI_LAST:
-+    default:
-+      return 0;
-+    }
-+}
-+
-+
-+/* $v0 or pair $v0, $v1 */
-+static const Dwarf_Op loc_intreg_o32[] =
-+  {
-+    { .atom = DW_OP_reg2 }, { .atom = DW_OP_piece, .number = 4 },
-+    { .atom = DW_OP_reg3 }, { .atom = DW_OP_piece, .number = 4 },
-+  };
-+
-+static const Dwarf_Op loc_intreg[] =
-+  {
-+    { .atom = DW_OP_reg2 }, { .atom = DW_OP_piece, .number = 8 },
-+    { .atom = DW_OP_reg3 }, { .atom = DW_OP_piece, .number = 8 },
-+  };
-+#define nloc_intreg	1
-+#define nloc_intregpair	4
-+
-+/* $f0 (float), or pair $f0, $f1 (double).
-+ * f2/f3 are used for COMPLEX (= 2 doubles) returns in Fortran */
-+static const Dwarf_Op loc_fpreg_o32[] =
-+  {
-+    { .atom = DW_OP_regx, .number = 32 }, { .atom = DW_OP_piece, .number = 4 },
-+    { .atom = DW_OP_regx, .number = 33 }, { .atom = DW_OP_piece, .number = 4 },
-+    { .atom = DW_OP_regx, .number = 34 }, { .atom = DW_OP_piece, .number = 4 },
-+    { .atom = DW_OP_regx, .number = 35 }, { .atom = DW_OP_piece, .number = 4 },
-+  };
-+
-+/* $f0, or pair $f0, $f2.  */
-+static const Dwarf_Op loc_fpreg[] =
-+  {
-+    { .atom = DW_OP_regx, .number = 32 }, { .atom = DW_OP_piece, .number = 8 },
-+    { .atom = DW_OP_regx, .number = 34 }, { .atom = DW_OP_piece, .number = 8 },
-+  };
-+#define nloc_fpreg  1
-+#define nloc_fpregpair 4
-+#define nloc_fpregquad 8
-+
-+/* The return value is a structure and is actually stored in stack space
-+   passed in a hidden argument by the caller.  But, the compiler
-+   helpfully returns the address of that space in $v0.  */
-+static const Dwarf_Op loc_aggregate[] =
-+  {
-+    { .atom = DW_OP_breg2, .number = 0 }
-+  };
-+#define nloc_aggregate 1
-+
-+int
-+mips_return_value_location (Dwarf_Die *functypedie, const Dwarf_Op **locp)
-+{
-+  /* First find the ABI used by the elf object */
-+  enum mips_abi abi = find_mips_abi(functypedie->cu->dbg->elf);
-+
-+  /* Something went seriously wrong while trying to figure out the ABI */
-+  if (abi == MIPS_ABI_LAST)
-+    return -1;
-+
-+  /* We couldn't identify the ABI, but the file seems valid */
-+  if (abi == MIPS_ABI_UNKNOWN)
-+    return -2;
-+
-+  /* Can't handle EABI variants */
-+  if ((abi == MIPS_ABI_EABI32) || (abi == MIPS_ABI_EABI64))
-+    return -2;
-+
-+  unsigned int regsize = mips_abi_regsize (abi);
-+  if (!regsize)
-+    return -2;
-+
-+  /* Start with the function's type, and get the DW_AT_type attribute,
-+     which is the type of the return value.  */
-+
-+  Dwarf_Attribute attr_mem;
-+  Dwarf_Attribute *attr = dwarf_attr_integrate (functypedie, DW_AT_type, &attr_mem);
-+  if (attr == NULL)
-+    /* The function has no return value, like a `void' function in C.  */
-+    return 0;
-+
-+  Dwarf_Die die_mem;
-+  Dwarf_Die *typedie = dwarf_formref_die (attr, &die_mem);
-+  int tag = dwarf_tag (typedie);
-+
-+  /* Follow typedefs and qualifiers to get to the actual type.  */
-+  while (tag == DW_TAG_typedef
-+	 || tag == DW_TAG_const_type || tag == DW_TAG_volatile_type
-+	 || tag == DW_TAG_restrict_type)
-+    {
-+      attr = dwarf_attr_integrate (typedie, DW_AT_type, &attr_mem);
-+      typedie = dwarf_formref_die (attr, &die_mem);
-+      tag = dwarf_tag (typedie);
-+    }
-+
-+  switch (tag)
-+    {
-+    case -1:
-+      return -1;
-+
-+    case DW_TAG_subrange_type:
-+      if (! dwarf_hasattr_integrate (typedie, DW_AT_byte_size))
-+	{
-+	  attr = dwarf_attr_integrate (typedie, DW_AT_type, &attr_mem);
-+	  typedie = dwarf_formref_die (attr, &die_mem);
-+	  tag = dwarf_tag (typedie);
-+	}
-+      /* Fall through.  */
-+
-+    case DW_TAG_base_type:
-+    case DW_TAG_enumeration_type:
-+    case DW_TAG_pointer_type:
-+    case DW_TAG_ptr_to_member_type:
-+      {
-+        Dwarf_Word size;
-+	if (dwarf_formudata (dwarf_attr_integrate (typedie, DW_AT_byte_size,
-+					 &attr_mem), &size) != 0)
-+	  {
-+	    if (tag == DW_TAG_pointer_type || tag == DW_TAG_ptr_to_member_type)
-+	      size = regsize;
-+	    else
-+	      return -1;
-+	  }
-+	if (tag == DW_TAG_base_type)
-+	  {
-+	    Dwarf_Word encoding;
-+	    if (dwarf_formudata (dwarf_attr_integrate (typedie, DW_AT_encoding,
-+					     &attr_mem), &encoding) != 0)
-+	      return -1;
-+
-+#define ABI_LOC(loc, regsize) ((regsize) == 4 ? (loc ## _o32) : (loc))
-+
-+	    if (encoding == DW_ATE_float)
-+	      {
-+		*locp = ABI_LOC(loc_fpreg, regsize);
-+		if (size <= regsize)
-+		    return nloc_fpreg;
-+
-+		if (size <= 2*regsize)
-+                  return nloc_fpregpair;
-+
-+		if (size <= 4*regsize && abi == MIPS_ABI_O32)
-+                  return nloc_fpregquad;
-+
-+		goto aggregate;
-+	      }
-+	  }
-+	*locp = ABI_LOC(loc_intreg, regsize);
-+	if (size <= regsize)
-+	  return nloc_intreg;
-+	if (size <= 2*regsize)
-+	  return nloc_intregpair;
-+
-+	/* Else fall through. Shouldn't happen though (at least with gcc) */
-+      }
-+
-+    case DW_TAG_structure_type:
-+    case DW_TAG_class_type:
-+    case DW_TAG_union_type:
-+    case DW_TAG_array_type:
-+    aggregate:
-+      /* XXX TODO: Can't handle structure return with other ABI's yet :-/ */
-+      if ((abi != MIPS_ABI_O32) && (abi != MIPS_ABI_O64))
-+        return -2;
-+
-+      *locp = loc_aggregate;
-+      return nloc_aggregate;
-+    }
-+
-+  /* XXX We don't have a good way to return specific errors from ebl calls.
-+     This value means we do not understand the type, but it is well-formed
-+     DWARF and might be valid.  */
-+  return -2;
-+}
-diff --git a/backends/mips_symbol.c b/backends/mips_symbol.c
-new file mode 100644
-index 0000000..261b05d
---- /dev/null
-+++ b/backends/mips_symbol.c
-@@ -0,0 +1,53 @@
-+/* MIPS specific symbolic name handling.
-+   Copyright (C) 2002, 2003, 2005 Red Hat, Inc.
-+   This file is part of Red Hat elfutils.
-+   Written by Jakub Jelinek <jakub@redhat.com>, 2002.
-+
-+   Red Hat elfutils is free software; you can redistribute it and/or modify
-+   it under the terms of the GNU General Public License as published by the
-+   Free Software Foundation; version 2 of the License.
-+
-+   Red Hat elfutils is distributed in the hope that it will be useful, but
-+   WITHOUT ANY WARRANTY; without even the implied warranty of
-+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-+   General Public License for more details.
-+
-+   You should have received a copy of the GNU General Public License along
-+   with Red Hat elfutils; if not, write to the Free Software Foundation,
-+   Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
-+
-+   Red Hat elfutils is an included package of the Open Invention Network.
-+   An included package of the Open Invention Network is a package for which
-+   Open Invention Network licensees cross-license their patents.  No patent
-+   license is granted, either expressly or impliedly, by designation as an
-+   included package.  Should you wish to participate in the Open Invention
-+   Network licensing program, please visit www.openinventionnetwork.com
-+   <http://www.openinventionnetwork.com>.  */
-+
-+#ifdef HAVE_CONFIG_H
-+# include <config.h>
-+#endif
-+
-+#include <elf.h>
-+#include <stddef.h>
-+
-+#define BACKEND		mips_
-+#include "libebl_CPU.h"
-+
-+/* Check for the simple reloc types.  */
-+Elf_Type
-+mips_reloc_simple_type (Ebl *ebl __attribute__ ((unused)), int type,
-+                        int *addsub __attribute__ ((unused)))
-+{
-+  switch (type)
-+    {
-+    case R_MIPS_16:
-+      return ELF_T_HALF;
-+    case R_MIPS_32:
-+      return ELF_T_WORD;
-+    case R_MIPS_64:
-+      return ELF_T_XWORD;
-+    default:
-+      return ELF_T_NUM;
-+    }
-+}
-diff --git a/libebl/eblopenbackend.c b/libebl/eblopenbackend.c
-index 210b47e..1feac13 100644
---- a/libebl/eblopenbackend.c
-+++ b/libebl/eblopenbackend.c
-@@ -57,6 +57,7 @@ const char *m68k_init (Elf *, GElf_Half, Ebl *, size_t);
- const char *bpf_init (Elf *, GElf_Half, Ebl *, size_t);
- const char *riscv_init (Elf *, GElf_Half, Ebl *, size_t);
- const char *csky_init (Elf *, GElf_Half, Ebl *, size_t);
-+const char *mips_init (Elf *, GElf_Half, Ebl *, size_t);
- 
- /* This table should contain the complete list of architectures as far
-    as the ELF specification is concerned.  */
-@@ -87,6 +88,8 @@ static const struct
-   { sparc_init, "elf_sparc", "sparc", 5, EM_SPARC, 0, 0 },
-   { sparc_init, "elf_sparcv8plus", "sparc", 5, EM_SPARC32PLUS, 0, 0 },
-   { s390_init, "ebl_s390", "s390", 4, EM_S390, 0, 0 },
-+  { mips_init, "elf_mips", "mips", 4, EM_MIPS, 0, 0 },
-+  { mips_init, "elf_mipsel", "mipsel", 4, EM_MIPS_RS3_LE, 0, 0 },
- 
-   { NULL, "elf_m32", "m32", 3, EM_M32, 0, 0 },
-   { m68k_init, "elf_m68k", "m68k", 4, EM_68K, ELFCLASS32, ELFDATA2MSB },
--- 
-2.17.1
-
diff --git a/poky/meta/recipes-devtools/elfutils/files/debian/mips_cfi.patch b/poky/meta/recipes-devtools/elfutils/files/debian/mips_cfi.patch
deleted file mode 100644
index dd8f88a..0000000
--- a/poky/meta/recipes-devtools/elfutils/files/debian/mips_cfi.patch
+++ /dev/null
@@ -1,129 +0,0 @@
-From 5bf6117a6eaf9007ce80adbb8b66a95ca98047a4 Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Wed, 21 Aug 2019 17:00:30 +0800
-Subject: [PATCH] mips_cfi
-
-Upstream-Status: Pending [from debian]
-
-Rebase to 0.177
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
-
----
- backends/Makefile.am |  2 +-
- backends/mips_cfi.c  | 80 ++++++++++++++++++++++++++++++++++++++++++++
- backends/mips_init.c |  1 +
- 3 files changed, 82 insertions(+), 1 deletion(-)
- create mode 100644 backends/mips_cfi.c
-
-diff --git a/backends/Makefile.am b/backends/Makefile.am
-index 07d45d7..dec3080 100644
---- a/backends/Makefile.am
-+++ b/backends/Makefile.am
-@@ -100,7 +100,7 @@ riscv_SRCS = riscv_init.c riscv_symbol.c riscv_cfi.c riscv_regs.c \
- csky_SRCS = csky_attrs.c csky_init.c csky_symbol.c csky_cfi.c \
- 	    csky_regs.c csky_initreg.c csky_corenote.c
- 
--mips_SRCS = mips_init.c mips_symbol.c mips_regs.c mips_retval.c
-+mips_SRCS = mips_init.c mips_symbol.c mips_regs.c mips_retval.c mips_cfi.c
- 
- libebl_backends_a_SOURCES = $(i386_SRCS) $(sh_SRCS) $(x86_64_SRCS) \
- 			    $(ia64_SRCS) $(alpha_SRCS) $(arm_SRCS) \
-diff --git a/backends/mips_cfi.c b/backends/mips_cfi.c
-new file mode 100644
-index 0000000..9ffdab5
---- /dev/null
-+++ b/backends/mips_cfi.c
-@@ -0,0 +1,80 @@
-+/* MIPS ABI-specified defaults for DWARF CFI.
-+   Copyright (C) 2018 Kurt Roeckx, Inc.
-+   This file is part of elfutils.
-+
-+   This file is free software; you can redistribute it and/or modify
-+   it under the terms of either
-+
-+     * the GNU Lesser General Public License as published by the Free
-+       Software Foundation; either version 3 of the License, or (at
-+       your option) any later version
-+
-+   or
-+
-+     * the GNU General Public License as published by the Free
-+       Software Foundation; either version 2 of the License, or (at
-+       your option) any later version
-+
-+   or both in parallel, as here.
-+
-+   elfutils is distributed in the hope that it will be useful, but
-+   WITHOUT ANY WARRANTY; without even the implied warranty of
-+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-+   General Public License for more details.
-+
-+   You should have received copies of the GNU General Public License and
-+   the GNU Lesser General Public License along with this program.  If
-+   not, see <http://www.gnu.org/licenses/>.  */
-+
-+#ifdef HAVE_CONFIG_H
-+# include <config.h>
-+#endif
-+
-+#include <dwarf.h>
-+
-+#define BACKEND mips_
-+#include "libebl_CPU.h"
-+
-+int
-+mips_abi_cfi (Ebl *ebl __attribute__ ((unused)), Dwarf_CIE *abi_info)
-+{
-+  static const uint8_t abi_cfi[] =
-+    {
-+      /* Call-saved regs.  */
-+      DW_CFA_same_value, ULEB128_7 (16), /* $16 */
-+      DW_CFA_same_value, ULEB128_7 (17), /* $17 */
-+      DW_CFA_same_value, ULEB128_7 (18), /* $18 */
-+      DW_CFA_same_value, ULEB128_7 (19), /* $19 */
-+      DW_CFA_same_value, ULEB128_7 (20), /* $20 */
-+      DW_CFA_same_value, ULEB128_7 (21), /* $21 */
-+      DW_CFA_same_value, ULEB128_7 (22), /* $22 */
-+      DW_CFA_same_value, ULEB128_7 (23), /* $23 */
-+      DW_CFA_same_value, ULEB128_7 (28), /* $28 */
-+      DW_CFA_same_value, ULEB128_7 (29), /* $29 */
-+      DW_CFA_same_value, ULEB128_7 (30), /* $30 */
-+
-+      DW_CFA_same_value, ULEB128_7 (52), /* $f20 */
-+      DW_CFA_same_value, ULEB128_7 (53), /* $f21 */
-+      DW_CFA_same_value, ULEB128_7 (54), /* $f22 */
-+      DW_CFA_same_value, ULEB128_7 (55), /* $f23 */
-+      DW_CFA_same_value, ULEB128_7 (56), /* $f24 */
-+      DW_CFA_same_value, ULEB128_7 (57), /* $f25 */
-+      DW_CFA_same_value, ULEB128_7 (58), /* $f26 */
-+      DW_CFA_same_value, ULEB128_7 (59), /* $f27 */
-+      DW_CFA_same_value, ULEB128_7 (60), /* $f28 */
-+      DW_CFA_same_value, ULEB128_7 (61), /* $f29 */
-+      DW_CFA_same_value, ULEB128_7 (62), /* $f30 */
-+      DW_CFA_same_value, ULEB128_7 (63), /* $f31 */
-+
-+      /* The CFA is the SP.  */
-+      DW_CFA_def_cfa, ULEB128_7 (29), ULEB128_7 (0),
-+    };
-+
-+  abi_info->initial_instructions = abi_cfi;
-+  abi_info->initial_instructions_end = &abi_cfi[sizeof abi_cfi];
-+  abi_info->data_alignment_factor = 4;
-+
-+  abi_info->return_address_register = 31; /* $31 */
-+
-+  return 0;
-+}
-diff --git a/backends/mips_init.c b/backends/mips_init.c
-index 8482e7f..bce5abe 100644
---- a/backends/mips_init.c
-+++ b/backends/mips_init.c
-@@ -50,6 +50,7 @@ mips_init (Elf *elf __attribute__ ((unused)),
-   HOOK (eh, reloc_simple_type);
-   HOOK (eh, return_value_location);
-   HOOK (eh, register_info);
-+  HOOK (eh, abi_cfi);
- 
-   return MODVERSION;
- }
diff --git a/poky/meta/recipes-devtools/elfutils/files/debian/mips_readelf_w.patch b/poky/meta/recipes-devtools/elfutils/files/debian/mips_readelf_w.patch
deleted file mode 100644
index c6d42e1..0000000
--- a/poky/meta/recipes-devtools/elfutils/files/debian/mips_readelf_w.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 7bdc83296865cf2b2a5615dbdb7ac0d441fb1849 Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Wed, 21 Aug 2019 16:55:01 +0800
-Subject: [PATCH] mips_readelf_w
-
-Upstream-Status: Pending [from debian]
-
-Rebase to 0.177
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- src/readelf.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/src/readelf.c b/src/readelf.c
-index 2084fb1..5c02a9b 100644
---- a/src/readelf.c
-+++ b/src/readelf.c
-@@ -11256,7 +11256,8 @@ print_debug (Dwfl_Module *dwflmod, Ebl *ebl, GElf_Ehdr *ehdr)
-       GElf_Shdr shdr_mem;
-       GElf_Shdr *shdr = gelf_getshdr (scn, &shdr_mem);
- 
--      if (shdr != NULL && shdr->sh_type == SHT_PROGBITS)
-+      if (shdr != NULL && (
-+	 (shdr->sh_type == SHT_PROGBITS) || (shdr->sh_type == SHT_MIPS_DWARF)))
- 	{
- 	  static const struct
- 	  {
--- 
-2.7.4
-
diff --git a/poky/meta/recipes-devtools/elfutils/files/debian/testsuite-ignore-elflint.diff b/poky/meta/recipes-devtools/elfutils/files/debian/testsuite-ignore-elflint.diff
deleted file mode 100644
index e6d7948..0000000
--- a/poky/meta/recipes-devtools/elfutils/files/debian/testsuite-ignore-elflint.diff
+++ /dev/null
@@ -1,52 +0,0 @@
-From 6393b0e57872b3ffedf0dbd6784cd29694010878 Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Wed, 21 Aug 2019 16:59:01 +0800
-Subject: [PATCH 1/2] testsuite-ignore-elflint
-
-Upstream-Status: Pending [from debian]
-
-Rebase to 0.177
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- tests/run-elflint-self.sh |  2 +-
- tests/test-subr.sh        | 15 +++++++++++++++
- 2 files changed, 16 insertions(+), 1 deletion(-)
-
-diff --git a/tests/run-elflint-self.sh b/tests/run-elflint-self.sh
-index 58fa7d0..85d21a5 100755
---- a/tests/run-elflint-self.sh
-+++ b/tests/run-elflint-self.sh
-@@ -18,5 +18,5 @@
- 
- . $srcdir/test-subr.sh
- 
--testrun_on_self ${abs_top_builddir}/src/elflint --quiet --gnu-ld
-+testrun_on_self_skip ${abs_top_builddir}/src/elflint --quiet --gnu-ld
- testrun_on_self_compressed ${abs_top_builddir}/src/elflint --quiet --gnu-ld
-diff --git a/tests/test-subr.sh b/tests/test-subr.sh
-index 09f428d..26f61f1 100644
---- a/tests/test-subr.sh
-+++ b/tests/test-subr.sh
-@@ -201,3 +201,18 @@ testrun_on_self_quiet()
-   # Only exit if something failed
-   if test $exit_status != 0; then exit $exit_status; fi
- }
-+
-+# Same as testrun_on_self(), but skip on failure.
-+testrun_on_self_skip()
-+{
-+  exit_status=0
-+
-+  for file in $self_test_files; do
-+      testrun $* $file \
-+	  || { echo "*** failure in $* $file"; exit_status=77; }
-+  done
-+
-+  # Only exit if something failed
-+  if test $exit_status != 0; then exit $exit_status; fi
-+}
-+
--- 
-2.7.4
-
diff --git a/poky/meta/recipes-devtools/gnu-config/gnu-config_git.bb b/poky/meta/recipes-devtools/gnu-config/gnu-config_git.bb
index 9d1874c..54eb5e4 100644
--- a/poky/meta/recipes-devtools/gnu-config/gnu-config_git.bb
+++ b/poky/meta/recipes-devtools/gnu-config/gnu-config_git.bb
@@ -8,8 +8,8 @@
 
 INHIBIT_DEFAULT_DEPS = "1"
 
-SRCREV = "e78c96e5288993aaea3ec44e5c6ee755c668da79"
-PV = "20200515+git${SRCPV}"
+SRCREV = "696cd4a4eab1ee9fefbb7e38dbab291d741d0c5a"
+PV = "20200621+git${SRCPV}"
 
 SRC_URI = "git://git.savannah.gnu.org/config.git \
            file://gnu-configize.in"
diff --git a/poky/meta/recipes-devtools/go/go-binary-native_1.14.4.bb b/poky/meta/recipes-devtools/go/go-binary-native_1.14.4.bb
index 3c535e1..72c9889 100644
--- a/poky/meta/recipes-devtools/go/go-binary-native_1.14.4.bb
+++ b/poky/meta/recipes-devtools/go/go-binary-native_1.14.4.bb
@@ -11,6 +11,9 @@
 SRC_URI[go_linux_amd64.sha256sum] = "aed845e4185a0b2a3c3d5e1d0a35491702c55889192bb9c30e67a3de6849c067"
 SRC_URI[go_linux_arm64.sha256sum] = "05dc46ada4e23a1f58e72349f7c366aae2e9c7a7f1e7653095538bc5bba5e077"
 
+UPSTREAM_CHECK_URI = "https://golang.org/dl/"
+UPSTREAM_CHECK_REGEX = "go(?P<pver>\d+(\.\d+)+)\.linux"
+
 S = "${WORKDIR}/go"
 
 inherit goarch native
diff --git a/poky/meta/recipes-devtools/jquery/jquery_3.5.1.bb b/poky/meta/recipes-devtools/jquery/jquery_3.5.1.bb
index b4d7e80..62f0dfb 100644
--- a/poky/meta/recipes-devtools/jquery/jquery_3.5.1.bb
+++ b/poky/meta/recipes-devtools/jquery/jquery_3.5.1.bb
@@ -2,12 +2,14 @@
 HOMEPAGE = "https://jquery.com/"
 LICENSE = "MIT"
 SECTION = "devel"
-LIC_FILES_CHKSUM = "file://${WORKDIR}/${BP}.js;beginline=8;endline=10;md5=ebd7bc5d23ab165188e526a0c65d24bb"
+LIC_FILES_CHKSUM = "file://${S}/${BP}.js;beginline=8;endline=10;md5=ebd7bc5d23ab165188e526a0c65d24bb"
 
+# unpack items to ${S} so the archiver can see them
+#
 SRC_URI = "\
-    https://code.jquery.com/${BP}.js;name=js \
-    https://code.jquery.com/${BP}.min.js;name=min \
-    https://code.jquery.com/${BP}.min.map;name=map \
+    https://code.jquery.com/${BP}.js;name=js;subdir=${BP} \
+    https://code.jquery.com/${BP}.min.js;name=min;subdir=${BP} \
+    https://code.jquery.com/${BP}.min.map;name=map;subdir=${BP} \
     "
 
 SRC_URI[js.sha256sum] = "416a3b2c3bf16d64f6b5b6d0f7b079df2267614dd6847fc2f3271b4409233c37"
@@ -20,9 +22,9 @@
 
 do_install() {
     install -d ${D}${datadir}/javascript/${BPN}/
-    install -m 644 ${WORKDIR}/${BP}.js ${D}${datadir}/javascript/${BPN}/${BPN}.js
-    install -m 644 ${WORKDIR}/${BP}.min.js ${D}${datadir}/javascript/${BPN}/${BPN}.min.js
-    install -m 644 ${WORKDIR}/${BP}.min.map ${D}${datadir}/javascript/${BPN}/${BPN}.min.map
+    install -m 644 ${S}/${BP}.js ${D}${datadir}/javascript/${BPN}/${BPN}.js
+    install -m 644 ${S}/${BP}.min.js ${D}${datadir}/javascript/${BPN}/${BPN}.min.js
+    install -m 644 ${S}/${BP}.min.map ${D}${datadir}/javascript/${BPN}/${BPN}.min.map
 }
 
 PACKAGES = "${PN}"
diff --git a/poky/meta/recipes-devtools/json-c/json-c/CVE-2020-12762.patch b/poky/meta/recipes-devtools/json-c/json-c/CVE-2020-12762.patch
new file mode 100644
index 0000000..a45cfb6
--- /dev/null
+++ b/poky/meta/recipes-devtools/json-c/json-c/CVE-2020-12762.patch
@@ -0,0 +1,160 @@
+From 099016b7e8d70a6d5dd814e788bba08d33d48426 Mon Sep 17 00:00:00 2001
+From: Tobias Stoeckmann <tobias@stoeckmann.org>
+Date: Mon, 4 May 2020 19:41:16 +0200
+Subject: [PATCH 1/3] Protect array_list_del_idx against size_t overflow.
+
+If the assignment of stop overflows due to idx and count being
+larger than SIZE_T_MAX in sum, out of boundary access could happen.
+
+It takes invalid usage of this function for this to happen, but
+I decided to add this check so array_list_del_idx is as safe against
+bad usage as the other arraylist functions.
+
+Upstream-Status: Backport [https://github.com/json-c/json-c/commit/31243e4d1204ef78be34b0fcae73221eee6b83be]
+CVE: CVE-2020-12762
+Signed-off-by: Chee Yang Lee <chee.yang.lee@intel.com>
+
+---
+ arraylist.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/arraylist.c b/arraylist.c
+index 12ad8af6d3..e5524aca75 100644
+--- a/arraylist.c
++++ b/arraylist.c
+@@ -136,6 +136,9 @@ int array_list_del_idx(struct array_list *arr, size_t idx, size_t count)
+ {
+ 	size_t i, stop;
+ 
++	/* Avoid overflow in calculation with large indices. */
++	if (idx > SIZE_T_MAX - count)
++		return -1;
+ 	stop = idx + count;
+ 	if (idx >= arr->length || stop > arr->length)
+ 		return -1;
+
+From 77d935b7ae7871a1940cd827e850e6063044ec45 Mon Sep 17 00:00:00 2001
+From: Tobias Stoeckmann <tobias@stoeckmann.org>
+Date: Mon, 4 May 2020 19:46:45 +0200
+Subject: [PATCH 2/3] Prevent division by zero in linkhash.
+
+If a linkhash with a size of zero is created, then modulo operations
+are prone to division by zero operations.
+
+Purely protective measure against bad usage.
+---
+ linkhash.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/linkhash.c b/linkhash.c
+index 7ea58c0abf..f05cc38030 100644
+--- a/linkhash.c
++++ b/linkhash.c
+@@ -12,6 +12,7 @@
+ 
+ #include "config.h"
+ 
++#include <assert.h>
+ #include <limits.h>
+ #include <stdarg.h>
+ #include <stddef.h>
+@@ -499,6 +500,8 @@ struct lh_table *lh_table_new(int size, lh_entry_free_fn *free_fn, lh_hash_fn *h
+ 	int i;
+ 	struct lh_table *t;
+ 
++	/* Allocate space for elements to avoid divisions by zero. */
++	assert(size > 0);
+ 	t = (struct lh_table *)calloc(1, sizeof(struct lh_table));
+ 	if (!t)
+ 		return NULL;
+
+From d07b91014986900a3a75f306d302e13e005e9d67 Mon Sep 17 00:00:00 2001
+From: Tobias Stoeckmann <tobias@stoeckmann.org>
+Date: Mon, 4 May 2020 19:47:25 +0200
+Subject: [PATCH 3/3] Fix integer overflows.
+
+The data structures linkhash and printbuf are limited to 2 GB in size
+due to a signed integer being used to track their current size.
+
+If too much data is added, then size variable can overflow, which is
+an undefined behaviour in C programming language.
+
+Assuming that a signed int overflow just leads to a negative value,
+like it happens on many sytems (Linux i686/amd64 with gcc), then
+printbuf is vulnerable to an out of boundary write on 64 bit systems.
+---
+ linkhash.c |  7 +++++--
+ printbuf.c | 19 ++++++++++++++++---
+ 2 files changed, 21 insertions(+), 5 deletions(-)
+
+diff --git a/linkhash.c b/linkhash.c
+index f05cc38030..51e90b13a2 100644
+--- a/linkhash.c
++++ b/linkhash.c
+@@ -580,9 +580,12 @@ int lh_table_insert_w_hash(struct lh_table *t, const void *k, const void *v, con
+ {
+ 	unsigned long n;
+ 
+-	if (t->count >= t->size * LH_LOAD_FACTOR)
+-		if (lh_table_resize(t, t->size * 2) != 0)
++	if (t->count >= t->size * LH_LOAD_FACTOR) {
++		/* Avoid signed integer overflow with large tables. */
++		int new_size = INT_MAX / 2 < t->size ? t->size * 2 : INT_MAX;
++		if (t->size == INT_MAX || lh_table_resize(t, new_size) != 0)
+ 			return -1;
++	}
+ 
+ 	n = h % t->size;
+ 
+diff --git a/printbuf.c b/printbuf.c
+index 976c12dde5..00822fac4f 100644
+--- a/printbuf.c
++++ b/printbuf.c
+@@ -15,6 +15,7 @@
+ 
+ #include "config.h"
+ 
++#include <limits.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
+@@ -65,10 +66,16 @@ static int printbuf_extend(struct printbuf *p, int min_size)
+ 
+ 	if (p->size >= min_size)
+ 		return 0;
+-
+-	new_size = p->size * 2;
+-	if (new_size < min_size + 8)
++	/* Prevent signed integer overflows with large buffers. */
++	if (min_size > INT_MAX - 8)
++		return -1;
++	if (p->size > INT_MAX / 2)
+ 		new_size = min_size + 8;
++	else {
++		new_size = p->size * 2;
++		if (new_size < min_size + 8)
++			new_size = min_size + 8;
++	}
+ #ifdef PRINTBUF_DEBUG
+ 	MC_DEBUG("printbuf_memappend: realloc "
+ 	         "bpos=%d min_size=%d old_size=%d new_size=%d\n",
+@@ -83,6 +90,9 @@ static int printbuf_extend(struct printbuf *p, int min_size)
+ 
+ int printbuf_memappend(struct printbuf *p, const char *buf, int size)
+ {
++	/* Prevent signed integer overflows with large buffers. */
++	if (size > INT_MAX - p->bpos - 1)
++		return -1;
+ 	if (p->size <= p->bpos + size + 1)
+ 	{
+ 		if (printbuf_extend(p, p->bpos + size + 1) < 0)
+@@ -100,6 +110,9 @@ int printbuf_memset(struct printbuf *pb, int offset, int charvalue, int len)
+ 
+ 	if (offset == -1)
+ 		offset = pb->bpos;
++	/* Prevent signed integer overflows with large buffers. */
++	if (len > INT_MAX - offset)
++		return -1;
+ 	size_needed = offset + len;
+ 	if (pb->size < size_needed)
+ 	{
diff --git a/poky/meta/recipes-devtools/json-c/json-c_0.14.bb b/poky/meta/recipes-devtools/json-c/json-c_0.14.bb
index 99fde87..1d501d1 100644
--- a/poky/meta/recipes-devtools/json-c/json-c_0.14.bb
+++ b/poky/meta/recipes-devtools/json-c/json-c_0.14.bb
@@ -4,7 +4,10 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://COPYING;md5=de54b60fbbc35123ba193fea8ee216f2"
 
-SRC_URI = "https://s3.amazonaws.com/json-c_releases/releases/${BP}.tar.gz"
+SRC_URI = "https://s3.amazonaws.com/json-c_releases/releases/${BP}.tar.gz \
+           file://CVE-2020-12762.patch \
+"
+
 SRC_URI[sha256sum] = "b377de08c9b23ca3b37d9a9828107dff1de5ce208ff4ebb35005a794f30c6870"
 
 UPSTREAM_CHECK_URI = "https://github.com/${BPN}/${BPN}/releases"
diff --git a/poky/meta/recipes-devtools/libdnf/libdnf/0001-Add-WITH_TESTS-option.patch b/poky/meta/recipes-devtools/libdnf/libdnf/0001-Add-WITH_TESTS-option.patch
index ac9400c..384add5 100644
--- a/poky/meta/recipes-devtools/libdnf/libdnf/0001-Add-WITH_TESTS-option.patch
+++ b/poky/meta/recipes-devtools/libdnf/libdnf/0001-Add-WITH_TESTS-option.patch
@@ -1,4 +1,4 @@
-From 56fa2bbdbd29377a6ef0d0b7aadbac8b5ea8c95b Mon Sep 17 00:00:00 2001
+From 7d60d62b5c5374156703ca7262fb2f85ec5db119 Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Tue, 6 Nov 2018 13:54:43 +0100
 Subject: [PATCH] Add WITH_TESTS option
@@ -14,7 +14,7 @@
  2 files changed, 5 insertions(+)
 
 diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 881152a..965c992 100644
+index 9c6e1b2f..8599c540 100644
 --- a/CMakeLists.txt
 +++ b/CMakeLists.txt
 @@ -33,6 +33,7 @@ option(WITH_MAN "Enables hawkey man page generation" ON)
@@ -24,8 +24,8 @@
 +option(WITH_TESTS "Enables unit tests" ON)
  
  
- # load pkg-config first; it's required by other modules
-@@ -165,8 +166,10 @@ endif()
+ # build options - debugging
+@@ -179,8 +180,10 @@ endif()
  
  
  # build tests
@@ -37,7 +37,7 @@
      add_subdirectory(python/hawkey)
  endif()
 diff --git a/python/hawkey/CMakeLists.txt b/python/hawkey/CMakeLists.txt
-index d964534..84d1720 100644
+index d9645346..84d17204 100644
 --- a/python/hawkey/CMakeLists.txt
 +++ b/python/hawkey/CMakeLists.txt
 @@ -50,4 +50,6 @@ target_link_libraries(_hawkeymodule ${PYTHON_LIBRARY})
diff --git a/poky/meta/recipes-devtools/libdnf/libdnf/0001-Use-single-quotes-around-string-literals-used-in-SQL.patch b/poky/meta/recipes-devtools/libdnf/libdnf/0001-Use-single-quotes-around-string-literals-used-in-SQL.patch
deleted file mode 100644
index 6be484f..0000000
--- a/poky/meta/recipes-devtools/libdnf/libdnf/0001-Use-single-quotes-around-string-literals-used-in-SQL.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 96ca7d0049461df2293dd0000edcbc69b64255e0 Mon Sep 17 00:00:00 2001
-From: Peter Kjellerstedt <pkj@axis.com>
-Date: Sun, 3 May 2020 22:40:39 +0200
-Subject: [PATCH] Use single-quotes around string literals used in SQL
- statements
-
-If sqlite is built with -DSQLITE_DQS=0 in accordance with
-https://sqlite.org/quirks.html#dblquote, migration to version 1.2 of the
-history database would fail with:
-
-  History database cannot be created: /var/lib/dnf/history.sqlite.
-  Error: SQLite error on ":memory:": Executing an SQL statement failed:
-  no such column: 1.2
-
-Upstream-Status: Submitted [https://github.com/rpm-software-management/libdnf/pull/951]
-Signed-off-by: Peter Kjellerstedt <pkj@axis.com>
----
- libdnf/transaction/sql/migrate_tables_1_2.sql | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/libdnf/transaction/sql/migrate_tables_1_2.sql b/libdnf/transaction/sql/migrate_tables_1_2.sql
-index 49b75315..f80ad1c4 100644
---- a/libdnf/transaction/sql/migrate_tables_1_2.sql
-+++ b/libdnf/transaction/sql/migrate_tables_1_2.sql
-@@ -1,9 +1,9 @@
- R"**(
- BEGIN TRANSACTION;
-     ALTER TABLE trans
--        ADD comment TEXT DEFAULT "";
-+        ADD comment TEXT DEFAULT '';
-     UPDATE config
--        SET value = "1.2"
-+        SET value = '1.2'
-         WHERE key = 'version';
- COMMIT;
- )**"
diff --git a/poky/meta/recipes-devtools/libdnf/libdnf_0.47.0.bb b/poky/meta/recipes-devtools/libdnf/libdnf_0.48.0.bb
similarity index 91%
rename from poky/meta/recipes-devtools/libdnf/libdnf_0.47.0.bb
rename to poky/meta/recipes-devtools/libdnf/libdnf_0.48.0.bb
index 1b06d66..947b2f2 100644
--- a/poky/meta/recipes-devtools/libdnf/libdnf_0.47.0.bb
+++ b/poky/meta/recipes-devtools/libdnf/libdnf_0.48.0.bb
@@ -8,10 +8,9 @@
            file://0001-Get-parameters-for-both-libsolv-and-libsolvext-libdn.patch \
            file://0001-Add-WITH_TESTS-option.patch \
            file://0001-Look-fo-sphinx-only-if-documentation-is-actually-ena.patch \
-           file://0001-Use-single-quotes-around-string-literals-used-in-SQL.patch \
            "
 
-SRCREV = "8330eea6985c4e4b53796f858de5b6b38b1ddf5c"
+SRCREV = "46a28d0cf09277fffc11392e5e362a2eda0d53a8"
 UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)"
 
 S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-devtools/meson/meson.inc b/poky/meta/recipes-devtools/meson/meson.inc
index a0b54f5..ffa17b3 100644
--- a/poky/meta/recipes-devtools/meson/meson.inc
+++ b/poky/meta/recipes-devtools/meson/meson.inc
@@ -15,9 +15,8 @@
            file://cross-prop-default.patch \
            file://0001-modules-python.py-do-not-substitute-python-s-install.patch \
            file://0001-gnome.py-prefix-g-i-paths-with-PKG_CONFIG_SYSROOT_DI.patch \
-           file://0001-boost-Always-sort-shared-before-static-fixes-7171.patch \
            "
-SRC_URI[sha256sum] = "a7716eeae8f8dff002e4147642589ab6496ff839e4376a5aed761f83c1fa0455"
+SRC_URI[sha256sum] = "f2bdf4cf0694e696b48261cdd14380fb1d0fe33d24744d8b2df0c12f33ebb662"
 
 SRC_URI_append_class-native = " \
     file://0001-Make-CPU-family-warnings-fatal.patch \
diff --git a/poky/meta/recipes-devtools/meson/meson/0001-Make-CPU-family-warnings-fatal.patch b/poky/meta/recipes-devtools/meson/meson/0001-Make-CPU-family-warnings-fatal.patch
index 01a8bb3..39b1af5 100644
--- a/poky/meta/recipes-devtools/meson/meson/0001-Make-CPU-family-warnings-fatal.patch
+++ b/poky/meta/recipes-devtools/meson/meson/0001-Make-CPU-family-warnings-fatal.patch
@@ -1,4 +1,4 @@
-From 830db2c7a136b2446d740c9ca025374352ffd16d Mon Sep 17 00:00:00 2001
+From 62c415eedb62905de76e2e0bbd156a947705cab2 Mon Sep 17 00:00:00 2001
 From: Ross Burton <ross.burton@intel.com>
 Date: Tue, 3 Jul 2018 13:59:09 +0100
 Subject: [PATCH] Make CPU family warnings fatal
diff --git a/poky/meta/recipes-devtools/meson/meson/0001-boost-Always-sort-shared-before-static-fixes-7171.patch b/poky/meta/recipes-devtools/meson/meson/0001-boost-Always-sort-shared-before-static-fixes-7171.patch
deleted file mode 100644
index 2172181..0000000
--- a/poky/meta/recipes-devtools/meson/meson/0001-boost-Always-sort-shared-before-static-fixes-7171.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 5862ad6965c60caa861dfdcd29e499c34c4d00da Mon Sep 17 00:00:00 2001
-From: Daniel Mensinger <daniel@mensinger-ka.de>
-Date: Thu, 21 May 2020 13:35:27 +0200
-Subject: [PATCH] boost: Always sort shared before static (fixes #7171)
-
-Upstream-Status: Backport [https://github.com/mesonbuild/meson/commit/5862ad6965c60caa861dfdcd29e499c34c4d00da]
-
-Signed-off-by: Andrew Geissler <geissonator@gmail.com>
----
- mesonbuild/dependencies/boost.py | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/mesonbuild/dependencies/boost.py b/mesonbuild/dependencies/boost.py
-index 6e85c534..38497041 100644
---- a/mesonbuild/dependencies/boost.py
-+++ b/mesonbuild/dependencies/boost.py
-@@ -189,13 +189,13 @@ class BoostLibraryFile():
-     def __lt__(self, other: T.Any) -> bool:
-         if isinstance(other, BoostLibraryFile):
-             return (
--                self.mod_name, self.version_lib, self.arch, self.static,
-+                self.mod_name, self.static, self.version_lib, self.arch,
-                 not self.mt, not self.runtime_static,
-                 not self.debug, self.runtime_debug, self.python_debug,
-                 self.stlport, self.deprecated_iostreams,
-                 self.name,
-             ) < (
--                other.mod_name, other.version_lib, other.arch, other.static,
-+                other.mod_name, other.static, other.version_lib, other.arch,
-                 not other.mt, not other.runtime_static,
-                 not other.debug, other.runtime_debug, other.python_debug,
-                 other.stlport, other.deprecated_iostreams,
---
-2.26.2
-
diff --git a/poky/meta/recipes-devtools/meson/meson/0002-Support-building-allarch-recipes-again.patch b/poky/meta/recipes-devtools/meson/meson/0002-Support-building-allarch-recipes-again.patch
index 246c4d7..bb06d99 100644
--- a/poky/meta/recipes-devtools/meson/meson/0002-Support-building-allarch-recipes-again.patch
+++ b/poky/meta/recipes-devtools/meson/meson/0002-Support-building-allarch-recipes-again.patch
@@ -1,4 +1,4 @@
-From 45df8f0a71c6b60cb98a336f8690af04965dfa9b Mon Sep 17 00:00:00 2001
+From d976d5a8abd6d42edf794d2a4c211fc6697fb14c Mon Sep 17 00:00:00 2001
 From: Peter Kjellerstedt <pkj@axis.com>
 Date: Thu, 26 Jul 2018 16:32:49 +0200
 Subject: [PATCH] Support building allarch recipes again
diff --git a/poky/meta/recipes-devtools/meson/meson_0.54.2.bb b/poky/meta/recipes-devtools/meson/meson_0.54.3.bb
similarity index 100%
rename from poky/meta/recipes-devtools/meson/meson_0.54.2.bb
rename to poky/meta/recipes-devtools/meson/meson_0.54.3.bb
diff --git a/poky/meta/recipes-devtools/meson/nativesdk-meson_0.54.2.bb b/poky/meta/recipes-devtools/meson/nativesdk-meson_0.54.3.bb
similarity index 100%
rename from poky/meta/recipes-devtools/meson/nativesdk-meson_0.54.2.bb
rename to poky/meta/recipes-devtools/meson/nativesdk-meson_0.54.3.bb
diff --git a/poky/meta/recipes-devtools/opkg-utils/opkg-utils/fix-reproducibility.patch b/poky/meta/recipes-devtools/opkg-utils/opkg-utils/fix-reproducibility.patch
deleted file mode 100644
index 945979b..0000000
--- a/poky/meta/recipes-devtools/opkg-utils/opkg-utils/fix-reproducibility.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-Fix reproducibility issues in opkg-build
-
-There is a sorting problem with opkg-build where the ipk generated is depending
-upon the order of files on disk. The reason is the --sort option to tar only
-influences the orders of files tar reads, not those passed by the -T option.
-
-Add in a sort call to resolve this issue. To ensure consistent sorting we
-also need to force to a specific locale (C) else the results are still not
-deterministic.
-
-RP 2020/2/5
-
-Upstream-Status: Submitted [https://groups.google.com/forum/#!topic/opkg-devel/YttZ73NLrYQ]
-Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-
-Index: opkg-utils-0.4.2/opkg-build
-===================================================================
---- opkg-utils-0.4.2.orig/opkg-build
-+++ opkg-utils-0.4.2/opkg-build
-@@ -305,8 +305,10 @@ if [ ! -z "$SOURCE_DATE_EPOCH"  ]; then
-     mtime_args="--mtime=@$build_date --clamp-mtime"
- fi
- 
--( cd $pkg_dir/$CONTROL && find . -type f > $tmp_dir/control_list )
--( cd $pkg_dir && find . -path ./$CONTROL -prune -o -path . -o -print  > $tmp_dir/file_list )
-+export LANG=C
-+export LC_ALL=C
-+( cd $pkg_dir/$CONTROL && find . -type f | sort > $tmp_dir/control_list )
-+( cd $pkg_dir && find . -path ./$CONTROL -prune -o -path . -o -print  | sort > $tmp_dir/file_list )
- ( cd $pkg_dir && tar $ogargs $tsortargs --no-recursion $mtime_args -c $tarformat -T $tmp_dir/file_list | $compressor $compressorargs > $tmp_dir/data.tar.$cext )
- ( cd $pkg_dir/$CONTROL && tar $ogargs $tsortargs --no-recursion --mtime=@$build_date -c $tarformat -T $tmp_dir/control_list | gzip $zipargs > $tmp_dir/control.tar.gz )
- rm $tmp_dir/file_list
diff --git a/poky/meta/recipes-devtools/opkg-utils/opkg-utils_0.4.2.bb b/poky/meta/recipes-devtools/opkg-utils/opkg-utils_0.4.3.bb
similarity index 92%
rename from poky/meta/recipes-devtools/opkg-utils/opkg-utils_0.4.2.bb
rename to poky/meta/recipes-devtools/opkg-utils/opkg-utils_0.4.3.bb
index 9315240..f9df58a 100644
--- a/poky/meta/recipes-devtools/opkg-utils/opkg-utils_0.4.2.bb
+++ b/poky/meta/recipes-devtools/opkg-utils/opkg-utils_0.4.3.bb
@@ -8,12 +8,11 @@
 PROVIDES += "${@bb.utils.contains('PACKAGECONFIG', 'update-alternatives', 'virtual/update-alternatives', '', d)}"
 
 SRC_URI = "http://git.yoctoproject.org/cgit/cgit.cgi/${BPN}/snapshot/${BPN}-${PV}.tar.gz \ 
-           file://fix-reproducibility.patch \
 "
 UPSTREAM_CHECK_URI = "http://git.yoctoproject.org/cgit/cgit.cgi/opkg-utils/refs/"
 
-SRC_URI[md5sum] = "cc210650644fcb9bba06ad5ec95a63ec"
-SRC_URI[sha256sum] = "5929ad87d541789e0b82d626db01a1201ac48df6f49f2262fcfb86cf815e5d6c"
+SRC_URI[md5sum] = "7bbadb3c381f3ea935b21d3bb8cc4671"
+SRC_URI[sha256sum] = "046517600fb0aed6c4645edefe02281f4fa2f1c02f71596152d93172452c0b01"
 
 TARGET_CC_ARCH += "${LDFLAGS}"
 
diff --git a/poky/meta/recipes-devtools/opkg/opkg_0.4.2.bb b/poky/meta/recipes-devtools/opkg/opkg_0.4.3.bb
similarity index 94%
rename from poky/meta/recipes-devtools/opkg/opkg_0.4.2.bb
rename to poky/meta/recipes-devtools/opkg/opkg_0.4.3.bb
index 66a74dc..46b7aa2 100644
--- a/poky/meta/recipes-devtools/opkg/opkg_0.4.2.bb
+++ b/poky/meta/recipes-devtools/opkg/opkg_0.4.3.bb
@@ -17,8 +17,8 @@
            file://run-ptest \
 "
 
-SRC_URI[md5sum] = "bd13e5dfc1c2536f0c7b2e15f795278e"
-SRC_URI[sha256sum] = "86887852c43457edfff9d8b6d9520f3f1cdd55f25eb600a6eb31e1c4e151e106"
+SRC_URI[md5sum] = "86ec5eee9362aca0990994a402e077e9"
+SRC_URI[sha256sum] = "dda452854bc0cd1334f7ba18a66003d1c12a98600c894111b56919b1ea434718"
 
 # This needs to be before ptest inherit, otherwise all ptest files end packaged
 # in libopkg package if OPKGLIBDIR == libdir, because default
diff --git a/poky/meta/recipes-devtools/perl/files/0001-PATCH-perl-134117-Close-DATA-in-loc_tools.pl.patch b/poky/meta/recipes-devtools/perl/files/0001-PATCH-perl-134117-Close-DATA-in-loc_tools.pl.patch
deleted file mode 100644
index 79cae0d..0000000
--- a/poky/meta/recipes-devtools/perl/files/0001-PATCH-perl-134117-Close-DATA-in-loc_tools.pl.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From a04a75f20f03aa08ce8118b3b0b3f93eb3e997c5 Mon Sep 17 00:00:00 2001
-From: Richard Leach <rich+perl@hyphen-dash-hyphen.info>
-Date: Sun, 19 May 2019 20:16:41 +0000
-Subject: [PATCH] PATCH: [perl #134117] Close DATA in loc_tools.pl
-
-This prevents unexpected text and fixes test lib/warnings.t
-
-Upstream-Status: Backport [a04a75f20f03aa08ce8118b3b0b3f93eb3e997c5]
-
-Signed-off-by: Matthew Zeng <matthew.zeng@windriver.com>
-
----
- t/loc_tools.pl | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/t/loc_tools.pl b/t/loc_tools.pl
-index c76e29388a..beebd98d88 100644
---- a/t/loc_tools.pl
-+++ b/t/loc_tools.pl
-@@ -421,7 +421,7 @@ sub find_locales ($;$) {
-         }
-
-         # The rest of the locales are in this file.
--        push @Data, <DATA>;
-+        push @Data, <DATA>; close DATA;
-
-         foreach my $line (@Data) {
-             my ($locale_name, $language_codes, $country_codes, $encodings) =
---
-2.25.0
diff --git a/poky/meta/recipes-devtools/perl/files/0001-enc2xs-Add-environment-variable-to-suppress-comments.patch b/poky/meta/recipes-devtools/perl/files/0001-enc2xs-Add-environment-variable-to-suppress-comments.patch
deleted file mode 100644
index 1a53107..0000000
--- a/poky/meta/recipes-devtools/perl/files/0001-enc2xs-Add-environment-variable-to-suppress-comments.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 31a2c5555f9ef32f35d7d5ce1fd09a010ba5f5c6 Mon Sep 17 00:00:00 2001
-From: Joshua Watt <JPEWhacker@gmail.com>
-Date: Mon, 17 Jun 2019 10:47:15 -0500
-Subject: [PATCH 1/2] enc2xs: Add environment variable to suppress comments
-
-Comment generation in enc2xs can now be suppressed by setting the
-ENC2XS_NO_COMMENTS environment variable. This allows enc2xs to produce
-reproducible output by omitting the name of the generating program.
-
-Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
-Upstream-Status: Backport [https://github.com/dankogai/p5-encode/pull/145]
----
- cpan/Encode/bin/enc2xs | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/cpan/Encode/bin/enc2xs b/cpan/Encode/bin/enc2xs
-index 619b64b757..bfce9ee735 100644
---- a/cpan/Encode/bin/enc2xs
-+++ b/cpan/Encode/bin/enc2xs
-@@ -144,6 +144,7 @@ getopts('CM:SQqOo:f:n:v',\%opt);
- $opt{M} and make_makefile_pl($opt{M}, @ARGV);
- $opt{C} and make_configlocal_pm($opt{C}, @ARGV);
- $opt{v} ||= $ENV{ENC2XS_VERBOSE};
-+$opt{q} ||= $ENV{ENC2XS_NO_COMMENTS};
- 
- sub verbose {
-     print STDERR @_ if $opt{v};
--- 
-2.21.0
-
diff --git a/poky/meta/recipes-devtools/perl/files/perl-rdepends.txt b/poky/meta/recipes-devtools/perl/files/perl-rdepends.txt
index 9ecfce0..e7cd551 100644
--- a/poky/meta/recipes-devtools/perl/files/perl-rdepends.txt
+++ b/poky/meta/recipes-devtools/perl/files/perl-rdepends.txt
@@ -59,7 +59,6 @@
 RDEPENDS_perl-module-archive-tar += "perl-module-io-zlib"
 RDEPENDS_perl-module-archive-tar += "perl-module-strict"
 RDEPENDS_perl-module-archive-tar += "perl-module-vars"
-RDEPENDS_perl-module-arybase += "perl-module-xsloader"
 RDEPENDS_perl-module-attribute-handlers += "perl-module-strict"
 RDEPENDS_perl-module-attribute-handlers += "perl-module-warnings"
 RDEPENDS_perl-module-attributes += "perl-module-exporter"
@@ -109,2317 +108,6 @@
 RDEPENDS_perl-module-b-concise += "perl-module-feature"
 RDEPENDS_perl-module-b-concise += "perl-module-strict"
 RDEPENDS_perl-module-b-concise += "perl-module-warnings"
-RDEPENDS_perl-module-b-debug += "perl-module-b"
-RDEPENDS_perl-module-b-debug += "perl-module-config"
-RDEPENDS_perl-module-b-debug += "perl-module-strict"
-RDEPENDS_perl-module-benchmark += "perl-module-exporter"
-RDEPENDS_perl-module-benchmark += "perl-module-strict"
-RDEPENDS_perl-module-bigint += "perl-module-constant"
-RDEPENDS_perl-module-bigint += "perl-module-exporter"
-RDEPENDS_perl-module-bigint += "perl-module-math-bigint"
-RDEPENDS_perl-module-bigint += "perl-module-math-bigint-trace"
-RDEPENDS_perl-module-bigint += "perl-module-overload"
-RDEPENDS_perl-module-bigint += "perl-module-strict"
-RDEPENDS_perl-module-bigint += "perl-module-warnings"
-RDEPENDS_perl-module-bignum += "perl-module-bigint"
-RDEPENDS_perl-module-bignum += "perl-module-exporter"
-RDEPENDS_perl-module-bignum += "perl-module-math-bigfloat"
-RDEPENDS_perl-module-bignum += "perl-module-math-bigfloat-trace"
-RDEPENDS_perl-module-bignum += "perl-module-math-bigint"
-RDEPENDS_perl-module-bignum += "perl-module-math-bigint-trace"
-RDEPENDS_perl-module-bignum += "perl-module-overload"
-RDEPENDS_perl-module-bignum += "perl-module-strict"
-RDEPENDS_perl-module-bignum += "perl-module-warnings"
-RDEPENDS_perl-module-bigrat += "perl-module-bigint"
-RDEPENDS_perl-module-bigrat += "perl-module-exporter"
-RDEPENDS_perl-module-bigrat += "perl-module-math-bigfloat"
-RDEPENDS_perl-module-bigrat += "perl-module-math-bigint"
-RDEPENDS_perl-module-bigrat += "perl-module-math-bigint-trace"
-RDEPENDS_perl-module-bigrat += "perl-module-math-bigrat"
-RDEPENDS_perl-module-bigrat += "perl-module-overload"
-RDEPENDS_perl-module-bigrat += "perl-module-strict"
-RDEPENDS_perl-module-bigrat += "perl-module-warnings"
-RDEPENDS_perl-module-blib += "perl-module-cwd"
-RDEPENDS_perl-module-b += "perl-module-exporter"
-RDEPENDS_perl-module-b += "perl-module-xsloader"
-RDEPENDS_perl-module-b-showlex += "perl-module-b"
-RDEPENDS_perl-module-b-showlex += "perl-module-b-concise"
-RDEPENDS_perl-module-b-showlex += "perl-module-b-terse"
-RDEPENDS_perl-module-b-showlex += "perl-module-strict"
-RDEPENDS_perl-module-b-terse += "perl-module-b"
-RDEPENDS_perl-module-b-terse += "perl-module-b-concise"
-RDEPENDS_perl-module-b-terse += "perl-module-strict"
-RDEPENDS_perl-module-b-xref += "perl-module-b"
-RDEPENDS_perl-module-b-xref += "perl-module-config"
-RDEPENDS_perl-module-b-xref += "perl-module-strict"
-RDEPENDS_perl-module-bytes += "perl-module-bytes-heavy"
-RDEPENDS_perl-module-carp += "perl-module-exporter"
-RDEPENDS_perl-module-carp += "perl-module-strict"
-RDEPENDS_perl-module-carp += "perl-module-warnings"
-RDEPENDS_perl-module--charnames += "perl-module-bytes"
-RDEPENDS_perl-module-charnames += "perl-module-bytes"
-RDEPENDS_perl-module-charnames += "perl-module--charnames"
-RDEPENDS_perl-module--charnames += "perl-module-re"
-RDEPENDS_perl-module-charnames += "perl-module-re"
-RDEPENDS_perl-module--charnames += "perl-module-strict"
-RDEPENDS_perl-module-charnames += "perl-module-strict"
-RDEPENDS_perl-module--charnames += "perl-module-warnings"
-RDEPENDS_perl-module-charnames += "perl-module-warnings"
-RDEPENDS_perl-module-class-struct += "perl-module-exporter"
-RDEPENDS_perl-module-class-struct += "perl-module-strict"
-RDEPENDS_perl-module-class-struct += "perl-module-warnings-register"
-RDEPENDS_perl-module-compress-raw-bzip2 += "perl-module-bytes "
-RDEPENDS_perl-module-compress-raw-bzip2 += "perl-module-constant"
-RDEPENDS_perl-module-compress-raw-bzip2 += "perl-module-dynaloader"
-RDEPENDS_perl-module-compress-raw-bzip2 += "perl-module-exporter"
-RDEPENDS_perl-module-compress-raw-bzip2 += "perl-module-strict "
-RDEPENDS_perl-module-compress-raw-bzip2 += "perl-module-warnings "
-RDEPENDS_perl-module-compress-raw-bzip2 += "perl-module-xsloader"
-RDEPENDS_perl-module-compress-raw-zlib += "perl-module-bytes "
-RDEPENDS_perl-module-compress-raw-zlib += "perl-module-constant"
-RDEPENDS_perl-module-compress-raw-zlib += "perl-module-dynaloader"
-RDEPENDS_perl-module-compress-raw-zlib += "perl-module-exporter"
-RDEPENDS_perl-module-compress-raw-zlib += "perl-module-strict "
-RDEPENDS_perl-module-compress-raw-zlib += "perl-module-warnings "
-RDEPENDS_perl-module-compress-raw-zlib += "perl-module-xsloader"
-RDEPENDS_perl-module-compress-zlib += "perl-module-bytes "
-RDEPENDS_perl-module-compress-zlib += "perl-module-compress-raw-zlib"
-RDEPENDS_perl-module-compress-zlib += "perl-module-constant"
-RDEPENDS_perl-module-compress-zlib += "perl-module-exporter"
-RDEPENDS_perl-module-compress-zlib += "perl-module-io-compress-base-common"
-RDEPENDS_perl-module-compress-zlib += "perl-module-io-compress-gzip"
-RDEPENDS_perl-module-compress-zlib += "perl-module-io-compress-gzip-constants"
-RDEPENDS_perl-module-compress-zlib += "perl-module-io-handle "
-RDEPENDS_perl-module-compress-zlib += "perl-module-io-uncompress-gunzip"
-RDEPENDS_perl-module-compress-zlib += "perl-module-strict "
-RDEPENDS_perl-module-compress-zlib += "perl-module-warnings "
-RDEPENDS_perl-module-config-extensions += "perl-module-config"
-RDEPENDS_perl-module-config-extensions += "perl-module-exporter"
-RDEPENDS_perl-module-config-extensions += "perl-module-strict"
-RDEPENDS_perl-module-config += "perl-module-strict"
-RDEPENDS_perl-module-config += "perl-module-warnings"
-RDEPENDS_perl-module-config-perl-v += "perl-module-config"
-RDEPENDS_perl-module-config-perl-v += "perl-module-exporter"
-RDEPENDS_perl-module-config-perl-v += "perl-module-strict"
-RDEPENDS_perl-module-config-perl-v += "perl-module-vars"
-RDEPENDS_perl-module-config-perl-v += "perl-module-warnings"
-RDEPENDS_perl-module-constant += "perl-module-strict"
-RDEPENDS_perl-module-constant += "perl-module-warnings-register"
-RDEPENDS_perl-module-corelist += "perl-module-list-util"
-RDEPENDS_perl-module-corelist += "perl-module-corelist"
-RDEPENDS_perl-module-corelist += "perl-module-strict"
-RDEPENDS_perl-module-corelist += "perl-module-version"
-RDEPENDS_perl-module-corelist += "perl-module-warnings"
-RDEPENDS_perl-module-cpan += "perl-module-b"
-RDEPENDS_perl-module-cpan += "perl-module-config"
-RDEPENDS_perl-module-cpan += "perl-module-cwd"
-RDEPENDS_perl-module-cpan += "perl-module-data-dumper"
-RDEPENDS_perl-module-cpan += "perl-module-dirhandle"
-RDEPENDS_perl-module-cpan += "perl-module-errno"
-RDEPENDS_perl-module-cpan += "perl-module-exporter"
-RDEPENDS_perl-module-cpan += "perl-module-extutils-makemaker"
-RDEPENDS_perl-module-cpan += "perl-module-extutils-manifest"
-RDEPENDS_perl-module-cpan += "perl-module-fcntl"
-RDEPENDS_perl-module-cpan += "perl-module-file-basename"
-RDEPENDS_perl-module-cpan += "perl-module-file-copy"
-RDEPENDS_perl-module-cpan += "perl-module-file-find"
-RDEPENDS_perl-module-cpan += "perl-module-filehandle"
-RDEPENDS_perl-module-cpan += "perl-module-file-path"
-RDEPENDS_perl-module-cpan += "perl-module-lib"
-RDEPENDS_perl-module-cpan += "perl-module-net-ping"
-RDEPENDS_perl-module-cpan += "perl-module-overload"
-RDEPENDS_perl-module-cpan += "perl-module-posix"
-RDEPENDS_perl-module-cpan += "perl-module-safe"
-RDEPENDS_perl-module-cpan += "perl-module-strict"
-RDEPENDS_perl-module-cpan += "perl-module-sys-hostname"
-RDEPENDS_perl-module-cpan += "perl-module-term-readline"
-RDEPENDS_perl-module-cpan += "perl-module-text-parsewords"
-RDEPENDS_perl-module-cpan += "perl-module-text-wrap"
-RDEPENDS_perl-module-cpan += "perl-module-time-local"
-RDEPENDS_perl-module-cpan += "perl-module-vars"
-RDEPENDS_perl-module-cpan += "perl-module-warnings"
-RDEPENDS_perl-module-cwd += "perl-module-errno"
-RDEPENDS_perl-module-cwd += "perl-module-exporter"
-RDEPENDS_perl-module-cwd += "perl-module-strict"
-RDEPENDS_perl-module-cwd += "perl-module-xsloader"
-RDEPENDS_perl-module-data-dumper += "perl-module-bytes"
-RDEPENDS_perl-module-data-dumper += "perl-module-config"
-RDEPENDS_perl-module-data-dumper += "perl-module-constant"
-RDEPENDS_perl-module-data-dumper += "perl-module-exporter"
-RDEPENDS_perl-module-data-dumper += "perl-module-xsloader"
-RDEPENDS_perl-module-dbm-filter-compress += "perl-module-strict"
-RDEPENDS_perl-module-dbm-filter-compress += "perl-module-warnings"
-RDEPENDS_perl-module-dbm-filter-encode += "perl-module-strict"
-RDEPENDS_perl-module-dbm-filter-encode += "perl-module-warnings"
-RDEPENDS_perl-module-dbm-filter-int32 += "perl-module-strict"
-RDEPENDS_perl-module-dbm-filter-int32 += "perl-module-warnings"
-RDEPENDS_perl-module-dbm-filter-null += "perl-module-strict"
-RDEPENDS_perl-module-dbm-filter-null += "perl-module-warnings"
-RDEPENDS_perl-module-dbm-filter += "perl-module-strict"
-RDEPENDS_perl-module-dbm-filter += "perl-module-warnings"
-RDEPENDS_perl-module-dbm-filter-utf8 += "perl-module-strict"
-RDEPENDS_perl-module-dbm-filter-utf8 += "perl-module-warnings"
-RDEPENDS_perl-module-db += "perl-module-strict"
-RDEPENDS_perl-module-deprecate += "perl-module-strict"
-RDEPENDS_perl-module-deprecate += "perl-module-warnings"
-RDEPENDS_perl-module-devel-peek += "perl-module-exporter"
-RDEPENDS_perl-module-devel-peek += "perl-module-xsloader"
-RDEPENDS_perl-module-devel-ppport += "perl-module-file-find"
-RDEPENDS_perl-module-devel-ppport += "perl-module-getopt-long"
-RDEPENDS_perl-module-devel-ppport += "perl-module-strict"
-RDEPENDS_perl-module-devel-ppport += "perl-module-vars"
-RDEPENDS_perl-module-devel-selfstubber += "perl-module-selfloader"
-RDEPENDS_perl-module-diagnostics += "perl-module-config"
-RDEPENDS_perl-module-diagnostics += "perl-module-getopt-std"
-RDEPENDS_perl-module-diagnostics += "perl-module-strict"
-RDEPENDS_perl-module-diagnostics += "perl-module-text-tabs"
-RDEPENDS_perl-module-digest-base += "perl-module-mime-base64"
-RDEPENDS_perl-module-digest-base += "perl-module-strict"
-RDEPENDS_perl-module-digest-base += "perl-module-vars"
-RDEPENDS_perl-module-digest-file += "perl-module-digest"
-RDEPENDS_perl-module-digest-file += "perl-module-exporter"
-RDEPENDS_perl-module-digest-file += "perl-module-strict"
-RDEPENDS_perl-module-digest-file += "perl-module-vars"
-RDEPENDS_perl-module-digest-md5 += "perl-module-digest-base"
-RDEPENDS_perl-module-digest-md5 += "perl-module-exporter"
-RDEPENDS_perl-module-digest-md5 += "perl-module-strict"
-RDEPENDS_perl-module-digest-md5 += "perl-module-vars"
-RDEPENDS_perl-module-digest-md5 += "perl-module-xsloader"
-RDEPENDS_perl-module-digest += "perl-module-strict"
-RDEPENDS_perl-module-digest += "perl-module-vars"
-RDEPENDS_perl-module-digest-sha += "perl-module-digest-base"
-RDEPENDS_perl-module-digest-sha += "perl-module-dynaloader"
-RDEPENDS_perl-module-digest-sha += "perl-module-exporter"
-RDEPENDS_perl-module-digest-sha += "perl-module-fcntl"
-RDEPENDS_perl-module-digest-sha += "perl-module-integer"
-RDEPENDS_perl-module-digest-sha += "perl-module-strict"
-RDEPENDS_perl-module-digest-sha += "perl-module-vars"
-RDEPENDS_perl-module-digest-sha += "perl-module-warnings"
-RDEPENDS_perl-module-digest-sha += "perl-module-xsloader"
-RDEPENDS_perl-module-dynaloader += "perl-module-config"
-RDEPENDS_perl-module-encode-alias += "perl-module-constant"
-RDEPENDS_perl-module-encode-alias += "perl-module-encode"
-RDEPENDS_perl-module-encode-alias += "perl-module-exporter"
-RDEPENDS_perl-module-encode-alias += "perl-module-strict"
-RDEPENDS_perl-module-encode-alias += "perl-module-warnings"
-RDEPENDS_perl-module-encode-byte += "perl-module-encode"
-RDEPENDS_perl-module-encode-byte += "perl-module-strict"
-RDEPENDS_perl-module-encode-byte += "perl-module-warnings"
-RDEPENDS_perl-module-encode-byte += "perl-module-xsloader"
-RDEPENDS_perl-module-encode-cjkconstants += "perl-module-exporter"
-RDEPENDS_perl-module-encode-cjkconstants += "perl-module-strict"
-RDEPENDS_perl-module-encode-cjkconstants += "perl-module-warnings"
-RDEPENDS_perl-module-encode-cn-hz += "perl-module-encode"
-RDEPENDS_perl-module-encode-cn-hz += "perl-module-parent"
-RDEPENDS_perl-module-encode-cn-hz += "perl-module-strict"
-RDEPENDS_perl-module-encode-cn-hz += "perl-module-utf8"
-RDEPENDS_perl-module-encode-cn-hz += "perl-module-vars"
-RDEPENDS_perl-module-encode-cn-hz += "perl-module-warnings"
-RDEPENDS_perl-module-encode-cn += "perl-module-encode"
-RDEPENDS_perl-module-encode-cn += "perl-module-encode-cn-hz"
-RDEPENDS_perl-module-encode-cn += "perl-module-strict"
-RDEPENDS_perl-module-encode-cn += "perl-module-warnings"
-RDEPENDS_perl-module-encode-cn += "perl-module-xsloader"
-RDEPENDS_perl-module-encode-config += "perl-module-strict"
-RDEPENDS_perl-module-encode-config += "perl-module-warnings"
-RDEPENDS_perl-module-encode-ebcdic += "perl-module-encode"
-RDEPENDS_perl-module-encode-ebcdic += "perl-module-strict"
-RDEPENDS_perl-module-encode-ebcdic += "perl-module-warnings"
-RDEPENDS_perl-module-encode-ebcdic += "perl-module-xsloader"
-RDEPENDS_perl-module-encode-encoder += "perl-module-constant"
-RDEPENDS_perl-module-encode-encoder += "perl-module-encode"
-RDEPENDS_perl-module-encode-encoder += "perl-module-exporter"
-RDEPENDS_perl-module-encode-encoder += "perl-module-overload"
-RDEPENDS_perl-module-encode-encoder += "perl-module-strict"
-RDEPENDS_perl-module-encode-encoder += "perl-module-warnings"
-RDEPENDS_perl-module-encode-encoding += "perl-module-constant"
-RDEPENDS_perl-module-encode-encoding += "perl-module-encode"
-RDEPENDS_perl-module-encode-encoding += "perl-module-encode-mime-name"
-RDEPENDS_perl-module-encode-encoding += "perl-module-strict"
-RDEPENDS_perl-module-encode-encoding += "perl-module-warnings"
-RDEPENDS_perl-module-encode-gsm0338 += "perl-module-encode"
-RDEPENDS_perl-module-encode-gsm0338 += "perl-module-parent"
-RDEPENDS_perl-module-encode-gsm0338 += "perl-module-strict"
-RDEPENDS_perl-module-encode-gsm0338 += "perl-module-utf8"
-RDEPENDS_perl-module-encode-gsm0338 += "perl-module-vars"
-RDEPENDS_perl-module-encode-gsm0338 += "perl-module-warnings"
-RDEPENDS_perl-module-encode-guess += "perl-module-bytes"
-RDEPENDS_perl-module-encode-guess += "perl-module-constant"
-RDEPENDS_perl-module-encode-guess += "perl-module-encode"
-RDEPENDS_perl-module-encode-guess += "perl-module-encode-unicode"
-RDEPENDS_perl-module-encode-guess += "perl-module-parent"
-RDEPENDS_perl-module-encode-guess += "perl-module-strict"
-RDEPENDS_perl-module-encode-guess += "perl-module-warnings"
-RDEPENDS_perl-module-encode-jp-h2z += "perl-module-encode-cjkconstants"
-RDEPENDS_perl-module-encode-jp-h2z += "perl-module-strict"
-RDEPENDS_perl-module-encode-jp-h2z += "perl-module-vars"
-RDEPENDS_perl-module-encode-jp-h2z += "perl-module-warnings"
-RDEPENDS_perl-module-encode-jp-jis7 += "perl-module-bytes"
-RDEPENDS_perl-module-encode-jp-jis7 += "perl-module-encode"
-RDEPENDS_perl-module-encode-jp-jis7 += "perl-module-encode-cjkconstants"
-RDEPENDS_perl-module-encode-jp-jis7 += "perl-module-encode-jp-h2z"
-RDEPENDS_perl-module-encode-jp-jis7 += "perl-module-parent"
-RDEPENDS_perl-module-encode-jp-jis7 += "perl-module-strict"
-RDEPENDS_perl-module-encode-jp-jis7 += "perl-module-warnings"
-RDEPENDS_perl-module-encode-jp += "perl-module-encode"
-RDEPENDS_perl-module-encode-jp += "perl-module-encode-jp-jis7"
-RDEPENDS_perl-module-encode-jp += "perl-module-strict"
-RDEPENDS_perl-module-encode-jp += "perl-module-warnings"
-RDEPENDS_perl-module-encode-jp += "perl-module-xsloader"
-RDEPENDS_perl-module-encode-kr-2022-kr += "perl-module-encode"
-RDEPENDS_perl-module-encode-kr-2022-kr += "perl-module-encode-cjkconstants"
-RDEPENDS_perl-module-encode-kr-2022-kr += "perl-module-parent"
-RDEPENDS_perl-module-encode-kr-2022-kr += "perl-module-strict"
-RDEPENDS_perl-module-encode-kr-2022-kr += "perl-module-warnings"
-RDEPENDS_perl-module-encode-kr += "perl-module-encode"
-RDEPENDS_perl-module-encode-kr += "perl-module-encode-kr-2022-kr"
-RDEPENDS_perl-module-encode-kr += "perl-module-strict"
-RDEPENDS_perl-module-encode-kr += "perl-module-warnings"
-RDEPENDS_perl-module-encode-kr += "perl-module-xsloader"
-RDEPENDS_perl-module-encode-mime-header-iso-2022-jp += "perl-module-constant"
-RDEPENDS_perl-module-encode-mime-header-iso-2022-jp += "perl-module-encode-cjkconstants"
-RDEPENDS_perl-module-encode-mime-header-iso-2022-jp += "perl-module-parent"
-RDEPENDS_perl-module-encode-mime-header-iso-2022-jp += "perl-module-strict"
-RDEPENDS_perl-module-encode-mime-header-iso-2022-jp += "perl-module-warnings"
-RDEPENDS_perl-module-encode-mime-header += "perl-module-encode"
-RDEPENDS_perl-module-encode-mime-header += "perl-module-mime-base64"
-RDEPENDS_perl-module-encode-mime-header += "perl-module-parent"
-RDEPENDS_perl-module-encode-mime-header += "perl-module-strict"
-RDEPENDS_perl-module-encode-mime-header += "perl-module-warnings"
-RDEPENDS_perl-module-encode-mime-name += "perl-module-strict"
-RDEPENDS_perl-module-encode-mime-name += "perl-module-warnings"
-RDEPENDS_perl-module-encode += "perl-module-bytes"
-RDEPENDS_perl-module-encode += "perl-module-constant"
-RDEPENDS_perl-module-encode += "perl-module-encode-alias"
-RDEPENDS_perl-module-encode += "perl-module-encode-config"
-RDEPENDS_perl-module-encode += "perl-module-encode-configlocal-pm"
-RDEPENDS_perl-module-encode += "perl-module-encode-mime-name"
-RDEPENDS_perl-module-encode += "perl-module-exporter"
-RDEPENDS_perl-module-encode += "perl-module-parent"
-RDEPENDS_perl-module-encode += "perl-module-storable"
-RDEPENDS_perl-module-encode += "perl-module-strict"
-RDEPENDS_perl-module-encode += "perl-module-warnings"
-RDEPENDS_perl-module-encode += "perl-module-xsloader"
-RDEPENDS_perl-module-encode-symbol += "perl-module-encode"
-RDEPENDS_perl-module-encode-symbol += "perl-module-strict"
-RDEPENDS_perl-module-encode-symbol += "perl-module-warnings"
-RDEPENDS_perl-module-encode-symbol += "perl-module-xsloader"
-RDEPENDS_perl-module-encode-tw += "perl-module-encode"
-RDEPENDS_perl-module-encode-tw += "perl-module-strict"
-RDEPENDS_perl-module-encode-tw += "perl-module-warnings"
-RDEPENDS_perl-module-encode-tw += "perl-module-xsloader"
-RDEPENDS_perl-module-encode-unicode += "perl-module-encode"
-RDEPENDS_perl-module-encode-unicode += "perl-module-parent"
-RDEPENDS_perl-module-encode-unicode += "perl-module-strict"
-RDEPENDS_perl-module-encode-unicode += "perl-module-warnings"
-RDEPENDS_perl-module-encode-unicode += "perl-module-xsloader"
-RDEPENDS_perl-module-encode-unicode-utf7 += "perl-module-encode"
-RDEPENDS_perl-module-encode-unicode-utf7 += "perl-module-mime-base64"
-RDEPENDS_perl-module-encode-unicode-utf7 += "perl-module-parent"
-RDEPENDS_perl-module-encode-unicode-utf7 += "perl-module-re"
-RDEPENDS_perl-module-encode-unicode-utf7 += "perl-module-strict"
-RDEPENDS_perl-module-encode-unicode-utf7 += "perl-module-warnings"
-RDEPENDS_perl-module-encoding += "perl-module-config"
-RDEPENDS_perl-module-encoding += "perl-module-constant"
-RDEPENDS_perl-module-encoding += "perl-module-encode"
-RDEPENDS_perl-module-encoding += "perl-module-filter-util-call"
-RDEPENDS_perl-module-encoding += "perl-module-i18n-langinfo"
-RDEPENDS_perl-module-encoding += "perl-module-posix"
-RDEPENDS_perl-module-encoding += "perl-module-strict"
-RDEPENDS_perl-module-encoding += "perl-module-utf8"
-RDEPENDS_perl-module-encoding += "perl-module-warnings"
-RDEPENDS_perl-module-encoding-warnings += "perl-module-strict"
-RDEPENDS_perl-module-encoding-warnings += "perl-module-warnings"
-RDEPENDS_perl-module-english += "perl-module-exporter"
-RDEPENDS_perl-module-env += "perl-module-config"
-RDEPENDS_perl-module-env += "perl-module-tie-array"
-RDEPENDS_perl-module-errno += "perl-module-exporter"
-RDEPENDS_perl-module-errno += "perl-module-strict"
-RDEPENDS_perl-module-experimental += "perl-module-strict"
-RDEPENDS_perl-module-experimental += "perl-module-version"
-RDEPENDS_perl-module-experimental += "perl-module-warnings"
-RDEPENDS_perl-module-exporter-heavy += "perl-module-exporter"
-RDEPENDS_perl-module-exporter-heavy += "perl-module-strict"
-RDEPENDS_perl-module-exporter += "perl-module-exporter-heavy"
-RDEPENDS_perl-module-extutils-cbuilder-base += "perl-module-config"
-RDEPENDS_perl-module-extutils-cbuilder-base += "perl-module-cwd"
-RDEPENDS_perl-module-extutils-cbuilder-base += "perl-module-dynaloader"
-RDEPENDS_perl-module-extutils-cbuilder-base += "perl-module-extutils-mksymlists"
-RDEPENDS_perl-module-extutils-cbuilder-base += "perl-module-file-basename"
-RDEPENDS_perl-module-extutils-cbuilder-base += "perl-module-file-temp"
-RDEPENDS_perl-module-extutils-cbuilder-base += "perl-module-ipc-cmd"
-RDEPENDS_perl-module-extutils-cbuilder-base += "perl-module-strict"
-RDEPENDS_perl-module-extutils-cbuilder-base += "perl-module-text-parsewords"
-RDEPENDS_perl-module-extutils-cbuilder-base += "perl-module-warnings"
-RDEPENDS_perl-module-extutils-cbuilder += "perl-module-extutils-cbuilder-base"
-RDEPENDS_perl-module-extutils-cbuilder += "perl-module-file-basename"
-RDEPENDS_perl-module-extutils-cbuilder += "perl-module-file-path"
-RDEPENDS_perl-module-extutils-cbuilder += "perl-module-strict"
-RDEPENDS_perl-module-extutils-cbuilder += "perl-module-warnings"
-RDEPENDS_perl-module-extutils-cbuilder-platform-aix += "perl-module-extutils-cbuilder-platform-unix"
-RDEPENDS_perl-module-extutils-cbuilder-platform-aix += "perl-module-strict"
-RDEPENDS_perl-module-extutils-cbuilder-platform-aix += "perl-module-warnings"
-RDEPENDS_perl-module-extutils-cbuilder-platform-android += "perl-module-config"
-RDEPENDS_perl-module-extutils-cbuilder-platform-android += "perl-module-extutils-cbuilder-platform-unix"
-RDEPENDS_perl-module-extutils-cbuilder-platform-android += "perl-module-strict"
-RDEPENDS_perl-module-extutils-cbuilder-platform-android += "perl-module-warnings"
-RDEPENDS_perl-module-extutils-cbuilder-platform-cygwin += "perl-module-extutils-cbuilder-platform-unix"
-RDEPENDS_perl-module-extutils-cbuilder-platform-cygwin += "perl-module-strict"
-RDEPENDS_perl-module-extutils-cbuilder-platform-cygwin += "perl-module-warnings"
-RDEPENDS_perl-module-extutils-cbuilder-platform-darwin += "perl-module-extutils-cbuilder-platform-unix"
-RDEPENDS_perl-module-extutils-cbuilder-platform-darwin += "perl-module-strict"
-RDEPENDS_perl-module-extutils-cbuilder-platform-darwin += "perl-module-warnings"
-RDEPENDS_perl-module-extutils-cbuilder-platform-dec-osf += "perl-module-extutils-cbuilder-platform-unix"
-RDEPENDS_perl-module-extutils-cbuilder-platform-dec-osf += "perl-module-strict"
-RDEPENDS_perl-module-extutils-cbuilder-platform-dec-osf += "perl-module-warnings"
-RDEPENDS_perl-module-extutils-cbuilder-platform-os2 += "perl-module-extutils-cbuilder-platform-unix"
-RDEPENDS_perl-module-extutils-cbuilder-platform-os2 += "perl-module-strict"
-RDEPENDS_perl-module-extutils-cbuilder-platform-os2 += "perl-module-warnings"
-RDEPENDS_perl-module-extutils-cbuilder-platform-unix += "perl-module-extutils-cbuilder-base"
-RDEPENDS_perl-module-extutils-cbuilder-platform-unix += "perl-module-strict"
-RDEPENDS_perl-module-extutils-cbuilder-platform-unix += "perl-module-warnings"
-RDEPENDS_perl-module-extutils-cbuilder-platform-vms += "perl-module-config"
-RDEPENDS_perl-module-extutils-cbuilder-platform-vms += "perl-module-extutils-cbuilder-base"
-RDEPENDS_perl-module-extutils-cbuilder-platform-vms += "perl-module-strict"
-RDEPENDS_perl-module-extutils-cbuilder-platform-vms += "perl-module-warnings"
-RDEPENDS_perl-module-extutils-cbuilder-platform-windows-bcc += "perl-module-strict"
-RDEPENDS_perl-module-extutils-cbuilder-platform-windows-bcc += "perl-module-warnings"
-RDEPENDS_perl-module-extutils-cbuilder-platform-windows-gcc += "perl-module-strict"
-RDEPENDS_perl-module-extutils-cbuilder-platform-windows-gcc += "perl-module-warnings"
-RDEPENDS_perl-module-extutils-cbuilder-platform-windows-msvc += "perl-module-strict"
-RDEPENDS_perl-module-extutils-cbuilder-platform-windows-msvc += "perl-module-warnings"
-RDEPENDS_perl-module-extutils-cbuilder-platform-windows += "perl-module-extutils-cbuilder-base"
-RDEPENDS_perl-module-extutils-cbuilder-platform-windows += "perl-module-file-basename"
-RDEPENDS_perl-module-extutils-cbuilder-platform-windows += "perl-module-io-file"
-RDEPENDS_perl-module-extutils-cbuilder-platform-windows += "perl-module-strict"
-RDEPENDS_perl-module-extutils-cbuilder-platform-windows += "perl-module-warnings"
-RDEPENDS_perl-module-extutils-command-mm += "perl-module-exporter"
-RDEPENDS_perl-module-extutils-command-mm += "perl-module-extutils-command"
-RDEPENDS_perl-module-extutils-command-mm += "perl-module-extutils-install"
-RDEPENDS_perl-module-extutils-command-mm += "perl-module-getopt-long"
-RDEPENDS_perl-module-extutils-command-mm += "perl-module-strict"
-RDEPENDS_perl-module-extutils-command-mm += "perl-module-test-harness"
-RDEPENDS_perl-module-extutils-command-mm += "perl-module-warnings"
-RDEPENDS_perl-module-extutils-command += "perl-module-exporter"
-RDEPENDS_perl-module-extutils-command += "perl-module-file-copy"
-RDEPENDS_perl-module-extutils-command += "perl-module-file-find"
-RDEPENDS_perl-module-extutils-command += "perl-module-file-path"
-RDEPENDS_perl-module-extutils-command += "perl-module-strict"
-RDEPENDS_perl-module-extutils-command += "perl-module-vars"
-RDEPENDS_perl-module-extutils-constant-base += "perl-module-constant"
-RDEPENDS_perl-module-extutils-constant-base += "perl-module-extutils-constant-utils"
-RDEPENDS_perl-module-extutils-constant-base += "perl-module-strict"
-RDEPENDS_perl-module-extutils-constant-base += "perl-module-text-wrap"
-RDEPENDS_perl-module-extutils-constant-base += "perl-module-vars"
-RDEPENDS_perl-module-extutils-constant += "perl-module-exporter"
-RDEPENDS_perl-module-extutils-constant += "perl-module-extutils-constant-proxysubs"
-RDEPENDS_perl-module-extutils-constant += "perl-module-extutils-constant-utils"
-RDEPENDS_perl-module-extutils-constant += "perl-module-extutils-constant-xs"
-RDEPENDS_perl-module-extutils-constant += "perl-module-filehandle"
-RDEPENDS_perl-module-extutils-constant += "perl-module-strict"
-RDEPENDS_perl-module-extutils-constant += "perl-module-vars"
-RDEPENDS_perl-module-extutils-constant-proxysubs += "perl-module-extutils-constant-utils"
-RDEPENDS_perl-module-extutils-constant-proxysubs += "perl-module-extutils-constant-xs"
-RDEPENDS_perl-module-extutils-constant-proxysubs += "perl-module-strict"
-RDEPENDS_perl-module-extutils-constant-proxysubs += "perl-module-vars"
-RDEPENDS_perl-module-extutils-constant-utils += "perl-module-constant"
-RDEPENDS_perl-module-extutils-constant-utils += "perl-module-posix"
-RDEPENDS_perl-module-extutils-constant-utils += "perl-module-strict"
-RDEPENDS_perl-module-extutils-constant-utils += "perl-module-vars"
-RDEPENDS_perl-module-extutils-constant-xs += "perl-module-data-dumper"
-RDEPENDS_perl-module-extutils-constant-xs += "perl-module-extutils-constant"
-RDEPENDS_perl-module-extutils-constant-xs += "perl-module-extutils-constant-base"
-RDEPENDS_perl-module-extutils-constant-xs += "perl-module-extutils-constant-utils"
-RDEPENDS_perl-module-extutils-constant-xs += "perl-module-strict"
-RDEPENDS_perl-module-extutils-constant-xs += "perl-module-vars"
-RDEPENDS_perl-module-extutils-embed += "perl-module-config"
-RDEPENDS_perl-module-extutils-embed += "perl-module-exporter"
-RDEPENDS_perl-module-extutils-embed += "perl-module-extutils-liblist"
-RDEPENDS_perl-module-extutils-embed += "perl-module-extutils-makemaker"
-RDEPENDS_perl-module-extutils-embed += "perl-module-getopt-std"
-RDEPENDS_perl-module-extutils-embed += "perl-module-strict"
-RDEPENDS_perl-module-extutils-installed += "perl-module-config"
-RDEPENDS_perl-module-extutils-installed += "perl-module-data-dumper"
-RDEPENDS_perl-module-extutils-installed += "perl-module-extutils-makemaker"
-RDEPENDS_perl-module-extutils-installed += "perl-module-extutils-packlist"
-RDEPENDS_perl-module-extutils-installed += "perl-module-file-basename"
-RDEPENDS_perl-module-extutils-installed += "perl-module-file-find"
-RDEPENDS_perl-module-extutils-installed += "perl-module-strict"
-RDEPENDS_perl-module-extutils-installed += "perl-module-vars"
-RDEPENDS_perl-module-extutils-install += "perl-module-autosplit"
-RDEPENDS_perl-module-extutils-install += "perl-module-config"
-RDEPENDS_perl-module-extutils-install += "perl-module-cwd"
-RDEPENDS_perl-module-extutils-install += "perl-module-exporter"
-RDEPENDS_perl-module-extutils-install += "perl-module-extutils-packlist"
-RDEPENDS_perl-module-extutils-install += "perl-module-file-basename"
-RDEPENDS_perl-module-extutils-install += "perl-module-file-compare"
-RDEPENDS_perl-module-extutils-install += "perl-module-file-copy"
-RDEPENDS_perl-module-extutils-install += "perl-module-file-find"
-RDEPENDS_perl-module-extutils-install += "perl-module-file-path"
-RDEPENDS_perl-module-extutils-install += "perl-module-strict"
-RDEPENDS_perl-module-extutils-liblist-kid += "perl-module-cwd"
-RDEPENDS_perl-module-extutils-liblist-kid += "perl-module-extutils-makemaker-config"
-RDEPENDS_perl-module-extutils-liblist-kid += "perl-module-file-basename"
-RDEPENDS_perl-module-extutils-liblist-kid += "perl-module-strict"
-RDEPENDS_perl-module-extutils-liblist-kid += "perl-module-text-parsewords"
-RDEPENDS_perl-module-extutils-liblist-kid += "perl-module-warnings"
-RDEPENDS_perl-module-extutils-liblist += "perl-module-extutils-liblist-kid"
-RDEPENDS_perl-module-extutils-liblist += "perl-module-strict"
-RDEPENDS_perl-module-extutils-makemaker-config += "perl-module-config"
-RDEPENDS_perl-module-extutils-makemaker-config += "perl-module-strict"
-RDEPENDS_perl-module-extutils-makemaker-locale += "perl-module-base"
-RDEPENDS_perl-module-extutils-makemaker-locale += "perl-module-encode"
-RDEPENDS_perl-module-extutils-makemaker-locale += "perl-module-encode-alias"
-RDEPENDS_perl-module-extutils-makemaker-locale += "perl-module-i18n-langinfo"
-RDEPENDS_perl-module-extutils-makemaker-locale += "perl-module-strict"
-RDEPENDS_perl-module-extutils-makemaker += "perl-module-b"
-RDEPENDS_perl-module-extutils-makemaker += "perl-module-cpan"
-RDEPENDS_perl-module-extutils-makemaker += "perl-module-cwd"
-RDEPENDS_perl-module-extutils-makemaker += "perl-module-exporter"
-RDEPENDS_perl-module-extutils-makemaker += "perl-module-extutils-makemaker-config"
-RDEPENDS_perl-module-extutils-makemaker += "perl-module-extutils-makemaker-version"
-RDEPENDS_perl-module-extutils-makemaker += "perl-module-extutils-manifest"
-RDEPENDS_perl-module-extutils-makemaker += "perl-module-extutils-mm"
-RDEPENDS_perl-module-extutils-makemaker += "perl-module-extutils-my"
-RDEPENDS_perl-module-extutils-makemaker += "perl-module-file-path"
-RDEPENDS_perl-module-extutils-makemaker += "perl-module-strict"
-RDEPENDS_perl-module-extutils-makemaker += "perl-module-version"
-RDEPENDS_perl-module-extutils-makemaker-version += "perl-module-strict"
-RDEPENDS_perl-module-extutils-makemaker-version += "perl-module-vars"
-RDEPENDS_perl-module-extutils-manifest += "perl-module-config"
-RDEPENDS_perl-module-extutils-manifest += "perl-module-exporter"
-RDEPENDS_perl-module-extutils-manifest += "perl-module-file-basename"
-RDEPENDS_perl-module-extutils-manifest += "perl-module-file-copy"
-RDEPENDS_perl-module-extutils-manifest += "perl-module-file-find"
-RDEPENDS_perl-module-extutils-manifest += "perl-module-file-path"
-RDEPENDS_perl-module-extutils-manifest += "perl-module-strict"
-RDEPENDS_perl-module-extutils-manifest += "perl-module-warnings"
-RDEPENDS_perl-module-extutils-miniperl += "perl-module-exporter"
-RDEPENDS_perl-module-extutils-miniperl += "perl-module-extutils-embed"
-RDEPENDS_perl-module-extutils-miniperl += "perl-module-strict"
-RDEPENDS_perl-module-extutils-mkbootstrap += "perl-module-config"
-RDEPENDS_perl-module-extutils-mkbootstrap += "perl-module-dynaloader"
-RDEPENDS_perl-module-extutils-mkbootstrap += "perl-module-exporter"
-RDEPENDS_perl-module-extutils-mkbootstrap += "perl-module-strict"
-RDEPENDS_perl-module-extutils-mksymlists += "perl-module-config"
-RDEPENDS_perl-module-extutils-mksymlists += "perl-module-exporter"
-RDEPENDS_perl-module-extutils-mksymlists += "perl-module-strict"
-RDEPENDS_perl-module-extutils-mm-aix += "perl-module-extutils-makemaker-config"
-RDEPENDS_perl-module-extutils-mm-aix += "perl-module-extutils-mm-unix"
-RDEPENDS_perl-module-extutils-mm-aix += "perl-module-strict"
-RDEPENDS_perl-module-extutils-mm-any += "perl-module-autosplit"
-RDEPENDS_perl-module-extutils-mm-any += "perl-module-cpan"
-RDEPENDS_perl-module-extutils-mm-any += "perl-module-data-dumper"
-RDEPENDS_perl-module-extutils-mm-any += "perl-module-extutils-makemaker"
-RDEPENDS_perl-module-extutils-mm-any += "perl-module-extutils-makemaker-config"
-RDEPENDS_perl-module-extutils-mm-any += "perl-module-file-basename"
-RDEPENDS_perl-module-extutils-mm-any += "perl-module-file-find"
-RDEPENDS_perl-module-extutils-mm-any += "perl-module-strict"
-RDEPENDS_perl-module-extutils-mm-any += "perl-module-version"
-RDEPENDS_perl-module-extutils-mm-beos += "perl-module-extutils-makemaker-config"
-RDEPENDS_perl-module-extutils-mm-beos += "perl-module-extutils-mm-any"
-RDEPENDS_perl-module-extutils-mm-beos += "perl-module-extutils-mm-unix"
-RDEPENDS_perl-module-extutils-mm-beos += "perl-module-strict"
-RDEPENDS_perl-module-extutils-mm-cygwin += "perl-module-extutils-makemaker-config"
-RDEPENDS_perl-module-extutils-mm-cygwin += "perl-module-extutils-mm-unix"
-RDEPENDS_perl-module-extutils-mm-cygwin += "perl-module-extutils-mm-win32"
-RDEPENDS_perl-module-extutils-mm-cygwin += "perl-module-strict"
-RDEPENDS_perl-module-extutils-mm-darwin += "perl-module-extutils-mm-unix"
-RDEPENDS_perl-module-extutils-mm-darwin += "perl-module-strict"
-RDEPENDS_perl-module-extutils-mm-dos += "perl-module-extutils-mm-any"
-RDEPENDS_perl-module-extutils-mm-dos += "perl-module-extutils-mm-unix"
-RDEPENDS_perl-module-extutils-mm-dos += "perl-module-strict"
-RDEPENDS_perl-module-extutils-mm-macos += "perl-module-strict"
-RDEPENDS_perl-module-extutils-mm-nw5 += "perl-module-extutils-makemaker"
-RDEPENDS_perl-module-extutils-mm-nw5 += "perl-module-extutils-makemaker-config"
-RDEPENDS_perl-module-extutils-mm-nw5 += "perl-module-extutils-mm-win32"
-RDEPENDS_perl-module-extutils-mm-nw5 += "perl-module-file-basename"
-RDEPENDS_perl-module-extutils-mm-nw5 += "perl-module-strict"
-RDEPENDS_perl-module-extutils-mm-os2 += "perl-module-extutils-makemaker"
-RDEPENDS_perl-module-extutils-mm-os2 += "perl-module-extutils-mm-any"
-RDEPENDS_perl-module-extutils-mm-os2 += "perl-module-extutils-mm-unix"
-RDEPENDS_perl-module-extutils-mm-os2 += "perl-module-strict"
-RDEPENDS_perl-module-extutils-mm += "perl-module-extutils-liblist"
-RDEPENDS_perl-module-extutils-mm += "perl-module-extutils-makemaker"
-RDEPENDS_perl-module-extutils-mm += "perl-module-extutils-makemaker-config"
-RDEPENDS_perl-module-extutils-mm += "perl-module-strict"
-RDEPENDS_perl-module-extutils-mm-qnx += "perl-module-extutils-mm-unix"
-RDEPENDS_perl-module-extutils-mm-qnx += "perl-module-strict"
-RDEPENDS_perl-module-extutils-mm-unix += "perl-module-cwd"
-RDEPENDS_perl-module-extutils-mm-unix += "perl-module-encode"
-RDEPENDS_perl-module-extutils-mm-unix += "perl-module-extutils-liblist"
-RDEPENDS_perl-module-extutils-mm-unix += "perl-module-extutils-makemaker"
-RDEPENDS_perl-module-extutils-mm-unix += "perl-module-extutils-makemaker-config"
-RDEPENDS_perl-module-extutils-mm-unix += "perl-module-extutils-mm-any"
-RDEPENDS_perl-module-extutils-mm-unix += "perl-module-file-basename"
-RDEPENDS_perl-module-extutils-mm-unix += "perl-module-file-find"
-RDEPENDS_perl-module-extutils-mm-unix += "perl-module-strict"
-RDEPENDS_perl-module-extutils-mm-unix += "perl-module-vars"
-RDEPENDS_perl-module-extutils-mm-unix += "perl-module-version"
-RDEPENDS_perl-module-extutils-mm-uwin += "perl-module-extutils-mm-unix"
-RDEPENDS_perl-module-extutils-mm-uwin += "perl-module-strict"
-RDEPENDS_perl-module-extutils-mm-vms += "perl-module-exporter"
-RDEPENDS_perl-module-extutils-mm-vms += "perl-module-extutils-liblist-kid"
-RDEPENDS_perl-module-extutils-mm-vms += "perl-module-extutils-makemaker"
-RDEPENDS_perl-module-extutils-mm-vms += "perl-module-extutils-makemaker-config"
-RDEPENDS_perl-module-extutils-mm-vms += "perl-module-extutils-mm-any"
-RDEPENDS_perl-module-extutils-mm-vms += "perl-module-extutils-mm-unix"
-RDEPENDS_perl-module-extutils-mm-vms += "perl-module-file-basename"
-RDEPENDS_perl-module-extutils-mm-vms += "perl-module-file-find"
-RDEPENDS_perl-module-extutils-mm-vms += "perl-module-strict"
-RDEPENDS_perl-module-extutils-mm-vos += "perl-module-extutils-mm-unix"
-RDEPENDS_perl-module-extutils-mm-vos += "perl-module-strict"
-RDEPENDS_perl-module-extutils-mm-win32 += "perl-module-extutils-makemaker"
-RDEPENDS_perl-module-extutils-mm-win32 += "perl-module-extutils-makemaker-config"
-RDEPENDS_perl-module-extutils-mm-win32 += "perl-module-extutils-mm-any"
-RDEPENDS_perl-module-extutils-mm-win32 += "perl-module-extutils-mm-unix"
-RDEPENDS_perl-module-extutils-mm-win32 += "perl-module-file-basename"
-RDEPENDS_perl-module-extutils-mm-win32 += "perl-module-strict"
-RDEPENDS_perl-module-extutils-mm-win95 += "perl-module-extutils-makemaker-config"
-RDEPENDS_perl-module-extutils-mm-win95 += "perl-module-extutils-mm-win32"
-RDEPENDS_perl-module-extutils-mm-win95 += "perl-module-strict"
-RDEPENDS_perl-module-extutils-my += "perl-module-extutils-mm"
-RDEPENDS_perl-module-extutils-my += "perl-module-strict"
-RDEPENDS_perl-module-extutils-packlist += "perl-module-config"
-RDEPENDS_perl-module-extutils-packlist += "perl-module-cwd"
-RDEPENDS_perl-module-extutils-packlist += "perl-module-strict"
-RDEPENDS_perl-module-extutils-packlist += "perl-module-vars"
-RDEPENDS_perl-module-extutils-parsexs-constants += "perl-module-strict"
-RDEPENDS_perl-module-extutils-parsexs-constants += "perl-module-warnings"
-RDEPENDS_perl-module-extutils-parsexs-countlines += "perl-module-strict"
-RDEPENDS_perl-module-extutils-parsexs-eval += "perl-module-strict"
-RDEPENDS_perl-module-extutils-parsexs-eval += "perl-module-warnings"
-RDEPENDS_perl-module-extutils-parsexs += "perl-module-config"
-RDEPENDS_perl-module-extutils-parsexs += "perl-module-cwd"
-RDEPENDS_perl-module-extutils-parsexs += "perl-module-exporter"
-RDEPENDS_perl-module-extutils-parsexs += "perl-module-extutils-parsexs-constants"
-RDEPENDS_perl-module-extutils-parsexs += "perl-module-extutils-parsexs-countlines"
-RDEPENDS_perl-module-extutils-parsexs += "perl-module-extutils-parsexs-eval"
-RDEPENDS_perl-module-extutils-parsexs += "perl-module-extutils-parsexs-utilities"
-RDEPENDS_perl-module-extutils-parsexs += "perl-module-file-basename"
-RDEPENDS_perl-module-extutils-parsexs += "perl-module-re"
-RDEPENDS_perl-module-extutils-parsexs += "perl-module-strict"
-RDEPENDS_perl-module-extutils-parsexs-utilities += "perl-module-exporter"
-RDEPENDS_perl-module-extutils-parsexs-utilities += "perl-module-extutils-parsexs-constants"
-RDEPENDS_perl-module-extutils-parsexs-utilities += "perl-module-extutils-typemaps"
-RDEPENDS_perl-module-extutils-parsexs-utilities += "perl-module-strict"
-RDEPENDS_perl-module-extutils-parsexs-utilities += "perl-module-warnings"
-RDEPENDS_perl-module-extutils-testlib += "perl-module-cwd"
-RDEPENDS_perl-module-extutils-testlib += "perl-module-lib"
-RDEPENDS_perl-module-extutils-testlib += "perl-module-strict"
-RDEPENDS_perl-module-extutils-testlib += "perl-module-warnings"
-RDEPENDS_perl-module-extutils-typemaps-cmd += "perl-module-exporter"
-RDEPENDS_perl-module-extutils-typemaps-cmd += "perl-module-extutils-typemaps"
-RDEPENDS_perl-module-extutils-typemaps-cmd += "perl-module-strict"
-RDEPENDS_perl-module-extutils-typemaps-cmd += "perl-module-warnings"
-RDEPENDS_perl-module-extutils-typemaps-inputmap += "perl-module-strict"
-RDEPENDS_perl-module-extutils-typemaps-inputmap += "perl-module-warnings"
-RDEPENDS_perl-module-extutils-typemaps-outputmap += "perl-module-re"
-RDEPENDS_perl-module-extutils-typemaps-outputmap += "perl-module-strict"
-RDEPENDS_perl-module-extutils-typemaps-outputmap += "perl-module-warnings"
-RDEPENDS_perl-module-extutils-typemaps += "perl-module-extutils-parsexs"
-RDEPENDS_perl-module-extutils-typemaps += "perl-module-extutils-parsexs-constants"
-RDEPENDS_perl-module-extutils-typemaps += "perl-module-extutils-typemaps-inputmap"
-RDEPENDS_perl-module-extutils-typemaps += "perl-module-extutils-typemaps-outputmap"
-RDEPENDS_perl-module-extutils-typemaps += "perl-module-extutils-typemaps-type"
-RDEPENDS_perl-module-extutils-typemaps += "perl-module-strict"
-RDEPENDS_perl-module-extutils-typemaps += "perl-module-warnings"
-RDEPENDS_perl-module-extutils-typemaps-type += "perl-module-extutils-typemaps"
-RDEPENDS_perl-module-extutils-typemaps-type += "perl-module-strict"
-RDEPENDS_perl-module-extutils-typemaps-type += "perl-module-warnings"
-RDEPENDS_perl-module-fatal += "perl-module-autodie"
-RDEPENDS_perl-module-fatal += "perl-module-autodie-exception-system"
-RDEPENDS_perl-module-fatal += "perl-module-autodie-hints"
-RDEPENDS_perl-module-fatal += "perl-module-autodie-util"
-RDEPENDS_perl-module-fatal += "perl-module-config"
-RDEPENDS_perl-module-fatal += "perl-module-constant"
-RDEPENDS_perl-module-fatal += "perl-module-fcntl"
-RDEPENDS_perl-module-fatal += "perl-module-posix"
-RDEPENDS_perl-module-fatal += "perl-module-strict"
-RDEPENDS_perl-module-fatal += "perl-module-tie-refhash"
-RDEPENDS_perl-module-fatal += "perl-module-warnings"
-RDEPENDS_perl-module-fcntl += "perl-module-exporter"
-RDEPENDS_perl-module-fcntl += "perl-module-strict"
-RDEPENDS_perl-module-fcntl += "perl-module-xsloader"
-RDEPENDS_perl-module-fields += "perl-module-base"
-RDEPENDS_perl-module-fields += "perl-module-hash-util"
-RDEPENDS_perl-module-fields += "perl-module-strict"
-RDEPENDS_perl-module-file-basename += "perl-module-exporter"
-RDEPENDS_perl-module-file-basename += "perl-module-re"
-RDEPENDS_perl-module-file-basename += "perl-module-strict"
-RDEPENDS_perl-module-file-basename += "perl-module-warnings"
-RDEPENDS_perl-module-filecache += "perl-module-parent"
-RDEPENDS_perl-module-filecache += "perl-module-strict"
-RDEPENDS_perl-module-file-compare += "perl-module-exporter"
-RDEPENDS_perl-module-file-compare += "perl-module-strict"
-RDEPENDS_perl-module-file-compare += "perl-module-warnings"
-RDEPENDS_perl-module-file-copy += "perl-module-config"
-RDEPENDS_perl-module-file-copy += "perl-module-exporter"
-RDEPENDS_perl-module-file-copy += "perl-module-file-basename"
-RDEPENDS_perl-module-file-copy += "perl-module-strict"
-RDEPENDS_perl-module-file-copy += "perl-module-warnings"
-RDEPENDS_perl-module-file-dosglob += "perl-module-strict"
-RDEPENDS_perl-module-file-dosglob += "perl-module-text-parsewords"
-RDEPENDS_perl-module-file-dosglob += "perl-module-warnings"
-RDEPENDS_perl-module-file-dosglob += "perl-module-xsloader"
-RDEPENDS_perl-module-file-fetch += "perl-module-constant"
-RDEPENDS_perl-module-file-fetch += "perl-module-cwd"
-RDEPENDS_perl-module-file-fetch += "perl-module-file-basename"
-RDEPENDS_perl-module-file-fetch += "perl-module-file-copy"
-RDEPENDS_perl-module-file-fetch += "perl-module-filehandle"
-RDEPENDS_perl-module-file-fetch += "perl-module-file-path"
-RDEPENDS_perl-module-file-fetch += "perl-module-file-temp"
-RDEPENDS_perl-module-file-fetch += "perl-module-ipc-cmd"
-RDEPENDS_perl-module-file-fetch += "perl-module-locale-maketext-simple"
-RDEPENDS_perl-module-file-fetch += "perl-module-load"
-RDEPENDS_perl-module-file-fetch += "perl-module-params-check"
-RDEPENDS_perl-module-file-fetch += "perl-module-strict"
-RDEPENDS_perl-module-file-fetch += "perl-module-vars"
-RDEPENDS_perl-module-file-find += "perl-module-config"
-RDEPENDS_perl-module-file-find += "perl-module-cwd"
-RDEPENDS_perl-module-file-find += "perl-module-exporter"
-RDEPENDS_perl-module-file-find += "perl-module-file-basename"
-RDEPENDS_perl-module-file-find += "perl-module-strict"
-RDEPENDS_perl-module-file-find += "perl-module-warnings"
-RDEPENDS_perl-module-file-find += "perl-module-warnings-register"
-RDEPENDS_perl-module-file-globmapper += "perl-module-file-glob"
-RDEPENDS_perl-module-file-globmapper += "perl-module-strict"
-RDEPENDS_perl-module-file-globmapper += "perl-module-warnings"
-RDEPENDS_perl-module-file-glob += "perl-module-exporter"
-RDEPENDS_perl-module-file-glob += "perl-module-strict"
-RDEPENDS_perl-module-file-glob += "perl-module-warnings"
-RDEPENDS_perl-module-file-glob += "perl-module-xsloader"
-RDEPENDS_perl-module-filehandle += "perl-module-exporter"
-RDEPENDS_perl-module-filehandle += "perl-module-fcntl"
-RDEPENDS_perl-module-filehandle += "perl-module-io-file"
-RDEPENDS_perl-module-filehandle += "perl-module-strict"
-RDEPENDS_perl-module-file-path += "perl-module-cwd"
-RDEPENDS_perl-module-file-path += "perl-module-exporter"
-RDEPENDS_perl-module-file-path += "perl-module-file-basename"
-RDEPENDS_perl-module-file-path += "perl-module-strict"
-RDEPENDS_perl-module-file-path += "perl-module-vars"
-RDEPENDS_perl-module-file-spec += "perl-module-constant"
-RDEPENDS_perl-module-file-spec += "perl-module-cwd"
-RDEPENDS_perl-module-file-spec += "perl-module-strict"
-RDEPENDS_perl-module-file-spec += "perl-module-file-spec-unix"
-RDEPENDS_perl-module-file-stat += "perl-module-class-struct"
-RDEPENDS_perl-module-file-stat += "perl-module-constant"
-RDEPENDS_perl-module-file-stat += "perl-module-exporter"
-RDEPENDS_perl-module-file-stat += "perl-module-fcntl"
-RDEPENDS_perl-module-file-stat += "perl-module-overload "
-RDEPENDS_perl-module-file-stat += "perl-module-strict"
-RDEPENDS_perl-module-file-stat += "perl-module-warnings"
-RDEPENDS_perl-module-file-stat += "perl-module-warnings-register"
-RDEPENDS_perl-module-file-temp += "perl-module-carp"
-RDEPENDS_perl-module-file-temp += "perl-module-constant"
-RDEPENDS_perl-module-file-temp += "perl-module-cwd"
-RDEPENDS_perl-module-file-temp += "perl-module-errno"
-RDEPENDS_perl-module-file-temp += "perl-module-exporter"
-RDEPENDS_perl-module-file-temp += "perl-module-fcntl"
-RDEPENDS_perl-module-file-temp += "perl-module-file-path"
-RDEPENDS_perl-module-file-temp += "perl-module-file-spec"
-RDEPENDS_perl-module-file-temp += "perl-module-io-seekable"
-RDEPENDS_perl-module-file-temp += "perl-module-overload"
-RDEPENDS_perl-module-file-temp += "perl-module-parent"
-RDEPENDS_perl-module-file-temp += "perl-module-posix"
-RDEPENDS_perl-module-file-temp += "perl-module-scalar-util"
-RDEPENDS_perl-module-file-temp += "perl-module-strict"
-RDEPENDS_perl-module-file-temp += "perl-module-vars"
-RDEPENDS_perl-module-filter-simple += "perl-module-filter-util-call"
-RDEPENDS_perl-module-filter-simple += "perl-module-text-balanced"
-RDEPENDS_perl-module-filter-util-call += "perl-module-exporter"
-RDEPENDS_perl-module-filter-util-call += "perl-module-strict"
-RDEPENDS_perl-module-filter-util-call += "perl-module-warnings"
-RDEPENDS_perl-module-filter-util-call += "perl-module-xsloader"
-RDEPENDS_perl-module-findbin += "perl-module-cwd"
-RDEPENDS_perl-module-findbin += "perl-module-exporter"
-RDEPENDS_perl-module-findbin += "perl-module-file-basename"
-RDEPENDS_perl-module-getopt-long += "perl-module-constant"
-RDEPENDS_perl-module-getopt-long += "perl-module-exporter"
-RDEPENDS_perl-module-getopt-long += "perl-module-overload"
-RDEPENDS_perl-module-getopt-long += "perl-module-pod-usage"
-RDEPENDS_perl-module-getopt-long += "perl-module-strict"
-RDEPENDS_perl-module-getopt-long += "perl-module-text-parsewords"
-RDEPENDS_perl-module-getopt-long += "perl-module-vars"
-RDEPENDS_perl-module-getopt-long += "perl-module-warnings"
-RDEPENDS_perl-module-getopt-std += "perl-module-exporter"
-RDEPENDS_perl-module-hash-util-fieldhash += "perl-module-exporter"
-RDEPENDS_perl-module-hash-util-fieldhash += "perl-module-strict"
-RDEPENDS_perl-module-hash-util-fieldhash += "perl-module-warnings"
-RDEPENDS_perl-module-hash-util-fieldhash += "perl-module-xsloader"
-RDEPENDS_perl-module-hash-util += "perl-module-exporter"
-RDEPENDS_perl-module-hash-util += "perl-module-hash-util-fieldhash"
-RDEPENDS_perl-module-hash-util += "perl-module-strict"
-RDEPENDS_perl-module-hash-util += "perl-module-warnings"
-RDEPENDS_perl-module-hash-util += "perl-module-warnings-register"
-RDEPENDS_perl-module-hash-util += "perl-module-xsloader"
-RDEPENDS_perl-module-i18n-collate += "perl-module-exporter"
-RDEPENDS_perl-module-i18n-collate += "perl-module-overload"
-RDEPENDS_perl-module-i18n-collate += "perl-module-posix"
-RDEPENDS_perl-module-i18n-collate += "perl-module-strict"
-RDEPENDS_perl-module-i18n-collate += "perl-module-warnings-register"
-RDEPENDS_perl-module-i18n-langinfo += "perl-module-exporter"
-RDEPENDS_perl-module-i18n-langinfo += "perl-module-strict"
-RDEPENDS_perl-module-i18n-langinfo += "perl-module-warnings"
-RDEPENDS_perl-module-i18n-langinfo += "perl-module-xsloader"
-RDEPENDS_perl-module-i18n-langtags-detect += "perl-module-i18n-langtags"
-RDEPENDS_perl-module-i18n-langtags-detect += "perl-module-strict"
-RDEPENDS_perl-module-i18n-langtags-list += "perl-module-strict"
-RDEPENDS_perl-module-i18n-langtags += "perl-module-exporter"
-RDEPENDS_perl-module-i18n-langtags += "perl-module-strict"
-RDEPENDS_perl-module-io-compress-adapter-bzip2 += "perl-module-bytes"
-RDEPENDS_perl-module-io-compress-adapter-bzip2 += "perl-module-compress-raw-bzip2"
-RDEPENDS_perl-module-io-compress-adapter-bzip2 += "perl-module-io-compress-base-common"
-RDEPENDS_perl-module-io-compress-adapter-bzip2 += "perl-module-strict"
-RDEPENDS_perl-module-io-compress-adapter-bzip2 += "perl-module-warnings"
-RDEPENDS_perl-module-io-compress-adapter-deflate += "perl-module-bytes"
-RDEPENDS_perl-module-io-compress-adapter-deflate += "perl-module-compress-raw-zlib"
-RDEPENDS_perl-module-io-compress-adapter-deflate += "perl-module-exporter"
-RDEPENDS_perl-module-io-compress-adapter-deflate += "perl-module-io-compress-base-common"
-RDEPENDS_perl-module-io-compress-adapter-deflate += "perl-module-strict"
-RDEPENDS_perl-module-io-compress-adapter-deflate += "perl-module-warnings"
-RDEPENDS_perl-module-io-compress-adapter-identity += "perl-module-bytes"
-RDEPENDS_perl-module-io-compress-adapter-identity += "perl-module-io-compress-base-common"
-RDEPENDS_perl-module-io-compress-adapter-identity += "perl-module-strict"
-RDEPENDS_perl-module-io-compress-adapter-identity += "perl-module-warnings"
-RDEPENDS_perl-module-io-compress-base-common += "perl-module-bytes"
-RDEPENDS_perl-module-io-compress-base-common += "perl-module-constant"
-RDEPENDS_perl-module-io-compress-base-common += "perl-module-encode"
-RDEPENDS_perl-module-io-compress-base-common += "perl-module-exporter"
-RDEPENDS_perl-module-io-compress-base-common += "perl-module-file-globmapper"
-RDEPENDS_perl-module-io-compress-base-common += "perl-module-strict "
-RDEPENDS_perl-module-io-compress-base-common += "perl-module-strict"
-RDEPENDS_perl-module-io-compress-base-common += "perl-module-utf8"
-RDEPENDS_perl-module-io-compress-base-common += "perl-module-warnings"
-RDEPENDS_perl-module-io-compress-base += "perl-module-io-compress-base-common"
-RDEPENDS_perl-module-io-compress-base += "perl-module-io-file"
-RDEPENDS_perl-module-io-compress-base += "perl-module-io-handle "
-RDEPENDS_perl-module-io-compress-base += "perl-module-strict "
-RDEPENDS_perl-module-io-compress-base += "perl-module-warnings"
-RDEPENDS_perl-module-io-compress-bzip2 += "perl-module-bytes"
-RDEPENDS_perl-module-io-compress-bzip2 += "perl-module-exporter "
-RDEPENDS_perl-module-io-compress-bzip2 += "perl-module-io-compress-adapter-bzip2"
-RDEPENDS_perl-module-io-compress-bzip2 += "perl-module-io-compress-base"
-RDEPENDS_perl-module-io-compress-bzip2 += "perl-module-io-compress-base-common"
-RDEPENDS_perl-module-io-compress-bzip2 += "perl-module-strict "
-RDEPENDS_perl-module-io-compress-bzip2 += "perl-module-warnings"
-RDEPENDS_perl-module-io-compress-deflate += "perl-module-bytes"
-RDEPENDS_perl-module-io-compress-deflate += "perl-module-exporter "
-RDEPENDS_perl-module-io-compress-deflate += "perl-module-io-compress-adapter-deflate"
-RDEPENDS_perl-module-io-compress-deflate += "perl-module-io-compress-base-common"
-RDEPENDS_perl-module-io-compress-deflate += "perl-module-io-compress-rawdeflate"
-RDEPENDS_perl-module-io-compress-deflate += "perl-module-io-compress-zlib-constants"
-RDEPENDS_perl-module-io-compress-deflate += "perl-module-strict "
-RDEPENDS_perl-module-io-compress-deflate += "perl-module-warnings"
-RDEPENDS_perl-module-io-compress-gzip-constants += "perl-module-bytes"
-RDEPENDS_perl-module-io-compress-gzip-constants += "perl-module-constant"
-RDEPENDS_perl-module-io-compress-gzip-constants += "perl-module-exporter"
-RDEPENDS_perl-module-io-compress-gzip-constants += "perl-module-strict "
-RDEPENDS_perl-module-io-compress-gzip-constants += "perl-module-warnings"
-RDEPENDS_perl-module-io-compress-gzip += "perl-module-bytes"
-RDEPENDS_perl-module-io-compress-gzip += "perl-module-exporter "
-RDEPENDS_perl-module-io-compress-gzip += "perl-module-io-compress-adapter-deflate"
-RDEPENDS_perl-module-io-compress-gzip += "perl-module-io-compress-base-common"
-RDEPENDS_perl-module-io-compress-gzip += "perl-module-io-compress-gzip-constants"
-RDEPENDS_perl-module-io-compress-gzip += "perl-module-io-compress-rawdeflate"
-RDEPENDS_perl-module-io-compress-gzip += "perl-module-io-compress-zlib-extra"
-RDEPENDS_perl-module-io-compress-gzip += "perl-module-strict "
-RDEPENDS_perl-module-io-compress-gzip += "perl-module-warnings"
-RDEPENDS_perl-module-io-compress-rawdeflate += "perl-module-bytes"
-RDEPENDS_perl-module-io-compress-rawdeflate += "perl-module-compress-raw-zlib"
-RDEPENDS_perl-module-io-compress-rawdeflate += "perl-module-exporter "
-RDEPENDS_perl-module-io-compress-rawdeflate += "perl-module-fcntl"
-RDEPENDS_perl-module-io-compress-rawdeflate += "perl-module-io-compress-adapter-deflate"
-RDEPENDS_perl-module-io-compress-rawdeflate += "perl-module-io-compress-base"
-RDEPENDS_perl-module-io-compress-rawdeflate += "perl-module-io-compress-base-common"
-RDEPENDS_perl-module-io-compress-rawdeflate += "perl-module-strict "
-RDEPENDS_perl-module-io-compress-rawdeflate += "perl-module-warnings"
-RDEPENDS_perl-module-io-compress-zip-constants += "perl-module-constant"
-RDEPENDS_perl-module-io-compress-zip-constants += "perl-module-exporter"
-RDEPENDS_perl-module-io-compress-zip-constants += "perl-module-strict "
-RDEPENDS_perl-module-io-compress-zip-constants += "perl-module-warnings"
-RDEPENDS_perl-module-io-compress-zip += "perl-module-bytes"
-RDEPENDS_perl-module-io-compress-zip += "perl-module-compress-raw-zlib"
-RDEPENDS_perl-module-io-compress-zip += "perl-module-config"
-RDEPENDS_perl-module-io-compress-zip += "perl-module-exporter "
-RDEPENDS_perl-module-io-compress-zip += "perl-module-fcntl"
-RDEPENDS_perl-module-io-compress-zip += "perl-module-io-compress-adapter-deflate"
-RDEPENDS_perl-module-io-compress-zip += "perl-module-io-compress-adapter-identity"
-RDEPENDS_perl-module-io-compress-zip += "perl-module-io-compress-base-common"
-RDEPENDS_perl-module-io-compress-zip += "perl-module-io-compress-bzip2 "
-RDEPENDS_perl-module-io-compress-zip += "perl-module-io-compress-rawdeflate"
-RDEPENDS_perl-module-io-compress-zip += "perl-module-io-compress-zip-constants"
-RDEPENDS_perl-module-io-compress-zip += "perl-module-io-compress-zlib-extra"
-RDEPENDS_perl-module-io-compress-zip += "perl-module-strict "
-RDEPENDS_perl-module-io-compress-zip += "perl-module-warnings"
-RDEPENDS_perl-module-io-compress-zlib-constants += "perl-module-bytes"
-RDEPENDS_perl-module-io-compress-zlib-constants += "perl-module-constant"
-RDEPENDS_perl-module-io-compress-zlib-constants += "perl-module-exporter"
-RDEPENDS_perl-module-io-compress-zlib-constants += "perl-module-strict "
-RDEPENDS_perl-module-io-compress-zlib-constants += "perl-module-warnings"
-RDEPENDS_perl-module-io-compress-zlib-extra += "perl-module-bytes"
-RDEPENDS_perl-module-io-compress-zlib-extra += "perl-module-io-compress-gzip-constants"
-RDEPENDS_perl-module-io-compress-zlib-extra += "perl-module-strict "
-RDEPENDS_perl-module-io-compress-zlib-extra += "perl-module-warnings"
-RDEPENDS_perl-module-io-dir += "perl-module-exporter"
-RDEPENDS_perl-module-io-dir += "perl-module-file-stat"
-RDEPENDS_perl-module-io-dir += "perl-module-io-file"
-RDEPENDS_perl-module-io-dir += "perl-module-strict"
-RDEPENDS_perl-module-io-dir += "perl-module-tie-hash"
-RDEPENDS_perl-module-io-file += "perl-module-carp"
-RDEPENDS_perl-module-io-file += "perl-module-exporter"
-RDEPENDS_perl-module-io-file += "perl-module-fcntl"
-RDEPENDS_perl-module-io-file += "perl-module-io-seekable"
-RDEPENDS_perl-module-io-file += "perl-module-selectsaver"
-RDEPENDS_perl-module-io-file += "perl-module-strict"
-RDEPENDS_perl-module-io-file += "perl-module-symbol"
-RDEPENDS_perl-module-io-handle += "perl-module-exporter"
-RDEPENDS_perl-module-io-handle += "perl-module-io"
-RDEPENDS_perl-module-io-handle += "perl-module-io-file"
-RDEPENDS_perl-module-io-handle += "perl-module-selectsaver"
-RDEPENDS_perl-module-io-handle += "perl-module-strict"
-RDEPENDS_perl-module-io += "perl-module-strict"
-RDEPENDS_perl-module-io += "perl-module-warnings"
-RDEPENDS_perl-module-io += "perl-module-xsloader"
-RDEPENDS_perl-module-io-pipe += "perl-module-fcntl"
-RDEPENDS_perl-module-io-pipe += "perl-module-io-handle"
-RDEPENDS_perl-module-io-pipe += "perl-module-strict"
-RDEPENDS_perl-module-io-poll += "perl-module-exporter"
-RDEPENDS_perl-module-io-poll += "perl-module-io-handle"
-RDEPENDS_perl-module-io-poll += "perl-module-strict"
-RDEPENDS_perl-module-io-seekable += "perl-module-exporter"
-RDEPENDS_perl-module-io-seekable += "perl-module-fcntl"
-RDEPENDS_perl-module-io-seekable += "perl-module-io-handle"
-RDEPENDS_perl-module-io-seekable += "perl-module-strict"
-RDEPENDS_perl-module-io-select += "perl-module-exporter"
-RDEPENDS_perl-module-io-select += "perl-module-strict"
-RDEPENDS_perl-module-io-select += "perl-module-warnings-register"
-RDEPENDS_perl-module-io-socket-inet += "perl-module-errno"
-RDEPENDS_perl-module-io-socket-inet += "perl-module-exporter"
-RDEPENDS_perl-module-io-socket-inet += "perl-module-io-socket"
-RDEPENDS_perl-module-io-socket-inet += "perl-module-socket"
-RDEPENDS_perl-module-io-socket-inet += "perl-module-strict"
-RDEPENDS_perl-module-io-socket-ip += "perl-module-base"
-RDEPENDS_perl-module-io-socket-ip += "perl-module-constant"
-RDEPENDS_perl-module-io-socket-ip += "perl-module-errno"
-RDEPENDS_perl-module-io-socket-ip += "perl-module-posix"
-RDEPENDS_perl-module-io-socket-ip += "perl-module-socket"
-RDEPENDS_perl-module-io-socket-ip += "perl-module-strict"
-RDEPENDS_perl-module-io-socket-ip += "perl-module-warnings"
-RDEPENDS_perl-module-io-socket += "perl-module-errno"
-RDEPENDS_perl-module-io-socket += "perl-module-exporter"
-RDEPENDS_perl-module-io-socket += "perl-module-io-handle"
-RDEPENDS_perl-module-io-socket += "perl-module-io-select"
-RDEPENDS_perl-module-io-socket += "perl-module-io-socket-inet"
-RDEPENDS_perl-module-io-socket += "perl-module-io-socket-unix"
-RDEPENDS_perl-module-io-socket += "perl-module-socket"
-RDEPENDS_perl-module-io-socket += "perl-module-strict"
-RDEPENDS_perl-module-io-socket-unix += "perl-module-io-socket"
-RDEPENDS_perl-module-io-socket-unix += "perl-module-strict"
-RDEPENDS_perl-module-io-uncompress-adapter-bunzip2 += "perl-module-bytes"
-RDEPENDS_perl-module-io-uncompress-adapter-bunzip2 += "perl-module-compress-raw-bzip2"
-RDEPENDS_perl-module-io-uncompress-adapter-bunzip2 += "perl-module-io-compress-base-common"
-RDEPENDS_perl-module-io-uncompress-adapter-bunzip2 += "perl-module-strict"
-RDEPENDS_perl-module-io-uncompress-adapter-bunzip2 += "perl-module-warnings"
-RDEPENDS_perl-module-io-uncompress-adapter-identity += "perl-module-bytes"
-RDEPENDS_perl-module-io-uncompress-adapter-identity += "perl-module-compress-raw-zlib"
-RDEPENDS_perl-module-io-uncompress-adapter-identity += "perl-module-io-compress-base-common"
-RDEPENDS_perl-module-io-uncompress-adapter-identity += "perl-module-io-compress-zip-constants "
-RDEPENDS_perl-module-io-uncompress-adapter-identity += "perl-module-strict"
-RDEPENDS_perl-module-io-uncompress-adapter-identity += "perl-module-warnings"
-RDEPENDS_perl-module-io-uncompress-adapter-inflate += "perl-module-bytes"
-RDEPENDS_perl-module-io-uncompress-adapter-inflate += "perl-module-compress-raw-zlib"
-RDEPENDS_perl-module-io-uncompress-adapter-inflate += "perl-module-io-compress-base-common"
-RDEPENDS_perl-module-io-uncompress-adapter-inflate += "perl-module-strict"
-RDEPENDS_perl-module-io-uncompress-adapter-inflate += "perl-module-warnings"
-RDEPENDS_perl-module-io-uncompress-anyinflate += "perl-module-bytes"
-RDEPENDS_perl-module-io-uncompress-anyinflate += "perl-module-exporter "
-RDEPENDS_perl-module-io-uncompress-anyinflate += "perl-module-io-compress-base-common"
-RDEPENDS_perl-module-io-uncompress-anyinflate += "perl-module-io-uncompress-adapter-inflate"
-RDEPENDS_perl-module-io-uncompress-anyinflate += "perl-module-io-uncompress-base"
-RDEPENDS_perl-module-io-uncompress-anyinflate += "perl-module-io-uncompress-gunzip"
-RDEPENDS_perl-module-io-uncompress-anyinflate += "perl-module-io-uncompress-inflate"
-RDEPENDS_perl-module-io-uncompress-anyinflate += "perl-module-io-uncompress-rawinflate"
-RDEPENDS_perl-module-io-uncompress-anyinflate += "perl-module-io-uncompress-unzip"
-RDEPENDS_perl-module-io-uncompress-anyinflate += "perl-module-strict"
-RDEPENDS_perl-module-io-uncompress-anyinflate += "perl-module-warnings"
-RDEPENDS_perl-module-io-uncompress-anyuncompress += "perl-module-bytes"
-RDEPENDS_perl-module-io-uncompress-anyuncompress += "perl-module-exporter "
-RDEPENDS_perl-module-io-uncompress-anyuncompress += "perl-module-io-compress-base-common"
-RDEPENDS_perl-module-io-uncompress-anyuncompress += "perl-module-io-uncompress-base"
-RDEPENDS_perl-module-io-uncompress-anyuncompress += "perl-module-strict"
-RDEPENDS_perl-module-io-uncompress-anyuncompress += "perl-module-warnings"
-RDEPENDS_perl-module-io-uncompress-base += "perl-module-bytes"
-RDEPENDS_perl-module-io-uncompress-base += "perl-module-constant"
-RDEPENDS_perl-module-io-uncompress-base += "perl-module-io-compress-base-common"
-RDEPENDS_perl-module-io-uncompress-base += "perl-module-io-file "
-RDEPENDS_perl-module-io-uncompress-base += "perl-module-list-util"
-RDEPENDS_perl-module-io-uncompress-base += "perl-module-strict "
-RDEPENDS_perl-module-io-uncompress-base += "perl-module-warnings"
-RDEPENDS_perl-module-io-uncompress-bunzip2 += "perl-module-bytes"
-RDEPENDS_perl-module-io-uncompress-bunzip2 += "perl-module-exporter "
-RDEPENDS_perl-module-io-uncompress-bunzip2 += "perl-module-io-compress-base-common"
-RDEPENDS_perl-module-io-uncompress-bunzip2 += "perl-module-io-uncompress-adapter-bunzip2"
-RDEPENDS_perl-module-io-uncompress-bunzip2 += "perl-module-io-uncompress-base"
-RDEPENDS_perl-module-io-uncompress-bunzip2 += "perl-module-strict "
-RDEPENDS_perl-module-io-uncompress-bunzip2 += "perl-module-warnings"
-RDEPENDS_perl-module-io-uncompress-gunzip += "perl-module-bytes"
-RDEPENDS_perl-module-io-uncompress-gunzip += "perl-module-compress-raw-zlib"
-RDEPENDS_perl-module-io-uncompress-gunzip += "perl-module-exporter "
-RDEPENDS_perl-module-io-uncompress-gunzip += "perl-module-io-compress-base-common"
-RDEPENDS_perl-module-io-uncompress-gunzip += "perl-module-io-compress-gzip-constants"
-RDEPENDS_perl-module-io-uncompress-gunzip += "perl-module-io-compress-zlib-extra"
-RDEPENDS_perl-module-io-uncompress-gunzip += "perl-module-io-uncompress-rawinflate"
-RDEPENDS_perl-module-io-uncompress-gunzip += "perl-module-strict "
-RDEPENDS_perl-module-io-uncompress-gunzip += "perl-module-warnings"
-RDEPENDS_perl-module-io-uncompress-inflate += "perl-module-bytes"
-RDEPENDS_perl-module-io-uncompress-inflate += "perl-module-exporter "
-RDEPENDS_perl-module-io-uncompress-inflate += "perl-module-io-compress-base-common"
-RDEPENDS_perl-module-io-uncompress-inflate += "perl-module-io-compress-zlib-constants"
-RDEPENDS_perl-module-io-uncompress-inflate += "perl-module-io-uncompress-rawinflate"
-RDEPENDS_perl-module-io-uncompress-inflate += "perl-module-strict "
-RDEPENDS_perl-module-io-uncompress-inflate += "perl-module-warnings"
-RDEPENDS_perl-module-io-uncompress-rawinflate += "perl-module-bytes"
-RDEPENDS_perl-module-io-uncompress-rawinflate += "perl-module-compress-raw-zlib"
-RDEPENDS_perl-module-io-uncompress-rawinflate += "perl-module-exporter "
-RDEPENDS_perl-module-io-uncompress-rawinflate += "perl-module-io-compress-base-common"
-RDEPENDS_perl-module-io-uncompress-rawinflate += "perl-module-io-uncompress-adapter-inflate"
-RDEPENDS_perl-module-io-uncompress-rawinflate += "perl-module-io-uncompress-base"
-RDEPENDS_perl-module-io-uncompress-rawinflate += "perl-module-strict "
-RDEPENDS_perl-module-io-uncompress-rawinflate += "perl-module-warnings"
-RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-bytes"
-RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-compress-raw-zlib"
-RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-constant"
-RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-exporter "
-RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-fcntl"
-RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-io-compress-base-common"
-RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-io-compress-zip-constants"
-RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-io-compress-zlib-extra"
-RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-io-file"
-RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-io-uncompress-adapter-identity"
-RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-io-uncompress-adapter-inflate"
-RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-io-uncompress-rawinflate"
-RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-posix"
-RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-strict "
-RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-warnings"
-RDEPENDS_perl-module-io-zlib += "perl-module-fcntl"
-RDEPENDS_perl-module-io-zlib += "perl-module-io-handle"
-RDEPENDS_perl-module-io-zlib += "perl-module-strict"
-RDEPENDS_perl-module-io-zlib += "perl-module-tie-handle"
-RDEPENDS_perl-module-io-zlib += "perl-module-vars"
-RDEPENDS_perl-module-ipc-cmd += "perl-module-constant"
-RDEPENDS_perl-module-ipc-cmd += "perl-module-exporter"
-RDEPENDS_perl-module-ipc-cmd += "perl-module-extutils-makemaker"
-RDEPENDS_perl-module-ipc-cmd += "perl-module-filehandle"
-RDEPENDS_perl-module-ipc-cmd += "perl-module-io-handle"
-RDEPENDS_perl-module-ipc-cmd += "perl-module-io-select"
-RDEPENDS_perl-module-ipc-cmd += "perl-module-ipc-open3"
-RDEPENDS_perl-module-ipc-cmd += "perl-module-locale-maketext-simple"
-RDEPENDS_perl-module-ipc-cmd += "perl-module-load"
-RDEPENDS_perl-module-ipc-cmd += "perl-module-params-check"
-RDEPENDS_perl-module-ipc-cmd += "perl-module-posix"
-RDEPENDS_perl-module-ipc-cmd += "perl-module-socket"
-RDEPENDS_perl-module-ipc-cmd += "perl-module-strict"
-RDEPENDS_perl-module-ipc-cmd += "perl-module-text-parsewords"
-RDEPENDS_perl-module-ipc-cmd += "perl-module-time-hires"
-RDEPENDS_perl-module-ipc-cmd += "perl-module-vars"
-RDEPENDS_perl-module-ipc-msg += "perl-module-class-struct"
-RDEPENDS_perl-module-ipc-msg += "perl-module-ipc-sysv"
-RDEPENDS_perl-module-ipc-msg += "perl-module-strict"
-RDEPENDS_perl-module-ipc-msg += "perl-module-vars"
-RDEPENDS_perl-module-ipc-open2 += "perl-module-exporter"
-RDEPENDS_perl-module-ipc-open2 += "perl-module-ipc-open3"
-RDEPENDS_perl-module-ipc-open2 += "perl-module-strict"
-RDEPENDS_perl-module-ipc-open3 += "perl-module-constant"
-RDEPENDS_perl-module-ipc-open3 += "perl-module-exporter"
-RDEPENDS_perl-module-ipc-open3 += "perl-module-fcntl"
-RDEPENDS_perl-module-ipc-open3 += "perl-module-io-pipe"
-RDEPENDS_perl-module-ipc-open3 += "perl-module-posix"
-RDEPENDS_perl-module-ipc-open3 += "perl-module-strict"
-RDEPENDS_perl-module-ipc-semaphore += "perl-module-class-struct"
-RDEPENDS_perl-module-ipc-semaphore += "perl-module-ipc-sysv"
-RDEPENDS_perl-module-ipc-semaphore += "perl-module-strict"
-RDEPENDS_perl-module-ipc-semaphore += "perl-module-vars"
-RDEPENDS_perl-module-ipc-sharedmem += "perl-module-class-struct"
-RDEPENDS_perl-module-ipc-sharedmem += "perl-module-ipc-sysv"
-RDEPENDS_perl-module-ipc-sharedmem += "perl-module-strict"
-RDEPENDS_perl-module-ipc-sharedmem += "perl-module-vars"
-RDEPENDS_perl-module-ipc-sysv += "perl-module-config"
-RDEPENDS_perl-module-ipc-sysv += "perl-module-dynaloader"
-RDEPENDS_perl-module-ipc-sysv += "perl-module-exporter"
-RDEPENDS_perl-module-ipc-sysv += "perl-module-strict"
-RDEPENDS_perl-module-ipc-sysv += "perl-module-vars"
-RDEPENDS_perl-module-json-pp-boolean += "perl-module-overload"
-RDEPENDS_perl-module-json-pp-boolean += "perl-module-strict"
-RDEPENDS_perl-module-json-pp += "perl-module-b"
-RDEPENDS_perl-module-json-pp += "perl-module-bytes"
-RDEPENDS_perl-module-json-pp += "perl-module-constant"
-RDEPENDS_perl-module-json-pp += "perl-module-encode"
-RDEPENDS_perl-module-json-pp += "perl-module-exporter"
-RDEPENDS_perl-module-json-pp += "perl-module-json-pp-boolean"
-RDEPENDS_perl-module-json-pp += "perl-module-math-bigfloat"
-RDEPENDS_perl-module-json-pp += "perl-module-math-bigint"
-RDEPENDS_perl-module-json-pp += "perl-module-overload"
-RDEPENDS_perl-module-json-pp += "perl-module-strict"
-RDEPENDS_perl-module-json-pp += "perl-module-subs"
-RDEPENDS_perl-module-less += "perl-module-strict"
-RDEPENDS_perl-module-less += "perl-module-warnings"
-RDEPENDS_perl-module-lib += "perl-module-config"
-RDEPENDS_perl-module-lib += "perl-module-strict"
-RDEPENDS_perl-module-list-util += "perl-module-exporter"
-RDEPENDS_perl-module-list-util += "perl-module-strict"
-RDEPENDS_perl-module-list-util += "perl-module-warnings"
-RDEPENDS_perl-module-list-util += "perl-module-xsloader"
-RDEPENDS_perl-module-list-util-xs += "perl-module-list-util"
-RDEPENDS_perl-module-list-util-xs += "perl-module-strict"
-RDEPENDS_perl-module-list-util-xs += "perl-module-warnings"
-RDEPENDS_perl-module-loaded += "perl-module-strict"
-RDEPENDS_perl-module-loaded += "perl-module-vars"
-RDEPENDS_perl-module-load += "perl-module-config"
-RDEPENDS_perl-module-load += "perl-module-constant"
-RDEPENDS_perl-module-load += "perl-module-exporter"
-RDEPENDS_perl-module-load += "perl-module-filehandle"
-RDEPENDS_perl-module-load += "perl-module-locale-maketext-simple"
-RDEPENDS_perl-module-load += "perl-module-corelist"
-RDEPENDS_perl-module-load += "perl-module-load"
-RDEPENDS_perl-module-load += "perl-module-params-check"
-RDEPENDS_perl-module-load += "perl-module-strict"
-RDEPENDS_perl-module-load += "perl-module-vars"
-RDEPENDS_perl-module-load += "perl-module-version"
-RDEPENDS_perl-module-load += "perl-module-warnings"
-RDEPENDS_perl-module-locale-codes-constants += "perl-module-constant"
-RDEPENDS_perl-module-locale-codes-constants += "perl-module-exporter"
-RDEPENDS_perl-module-locale-codes-constants += "perl-module-strict"
-RDEPENDS_perl-module-locale-codes-constants += "perl-module-warnings"
-RDEPENDS_perl-module-locale-codes-country-codes += "perl-module-strict"
-RDEPENDS_perl-module-locale-codes-country-codes += "perl-module-utf8"
-RDEPENDS_perl-module-locale-codes-country-codes += "perl-module-warnings"
-RDEPENDS_perl-module-locale-codes-country += "perl-module-exporter"
-RDEPENDS_perl-module-locale-codes-country += "perl-module-if"
-RDEPENDS_perl-module-locale-codes-country += "perl-module-locale-codes"
-RDEPENDS_perl-module-locale-codes-country += "perl-module-locale-codes-constants"
-RDEPENDS_perl-module-locale-codes-country += "perl-module-strict"
-RDEPENDS_perl-module-locale-codes-country += "perl-module-warnings"
-RDEPENDS_perl-module-locale-codes-country-retired += "perl-module-strict"
-RDEPENDS_perl-module-locale-codes-country-retired += "perl-module-utf8"
-RDEPENDS_perl-module-locale-codes-country-retired += "perl-module-warnings"
-RDEPENDS_perl-module-locale-codes-currency-codes += "perl-module-strict"
-RDEPENDS_perl-module-locale-codes-currency-codes += "perl-module-utf8"
-RDEPENDS_perl-module-locale-codes-currency-codes += "perl-module-warnings"
-RDEPENDS_perl-module-locale-codes-currency += "perl-module-exporter"
-RDEPENDS_perl-module-locale-codes-currency += "perl-module-if"
-RDEPENDS_perl-module-locale-codes-currency += "perl-module-locale-codes"
-RDEPENDS_perl-module-locale-codes-currency += "perl-module-locale-codes-constants"
-RDEPENDS_perl-module-locale-codes-currency += "perl-module-strict"
-RDEPENDS_perl-module-locale-codes-currency += "perl-module-warnings"
-RDEPENDS_perl-module-locale-codes-currency-retired += "perl-module-strict"
-RDEPENDS_perl-module-locale-codes-currency-retired += "perl-module-utf8"
-RDEPENDS_perl-module-locale-codes-currency-retired += "perl-module-warnings"
-RDEPENDS_perl-module-locale-codes-langext-codes += "perl-module-strict"
-RDEPENDS_perl-module-locale-codes-langext-codes += "perl-module-utf8"
-RDEPENDS_perl-module-locale-codes-langext-codes += "perl-module-warnings"
-RDEPENDS_perl-module-locale-codes-langext += "perl-module-exporter"
-RDEPENDS_perl-module-locale-codes-langext += "perl-module-if"
-RDEPENDS_perl-module-locale-codes-langext += "perl-module-locale-codes"
-RDEPENDS_perl-module-locale-codes-langext += "perl-module-locale-codes-constants"
-RDEPENDS_perl-module-locale-codes-langext += "perl-module-strict"
-RDEPENDS_perl-module-locale-codes-langext += "perl-module-warnings"
-RDEPENDS_perl-module-locale-codes-langext-retired += "perl-module-strict"
-RDEPENDS_perl-module-locale-codes-langext-retired += "perl-module-utf8"
-RDEPENDS_perl-module-locale-codes-langext-retired += "perl-module-warnings"
-RDEPENDS_perl-module-locale-codes-langfam-codes += "perl-module-strict"
-RDEPENDS_perl-module-locale-codes-langfam-codes += "perl-module-utf8"
-RDEPENDS_perl-module-locale-codes-langfam-codes += "perl-module-warnings"
-RDEPENDS_perl-module-locale-codes-langfam += "perl-module-exporter"
-RDEPENDS_perl-module-locale-codes-langfam += "perl-module-if"
-RDEPENDS_perl-module-locale-codes-langfam += "perl-module-locale-codes"
-RDEPENDS_perl-module-locale-codes-langfam += "perl-module-locale-codes-constants"
-RDEPENDS_perl-module-locale-codes-langfam += "perl-module-strict"
-RDEPENDS_perl-module-locale-codes-langfam += "perl-module-warnings"
-RDEPENDS_perl-module-locale-codes-langfam-retired += "perl-module-strict"
-RDEPENDS_perl-module-locale-codes-langfam-retired += "perl-module-warnings"
-RDEPENDS_perl-module-locale-codes-language-codes += "perl-module-strict"
-RDEPENDS_perl-module-locale-codes-language-codes += "perl-module-utf8"
-RDEPENDS_perl-module-locale-codes-language-codes += "perl-module-warnings"
-RDEPENDS_perl-module-locale-codes-language += "perl-module-exporter"
-RDEPENDS_perl-module-locale-codes-language += "perl-module-if"
-RDEPENDS_perl-module-locale-codes-language += "perl-module-locale-codes"
-RDEPENDS_perl-module-locale-codes-language += "perl-module-locale-codes-constants"
-RDEPENDS_perl-module-locale-codes-language += "perl-module-strict"
-RDEPENDS_perl-module-locale-codes-language += "perl-module-warnings"
-RDEPENDS_perl-module-locale-codes-language-retired += "perl-module-strict"
-RDEPENDS_perl-module-locale-codes-language-retired += "perl-module-utf8"
-RDEPENDS_perl-module-locale-codes-language-retired += "perl-module-warnings"
-RDEPENDS_perl-module-locale-codes-langvar-codes += "perl-module-strict"
-RDEPENDS_perl-module-locale-codes-langvar-codes += "perl-module-utf8"
-RDEPENDS_perl-module-locale-codes-langvar-codes += "perl-module-warnings"
-RDEPENDS_perl-module-locale-codes-langvar += "perl-module-exporter"
-RDEPENDS_perl-module-locale-codes-langvar += "perl-module-if"
-RDEPENDS_perl-module-locale-codes-langvar += "perl-module-locale-codes"
-RDEPENDS_perl-module-locale-codes-langvar += "perl-module-locale-codes-constants"
-RDEPENDS_perl-module-locale-codes-langvar += "perl-module-strict"
-RDEPENDS_perl-module-locale-codes-langvar += "perl-module-warnings"
-RDEPENDS_perl-module-locale-codes-langvar-retired += "perl-module-strict"
-RDEPENDS_perl-module-locale-codes-langvar-retired += "perl-module-utf8"
-RDEPENDS_perl-module-locale-codes-langvar-retired += "perl-module-warnings"
-RDEPENDS_perl-module-locale-codes += "perl-module-exporter"
-RDEPENDS_perl-module-locale-codes += "perl-module-if"
-RDEPENDS_perl-module-locale-codes += "perl-module-locale-codes-constants"
-RDEPENDS_perl-module-locale-codes += "perl-module-strict"
-RDEPENDS_perl-module-locale-codes += "perl-module-warnings"
-RDEPENDS_perl-module-locale-codes-script-codes += "perl-module-strict"
-RDEPENDS_perl-module-locale-codes-script-codes += "perl-module-utf8"
-RDEPENDS_perl-module-locale-codes-script-codes += "perl-module-warnings"
-RDEPENDS_perl-module-locale-codes-script += "perl-module-exporter"
-RDEPENDS_perl-module-locale-codes-script += "perl-module-if"
-RDEPENDS_perl-module-locale-codes-script += "perl-module-locale-codes"
-RDEPENDS_perl-module-locale-codes-script += "perl-module-locale-codes-constants"
-RDEPENDS_perl-module-locale-codes-script += "perl-module-strict"
-RDEPENDS_perl-module-locale-codes-script += "perl-module-warnings"
-RDEPENDS_perl-module-locale-codes-script-retired += "perl-module-strict"
-RDEPENDS_perl-module-locale-codes-script-retired += "perl-module-utf8"
-RDEPENDS_perl-module-locale-codes-script-retired += "perl-module-warnings"
-RDEPENDS_perl-module-locale-country += "perl-module-exporter"
-RDEPENDS_perl-module-locale-country += "perl-module-if"
-RDEPENDS_perl-module-locale-country += "perl-module-locale-codes"
-RDEPENDS_perl-module-locale-country += "perl-module-locale-codes-constants"
-RDEPENDS_perl-module-locale-country += "perl-module-strict"
-RDEPENDS_perl-module-locale-country += "perl-module-warnings"
-RDEPENDS_perl-module-locale-currency += "perl-module-exporter"
-RDEPENDS_perl-module-locale-currency += "perl-module-if"
-RDEPENDS_perl-module-locale-currency += "perl-module-locale-codes"
-RDEPENDS_perl-module-locale-currency += "perl-module-locale-codes-constants"
-RDEPENDS_perl-module-locale-currency += "perl-module-strict"
-RDEPENDS_perl-module-locale-currency += "perl-module-warnings"
-RDEPENDS_perl-module-locale-language += "perl-module-exporter"
-RDEPENDS_perl-module-locale-language += "perl-module-if"
-RDEPENDS_perl-module-locale-language += "perl-module-locale-codes"
-RDEPENDS_perl-module-locale-language += "perl-module-locale-codes-constants"
-RDEPENDS_perl-module-locale-language += "perl-module-strict"
-RDEPENDS_perl-module-locale-language += "perl-module-warnings"
-RDEPENDS_perl-module-locale-maketext-gutsloader += "perl-module-locale-maketext"
-RDEPENDS_perl-module-locale-maketext-guts += "perl-module-locale-maketext"
-RDEPENDS_perl-module-locale-maketext += "perl-module-i18n-langtags"
-RDEPENDS_perl-module-locale-maketext += "perl-module-i18n-langtags-detect"
-RDEPENDS_perl-module-locale-maketext += "perl-module-integer"
-RDEPENDS_perl-module-locale-maketext += "perl-module-strict"
-RDEPENDS_perl-module-locale-maketext-simple += "perl-module-base"
-RDEPENDS_perl-module-locale-maketext-simple += "perl-module-strict"
-RDEPENDS_perl-module-locale += "perl-module-config"
-RDEPENDS_perl-module-locale-script += "perl-module-exporter"
-RDEPENDS_perl-module-locale-script += "perl-module-if"
-RDEPENDS_perl-module-locale-script += "perl-module-locale-codes"
-RDEPENDS_perl-module-locale-script += "perl-module-locale-codes-constants"
-RDEPENDS_perl-module-locale-script += "perl-module-strict"
-RDEPENDS_perl-module-locale-script += "perl-module-warnings"
-RDEPENDS_perl-module-math-bigfloat += "perl-module-exporter"
-RDEPENDS_perl-module-math-bigfloat += "perl-module-math-bigint"
-RDEPENDS_perl-module-math-bigfloat += "perl-module-math-complex"
-RDEPENDS_perl-module-math-bigfloat += "perl-module-overload"
-RDEPENDS_perl-module-math-bigfloat += "perl-module-strict"
-RDEPENDS_perl-module-math-bigfloat += "perl-module-warnings"
-RDEPENDS_perl-module-math-bigfloat-trace += "perl-module-exporter"
-RDEPENDS_perl-module-math-bigfloat-trace += "perl-module-math-bigfloat"
-RDEPENDS_perl-module-math-bigfloat-trace += "perl-module-overload"
-RDEPENDS_perl-module-math-bigfloat-trace += "perl-module-strict"
-RDEPENDS_perl-module-math-bigfloat-trace += "perl-module-warnings"
-RDEPENDS_perl-module-math-bigint-calcemu += "perl-module-strict"
-RDEPENDS_perl-module-math-bigint-calcemu += "perl-module-warnings"
-RDEPENDS_perl-module-math-bigint-calc += "perl-module-constant"
-RDEPENDS_perl-module-math-bigint-calc += "perl-module-integer"
-RDEPENDS_perl-module-math-bigint-calc += "perl-module-math-bigint-lib"
-RDEPENDS_perl-module-math-bigint-calc += "perl-module-strict"
-RDEPENDS_perl-module-math-bigint-calc += "perl-module-warnings"
-RDEPENDS_perl-module-math-bigint-fastcalc += "perl-module-math-bigint-calc"
-RDEPENDS_perl-module-math-bigint-fastcalc += "perl-module-strict"
-RDEPENDS_perl-module-math-bigint-fastcalc += "perl-module-warnings"
-RDEPENDS_perl-module-math-bigint-fastcalc += "perl-module-xsloader"
-RDEPENDS_perl-module-math-bigint-lib += "perl-module-overload"
-RDEPENDS_perl-module-math-bigint-lib += "perl-module-strict"
-RDEPENDS_perl-module-math-bigint-lib += "perl-module-warnings"
-RDEPENDS_perl-module-math-bigint += "perl-module-exporter"
-RDEPENDS_perl-module-math-bigint += "perl-module-math-bigfloat"
-RDEPENDS_perl-module-math-bigint += "perl-module-math-complex"
-RDEPENDS_perl-module-math-bigint += "perl-module-overload"
-RDEPENDS_perl-module-math-bigint += "perl-module-strict"
-RDEPENDS_perl-module-math-bigint += "perl-module-warnings"
-RDEPENDS_perl-module-math-bigint-trace += "perl-module-exporter"
-RDEPENDS_perl-module-math-bigint-trace += "perl-module-math-bigint"
-RDEPENDS_perl-module-math-bigint-trace += "perl-module-overload"
-RDEPENDS_perl-module-math-bigint-trace += "perl-module-strict"
-RDEPENDS_perl-module-math-bigint-trace += "perl-module-warnings"
-RDEPENDS_perl-module-math-bigrat += "perl-module-math-bigfloat"
-RDEPENDS_perl-module-math-bigrat += "perl-module-math-bigint"
-RDEPENDS_perl-module-math-bigrat += "perl-module-overload"
-RDEPENDS_perl-module-math-bigrat += "perl-module-strict"
-RDEPENDS_perl-module-math-bigrat += "perl-module-warnings"
-RDEPENDS_perl-module-math-complex += "perl-module-config"
-RDEPENDS_perl-module-math-complex += "perl-module-exporter"
-RDEPENDS_perl-module-math-complex += "perl-module-overload"
-RDEPENDS_perl-module-math-complex += "perl-module-strict"
-RDEPENDS_perl-module-math-complex += "perl-module-warnings"
-RDEPENDS_perl-module-math-trig += "perl-module-exporter"
-RDEPENDS_perl-module-math-trig += "perl-module-math-complex"
-RDEPENDS_perl-module-math-trig += "perl-module-strict"
-RDEPENDS_perl-module-metadata += "perl-module-version"
-RDEPENDS_perl-module-memoize-anydbm-file += "perl-module-vars"
-RDEPENDS_perl-module-memoize += "perl-module-config"
-RDEPENDS_perl-module-memoize += "perl-module-exporter"
-RDEPENDS_perl-module-memoize += "perl-module-strict"
-RDEPENDS_perl-module-memoize += "perl-module-vars"
-RDEPENDS_perl-module-memoize-sdbm-file += "perl-module-sdbm-file"
-RDEPENDS_perl-module-memoize-storable += "perl-module-storable"
-RDEPENDS_perl-module-mime-base64 += "perl-module-exporter"
-RDEPENDS_perl-module-mime-base64 += "perl-module-strict"
-RDEPENDS_perl-module-mime-base64 += "perl-module-vars"
-RDEPENDS_perl-module-mime-base64 += "perl-module-xsloader"
-RDEPENDS_perl-module-mime-quotedprint += "perl-module-exporter"
-RDEPENDS_perl-module-mime-quotedprint += "perl-module-mime-base64"
-RDEPENDS_perl-module-mime-quotedprint += "perl-module-strict"
-RDEPENDS_perl-module-mime-quotedprint += "perl-module-vars"
-RDEPENDS_perl-module-mro += "perl-module-strict"
-RDEPENDS_perl-module-mro += "perl-module-warnings"
-RDEPENDS_perl-module-mro += "perl-module-xsloader"
-RDEPENDS_perl-module-net-cmd += "perl-module-constant"
-RDEPENDS_perl-module-net-cmd += "perl-module-errno"
-RDEPENDS_perl-module-net-cmd += "perl-module-exporter"
-RDEPENDS_perl-module-net-cmd += "perl-module-strict"
-RDEPENDS_perl-module-net-cmd += "perl-module-warnings"
-RDEPENDS_perl-module-net-config += "perl-module-exporter"
-RDEPENDS_perl-module-net-config += "perl-module-socket"
-RDEPENDS_perl-module-net-config += "perl-module-strict"
-RDEPENDS_perl-module-net-config += "perl-module-warnings"
-RDEPENDS_perl-module-net-domain += "perl-module-exporter"
-RDEPENDS_perl-module-net-domain += "perl-module-net-config"
-RDEPENDS_perl-module-net-domain += "perl-module-posix"
-RDEPENDS_perl-module-net-domain += "perl-module-socket"
-RDEPENDS_perl-module-net-domain += "perl-module-strict"
-RDEPENDS_perl-module-net-domain += "perl-module-warnings"
-RDEPENDS_perl-module-net-ftp-a += "perl-module-net-ftp-dataconn"
-RDEPENDS_perl-module-net-ftp-a += "perl-module-strict"
-RDEPENDS_perl-module-net-ftp-a += "perl-module-warnings"
-RDEPENDS_perl-module-net-ftp-dataconn += "perl-module-errno"
-RDEPENDS_perl-module-net-ftp-dataconn += "perl-module-net-cmd"
-RDEPENDS_perl-module-net-ftp-dataconn += "perl-module-strict"
-RDEPENDS_perl-module-net-ftp-dataconn += "perl-module-warnings"
-RDEPENDS_perl-module-net-ftp-e += "perl-module-net-ftp-i"
-RDEPENDS_perl-module-net-ftp-e += "perl-module-strict"
-RDEPENDS_perl-module-net-ftp-e += "perl-module-warnings"
-RDEPENDS_perl-module-net-ftp-i += "perl-module-net-ftp-dataconn"
-RDEPENDS_perl-module-net-ftp-i += "perl-module-strict"
-RDEPENDS_perl-module-net-ftp-i += "perl-module-warnings"
-RDEPENDS_perl-module-net-ftp-l += "perl-module-net-ftp-i"
-RDEPENDS_perl-module-net-ftp-l += "perl-module-strict"
-RDEPENDS_perl-module-net-ftp-l += "perl-module-warnings"
-RDEPENDS_perl-module-net-ftp += "perl-module-constant"
-RDEPENDS_perl-module-net-ftp += "perl-module-fcntl"
-RDEPENDS_perl-module-net-ftp += "perl-module-file-basename"
-RDEPENDS_perl-module-net-ftp += "perl-module-io-socket"
-RDEPENDS_perl-module-net-ftp += "perl-module-io-socket-ip"
-RDEPENDS_perl-module-net-ftp += "perl-module-net-cmd"
-RDEPENDS_perl-module-net-ftp += "perl-module-net-config"
-RDEPENDS_perl-module-net-ftp += "perl-module-net-ftp-a"
-RDEPENDS_perl-module-net-ftp += "perl-module-net-netrc"
-RDEPENDS_perl-module-net-ftp += "perl-module-socket"
-RDEPENDS_perl-module-net-ftp += "perl-module-strict"
-RDEPENDS_perl-module-net-ftp += "perl-module-time-local"
-RDEPENDS_perl-module-net-ftp += "perl-module-warnings"
-RDEPENDS_perl-module-net-hostent += "perl-module-class-struct"
-RDEPENDS_perl-module-net-hostent += "perl-module-exporter"
-RDEPENDS_perl-module-net-hostent += "perl-module-socket"
-RDEPENDS_perl-module-net-hostent += "perl-module-strict"
-RDEPENDS_perl-module-net-netent += "perl-module-class-struct"
-RDEPENDS_perl-module-net-netent += "perl-module-exporter"
-RDEPENDS_perl-module-net-netent += "perl-module-socket"
-RDEPENDS_perl-module-net-netent += "perl-module-strict"
-RDEPENDS_perl-module-net-netrc += "perl-module-filehandle"
-RDEPENDS_perl-module-net-netrc += "perl-module-strict"
-RDEPENDS_perl-module-net-netrc += "perl-module-warnings"
-RDEPENDS_perl-module-net-nntp += "perl-module-io-socket"
-RDEPENDS_perl-module-net-nntp += "perl-module-io-socket-ip"
-RDEPENDS_perl-module-net-nntp += "perl-module-net-cmd"
-RDEPENDS_perl-module-net-nntp += "perl-module-net-config"
-RDEPENDS_perl-module-net-nntp += "perl-module-strict"
-RDEPENDS_perl-module-net-nntp += "perl-module-time-local"
-RDEPENDS_perl-module-net-nntp += "perl-module-warnings"
-RDEPENDS_perl-module-net-ping += "perl-module-constant"
-RDEPENDS_perl-module-net-ping += "perl-module-exporter"
-RDEPENDS_perl-module-net-ping += "perl-module-fcntl"
-RDEPENDS_perl-module-net-ping += "perl-module-filehandle"
-RDEPENDS_perl-module-net-ping += "perl-module-io-socket-inet"
-RDEPENDS_perl-module-net-ping += "perl-module-posix"
-RDEPENDS_perl-module-net-ping += "perl-module-socket"
-RDEPENDS_perl-module-net-ping += "perl-module-strict"
-RDEPENDS_perl-module-net-ping += "perl-module-time-hires"
-RDEPENDS_perl-module-net-pop3 += "perl-module-io-socket"
-RDEPENDS_perl-module-net-pop3 += "perl-module-io-socket-ip"
-RDEPENDS_perl-module-net-pop3 += "perl-module-mime-base64"
-RDEPENDS_perl-module-net-pop3 += "perl-module-net-cmd"
-RDEPENDS_perl-module-net-pop3 += "perl-module-net-config"
-RDEPENDS_perl-module-net-pop3 += "perl-module-net-netrc"
-RDEPENDS_perl-module-net-pop3 += "perl-module-strict"
-RDEPENDS_perl-module-net-pop3 += "perl-module-warnings"
-RDEPENDS_perl-module-net-protoent += "perl-module-class-struct"
-RDEPENDS_perl-module-net-protoent += "perl-module-exporter"
-RDEPENDS_perl-module-net-protoent += "perl-module-strict"
-RDEPENDS_perl-module-net-servent += "perl-module-class-struct"
-RDEPENDS_perl-module-net-servent += "perl-module-exporter"
-RDEPENDS_perl-module-net-servent += "perl-module-strict"
-RDEPENDS_perl-module-net-smtp += "perl-module-io-socket"
-RDEPENDS_perl-module-net-smtp += "perl-module-io-socket-ip"
-RDEPENDS_perl-module-net-smtp += "perl-module-mime-base64"
-RDEPENDS_perl-module-net-smtp += "perl-module-net-cmd"
-RDEPENDS_perl-module-net-smtp += "perl-module-net-config"
-RDEPENDS_perl-module-net-smtp += "perl-module-socket"
-RDEPENDS_perl-module-net-smtp += "perl-module-strict"
-RDEPENDS_perl-module-net-smtp += "perl-module-warnings"
-RDEPENDS_perl-module-net-time += "perl-module-exporter"
-RDEPENDS_perl-module-net-time += "perl-module-io-select"
-RDEPENDS_perl-module-net-time += "perl-module-io-socket"
-RDEPENDS_perl-module-net-time += "perl-module-net-config"
-RDEPENDS_perl-module-net-time += "perl-module-strict"
-RDEPENDS_perl-module-net-time += "perl-module-warnings"
-RDEPENDS_perl-module-next += "perl-module-overload"
-RDEPENDS_perl-module-next += "perl-module-strict"
-RDEPENDS_perl-module-next += "perl-module-warnings"
-RDEPENDS_perl-module-ok += "perl-module-strict"
-RDEPENDS_perl-module-ok += "perl-module-test-more"
-RDEPENDS_perl-module-opcode += "perl-module-exporter"
-RDEPENDS_perl-module-opcode += "perl-module-strict"
-RDEPENDS_perl-module-opcode += "perl-module-subs"
-RDEPENDS_perl-module-opcode += "perl-module-xsloader"
-RDEPENDS_perl-module-open += "perl-module-encode"
-RDEPENDS_perl-module-open += "perl-module-encoding"
-RDEPENDS_perl-module-open += "perl-module-warnings"
-RDEPENDS_perl-module-o += "perl-module-b"
-RDEPENDS_perl-module-ops += "perl-module-opcode"
-RDEPENDS_perl-module-overloading += "perl-module-overload-numbers"
-RDEPENDS_perl-module-overloading += "perl-module-warnings"
-RDEPENDS_perl-module-overload += "perl-module-mro"
-RDEPENDS_perl-module-overload += "perl-module-warnings-register"
-RDEPENDS_perl-module-overload += "perl-module-overloading"
-RDEPENDS_perl-module-params-check += "perl-module-exporter"
-RDEPENDS_perl-module-params-check += "perl-module-locale-maketext-simple"
-RDEPENDS_perl-module-params-check += "perl-module-strict"
-RDEPENDS_perl-module-params-check += "perl-module-vars"
-RDEPENDS_perl-module-parent += "perl-module-strict"
-RDEPENDS_perl-module-parent += "perl-module-vars"
-RDEPENDS_perl-module-perlfaq += "perl-module-strict"
-RDEPENDS_perl-module-perlfaq += "perl-module-warnings"
-RDEPENDS_perl-module-perlio-encoding += "perl-module-strict"
-RDEPENDS_perl-module-perlio-encoding += "perl-module-xsloader"
-RDEPENDS_perl-module-perlio-mmap += "perl-module-strict"
-RDEPENDS_perl-module-perlio-mmap += "perl-module-warnings"
-RDEPENDS_perl-module-perlio-mmap += "perl-module-xsloader"
-RDEPENDS_perl-module-perlio-scalar += "perl-module-xsloader"
-RDEPENDS_perl-module-perlio-via += "perl-module-xsloader"
-RDEPENDS_perl-module-perlio-via-quotedprint += "perl-module-mime-quotedprint"
-RDEPENDS_perl-module-perlio-via-quotedprint += "perl-module-strict"
-RDEPENDS_perl-module-pod-checker += "perl-module-base"
-RDEPENDS_perl-module-pod-checker += "perl-module-exporter"
-RDEPENDS_perl-module-pod-checker += "perl-module-strict"
-RDEPENDS_perl-module-pod-checker += "perl-module-warnings"
-RDEPENDS_perl-module-pod-escapes += "perl-module-exporter"
-RDEPENDS_perl-module-pod-escapes += "perl-module-strict"
-RDEPENDS_perl-module-pod-escapes += "perl-module-vars"
-RDEPENDS_perl-module-pod-escapes += "perl-module-warnings"
-RDEPENDS_perl-module-pod-find += "perl-module-config"
-RDEPENDS_perl-module-pod-find += "perl-module-cwd"
-RDEPENDS_perl-module-pod-find += "perl-module-exporter"
-RDEPENDS_perl-module-pod-find += "perl-module-file-find"
-RDEPENDS_perl-module-pod-find += "perl-module-strict"
-RDEPENDS_perl-module-pod-find += "perl-module-vars"
-RDEPENDS_perl-module-pod-functions += "perl-module-exporter"
-RDEPENDS_perl-module-pod-functions += "perl-module-strict"
-RDEPENDS_perl-module-pod-inputobjects += "perl-module-strict"
-RDEPENDS_perl-module-pod-inputobjects += "perl-module-vars"
-RDEPENDS_perl-module-pod-man += "perl-module-file-basename"
-RDEPENDS_perl-module-pod-man += "perl-module-pod-simple"
-RDEPENDS_perl-module-pod-man += "perl-module-strict"
-RDEPENDS_perl-module-pod-man += "perl-module-subs"
-RDEPENDS_perl-module-pod-man += "perl-module-vars"
-RDEPENDS_perl-module-pod-man += "perl-module-warnings"
-RDEPENDS_perl-module-pod-parselink += "perl-module-exporter"
-RDEPENDS_perl-module-pod-parselink += "perl-module-strict"
-RDEPENDS_perl-module-pod-parselink += "perl-module-vars"
-RDEPENDS_perl-module-pod-parselink += "perl-module-warnings"
-RDEPENDS_perl-module-pod-parser += "perl-module-exporter"
-RDEPENDS_perl-module-pod-parser += "perl-module-pod-inputobjects"
-RDEPENDS_perl-module-pod-parser += "perl-module-strict"
-RDEPENDS_perl-module-pod-parser += "perl-module-vars"
-RDEPENDS_perl-module-pod-parseutils += "perl-module-strict"
-RDEPENDS_perl-module-pod-parseutils += "perl-module-vars"
-RDEPENDS_perl-module-pod-perldoc-baseto += "perl-module-config"
-RDEPENDS_perl-module-pod-perldoc-baseto += "perl-module-strict"
-RDEPENDS_perl-module-pod-perldoc-baseto += "perl-module-vars"
-RDEPENDS_perl-module-pod-perldoc-baseto += "perl-module-warnings"
-RDEPENDS_perl-module-pod-perldoc-getoptsoo += "perl-module-strict"
-RDEPENDS_perl-module-pod-perldoc-getoptsoo += "perl-module-vars"
-RDEPENDS_perl-module-pod-perldoc += "perl-module-config"
-RDEPENDS_perl-module-pod-perldoc += "perl-module-encode"
-RDEPENDS_perl-module-pod-perldoc += "perl-module-fcntl"
-RDEPENDS_perl-module-pod-perldoc += "perl-module-file-basename"
-RDEPENDS_perl-module-pod-perldoc += "perl-module-file-temp"
-RDEPENDS_perl-module-pod-perldoc += "perl-module-pod-perldoc-getoptsoo"
-RDEPENDS_perl-module-pod-perldoc += "perl-module-strict"
-RDEPENDS_perl-module-pod-perldoc += "perl-module-text-parsewords"
-RDEPENDS_perl-module-pod-perldoc += "perl-module-vars"
-RDEPENDS_perl-module-pod-perldoc += "perl-module-warnings"
-RDEPENDS_perl-module-pod-perldoc-toansi += "perl-module-parent"
-RDEPENDS_perl-module-pod-perldoc-toansi += "perl-module-pod-text-color"
-RDEPENDS_perl-module-pod-perldoc-toansi += "perl-module-strict"
-RDEPENDS_perl-module-pod-perldoc-toansi += "perl-module-vars"
-RDEPENDS_perl-module-pod-perldoc-toansi += "perl-module-warnings"
-RDEPENDS_perl-module-pod-perldoc-tochecker += "perl-module-pod-checker"
-RDEPENDS_perl-module-pod-perldoc-tochecker += "perl-module-strict"
-RDEPENDS_perl-module-pod-perldoc-tochecker += "perl-module-vars"
-RDEPENDS_perl-module-pod-perldoc-tochecker += "perl-module-warnings"
-RDEPENDS_perl-module-pod-perldoc-toman += "perl-module-encode"
-RDEPENDS_perl-module-pod-perldoc-toman += "perl-module-io-handle"
-RDEPENDS_perl-module-pod-perldoc-toman += "perl-module-io-select"
-RDEPENDS_perl-module-pod-perldoc-toman += "perl-module-ipc-open3"
-RDEPENDS_perl-module-pod-perldoc-toman += "perl-module-parent"
-RDEPENDS_perl-module-pod-perldoc-toman += "perl-module-pod-man"
-RDEPENDS_perl-module-pod-perldoc-toman += "perl-module-pod-perldoc-topod"
-RDEPENDS_perl-module-pod-perldoc-toman += "perl-module-strict"
-RDEPENDS_perl-module-pod-perldoc-toman += "perl-module-vars"
-RDEPENDS_perl-module-pod-perldoc-toman += "perl-module-warnings"
-RDEPENDS_perl-module-pod-perldoc-tonroff += "perl-module-parent"
-RDEPENDS_perl-module-pod-perldoc-tonroff += "perl-module-pod-man"
-RDEPENDS_perl-module-pod-perldoc-tonroff += "perl-module-strict"
-RDEPENDS_perl-module-pod-perldoc-tonroff += "perl-module-vars"
-RDEPENDS_perl-module-pod-perldoc-tonroff += "perl-module-warnings"
-RDEPENDS_perl-module-pod-perldoc-topod += "perl-module-parent"
-RDEPENDS_perl-module-pod-perldoc-topod += "perl-module-strict"
-RDEPENDS_perl-module-pod-perldoc-topod += "perl-module-vars"
-RDEPENDS_perl-module-pod-perldoc-topod += "perl-module-warnings"
-RDEPENDS_perl-module-pod-perldoc-tortf += "perl-module-parent"
-RDEPENDS_perl-module-pod-perldoc-tortf += "perl-module-strict"
-RDEPENDS_perl-module-pod-perldoc-tortf += "perl-module-vars"
-RDEPENDS_perl-module-pod-perldoc-tortf += "perl-module-warnings"
-RDEPENDS_perl-module-pod-perldoc-toterm += "perl-module-parent"
-RDEPENDS_perl-module-pod-perldoc-toterm += "perl-module-pod-text-termcap"
-RDEPENDS_perl-module-pod-perldoc-toterm += "perl-module-strict"
-RDEPENDS_perl-module-pod-perldoc-toterm += "perl-module-vars"
-RDEPENDS_perl-module-pod-perldoc-toterm += "perl-module-warnings"
-RDEPENDS_perl-module-pod-perldoc-totext += "perl-module-parent"
-RDEPENDS_perl-module-pod-perldoc-totext += "perl-module-pod-text"
-RDEPENDS_perl-module-pod-perldoc-totext += "perl-module-strict"
-RDEPENDS_perl-module-pod-perldoc-totext += "perl-module-vars"
-RDEPENDS_perl-module-pod-perldoc-totext += "perl-module-warnings"
-RDEPENDS_perl-module-pod-perldoc-toxml += "perl-module-parent"
-RDEPENDS_perl-module-pod-perldoc-toxml += "perl-module-strict"
-RDEPENDS_perl-module-pod-perldoc-toxml += "perl-module-vars"
-RDEPENDS_perl-module-pod-perldoc-toxml += "perl-module-warnings"
-RDEPENDS_perl-module-pod-plaintext += "perl-module-pod-select"
-RDEPENDS_perl-module-pod-plaintext += "perl-module-strict"
-RDEPENDS_perl-module-pod-plaintext += "perl-module-vars"
-RDEPENDS_perl-module-pod-select += "perl-module-pod-parser"
-RDEPENDS_perl-module-pod-select += "perl-module-strict"
-RDEPENDS_perl-module-pod-select += "perl-module-vars"
-RDEPENDS_perl-module-pod-simple-blackbox += "perl-module-integer"
-RDEPENDS_perl-module-pod-simple-blackbox += "perl-module-pod-simple"
-RDEPENDS_perl-module-pod-simple-blackbox += "perl-module-pod-simple-transcode"
-RDEPENDS_perl-module-pod-simple-blackbox += "perl-module-strict"
-RDEPENDS_perl-module-pod-simple-blackbox += "perl-module-vars"
-RDEPENDS_perl-module-pod-simple-checker += "perl-module-pod-simple"
-RDEPENDS_perl-module-pod-simple-checker += "perl-module-pod-simple-methody"
-RDEPENDS_perl-module-pod-simple-checker += "perl-module-strict"
-RDEPENDS_perl-module-pod-simple-checker += "perl-module-text-wrap"
-RDEPENDS_perl-module-pod-simple-checker += "perl-module-vars"
-RDEPENDS_perl-module-pod-simple-debug += "perl-module-pod-simple"
-RDEPENDS_perl-module-pod-simple-debug += "perl-module-strict"
-RDEPENDS_perl-module-pod-simple-debug += "perl-module-vars"
-RDEPENDS_perl-module-pod-simple-dumpastext += "perl-module-pod-simple"
-RDEPENDS_perl-module-pod-simple-dumpastext += "perl-module-strict"
-RDEPENDS_perl-module-pod-simple-dumpasxml += "perl-module-pod-simple"
-RDEPENDS_perl-module-pod-simple-dumpasxml += "perl-module-strict"
-RDEPENDS_perl-module-pod-simple-dumpasxml += "perl-module-text-wrap"
-RDEPENDS_perl-module-pod-simple-linksection += "perl-module-overload"
-RDEPENDS_perl-module-pod-simple-linksection += "perl-module-pod-simple-blackbox"
-RDEPENDS_perl-module-pod-simple-linksection += "perl-module-strict"
-RDEPENDS_perl-module-pod-simple-linksection += "perl-module-vars"
-RDEPENDS_perl-module-pod-simple-methody += "perl-module-pod-simple"
-RDEPENDS_perl-module-pod-simple-methody += "perl-module-strict"
-RDEPENDS_perl-module-pod-simple-methody += "perl-module-vars"
-RDEPENDS_perl-module-pod-simple += "perl-module-integer"
-RDEPENDS_perl-module-pod-simple += "perl-module-pod-escapes"
-RDEPENDS_perl-module-pod-simple += "perl-module-pod-simple-blackbox"
-RDEPENDS_perl-module-pod-simple += "perl-module-pod-simple-linksection"
-RDEPENDS_perl-module-pod-simple += "perl-module-pod-simple-tiedoutfh"
-RDEPENDS_perl-module-pod-simple += "perl-module-strict"
-RDEPENDS_perl-module-pod-simple += "perl-module-vars"
-RDEPENDS_perl-module-pod-simple-progress += "perl-module-strict"
-RDEPENDS_perl-module-pod-simple-pullparserendtoken += "perl-module-pod-simple-pullparsertoken"
-RDEPENDS_perl-module-pod-simple-pullparserendtoken += "perl-module-strict"
-RDEPENDS_perl-module-pod-simple-pullparserendtoken += "perl-module-vars"
-RDEPENDS_perl-module-pod-simple-pullparser += "perl-module-pod-simple"
-RDEPENDS_perl-module-pod-simple-pullparser += "perl-module-pod-simple-pullparserendtoken"
-RDEPENDS_perl-module-pod-simple-pullparser += "perl-module-pod-simple-pullparserstarttoken"
-RDEPENDS_perl-module-pod-simple-pullparser += "perl-module-pod-simple-pullparsertexttoken"
-RDEPENDS_perl-module-pod-simple-pullparser += "perl-module-strict"
-RDEPENDS_perl-module-pod-simple-pullparserstarttoken += "perl-module-pod-simple-pullparsertoken"
-RDEPENDS_perl-module-pod-simple-pullparserstarttoken += "perl-module-strict"
-RDEPENDS_perl-module-pod-simple-pullparserstarttoken += "perl-module-vars"
-RDEPENDS_perl-module-pod-simple-pullparsertexttoken += "perl-module-pod-simple-pullparsertoken"
-RDEPENDS_perl-module-pod-simple-pullparsertexttoken += "perl-module-strict"
-RDEPENDS_perl-module-pod-simple-pullparsertexttoken += "perl-module-vars"
-RDEPENDS_perl-module-pod-simple-pullparsertoken += "perl-module-strict"
-RDEPENDS_perl-module-pod-simple-rtf += "perl-module-integer"
-RDEPENDS_perl-module-pod-simple-rtf += "perl-module-pod-simple-pullparser"
-RDEPENDS_perl-module-pod-simple-rtf += "perl-module-strict"
-RDEPENDS_perl-module-pod-simple-rtf += "perl-module-vars"
-RDEPENDS_perl-module-pod-simple-search += "perl-module-config"
-RDEPENDS_perl-module-pod-simple-search += "perl-module-cwd"
-RDEPENDS_perl-module-pod-simple-search += "perl-module-file-basename"
-RDEPENDS_perl-module-pod-simple-search += "perl-module-strict"
-RDEPENDS_perl-module-pod-simple-search += "perl-module-vars"
-RDEPENDS_perl-module-pod-simple-simpletree += "perl-module-pod-simple"
-RDEPENDS_perl-module-pod-simple-simpletree += "perl-module-strict"
-RDEPENDS_perl-module-pod-simple-simpletree += "perl-module-vars"
-RDEPENDS_perl-module-pod-simple-textcontent += "perl-module-pod-simple"
-RDEPENDS_perl-module-pod-simple-textcontent += "perl-module-strict"
-RDEPENDS_perl-module-pod-simple-textcontent += "perl-module-vars"
-RDEPENDS_perl-module-pod-simple-text += "perl-module-pod-simple"
-RDEPENDS_perl-module-pod-simple-text += "perl-module-pod-simple-methody"
-RDEPENDS_perl-module-pod-simple-text += "perl-module-strict"
-RDEPENDS_perl-module-pod-simple-text += "perl-module-text-wrap"
-RDEPENDS_perl-module-pod-simple-text += "perl-module-vars"
-RDEPENDS_perl-module-pod-simple-tiedoutfh += "perl-module-strict"
-RDEPENDS_perl-module-pod-simple-tiedoutfh += "perl-module-vars"
-RDEPENDS_perl-module-pod-simple-transcodedumb += "perl-module-strict"
-RDEPENDS_perl-module-pod-simple-transcodedumb += "perl-module-vars"
-RDEPENDS_perl-module-pod-simple-transcode += "perl-module-strict"
-RDEPENDS_perl-module-pod-simple-transcode += "perl-module-vars"
-RDEPENDS_perl-module-pod-simple-transcodesmart += "perl-module-encode"
-RDEPENDS_perl-module-pod-simple-transcodesmart += "perl-module-pod-simple"
-RDEPENDS_perl-module-pod-simple-transcodesmart += "perl-module-strict"
-RDEPENDS_perl-module-pod-simple-transcodesmart += "perl-module-vars"
-RDEPENDS_perl-module-pod-simple-xmloutstream += "perl-module-pod-simple"
-RDEPENDS_perl-module-pod-simple-xmloutstream += "perl-module-strict"
-RDEPENDS_perl-module-pod-simple-xmloutstream += "perl-module-vars"
-RDEPENDS_perl-module-pod-text-color += "perl-module-pod-text"
-RDEPENDS_perl-module-pod-text-color += "perl-module-strict"
-RDEPENDS_perl-module-pod-text-color += "perl-module-term-ansicolor"
-RDEPENDS_perl-module-pod-text-color += "perl-module-vars"
-RDEPENDS_perl-module-pod-text-color += "perl-module-warnings"
-RDEPENDS_perl-module-pod-text-overstrike += "perl-module-pod-text"
-RDEPENDS_perl-module-pod-text-overstrike += "perl-module-strict"
-RDEPENDS_perl-module-pod-text-overstrike += "perl-module-vars"
-RDEPENDS_perl-module-pod-text-overstrike += "perl-module-warnings"
-RDEPENDS_perl-module-pod-text += "perl-module-encode"
-RDEPENDS_perl-module-pod-text += "perl-module-exporter"
-RDEPENDS_perl-module-pod-text += "perl-module-pod-simple"
-RDEPENDS_perl-module-pod-text += "perl-module-strict"
-RDEPENDS_perl-module-pod-text += "perl-module-vars"
-RDEPENDS_perl-module-pod-text += "perl-module-warnings"
-RDEPENDS_perl-module-pod-text-termcap += "perl-module-pod-text"
-RDEPENDS_perl-module-pod-text-termcap += "perl-module-posix"
-RDEPENDS_perl-module-pod-text-termcap += "perl-module-strict"
-RDEPENDS_perl-module-pod-text-termcap += "perl-module-term-cap"
-RDEPENDS_perl-module-pod-text-termcap += "perl-module-vars"
-RDEPENDS_perl-module-pod-text-termcap += "perl-module-warnings"
-RDEPENDS_perl-module-pod-usage += "perl-module-config"
-RDEPENDS_perl-module-pod-usage += "perl-module-exporter"
-RDEPENDS_perl-module-pod-usage += "perl-module-strict"
-RDEPENDS_perl-module-pod-usage += "perl-module-vars"
-RDEPENDS_perl-module-posix += "perl-module-exporter"
-RDEPENDS_perl-module-posix += "perl-module-fcntl"
-RDEPENDS_perl-module-posix += "perl-module-strict"
-RDEPENDS_perl-module-posix += "perl-module-tie-hash"
-RDEPENDS_perl-module-posix += "perl-module-warnings"
-RDEPENDS_perl-module-posix += "perl-module-xsloader"
-RDEPENDS_perl-module-re += "perl-module-exporter"
-RDEPENDS_perl-module-re += "perl-module-strict"
-RDEPENDS_perl-module-re += "perl-module-term-cap"
-RDEPENDS_perl-module-re += "perl-module-warnings"
-RDEPENDS_perl-module-re += "perl-module-xsloader"
-RDEPENDS_perl-module-safe += "perl-module-b"
-RDEPENDS_perl-module-safe += "perl-module-opcode"
-RDEPENDS_perl-module-safe += "perl-module-strict"
-RDEPENDS_perl-module-safe += "perl-module-utf8"
-RDEPENDS_perl-module-scalar-util += "perl-module-carp"
-RDEPENDS_perl-module-scalar-util += "perl-module-exporter"
-RDEPENDS_perl-module-scalar-util += "perl-module-list-util"
-RDEPENDS_perl-module-scalar-util += "perl-module-strict"
-RDEPENDS_perl-module-scalar-util += "perl-module-warnings"
-RDEPENDS_perl-module-sdbm-file += "perl-module-exporter"
-RDEPENDS_perl-module-sdbm-file += "perl-module-strict"
-RDEPENDS_perl-module-sdbm-file += "perl-module-tie-hash"
-RDEPENDS_perl-module-sdbm-file += "perl-module-warnings"
-RDEPENDS_perl-module-sdbm-file += "perl-module-xsloader"
-RDEPENDS_perl-module-search-dict += "perl-module-exporter"
-RDEPENDS_perl-module-search-dict += "perl-module-feature"
-RDEPENDS_perl-module-search-dict += "perl-module-strict"
-RDEPENDS_perl-module-selfloader += "perl-module-exporter"
-RDEPENDS_perl-module-selfloader += "perl-module-io-handle"
-RDEPENDS_perl-module-selfloader += "perl-module-strict"
-RDEPENDS_perl-module-socket += "perl-module-exporter"
-RDEPENDS_perl-module-socket += "perl-module-strict"
-RDEPENDS_perl-module-socket += "perl-module-warnings-register"
-RDEPENDS_perl-module-socket += "perl-module-xsloader"
-RDEPENDS_perl-module-sort += "perl-module-strict"
-RDEPENDS_perl-module-storable += "perl-module-exporter"
-RDEPENDS_perl-module-storable += "perl-module-io-file"
-RDEPENDS_perl-module-storable += "perl-module-xsloader"
-RDEPENDS_perl-module-sub-util += "perl-module-exporter"
-RDEPENDS_perl-module-sub-util += "perl-module-list-util"
-RDEPENDS_perl-module-sub-util += "perl-module-strict"
-RDEPENDS_perl-module-sub-util += "perl-module-warnings"
-RDEPENDS_perl-module-sys-hostname += "perl-module-exporter"
-RDEPENDS_perl-module-sys-hostname += "perl-module-posix"
-RDEPENDS_perl-module-sys-hostname += "perl-module-strict"
-RDEPENDS_perl-module-sys-hostname += "perl-module-warnings"
-RDEPENDS_perl-module-sys-hostname += "perl-module-xsloader"
-RDEPENDS_perl-module-sys-syslog += "perl-module-config"
-RDEPENDS_perl-module-sys-syslog += "perl-module-constant"
-RDEPENDS_perl-module-sys-syslog += "perl-module-dynaloader"
-RDEPENDS_perl-module-sys-syslog += "perl-module-exporter"
-RDEPENDS_perl-module-sys-syslog += "perl-module-fcntl"
-RDEPENDS_perl-module-sys-syslog += "perl-module-file-basename"
-RDEPENDS_perl-module-sys-syslog += "perl-module-posix"
-RDEPENDS_perl-module-sys-syslog += "perl-module-socket"
-RDEPENDS_perl-module-sys-syslog += "perl-module-strict"
-RDEPENDS_perl-module-sys-syslog += "perl-module-sys-hostname"
-RDEPENDS_perl-module-sys-syslog += "perl-module-vars"
-RDEPENDS_perl-module-sys-syslog += "perl-module-warnings"
-RDEPENDS_perl-module-sys-syslog += "perl-module-warnings-register"
-RDEPENDS_perl-module-sys-syslog += "perl-module-xsloader"
-RDEPENDS_perl-module-tap-base += "perl-module-base"
-RDEPENDS_perl-module-tap-base += "perl-module-constant"
-RDEPENDS_perl-module-tap-base += "perl-module-strict"
-RDEPENDS_perl-module-tap-base += "perl-module-tap-object"
-RDEPENDS_perl-module-tap-base += "perl-module-warnings"
-RDEPENDS_perl-module-tap-formatter-base += "perl-module-base"
-RDEPENDS_perl-module-tap-formatter-base += "perl-module-posix"
-RDEPENDS_perl-module-tap-formatter-base += "perl-module-strict"
-RDEPENDS_perl-module-tap-formatter-base += "perl-module-tap-formatter-color"
-RDEPENDS_perl-module-tap-formatter-base += "perl-module-warnings"
-RDEPENDS_perl-module-tap-formatter-color += "perl-module-base"
-RDEPENDS_perl-module-tap-formatter-color += "perl-module-constant"
-RDEPENDS_perl-module-tap-formatter-color += "perl-module-strict"
-RDEPENDS_perl-module-tap-formatter-color += "perl-module-warnings"
-RDEPENDS_perl-module-tap-formatter-console-parallelsession += "perl-module-base"
-RDEPENDS_perl-module-tap-formatter-console-parallelsession += "perl-module-constant"
-RDEPENDS_perl-module-tap-formatter-console-parallelsession += "perl-module-file-path"
-RDEPENDS_perl-module-tap-formatter-console-parallelsession += "perl-module-strict"
-RDEPENDS_perl-module-tap-formatter-console-parallelsession += "perl-module-warnings"
-RDEPENDS_perl-module-tap-formatter-console += "perl-module-base"
-RDEPENDS_perl-module-tap-formatter-console += "perl-module-posix"
-RDEPENDS_perl-module-tap-formatter-console += "perl-module-strict"
-RDEPENDS_perl-module-tap-formatter-console += "perl-module-warnings"
-RDEPENDS_perl-module-tap-formatter-console-session += "perl-module-base"
-RDEPENDS_perl-module-tap-formatter-console-session += "perl-module-strict"
-RDEPENDS_perl-module-tap-formatter-console-session += "perl-module-warnings"
-RDEPENDS_perl-module-tap-formatter-file += "perl-module-base"
-RDEPENDS_perl-module-tap-formatter-file += "perl-module-posix"
-RDEPENDS_perl-module-tap-formatter-file += "perl-module-strict"
-RDEPENDS_perl-module-tap-formatter-file += "perl-module-tap-formatter-file-session"
-RDEPENDS_perl-module-tap-formatter-file += "perl-module-warnings"
-RDEPENDS_perl-module-tap-formatter-file-session += "perl-module-base"
-RDEPENDS_perl-module-tap-formatter-file-session += "perl-module-strict"
-RDEPENDS_perl-module-tap-formatter-file-session += "perl-module-warnings"
-RDEPENDS_perl-module-tap-formatter-session += "perl-module-base"
-RDEPENDS_perl-module-tap-formatter-session += "perl-module-strict"
-RDEPENDS_perl-module-tap-formatter-session += "perl-module-warnings"
-RDEPENDS_perl-module-tap-harness-env += "perl-module-constant"
-RDEPENDS_perl-module-tap-harness-env += "perl-module-strict"
-RDEPENDS_perl-module-tap-harness-env += "perl-module-tap-object"
-RDEPENDS_perl-module-tap-harness-env += "perl-module-text-parsewords"
-RDEPENDS_perl-module-tap-harness-env += "perl-module-warnings"
-RDEPENDS_perl-module-tap-harness += "perl-module-base"
-RDEPENDS_perl-module-tap-harness += "perl-module-carp"
-RDEPENDS_perl-module-tap-harness += "perl-module-file-path"
-RDEPENDS_perl-module-tap-harness += "perl-module-file-spec"
-RDEPENDS_perl-module-tap-harness += "perl-module-io-handle"
-RDEPENDS_perl-module-tap-harness += "perl-module-strict"
-RDEPENDS_perl-module-tap-harness += "perl-module-tap-base"
-RDEPENDS_perl-module-tap-harness += "perl-module-warnings"
-RDEPENDS_perl-module-tap-object += "perl-module-strict"
-RDEPENDS_perl-module-tap-object += "perl-module-warnings"
-RDEPENDS_perl-module-tap-parser-aggregator += "perl-module-base"
-RDEPENDS_perl-module-tap-parser-aggregator += "perl-module-benchmark"
-RDEPENDS_perl-module-tap-parser-aggregator += "perl-module-strict"
-RDEPENDS_perl-module-tap-parser-aggregator += "perl-module-tap-object"
-RDEPENDS_perl-module-tap-parser-aggregator += "perl-module-warnings"
-RDEPENDS_perl-module-tap-parser-grammar += "perl-module-base"
-RDEPENDS_perl-module-tap-parser-grammar += "perl-module-strict"
-RDEPENDS_perl-module-tap-parser-grammar += "perl-module-tap-object"
-RDEPENDS_perl-module-tap-parser-grammar += "perl-module-tap-parser-resultfactory"
-RDEPENDS_perl-module-tap-parser-grammar += "perl-module-tap-parser-yamlish-reader"
-RDEPENDS_perl-module-tap-parser-grammar += "perl-module-warnings"
-RDEPENDS_perl-module-tap-parser-iterator-array += "perl-module-base"
-RDEPENDS_perl-module-tap-parser-iterator-array += "perl-module-strict"
-RDEPENDS_perl-module-tap-parser-iterator-array += "perl-module-tap-parser-iterator"
-RDEPENDS_perl-module-tap-parser-iterator-array += "perl-module-warnings"
-RDEPENDS_perl-module-tap-parser-iteratorfactory += "perl-module-base"
-RDEPENDS_perl-module-tap-parser-iteratorfactory += "perl-module-carp"
-RDEPENDS_perl-module-tap-parser-iteratorfactory += "perl-module-constant"
-RDEPENDS_perl-module-tap-parser-iteratorfactory += "perl-module-file-basename"
-RDEPENDS_perl-module-tap-parser-iteratorfactory += "perl-module-strict"
-RDEPENDS_perl-module-tap-parser-iteratorfactory += "perl-module-tap-object"
-RDEPENDS_perl-module-tap-parser-iteratorfactory += "perl-module-warnings"
-RDEPENDS_perl-module-tap-parser-iterator += "perl-module-base"
-RDEPENDS_perl-module-tap-parser-iterator += "perl-module-strict"
-RDEPENDS_perl-module-tap-parser-iterator += "perl-module-tap-object"
-RDEPENDS_perl-module-tap-parser-iterator += "perl-module-warnings"
-RDEPENDS_perl-module-tap-parser-iterator-process += "perl-module-base"
-RDEPENDS_perl-module-tap-parser-iterator-process += "perl-module-config"
-RDEPENDS_perl-module-tap-parser-iterator-process += "perl-module-io-handle"
-RDEPENDS_perl-module-tap-parser-iterator-process += "perl-module-strict"
-RDEPENDS_perl-module-tap-parser-iterator-process += "perl-module-tap-parser-iterator"
-RDEPENDS_perl-module-tap-parser-iterator-process += "perl-module-warnings"
-RDEPENDS_perl-module-tap-parser-iterator-stream += "perl-module-base"
-RDEPENDS_perl-module-tap-parser-iterator-stream += "perl-module-strict"
-RDEPENDS_perl-module-tap-parser-iterator-stream += "perl-module-tap-parser-iterator"
-RDEPENDS_perl-module-tap-parser-iterator-stream += "perl-module-warnings"
-RDEPENDS_perl-module-tap-parser-multiplexer += "perl-module-base"
-RDEPENDS_perl-module-tap-parser-multiplexer += "perl-module-constant"
-RDEPENDS_perl-module-tap-parser-multiplexer += "perl-module-io-select"
-RDEPENDS_perl-module-tap-parser-multiplexer += "perl-module-strict"
-RDEPENDS_perl-module-tap-parser-multiplexer += "perl-module-warnings"
-RDEPENDS_perl-module-tap-parser += "perl-module-base"
-RDEPENDS_perl-module-tap-parser += "perl-module-carp"
-RDEPENDS_perl-module-tap-parser += "perl-module-strict"
-RDEPENDS_perl-module-tap-parser += "perl-module-tap-parser-grammar"
-RDEPENDS_perl-module-tap-parser += "perl-module-tap-parser-iterator"
-RDEPENDS_perl-module-tap-parser += "perl-module-tap-parser-iteratorfactory"
-RDEPENDS_perl-module-tap-parser += "perl-module-tap-parser-result"
-RDEPENDS_perl-module-tap-parser += "perl-module-tap-parser-resultfactory"
-RDEPENDS_perl-module-tap-parser += "perl-module-tap-parser-source"
-RDEPENDS_perl-module-tap-parser += "perl-module-tap-parser-sourcehandler-executable"
-RDEPENDS_perl-module-tap-parser += "perl-module-tap-parser-sourcehandler-file"
-RDEPENDS_perl-module-tap-parser += "perl-module-tap-parser-sourcehandler-handle"
-RDEPENDS_perl-module-tap-parser += "perl-module-tap-parser-sourcehandler-perl"
-RDEPENDS_perl-module-tap-parser += "perl-module-tap-parser-sourcehandler-rawtap"
-RDEPENDS_perl-module-tap-parser += "perl-module-warnings"
-RDEPENDS_perl-module-tap-parser-result-bailout += "perl-module-base"
-RDEPENDS_perl-module-tap-parser-result-bailout += "perl-module-strict"
-RDEPENDS_perl-module-tap-parser-result-bailout += "perl-module-tap-parser-result"
-RDEPENDS_perl-module-tap-parser-result-bailout += "perl-module-warnings"
-RDEPENDS_perl-module-tap-parser-result-comment += "perl-module-base"
-RDEPENDS_perl-module-tap-parser-result-comment += "perl-module-strict"
-RDEPENDS_perl-module-tap-parser-result-comment += "perl-module-tap-parser-result"
-RDEPENDS_perl-module-tap-parser-result-comment += "perl-module-warnings"
-RDEPENDS_perl-module-tap-parser-resultfactory += "perl-module-base"
-RDEPENDS_perl-module-tap-parser-resultfactory += "perl-module-strict"
-RDEPENDS_perl-module-tap-parser-resultfactory += "perl-module-tap-object"
-RDEPENDS_perl-module-tap-parser-resultfactory += "perl-module-tap-parser-result-bailout"
-RDEPENDS_perl-module-tap-parser-resultfactory += "perl-module-tap-parser-result-comment"
-RDEPENDS_perl-module-tap-parser-resultfactory += "perl-module-tap-parser-result-plan"
-RDEPENDS_perl-module-tap-parser-resultfactory += "perl-module-tap-parser-result-pragma"
-RDEPENDS_perl-module-tap-parser-resultfactory += "perl-module-tap-parser-result-test"
-RDEPENDS_perl-module-tap-parser-resultfactory += "perl-module-tap-parser-result-unknown"
-RDEPENDS_perl-module-tap-parser-resultfactory += "perl-module-tap-parser-result-version"
-RDEPENDS_perl-module-tap-parser-resultfactory += "perl-module-tap-parser-result-yaml"
-RDEPENDS_perl-module-tap-parser-resultfactory += "perl-module-warnings"
-RDEPENDS_perl-module-tap-parser-result += "perl-module-base"
-RDEPENDS_perl-module-tap-parser-result += "perl-module-strict"
-RDEPENDS_perl-module-tap-parser-result += "perl-module-tap-object"
-RDEPENDS_perl-module-tap-parser-result += "perl-module-warnings"
-RDEPENDS_perl-module-tap-parser-result-plan += "perl-module-base"
-RDEPENDS_perl-module-tap-parser-result-plan += "perl-module-strict"
-RDEPENDS_perl-module-tap-parser-result-plan += "perl-module-tap-parser-result"
-RDEPENDS_perl-module-tap-parser-result-plan += "perl-module-warnings"
-RDEPENDS_perl-module-tap-parser-result-pragma += "perl-module-base"
-RDEPENDS_perl-module-tap-parser-result-pragma += "perl-module-strict"
-RDEPENDS_perl-module-tap-parser-result-pragma += "perl-module-tap-parser-result"
-RDEPENDS_perl-module-tap-parser-result-pragma += "perl-module-warnings"
-RDEPENDS_perl-module-tap-parser-result-test += "perl-module-base"
-RDEPENDS_perl-module-tap-parser-result-test += "perl-module-strict"
-RDEPENDS_perl-module-tap-parser-result-test += "perl-module-tap-parser-result"
-RDEPENDS_perl-module-tap-parser-result-test += "perl-module-warnings"
-RDEPENDS_perl-module-tap-parser-result-unknown += "perl-module-base"
-RDEPENDS_perl-module-tap-parser-result-unknown += "perl-module-strict"
-RDEPENDS_perl-module-tap-parser-result-unknown += "perl-module-tap-parser-result"
-RDEPENDS_perl-module-tap-parser-result-unknown += "perl-module-warnings"
-RDEPENDS_perl-module-tap-parser-result-version += "perl-module-base"
-RDEPENDS_perl-module-tap-parser-result-version += "perl-module-strict"
-RDEPENDS_perl-module-tap-parser-result-version += "perl-module-tap-parser-result"
-RDEPENDS_perl-module-tap-parser-result-version += "perl-module-warnings"
-RDEPENDS_perl-module-tap-parser-result-yaml += "perl-module-base"
-RDEPENDS_perl-module-tap-parser-result-yaml += "perl-module-strict"
-RDEPENDS_perl-module-tap-parser-result-yaml += "perl-module-tap-parser-result"
-RDEPENDS_perl-module-tap-parser-result-yaml += "perl-module-warnings"
-RDEPENDS_perl-module-tap-parser-scheduler-job += "perl-module-carp"
-RDEPENDS_perl-module-tap-parser-scheduler-job += "perl-module-strict"
-RDEPENDS_perl-module-tap-parser-scheduler-job += "perl-module-warnings"
-RDEPENDS_perl-module-tap-parser-scheduler += "perl-module-carp"
-RDEPENDS_perl-module-tap-parser-scheduler += "perl-module-strict"
-RDEPENDS_perl-module-tap-parser-scheduler += "perl-module-tap-parser-scheduler-job"
-RDEPENDS_perl-module-tap-parser-scheduler += "perl-module-tap-parser-scheduler-spinner"
-RDEPENDS_perl-module-tap-parser-scheduler += "perl-module-warnings"
-RDEPENDS_perl-module-tap-parser-scheduler-spinner += "perl-module-carp"
-RDEPENDS_perl-module-tap-parser-scheduler-spinner += "perl-module-strict"
-RDEPENDS_perl-module-tap-parser-scheduler-spinner += "perl-module-warnings"
-RDEPENDS_perl-module-tap-parser-sourcehandler-executable += "perl-module-base"
-RDEPENDS_perl-module-tap-parser-sourcehandler-executable += "perl-module-constant"
-RDEPENDS_perl-module-tap-parser-sourcehandler-executable += "perl-module-strict"
-RDEPENDS_perl-module-tap-parser-sourcehandler-executable += "perl-module-tap-parser-iteratorfactory"
-RDEPENDS_perl-module-tap-parser-sourcehandler-executable += "perl-module-tap-parser-iterator-process"
-RDEPENDS_perl-module-tap-parser-sourcehandler-executable += "perl-module-tap-parser-sourcehandler"
-RDEPENDS_perl-module-tap-parser-sourcehandler-executable += "perl-module-warnings"
-RDEPENDS_perl-module-tap-parser-sourcehandler-file += "perl-module-base"
-RDEPENDS_perl-module-tap-parser-sourcehandler-file += "perl-module-constant"
-RDEPENDS_perl-module-tap-parser-sourcehandler-file += "perl-module-strict"
-RDEPENDS_perl-module-tap-parser-sourcehandler-file += "perl-module-tap-parser-iteratorfactory"
-RDEPENDS_perl-module-tap-parser-sourcehandler-file += "perl-module-tap-parser-iterator-stream"
-RDEPENDS_perl-module-tap-parser-sourcehandler-file += "perl-module-tap-parser-sourcehandler"
-RDEPENDS_perl-module-tap-parser-sourcehandler-file += "perl-module-warnings"
-RDEPENDS_perl-module-tap-parser-sourcehandler-handle += "perl-module-base"
-RDEPENDS_perl-module-tap-parser-sourcehandler-handle += "perl-module-constant"
-RDEPENDS_perl-module-tap-parser-sourcehandler-handle += "perl-module-strict"
-RDEPENDS_perl-module-tap-parser-sourcehandler-handle += "perl-module-tap-parser-iteratorfactory"
-RDEPENDS_perl-module-tap-parser-sourcehandler-handle += "perl-module-tap-parser-iterator-stream"
-RDEPENDS_perl-module-tap-parser-sourcehandler-handle += "perl-module-tap-parser-sourcehandler"
-RDEPENDS_perl-module-tap-parser-sourcehandler-handle += "perl-module-warnings"
-RDEPENDS_perl-module-tap-parser-sourcehandler += "perl-module-base"
-RDEPENDS_perl-module-tap-parser-sourcehandler += "perl-module-strict"
-RDEPENDS_perl-module-tap-parser-sourcehandler += "perl-module-tap-parser-iterator"
-RDEPENDS_perl-module-tap-parser-sourcehandler += "perl-module-warnings"
-RDEPENDS_perl-module-tap-parser-sourcehandler-perl += "perl-module-base"
-RDEPENDS_perl-module-tap-parser-sourcehandler-perl += "perl-module-config"
-RDEPENDS_perl-module-tap-parser-sourcehandler-perl += "perl-module-constant"
-RDEPENDS_perl-module-tap-parser-sourcehandler-perl += "perl-module-strict"
-RDEPENDS_perl-module-tap-parser-sourcehandler-perl += "perl-module-tap-parser-iteratorfactory"
-RDEPENDS_perl-module-tap-parser-sourcehandler-perl += "perl-module-tap-parser-iterator-process"
-RDEPENDS_perl-module-tap-parser-sourcehandler-perl += "perl-module-tap-parser-sourcehandler-executable"
-RDEPENDS_perl-module-tap-parser-sourcehandler-perl += "perl-module-text-parsewords"
-RDEPENDS_perl-module-tap-parser-sourcehandler-perl += "perl-module-warnings"
-RDEPENDS_perl-module-tap-parser-sourcehandler-rawtap += "perl-module-base"
-RDEPENDS_perl-module-tap-parser-sourcehandler-rawtap += "perl-module-strict"
-RDEPENDS_perl-module-tap-parser-sourcehandler-rawtap += "perl-module-tap-parser-iterator-array"
-RDEPENDS_perl-module-tap-parser-sourcehandler-rawtap += "perl-module-tap-parser-iteratorfactory"
-RDEPENDS_perl-module-tap-parser-sourcehandler-rawtap += "perl-module-tap-parser-sourcehandler"
-RDEPENDS_perl-module-tap-parser-sourcehandler-rawtap += "perl-module-warnings"
-RDEPENDS_perl-module-tap-parser-source += "perl-module-base"
-RDEPENDS_perl-module-tap-parser-source += "perl-module-constant"
-RDEPENDS_perl-module-tap-parser-source += "perl-module-file-basename"
-RDEPENDS_perl-module-tap-parser-source += "perl-module-strict"
-RDEPENDS_perl-module-tap-parser-source += "perl-module-tap-object"
-RDEPENDS_perl-module-tap-parser-source += "perl-module-warnings"
-RDEPENDS_perl-module-tap-parser-yamlish-reader += "perl-module-base"
-RDEPENDS_perl-module-tap-parser-yamlish-reader += "perl-module-strict"
-RDEPENDS_perl-module-tap-parser-yamlish-reader += "perl-module-tap-object"
-RDEPENDS_perl-module-tap-parser-yamlish-reader += "perl-module-warnings"
-RDEPENDS_perl-module-tap-parser-yamlish-writer += "perl-module-base"
-RDEPENDS_perl-module-tap-parser-yamlish-writer += "perl-module-strict"
-RDEPENDS_perl-module-tap-parser-yamlish-writer += "perl-module-tap-object"
-RDEPENDS_perl-module-tap-parser-yamlish-writer += "perl-module-warnings"
-RDEPENDS_perl-module-term-ansicolor += "perl-module-exporter"
-RDEPENDS_perl-module-term-ansicolor += "perl-module-strict"
-RDEPENDS_perl-module-term-ansicolor += "perl-module-warnings"
-RDEPENDS_perl-module-term-cap += "perl-module-strict"
-RDEPENDS_perl-module-term-cap += "perl-module-vars"
-RDEPENDS_perl-module-term-complete += "perl-module-exporter"
-RDEPENDS_perl-module-term-complete += "perl-module-strict"
-RDEPENDS_perl-module-term-readline += "perl-module-strict"
-RDEPENDS_perl-module-term-readline += "perl-module-term-cap"
-RDEPENDS_perl-module-test-builder-formatter += "perl-module-strict"
-RDEPENDS_perl-module-test-builder-formatter += "perl-module-warnings"
-RDEPENDS_perl-module-test-builder-module += "perl-module-exporter"
-RDEPENDS_perl-module-test-builder-module += "perl-module-strict"
-RDEPENDS_perl-module-test-builder-module += "perl-module-test-builder"
-RDEPENDS_perl-module-test-builder += "perl-module-data-dumper"
-RDEPENDS_perl-module-test-builder += "perl-module-list-util"
-RDEPENDS_perl-module-test-builder += "perl-module-overload"
-RDEPENDS_perl-module-test-builder += "perl-module-strict"
-RDEPENDS_perl-module-test-builder += "perl-module-scalar-util"
-RDEPENDS_perl-module-test-builder += "perl-module-test-builder-formatter"
-RDEPENDS_perl-module-test-builder += "perl-module-test-builder-tododiag"
-RDEPENDS_perl-module-test-builder += "perl-module-test2-api"
-RDEPENDS_perl-module-test-builder += "perl-module-test2-util"
-RDEPENDS_perl-module-test-builder += "perl-module-warnings"
-RDEPENDS_perl-module-test-builder-formatter += "perl-module-strict"
-RDEPENDS_perl-module-test-builder-formatter += "perl-module-test2-formatter"
-RDEPENDS_perl-module-test-builder-formatter += "perl-module-test2-formatter-tap"
-RDEPENDS_perl-module-test-builder-formatter += "perl-module-test2-util-hashbase"
-RDEPENDS_perl-module-test-builder-formatter += "perl-module-warnings"
-RDEPENDS_perl-module-test-builder-tester-color += "perl-module-strict"
-RDEPENDS_perl-module-test-builder-tester-color += "perl-module-test-builder-tester"
-RDEPENDS_perl-module-test-builder-tester += "perl-module-exporter"
-RDEPENDS_perl-module-test-builder-tester += "perl-module-strict"
-RDEPENDS_perl-module-test-builder-tester += "perl-module-test-builder"
-RDEPENDS_perl-module-test-builder-tododiag += "perl-module-strict"
-RDEPENDS_perl-module-test-builder-tododiag += "perl-module-warnings"
-RDEPENDS_perl-module-test-harness += "perl-module-base"
-RDEPENDS_perl-module-test-harness += "perl-module-config"
-RDEPENDS_perl-module-test-harness += "perl-module-constant"
-RDEPENDS_perl-module-test-harness += "perl-module-strict"
-RDEPENDS_perl-module-test-harness += "perl-module-tap-harness"
-RDEPENDS_perl-module-test-harness += "perl-module-tap-parser-aggregator"
-RDEPENDS_perl-module-test-harness += "perl-module-tap-parser-source"
-RDEPENDS_perl-module-test-harness += "perl-module-tap-parser-sourcehandler-perl"
-RDEPENDS_perl-module-test-harness += "perl-module-text-parsewords"
-RDEPENDS_perl-module-test-harness += "perl-module-warnings"
-RDEPENDS_perl-module-test-more += "perl-module-file-temp"
-RDEPENDS_perl-module-test-more += "perl-module-strict"
-RDEPENDS_perl-module-test-more += "perl-module-test-builder-module"
-RDEPENDS_perl-module-test-more += "perl-module-warnings"
-RDEPENDS_perl-module-test += "perl-module-exporter"
-RDEPENDS_perl-module-test += "perl-module-file-temp"
-RDEPENDS_perl-module-test += "perl-module-strict"
-RDEPENDS_perl-module-test-simple += "perl-module-strict"
-RDEPENDS_perl-module-test-simple += "perl-module-test-builder-module"
-RDEPENDS_perl-module-test-tester-capture += "perl-module-config"
-RDEPENDS_perl-module-test-tester-capture += "perl-module-strict"
-RDEPENDS_perl-module-test-tester-capture += "perl-module-test-builder"
-RDEPENDS_perl-module-test-tester-capture += "perl-module-threads-shared"
-RDEPENDS_perl-module-test-tester-capture += "perl-module-vars"
-RDEPENDS_perl-module-test-tester-capturerunner += "perl-module-exporter"
-RDEPENDS_perl-module-test-tester-capturerunner += "perl-module-strict"
-RDEPENDS_perl-module-test-tester-capturerunner += "perl-module-test-tester-capture"
-RDEPENDS_perl-module-test-tester-delegate += "perl-module-strict"
-RDEPENDS_perl-module-test-tester-delegate += "perl-module-vars"
-RDEPENDS_perl-module-test-tester-delegate += "perl-module-warnings"
-RDEPENDS_perl-module-test-tester += "perl-module-exporter"
-RDEPENDS_perl-module-test-tester += "perl-module-strict"
-RDEPENDS_perl-module-test-tester += "perl-module-test-builder"
-RDEPENDS_perl-module-test-tester += "perl-module-test-tester-capturerunner"
-RDEPENDS_perl-module-test-tester += "perl-module-test-tester-delegate"
-RDEPENDS_perl-module-test-tester += "perl-module-vars"
-RDEPENDS_perl-module-test2-api += "perl-module-carp"
-RDEPENDS_perl-module-test2-api += "perl-module-exporter"
-RDEPENDS_perl-module-test2-api += "perl-module-scalar-util"
-RDEPENDS_perl-module-test2-api += "perl-module-strict"
-RDEPENDS_perl-module-test2-api += "perl-module-test2-api-context"
-RDEPENDS_perl-module-test2-api += "perl-module-test2-api-instance"
-RDEPENDS_perl-module-test2-api += "perl-module-test2-api-stack"
-RDEPENDS_perl-module-test2-api += "perl-module-test2-event"
-RDEPENDS_perl-module-test2-api += "perl-module-test2-event-bail"
-RDEPENDS_perl-module-test2-api += "perl-module-test2-event-diag"
-RDEPENDS_perl-module-test2-api += "perl-module-test2-event-exception"
-RDEPENDS_perl-module-test2-api += "perl-module-test2-event-fail"
-RDEPENDS_perl-module-test2-api += "perl-module-test2-event-note"
-RDEPENDS_perl-module-test2-api += "perl-module-test2-event-ok"
-RDEPENDS_perl-module-test2-api += "perl-module-test2-event-plan"
-RDEPENDS_perl-module-test2-api += "perl-module-test2-event-skip"
-RDEPENDS_perl-module-test2-api += "perl-module-test2-event-subtest"
-RDEPENDS_perl-module-test2-api += "perl-module-test2-event-waiting"
-RDEPENDS_perl-module-test2-api += "perl-module-test2-eventfacet-trace"
-RDEPENDS_perl-module-test2-api += "perl-module-test2-hub"
-RDEPENDS_perl-module-test2-api += "perl-module-test2-hub-interceptor"
-RDEPENDS_perl-module-test2-api += "perl-module-test2-hub-interceptor-terminator"
-RDEPENDS_perl-module-test2-api += "perl-module-test2-hub-subtest"
-RDEPENDS_perl-module-test2-api += "perl-module-test2-util"
-RDEPENDS_perl-module-test2-api += "perl-module-test2-util-trace"
-RDEPENDS_perl-module-test2-api += "perl-module-warnings"
-RDEPENDS_perl-module-test2-api-context += "perl-module-carp"
-RDEPENDS_perl-module-test2-api-context += "perl-module-scalar-util"
-RDEPENDS_perl-module-test2-api-context += "perl-module-strict"
-RDEPENDS_perl-module-test2-api-context += "perl-module-test2-api"
-RDEPENDS_perl-module-test2-api-context += "perl-module-test2-event-v2"
-RDEPENDS_perl-module-test2-api-context += "perl-module-test2-eventfacet"
-RDEPENDS_perl-module-test2-api-context += "perl-module-test2-eventfacet-trace"
-RDEPENDS_perl-module-test2-api-context += "perl-module-test2-util"
-RDEPENDS_perl-module-test2-api-context += "perl-module-test2-util-externalmeta"
-RDEPENDS_perl-module-test2-api-context += "perl-module-test2-util-hashbase"
-RDEPENDS_perl-module-test2-api-context += "perl-module-warnings"
-RDEPENDS_perl-module-test2-event += "perl-module-carp"
-RDEPENDS_perl-module-test2-event += "perl-module-scalar-util"
-RDEPENDS_perl-module-test2-event += "perl-module-strict"
-RDEPENDS_perl-module-test2-event += "perl-module-test2-eventfacet"
-RDEPENDS_perl-module-test2-event += "perl-module-test2-eventfacet-about"
-RDEPENDS_perl-module-test2-event += "perl-module-test2-eventfacet-amnesty"
-RDEPENDS_perl-module-test2-event += "perl-module-test2-eventfacet-assert"
-RDEPENDS_perl-module-test2-event += "perl-module-test2-eventfacet-control"
-RDEPENDS_perl-module-test2-event += "perl-module-test2-eventfacet-error"
-RDEPENDS_perl-module-test2-event += "perl-module-test2-eventfacet-hub"
-RDEPENDS_perl-module-test2-event += "perl-module-test2-eventfacet-info"
-RDEPENDS_perl-module-test2-event += "perl-module-test2-eventfacet-meta"
-RDEPENDS_perl-module-test2-event += "perl-module-test2-eventfacet-parent"
-RDEPENDS_perl-module-test2-event += "perl-module-test2-eventfacet-plan"
-RDEPENDS_perl-module-test2-event += "perl-module-test2-eventfacet-trace"
-RDEPENDS_perl-module-test2-event += "perl-module-test2-util"
-RDEPENDS_perl-module-test2-event += "perl-module-test2-util-externalmeta"
-RDEPENDS_perl-module-test2-event += "perl-module-test2-util-hashbase"
-RDEPENDS_perl-module-test2-event += "perl-module-test2-util-trace"
-RDEPENDS_perl-module-test2-event += "perl-module-warnings"
-RDEPENDS_perl-module-test2-event-v2 += "perl-module-carp"
-RDEPENDS_perl-module-test2-event-v2 += "perl-module-scalar-util"
-RDEPENDS_perl-module-test2-event-v2 += "perl-module-test2-util-facets2legacy"
-RDEPENDS_perl-module-test2-event-v2 += "perl-module-test2-util-hashbase"
-RDEPENDS_perl-module-test2-event-v2 += "perl-module-strict"
-RDEPENDS_perl-module-test2-event-v2 += "perl-module-warnings"
-RDEPENDS_perl-module-test2-eventfacet += "perl-module-carp"
-RDEPENDS_perl-module-test2-eventfacet += "perl-module-test2-util"
-RDEPENDS_perl-module-test2-eventfacet += "perl-module-test2-util-hashbase"
-RDEPENDS_perl-module-test2-eventfacet += "perl-module-strict"
-RDEPENDS_perl-module-test2-eventfacet += "perl-module-warnings"
-RDEPENDS_perl-module-test2-hub += "perl-module-carp"
-RDEPENDS_perl-module-test2-hub += "perl-module-list-util"
-RDEPENDS_perl-module-test2-hub += "perl-module-scalar-util"
-RDEPENDS_perl-module-test2-hub += "perl-module-strict"
-RDEPENDS_perl-module-test2-hub += "perl-module-test2-event-ok"
-RDEPENDS_perl-module-test2-hub += "perl-module-test2-event-pass"
-RDEPENDS_perl-module-test2-hub += "perl-module-test2-event-plan"
-RDEPENDS_perl-module-test2-hub += "perl-module-test2-util"
-RDEPENDS_perl-module-test2-hub += "perl-module-test2-util-externalmeta"
-RDEPENDS_perl-module-test2-hub += "perl-module-test2-util-hashbase"
-RDEPENDS_perl-module-test2-hub += "perl-module-warnings"
-RDEPENDS_perl-module-test2-util += "perl-module-carp"
-RDEPENDS_perl-module-test2-util += "perl-module-config"
-RDEPENDS_perl-module-test2-util += "perl-module-posix"
-RDEPENDS_perl-module-test2-util += "perl-module-strict"
-RDEPENDS_perl-module-test2-util += "perl-module-warnings"
-RDEPENDS_perl-module-test2-util-facets2legacy += "perl-module-base"
-RDEPENDS_perl-module-test2-util-facets2legacy += "perl-module-carp"
-RDEPENDS_perl-module-test2-util-facets2legacy += "perl-module-exporter"
-RDEPENDS_perl-module-test2-util-facets2legacy += "perl-module-scalar-util"
-RDEPENDS_perl-module-test2-util-facets2legacy += "perl-module-strict"
-RDEPENDS_perl-module-test2-util-facets2legacy += "perl-module-warnings"
-RDEPENDS_perl-module-test2-util-hashbase += "perl-module-carp"
-RDEPENDS_perl-module-test2-util-hashbase += "perl-module-mro"
-RDEPENDS_perl-module-test2-util-hashbase += "perl-module-strict"
-RDEPENDS_perl-module-test2-util-hashbase += "perl-module-warnings"
-RDEPENDS_perl-module-text-abbrev += "perl-module-exporter"
-RDEPENDS_perl-module-text-balanced += "perl-module-exporter"
-RDEPENDS_perl-module-text-balanced += "perl-module-overload"
-RDEPENDS_perl-module-text-balanced += "perl-module-selfloader"
-RDEPENDS_perl-module-text-balanced += "perl-module-strict"
-RDEPENDS_perl-module-text-balanced += "perl-module-vars"
-RDEPENDS_perl-module-text-parsewords += "perl-module-exporter"
-RDEPENDS_perl-module-text-parsewords += "perl-module-strict"
-RDEPENDS_perl-module-text-tabs += "perl-module-exporter"
-RDEPENDS_perl-module-text-tabs += "perl-module-strict"
-RDEPENDS_perl-module-text-tabs += "perl-module-vars"
-RDEPENDS_perl-module-text-wrap += "perl-module-exporter"
-RDEPENDS_perl-module-text-wrap += "perl-module-re"
-RDEPENDS_perl-module-text-wrap += "perl-module-strict"
-RDEPENDS_perl-module-text-wrap += "perl-module-text-tabs"
-RDEPENDS_perl-module-text-wrap += "perl-module-vars"
-RDEPENDS_perl-module-text-wrap += "perl-module-warnings-register"
-RDEPENDS_perl-module-thread += "perl-module-config"
-RDEPENDS_perl-module-thread += "perl-module-exporter"
-RDEPENDS_perl-module-thread += "perl-module-strict"
-RDEPENDS_perl-module-thread += "perl-module-threads"
-RDEPENDS_perl-module-thread += "perl-module-threads-shared"
-RDEPENDS_perl-module-thread += "perl-module-warnings"
-RDEPENDS_perl-module-thread-queue += "perl-module-strict"
-RDEPENDS_perl-module-thread-queue += "perl-module-threads-shared"
-RDEPENDS_perl-module-thread-queue += "perl-module-warnings"
-RDEPENDS_perl-module-thread-semaphore += "perl-module-strict"
-RDEPENDS_perl-module-thread-semaphore += "perl-module-threads-shared"
-RDEPENDS_perl-module-thread-semaphore += "perl-module-warnings"
-RDEPENDS_perl-module-threads += "perl-module-config"
-RDEPENDS_perl-module-threads += "perl-module-overload"
-RDEPENDS_perl-module-threads += "perl-module-strict"
-RDEPENDS_perl-module-threads += "perl-module-warnings"
-RDEPENDS_perl-module-threads += "perl-module-xsloader"
-RDEPENDS_perl-module-threads-shared += "perl-module-strict"
-RDEPENDS_perl-module-threads-shared += "perl-module-warnings"
-RDEPENDS_perl-module-threads-shared += "perl-module-xsloader"
-RDEPENDS_perl-module-tie-array += "perl-module-strict"
-RDEPENDS_perl-module-tie-file += "perl-module-fcntl"
-RDEPENDS_perl-module-tie-file += "perl-module-posix"
-RDEPENDS_perl-module-tie-file += "perl-module-strict"
-RDEPENDS_perl-module-tie-handle += "perl-module-tie-stdhandle"
-RDEPENDS_perl-module-tie-handle += "perl-module-warnings-register"
-RDEPENDS_perl-module-tie-hash-namedcapture += "perl-module-strict"
-RDEPENDS_perl-module-tie-hash-namedcapture += "perl-module-xsloader"
-RDEPENDS_perl-module-tie-hash += "perl-module-warnings-register"
-RDEPENDS_perl-module-tie-hash += "perl-module-carp"
-RDEPENDS_perl-module-tie-memoize += "perl-module-strict"
-RDEPENDS_perl-module-tie-memoize += "perl-module-tie-hash"
-RDEPENDS_perl-module-tie-refhash += "perl-module-config"
-RDEPENDS_perl-module-tie-refhash += "perl-module-overload"
-RDEPENDS_perl-module-tie-refhash += "perl-module-strict"
-RDEPENDS_perl-module-tie-refhash += "perl-module-tie-hash"
-RDEPENDS_perl-module-tie-refhash += "perl-module-vars"
-RDEPENDS_perl-module-tie-scalar += "perl-module-warnings-register"
-RDEPENDS_perl-module-tie-stdhandle += "perl-module-strict"
-RDEPENDS_perl-module-tie-stdhandle += "perl-module-tie-handle"
-RDEPENDS_perl-module-tie-substrhash += "perl-module-integer"
-RDEPENDS_perl-module-time-gmtime += "perl-module-exporter"
-RDEPENDS_perl-module-time-gmtime += "perl-module-strict"
-RDEPENDS_perl-module-time-gmtime += "perl-module-time-tm"
-RDEPENDS_perl-module-time-hires += "perl-module-exporter"
-RDEPENDS_perl-module-time-hires += "perl-module-strict"
-RDEPENDS_perl-module-time-hires += "perl-module-xsloader"
-RDEPENDS_perl-module-time-local += "perl-module-config"
-RDEPENDS_perl-module-time-local += "perl-module-constant"
-RDEPENDS_perl-module-time-local += "perl-module-exporter"
-RDEPENDS_perl-module-time-local += "perl-module-parent"
-RDEPENDS_perl-module-time-local += "perl-module-strict"
-RDEPENDS_perl-module-time-localtime += "perl-module-exporter"
-RDEPENDS_perl-module-time-localtime += "perl-module-strict"
-RDEPENDS_perl-module-time-localtime += "perl-module-time-tm"
-RDEPENDS_perl-module-time-piece += "perl-module-constant"
-RDEPENDS_perl-module-time-piece += "perl-module-exporter"
-RDEPENDS_perl-module-time-piece += "perl-module-integer"
-RDEPENDS_perl-module-time-piece += "perl-module-overload"
-RDEPENDS_perl-module-time-piece += "perl-module-strict"
-RDEPENDS_perl-module-time-piece += "perl-module-time-local"
-RDEPENDS_perl-module-time-piece += "perl-module-time-seconds"
-RDEPENDS_perl-module-time-piece += "perl-module-xsloader"
-RDEPENDS_perl-module-time-seconds += "perl-module-constant"
-RDEPENDS_perl-module-time-seconds += "perl-module-exporter"
-RDEPENDS_perl-module-time-seconds += "perl-module-overload"
-RDEPENDS_perl-module-time-seconds += "perl-module-strict"
-RDEPENDS_perl-module-time-tm += "perl-module-class-struct"
-RDEPENDS_perl-module-time-tm += "perl-module-strict"
-RDEPENDS_perl-module-unicode-collate-cjk-big5 += "perl-module-strict"
-RDEPENDS_perl-module-unicode-collate-cjk-big5 += "perl-module-warnings"
-RDEPENDS_perl-module-unicode-collate-cjk-gb2312 += "perl-module-strict"
-RDEPENDS_perl-module-unicode-collate-cjk-gb2312 += "perl-module-warnings"
-RDEPENDS_perl-module-unicode-collate-cjk-jisx0208 += "perl-module-strict"
-RDEPENDS_perl-module-unicode-collate-cjk-jisx0208 += "perl-module-warnings"
-RDEPENDS_perl-module-unicode-collate-cjk-korean += "perl-module-strict"
-RDEPENDS_perl-module-unicode-collate-cjk-korean += "perl-module-warnings"
-RDEPENDS_perl-module-unicode-collate-cjk-pinyin += "perl-module-strict"
-RDEPENDS_perl-module-unicode-collate-cjk-pinyin += "perl-module-warnings"
-RDEPENDS_perl-module-unicode-collate-cjk-stroke += "perl-module-strict"
-RDEPENDS_perl-module-unicode-collate-cjk-stroke += "perl-module-warnings"
-RDEPENDS_perl-module-unicode-collate-cjk-zhuyin += "perl-module-strict"
-RDEPENDS_perl-module-unicode-collate-cjk-zhuyin += "perl-module-warnings"
-RDEPENDS_perl-module-unicode-collate-locale += "perl-module-base"
-RDEPENDS_perl-module-unicode-collate-locale += "perl-module-strict"
-RDEPENDS_perl-module-unicode-collate-locale += "perl-module-warnings"
-RDEPENDS_perl-module-unicode-collate += "perl-module-constant"
-RDEPENDS_perl-module-unicode-collate += "perl-module-strict"
-RDEPENDS_perl-module-unicode-collate += "perl-module-warnings"
-RDEPENDS_perl-module-unicode-collate += "perl-module-xsloader"
-RDEPENDS_perl-module-unicode-normalize += "perl-module-exporter"
-RDEPENDS_perl-module-unicode-normalize += "perl-module-strict"
-RDEPENDS_perl-module-unicode-normalize += "perl-module-warnings"
-RDEPENDS_perl-module-unicode-normalize += "perl-module-xsloader"
-RDEPENDS_perl-module-unicode-ucd += "perl-module-charnames"
-RDEPENDS_perl-module-unicode-ucd += "perl-module-exporter"
-RDEPENDS_perl-module-unicode-ucd += "perl-module-feature"
-RDEPENDS_perl-module-unicode-ucd += "perl-module-if"
-RDEPENDS_perl-module-unicode-ucd += "perl-module-integer"
-RDEPENDS_perl-module-unicode-ucd += "perl-module-strict"
-RDEPENDS_perl-module-unicode-ucd += "perl-module-unicode-normalize"
-RDEPENDS_perl-module-unicode-ucd += "perl-module-utf8-heavy"
-RDEPENDS_perl-module-unicode-ucd += "perl-module-warnings"
-RDEPENDS_perl-module-user-grent += "perl-module-class-struct"
-RDEPENDS_perl-module-user-grent += "perl-module-exporter"
-RDEPENDS_perl-module-user-grent += "perl-module-strict"
-RDEPENDS_perl-module-user-pwent += "perl-module-class-struct"
-RDEPENDS_perl-module-user-pwent += "perl-module-config"
-RDEPENDS_perl-module-user-pwent += "perl-module-exporter"
-RDEPENDS_perl-module-user-pwent += "perl-module-strict"
-RDEPENDS_perl-module-user-pwent += "perl-module-warnings"
-RDEPENDS_perl-module-utf8 += "perl-module-utf8-heavy"
-RDEPENDS_perl-module-version += "perl-module-strict"
-RDEPENDS_perl-module-version += "perl-module-version-regex"
-RDEPENDS_perl-module-version += "perl-module-warnings-register"
-RDEPENDS_perl-module-version-regex += "perl-module-strict"
-RDEPENDS_perl-module-xsloader += "perl-module-dynaloader"
-RDEPENDS_perl-module-anydbm-file += "perl-module-strict"
-RDEPENDS_perl-module-anydbm-file += "perl-module-warnings"
-RDEPENDS_perl-module-app-cpan += "perl-module-config"
-RDEPENDS_perl-module-app-cpan += "perl-module-constant"
-RDEPENDS_perl-module-app-cpan += "perl-module-cpan"
-RDEPENDS_perl-module-app-cpan += "perl-module-cwd"
-RDEPENDS_perl-module-app-cpan += "perl-module-data-dumper"
-RDEPENDS_perl-module-app-cpan += "perl-module-file-basename"
-RDEPENDS_perl-module-app-cpan += "perl-module-file-find"
-RDEPENDS_perl-module-app-cpan += "perl-module-getopt-std"
-RDEPENDS_perl-module-app-cpan += "perl-module-if"
-RDEPENDS_perl-module-app-cpan += "perl-module-net-ping"
-RDEPENDS_perl-module-app-cpan += "perl-module-strict"
-RDEPENDS_perl-module-app-cpan += "perl-module-user-pwent"
-RDEPENDS_perl-module-app-cpan += "perl-module-vars"
-RDEPENDS_perl-module-app-cpan += "perl-module-warnings"
-RDEPENDS_perl-module-app-prove += "perl-module-app-prove-state"
-RDEPENDS_perl-module-app-prove += "perl-module-base"
-RDEPENDS_perl-module-app-prove += "perl-module-constant"
-RDEPENDS_perl-module-app-prove += "perl-module-getopt-long"
-RDEPENDS_perl-module-app-prove += "perl-module-strict"
-RDEPENDS_perl-module-app-prove += "perl-module-tap-harness"
-RDEPENDS_perl-module-app-prove += "perl-module-tap-harness-env"
-RDEPENDS_perl-module-app-prove += "perl-module-text-parsewords"
-RDEPENDS_perl-module-app-prove += "perl-module-warnings"
-RDEPENDS_perl-module-app-prove-state += "perl-module-app-prove-state-result"
-RDEPENDS_perl-module-app-prove-state += "perl-module-base"
-RDEPENDS_perl-module-app-prove-state += "perl-module-constant"
-RDEPENDS_perl-module-app-prove-state += "perl-module-file-find"
-RDEPENDS_perl-module-app-prove-state += "perl-module-strict"
-RDEPENDS_perl-module-app-prove-state += "perl-module-tap-parser-yamlish-reader"
-RDEPENDS_perl-module-app-prove-state += "perl-module-tap-parser-yamlish-writer"
-RDEPENDS_perl-module-app-prove-state += "perl-module-warnings"
-RDEPENDS_perl-module-app-prove-state-result += "perl-module-app-prove-state-result-test"
-RDEPENDS_perl-module-app-prove-state-result += "perl-module-constant"
-RDEPENDS_perl-module-app-prove-state-result += "perl-module-strict"
-RDEPENDS_perl-module-app-prove-state-result += "perl-module-warnings"
-RDEPENDS_perl-module-app-prove-state-result-test += "perl-module-strict"
-RDEPENDS_perl-module-app-prove-state-result-test += "perl-module-warnings"
-RDEPENDS_perl-module-archive-tar-constant += "perl-module-constant"
-RDEPENDS_perl-module-archive-tar-constant += "perl-module-exporter"
-RDEPENDS_perl-module-archive-tar-constant += "perl-module-io-compress-bzip2"
-RDEPENDS_perl-module-archive-tar-constant += "perl-module-strict"
-RDEPENDS_perl-module-archive-tar-constant += "perl-module-time-local"
-RDEPENDS_perl-module-archive-tar-constant += "perl-module-warnings"
-RDEPENDS_perl-module-archive-tar-file += "perl-module-archive-tar"
-RDEPENDS_perl-module-archive-tar-file += "perl-module-archive-tar-constant"
-RDEPENDS_perl-module-archive-tar-file += "perl-module-file-basename"
-RDEPENDS_perl-module-archive-tar-file += "perl-module-io-file"
-RDEPENDS_perl-module-archive-tar-file += "perl-module-strict"
-RDEPENDS_perl-module-archive-tar-file += "perl-module-vars"
-RDEPENDS_perl-module-archive-tar += "perl-module-archive-tar-constant"
-RDEPENDS_perl-module-archive-tar += "perl-module-archive-tar-file"
-RDEPENDS_perl-module-archive-tar += "perl-module-config"
-RDEPENDS_perl-module-archive-tar += "perl-module-cwd"
-RDEPENDS_perl-module-archive-tar += "perl-module-exporter"
-RDEPENDS_perl-module-archive-tar += "perl-module-file-path"
-RDEPENDS_perl-module-archive-tar += "perl-module-io-file"
-RDEPENDS_perl-module-archive-tar += "perl-module-io-zlib"
-RDEPENDS_perl-module-archive-tar += "perl-module-strict"
-RDEPENDS_perl-module-archive-tar += "perl-module-vars"
-RDEPENDS_perl-module-arybase += "perl-module-xsloader"
-RDEPENDS_perl-module-attribute-handlers += "perl-module-strict"
-RDEPENDS_perl-module-attribute-handlers += "perl-module-warnings"
-RDEPENDS_perl-module-attributes += "perl-module-exporter"
-RDEPENDS_perl-module-attributes += "perl-module-strict"
-RDEPENDS_perl-module-attributes += "perl-module-warnings"
-RDEPENDS_perl-module-attributes += "perl-module-xsloader"
-RDEPENDS_perl-module-autodie-exception += "perl-module-constant"
-RDEPENDS_perl-module-autodie-exception += "perl-module-fatal"
-RDEPENDS_perl-module-autodie-exception += "perl-module-fcntl"
-RDEPENDS_perl-module-autodie-exception += "perl-module-overload"
-RDEPENDS_perl-module-autodie-exception += "perl-module-strict"
-RDEPENDS_perl-module-autodie-exception += "perl-module-warnings"
-RDEPENDS_perl-module-autodie-exception-system += "perl-module-parent"
-RDEPENDS_perl-module-autodie-exception-system += "perl-module-strict"
-RDEPENDS_perl-module-autodie-exception-system += "perl-module-warnings"
-RDEPENDS_perl-module-autodie-hints += "perl-module-b"
-RDEPENDS_perl-module-autodie-hints += "perl-module-constant"
-RDEPENDS_perl-module-autodie-hints += "perl-module-strict"
-RDEPENDS_perl-module-autodie-hints += "perl-module-warnings"
-RDEPENDS_perl-module-autodie += "perl-module-constant"
-RDEPENDS_perl-module-autodie += "perl-module-lib"
-RDEPENDS_perl-module-autodie += "perl-module-parent"
-RDEPENDS_perl-module-autodie += "perl-module-strict"
-RDEPENDS_perl-module-autodie += "perl-module-warnings"
-RDEPENDS_perl-module-autodie-scope-guard += "perl-module-strict"
-RDEPENDS_perl-module-autodie-scope-guard += "perl-module-warnings"
-RDEPENDS_perl-module-autodie-scope-guardstack += "perl-module-autodie-scope-guard"
-RDEPENDS_perl-module-autodie-scope-guardstack += "perl-module-strict"
-RDEPENDS_perl-module-autodie-scope-guardstack += "perl-module-warnings"
-RDEPENDS_perl-module-autodie-skip += "perl-module-strict"
-RDEPENDS_perl-module-autodie-skip += "perl-module-warnings"
-RDEPENDS_perl-module-autodie-util += "perl-module-autodie-scope-guardstack"
-RDEPENDS_perl-module-autodie-util += "perl-module-exporter"
-RDEPENDS_perl-module-autodie-util += "perl-module-strict"
-RDEPENDS_perl-module-autodie-util += "perl-module-warnings"
-RDEPENDS_perl-module-autoloader += "perl-module-strict"
-RDEPENDS_perl-module-autosplit += "perl-module-config"
-RDEPENDS_perl-module-autosplit += "perl-module-exporter"
-RDEPENDS_perl-module-autosplit += "perl-module-file-basename"
-RDEPENDS_perl-module-autosplit += "perl-module-file-path"
-RDEPENDS_perl-module-autosplit += "perl-module-strict"
-RDEPENDS_perl-module-base += "perl-module-strict"
-RDEPENDS_perl-module-b-concise += "perl-module-b"
-RDEPENDS_perl-module-b-concise += "perl-module-b-op-private"
-RDEPENDS_perl-module-b-concise += "perl-module-config"
-RDEPENDS_perl-module-b-concise += "perl-module-exporter"
-RDEPENDS_perl-module-b-concise += "perl-module-feature"
-RDEPENDS_perl-module-b-concise += "perl-module-strict"
-RDEPENDS_perl-module-b-concise += "perl-module-warnings"
-RDEPENDS_perl-module-b-debug += "perl-module-b"
-RDEPENDS_perl-module-b-debug += "perl-module-config"
-RDEPENDS_perl-module-b-debug += "perl-module-strict"
 RDEPENDS_perl-module-benchmark += "perl-module-exporter"
 RDEPENDS_perl-module-benchmark += "perl-module-strict"
 RDEPENDS_perl-module-bigint += "perl-module-constant"
@@ -2501,8 +189,6 @@
 RDEPENDS_perl-module-config-extensions += "perl-module-config"
 RDEPENDS_perl-module-config-extensions += "perl-module-exporter"
 RDEPENDS_perl-module-config-extensions += "perl-module-strict"
-RDEPENDS_perl-module-config += "perl-module-strict"
-RDEPENDS_perl-module-config += "perl-module-warnings"
 RDEPENDS_perl-module-config-perl-v += "perl-module-config"
 RDEPENDS_perl-module-config-perl-v += "perl-module-exporter"
 RDEPENDS_perl-module-config-perl-v += "perl-module-strict"
@@ -2534,7 +220,6 @@
 RDEPENDS_perl-module-cpan += "perl-module-lib"
 RDEPENDS_perl-module-cpan += "perl-module-net-ping"
 RDEPENDS_perl-module-cpan += "perl-module-overload"
-RDEPENDS_perl-module-cpan += "perl-module-parse-cpan-meta"
 RDEPENDS_perl-module-cpan += "perl-module-posix"
 RDEPENDS_perl-module-cpan += "perl-module-safe"
 RDEPENDS_perl-module-cpan += "perl-module-strict"
@@ -2553,6 +238,13 @@
 RDEPENDS_perl-module-data-dumper += "perl-module-constant"
 RDEPENDS_perl-module-data-dumper += "perl-module-exporter"
 RDEPENDS_perl-module-data-dumper += "perl-module-xsloader"
+RDEPENDS_perl-module-db-file += "perl-module-dynaloader"
+RDEPENDS_perl-module-db-file += "perl-module-exporter"
+RDEPENDS_perl-module-db-file += "perl-module-fcntl"
+RDEPENDS_perl-module-db-file += "perl-module-strict "
+RDEPENDS_perl-module-db-file += "perl-module-strict"
+RDEPENDS_perl-module-db-file += "perl-module-tie-hash"
+RDEPENDS_perl-module-db-file += "perl-module-warnings"
 RDEPENDS_perl-module-dbm-filter-compress += "perl-module-strict"
 RDEPENDS_perl-module-dbm-filter-compress += "perl-module-warnings"
 RDEPENDS_perl-module-dbm-filter-encode += "perl-module-strict"
@@ -2699,7 +391,6 @@
 RDEPENDS_perl-module-encode += "perl-module-encode-alias"
 RDEPENDS_perl-module-encode += "perl-module-encode-config"
 RDEPENDS_perl-module-encode += "perl-module-encode-configlocal-pm"
-RDEPENDS_perl-module-encode += "perl-module-encode-encoding"
 RDEPENDS_perl-module-encode += "perl-module-encode-mime-name"
 RDEPENDS_perl-module-encode += "perl-module-exporter"
 RDEPENDS_perl-module-encode += "perl-module-parent"
@@ -2886,7 +577,6 @@
 RDEPENDS_perl-module-extutils-makemaker += "perl-module-extutils-makemaker-version"
 RDEPENDS_perl-module-extutils-makemaker += "perl-module-extutils-manifest"
 RDEPENDS_perl-module-extutils-makemaker += "perl-module-extutils-mm"
-RDEPENDS_perl-module-extutils-makemaker += "perl-module-extutils-mm-unix"
 RDEPENDS_perl-module-extutils-makemaker += "perl-module-extutils-my"
 RDEPENDS_perl-module-extutils-makemaker += "perl-module-file-path"
 RDEPENDS_perl-module-extutils-makemaker += "perl-module-strict"
@@ -3082,7 +772,6 @@
 RDEPENDS_perl-module-file-fetch += "perl-module-params-check"
 RDEPENDS_perl-module-file-fetch += "perl-module-strict"
 RDEPENDS_perl-module-file-fetch += "perl-module-vars"
-RDEPENDS_perl-module-file-find += "perl-module-config"
 RDEPENDS_perl-module-file-find += "perl-module-cwd"
 RDEPENDS_perl-module-file-find += "perl-module-exporter"
 RDEPENDS_perl-module-file-find += "perl-module-file-basename"
@@ -3094,7 +783,6 @@
 RDEPENDS_perl-module-file-globmapper += "perl-module-warnings"
 RDEPENDS_perl-module-file-glob += "perl-module-exporter"
 RDEPENDS_perl-module-file-glob += "perl-module-strict"
-RDEPENDS_perl-module-file-glob += "perl-module-warnings"
 RDEPENDS_perl-module-file-glob += "perl-module-xsloader"
 RDEPENDS_perl-module-filehandle += "perl-module-exporter"
 RDEPENDS_perl-module-filehandle += "perl-module-fcntl"
@@ -3123,9 +811,7 @@
 RDEPENDS_perl-module-file-temp += "perl-module-overload"
 RDEPENDS_perl-module-file-temp += "perl-module-parent"
 RDEPENDS_perl-module-file-temp += "perl-module-posix"
-RDEPENDS_perl-module-file-temp += "perl-module-file-spec"
 RDEPENDS_perl-module-file-temp += "perl-module-strict"
-RDEPENDS_perl-module-file-temp += "perl-module-vars"
 RDEPENDS_perl-module-filter-simple += "perl-module-filter-util-call"
 RDEPENDS_perl-module-filter-simple += "perl-module-text-balanced"
 RDEPENDS_perl-module-filter-util-call += "perl-module-exporter"
@@ -3135,6 +821,11 @@
 RDEPENDS_perl-module-findbin += "perl-module-cwd"
 RDEPENDS_perl-module-findbin += "perl-module-exporter"
 RDEPENDS_perl-module-findbin += "perl-module-file-basename"
+RDEPENDS_perl-module-gdbm-file += "perl-module-exporter"
+RDEPENDS_perl-module-gdbm-file += "perl-module-strict"
+RDEPENDS_perl-module-gdbm-file += "perl-module-tie-hash"
+RDEPENDS_perl-module-gdbm-file += "perl-module-warnings"
+RDEPENDS_perl-module-gdbm-file += "perl-module-xsloader"
 RDEPENDS_perl-module-getopt-long += "perl-module-constant"
 RDEPENDS_perl-module-getopt-long += "perl-module-exporter"
 RDEPENDS_perl-module-getopt-long += "perl-module-overload"
@@ -3389,6 +1080,7 @@
 RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-bytes"
 RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-compress-raw-zlib"
 RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-constant"
+RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-encode"
 RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-exporter "
 RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-fcntl"
 RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-io-compress-base-common"
@@ -3486,116 +1178,6 @@
 RDEPENDS_perl-module-load += "perl-module-vars"
 RDEPENDS_perl-module-load += "perl-module-version"
 RDEPENDS_perl-module-load += "perl-module-warnings"
-RDEPENDS_perl-module-locale-codes-constants += "perl-module-constant"
-RDEPENDS_perl-module-locale-codes-constants += "perl-module-exporter"
-RDEPENDS_perl-module-locale-codes-constants += "perl-module-strict"
-RDEPENDS_perl-module-locale-codes-constants += "perl-module-warnings"
-RDEPENDS_perl-module-locale-codes-country-codes += "perl-module-strict"
-RDEPENDS_perl-module-locale-codes-country-codes += "perl-module-utf8"
-RDEPENDS_perl-module-locale-codes-country-codes += "perl-module-warnings"
-RDEPENDS_perl-module-locale-codes-country += "perl-module-exporter"
-RDEPENDS_perl-module-locale-codes-country += "perl-module-if"
-RDEPENDS_perl-module-locale-codes-country += "perl-module-locale-codes"
-RDEPENDS_perl-module-locale-codes-country += "perl-module-locale-codes-constants"
-RDEPENDS_perl-module-locale-codes-country += "perl-module-strict"
-RDEPENDS_perl-module-locale-codes-country += "perl-module-warnings"
-RDEPENDS_perl-module-locale-codes-country-retired += "perl-module-strict"
-RDEPENDS_perl-module-locale-codes-country-retired += "perl-module-utf8"
-RDEPENDS_perl-module-locale-codes-country-retired += "perl-module-warnings"
-RDEPENDS_perl-module-locale-codes-currency-codes += "perl-module-strict"
-RDEPENDS_perl-module-locale-codes-currency-codes += "perl-module-utf8"
-RDEPENDS_perl-module-locale-codes-currency-codes += "perl-module-warnings"
-RDEPENDS_perl-module-locale-codes-currency += "perl-module-exporter"
-RDEPENDS_perl-module-locale-codes-currency += "perl-module-if"
-RDEPENDS_perl-module-locale-codes-currency += "perl-module-locale-codes"
-RDEPENDS_perl-module-locale-codes-currency += "perl-module-locale-codes-constants"
-RDEPENDS_perl-module-locale-codes-currency += "perl-module-strict"
-RDEPENDS_perl-module-locale-codes-currency += "perl-module-warnings"
-RDEPENDS_perl-module-locale-codes-currency-retired += "perl-module-strict"
-RDEPENDS_perl-module-locale-codes-currency-retired += "perl-module-utf8"
-RDEPENDS_perl-module-locale-codes-currency-retired += "perl-module-warnings"
-RDEPENDS_perl-module-locale-codes-langext-codes += "perl-module-strict"
-RDEPENDS_perl-module-locale-codes-langext-codes += "perl-module-utf8"
-RDEPENDS_perl-module-locale-codes-langext-codes += "perl-module-warnings"
-RDEPENDS_perl-module-locale-codes-langext += "perl-module-exporter"
-RDEPENDS_perl-module-locale-codes-langext += "perl-module-if"
-RDEPENDS_perl-module-locale-codes-langext += "perl-module-locale-codes"
-RDEPENDS_perl-module-locale-codes-langext += "perl-module-locale-codes-constants"
-RDEPENDS_perl-module-locale-codes-langext += "perl-module-strict"
-RDEPENDS_perl-module-locale-codes-langext += "perl-module-warnings"
-RDEPENDS_perl-module-locale-codes-langext-retired += "perl-module-strict"
-RDEPENDS_perl-module-locale-codes-langext-retired += "perl-module-utf8"
-RDEPENDS_perl-module-locale-codes-langext-retired += "perl-module-warnings"
-RDEPENDS_perl-module-locale-codes-langfam-codes += "perl-module-strict"
-RDEPENDS_perl-module-locale-codes-langfam-codes += "perl-module-utf8"
-RDEPENDS_perl-module-locale-codes-langfam-codes += "perl-module-warnings"
-RDEPENDS_perl-module-locale-codes-langfam += "perl-module-exporter"
-RDEPENDS_perl-module-locale-codes-langfam += "perl-module-if"
-RDEPENDS_perl-module-locale-codes-langfam += "perl-module-locale-codes"
-RDEPENDS_perl-module-locale-codes-langfam += "perl-module-locale-codes-constants"
-RDEPENDS_perl-module-locale-codes-langfam += "perl-module-strict"
-RDEPENDS_perl-module-locale-codes-langfam += "perl-module-warnings"
-RDEPENDS_perl-module-locale-codes-langfam-retired += "perl-module-strict"
-RDEPENDS_perl-module-locale-codes-langfam-retired += "perl-module-warnings"
-RDEPENDS_perl-module-locale-codes-language-codes += "perl-module-strict"
-RDEPENDS_perl-module-locale-codes-language-codes += "perl-module-utf8"
-RDEPENDS_perl-module-locale-codes-language-codes += "perl-module-warnings"
-RDEPENDS_perl-module-locale-codes-language += "perl-module-exporter"
-RDEPENDS_perl-module-locale-codes-language += "perl-module-if"
-RDEPENDS_perl-module-locale-codes-language += "perl-module-locale-codes"
-RDEPENDS_perl-module-locale-codes-language += "perl-module-locale-codes-constants"
-RDEPENDS_perl-module-locale-codes-language += "perl-module-strict"
-RDEPENDS_perl-module-locale-codes-language += "perl-module-warnings"
-RDEPENDS_perl-module-locale-codes-language-retired += "perl-module-strict"
-RDEPENDS_perl-module-locale-codes-language-retired += "perl-module-utf8"
-RDEPENDS_perl-module-locale-codes-language-retired += "perl-module-warnings"
-RDEPENDS_perl-module-locale-codes-langvar-codes += "perl-module-strict"
-RDEPENDS_perl-module-locale-codes-langvar-codes += "perl-module-utf8"
-RDEPENDS_perl-module-locale-codes-langvar-codes += "perl-module-warnings"
-RDEPENDS_perl-module-locale-codes-langvar += "perl-module-exporter"
-RDEPENDS_perl-module-locale-codes-langvar += "perl-module-if"
-RDEPENDS_perl-module-locale-codes-langvar += "perl-module-locale-codes"
-RDEPENDS_perl-module-locale-codes-langvar += "perl-module-locale-codes-constants"
-RDEPENDS_perl-module-locale-codes-langvar += "perl-module-strict"
-RDEPENDS_perl-module-locale-codes-langvar += "perl-module-warnings"
-RDEPENDS_perl-module-locale-codes-langvar-retired += "perl-module-strict"
-RDEPENDS_perl-module-locale-codes-langvar-retired += "perl-module-utf8"
-RDEPENDS_perl-module-locale-codes-langvar-retired += "perl-module-warnings"
-RDEPENDS_perl-module-locale-codes += "perl-module-exporter"
-RDEPENDS_perl-module-locale-codes += "perl-module-if"
-RDEPENDS_perl-module-locale-codes += "perl-module-locale-codes-constants"
-RDEPENDS_perl-module-locale-codes += "perl-module-strict"
-RDEPENDS_perl-module-locale-codes += "perl-module-warnings"
-RDEPENDS_perl-module-locale-codes-script-codes += "perl-module-strict"
-RDEPENDS_perl-module-locale-codes-script-codes += "perl-module-utf8"
-RDEPENDS_perl-module-locale-codes-script-codes += "perl-module-warnings"
-RDEPENDS_perl-module-locale-codes-script += "perl-module-exporter"
-RDEPENDS_perl-module-locale-codes-script += "perl-module-if"
-RDEPENDS_perl-module-locale-codes-script += "perl-module-locale-codes"
-RDEPENDS_perl-module-locale-codes-script += "perl-module-locale-codes-constants"
-RDEPENDS_perl-module-locale-codes-script += "perl-module-strict"
-RDEPENDS_perl-module-locale-codes-script += "perl-module-warnings"
-RDEPENDS_perl-module-locale-codes-script-retired += "perl-module-strict"
-RDEPENDS_perl-module-locale-codes-script-retired += "perl-module-utf8"
-RDEPENDS_perl-module-locale-codes-script-retired += "perl-module-warnings"
-RDEPENDS_perl-module-locale-country += "perl-module-exporter"
-RDEPENDS_perl-module-locale-country += "perl-module-if"
-RDEPENDS_perl-module-locale-country += "perl-module-locale-codes"
-RDEPENDS_perl-module-locale-country += "perl-module-locale-codes-constants"
-RDEPENDS_perl-module-locale-country += "perl-module-strict"
-RDEPENDS_perl-module-locale-country += "perl-module-warnings"
-RDEPENDS_perl-module-locale-currency += "perl-module-exporter"
-RDEPENDS_perl-module-locale-currency += "perl-module-if"
-RDEPENDS_perl-module-locale-currency += "perl-module-locale-codes"
-RDEPENDS_perl-module-locale-currency += "perl-module-locale-codes-constants"
-RDEPENDS_perl-module-locale-currency += "perl-module-strict"
-RDEPENDS_perl-module-locale-currency += "perl-module-warnings"
-RDEPENDS_perl-module-locale-language += "perl-module-exporter"
-RDEPENDS_perl-module-locale-language += "perl-module-if"
-RDEPENDS_perl-module-locale-language += "perl-module-locale-codes"
-RDEPENDS_perl-module-locale-language += "perl-module-locale-codes-constants"
-RDEPENDS_perl-module-locale-language += "perl-module-strict"
-RDEPENDS_perl-module-locale-language += "perl-module-warnings"
 RDEPENDS_perl-module-locale-maketext-gutsloader += "perl-module-locale-maketext"
 RDEPENDS_perl-module-locale-maketext-guts += "perl-module-locale-maketext"
 RDEPENDS_perl-module-locale-maketext += "perl-module-i18n-langtags"
@@ -3605,12 +1187,6 @@
 RDEPENDS_perl-module-locale-maketext-simple += "perl-module-base"
 RDEPENDS_perl-module-locale-maketext-simple += "perl-module-strict"
 RDEPENDS_perl-module-locale += "perl-module-config"
-RDEPENDS_perl-module-locale-script += "perl-module-exporter"
-RDEPENDS_perl-module-locale-script += "perl-module-if"
-RDEPENDS_perl-module-locale-script += "perl-module-locale-codes"
-RDEPENDS_perl-module-locale-script += "perl-module-locale-codes-constants"
-RDEPENDS_perl-module-locale-script += "perl-module-strict"
-RDEPENDS_perl-module-locale-script += "perl-module-warnings"
 RDEPENDS_perl-module-math-bigfloat += "perl-module-exporter"
 RDEPENDS_perl-module-math-bigfloat += "perl-module-math-bigint"
 RDEPENDS_perl-module-math-bigfloat += "perl-module-math-complex"
@@ -3622,8 +1198,6 @@
 RDEPENDS_perl-module-math-bigfloat-trace += "perl-module-overload"
 RDEPENDS_perl-module-math-bigfloat-trace += "perl-module-strict"
 RDEPENDS_perl-module-math-bigfloat-trace += "perl-module-warnings"
-RDEPENDS_perl-module-math-bigint-calcemu += "perl-module-strict"
-RDEPENDS_perl-module-math-bigint-calcemu += "perl-module-warnings"
 RDEPENDS_perl-module-math-bigint-calc += "perl-module-constant"
 RDEPENDS_perl-module-math-bigint-calc += "perl-module-integer"
 RDEPENDS_perl-module-math-bigint-calc += "perl-module-math-bigint-lib"
@@ -3800,7 +1374,6 @@
 RDEPENDS_perl-module-params-check += "perl-module-strict"
 RDEPENDS_perl-module-params-check += "perl-module-vars"
 RDEPENDS_perl-module-parent += "perl-module-strict"
-RDEPENDS_perl-module-parent += "perl-module-vars"
 RDEPENDS_perl-module-perlfaq += "perl-module-strict"
 RDEPENDS_perl-module-perlfaq += "perl-module-warnings"
 RDEPENDS_perl-module-perlio-encoding += "perl-module-strict"
@@ -3820,16 +1393,8 @@
 RDEPENDS_perl-module-pod-escapes += "perl-module-strict"
 RDEPENDS_perl-module-pod-escapes += "perl-module-vars"
 RDEPENDS_perl-module-pod-escapes += "perl-module-warnings"
-RDEPENDS_perl-module-pod-find += "perl-module-config"
-RDEPENDS_perl-module-pod-find += "perl-module-cwd"
-RDEPENDS_perl-module-pod-find += "perl-module-exporter"
-RDEPENDS_perl-module-pod-find += "perl-module-file-find"
-RDEPENDS_perl-module-pod-find += "perl-module-strict"
-RDEPENDS_perl-module-pod-find += "perl-module-vars"
 RDEPENDS_perl-module-pod-functions += "perl-module-exporter"
 RDEPENDS_perl-module-pod-functions += "perl-module-strict"
-RDEPENDS_perl-module-pod-inputobjects += "perl-module-strict"
-RDEPENDS_perl-module-pod-inputobjects += "perl-module-vars"
 RDEPENDS_perl-module-pod-man += "perl-module-file-basename"
 RDEPENDS_perl-module-pod-man += "perl-module-pod-simple"
 RDEPENDS_perl-module-pod-man += "perl-module-strict"
@@ -3840,12 +1405,6 @@
 RDEPENDS_perl-module-pod-parselink += "perl-module-strict"
 RDEPENDS_perl-module-pod-parselink += "perl-module-vars"
 RDEPENDS_perl-module-pod-parselink += "perl-module-warnings"
-RDEPENDS_perl-module-pod-parser += "perl-module-exporter"
-RDEPENDS_perl-module-pod-parser += "perl-module-pod-inputobjects"
-RDEPENDS_perl-module-pod-parser += "perl-module-strict"
-RDEPENDS_perl-module-pod-parser += "perl-module-vars"
-RDEPENDS_perl-module-pod-parseutils += "perl-module-strict"
-RDEPENDS_perl-module-pod-parseutils += "perl-module-vars"
 RDEPENDS_perl-module-pod-perldoc-baseto += "perl-module-config"
 RDEPENDS_perl-module-pod-perldoc-baseto += "perl-module-strict"
 RDEPENDS_perl-module-pod-perldoc-baseto += "perl-module-vars"
@@ -3908,12 +1467,7 @@
 RDEPENDS_perl-module-pod-perldoc-toxml += "perl-module-strict"
 RDEPENDS_perl-module-pod-perldoc-toxml += "perl-module-vars"
 RDEPENDS_perl-module-pod-perldoc-toxml += "perl-module-warnings"
-RDEPENDS_perl-module-pod-plaintext += "perl-module-pod-select"
-RDEPENDS_perl-module-pod-plaintext += "perl-module-strict"
-RDEPENDS_perl-module-pod-plaintext += "perl-module-vars"
-RDEPENDS_perl-module-pod-select += "perl-module-pod-parser"
-RDEPENDS_perl-module-pod-select += "perl-module-strict"
-RDEPENDS_perl-module-pod-select += "perl-module-vars"
+RDEPENDS_perl-module-pod-simple-blackbox += "perl-module-if"
 RDEPENDS_perl-module-pod-simple-blackbox += "perl-module-integer"
 RDEPENDS_perl-module-pod-simple-blackbox += "perl-module-pod-simple"
 RDEPENDS_perl-module-pod-simple-blackbox += "perl-module-pod-simple-transcode"
@@ -3932,6 +1486,9 @@
 RDEPENDS_perl-module-pod-simple-dumpasxml += "perl-module-pod-simple"
 RDEPENDS_perl-module-pod-simple-dumpasxml += "perl-module-strict"
 RDEPENDS_perl-module-pod-simple-dumpasxml += "perl-module-text-wrap"
+RDEPENDS_perl-module-pod-simple-justpod += "perl-module-pod-simple-methody"
+RDEPENDS_perl-module-pod-simple-justpod += "perl-module-strict"
+RDEPENDS_perl-module-pod-simple-justpod += "perl-module-warnings"
 RDEPENDS_perl-module-pod-simple-linksection += "perl-module-overload"
 RDEPENDS_perl-module-pod-simple-linksection += "perl-module-pod-simple-blackbox"
 RDEPENDS_perl-module-pod-simple-linksection += "perl-module-strict"
@@ -3962,6 +1519,7 @@
 RDEPENDS_perl-module-pod-simple-pullparsertexttoken += "perl-module-strict"
 RDEPENDS_perl-module-pod-simple-pullparsertexttoken += "perl-module-vars"
 RDEPENDS_perl-module-pod-simple-pullparsertoken += "perl-module-strict"
+RDEPENDS_perl-module-pod-simple-rtf += "perl-module-if"
 RDEPENDS_perl-module-pod-simple-rtf += "perl-module-integer"
 RDEPENDS_perl-module-pod-simple-rtf += "perl-module-pod-simple-pullparser"
 RDEPENDS_perl-module-pod-simple-rtf += "perl-module-strict"
@@ -3987,8 +1545,6 @@
 RDEPENDS_perl-module-pod-simple-transcodedumb += "perl-module-strict"
 RDEPENDS_perl-module-pod-simple-transcodedumb += "perl-module-vars"
 RDEPENDS_perl-module-pod-simple-transcode += "perl-module-strict"
-RDEPENDS_perl-module-pod-simple-transcode += "perl-module-pod-simple-transcodedumb"
-RDEPENDS_perl-module-pod-simple-transcode += "perl-module-pod-simple-transcodesmart"
 RDEPENDS_perl-module-pod-simple-transcode += "perl-module-vars"
 RDEPENDS_perl-module-pod-simple-transcodesmart += "perl-module-encode"
 RDEPENDS_perl-module-pod-simple-transcodesmart += "perl-module-pod-simple"
@@ -4055,7 +1611,6 @@
 RDEPENDS_perl-module-sort += "perl-module-strict"
 RDEPENDS_perl-module-storable += "perl-module-exporter"
 RDEPENDS_perl-module-storable += "perl-module-io-file"
-RDEPENDS_perl-module-storable += "perl-module-xsloader"
 RDEPENDS_perl-module-sub-util += "perl-module-exporter"
 RDEPENDS_perl-module-sub-util += "perl-module-list-util"
 RDEPENDS_perl-module-sub-util += "perl-module-strict"
@@ -4082,7 +1637,6 @@
 RDEPENDS_perl-module-tap-base += "perl-module-base"
 RDEPENDS_perl-module-tap-base += "perl-module-constant"
 RDEPENDS_perl-module-tap-base += "perl-module-strict"
-RDEPENDS_perl-module-tap-base += "perl-module-tap-object"
 RDEPENDS_perl-module-tap-base += "perl-module-warnings"
 RDEPENDS_perl-module-tap-formatter-base += "perl-module-base"
 RDEPENDS_perl-module-tap-formatter-base += "perl-module-posix"
@@ -4108,9 +1662,7 @@
 RDEPENDS_perl-module-tap-formatter-file += "perl-module-base"
 RDEPENDS_perl-module-tap-formatter-file += "perl-module-posix"
 RDEPENDS_perl-module-tap-formatter-file += "perl-module-strict"
-RDEPENDS_perl-module-tap-formatter-file += "perl-module-tap-formatter-base"
 RDEPENDS_perl-module-tap-formatter-file += "perl-module-tap-formatter-file-session"
-RDEPENDS_perl-module-tap-formatter-file += "perl-module-tap-formatter-session"
 RDEPENDS_perl-module-tap-formatter-file += "perl-module-warnings"
 RDEPENDS_perl-module-tap-formatter-file-session += "perl-module-base"
 RDEPENDS_perl-module-tap-formatter-file-session += "perl-module-strict"
@@ -4127,7 +1679,6 @@
 RDEPENDS_perl-module-tap-harness += "perl-module-file-path"
 RDEPENDS_perl-module-tap-harness += "perl-module-io-handle"
 RDEPENDS_perl-module-tap-harness += "perl-module-strict"
-RDEPENDS_perl-module-tap-harness += "perl-module-tap-formatter-file"
 RDEPENDS_perl-module-tap-harness += "perl-module-warnings"
 RDEPENDS_perl-module-tap-object += "perl-module-strict"
 RDEPENDS_perl-module-tap-object += "perl-module-warnings"
@@ -4252,7 +1803,6 @@
 RDEPENDS_perl-module-tap-parser-sourcehandler-perl += "perl-module-strict"
 RDEPENDS_perl-module-tap-parser-sourcehandler-perl += "perl-module-tap-parser-iteratorfactory"
 RDEPENDS_perl-module-tap-parser-sourcehandler-perl += "perl-module-tap-parser-iterator-process"
-RDEPENDS_perl-module-tap-parser-sourcehandler-perl += "perl-module-tap-parser-sourcehandler-executable"
 RDEPENDS_perl-module-tap-parser-sourcehandler-perl += "perl-module-text-parsewords"
 RDEPENDS_perl-module-tap-parser-sourcehandler-perl += "perl-module-warnings"
 RDEPENDS_perl-module-tap-parser-sourcehandler-rawtap += "perl-module-base"
@@ -4319,7 +1869,6 @@
 RDEPENDS_perl-module-test-tester-capture += "perl-module-config"
 RDEPENDS_perl-module-test-tester-capture += "perl-module-strict"
 RDEPENDS_perl-module-test-tester-capture += "perl-module-test-builder"
-RDEPENDS_perl-module-test-tester-capture += "perl-module-threads-shared"
 RDEPENDS_perl-module-test-tester-capture += "perl-module-vars"
 RDEPENDS_perl-module-test-tester-capturerunner += "perl-module-exporter"
 RDEPENDS_perl-module-test-tester-capturerunner += "perl-module-strict"
@@ -4367,6 +1916,7 @@
 RDEPENDS_perl-module-threads += "perl-module-strict"
 RDEPENDS_perl-module-threads += "perl-module-warnings"
 RDEPENDS_perl-module-threads += "perl-module-xsloader"
+RDEPENDS_perl-module-threads-shared += "perl-module-config"
 RDEPENDS_perl-module-threads-shared += "perl-module-strict"
 RDEPENDS_perl-module-threads-shared += "perl-module-warnings"
 RDEPENDS_perl-module-threads-shared += "perl-module-xsloader"
@@ -4374,10 +1924,10 @@
 RDEPENDS_perl-module-tie-file += "perl-module-fcntl"
 RDEPENDS_perl-module-tie-file += "perl-module-posix"
 RDEPENDS_perl-module-tie-file += "perl-module-strict"
+RDEPENDS_perl-module-tie-file += "perl-module-warnings"
 RDEPENDS_perl-module-tie-handle += "perl-module-tie-stdhandle"
 RDEPENDS_perl-module-tie-handle += "perl-module-warnings-register"
 RDEPENDS_perl-module-tie-hash-namedcapture += "perl-module-strict"
-RDEPENDS_perl-module-tie-hash-namedcapture += "perl-module-xsloader"
 RDEPENDS_perl-module-tie-hash += "perl-module-warnings-register"
 RDEPENDS_perl-module-tie-memoize += "perl-module-strict"
 RDEPENDS_perl-module-tie-memoize += "perl-module-tie-hash"
@@ -4448,9 +1998,9 @@
 RDEPENDS_perl-module-unicode-ucd += "perl-module-feature"
 RDEPENDS_perl-module-unicode-ucd += "perl-module-if"
 RDEPENDS_perl-module-unicode-ucd += "perl-module-integer"
+RDEPENDS_perl-module-unicode-ucd += "perl-module-re"
 RDEPENDS_perl-module-unicode-ucd += "perl-module-strict"
 RDEPENDS_perl-module-unicode-ucd += "perl-module-unicode-normalize"
-RDEPENDS_perl-module-unicode-ucd += "perl-module-utf8-heavy"
 RDEPENDS_perl-module-unicode-ucd += "perl-module-warnings"
 RDEPENDS_perl-module-user-grent += "perl-module-class-struct"
 RDEPENDS_perl-module-user-grent += "perl-module-exporter"
@@ -4460,7 +2010,6 @@
 RDEPENDS_perl-module-user-pwent += "perl-module-exporter"
 RDEPENDS_perl-module-user-pwent += "perl-module-strict"
 RDEPENDS_perl-module-user-pwent += "perl-module-warnings"
-RDEPENDS_perl-module-utf8 += "perl-module-utf8-heavy"
 RDEPENDS_perl-module-version += "perl-module-strict"
 RDEPENDS_perl-module-version += "perl-module-version-regex"
 RDEPENDS_perl-module-version += "perl-module-warnings-register"
diff --git a/poky/meta/recipes-devtools/perl/perl_5.30.2.bb b/poky/meta/recipes-devtools/perl/perl_5.32.0.bb
similarity index 96%
rename from poky/meta/recipes-devtools/perl/perl_5.30.2.bb
rename to poky/meta/recipes-devtools/perl/perl_5.32.0.bb
index 88a1c96..1adfd90 100644
--- a/poky/meta/recipes-devtools/perl/perl_5.30.2.bb
+++ b/poky/meta/recipes-devtools/perl/perl_5.32.0.bb
@@ -8,7 +8,7 @@
 
 
 SRC_URI = "https://www.cpan.org/src/5.0/perl-${PV}.tar.gz;name=perl \
-           https://github.com/arsv/perl-cross/releases/download/1.3.2/perl-cross-1.3.2.tar.gz;name=perl-cross \
+           https://github.com/arsv/perl-cross/releases/download/1.3.4/perl-cross-1.3.4.tar.gz;name=perl-cross \
            file://perl-rdepends.txt \
            file://0001-configure_tool.sh-do-not-quote-the-argument-to-comma.patch \
            file://0001-ExtUtils-MakeMaker-add-LDFLAGS-when-linking-binary-m.patch \
@@ -18,9 +18,7 @@
            file://0001-perl-cross-add-LDFLAGS-when-linking-libperl.patch \
            file://perl-dynloader.patch \
            file://0001-configure_path.sh-do-not-hardcode-prefix-lib-as-libr.patch \
-           file://0001-enc2xs-Add-environment-variable-to-suppress-comments.patch \
            file://0002-Constant-Fix-up-shebang.patch \
-           file://0001-PATCH-perl-134117-Close-DATA-in-loc_tools.pl.patch \
            file://determinism.patch  \
            "
 SRC_URI_append_class-native = " \
@@ -30,8 +28,8 @@
            file://encodefix.patch \
 "
 
-SRC_URI[perl.sha256sum] = "66db7df8a91979eb576fac91743644da878244cf8ee152f02cd6f5cd7a731689"
-SRC_URI[perl-cross.sha256sum] = "defa12f0ad7be0b6c48b4f76e2fb5b37c1b37fbeb6e9ebe938279cd539a0c20c"
+SRC_URI[perl.sha256sum] = "efeb1ce1f10824190ad1cadbcccf6fdb8a5d37007d0100d2d9ae5f2b5900c0b4"
+SRC_URI[perl-cross.sha256sum] = "755aa0ca8141a942188a269564f86c3c82349f82c346ed5c992495d7f35138ba"
 
 S = "${WORKDIR}/perl-${PV}"
 
@@ -192,7 +190,6 @@
             ${PKGD}${bindir}/pod2text.perl \
             ${PKGD}${bindir}/pod2usage.perl \
             ${PKGD}${bindir}/podchecker.perl \
-            ${PKGD}${bindir}/podselect.perl \
             ${PKGD}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/CORE/config.h \
             ${PKGD}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/CORE/perl.h \
             ${PKGD}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/CORE/pp.h \
@@ -212,7 +209,7 @@
 ALTERNATIVE_PRIORITY = "100"
 
 ALTERNATIVE_${PN}-misc = "corelist cpan enc2xs encguess h2ph h2xs instmodsh json_pp libnetcfg \
-                     piconv pl2pm pod2html pod2man pod2text pod2usage podchecker podselect \
+                     piconv pl2pm pod2html pod2man pod2text pod2usage podchecker \
                      prove ptar ptardiff ptargrep shasum splain xsubpp zipdetails"
 ALTERNATIVE_LINK_NAME[corelist] = "${bindir}/corelist"
 ALTERNATIVE_LINK_NAME[cpan] = "${bindir}/cpan"
@@ -230,7 +227,6 @@
 ALTERNATIVE_LINK_NAME[pod2text] = "${bindir}/pod2text"
 ALTERNATIVE_LINK_NAME[pod2usage] = "${bindir}/pod2usage"
 ALTERNATIVE_LINK_NAME[podchecker] = "${bindir}/podchecker"
-ALTERNATIVE_LINK_NAME[podselect] = "${bindir}/podselect"
 ALTERNATIVE_LINK_NAME[prove] = "${bindir}/prove"
 ALTERNATIVE_LINK_NAME[ptar] = "${bindir}/ptar"
 ALTERNATIVE_LINK_NAME[ptardiff] = "${bindir}/ptardiff"
diff --git a/poky/meta/recipes-devtools/pseudo/files/0001-Add-statx.patch b/poky/meta/recipes-devtools/pseudo/files/0001-Add-statx.patch
deleted file mode 100644
index f01e699..0000000
--- a/poky/meta/recipes-devtools/pseudo/files/0001-Add-statx.patch
+++ /dev/null
@@ -1,106 +0,0 @@
-From 4e41a05de1f34ba00a68ca4f20fb49c4d1cbd2d0 Mon Sep 17 00:00:00 2001
-From: Richard Purdie <richard.purdie@linuxfoundation.org>
-Date: Wed, 6 Nov 2019 12:17:46 +0000
-Subject: [PATCH] Add statx glibc/syscall support
-
-Modern distros (e.g. fedora30) are starting to use the new statx() syscall through
-the newly exposed glibc wrapper function in software like coreutils (e.g. the ls
-command). Add support to intercept this to pseudo.
-
-Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-Upstream-Status: Submitted [Emailed to seebs]
----
- ports/linux/guts/statx.c | 48 ++++++++++++++++++++++++++++++++++++++++
- ports/linux/portdefs.h   |  1 +
- ports/linux/wrapfuncs.in |  1 +
- 3 files changed, 50 insertions(+)
- create mode 100644 ports/linux/guts/statx.c
-
-diff --git a/ports/linux/statx/guts/statx.c b/ports/linux/statx/guts/statx.c
-new file mode 100644
-index 0000000..a3259c4
---- /dev/null
-+++ b/ports/linux/statx/guts/statx.c
-@@ -0,0 +1,42 @@
-+/*
-+ * Copyright (c) 2019 Linux Foundation
-+ * Author: Richard Purdie
-+ *
-+ * SPDX-License-Identifier: LGPL-2.1-only
-+ *
-+ * int
-+ * statx(int dirfd, const char *pathname, int flags, unsigned int mask, struct statx *statxbuf) {
-+ *	int rc = -1;
-+ */
-+	pseudo_msg_t *msg;
-+	PSEUDO_STATBUF buf;
-+	int save_errno;
-+
-+	rc = real_statx(dirfd, pathname, flags, mask, statxbuf);
-+	save_errno = errno;
-+	if (rc == -1) {
-+		return rc;
-+	}
-+
-+	buf.st_uid = statxbuf->stx_uid;
-+	buf.st_gid = statxbuf->stx_gid;
-+	buf.st_dev = makedev(statxbuf->stx_dev_major, statxbuf->stx_dev_minor);
-+	buf.st_ino = statxbuf->stx_ino;
-+	buf.st_mode = statxbuf->stx_mode;
-+	buf.st_rdev = makedev(statxbuf->stx_rdev_major, statxbuf->stx_rdev_minor);
-+	buf.st_nlink = statxbuf->stx_nlink;
-+	msg = pseudo_client_op(OP_STAT, 0, -1, dirfd, pathname, &buf);
-+	if (msg && msg->result == RESULT_SUCCEED) {
-+		pseudo_debug(PDBGF_FILE, "statx(path %s), flags %o, stat rc %d, stat uid %o\n", pathname, flags, rc, statxbuf->stx_uid);
-+		statxbuf->stx_uid = msg->uid;
-+		statxbuf->stx_gid = msg->gid;
-+		statxbuf->stx_mode = msg->mode;
-+		statxbuf->stx_rdev_major = major(msg->rdev);
-+		statxbuf->stx_rdev_minor = minor(msg->rdev);
-+	} else {
-+		pseudo_debug(PDBGF_FILE, "statx(path %s) failed, flags %o, stat rc %d, stat uid %o\n", pathname, flags, rc, statxbuf->stx_uid);
-+	}
-+	errno = save_errno;
-+/*	return rc;
-+ * }
-+ */
-diff --git a/ports/linux/statx/portdefs.h b/ports/linux/statx/portdefs.h
-new file mode 100644
-index 0000000..bf934dc
---- /dev/null
-+++ b/ports/linux/statx/portdefs.h
-@@ -0,0 +1,6 @@
-+/*
-+ * SPDX-License-Identifier: LGPL-2.1-only
-+ *
-+ */
-+#include <sys/stat.h>
-+#include <sys/sysmacros.h>
-diff --git a/ports/linux/statx/wrapfuncs.in b/ports/linux/statx/wrapfuncs.in
-new file mode 100644
-index 0000000..c9cd4c3
---- /dev/null
-+++ b/ports/linux/statx/wrapfuncs.in
-@@ -0,0 +1 @@
-+int statx(int dirfd, const char *pathname, int flags, unsigned int mask, struct statx *statxbuf);
-diff --git a/ports/linux/subports b/ports/linux/subports
-index a29044a..49081bf 100755
---- a/ports/linux/subports
-+++ b/ports/linux/subports
-@@ -54,3 +54,13 @@ else
- fi
- rm -f dummy.c dummy.o
- 
-+cat > dummy.c <<EOF
-+#define _GNU_SOURCE
-+#include <sys/stat.h>
-+struct statx x;
-+EOF
-+if ${CC} -c -o dummy.o dummy.c >/dev/null 2>&1; then
-+	echo "linux/statx"
-+fi
-+rm -f dummy.c dummy.o
-+
--- 
-2.17.1
-
diff --git a/poky/meta/recipes-devtools/pseudo/files/0001-maketables-wrappers-use-Python-3.patch b/poky/meta/recipes-devtools/pseudo/files/0001-maketables-wrappers-use-Python-3.patch
deleted file mode 100644
index b2dbdad..0000000
--- a/poky/meta/recipes-devtools/pseudo/files/0001-maketables-wrappers-use-Python-3.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From dbd34b1b2af8fbf44a0d5c37abe3448405819823 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Wed, 28 Aug 2019 19:20:29 +0200
-Subject: [PATCH] maketables/wrappers: use Python 3
-
-Changelog indicates they should be compatible.
-
-Upstream-Status: Pending
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- maketables   | 2 +-
- makewrappers | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/maketables b/maketables
-index a211772..52285e2 100755
---- a/maketables
-+++ b/maketables
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python3
- #
- # Copyright (c) 2008-2010, 2013 Wind River Systems, Inc.
- #
-diff --git a/makewrappers b/makewrappers
-index e84607d..b34f7eb 100755
---- a/makewrappers
-+++ b/makewrappers
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python3
- #
- # Copyright (c) 2008-2011,2013 Wind River Systems, Inc.
- #
diff --git a/poky/meta/recipes-devtools/pseudo/files/0001-pseudo-On-a-DB-fixup-remove-files-that-do-not-exist-.patch b/poky/meta/recipes-devtools/pseudo/files/0001-pseudo-On-a-DB-fixup-remove-files-that-do-not-exist-.patch
deleted file mode 100644
index 9c49e33..0000000
--- a/poky/meta/recipes-devtools/pseudo/files/0001-pseudo-On-a-DB-fixup-remove-files-that-do-not-exist-.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From b0902e36108b49e6bc88d6b251cc2f8cffcd5a13 Mon Sep 17 00:00:00 2001
-From: Ricardo Ribalda <ricardo@ribalda.com>
-Date: Sun, 5 Apr 2020 11:40:30 +0000
-Subject: [PATCH] pseudo: On a DB fixup remove files that do not exist anymore
-
-If the user decides to fix a database, remove the files that do not
-exist anymore.
-If only DB test is selected do not change the behaviour (return error).
-
-Signed-off-by: Ricardo Ribalda <ricardo@ribalda.com>
-Upstream-Status: Submitted [https://lists.openembedded.org/g/openembedded-core/message/137045]
----
- pseudo.c | 13 ++++++++++---
- 1 file changed, 10 insertions(+), 3 deletions(-)
-
-diff --git a/pseudo.c b/pseudo.c
-index 0f5850e..98e5b0c 100644
---- a/pseudo.c
-+++ b/pseudo.c
-@@ -1087,9 +1087,15 @@ pseudo_db_check(int fix) {
- 			int fixup_needed = 0;
- 			pseudo_debug(PDBGF_DB, "Checking <%s>\n", m->path);
- 			if (lstat(m->path, &buf)) {
--				errors = EXIT_FAILURE;
--				pseudo_diag("can't stat <%s>\n", m->path);
--				continue;
-+				if (!fix) {
-+					pseudo_diag("can't stat <%s>\n", m->path);
-+					errors = EXIT_FAILURE;
-+					continue;
-+				} else {
-+					pseudo_debug(PDBGF_DB, "can't stat <%s>\n", m->path);
-+					fixup_needed = 2;
-+					goto do_fixup;
-+				}
- 			}
- 			/* can't check for device type mismatches, uid/gid, or
- 			 * permissions, because those are the very things we
-@@ -1125,6 +1131,7 @@ pseudo_db_check(int fix) {
- 					S_ISDIR(m->mode));
- 				fixup_needed = 2;
- 			}
-+			do_fixup:
- 			if (fixup_needed) {
- 				/* in fixup mode, either delete (mismatches) or
- 				 * correct (dev/ino).
--- 
-2.21.1
-
diff --git a/poky/meta/recipes-devtools/pseudo/files/0001-pseudo_ipc.h-Fix-enum-typedef.patch b/poky/meta/recipes-devtools/pseudo/files/0001-pseudo_ipc.h-Fix-enum-typedef.patch
deleted file mode 100644
index 33d4ef3..0000000
--- a/poky/meta/recipes-devtools/pseudo/files/0001-pseudo_ipc.h-Fix-enum-typedef.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From a491aececfedf7313d29b80d626e0964fb533548 Mon Sep 17 00:00:00 2001
-From: Jacob Kroon <jacob.kroon@gmail.com>
-Date: Sun, 3 May 2020 06:24:03 +0200
-Subject: [PATCH] pseudo_ipc.h: Fix enum typedef
-
-'pseudo_access_t' is a type, so use typedef.
-
-Fixes building pseudo with gcc 10 where -fno-common is the default.
-
-Signed-off-by: Jacob Kroon <jacob.kroon@gmail.com>
-Upstream-Status: Submitted [https://lists.openembedded.org/g/openembedded-core/message/137758]
----
- pseudo_ipc.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/pseudo_ipc.h b/pseudo_ipc.h
-index caeae5c..d945257 100644
---- a/pseudo_ipc.h
-+++ b/pseudo_ipc.h
-@@ -29,7 +29,7 @@ typedef struct {
- 	char path[];
- } pseudo_msg_t;
- 
--enum {
-+typedef enum {
- 	PSA_EXEC = 1,
- 	PSA_WRITE = (PSA_EXEC << 1),
- 	PSA_READ = (PSA_WRITE << 1),
--- 
-2.26.2
-
diff --git a/poky/meta/recipes-devtools/pseudo/files/0001-realpath.c-Remove-trailing-slashes.patch b/poky/meta/recipes-devtools/pseudo/files/0001-realpath.c-Remove-trailing-slashes.patch
deleted file mode 100644
index 17829ef..0000000
--- a/poky/meta/recipes-devtools/pseudo/files/0001-realpath.c-Remove-trailing-slashes.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-From 86c9a5610e3333ad6aaadb1ac1e8b5a2c948d119 Mon Sep 17 00:00:00 2001
-From: Robert Yang <liezhi.yang@windriver.com>
-Date: Mon, 25 Nov 2019 18:46:45 +0800
-Subject: [PATCH] realpath.c: Remove trailing slashes
-
-Linux system's realpath() remove trailing slashes, but pseudo's doesn't, need
-make them identical.
-
-E.g., the following code (rel.c) prints '/tmp' with system's realpath, but
-pseudo's realpath prints '/tmp/':
-
-    #include <stdio.h>
-    #include <limits.h>
-    #include <stdlib.h>
-
-    int main() {
-        char out[PATH_MAX];
-        printf("%s\n", realpath("/tmp/", out));
-        return 0;
-    }
-
-$ bitbake base-passwd -cdevshell # For pseudo env
-$ gcc rel.c
-$ ./a.out
-/tmp/ (but should be /tmp)
-
-This patch fixes the problem.
-
-Upstream-Status: Submitted [https://lists.yoctoproject.org/g/poky/message/11879]
-
-Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
----
- ports/unix/guts/realpath.c |    9 ++++++++-
- 1 file changed, 8 insertions(+), 1 deletion(-)
-
-diff --git a/ports/unix/guts/realpath.c b/ports/unix/guts/realpath.c
---- a/ports/unix/guts/realpath.c
-+++ b/ports/unix/guts/realpath.c
-@@ -14,7 +14,14 @@
- 		errno = ENAMETOOLONG;
- 		return NULL;
- 	}
--	if ((len = strlen(rname)) >= pseudo_sys_path_max()) {
-+		len = strlen(rname);
-+		char *ep = rname + len - 1;
-+		while (ep > rname && *ep == '/') {
-+			--len;
-+			*(ep--) = '\0';
-+		}
-+
-+		if (len >= pseudo_sys_path_max()) {
- 		errno = ENAMETOOLONG;
- 		return NULL;
- 	}
--- 
-2.7.4
-
diff --git a/poky/meta/recipes-devtools/pseudo/files/0006-xattr-adjust-for-attr-2.4.48-release.patch b/poky/meta/recipes-devtools/pseudo/files/0006-xattr-adjust-for-attr-2.4.48-release.patch
deleted file mode 100644
index 161357d..0000000
--- a/poky/meta/recipes-devtools/pseudo/files/0006-xattr-adjust-for-attr-2.4.48-release.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From 93d95ed2eaedcca110c214e1fe3f8896b1f6f853 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Tue, 17 Dec 2019 20:24:27 +0100
-Subject: [PATCH] xattr: adjust for attr 2.4.48 release
-
-Latest versions of attr have removed the xattr.h header,
-with the rationale that libc is providing the same wrappers.
-
-attr/attributes.h is providing the ENOATTR definition.
-
-Upstream-Status: Pending
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- ports/linux/subports         | 5 +++--
- ports/linux/xattr/portdefs.h | 3 ++-
- 2 files changed, 5 insertions(+), 3 deletions(-)
-
-diff --git a/ports/linux/subports b/ports/linux/subports
-index 2c43ac9..740ec83 100755
---- a/ports/linux/subports
-+++ b/ports/linux/subports
-@@ -29,11 +29,12 @@ fi
- if	$port_xattr; then
- 	cat > dummy.c <<EOF
- #include <sys/types.h>
--#include <attr/xattr.h>
-+#include <sys/xattr.h>
-+#include <attr/attributes.h>
- int i;
- EOF
- 	if ! ${CC} -c -o dummy.o dummy.c >/dev/null 2>&1; then
--		echo >&2 "Warning: Can't compile trivial program using <attr/xattr.h>".
-+		echo >&2 "Warning: Can't compile trivial program using <attr/attributes.h>".
- 		echo >&2 "         xattr support will require that header."
- 	fi
- 	echo "linux/xattr"
-diff --git a/ports/linux/xattr/portdefs.h b/ports/linux/xattr/portdefs.h
-index 56cd3ca..068d39a 100644
---- a/ports/linux/xattr/portdefs.h
-+++ b/ports/linux/xattr/portdefs.h
-@@ -2,5 +2,6 @@
-  * SPDX-License-Identifier: LGPL-2.1-only
-  *
-  */
--#include <attr/xattr.h>
-+#include <sys/xattr.h>
-+#include <attr/attributes.h>
- #include <stdint.h>
diff --git a/poky/meta/recipes-devtools/pseudo/files/moreretries.patch b/poky/meta/recipes-devtools/pseudo/files/moreretries.patch
deleted file mode 100644
index adea266..0000000
--- a/poky/meta/recipes-devtools/pseudo/files/moreretries.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-Increase the number of retries in pseudo due to occasional slow
-server shutdowns.
-
-Upstream-Status: Pending
-RP 2016/2/28
-
-Index: git/pseudo_client.c
-===================================================================
---- git.orig/pseudo_client.c
-+++ git/pseudo_client.c
-@@ -1282,7 +1282,7 @@ pseudo_client_setup(void) {
- 	}
- }
- 
--#define PSEUDO_RETRIES 20
-+#define PSEUDO_RETRIES 250
- static pseudo_msg_t *
- pseudo_client_request(pseudo_msg_t *msg, size_t len, const char *path) {
- 	pseudo_msg_t *response = 0;
diff --git a/poky/meta/recipes-devtools/pseudo/files/seccomp.patch b/poky/meta/recipes-devtools/pseudo/files/seccomp.patch
deleted file mode 100644
index 283f997..0000000
--- a/poky/meta/recipes-devtools/pseudo/files/seccomp.patch
+++ /dev/null
@@ -1,137 +0,0 @@
-Pseudo changes the syscall access patterns which makes it incompatible with
-seccomp. Therefore intercept the seccomp syscall and alter it, pretending that
-seccomp was setup when in fact we do nothing. If we error as unsupported, 
-utilities like file will exit with errors so we can't just disable it.
-
-Upstream-Status: Pending
-RP 2020/4/3
-Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-
-It fails to compile pseudo-native on centos 7:
-
-| ports/linux/pseudo_wrappers.c: In function ‘prctl’:
-| ports/linux/pseudo_wrappers.c:129:14: error: ‘SECCOMP_SET_MODE_FILTER’ undeclared (first use in this function)
-|    if (cmd == SECCOMP_SET_MODE_FILTER) {
-|               ^
-
-Add macro guard for seccomp to avoid the failure.
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
-
-Index: git/ports/linux/pseudo_wrappers.c
-===================================================================
---- git.orig/ports/linux/pseudo_wrappers.c
-+++ git/ports/linux/pseudo_wrappers.c
-@@ -57,6 +57,7 @@ int pseudo_capset(cap_user_header_t hdrp
- long
- syscall(long number, ...) {
- 	long rc = -1;
-+	va_list ap;
- 
- 	if (!pseudo_check_wrappers() || !real_syscall) {
- 		/* rc was initialized to the "failure" value */
-@@ -77,6 +78,20 @@ syscall(long number, ...) {
- 	(void) number;
- #endif
- 
-+#ifdef SYS_seccomp
-+	/* pseudo and seccomp are incompatible as pseudo uses different syscalls
-+	 * so pretend to enable seccomp but really do nothing */
-+	if (number == SYS_seccomp) {
-+		unsigned long cmd;
-+		va_start(ap, number);
-+		cmd = va_arg(ap, unsigned long);
-+		va_end(ap);
-+		if (cmd == SECCOMP_SET_MODE_FILTER) {
-+		    return 0;
-+		}
-+	}
-+#endif
-+
- 	/* gcc magic to attempt to just pass these args to syscall. we have to
- 	 * guess about the number of args; the docs discuss calling conventions
- 	 * up to 7, so let's try that?
-@@ -92,3 +108,44 @@ static long wrap_syscall(long nr, va_lis
- 	(void) ap;
- 	return -1;
- }
-+
-+int
-+prctl(int option, ...) {
-+	int rc = -1;
-+	va_list ap;
-+
-+	if (!pseudo_check_wrappers() || !real_prctl) {
-+		/* rc was initialized to the "failure" value */
-+		pseudo_enosys("prctl");
-+		return rc;
-+	}
-+
-+#ifdef SECCOMP_SET_MODE_FILTER
-+	/* pseudo and seccomp are incompatible as pseudo uses different syscalls
-+	 * so pretend to enable seccomp but really do nothing */
-+	if (option == PR_SET_SECCOMP) {
-+		unsigned long cmd;
-+		va_start(ap, option);
-+		cmd = va_arg(ap, unsigned long);
-+		va_end(ap);
-+		if (cmd == SECCOMP_SET_MODE_FILTER) {
-+		    return 0;
-+		}
-+	}
-+#endif
-+
-+	/* gcc magic to attempt to just pass these args to prctl. we have to
-+	 * guess about the number of args; the docs discuss calling conventions
-+	 * up to 5, so let's try that?
-+	 */
-+	void *res = __builtin_apply((void (*)()) real_prctl, __builtin_apply_args(), sizeof(long) * 5);
-+	__builtin_return(res);
-+}
-+
-+/* unused.
-+ */
-+static int wrap_prctl(int option, va_list ap) {
-+	(void) option;
-+	(void) ap;
-+	return -1;
-+}
-Index: git/ports/linux/guts/prctl.c
-===================================================================
---- /dev/null
-+++ git/ports/linux/guts/prctl.c
-@@ -0,0 +1,15 @@
-+/*
-+ * Copyright (c) 2020 Richard Purdie
-+ *
-+ * SPDX-License-Identifier: LGPL-2.1-only
-+ *
-+ * int prctl(int option, ...)
-+ *	int rc = -1;
-+ */
-+
-+	/* we should never get here, prctl is hand-wrapped */
-+	rc = -1;
-+
-+/*	return rc;
-+ * }
-+ */
-Index: git/ports/linux/portdefs.h
-===================================================================
---- git.orig/ports/linux/portdefs.h
-+++ git/ports/linux/portdefs.h
-@@ -32,3 +32,5 @@ GLIBC_COMPAT_SYMBOL(memcpy,2.0);
- 
- #include <linux/capability.h>
- #include <sys/syscall.h>
-+#include <sys/prctl.h>
-+#include <linux/seccomp.h>
-Index: git/ports/linux/wrapfuncs.in
-===================================================================
---- git.orig/ports/linux/wrapfuncs.in
-+++ git/ports/linux/wrapfuncs.in
-@@ -56,3 +56,4 @@ int getgrent_r(struct group *gbuf, char
- int capset(cap_user_header_t hdrp, const cap_user_data_t datap); /* real_func=pseudo_capset */
- long syscall(long nr, ...); /* hand_wrapped=1 */
- int renameat2(int olddirfd, const char *oldpath, int newdirfd, const char *newpath, unsigned int flags); /* flags=AT_SYMLINK_NOFOLLOW */
-+int prctl(int option, ...); /* hand_wrapped=1 */
diff --git a/poky/meta/recipes-devtools/pseudo/files/toomanyfiles.patch b/poky/meta/recipes-devtools/pseudo/files/toomanyfiles.patch
deleted file mode 100644
index bda7e4b..0000000
--- a/poky/meta/recipes-devtools/pseudo/files/toomanyfiles.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-From b0b25fbc041a148d1de09f5a6503cd95973ec77c Mon Sep 17 00:00:00 2001
-From: Richard Purdie <richard.purdie@linuxfoundation.org>
-Date: Tue, 25 Apr 2017 15:25:54 +0100
-Subject: [PATCH 3/3] pseudo: Handle too many files deadlock
-
-Currently if we max out the maximum number of files, pseudo can deadlock, unable to
-accept new connections yet unable to move forward and unblock the other processes
-waiting either.
-
-Rather than hang, when this happens, close out inactive connections, allowing us
-to accept the new ones. The disconnected clients will simply reconnect. There is
-a small risk of data loss here sadly but its better than hanging.
-
-RP
-2017/4/25
-
-Upstream-Status: Submitted [Peter is aware of the issue]
-
----
- pseudo_server.c | 10 ++++++++++
- 1 file changed, 10 insertions(+)
-
-diff --git a/pseudo_server.c b/pseudo_server.c
-index dac3258..15a3e8f 100644
---- a/pseudo_server.c
-+++ b/pseudo_server.c
-@@ -802,6 +802,7 @@ pseudo_server_loop(void) {
- 	struct sigaction eat_usr2 = {
- 		.sa_handler = set_do_list_clients
- 	};
-+	int hitmaxfiles;
- 
- 	clients = malloc(16 * sizeof(*clients));
- 
-@@ -820,6 +821,7 @@ pseudo_server_loop(void) {
- 	active_clients = 1;
- 	max_clients = 16;
- 	highest_client = 0;
-+	hitmaxfiles = 0;
- 
- 	pseudo_debug(PDBGF_SERVER, "server loop started.\n");
- 	if (listen_fd < 0) {
-@@ -878,10 +880,15 @@ pseudo_server_loop(void) {
- 					} else {
- 						serve_client(i);
- 					}
-+				} else if (hitmaxfiles) {
-+					/* Only close one per loop iteration in the interests of caution */
-+					close_client(i);
-+					hitmaxfiles = 0;
- 				}
- 				if (die_forcefully)
- 					break;
- 			}
-+			hitmaxfiles = 0;
- 			if (!die_forcefully && 
- 			    (FD_ISSET(clients[0].fd, &events) ||
- 			     FD_ISSET(clients[0].fd, &reads))) {
-@@ -903,6 +910,9 @@ pseudo_server_loop(void) {
- 					 */
- 					pseudo_server_timeout = DEFAULT_PSEUDO_SERVER_TIMEOUT;
- 					die_peacefully = 0;
-+				} else if (errno == EMFILE) {
-+					hitmaxfiles = 1;
-+					pseudo_debug(PDBGF_SERVER, "Hit max open files, dropping a client.\n");
- 				}
- 			}
- 			pseudo_debug(PDBGF_SERVER, "server loop complete [%d clients left]\n", active_clients);
--- 
-2.15.1
-
diff --git a/poky/meta/recipes-devtools/pseudo/files/xattr_version.patch b/poky/meta/recipes-devtools/pseudo/files/xattr_version.patch
deleted file mode 100644
index a8b14bd..0000000
--- a/poky/meta/recipes-devtools/pseudo/files/xattr_version.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-On a tumbleweed system, "install X Y" was showing the error:
-
-pseudo: ENOSYS for 'fsetxattr'.
-
-which was being caused by dlsym() for that function returning NULL. This
-appears to be due to it finding an unresolved symbol in libacl for this 
-symbol in libattr. It hasn't been resolved so its NULL. dlerror() returns
-nothing since this is a valid symbol entry, its just not the one we want.
-
-We can add the glibc version string for the symbol we actually want so we get
-that version rather than the libattr/libacl one.
-
-To quote libattr:
-"""
- These dumb wrappers are for backwards compatibility only.
- Actual syscall wrappers are long gone to libc.
-"""
-and they are simply wrappers around the libc version so our attaching
-to the libc versions should intercept any accesses via these too.
-
-RP 2020/06/22
-Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org
-Upstream-Status: Pending [discussed with seebs on irc and appears the correct fix]
-
-
-Index: git/ports/linux/xattr/wrapfuncs.in
-===================================================================
---- git.orig/ports/linux/xattr/wrapfuncs.in
-+++ git/ports/linux/xattr/wrapfuncs.in
-@@ -1,12 +1,12 @@
--ssize_t getxattr(const char *path, const char *name, void *value, size_t size); /* flags=0 */
--ssize_t lgetxattr(const char *path, const char *name, void *value, size_t size); /* flags=AT_SYMLINK_NOFOLLOW */
--ssize_t fgetxattr(int filedes, const char *name, void *value, size_t size);
--int setxattr(const char *path, const char *name, const void *value, size_t size, int xflags); /* flags=0 */
--int lsetxattr(const char *path, const char *name, const void *value, size_t size, int xflags); /* flags=AT_SYMLINK_NOFOLLOW */
--int fsetxattr(int filedes, const char *name, const void *value, size_t size, int xflags);
--ssize_t listxattr(const char *path, char *list, size_t size); /* flags=0 */
--ssize_t llistxattr(const char *path, char *list, size_t size); /* flags=AT_SYMLINK_NOFOLLOW */
--ssize_t flistxattr(int filedes, char *list, size_t size);
--int removexattr(const char *path, const char *name); /* flags=0 */
--int lremovexattr(const char *path, const char *name); /* flags=AT_SYMLINK_NOFOLLOW */
--int fremovexattr(int filedes, const char *name);
-+ssize_t getxattr(const char *path, const char *name, void *value, size_t size); /* flags=0, version="GLIBC_2.3" */ 
-+ssize_t lgetxattr(const char *path, const char *name, void *value, size_t size); /* flags=AT_SYMLINK_NOFOLLOW, version="GLIBC_2.3" */
-+ssize_t fgetxattr(int filedes, const char *name, void *value, size_t size); /* version="GLIBC_2.3" */
-+int setxattr(const char *path, const char *name, const void *value, size_t size, int xflags); /* flags=0, version="GLIBC_2.3" */
-+int lsetxattr(const char *path, const char *name, const void *value, size_t size, int xflags); /* flags=AT_SYMLINK_NOFOLLOW, version="GLIBC_2.3" */
-+int fsetxattr(int filedes, const char *name, const void *value, size_t size, int xflags); /* version="GLIBC_2.3" */
-+ssize_t listxattr(const char *path, char *list, size_t size); /* flags=0, version="GLIBC_2.3" */
-+ssize_t llistxattr(const char *path, char *list, size_t size); /* flags=AT_SYMLINK_NOFOLLOW, version="GLIBC_2.3" */
-+ssize_t flistxattr(int filedes, char *list, size_t size); /* version="GLIBC_2.3" */
-+int removexattr(const char *path, const char *name); /* flags=0, version="GLIBC_2.3" */
-+int lremovexattr(const char *path, const char *name); /* flags=AT_SYMLINK_NOFOLLOW, version="GLIBC_2.3" */
-+int fremovexattr(int filedes, const char *name); /* version="GLIBC_2.3" */
diff --git a/poky/meta/recipes-devtools/pseudo/pseudo_git.bb b/poky/meta/recipes-devtools/pseudo/pseudo_git.bb
index 419bac1..fcadfd9 100644
--- a/poky/meta/recipes-devtools/pseudo/pseudo_git.bb
+++ b/poky/meta/recipes-devtools/pseudo/pseudo_git.bb
@@ -1,22 +1,12 @@
 require pseudo.inc
 
-SRC_URI = "git://git.yoctoproject.org/pseudo \
+SRC_URI = "git://git.yoctoproject.org/pseudo;branch=oe-core \
            file://0001-configure-Prune-PIE-flags.patch \
            file://fallback-passwd \
            file://fallback-group \
-           file://moreretries.patch \
-           file://toomanyfiles.patch \
-           file://0001-maketables-wrappers-use-Python-3.patch \
-           file://0001-Add-statx.patch \
-           file://0001-realpath.c-Remove-trailing-slashes.patch \
-           file://0006-xattr-adjust-for-attr-2.4.48-release.patch \
-           file://seccomp.patch \
-           file://0001-pseudo-On-a-DB-fixup-remove-files-that-do-not-exist-.patch \
-           file://0001-pseudo_ipc.h-Fix-enum-typedef.patch \
-           file://xattr_version.patch \
            "
 
-SRCREV = "060058bb29f70b244e685b3c704eb0641b736f73"
+SRCREV = "067950bd9415fafcafb2bf32c0e10df4f2ac936c"
 S = "${WORKDIR}/git"
 PV = "1.9.0+git${SRCPV}"
 
diff --git a/poky/meta/recipes-devtools/python-numpy/files/0001-Don-t-search-usr-and-so-on-for-libraries-by-default-.patch b/poky/meta/recipes-devtools/python-numpy/files/0001-Don-t-search-usr-and-so-on-for-libraries-by-default-.patch
index 98a9705..cdb6a47 100644
--- a/poky/meta/recipes-devtools/python-numpy/files/0001-Don-t-search-usr-and-so-on-for-libraries-by-default-.patch
+++ b/poky/meta/recipes-devtools/python-numpy/files/0001-Don-t-search-usr-and-so-on-for-libraries-by-default-.patch
@@ -1,4 +1,4 @@
-From 672a75c8417ce08db9e31fc415ec445479231d5a Mon Sep 17 00:00:00 2001
+From 27f6687e49bf555fc494d2f14bae6ecd0fa30f14 Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Thu, 10 Dec 2015 13:20:30 +0200
 Subject: [PATCH] Don't search /usr and so on for libraries by default to
@@ -14,11 +14,11 @@
  1 file changed, 5 insertions(+), 37 deletions(-)
 
 diff --git a/numpy/distutils/system_info.py b/numpy/distutils/system_info.py
-index ba2b1f4..f94dce1 100644
+index 3a6a7b2..6c2c3da 100644
 --- a/numpy/distutils/system_info.py
 +++ b/numpy/distutils/system_info.py
-@@ -278,45 +278,13 @@ if sys.platform == 'win32':
-             add_system_root(os.path.join(conda_dir, 'Library'))
+@@ -309,45 +309,13 @@ if sys.platform == 'win32':
+         add_system_root(os.path.join(conda_dir, 'Library'))
  
  else:
 -    default_lib_dirs = libpaths(['/usr/local/lib', '/opt/lib', '/usr/lib',
@@ -68,3 +68,6 @@
  
  if os.path.join(sys.prefix, 'lib') not in default_lib_dirs:
      default_lib_dirs.insert(0, os.path.join(sys.prefix, 'lib'))
+-- 
+2.17.1
+
diff --git a/poky/meta/recipes-devtools/python-numpy/files/0001-convert-shebang-from-python-to-python3.patch b/poky/meta/recipes-devtools/python-numpy/files/0001-convert-shebang-from-python-to-python3.patch
deleted file mode 100644
index a416244..0000000
--- a/poky/meta/recipes-devtools/python-numpy/files/0001-convert-shebang-from-python-to-python3.patch
+++ /dev/null
@@ -1,555 +0,0 @@
-From 00848d760fa3999e2bed759b585452b35d65d6ec Mon Sep 17 00:00:00 2001
-From: Changqing Li <changqing.li@windriver.com>
-Date: Thu, 5 Mar 2020 12:02:35 +0800
-Subject: [PATCH] convert shebang from python to python3
-
-Upstream-Status: Backport
-[https://github.com/numpy/numpy/commit/583901a074dc65145d3d6136ba7dcd02634d680b]
-
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
-
----
- doc/DISTUTILS.rst.txt                                     | 2 +-
- doc/cdoc/numpyfilter.py                                   | 2 +-
- doc/postprocess.py                                        | 2 +-
- doc/summarize.py                                          | 2 +-
- numpy/distutils/conv_template.py                          | 2 +-
- numpy/distutils/cpuinfo.py                                | 2 +-
- numpy/distutils/from_template.py                          | 2 +-
- numpy/distutils/setup.py                                  | 2 +-
- numpy/distutils/system_info.py                            | 2 +-
- numpy/f2py/__init__.py                                    | 2 +-
- numpy/f2py/auxfuncs.py                                    | 2 +-
- numpy/f2py/capi_maps.py                                   | 2 +-
- numpy/f2py/cb_rules.py                                    | 2 +-
- numpy/f2py/cfuncs.py                                      | 2 +-
- numpy/f2py/common_rules.py                                | 2 +-
- numpy/f2py/crackfortran.py                                | 2 +-
- numpy/f2py/diagnose.py                                    | 2 +-
- numpy/f2py/f2py2e.py                                      | 2 +-
- numpy/f2py/f90mod_rules.py                                | 2 +-
- numpy/f2py/func2subr.py                                   | 2 +-
- numpy/f2py/rules.py                                       | 2 +-
- numpy/f2py/setup.py                                       | 2 +-
- numpy/f2py/use_rules.py                                   | 2 +-
- numpy/linalg/lapack_lite/clapack_scrub.py                 | 2 +-
- numpy/linalg/lapack_lite/make_lite.py                     | 2 +-
- numpy/ma/bench.py                                         | 2 +-
- numpy/ma/setup.py                                         | 2 +-
- numpy/matrixlib/setup.py                                  | 2 +-
- numpy/random/_examples/cython/extending.pyx               | 2 +-
- numpy/random/_examples/cython/extending_distributions.pyx | 2 +-
- numpy/setup.py                                            | 2 +-
- numpy/testing/print_coercion_tables.py                    | 2 +-
- numpy/testing/setup.py                                    | 2 +-
- runtests.py                                               | 2 +-
- setup.py                                                  | 2 +-
- tools/c_coverage/c_coverage_report.py                     | 2 +-
- tools/changelog.py                                        | 2 +-
- tools/ci/push_docs_to_repo.py                             | 2 +-
- tools/find_deprecated_escaped_characters.py               | 2 +-
- tools/refguide_check.py                                   | 2 +-
- tools/swig/test/setup.py                                  | 2 +-
- tools/swig/test/testArray.py                              | 2 +-
- tools/swig/test/testFarray.py                             | 2 +-
- tools/swig/test/testFlat.py                               | 2 +-
- tools/swig/test/testFortran.py                            | 2 +-
- tools/swig/test/testMatrix.py                             | 2 +-
- tools/swig/test/testSuperTensor.py                        | 2 +-
- tools/swig/test/testTensor.py                             | 2 +-
- tools/swig/test/testVector.py                             | 2 +-
- 49 files changed, 49 insertions(+), 49 deletions(-)
-
-diff --git a/doc/DISTUTILS.rst.txt b/doc/DISTUTILS.rst.txt
-index bcef825..bc1700f 100644
---- a/doc/DISTUTILS.rst.txt
-+++ b/doc/DISTUTILS.rst.txt
-@@ -59,7 +59,7 @@ SciPy pure Python package example
- 
- Below is an example of a minimal ``setup.py`` file for a pure SciPy package::
- 
--  #!/usr/bin/env python
-+  #!/usr/bin/env python3
-   def configuration(parent_package='',top_path=None):
-       from numpy.distutils.misc_util import Configuration
-       config = Configuration('mypackage',parent_package,top_path)
-diff --git a/doc/cdoc/numpyfilter.py b/doc/cdoc/numpyfilter.py
-index 0ec5069..067bd36 100755
---- a/doc/cdoc/numpyfilter.py
-+++ b/doc/cdoc/numpyfilter.py
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python3
- """
- numpyfilter.py INPUTFILE
- 
-diff --git a/doc/postprocess.py b/doc/postprocess.py
-index 2e50c11..1be6f39 100755
---- a/doc/postprocess.py
-+++ b/doc/postprocess.py
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python3
- """
- %prog MODE FILES...
- 
-diff --git a/doc/summarize.py b/doc/summarize.py
-index cfce271..563af02 100755
---- a/doc/summarize.py
-+++ b/doc/summarize.py
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python3
- """
- summarize.py
- 
-diff --git a/numpy/distutils/conv_template.py b/numpy/distutils/conv_template.py
-index 3bcb7b8..88432c8 100644
---- a/numpy/distutils/conv_template.py
-+++ b/numpy/distutils/conv_template.py
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python3
- """
- takes templated file .xxx.src and produces .xxx file  where .xxx is
- .i or .c or .h, using the following template rules
-diff --git a/numpy/distutils/cpuinfo.py b/numpy/distutils/cpuinfo.py
-index bc97283..87502a9 100644
---- a/numpy/distutils/cpuinfo.py
-+++ b/numpy/distutils/cpuinfo.py
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python3
- """
- cpuinfo
- 
-diff --git a/numpy/distutils/from_template.py b/numpy/distutils/from_template.py
-index c5c1163..af75971 100644
---- a/numpy/distutils/from_template.py
-+++ b/numpy/distutils/from_template.py
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python3
- """
- 
- process_file(filename)
-diff --git a/numpy/distutils/setup.py b/numpy/distutils/setup.py
-index 82a53bd..646921b 100644
---- a/numpy/distutils/setup.py
-+++ b/numpy/distutils/setup.py
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python3
- from __future__ import division, print_function
- 
- def configuration(parent_package='',top_path=None):
-diff --git a/numpy/distutils/system_info.py b/numpy/distutils/system_info.py
-index 4f340b6..189081d 100644
---- a/numpy/distutils/system_info.py
-+++ b/numpy/distutils/system_info.py
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python3
- """
- This file defines a set of system_info classes for getting
- information about various resources (libraries, library directories,
-diff --git a/numpy/f2py/__init__.py b/numpy/f2py/__init__.py
-index 42e3632..09a3657 100644
---- a/numpy/f2py/__init__.py
-+++ b/numpy/f2py/__init__.py
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python3
- """Fortran to Python Interface Generator.
- 
- """
-diff --git a/numpy/f2py/auxfuncs.py b/numpy/f2py/auxfuncs.py
-index 404bdbd..d23d959 100644
---- a/numpy/f2py/auxfuncs.py
-+++ b/numpy/f2py/auxfuncs.py
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python3
- """
- 
- Auxiliary functions for f2py2e.
-diff --git a/numpy/f2py/capi_maps.py b/numpy/f2py/capi_maps.py
-index ce79f68..e5d3fd2 100644
---- a/numpy/f2py/capi_maps.py
-+++ b/numpy/f2py/capi_maps.py
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python3
- """
- 
- Copyright 1999,2000 Pearu Peterson all rights reserved,
-diff --git a/numpy/f2py/cb_rules.py b/numpy/f2py/cb_rules.py
-index 183d7c2..93e93fe 100644
---- a/numpy/f2py/cb_rules.py
-+++ b/numpy/f2py/cb_rules.py
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python3
- """
- 
- Build call-back mechanism for f2py2e.
-diff --git a/numpy/f2py/cfuncs.py b/numpy/f2py/cfuncs.py
-index ccb7b3a..cdb783d 100644
---- a/numpy/f2py/cfuncs.py
-+++ b/numpy/f2py/cfuncs.py
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python3
- """
- 
- C declarations, CPP macros, and C functions for f2py2e.
-diff --git a/numpy/f2py/common_rules.py b/numpy/f2py/common_rules.py
-index f61d881..fe510bf 100644
---- a/numpy/f2py/common_rules.py
-+++ b/numpy/f2py/common_rules.py
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python3
- """
- 
- Build common block mechanism for f2py2e.
-diff --git a/numpy/f2py/crackfortran.py b/numpy/f2py/crackfortran.py
-index 2aaf5d7..fb5ef2f 100755
---- a/numpy/f2py/crackfortran.py
-+++ b/numpy/f2py/crackfortran.py
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python3
- """
- crackfortran --- read fortran (77,90) code and extract declaration information.
- 
-diff --git a/numpy/f2py/diagnose.py b/numpy/f2py/diagnose.py
-index 0241fed..6c0304c 100644
---- a/numpy/f2py/diagnose.py
-+++ b/numpy/f2py/diagnose.py
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python3
- from __future__ import division, absolute_import, print_function
- 
- import os
-diff --git a/numpy/f2py/f2py2e.py b/numpy/f2py/f2py2e.py
-index d03eff9..c17bfd9 100755
---- a/numpy/f2py/f2py2e.py
-+++ b/numpy/f2py/f2py2e.py
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python3
- """
- 
- f2py2e - Fortran to Python C/API generator. 2nd Edition.
-diff --git a/numpy/f2py/f90mod_rules.py b/numpy/f2py/f90mod_rules.py
-index 85eae80..70be128 100644
---- a/numpy/f2py/f90mod_rules.py
-+++ b/numpy/f2py/f90mod_rules.py
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python3
- """
- 
- Build F90 module support for f2py2e.
-diff --git a/numpy/f2py/func2subr.py b/numpy/f2py/func2subr.py
-index 6010d5a..fdea0c2 100644
---- a/numpy/f2py/func2subr.py
-+++ b/numpy/f2py/func2subr.py
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python3
- """
- 
- Rules for building C/API module with f2py2e.
-diff --git a/numpy/f2py/rules.py b/numpy/f2py/rules.py
-index f2f713b..f87b03c 100755
---- a/numpy/f2py/rules.py
-+++ b/numpy/f2py/rules.py
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python3
- """
- 
- Rules for building C/API module with f2py2e.
-diff --git a/numpy/f2py/setup.py b/numpy/f2py/setup.py
-index a8c1401..2e7a517 100644
---- a/numpy/f2py/setup.py
-+++ b/numpy/f2py/setup.py
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python3
- """
- setup.py for installing F2PY
- 
-diff --git a/numpy/f2py/use_rules.py b/numpy/f2py/use_rules.py
-index 6f44f16..8214f42 100644
---- a/numpy/f2py/use_rules.py
-+++ b/numpy/f2py/use_rules.py
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python3
- """
- 
- Build 'use others module data' mechanism for f2py2e.
-diff --git a/numpy/linalg/lapack_lite/clapack_scrub.py b/numpy/linalg/lapack_lite/clapack_scrub.py
-index 4345861..91e66e7 100644
---- a/numpy/linalg/lapack_lite/clapack_scrub.py
-+++ b/numpy/linalg/lapack_lite/clapack_scrub.py
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python3
- from __future__ import division, absolute_import, print_function
- 
- import sys, os
-diff --git a/numpy/linalg/lapack_lite/make_lite.py b/numpy/linalg/lapack_lite/make_lite.py
-index 61102d6..0211f4e 100755
---- a/numpy/linalg/lapack_lite/make_lite.py
-+++ b/numpy/linalg/lapack_lite/make_lite.py
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python3
- """
- Usage: make_lite.py <wrapped_routines_file> <lapack_dir> <output_dir>
- 
-diff --git a/numpy/ma/bench.py b/numpy/ma/bench.py
-index a9ba42d..a377436 100644
---- a/numpy/ma/bench.py
-+++ b/numpy/ma/bench.py
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/env python3
- # -*- coding: utf-8 -*-
- 
- from __future__ import division, print_function
-diff --git a/numpy/ma/setup.py b/numpy/ma/setup.py
-index d1d6c89..a04b79b 100644
---- a/numpy/ma/setup.py
-+++ b/numpy/ma/setup.py
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python3
- from __future__ import division, print_function
- 
- def configuration(parent_package='',top_path=None):
-diff --git a/numpy/matrixlib/setup.py b/numpy/matrixlib/setup.py
-index d0981d6..57534d1 100644
---- a/numpy/matrixlib/setup.py
-+++ b/numpy/matrixlib/setup.py
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python3
- from __future__ import division, print_function
- 
- def configuration(parent_package='', top_path=None):
-diff --git a/numpy/random/_examples/cython/extending.pyx b/numpy/random/_examples/cython/extending.pyx
-index 7a0dfe0..3a7f81a 100644
---- a/numpy/random/_examples/cython/extending.pyx
-+++ b/numpy/random/_examples/cython/extending.pyx
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python3
- #cython: language_level=3
- 
- from libc.stdint cimport uint32_t
-diff --git a/numpy/random/_examples/cython/extending_distributions.pyx b/numpy/random/_examples/cython/extending_distributions.pyx
-index 1bef506..4da6a4b 100644
---- a/numpy/random/_examples/cython/extending_distributions.pyx
-+++ b/numpy/random/_examples/cython/extending_distributions.pyx
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python3
- #cython: language_level=3
- """
- This file shows how the to use a BitGenerator to create a distribution.
-diff --git a/numpy/setup.py b/numpy/setup.py
-index 4ccdaee..db06c82 100644
---- a/numpy/setup.py
-+++ b/numpy/setup.py
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python3
- from __future__ import division, print_function
- 
- 
-diff --git a/numpy/testing/print_coercion_tables.py b/numpy/testing/print_coercion_tables.py
-index 72b22ce..1e9a301 100755
---- a/numpy/testing/print_coercion_tables.py
-+++ b/numpy/testing/print_coercion_tables.py
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python3
- """Prints type-coercion tables for the built-in NumPy types
- 
- """
-diff --git a/numpy/testing/setup.py b/numpy/testing/setup.py
-index 7c3f2fb..bd315ee 100755
---- a/numpy/testing/setup.py
-+++ b/numpy/testing/setup.py
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python3
- from __future__ import division, print_function
- 
- 
-diff --git a/runtests.py b/runtests.py
-index a38054f..383ddaa 100755
---- a/runtests.py
-+++ b/runtests.py
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python3
- """
- runtests.py [OPTIONS] [-- ARGS]
- 
-diff --git a/setup.py b/setup.py
-index d7f807b..705ea5d 100755
---- a/setup.py
-+++ b/setup.py
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python3
- """ NumPy is the fundamental package for array computing with Python.
- 
- It provides:
-diff --git a/tools/c_coverage/c_coverage_report.py b/tools/c_coverage/c_coverage_report.py
-index 327f6dc..8837684 100755
---- a/tools/c_coverage/c_coverage_report.py
-+++ b/tools/c_coverage/c_coverage_report.py
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python3
- """
- A script to create C code-coverage reports based on the output of
- valgrind's callgrind tool.
-diff --git a/tools/changelog.py b/tools/changelog.py
-index b135b14..5d8b33c 100755
---- a/tools/changelog.py
-+++ b/tools/changelog.py
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python3
- # -*- encoding:utf-8 -*-
- """
- Script to generate contributor and pull request lists
-diff --git a/tools/ci/push_docs_to_repo.py b/tools/ci/push_docs_to_repo.py
-index a989668..ae53054 100755
---- a/tools/ci/push_docs_to_repo.py
-+++ b/tools/ci/push_docs_to_repo.py
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python3
- 
- import argparse
- import subprocess
-diff --git a/tools/find_deprecated_escaped_characters.py b/tools/find_deprecated_escaped_characters.py
-index 6f90001..10e0378 100644
---- a/tools/find_deprecated_escaped_characters.py
-+++ b/tools/find_deprecated_escaped_characters.py
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/env python3
- r"""
- Look for escape sequences deprecated in Python 3.6.
- 
-diff --git a/tools/refguide_check.py b/tools/refguide_check.py
-index 2c62809..a19a29e 100644
---- a/tools/refguide_check.py
-+++ b/tools/refguide_check.py
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python3
- """
- refguide_check.py [OPTIONS] [-- ARGS]
- 
-diff --git a/tools/swig/test/setup.py b/tools/swig/test/setup.py
-index 4ff870e..f8f05e6 100755
---- a/tools/swig/test/setup.py
-+++ b/tools/swig/test/setup.py
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/env python3
- from __future__ import division, print_function
- 
- # System imports
-diff --git a/tools/swig/test/testArray.py b/tools/swig/test/testArray.py
-index 8d9c797..54ffe71 100755
---- a/tools/swig/test/testArray.py
-+++ b/tools/swig/test/testArray.py
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/env python3
- from __future__ import division, absolute_import, print_function
- 
- # System imports
-diff --git a/tools/swig/test/testFarray.py b/tools/swig/test/testFarray.py
-index e8bf711..b377f7c 100755
---- a/tools/swig/test/testFarray.py
-+++ b/tools/swig/test/testFarray.py
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/env python3
- from __future__ import division, absolute_import, print_function
- 
- # System imports
-diff --git a/tools/swig/test/testFlat.py b/tools/swig/test/testFlat.py
-index 71be277..55034bf 100755
---- a/tools/swig/test/testFlat.py
-+++ b/tools/swig/test/testFlat.py
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/env python3
- from __future__ import division, absolute_import, print_function
- 
- # System imports
-diff --git a/tools/swig/test/testFortran.py b/tools/swig/test/testFortran.py
-index 426e894..0f7d0e6 100644
---- a/tools/swig/test/testFortran.py
-+++ b/tools/swig/test/testFortran.py
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/env python3
- from __future__ import division, absolute_import, print_function
- 
- # System imports
-diff --git a/tools/swig/test/testMatrix.py b/tools/swig/test/testMatrix.py
-index 065be0d..854a23c 100755
---- a/tools/swig/test/testMatrix.py
-+++ b/tools/swig/test/testMatrix.py
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/env python3
- from __future__ import division, absolute_import, print_function
- 
- # System imports
-diff --git a/tools/swig/test/testSuperTensor.py b/tools/swig/test/testSuperTensor.py
-index 97fe80c..31b63d0 100644
---- a/tools/swig/test/testSuperTensor.py
-+++ b/tools/swig/test/testSuperTensor.py
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/env python3
- from __future__ import division, print_function
- 
- # System imports
-diff --git a/tools/swig/test/testTensor.py b/tools/swig/test/testTensor.py
-index ac1b749..f47d9e8 100755
---- a/tools/swig/test/testTensor.py
-+++ b/tools/swig/test/testTensor.py
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/env python3
- from __future__ import division, absolute_import, print_function
- 
- # System imports
-diff --git a/tools/swig/test/testVector.py b/tools/swig/test/testVector.py
-index 45e763b..067b922 100755
---- a/tools/swig/test/testVector.py
-+++ b/tools/swig/test/testVector.py
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/env python3
- from __future__ import division, absolute_import, print_function
- 
- # System imports
diff --git a/poky/meta/recipes-devtools/python-numpy/python-numpy.inc b/poky/meta/recipes-devtools/python-numpy/python-numpy.inc
index 75309e3..e37ab39 100644
--- a/poky/meta/recipes-devtools/python-numpy/python-numpy.inc
+++ b/poky/meta/recipes-devtools/python-numpy/python-numpy.inc
@@ -1,15 +1,14 @@
 SUMMARY = "A sophisticated Numeric Processing Package for Python"
 SECTION = "devel/python"
 LICENSE = "BSD-3-Clause & BSD-2-Clause & PSF & Apache-2.0 & BSD & MIT"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=1a32aba007a415aa8a1c708a0e2b86a1"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=643d4e90100b7abe468c4db88127b895"
 
 SRCNAME = "numpy"
 
 SRC_URI = "https://github.com/${SRCNAME}/${SRCNAME}/releases/download/v${PV}/${SRCNAME}-${PV}.tar.gz \
            file://0001-Don-t-search-usr-and-so-on-for-libraries-by-default-.patch \
-           file://0001-convert-shebang-from-python-to-python3.patch \
            "
-SRC_URI[sha256sum] = "2c095bd1c5290966cceee8b6ef5cd66f13cd0e9d6d0e8d6fc8961abd64a8e51f"
+SRC_URI[sha256sum] = "153cf8b0176e57a611931981acfe093d2f7fef623b48f91176efa199798a6b90"
 
 UPSTREAM_CHECK_URI = "https://github.com/numpy/numpy/releases"
 UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)\.tar"
@@ -20,7 +19,7 @@
 
 CLEANBROKEN = "1"
 
-FILES_${PN}-staticdev += "${PYTHON_SITEPACKAGES_DIR}/numpy/core/lib/*.a"
+FILES_${PN}-staticdev += "${PYTHON_SITEPACKAGES_DIR}/numpy/core/lib/*.a ${PYTHON_SITEPACKAGES_DIR}/numpy/random/lib/*.a"
 
 # install what is needed for numpy.test()
 RDEPENDS_${PN} = "${PYTHON_PN}-unittest \
diff --git a/poky/meta/recipes-devtools/python-numpy/python3-numpy_1.18.5.bb b/poky/meta/recipes-devtools/python-numpy/python3-numpy_1.19.0.bb
similarity index 100%
rename from poky/meta/recipes-devtools/python-numpy/python3-numpy_1.18.5.bb
rename to poky/meta/recipes-devtools/python-numpy/python3-numpy_1.19.0.bb
diff --git a/poky/meta/recipes-devtools/python/files/0001-conditionally-do-not-fetch-code-by-easy_install.patch b/poky/meta/recipes-devtools/python/files/0001-conditionally-do-not-fetch-code-by-easy_install.patch
index 5f99cd2..201e357 100644
--- a/poky/meta/recipes-devtools/python/files/0001-conditionally-do-not-fetch-code-by-easy_install.patch
+++ b/poky/meta/recipes-devtools/python/files/0001-conditionally-do-not-fetch-code-by-easy_install.patch
@@ -1,4 +1,4 @@
-From a8f871c9ebc4fcb99d4163b226aabeef26567099 Mon Sep 17 00:00:00 2001
+From 234c3da52da09b28db5b2c4d33ebe9c800c461ac Mon Sep 17 00:00:00 2001
 From: Hongxu Jia <hongxu.jia@windriver.com>
 Date: Tue, 17 Jul 2018 10:13:38 +0800
 Subject: [PATCH] conditionally do not fetch code by easy_install
@@ -15,10 +15,10 @@
  1 file changed, 5 insertions(+)
 
 diff --git a/setuptools/command/easy_install.py b/setuptools/command/easy_install.py
-index 426301d..55c8062 100644
+index 5a9576f..f5961cb 100644
 --- a/setuptools/command/easy_install.py
 +++ b/setuptools/command/easy_install.py
-@@ -649,6 +649,11 @@ class easy_install(Command):
+@@ -656,6 +656,11 @@ class easy_install(Command):
              os.path.exists(tmpdir) and rmtree(rmtree_safe(tmpdir))
  
      def easy_install(self, spec, deps=False):
diff --git a/poky/meta/recipes-devtools/python/python-cython.inc b/poky/meta/recipes-devtools/python/python-cython.inc
index eee567e..a0cd2a5 100644
--- a/poky/meta/recipes-devtools/python/python-cython.inc
+++ b/poky/meta/recipes-devtools/python/python-cython.inc
@@ -7,7 +7,7 @@
 PYPI_PACKAGE = "Cython"
 BBCLASSEXTEND = "native nativesdk"
 
-SRC_URI[sha256sum] = "97f98a7dc0d58ea833dc1f8f8b3ce07adf4c0f030d1886c5399a2135ed415258"
+SRC_URI[sha256sum] = "22d91af5fc2253f717a1b80b8bb45acb655f643611983fd6f782b9423f8171c7"
 UPSTREAM_CHECK_REGEX = "Cython-(?P<pver>.*)\.tar"
 
 inherit pypi
diff --git a/poky/meta/recipes-devtools/python/python-setuptools.inc b/poky/meta/recipes-devtools/python/python-setuptools.inc
index 3222de7..ecf1205 100644
--- a/poky/meta/recipes-devtools/python/python-setuptools.inc
+++ b/poky/meta/recipes-devtools/python/python-setuptools.inc
@@ -10,12 +10,9 @@
 
 SRC_URI_append_class-native = " file://0001-conditionally-do-not-fetch-code-by-easy_install.patch"
 
-SRC_URI += "file://0001-change-shebang-to-python3.patch \
-            file://0001-ScriptWriter-create-more-efficient-usr-bin-wrappers-signoff-included.patch \
-            "
+SRC_URI += "file://0001-change-shebang-to-python3.patch"
 
-SRC_URI[md5sum] = "6e9de90b242fdd60ef59f497424ce13a"
-SRC_URI[sha256sum] = "145fa62b9d7bb544fce16e9b5a9bf4ab2032d2f758b7cd674af09a92736aff74"
+SRC_URI[sha256sum] = "843037738d1e34e8b326b5e061f474aca6ef9d7ece41329afbc8aac6195a3920"
 
 DEPENDS += "${PYTHON_PN}"
 
diff --git a/poky/meta/recipes-devtools/python/python3-cython_0.29.19.bb b/poky/meta/recipes-devtools/python/python3-cython_0.29.20.bb
similarity index 100%
rename from poky/meta/recipes-devtools/python/python3-cython_0.29.19.bb
rename to poky/meta/recipes-devtools/python/python3-cython_0.29.20.bb
diff --git a/poky/meta/recipes-devtools/python/python3-libarchive-c_2.9.bb b/poky/meta/recipes-devtools/python/python3-libarchive-c_2.9.bb
index 4983ae5..3a2d873 100644
--- a/poky/meta/recipes-devtools/python/python3-libarchive-c_2.9.bb
+++ b/poky/meta/recipes-devtools/python/python3-libarchive-c_2.9.bb
@@ -12,6 +12,10 @@
 SRC_URI[md5sum] = "083bd2cb0043c1e22a52cb9a05e31532"
 SRC_URI[sha256sum] = "9919344cec203f5db6596a29b5bc26b07ba9662925a05e24980b84709232ef60"
 
-RDEPENDS_${PN} += "libarchive"
+RDEPENDS_${PN} += "\
+  libarchive \
+  ${PYTHON_PN}-ctypes \
+  ${PYTHON_PN}-mmap \
+"
 
 BBCLASSEXTEND = "native"
diff --git a/poky/meta/recipes-devtools/python/python3-setuptools/0001-ScriptWriter-create-more-efficient-usr-bin-wrappers-signoff-included.patch b/poky/meta/recipes-devtools/python/python3-setuptools/0001-ScriptWriter-create-more-efficient-usr-bin-wrappers-signoff-included.patch
deleted file mode 100644
index 7e931c8..0000000
--- a/poky/meta/recipes-devtools/python/python3-setuptools/0001-ScriptWriter-create-more-efficient-usr-bin-wrappers-signoff-included.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-From aae8cd3de3f289cea3db01212579913c925191e8 Mon Sep 17 00:00:00 2001
-From: Lauri Tirkkonen <lauri.tirkkonen.ext@nokia.com>
-Date: Thu, 26 Mar 2020 14:24:25 +0000
-Subject: [PATCH] ScriptWriter: create more efficient /usr/bin wrappers
-
-Upstream setuptools writes scripts to /usr/bin that do insanely much
-stuff at runtime. https://github.com/pypa/setuptools/issues/510
-
-Since the script entry points are already known at build time, we can
-just write those directly into the /usr/bin wrapper, avoiding the
-expensive 'pkg_resources' import at runtime. The idea is from
-https://github.com/ninjaaron/fast-entry_points but patched directly into
-the native build of setuptools here, so that all Python modules under
-bitbake automatically use it without needing additional build time
-dependencies.
-
-Upstream-Status: Pending
-
-Signed-off-by: Lauri Tirkkonen <lauri.tirkkonen.ext@nokia.com>
-Signed-off-by: Trevor Gamblin <trevor.gamblin@windriver.com>
----
- setuptools/command/easy_install.py | 14 ++++++--------
- 1 file changed, 6 insertions(+), 8 deletions(-)
-
-diff --git a/setuptools/command/easy_install.py b/setuptools/command/easy_install.py
-index 8fba7b41..03a72714 100755
---- a/setuptools/command/easy_install.py
-+++ b/setuptools/command/easy_install.py
-@@ -2023,17 +2023,12 @@ class ScriptWriter(object):
-     """
- 
-     template = textwrap.dedent(r"""
--        # EASY-INSTALL-ENTRY-SCRIPT: %(spec)r,%(group)r,%(name)r
--        __requires__ = %(spec)r
--        import re
-         import sys
--        from pkg_resources import load_entry_point
-+
-+        from %(module)s import %(ep0)s
- 
-         if __name__ == '__main__':
--            sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
--            sys.exit(
--                load_entry_point(%(spec)r, %(group)r, %(name)r)()
--            )
-+            sys.exit(%(entrypoint)s())
-     """).lstrip()
- 
-     command_spec_class = CommandSpec
-@@ -2068,6 +2063,9 @@ class ScriptWriter(object):
-         for type_ in 'console', 'gui':
-             group = type_ + '_scripts'
-             for name, ep in dist.get_entry_map(group).items():
-+                module = ep.module_name
-+                ep0 = ep.attrs[0]
-+                entrypoint = '.'.join(ep.attrs)
-                 cls._ensure_safe_name(name)
-                 script_text = cls.template % locals()
-                 args = cls._get_script_args(type_, name, header, script_text)
--- 
-2.24.1
-
diff --git a/poky/meta/recipes-devtools/python/python3-setuptools_47.1.1.bb b/poky/meta/recipes-devtools/python/python3-setuptools_47.3.1.bb
similarity index 100%
rename from poky/meta/recipes-devtools/python/python3-setuptools_47.1.1.bb
rename to poky/meta/recipes-devtools/python/python3-setuptools_47.3.1.bb
diff --git a/poky/meta/recipes-devtools/python/python3_3.8.3.bb b/poky/meta/recipes-devtools/python/python3_3.8.3.bb
index 2eb2a42..a7cfbad 100644
--- a/poky/meta/recipes-devtools/python/python3_3.8.3.bb
+++ b/poky/meta/recipes-devtools/python/python3_3.8.3.bb
@@ -350,6 +350,7 @@
 
 # See https://bugs.python.org/issue18748 and https://bugs.python.org/issue37395
 RDEPENDS_libpython3_append_libc-glibc = " libgcc"
+RDEPENDS_${PN}-ctypes_append_libc-glibc = " ${MLPREFIX}ldconfig"
 RDEPENDS_${PN}-ptest = "${PN}-modules ${PN}-tests unzip bzip2 libgcc tzdata-europe coreutils sed"
 RDEPENDS_${PN}-ptest_append_libc-glibc = " locale-base-tr-tr.iso-8859-9"
 RDEPENDS_${PN}-tkinter += "${@bb.utils.contains('PACKAGECONFIG', 'tk', 'tk tk-lib', '', d)}"
diff --git a/poky/meta/recipes-devtools/qemu/qemu.inc b/poky/meta/recipes-devtools/qemu/qemu.inc
index 8b6157e..d41cc8f 100644
--- a/poky/meta/recipes-devtools/qemu/qemu.inc
+++ b/poky/meta/recipes-devtools/qemu/qemu.inc
@@ -31,6 +31,7 @@
 	   file://0001-qemu-Do-not-include-file-if-not-exists.patch \
 	   file://CVE-2020-13361.patch \
 	   file://find_datadir.patch \
+	   file://CVE-2020-10761.patch \
 	   "
 UPSTREAM_CHECK_REGEX = "qemu-(?P<pver>\d+(\.\d+)+)\.tar"
 
@@ -139,7 +140,7 @@
 PACKAGECONFIG_remove_mingw32 = "kvm virglrenderer glx gtk+"
 
 PACKAGECONFIG[sdl] = "--enable-sdl,--disable-sdl,libsdl2"
-PACKAGECONFIG[virtfs] = "--enable-virtfs --enable-attr,--disable-virtfs,libcap attr,"
+PACKAGECONFIG[virtfs] = "--enable-virtfs --enable-attr,--disable-virtfs,libcap-ng attr,"
 PACKAGECONFIG[aio] = "--enable-linux-aio,--disable-linux-aio,libaio,"
 PACKAGECONFIG[xfs] = "--enable-xfsctl,--disable-xfsctl,xfsprogs,"
 PACKAGECONFIG[xen] = "--enable-xen,--disable-xen,xen-tools,xen-tools-libxenstore xen-tools-libxenctrl xen-tools-libxenguest"
diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2020-10761.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2020-10761.patch
new file mode 100644
index 0000000..19f26ae
--- /dev/null
+++ b/poky/meta/recipes-devtools/qemu/qemu/CVE-2020-10761.patch
@@ -0,0 +1,151 @@
+From 5c4fe018c025740fef4a0a4421e8162db0c3eefd Mon Sep 17 00:00:00 2001
+From: Eric Blake <eblake@redhat.com>
+Date: Mon, 8 Jun 2020 13:26:37 -0500
+Subject: [PATCH] nbd/server: Avoid long error message assertions
+ CVE-2020-10761
+
+Ever since commit 36683283 (v2.8), the server code asserts that error
+strings sent to the client are well-formed per the protocol by not
+exceeding the maximum string length of 4096.  At the time the server
+first started sending error messages, the assertion could not be
+triggered, because messages were completely under our control.
+However, over the years, we have added latent scenarios where a client
+could trigger the server to attempt an error message that would
+include the client's information if it passed other checks first:
+
+- requesting NBD_OPT_INFO/GO on an export name that is not present
+  (commit 0cfae925 in v2.12 echoes the name)
+
+- requesting NBD_OPT_LIST/SET_META_CONTEXT on an export name that is
+  not present (commit e7b1948d in v2.12 echoes the name)
+
+At the time, those were still safe because we flagged names larger
+than 256 bytes with a different message; but that changed in commit
+93676c88 (v4.2) when we raised the name limit to 4096 to match the NBD
+string limit.  (That commit also failed to change the magic number
+4096 in nbd_negotiate_send_rep_err to the just-introduced named
+constant.)  So with that commit, long client names appended to server
+text can now trigger the assertion, and thus be used as a denial of
+service attack against a server.  As a mitigating factor, if the
+server requires TLS, the client cannot trigger the problematic paths
+unless it first supplies TLS credentials, and such trusted clients are
+less likely to try to intentionally crash the server.
+
+We may later want to further sanitize the user-supplied strings we
+place into our error messages, such as scrubbing out control
+characters, but that is less important to the CVE fix, so it can be a
+later patch to the new nbd_sanitize_name.
+
+Consideration was given to changing the assertion in
+nbd_negotiate_send_rep_verr to instead merely log a server error and
+truncate the message, to avoid leaving a latent path that could
+trigger a future CVE DoS on any new error message.  However, this
+merely complicates the code for something that is already (correctly)
+flagging coding errors, and now that we are aware of the long message
+pitfall, we are less likely to introduce such errors in the future,
+which would make such error handling dead code.
+
+Reported-by: Xueqiang Wei <xuwei@redhat.com>
+CC: qemu-stable@nongnu.org
+Fixes: https://bugzilla.redhat.com/1843684 CVE-2020-10761
+Fixes: 93676c88d7
+Signed-off-by: Eric Blake <eblake@redhat.com>
+Message-Id: <20200610163741.3745251-2-eblake@redhat.com>
+Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
+
+Upstream-Status: Backport  [https://github.com/qemu/qemu/commit/5c4fe018c025740fef4a0a4421e8162db0c3eefd]
+CVE: CVE-2020-10761
+Signed-off-by: Chee Yang Lee <chee.yang.lee@intel.com>
+
+---
+ nbd/server.c               | 23 ++++++++++++++++++++---
+ tests/qemu-iotests/143     |  4 ++++
+ tests/qemu-iotests/143.out |  2 ++
+ 3 files changed, 26 insertions(+), 3 deletions(-)
+
+diff --git a/nbd/server.c b/nbd/server.c
+index 02b1ed08014..20754e9ebc3 100644
+--- a/nbd/server.c
++++ b/nbd/server.c
+@@ -217,7 +217,7 @@ nbd_negotiate_send_rep_verr(NBDClient *client, uint32_t type,
+ 
+     msg = g_strdup_vprintf(fmt, va);
+     len = strlen(msg);
+-    assert(len < 4096);
++    assert(len < NBD_MAX_STRING_SIZE);
+     trace_nbd_negotiate_send_rep_err(msg);
+     ret = nbd_negotiate_send_rep_len(client, type, len, errp);
+     if (ret < 0) {
+@@ -231,6 +231,19 @@ nbd_negotiate_send_rep_verr(NBDClient *client, uint32_t type,
+     return 0;
+ }
+ 
++/*
++ * Return a malloc'd copy of @name suitable for use in an error reply.
++ */
++static char *
++nbd_sanitize_name(const char *name)
++{
++    if (strnlen(name, 80) < 80) {
++        return g_strdup(name);
++    }
++    /* XXX Should we also try to sanitize any control characters? */
++    return g_strdup_printf("%.80s...", name);
++}
++
+ /* Send an error reply.
+  * Return -errno on error, 0 on success. */
+ static int GCC_FMT_ATTR(4, 5)
+@@ -595,9 +608,11 @@ static int nbd_negotiate_handle_info(NBDClient *client, Error **errp)
+ 
+     exp = nbd_export_find(name);
+     if (!exp) {
++        g_autofree char *sane_name = nbd_sanitize_name(name);
++
+         return nbd_negotiate_send_rep_err(client, NBD_REP_ERR_UNKNOWN,
+                                           errp, "export '%s' not present",
+-                                          name);
++                                          sane_name);
+     }
+ 
+     /* Don't bother sending NBD_INFO_NAME unless client requested it */
+@@ -995,8 +1010,10 @@ static int nbd_negotiate_meta_queries(NBDClient *client,
+ 
+     meta->exp = nbd_export_find(export_name);
+     if (meta->exp == NULL) {
++        g_autofree char *sane_name = nbd_sanitize_name(export_name);
++
+         return nbd_opt_drop(client, NBD_REP_ERR_UNKNOWN, errp,
+-                            "export '%s' not present", export_name);
++                            "export '%s' not present", sane_name);
+     }
+ 
+     ret = nbd_opt_read(client, &nb_queries, sizeof(nb_queries), errp);
+diff --git a/tests/qemu-iotests/143 b/tests/qemu-iotests/143
+index f649b361950..d2349903b1b 100755
+--- a/tests/qemu-iotests/143
++++ b/tests/qemu-iotests/143
+@@ -58,6 +58,10 @@ _send_qemu_cmd $QEMU_HANDLE \
+ $QEMU_IO_PROG -f raw -c quit \
+     "nbd+unix:///no_such_export?socket=$SOCK_DIR/nbd" 2>&1 \
+     | _filter_qemu_io | _filter_nbd
++# Likewise, with longest possible name permitted in NBD protocol
++$QEMU_IO_PROG -f raw -c quit \
++    "nbd+unix:///$(printf %4096d 1 | tr ' ' a)?socket=$SOCK_DIR/nbd" 2>&1 \
++    | _filter_qemu_io | _filter_nbd | sed 's/aaaa*aa/aa--aa/'
+ 
+ _send_qemu_cmd $QEMU_HANDLE \
+     "{ 'execute': 'quit' }" \
+diff --git a/tests/qemu-iotests/143.out b/tests/qemu-iotests/143.out
+index 1f4001c6013..fc9c0a761fa 100644
+--- a/tests/qemu-iotests/143.out
++++ b/tests/qemu-iotests/143.out
+@@ -5,6 +5,8 @@ QA output created by 143
+ {"return": {}}
+ qemu-io: can't open device nbd+unix:///no_such_export?socket=SOCK_DIR/nbd: Requested export not available
+ server reported: export 'no_such_export' not present
++qemu-io: can't open device nbd+unix:///aa--aa1?socket=SOCK_DIR/nbd: Requested export not available
++server reported: export 'aa--aa...' not present
+ { 'execute': 'quit' }
+ {"return": {}}
+ {"timestamp": {"seconds":  TIMESTAMP, "microseconds":  TIMESTAMP}, "event": "SHUTDOWN", "data": {"guest": false, "reason": "host-qmp-quit"}}
diff --git a/poky/meta/recipes-devtools/rsync/files/CVE-2016-9840.patch b/poky/meta/recipes-devtools/rsync/files/CVE-2016-9840.patch
deleted file mode 100644
index 7581887..0000000
--- a/poky/meta/recipes-devtools/rsync/files/CVE-2016-9840.patch
+++ /dev/null
@@ -1,75 +0,0 @@
-From 6a043145ca6e9c55184013841a67b2fef87e44c0 Mon Sep 17 00:00:00 2001
-From: Mark Adler <madler@alumni.caltech.edu>
-Date: Wed, 21 Sep 2016 23:35:50 -0700
-Subject: [PATCH] Remove offset pointer optimization in inftrees.c.
-
-inftrees.c was subtracting an offset from a pointer to an array,
-in order to provide a pointer that allowed indexing starting at
-the offset. This is not compliant with the C standard, for which
-the behavior of a pointer decremented before its allocated memory
-is undefined. Per the recommendation of a security audit of the
-zlib code by Trail of Bits and TrustInSoft, in support of the
-Mozilla Foundation, this tiny optimization was removed, in order
-to avoid the possibility of undefined behavior.
-
-CVE: CVE-2016-9840
-Upstream-Status: Backport
-Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
----
- inftrees.c | 18 ++++++++----------
- 1 file changed, 8 insertions(+), 10 deletions(-)
-
-diff --git a/zlib/inftrees.c b/zlib/inftrees.c
-index 22fcd666..0d2670d5 100644
---- a/zlib/inftrees.c
-+++ b/zlib/inftrees.c
-@@ -54,7 +54,7 @@ unsigned short FAR *work;
-     code FAR *next;             /* next available space in table */
-     const unsigned short FAR *base;     /* base value table to use */
-     const unsigned short FAR *extra;    /* extra bits table to use */
--    int end;                    /* use base and extra for symbol > end */
-+    unsigned match;             /* use base and extra for symbol >= match */
-     unsigned short count[MAXBITS+1];    /* number of codes of each length */
-     unsigned short offs[MAXBITS+1];     /* offsets in table for each length */
-     static const unsigned short lbase[31] = { /* Length codes 257..285 base */
-@@ -181,19 +181,17 @@ unsigned short FAR *work;
-     switch (type) {
-     case CODES:
-         base = extra = work;    /* dummy value--not used */
--        end = 19;
-+        match = 20;
-         break;
-     case LENS:
-         base = lbase;
--        base -= 257;
-         extra = lext;
--        extra -= 257;
--        end = 256;
-+        match = 257;
-         break;
-     default:            /* DISTS */
-         base = dbase;
-         extra = dext;
--        end = -1;
-+        match = 0;
-     }
- 
-     /* initialize state for loop */
-@@ -216,13 +214,13 @@ unsigned short FAR *work;
-     for (;;) {
-         /* create table entry */
-         here.bits = (unsigned char)(len - drop);
--        if ((int)(work[sym]) < end) {
-+        if (work[sym] + 1 < match) {
-             here.op = (unsigned char)0;
-             here.val = work[sym];
-         }
--        else if ((int)(work[sym]) > end) {
--            here.op = (unsigned char)(extra[work[sym]]);
--            here.val = base[work[sym]];
-+        else if (work[sym] >= match) {
-+            here.op = (unsigned char)(extra[work[sym] - match]);
-+            here.val = base[work[sym] - match];
-         }
-         else {
-             here.op = (unsigned char)(32 + 64);         /* end of block */
diff --git a/poky/meta/recipes-devtools/rsync/files/CVE-2016-9841.patch b/poky/meta/recipes-devtools/rsync/files/CVE-2016-9841.patch
deleted file mode 100644
index 3942176..0000000
--- a/poky/meta/recipes-devtools/rsync/files/CVE-2016-9841.patch
+++ /dev/null
@@ -1,228 +0,0 @@
-From 9aaec95e82117c1cb0f9624264c3618fc380cecb Mon Sep 17 00:00:00 2001
-From: Mark Adler <madler@alumni.caltech.edu>
-Date: Wed, 21 Sep 2016 22:25:21 -0700
-Subject: [PATCH] Use post-increment only in inffast.c.
-
-An old inffast.c optimization turns out to not be optimal anymore
-with modern compilers, and furthermore was not compliant with the
-C standard, for which decrementing a pointer before its allocated
-memory is undefined. Per the recommendation of a security audit of
-the zlib code by Trail of Bits and TrustInSoft, in support of the
-Mozilla Foundation, this "optimization" was removed, in order to
-avoid the possibility of undefined behavior.
-
-CVE: CVE-2016-9841
-Upstream-Status: Backport
-Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
----
- zlib/inffast.c | 81 +++++++++++++++++++++----------------------------------
- 1 file changed, 31 insertions(+), 50 deletions(-)
-
-diff --git a/zlib/inffast.c b/zlib/inffast.c
-index bda59ceb..f0d163db 100644
---- a/zlib/inffast.c
-+++ b/zlib/inffast.c
-@@ -10,25 +10,6 @@
- 
- #ifndef ASMINF
- 
--/* Allow machine dependent optimization for post-increment or pre-increment.
--   Based on testing to date,
--   Pre-increment preferred for:
--   - PowerPC G3 (Adler)
--   - MIPS R5000 (Randers-Pehrson)
--   Post-increment preferred for:
--   - none
--   No measurable difference:
--   - Pentium III (Anderson)
--   - M68060 (Nikl)
-- */
--#ifdef POSTINC
--#  define OFF 0
--#  define PUP(a) *(a)++
--#else
--#  define OFF 1
--#  define PUP(a) *++(a)
--#endif
--
- /*
-    Decode literal, length, and distance codes and write out the resulting
-    literal and match bytes until either not enough input or output is
-@@ -96,9 +77,9 @@ unsigned start;         /* inflate()'s starting value for strm->avail_out */
- 
-     /* copy state to local variables */
-     state = (struct inflate_state FAR *)strm->state;
--    in = strm->next_in - OFF;
-+    in = strm->next_in;
-     last = in + (strm->avail_in - 5);
--    out = strm->next_out - OFF;
-+    out = strm->next_out;
-     beg = out - (start - strm->avail_out);
-     end = out + (strm->avail_out - 257);
- #ifdef INFLATE_STRICT
-@@ -119,9 +100,9 @@ unsigned start;         /* inflate()'s starting value for strm->avail_out */
-        input data or output space */
-     do {
-         if (bits < 15) {
--            hold += (unsigned long)(PUP(in)) << bits;
-+            hold += (unsigned long)(*in++) << bits;
-             bits += 8;
--            hold += (unsigned long)(PUP(in)) << bits;
-+            hold += (unsigned long)(*in++) << bits;
-             bits += 8;
-         }
-         here = lcode[hold & lmask];
-@@ -134,14 +115,14 @@ unsigned start;         /* inflate()'s starting value for strm->avail_out */
-             Tracevv((stderr, here.val >= 0x20 && here.val < 0x7f ?
-                     "inflate:         literal '%c'\n" :
-                     "inflate:         literal 0x%02x\n", here.val));
--            PUP(out) = (unsigned char)(here.val);
-+            *out++ = (unsigned char)(here.val);
-         }
-         else if (op & 16) {                     /* length base */
-             len = (unsigned)(here.val);
-             op &= 15;                           /* number of extra bits */
-             if (op) {
-                 if (bits < op) {
--                    hold += (unsigned long)(PUP(in)) << bits;
-+                    hold += (unsigned long)(*in++) << bits;
-                     bits += 8;
-                 }
-                 len += (unsigned)hold & ((1U << op) - 1);
-@@ -150,9 +131,9 @@ unsigned start;         /* inflate()'s starting value for strm->avail_out */
-             }
-             Tracevv((stderr, "inflate:         length %u\n", len));
-             if (bits < 15) {
--                hold += (unsigned long)(PUP(in)) << bits;
-+                hold += (unsigned long)(*in++) << bits;
-                 bits += 8;
--                hold += (unsigned long)(PUP(in)) << bits;
-+                hold += (unsigned long)(*in++) << bits;
-                 bits += 8;
-             }
-             here = dcode[hold & dmask];
-@@ -165,10 +146,10 @@ unsigned start;         /* inflate()'s starting value for strm->avail_out */
-                 dist = (unsigned)(here.val);
-                 op &= 15;                       /* number of extra bits */
-                 if (bits < op) {
--                    hold += (unsigned long)(PUP(in)) << bits;
-+                    hold += (unsigned long)(*in++) << bits;
-                     bits += 8;
-                     if (bits < op) {
--                        hold += (unsigned long)(PUP(in)) << bits;
-+                        hold += (unsigned long)(*in++) << bits;
-                         bits += 8;
-                     }
-                 }
-@@ -196,30 +177,30 @@ unsigned start;         /* inflate()'s starting value for strm->avail_out */
- #ifdef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR
-                         if (len <= op - whave) {
-                             do {
--                                PUP(out) = 0;
-+                                *out++ = 0;
-                             } while (--len);
-                             continue;
-                         }
-                         len -= op - whave;
-                         do {
--                            PUP(out) = 0;
-+                            *out++ = 0;
-                         } while (--op > whave);
-                         if (op == 0) {
-                             from = out - dist;
-                             do {
--                                PUP(out) = PUP(from);
-+                                *out++ = *from++;
-                             } while (--len);
-                             continue;
-                         }
- #endif
-                     }
--                    from = window - OFF;
-+                    from = window;
-                     if (wnext == 0) {           /* very common case */
-                         from += wsize - op;
-                         if (op < len) {         /* some from window */
-                             len -= op;
-                             do {
--                                PUP(out) = PUP(from);
-+                                *out++ = *from++;
-                             } while (--op);
-                             from = out - dist;  /* rest from output */
-                         }
-@@ -230,14 +211,14 @@ unsigned start;         /* inflate()'s starting value for strm->avail_out */
-                         if (op < len) {         /* some from end of window */
-                             len -= op;
-                             do {
--                                PUP(out) = PUP(from);
-+                                *out++ = *from++;
-                             } while (--op);
--                            from = window - OFF;
-+                            from = window;
-                             if (wnext < len) {  /* some from start of window */
-                                 op = wnext;
-                                 len -= op;
-                                 do {
--                                    PUP(out) = PUP(from);
-+                                    *out++ = *from++;
-                                 } while (--op);
-                                 from = out - dist;      /* rest from output */
-                             }
-@@ -248,35 +229,35 @@ unsigned start;         /* inflate()'s starting value for strm->avail_out */
-                         if (op < len) {         /* some from window */
-                             len -= op;
-                             do {
--                                PUP(out) = PUP(from);
-+                                *out++ = *from++;
-                             } while (--op);
-                             from = out - dist;  /* rest from output */
-                         }
-                     }
-                     while (len > 2) {
--                        PUP(out) = PUP(from);
--                        PUP(out) = PUP(from);
--                        PUP(out) = PUP(from);
-+                        *out++ = *from++;
-+                        *out++ = *from++;
-+                        *out++ = *from++;
-                         len -= 3;
-                     }
-                     if (len) {
--                        PUP(out) = PUP(from);
-+                        *out++ = *from++;
-                         if (len > 1)
--                            PUP(out) = PUP(from);
-+                            *out++ = *from++;
-                     }
-                 }
-                 else {
-                     from = out - dist;          /* copy direct from output */
-                     do {                        /* minimum length is three */
--                        PUP(out) = PUP(from);
--                        PUP(out) = PUP(from);
--                        PUP(out) = PUP(from);
-+                        *out++ = *from++;
-+                        *out++ = *from++;
-+                        *out++ = *from++;
-                         len -= 3;
-                     } while (len > 2);
-                     if (len) {
--                        PUP(out) = PUP(from);
-+                        *out++ = *from++;
-                         if (len > 1)
--                            PUP(out) = PUP(from);
-+                            *out++ = *from++;
-                     }
-                 }
-             }
-@@ -313,8 +294,8 @@ unsigned start;         /* inflate()'s starting value for strm->avail_out */
-     hold &= (1U << bits) - 1;
- 
-     /* update state and return */
--    strm->next_in = in + OFF;
--    strm->next_out = out + OFF;
-+    strm->next_in = in;
-+    strm->next_out = out;
-     strm->avail_in = (unsigned)(in < last ? 5 + (last - in) : 5 - (in - last));
-     strm->avail_out = (unsigned)(out < end ?
-                                  257 + (end - out) : 257 - (out - end));
diff --git a/poky/meta/recipes-devtools/rsync/files/CVE-2016-9842.patch b/poky/meta/recipes-devtools/rsync/files/CVE-2016-9842.patch
deleted file mode 100644
index 810d8a3..0000000
--- a/poky/meta/recipes-devtools/rsync/files/CVE-2016-9842.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From e54e1299404101a5a9d0cf5e45512b543967f958 Mon Sep 17 00:00:00 2001
-From: Mark Adler <madler@alumni.caltech.edu>
-Date: Sat, 5 Sep 2015 17:45:55 -0700
-Subject: [PATCH] Avoid shifts of negative values inflateMark().
-
-The C standard says that bit shifts of negative integers is
-undefined.  This casts to unsigned values to assure a known
-result.
-
-CVE: CVE-2016-9842
-Upstream-Status: Backport
-Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
----
- inflate.c | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/zlib/inflate.c b/zlib/inflate.c
-index 2889e3a0..a7184167 100644
---- a/zlib/inflate.c
-+++ b/zlib/inflate.c
-@@ -1506,9 +1506,10 @@ z_streamp strm;
- {
-     struct inflate_state FAR *state;
- 
--    if (strm == Z_NULL || strm->state == Z_NULL) return -1L << 16;
-+    if (strm == Z_NULL || strm->state == Z_NULL)
-+        return (long)(((unsigned long)0 - 1) << 16);
-     state = (struct inflate_state FAR *)strm->state;
--    return ((long)(state->back) << 16) +
-+    return (long)(((unsigned long)((long)state->back)) << 16) +
-         (state->mode == COPY ? state->length :
-             (state->mode == MATCH ? state->was - state->length : 0));
- }
diff --git a/poky/meta/recipes-devtools/rsync/files/CVE-2016-9843.patch b/poky/meta/recipes-devtools/rsync/files/CVE-2016-9843.patch
deleted file mode 100644
index ea2e42f..0000000
--- a/poky/meta/recipes-devtools/rsync/files/CVE-2016-9843.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-From d1d577490c15a0c6862473d7576352a9f18ef811 Mon Sep 17 00:00:00 2001
-From: Mark Adler <madler@alumni.caltech.edu>
-Date: Wed, 28 Sep 2016 20:20:25 -0700
-Subject: [PATCH] Avoid pre-decrement of pointer in big-endian CRC calculation.
-
-There was a small optimization for PowerPCs to pre-increment a
-pointer when accessing a word, instead of post-incrementing. This
-required prefacing the loop with a decrement of the pointer,
-possibly pointing before the object passed. This is not compliant
-with the C standard, for which decrementing a pointer before its
-allocated memory is undefined. When tested on a modern PowerPC
-with a modern compiler, the optimization no longer has any effect.
-Due to all that, and per the recommendation of a security audit of
-the zlib code by Trail of Bits and TrustInSoft, in support of the
-Mozilla Foundation, this "optimization" was removed, in order to
-avoid the possibility of undefined behavior.
-
-CVE: CVE-2016-9843
-Upstream-Status: Backport
-Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
----
- crc32.c | 4 +---
- 1 file changed, 1 insertion(+), 3 deletions(-)
-
-diff --git a/zlib/crc32.c b/zlib/crc32.c
-index 979a7190..05733f4e 100644
---- a/zlib/crc32.c
-+++ b/zlib/crc32.c
-@@ -278,7 +278,7 @@ local unsigned long crc32_little(crc, buf, len)
- }
- 
- /* ========================================================================= */
--#define DOBIG4 c ^= *++buf4; \
-+#define DOBIG4 c ^= *buf4++; \
-         c = crc_table[4][c & 0xff] ^ crc_table[5][(c >> 8) & 0xff] ^ \
-             crc_table[6][(c >> 16) & 0xff] ^ crc_table[7][c >> 24]
- #define DOBIG32 DOBIG4; DOBIG4; DOBIG4; DOBIG4; DOBIG4; DOBIG4; DOBIG4; DOBIG4
-@@ -300,7 +300,6 @@ local unsigned long crc32_big(crc, buf, len)
-     }
- 
-     buf4 = (const z_crc_t FAR *)(const void FAR *)buf;
--    buf4--;
-     while (len >= 32) {
-         DOBIG32;
-         len -= 32;
-@@ -309,7 +308,6 @@ local unsigned long crc32_big(crc, buf, len)
-         DOBIG4;
-         len -= 4;
-     }
--    buf4++;
-     buf = (const unsigned char FAR *)buf4;
- 
-     if (len) do {
diff --git a/poky/meta/recipes-devtools/rsync/files/makefile-no-rebuild.patch b/poky/meta/recipes-devtools/rsync/files/makefile-no-rebuild.patch
index 3d27fe7..038a672 100644
--- a/poky/meta/recipes-devtools/rsync/files/makefile-no-rebuild.patch
+++ b/poky/meta/recipes-devtools/rsync/files/makefile-no-rebuild.patch
@@ -1,20 +1,26 @@
+From 5ae38baadd40a996da3d19a147f37e7f1f3355bf Mon Sep 17 00:00:00 2001
+From: Ross Burton <ross.burton@intel.com>
+Date: Tue, 12 Apr 2016 15:51:54 +0100
+Subject: [PATCH] rsync: remove upstream's rebuild logic
+
 Remove the Makefile rules to reinvoke autoconf, they're not out-of-tree safe and
 generally overcomplicated, and we ensure that autoreconf is invoked if required.
 
 Upstream-Status: Inappropriate
 Signed-off-by: Ross Burton <ross.burton@intel.com>
 
+---
+ Makefile.in | 50 --------------------------------------------------
+ 1 file changed, 50 deletions(-)
+
 diff --git a/Makefile.in b/Makefile.in
-index 151247d..8f3fdb6 100644
+index 31ddc43..41c9a93 100644
 --- a/Makefile.in
 +++ b/Makefile.in
-@@ -141,58 +141,6 @@ gen: conf proto.h man
+@@ -167,56 +167,6 @@ gen: conf proto.h man
  gensend: gen
- 	rsync -aivzc $(GENFILES) $${SAMBA_HOST-samba.org}:/home/ftp/pub/rsync/generated-files/
+ 	rsync -aic $(GENFILES) $${SAMBA_HOST-samba.org}:/home/ftp/pub/rsync/generated-files/
  
--conf:
--	cd $(srcdir) && $(MAKE) -f prepare-source.mak conf
--
 -aclocal.m4: $(srcdir)/m4/*.m4
 -	aclocal -I $(srcdir)/m4
 -
@@ -45,6 +51,7 @@
 -	    fi \
 -	fi
 -
+-.PHONY: reconfigure
 -reconfigure: configure.sh
 -	./config.status --recheck
 -	./config.status
@@ -64,6 +71,6 @@
 -	    fi \
 -	fi
 -
- rsync-ssl: $(srcdir)/rsync-ssl.in Makefile
- 	sed 's;\@bindir\@;$(bindir);g' <$(srcdir)/rsync-ssl.in >rsync-ssl
- 	@chmod +x rsync-ssl
+ stunnel-rsyncd.conf: $(srcdir)/stunnel-rsyncd.conf.in Makefile
+ 	sed 's;\@bindir\@;$(bindir);g' <$(srcdir)/stunnel-rsyncd.conf.in >stunnel-rsyncd.conf
+ 
diff --git a/poky/meta/recipes-devtools/rsync/rsync_3.1.3.bb b/poky/meta/recipes-devtools/rsync/rsync_3.2.1.bb
similarity index 71%
rename from poky/meta/recipes-devtools/rsync/rsync_3.1.3.bb
rename to poky/meta/recipes-devtools/rsync/rsync_3.2.1.bb
index 152ff02..ea6b1ce 100644
--- a/poky/meta/recipes-devtools/rsync/rsync_3.1.3.bb
+++ b/poky/meta/recipes-devtools/rsync/rsync_3.2.1.bb
@@ -3,27 +3,23 @@
 BUGTRACKER = "http://rsync.samba.org/bugzilla.html"
 SECTION = "console/network"
 # GPLv2+ (<< 3.0.0), GPLv3+ (>= 3.0.0)
+# Includes opennsh and xxhash dynamic link exception
 LICENSE = "GPLv3+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+LIC_FILES_CHKSUM = "file://COPYING;md5=9e5a4f9b3a253d51520617aa54f8eb26"
 
 DEPENDS = "popt"
 
 SRC_URI = "https://download.samba.org/pub/${BPN}/src/${BP}.tar.gz \
            file://rsyncd.conf \
            file://makefile-no-rebuild.patch \
-           file://CVE-2016-9840.patch \
-           file://CVE-2016-9841.patch \
-           file://CVE-2016-9842.patch \
-           file://CVE-2016-9843.patch \
-"
+           "
 
-SRC_URI[md5sum] = "1581a588fde9d89f6bc6201e8129afaf"
-SRC_URI[sha256sum] = "55cc554efec5fdaad70de921cd5a5eeb6c29a95524c715f3bbf849235b0800c0"
+SRC_URI[sha256sum] = "95f2dd62979b500a99b34c1a6453a0787ada0330e4bec7fcffad37b9062d58d3"
 
 # -16548 required for v3.1.3pre1. Already in v3.1.3.
 CVE_CHECK_WHITELIST += " CVE-2017-16548 "
 
-inherit autotools
+inherit autotools-brokensep
 
 PACKAGECONFIG ??= "acl attr \
     ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \
@@ -32,12 +28,17 @@
 PACKAGECONFIG[acl] = "--enable-acl-support,--disable-acl-support,acl,"
 PACKAGECONFIG[attr] = "--enable-xattr-support,--disable-xattr-support,attr,"
 PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
+PACKAGECONFIG[lz4] = "--enable-lz4,--disable-lz4,lz4"
+PACKAGECONFIG[openssl] = "--enable-openssl,--disable-openssl,openssl"
+PACKAGECONFIG[xxhash] = "--enable-xxhash,--disable-xxhash,xxhash"
+PACKAGECONFIG[zstd] = "--enable-zstd,--disable-zstd,zstd"
 
 # By default, if crosscompiling, rsync disables a number of
 # capabilities, hardlinking symlinks and special files (i.e. devices)
 CACHED_CONFIGUREVARS += "rsync_cv_can_hardlink_special=yes rsync_cv_can_hardlink_symlink=yes"
 
 EXTRA_OEMAKE = 'STRIP=""'
+EXTRA_OECONF = "--disable-simd --disable-md2man --disable-asm"
 
 # rsync 3.0 uses configure.sh instead of configure, and
 # makefile checks the existence of configure.sh
diff --git a/poky/meta/recipes-extended/bzip2/bzip2/Makefile.am b/poky/meta/recipes-extended/bzip2/bzip2/Makefile.am
index dcf6458..d449894 100644
--- a/poky/meta/recipes-extended/bzip2/bzip2/Makefile.am
+++ b/poky/meta/recipes-extended/bzip2/bzip2/Makefile.am
@@ -46,6 +46,7 @@
 	else echo "FAIL: sample2 decompress"; fi
 	@if cmp sample3.tst sample3.ref; then echo "PASS: sample3 decompress";\
 	else echo "FAIL: sample3 decompress"; fi
+	./bzip2-tests/run-tests.sh --tests-dir="$(PWD)/bzip2-tests"
 
 install-ptest:
 	sed  -n '/^runtest:/,/^install-ptest:/{/^install-ptest:/!p}' \
diff --git a/poky/meta/recipes-extended/bzip2/bzip2_1.0.8.bb b/poky/meta/recipes-extended/bzip2/bzip2_1.0.8.bb
index d58f553..70eb67f 100644
--- a/poky/meta/recipes-extended/bzip2/bzip2_1.0.8.bb
+++ b/poky/meta/recipes-extended/bzip2/bzip2_1.0.8.bb
@@ -4,10 +4,25 @@
 LZ77/LZ78-based compressors, and approaches the performance of the PPM family of statistical compressors."
 HOMEPAGE = "https://sourceware.org/bzip2/"
 SECTION = "console/utils"
-LICENSE = "bzip2-1.0.6"
-LIC_FILES_CHKSUM = "file://LICENSE;beginline=4;endline=37;md5=600af43c50f1fcb82e32f19b32df4664"
+LICENSE = "bzip2-1.0.6 & GPLv3+ & Apache-2.0 & MS-PL & BSD-3-Clause & Zlib"
+LICENSE_${PN} = "bzip2-1.0.6"
+LICENSE_${PN}-dev = "bzip2-1.0.6"
+LICENSE_${PN}-dbg = "bzip2-1.0.6"
+LICENSE_${PN}-doc = "bzip2-1.0.6"
+LICENSE_${PN}-src = "bzip2-1.0.6"
+LICENSE_libbz2 = "bzip2-1.0.6"
+LICENSE_${PN}-ptest = "bzip2-1.0.6 & GPLv3+ & Apache-2.0 & MS-PL & BSD-3-Clause & Zlib"
+
+LIC_FILES_CHKSUM = "file://LICENSE;beginline=4;endline=37;md5=600af43c50f1fcb82e32f19b32df4664 \
+                    file://${WORKDIR}/git/commons-compress/LICENSE.txt;md5=86d3f3a95c324c9479bd8986968f4327 \
+                    file://${WORKDIR}/git/dotnetzip/License.txt;md5=9cb56871eed4e748c3bc7e8ff352a54f \
+                    file://${WORKDIR}/git/dotnetzip/License.zlib.txt;md5=cc421ccd22eeb2e5db6b79e6de0a029f \
+                    file://${WORKDIR}/git/go/LICENSE;md5=5d4950ecb7b26d2c5e4e7b4e0dd74707 \
+                    file://${WORKDIR}/git/lbzip2/COPYING;md5=d32239bcb673463ab874e80d47fae504 \
+"
 
 SRC_URI = "https://sourceware.org/pub/${BPN}/${BPN}-${PV}.tar.gz \
+           git://sourceware.org/git/bzip2-tests.git;name=bzip2-tests \
            file://configure.ac;subdir=${BP} \
            file://Makefile.am;subdir=${BP} \
            file://run-ptest \
@@ -15,6 +30,8 @@
 SRC_URI[md5sum] = "67e051268d0c475ea773822f7500d0e5"
 SRC_URI[sha256sum] = "ab5a03176ee106d3f0fa90e381da478ddae405918153cca248e682cd0c4a2269"
 
+SRCREV_bzip2-tests = "f9061c030a25de5b6829e1abf373057309c734c0"
+
 UPSTREAM_CHECK_URI = "https://www.sourceware.org/pub/bzip2/"
 
 PACKAGES =+ "libbz2"
@@ -34,12 +51,20 @@
 }
 
 do_install_ptest () {
+	install -d ${D}${PTEST_PATH}/bzip2-tests
+	cp -r ${WORKDIR}/git/commons-compress ${D}${PTEST_PATH}/bzip2-tests/commons-compress
+	cp -r ${WORKDIR}/git/dotnetzip ${D}${PTEST_PATH}/bzip2-tests/dotnetzip
+	cp -r ${WORKDIR}/git/go ${D}${PTEST_PATH}/bzip2-tests/go
+	cp -r ${WORKDIR}/git/lbzip2 ${D}${PTEST_PATH}/bzip2-tests/lbzip2
+	cp -r ${WORKDIR}/git/pyflate ${D}${PTEST_PATH}/bzip2-tests/pyflate
+	cp ${WORKDIR}/git/README ${D}${PTEST_PATH}/bzip2-tests/
+	cp ${WORKDIR}/git/run-tests.sh ${D}${PTEST_PATH}/bzip2-tests/
 	sed -i -e "s|^Makefile:|_Makefile:|" ${D}${PTEST_PATH}/Makefile
 }
 
 FILES_libbz2 = "${libdir}/lib*${SOLIBS}"
 
-RDEPENDS_${PN}-ptest += "make"
+RDEPENDS_${PN}-ptest += "make bash"
 
 PROVIDES_append_class-native = " bzip2-replacement-native"
 BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-extended/cpio/cpio_2.13.bb b/poky/meta/recipes-extended/cpio/cpio_2.13.bb
index 9e35a80..94d8610 100644
--- a/poky/meta/recipes-extended/cpio/cpio_2.13.bb
+++ b/poky/meta/recipes-extended/cpio/cpio_2.13.bb
@@ -23,7 +23,9 @@
     if [ "${base_bindir}" != "${bindir}" ]; then
         install -d ${D}${base_bindir}/
         mv "${D}${bindir}/cpio" "${D}${base_bindir}/cpio"
-        rmdir ${D}${bindir}/
+        if [ "${sbindir}" != "${bindir}" ]; then
+            rmdir ${D}${bindir}/
+        fi
     fi
 
     # Avoid conflicts with the version from tar
@@ -46,4 +48,4 @@
 ALTERNATIVE_PRIORITY[rmt] = "50"
 ALTERNATIVE_LINK_NAME[rmt] = "${sbindir}/rmt"
 
-BBCLASSEXTEND = "native"
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-extended/stress-ng/stress-ng/no_daddr_t.patch b/poky/meta/recipes-extended/stress-ng/stress-ng/no_daddr_t.patch
index 877f4f0..dba4494 100644
--- a/poky/meta/recipes-extended/stress-ng/stress-ng/no_daddr_t.patch
+++ b/poky/meta/recipes-extended/stress-ng/stress-ng/no_daddr_t.patch
@@ -1,4 +1,7 @@
-Define daddr_t if __DADDR_T_TYPE is not defined
+From 55e11765af2bdc8adfac87dab1fb2682f7e6c236 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 9 Jun 2020 22:10:28 -0700
+Subject: [PATCH] Define daddr_t if __DADDR_T_TYPE is not defined
 
 glibc defined daddr_t but musl does not, ideally it should not be used
 and simple int type is enough. However, its better to leave glibc behavior
@@ -7,9 +10,16 @@
 Upstream-Status: Pending
 
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+---
+ stress-ng.h | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/stress-ng.h b/stress-ng.h
+index 1a66293..802dc25 100644
 --- a/stress-ng.h
 +++ b/stress-ng.h
-@@ -3750,6 +3750,10 @@ struct shim_statx {
+@@ -3763,6 +3763,10 @@ struct shim_statx {
  	uint64_t __spare2[14];
  };
  
@@ -19,4 +29,4 @@
 +
  /* old ustat struct */
  struct shim_ustat {
- 	daddr_t	f_tfree;
+ #if defined(HAVE_DADDR_T)
diff --git a/poky/meta/recipes-extended/stress-ng/stress-ng_0.11.12.bb b/poky/meta/recipes-extended/stress-ng/stress-ng_0.11.14.bb
similarity index 89%
rename from poky/meta/recipes-extended/stress-ng/stress-ng_0.11.12.bb
rename to poky/meta/recipes-extended/stress-ng/stress-ng_0.11.14.bb
index c00086c..f1d91da 100644
--- a/poky/meta/recipes-extended/stress-ng/stress-ng_0.11.12.bb
+++ b/poky/meta/recipes-extended/stress-ng/stress-ng_0.11.14.bb
@@ -9,7 +9,7 @@
            file://0001-Do-not-preserve-ownership-when-installing-example-jo.patch \
            file://no_daddr_t.patch \
            "
-SRC_URI[sha256sum] = "0ccf437ca1876a3e8a55986c6481697045203a17f5994cb2f5096cd461d18031"
+SRC_URI[sha256sum] = "b21436fdbd9dc482a3fd95ae27cccf0097d0f226361ea3785215f7a4ad50136b"
 
 DEPENDS = "coreutils-native"
 
diff --git a/poky/meta/recipes-extended/sudo/sudo/0001-Include-sys-types.h-for-id_t-definition.patch b/poky/meta/recipes-extended/sudo/sudo/0001-Include-sys-types.h-for-id_t-definition.patch
deleted file mode 100644
index eb36cd4..0000000
--- a/poky/meta/recipes-extended/sudo/sudo/0001-Include-sys-types.h-for-id_t-definition.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 386e2c2fa2ab2e02ef71c268a57205139be329ab Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 31 Aug 2015 07:07:49 +0000
-Subject: [PATCH] Include sys/types.h for id_t definition
-
-/sudo_util.h:219:14: error: unknown type name 'id_t'
- __dso_public id_t sudo_strtoid_v1(const char *str, const char *sep,
- char **endp, const char **errstr);
-               ^
-	       make[1]: *** [preserve_fds.o] Error 1
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Pending
-
- include/sudo_util.h | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/include/sudo_util.h b/include/sudo_util.h
-index 89c9f89..ac0855a 100644
---- a/include/sudo_util.h
-+++ b/include/sudo_util.h
-@@ -17,6 +17,8 @@
- #ifndef SUDO_UTIL_H
- #define SUDO_UTIL_H
- 
-+#include <sys/types.h>
-+
- #ifdef HAVE_STDBOOL_H
- # include <stdbool.h>
- #else
--- 
-2.5.1
-
diff --git a/poky/meta/recipes-extended/sudo/sudo_1.9.0.bb b/poky/meta/recipes-extended/sudo/sudo_1.9.1.bb
similarity index 83%
rename from poky/meta/recipes-extended/sudo/sudo_1.9.0.bb
rename to poky/meta/recipes-extended/sudo/sudo_1.9.1.bb
index 7626653..aac505a 100644
--- a/poky/meta/recipes-extended/sudo/sudo_1.9.0.bb
+++ b/poky/meta/recipes-extended/sudo/sudo_1.9.1.bb
@@ -2,13 +2,11 @@
 
 SRC_URI = "https://www.sudo.ws/dist/sudo-${PV}.tar.gz \
            ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} \
-           file://0001-Include-sys-types.h-for-id_t-definition.patch \
            "
 
 PAM_SRC_URI = "file://sudo.pam"
 
-SRC_URI[md5sum] = "060b91a6b171cb7ce587222664549b2c"
-SRC_URI[sha256sum] = "ab231439c5dfdf4ecbef74f10d5f7e9686c2255c2f3887085b5c5e13281bf95c"
+SRC_URI[sha256sum] = "294116cefe10a02773917fc7440d8384b925955bc96a6e0eaa1977c83b34adff"
 
 DEPENDS += " virtual/crypt ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
 RDEPENDS_${PN} += " ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam-plugin-limits pam-plugin-keyinit', '', d)}"
@@ -39,8 +37,8 @@
 	chmod 4111 ${D}${bindir}/sudo
 	chmod 0440 ${D}${sysconfdir}/sudoers
 
-	# Explicitly remove the /run directory to avoid QA error
-	rmdir -p --ignore-fail-on-non-empty ${D}/run/sudo
+	# Explicitly remove the /sudo directory to avoid QA error
+	rmdir -p --ignore-fail-on-non-empty ${D}/sudo
 }
 
 FILES_${PN} += "${nonarch_libdir}/tmpfiles.d"
diff --git a/poky/meta/recipes-gnome/gnome/adwaita-icon-theme_3.36.1.bb b/poky/meta/recipes-gnome/gnome/adwaita-icon-theme_3.36.1.bb
index 473e1fc..2d78bea 100644
--- a/poky/meta/recipes-gnome/gnome/adwaita-icon-theme_3.36.1.bb
+++ b/poky/meta/recipes-gnome/gnome/adwaita-icon-theme_3.36.1.bb
@@ -4,7 +4,9 @@
 SECTION = "x11/gnome"
 
 LICENSE = "LGPL-3.0 | CC-BY-SA-3.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=c84cac88e46fc07647ea07e6c24eeb7c"
+LIC_FILES_CHKSUM = "file://COPYING;md5=c84cac88e46fc07647ea07e6c24eeb7c \
+                    file://COPYING_CCBYSA3;md5=96143d33de3a79321b1006c4e8ed07e7 \
+                    file://COPYING_LGPL;md5=e6a600fd5e1d9cbde2d983680233ad02"
 
 inherit allarch autotools pkgconfig gettext gtk-icon-cache upstream-version-is-even
 
diff --git a/poky/meta/recipes-gnome/gtk+/gtk+3.inc b/poky/meta/recipes-gnome/gtk+/gtk+3.inc
index e1ecf50..8d5edb7 100644
--- a/poky/meta/recipes-gnome/gtk+/gtk+3.inc
+++ b/poky/meta/recipes-gnome/gtk+/gtk+3.inc
@@ -1,3 +1,4 @@
+
 SUMMARY = "Multi-platform toolkit for creating GUIs"
 DESCRIPTION = "GTK+ is a multi-platform toolkit for creating graphical user interfaces. Offering a complete \
 set of widgets, GTK+ is suitable for projects ranging from small one-off projects to complete application suites."
@@ -31,6 +32,13 @@
     ln -s ${TARGET_PREFIX}libtool libtool
     #delete a file that will get confused with generated one in ${B}
     rm -f ${S}/gtk/gtktypefuncs.c
+
+    # These files are generated by wayland-scanner but will race over modification
+    # time between the copies in the sysroot from wayland-protocols and the copy
+    # in the source tree. Solve the race by deleting so they need to be regenerated.
+    # 3.24.22 will not be shipping these files so this can be deleted then:
+    # https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/2183
+    rm -f ${S}/modules/input/text-input-unstable-v3*.[ch]
 }
 
 EXTRA_OECONF += " \
diff --git a/poky/meta/recipes-gnome/gtk+/gtk+3_3.24.20.bb b/poky/meta/recipes-gnome/gtk+/gtk+3_3.24.21.bb
similarity index 84%
rename from poky/meta/recipes-gnome/gtk+/gtk+3_3.24.20.bb
rename to poky/meta/recipes-gnome/gtk+/gtk+3_3.24.21.bb
index e5744a4..70c0e66 100644
--- a/poky/meta/recipes-gnome/gtk+/gtk+3_3.24.20.bb
+++ b/poky/meta/recipes-gnome/gtk+/gtk+3_3.24.21.bb
@@ -8,8 +8,8 @@
            file://0003-Add-disable-opengl-configure-option.patch \
            file://link_fribidi.patch \
            "
-SRC_URI[md5sum] = "b302acc0a4b42e2980ef18628f9ce951"
-SRC_URI[sha256sum] = "2dac69f716e8d04ba7a95091589e2baaec95dcace932cb15839163db479b1df3"
+SRC_URI[md5sum] = "95afed6c860d27de827db66434d681da"
+SRC_URI[sha256sum] = "aeea6ae7cd35e83dfc7699be716519faefca346c62e784dd1a37d9df94c08f52"
 
 S = "${WORKDIR}/gtk+-${PV}"
 
diff --git a/poky/meta/recipes-graphics/cogl/cogl-1.0/0001-configure.ac-don-t-require-eglmesaext.h.patch b/poky/meta/recipes-graphics/cogl/cogl-1.0/0001-configure.ac-don-t-require-eglmesaext.h.patch
new file mode 100644
index 0000000..328984a
--- /dev/null
+++ b/poky/meta/recipes-graphics/cogl/cogl-1.0/0001-configure.ac-don-t-require-eglmesaext.h.patch
@@ -0,0 +1,92 @@
+From bb9765a926588ebfe1eb324fbbe8fc22d419eebe Mon Sep 17 00:00:00 2001
+From: Max Krummenacher <max.krummenacher@toradex.com>
+Date: Thu, 25 Jun 2020 11:27:40 +0000
+Subject: [PATCH] configure.ac: don't require eglmesaext.h
+
+E.g. the Vivante EGL implementation does not provide eglmesaext.h.
+
+The commit moves the check for header file existence outside of the
+check for existence of a egl packageconfig and makes the existence
+of eglmesaext.h optional.
+
+fixes commit fb1acfec ("Fix building against libglvnd-provided EGL headers")
+Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
+
+Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/cogl/-/merge_requests/28]
+Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
+---
+ configure.ac | 51 ++++++++++++++++++++++++++++++++-------------------
+ 1 file changed, 32 insertions(+), 19 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index b7ba95d..0d1d8de 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1212,22 +1212,6 @@ AS_IF([test "x$NEED_EGL" = "xyes" && test "x$EGL_CHECKED" != "xyes"],
+         PKG_CHECK_EXISTS([egl],
+           [COGL_PKG_REQUIRES="$COGL_PKG_REQUIRES egl"],
+           [
+-            AC_CHECK_HEADERS(
+-              [EGL/egl.h],
+-              [],
+-              [AC_MSG_ERROR([Unable to locate required EGL headers])])
+-            AC_CHECK_HEADERS(
+-              [EGL/eglext.h],
+-              [],
+-              [AC_MSG_ERROR([Unable to locate required EGL headers])],
+-              [#include <EGL/egl.h>])
+-            AC_CHECK_HEADERS(
+-              [EGL/eglmesaext.h],
+-              [],
+-              [AC_MSG_ERROR([Unable to locate required EGL headers])],
+-              [#include <EGL/egl.h>
+-#include <EGL/eglext.h>])
+-
+             AC_CHECK_LIB(EGL, [eglInitialize],
+               [COGL_EXTRA_LDFLAGS="$COGL_EXTRA_LDFLAGS -lEGL"],
+               [AC_MSG_ERROR([Unable to locate required EGL library])])
+@@ -1236,9 +1220,38 @@ AS_IF([test "x$NEED_EGL" = "xyes" && test "x$EGL_CHECKED" != "xyes"],
+           ]
+           )
+ 
+-        COGL_EGL_INCLUDES="#include <EGL/egl.h>
+-#include <EGL/eglext.h>
+-#include <EGL/eglmesaext.h>"
++dnl Test for the existence of egl headers.
++dnl egl*.h includes eglplatform.h which on __unix__ defaults to a X11 platform.
++dnl In that case AC_CHECK_HEADERS failes if X11 headers are not available.
++dnl Set the usual include guard define and, if the EGL implementation doesn't
++dnl use that guard fall back to USE_OZONE and EGL_NO_X11 platforms which don't
++dnl require additional headers.
++        AC_CHECK_HEADERS(
++          [EGL/egl.h],
++          [COGL_EGL_INCLUDES="#include <EGL/egl.h>"],
++          [AC_MSG_ERROR([Unable to locate required EGL headers])],
++          [#define __egl_h_
++ #define USE_OZONE
++ #define EGL_NO_X11])
++        AC_CHECK_HEADERS(
++          [EGL/eglext.h],
++          [COGL_EGL_INCLUDES="$COGL_EGL_INCLUDES
++#include <EGL/eglext.h>"],
++          [AC_MSG_ERROR([Unable to locate required EGL headers])],
++          [#define __eglext_h_
++ #define USE_OZONE
++ #define EGL_NO_X11
++$COGL_EGL_INCLUDES])
++        AC_CHECK_HEADERS(
++          [EGL/eglmesaext.h],
++          [COGL_EGL_INCLUDES="$COGL_EGL_INCLUDES
++#include <EGL/eglmesaext.h>"],
++          [],
++          [#define __eglmesaext_h_
++#define USE_OZONE
++#define EGL_NO_X11
++$COGL_EGL_INCLUDES])
++
+         AC_SUBST([COGL_EGL_INCLUDES])
+       ])
+ 
+-- 
+2.20.1
+
diff --git a/poky/meta/recipes-graphics/cogl/cogl-1.0_1.22.8.bb b/poky/meta/recipes-graphics/cogl/cogl-1.0_1.22.8.bb
index 78f6b0e..b9446fa 100644
--- a/poky/meta/recipes-graphics/cogl/cogl-1.0_1.22.8.bb
+++ b/poky/meta/recipes-graphics/cogl/cogl-1.0_1.22.8.bb
@@ -1,5 +1,6 @@
 require cogl-1.0.inc
 
+SRC_URI += "file://0001-configure.ac-don-t-require-eglmesaext.h.patch"
 SRC_URI[archive.sha256sum] = "a805b2b019184710ff53d0496f9f0ce6dcca420c141a0f4f6fcc02131581d759"
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=1b1a508d91d25ca607c83f92f3e31c84"
diff --git a/poky/meta/recipes-graphics/jpeg/libjpeg-turbo_2.0.4.bb b/poky/meta/recipes-graphics/jpeg/libjpeg-turbo_2.0.5.bb
similarity index 94%
rename from poky/meta/recipes-graphics/jpeg/libjpeg-turbo_2.0.4.bb
rename to poky/meta/recipes-graphics/jpeg/libjpeg-turbo_2.0.5.bb
index 62ad504..9729fb5 100644
--- a/poky/meta/recipes-graphics/jpeg/libjpeg-turbo_2.0.4.bb
+++ b/poky/meta/recipes-graphics/jpeg/libjpeg-turbo_2.0.5.bb
@@ -14,8 +14,8 @@
            file://0001-libjpeg-turbo-fix-package_qa-error.patch \
            "
 
-SRC_URI[md5sum] = "d01d9e0c28c27bc0de9f4e2e8ff49855"
-SRC_URI[sha256sum] = "33dd8547efd5543639e890efbf2ef52d5a21df81faf41bb940657af916a23406"
+SRC_URI[md5sum] = "3a7dc293918775fc933f81e2bce36464"
+SRC_URI[sha256sum] = "16f8f6f2715b3a38ab562a84357c793dd56ae9899ce130563c72cd93d8357b5d"
 UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/libjpeg-turbo/files/"
 UPSTREAM_CHECK_REGEX = "/libjpeg-turbo/files/(?P<pver>(\d+[\.\-_]*)+)/"
 
diff --git a/poky/meta/recipes-graphics/mesa/files/0002-meson.build-make-TLS-ELF-optional.patch b/poky/meta/recipes-graphics/mesa/files/0002-meson.build-make-TLS-ELF-optional.patch
index cd35a1f..91e59d1 100644
--- a/poky/meta/recipes-graphics/mesa/files/0002-meson.build-make-TLS-ELF-optional.patch
+++ b/poky/meta/recipes-graphics/mesa/files/0002-meson.build-make-TLS-ELF-optional.patch
@@ -1,4 +1,4 @@
-From df835389699b32bb6610b39972502e323f8e09e5 Mon Sep 17 00:00:00 2001
+From dd1d15c75f6ff8ee96cf1e7b74e582bff3183ef6 Mon Sep 17 00:00:00 2001
 From: Alistair Francis <alistair@alistair23.me>
 Date: Thu, 14 Nov 2019 13:08:31 -0800
 Subject: [PATCH] meson.build: make TLS ELF optional
@@ -15,10 +15,10 @@
  2 files changed, 7 insertions(+), 1 deletion(-)
 
 diff --git a/meson.build b/meson.build
-index 09e3759..a954118 100644
+index 261b588..311436e 100644
 --- a/meson.build
 +++ b/meson.build
-@@ -387,7 +387,7 @@ if with_egl and not (with_platform_drm or with_platform_surfaceless or with_plat
+@@ -392,7 +392,7 @@ if with_egl and not (with_platform_drm or with_platform_surfaceless or with_plat
  endif
  
  # Android uses emutls for versions <= P/28. For USE_ELF_TLS we need ELF TLS.
@@ -28,10 +28,10 @@
  endif
  
 diff --git a/meson_options.txt b/meson_options.txt
-index 626baf3..637ff14 100644
+index ab43150..d7b1555 100644
 --- a/meson_options.txt
 +++ b/meson_options.txt
-@@ -341,6 +341,12 @@ option(
+@@ -355,6 +355,12 @@ option(
    value : true,
    description : 'Enable direct rendering in GLX and EGL for DRI',
  )
@@ -42,5 +42,5 @@
 +  description : 'Enable TLS support in ELF',
 +)
  option(
-   'I-love-half-baked-turnips',
+   'prefer-iris',
    type : 'boolean',
diff --git a/poky/meta/recipes-graphics/mesa/files/0005-vc4-use-intmax_t-for-formatted-output-of-timespec-me.patch b/poky/meta/recipes-graphics/mesa/files/0005-vc4-use-intmax_t-for-formatted-output-of-timespec-me.patch
index 901feca..dacb1ea 100644
--- a/poky/meta/recipes-graphics/mesa/files/0005-vc4-use-intmax_t-for-formatted-output-of-timespec-me.patch
+++ b/poky/meta/recipes-graphics/mesa/files/0005-vc4-use-intmax_t-for-formatted-output-of-timespec-me.patch
@@ -1,4 +1,4 @@
-From 38a313474e127d61e749866423e708fc86ed9ec5 Mon Sep 17 00:00:00 2001
+From 281a636353666bfdd373c62591e744087e750e89 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Wed, 4 Dec 2019 14:15:28 -0800
 Subject: [PATCH] vc4: use intmax_t for formatted output of timespec members
@@ -13,13 +13,14 @@
 
 Upstream-Status: Submitted [https://gitlab.freedesktop.org/mesa/mesa/merge_requests/2966]
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
 ---
  src/gallium/drivers/v3d/v3d_bufmgr.c | 4 ++--
  src/gallium/drivers/vc4/vc4_bufmgr.c | 4 ++--
  2 files changed, 4 insertions(+), 4 deletions(-)
 
 diff --git a/src/gallium/drivers/v3d/v3d_bufmgr.c b/src/gallium/drivers/v3d/v3d_bufmgr.c
-index b3e4d053cc0..c514bf00bf0 100644
+index 31a0803..cc2e2af 100644
 --- a/src/gallium/drivers/v3d/v3d_bufmgr.c
 +++ b/src/gallium/drivers/v3d/v3d_bufmgr.c
 @@ -80,8 +80,8 @@ v3d_bo_dump_stats(struct v3d_screen *screen)
@@ -27,27 +28,24 @@
                  struct timespec time;
                  clock_gettime(CLOCK_MONOTONIC, &time);
 -                fprintf(stderr, "  now:               %ld\n",
--                        time.tv_sec);
+-                        (long)time.tv_sec);
 +                fprintf(stderr, "  now:               %jd\n",
 +                        (intmax_t)time.tv_sec);
          }
  }
  
 diff --git a/src/gallium/drivers/vc4/vc4_bufmgr.c b/src/gallium/drivers/vc4/vc4_bufmgr.c
-index 5ec360934c0..bf05f6cadd6 100644
+index a786e8e..975d49e 100644
 --- a/src/gallium/drivers/vc4/vc4_bufmgr.c
 +++ b/src/gallium/drivers/vc4/vc4_bufmgr.c
-@@ -107,8 +107,8 @@ vc4_bo_dump_stats(struct vc4_screen *screen)
+@@ -99,8 +99,8 @@ vc4_bo_dump_stats(struct vc4_screen *screen)
  
                  struct timespec time;
                  clock_gettime(CLOCK_MONOTONIC, &time);
 -                fprintf(stderr, "  now:               %ld\n",
--                        time.tv_sec);
+-                        (long)time.tv_sec);
 +                fprintf(stderr, "  now:               %jd\n",
 +                        (intmax_t)time.tv_sec);
          }
  }
  
--- 
-2.24.0
-
diff --git a/poky/meta/recipes-graphics/mesa/mesa-gl_20.0.7.bb b/poky/meta/recipes-graphics/mesa/mesa-gl_20.1.2.bb
similarity index 100%
rename from poky/meta/recipes-graphics/mesa/mesa-gl_20.0.7.bb
rename to poky/meta/recipes-graphics/mesa/mesa-gl_20.1.2.bb
diff --git a/poky/meta/recipes-graphics/mesa/mesa.inc b/poky/meta/recipes-graphics/mesa/mesa.inc
index 965e12d..4fe5f02 100644
--- a/poky/meta/recipes-graphics/mesa/mesa.inc
+++ b/poky/meta/recipes-graphics/mesa/mesa.inc
@@ -23,8 +23,7 @@
            file://0001-meson-misdetects-64bit-atomics-on-mips-clang.patch \
            "
 
-SRC_URI[md5sum] = "609cb7664204e031d4c65c602c652a28"
-SRC_URI[sha256sum] = "fe6e258fe772c3cd2ac01741bf7408058c3ac02d66acff9a6e669bd72e3ea178"
+SRC_URI[sha256sum] = "283dff72814c8a80ce1ff8271e3f055895d26f4da3f4362acc49193e635780cb"
 
 UPSTREAM_CHECK_GITTAGREGEX = "mesa-(?P<pver>\d+(\.\d+)+)"
 
diff --git a/poky/meta/recipes-graphics/mesa/mesa_20.0.7.bb b/poky/meta/recipes-graphics/mesa/mesa_20.1.2.bb
similarity index 94%
rename from poky/meta/recipes-graphics/mesa/mesa_20.0.7.bb
rename to poky/meta/recipes-graphics/mesa/mesa_20.1.2.bb
index d17d9eb..96e8aa3 100644
--- a/poky/meta/recipes-graphics/mesa/mesa_20.0.7.bb
+++ b/poky/meta/recipes-graphics/mesa/mesa_20.1.2.bb
@@ -1 +1,2 @@
 require ${BPN}.inc
+
diff --git a/poky/meta/recipes-graphics/piglit/piglit_git.bb b/poky/meta/recipes-graphics/piglit/piglit_git.bb
index 47950c8..e531ffc 100644
--- a/poky/meta/recipes-graphics/piglit/piglit_git.bb
+++ b/poky/meta/recipes-graphics/piglit/piglit_git.bb
@@ -10,7 +10,7 @@
            "
 UPSTREAM_CHECK_COMMITS = "1"
 
-SRCREV = "5cc4fd749375f37e8e8725a86072d8cff7173b98"
+SRCREV = "7d76fca56e8ca72ab6809f6f0234b5971af5690a"
 # (when PV goes above 1.0 remove the trailing r)
 PV = "1.0+gitr${SRCPV}"
 
diff --git a/poky/meta/recipes-graphics/xorg-app/xinit_1.4.1.bb b/poky/meta/recipes-graphics/xorg-app/xinit_1.4.1.bb
index c9e28d9..301ea1c 100644
--- a/poky/meta/recipes-graphics/xorg-app/xinit_1.4.1.bb
+++ b/poky/meta/recipes-graphics/xorg-app/xinit_1.4.1.bb
@@ -19,4 +19,7 @@
 
 EXTRA_OECONF = "ac_cv_path_MCOOKIE=${bindir}/mcookie"
 
+PACKAGECONFIG ??= "rxvt"
+PACKAGECONFIG[rxvt] = "--with-xterm=rxvt,,,rxvt-unicode"
+
 RDEPENDS_${PN} += "util-linux-mcookie"
diff --git a/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20200519.bb b/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20200619.bb
similarity index 99%
rename from poky/meta/recipes-kernel/linux-firmware/linux-firmware_20200519.bb
rename to poky/meta/recipes-kernel/linux-firmware/linux-firmware_20200619.bb
index 18f44bc..392e03a 100644
--- a/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20200519.bb
+++ b/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20200619.bb
@@ -126,7 +126,7 @@
                     file://LICENCE.xc4000;md5=0ff51d2dc49fce04814c9155081092f0 \
                     file://LICENCE.xc5000;md5=1e170c13175323c32c7f4d0998d53f66 \
                     file://LICENCE.xc5000c;md5=12b02efa3049db65d524aeb418dd87ca \
-                    file://WHENCE;md5=c15cee50b1a59d27106a37c2929d5291 \
+                    file://WHENCE;md5=d373d30188c38dabffec0d3cc87abbfd \
                     "
 
 # These are not common licenses, set NO_GENERIC_LICENSE for them
@@ -198,7 +198,7 @@
 
 SRC_URI = "${KERNELORG_MIRROR}/linux/kernel/firmware/${BPN}-${PV}.tar.xz"
 
-SRC_URI[sha256sum] = "584c49c58291136b966ceffb0a456a672c23d4d759bab8bf86cbbe28061e415e"
+SRC_URI[sha256sum] = "962d3ae197d226c8259f9cc7746f7ef12a9d23787cd56bd27302021ba6339722"
 
 inherit allarch
 
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb b/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb
index 8a61b22..175836e 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb
@@ -30,7 +30,7 @@
 SRCREV_machine ?= '${@oe.utils.conditional("PREFERRED_PROVIDER_virtual/kernel", "linux-yocto-dev", "${AUTOREV}", "29594404d7fe73cd80eaa4ee8c43dcc53970c60e", d)}'
 SRCREV_meta ?= '${@oe.utils.conditional("PREFERRED_PROVIDER_virtual/kernel", "linux-yocto-dev", "${AUTOREV}", "29594404d7fe73cd80eaa4ee8c43dcc53970c60e", d)}'
 
-LINUX_VERSION ?= "5.7-rc+"
+LINUX_VERSION ?= "5.8-rc+"
 LINUX_VERSION_EXTENSION ?= "-yoctodev-${LINUX_KERNEL_TYPE}"
 PV = "${LINUX_VERSION}+git${SRCPV}"
 
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.4.bb b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.4.bb
index a9213c2..a4b593b 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.4.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.4.bb
@@ -11,13 +11,13 @@
         raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it")
 }
 
-SRCREV_machine ?= "1afad41c91e13f957bbe61fa7fdc05a77e84d489"
-SRCREV_meta ?= "aafb8f095e97013d6e55b09ed150369cbe0c6476"
+SRCREV_machine ?= "6415a4e7c405526f97049ede833f52127a5ce7a1"
+SRCREV_meta ?= "416566e1f01c3c02ca5b3a03d0943df387d521f0"
 
 SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine \
            git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.4;destsuffix=${KMETA}"
 
-LINUX_VERSION ?= "5.4.43"
+LINUX_VERSION ?= "5.4.50"
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
 
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.4.bb b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.4.bb
index aab53be..0622d33 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.4.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.4.bb
@@ -6,7 +6,7 @@
 
 require recipes-kernel/linux/linux-yocto.inc
 
-LINUX_VERSION ?= "5.4.43"
+LINUX_VERSION ?= "5.4.50"
 LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
 
 DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
@@ -15,9 +15,9 @@
 KMETA = "kernel-meta"
 KCONF_BSP_AUDIT_LEVEL = "2"
 
-SRCREV_machine_qemuarm ?= "c3864bf2906c5075305bf675c27788505ea93047"
-SRCREV_machine ?= "9e1b13d7f9d84f691fb9988c5f53c5ab62b8a5e9"
-SRCREV_meta ?= "aafb8f095e97013d6e55b09ed150369cbe0c6476"
+SRCREV_machine_qemuarm ?= "1a8a14e45f01cfee926c5b35d2d67e6f1a7eebfc"
+SRCREV_machine ?= "94667198aabf869571bdff5291a24956796faddf"
+SRCREV_meta ?= "416566e1f01c3c02ca5b3a03d0943df387d521f0"
 
 PV = "${LINUX_VERSION}+git${SRCPV}"
 
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto_5.4.bb b/poky/meta/recipes-kernel/linux/linux-yocto_5.4.bb
index 01795e6..2476b35 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto_5.4.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto_5.4.bb
@@ -12,16 +12,16 @@
 KBRANCH_qemux86-64 ?= "v5.4/standard/base"
 KBRANCH_qemumips64 ?= "v5.4/standard/mti-malta64"
 
-SRCREV_machine_qemuarm ?= "6c628db39bf48f7dd6cd95ae826bcaa18a56df1d"
-SRCREV_machine_qemuarm64 ?= "9e1b13d7f9d84f691fb9988c5f53c5ab62b8a5e9"
-SRCREV_machine_qemumips ?= "c0cd2937ae195344ece04663b30b2049427b3c57"
-SRCREV_machine_qemuppc ?= "9e1b13d7f9d84f691fb9988c5f53c5ab62b8a5e9"
-SRCREV_machine_qemuriscv64 ?= "9e1b13d7f9d84f691fb9988c5f53c5ab62b8a5e9"
-SRCREV_machine_qemux86 ?= "9e1b13d7f9d84f691fb9988c5f53c5ab62b8a5e9"
-SRCREV_machine_qemux86-64 ?= "9e1b13d7f9d84f691fb9988c5f53c5ab62b8a5e9"
-SRCREV_machine_qemumips64 ?= "6254ff1d776b75bc3d9c2c66c083fbc622091cd4"
-SRCREV_machine ?= "9e1b13d7f9d84f691fb9988c5f53c5ab62b8a5e9"
-SRCREV_meta ?= "aafb8f095e97013d6e55b09ed150369cbe0c6476"
+SRCREV_machine_qemuarm ?= "99743105f331e90852ccb9e72ce26134dbcafec6"
+SRCREV_machine_qemuarm64 ?= "94667198aabf869571bdff5291a24956796faddf"
+SRCREV_machine_qemumips ?= "886870e5abaeaaf753fb50a1e5be56336c44c642"
+SRCREV_machine_qemuppc ?= "94667198aabf869571bdff5291a24956796faddf"
+SRCREV_machine_qemuriscv64 ?= "94667198aabf869571bdff5291a24956796faddf"
+SRCREV_machine_qemux86 ?= "94667198aabf869571bdff5291a24956796faddf"
+SRCREV_machine_qemux86-64 ?= "94667198aabf869571bdff5291a24956796faddf"
+SRCREV_machine_qemumips64 ?= "7548abbb409eeef6f0575eed25231090f902559e"
+SRCREV_machine ?= "94667198aabf869571bdff5291a24956796faddf"
+SRCREV_meta ?= "416566e1f01c3c02ca5b3a03d0943df387d521f0"
 
 # remap qemuarm to qemuarma15 for the 5.4 kernel
 # KMACHINE_qemuarm ?= "qemuarma15"
@@ -30,7 +30,7 @@
            git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.4;destsuffix=${KMETA}"
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
-LINUX_VERSION ?= "5.4.43"
+LINUX_VERSION ?= "5.4.50"
 
 DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
 DEPENDS += "openssl-native util-linux-native"
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules_2.12.1.bb b/poky/meta/recipes-kernel/lttng/lttng-modules_2.12.1.bb
index 8d3fb47..c0df0ca 100644
--- a/poky/meta/recipes-kernel/lttng/lttng-modules_2.12.1.bb
+++ b/poky/meta/recipes-kernel/lttng/lttng-modules_2.12.1.bb
@@ -32,11 +32,11 @@
 BBCLASSEXTEND = "devupstream:target"
 LIC_FILES_CHKSUM_class-devupstream = "file://LICENSE;md5=3f882d431dc0f32f1f44c0707aa41128"
 DEFAULT_PREFERENCE_class-devupstream = "-1"
-SRC_URI_class-devupstream = "git://git.lttng.org/lttng-modules;branch=stable-2.11 \
+SRC_URI_class-devupstream = "git://git.lttng.org/lttng-modules;branch=stable-2.12 \
            file://Makefile-Do-not-fail-if-CONFIG_TRACEPOINTS-is-not-en.patch \
            file://BUILD_RUNTIME_BUG_ON-vs-gcc7.patch \
            "
-SRCREV_class-devupstream = "17c413953603f063f2a9d6c3788bec914ce6f955"
-PV_class-devupstream = "2.11.2+git${SRCPV}"
+SRCREV_class-devupstream = "11441f8f17f7825f529e2f6c54d3605771709260"
+PV_class-devupstream = "2.12.1+git${SRCPV}"
 S_class-devupstream = "${WORKDIR}/git"
 SRCREV_FORMAT ?= "lttng_git"
diff --git a/poky/meta/recipes-kernel/modutils-initscripts/modutils-initscripts.bb b/poky/meta/recipes-kernel/modutils-initscripts/modutils-initscripts.bb
index 0f3df55..881b7db 100644
--- a/poky/meta/recipes-kernel/modutils-initscripts/modutils-initscripts.bb
+++ b/poky/meta/recipes-kernel/modutils-initscripts/modutils-initscripts.bb
@@ -24,7 +24,7 @@
 
 PACKAGE_WRITE_DEPS_append = " ${@bb.utils.contains('DISTRO_FEATURES','systemd','systemd-systemctl-native','',d)}"
 pkg_postinst_${PN} () {
-	if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
+	if type systemctl >/dev/null 2>/dev/null; then
 		if [ -n "$D" ]; then
 			OPTS="--root=$D"
 		fi
diff --git a/poky/meta/recipes-kernel/systemtap/systemtap_git.inc b/poky/meta/recipes-kernel/systemtap/systemtap_git.inc
index 116e83f..4ec0703 100644
--- a/poky/meta/recipes-kernel/systemtap/systemtap_git.inc
+++ b/poky/meta/recipes-kernel/systemtap/systemtap_git.inc
@@ -1,7 +1,7 @@
 LICENSE = "GPLv2"
 LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-SRCREV = "044a0640985ef007c0b2fb6eaf660d9d51800cda"
-PV = "4.2"
+SRCREV = "c9c23c987d819d07c6b96b54f8e03188fecd9e46"
+PV = "4.3"
 
 SRC_URI = "git://sourceware.org/git/systemtap.git \
            file://0001-Do-not-let-configure-write-a-python-location-into-th.patch \
diff --git a/poky/meta/recipes-multimedia/alsa/alsa-lib_1.2.2.bb b/poky/meta/recipes-multimedia/alsa/alsa-lib_1.2.3.1.bb
similarity index 89%
rename from poky/meta/recipes-multimedia/alsa/alsa-lib_1.2.2.bb
rename to poky/meta/recipes-multimedia/alsa/alsa-lib_1.2.3.1.bb
index 9a4082f..1eb56f4 100644
--- a/poky/meta/recipes-multimedia/alsa/alsa-lib_1.2.2.bb
+++ b/poky/meta/recipes-multimedia/alsa/alsa-lib_1.2.3.1.bb
@@ -8,8 +8,7 @@
                     "
 
 SRC_URI = "https://www.alsa-project.org/files/pub/lib/${BP}.tar.bz2"
-SRC_URI[md5sum] = "82cdc23a5233d5ed319d2cbc89af5ca5"
-SRC_URI[sha256sum] = "d8e853d8805574777bbe40937812ad1419c9ea7210e176f0def3e6ed255ab3ec"
+SRC_URI[sha256sum] = "1244585515fbebce7d0e53656c1fb614f99accb8413115ce3efb9a9309c4c892"
 
 inherit autotools pkgconfig
 
diff --git a/poky/meta/recipes-multimedia/alsa/alsa-topology-conf_1.2.2.bb b/poky/meta/recipes-multimedia/alsa/alsa-topology-conf_1.2.3.bb
similarity index 83%
rename from poky/meta/recipes-multimedia/alsa/alsa-topology-conf_1.2.2.bb
rename to poky/meta/recipes-multimedia/alsa/alsa-topology-conf_1.2.3.bb
index 2901794..fd949be 100644
--- a/poky/meta/recipes-multimedia/alsa/alsa-topology-conf_1.2.2.bb
+++ b/poky/meta/recipes-multimedia/alsa/alsa-topology-conf_1.2.3.bb
@@ -5,7 +5,7 @@
 LIC_FILES_CHKSUM = "file://LICENSE;md5=20d74d74db9741697903372ad001d3b4"
 
 SRC_URI = "https://www.alsa-project.org/files/pub/lib/${BP}.tar.bz2"
-SRC_URI[sha256sum] = "b472d6b567c78173bd69543d9cffc9e379c80eb763c3afc8d5b24d5610d19425"
+SRC_URI[sha256sum] = "833f99b2cbda34e0cfef867ef1d2e6a74fe276bb7fc525a573be32077f629dff"
 
 inherit allarch
 
diff --git a/poky/meta/recipes-multimedia/alsa/alsa-ucm-conf_1.2.2.bb b/poky/meta/recipes-multimedia/alsa/alsa-ucm-conf_1.2.3.bb
similarity index 85%
rename from poky/meta/recipes-multimedia/alsa/alsa-ucm-conf_1.2.2.bb
rename to poky/meta/recipes-multimedia/alsa/alsa-ucm-conf_1.2.3.bb
index 1a524d4..19eeabf 100644
--- a/poky/meta/recipes-multimedia/alsa/alsa-ucm-conf_1.2.2.bb
+++ b/poky/meta/recipes-multimedia/alsa/alsa-ucm-conf_1.2.3.bb
@@ -5,7 +5,7 @@
 LIC_FILES_CHKSUM = "file://LICENSE;md5=20d74d74db9741697903372ad001d3b4"
 
 SRC_URI = "https://www.alsa-project.org/files/pub/lib/${BP}.tar.bz2"
-SRC_URI[sha256sum] = "7ebfd929bc85a51f16fa3c8c4db13faa2ea6ff2b2266fc36d6198bdafe73c40c"
+SRC_URI[sha256sum] = "1bc24da04bb27a75e323c9f0fb03e44705b6bb8a8baf255b94b41d457d590d00"
 
 inherit allarch
 
diff --git a/poky/meta/recipes-multimedia/alsa/alsa-utils-scripts_1.2.2.bb b/poky/meta/recipes-multimedia/alsa/alsa-utils-scripts_1.2.3.bb
similarity index 100%
rename from poky/meta/recipes-multimedia/alsa/alsa-utils-scripts_1.2.2.bb
rename to poky/meta/recipes-multimedia/alsa/alsa-utils-scripts_1.2.3.bb
diff --git a/poky/meta/recipes-multimedia/alsa/alsa-utils.inc b/poky/meta/recipes-multimedia/alsa/alsa-utils.inc
index 8bbc5d3..b523a5a 100644
--- a/poky/meta/recipes-multimedia/alsa/alsa-utils.inc
+++ b/poky/meta/recipes-multimedia/alsa/alsa-utils.inc
@@ -21,8 +21,7 @@
 
 # alsa-utils specified in SRC_URI due to alsa-utils-scripts recipe
 SRC_URI = "https://www.alsa-project.org/files/pub/utils/alsa-utils-${PV}.tar.bz2"
-SRC_URI[md5sum] = "00612234ff4722c8f7f8f7a83ff9bc63"
-SRC_URI[sha256sum] = "44807bd578c5f6df6e91a11b8d37e546424a5a1ea8d8e659ee359fe01730e4f3"
+SRC_URI[sha256sum] = "ff19ae48c22938de7a491bdb39db74a2eee2546013f39bf1a86185e426f921aa"
 
 # On build machines with python-docutils (not python3-docutils !!) installed
 # rst2man (not rst2man.py) is detected and compile fails with
diff --git a/poky/meta/recipes-multimedia/alsa/alsa-utils_1.2.2.bb b/poky/meta/recipes-multimedia/alsa/alsa-utils_1.2.3.bb
similarity index 95%
rename from poky/meta/recipes-multimedia/alsa/alsa-utils_1.2.2.bb
rename to poky/meta/recipes-multimedia/alsa/alsa-utils_1.2.3.bb
index ff8945e..3430288 100644
--- a/poky/meta/recipes-multimedia/alsa/alsa-utils_1.2.2.bb
+++ b/poky/meta/recipes-multimedia/alsa/alsa-utils_1.2.3.bb
@@ -1 +1,2 @@
 require alsa-utils.inc
+
diff --git a/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.3.bb b/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.3.bb
index 2b0c38d..b4cf278 100644
--- a/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.3.bb
+++ b/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.3.bb
@@ -57,6 +57,7 @@
 
 # features to support
 PACKAGECONFIG[alsa] = "--enable-alsa,--disable-alsa,alsa-lib"
+PACKAGECONFIG[altivec] = "--enable-altivec,--disable-altivec,"
 PACKAGECONFIG[bzlib] = "--enable-bzlib,--disable-bzlib,bzip2"
 PACKAGECONFIG[fdk-aac] = "--enable-libfdk-aac --enable-nonfree,--disable-libfdk-aac,fdk-aac"
 PACKAGECONFIG[gpl] = "--enable-gpl,--disable-gpl"
diff --git a/poky/meta/recipes-multimedia/gstreamer/gst-examples_1.16.0.bb b/poky/meta/recipes-multimedia/gstreamer/gst-examples_1.16.0.bb
index cc7a7e7..e23d23d 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gst-examples_1.16.0.bb
+++ b/poky/meta/recipes-multimedia/gstreamer/gst-examples_1.16.0.bb
@@ -15,6 +15,7 @@
 
 inherit meson pkgconfig features_check
 
+UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+\.(\d*[02468])+(\.\d+)+)"
 
 ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
 
diff --git a/poky/meta/recipes-sato/puzzles/puzzles_git.bb b/poky/meta/recipes-sato/puzzles/puzzles_git.bb
index 1e53051..a0f3b5d 100644
--- a/poky/meta/recipes-sato/puzzles/puzzles_git.bb
+++ b/poky/meta/recipes-sato/puzzles/puzzles_git.bb
@@ -17,7 +17,7 @@
            "
 
 UPSTREAM_CHECK_COMMITS = "1"
-SRCREV = "66b9e8c7de0eecb3d85d9a1766fab1082848448b"
+SRCREV = "9aa7b7cdfb2bcd200f45941a58d6ae698882a2d4"
 PE = "2"
 PV = "0.0+git${SRCPV}"
 
diff --git a/poky/meta/recipes-sato/rxvt-unicode/rxvt-unicode.inc b/poky/meta/recipes-sato/rxvt-unicode/rxvt-unicode.inc
index b568f04..b064a63 100644
--- a/poky/meta/recipes-sato/rxvt-unicode/rxvt-unicode.inc
+++ b/poky/meta/recipes-sato/rxvt-unicode/rxvt-unicode.inc
@@ -30,6 +30,8 @@
 		--enable-combining --disable-perl \
 		--with-x=${STAGING_DIR_HOST}${prefix}"
 
+EXTRA_OECONF_append_libc-musl = " --disable-wtmp"
+
 PACKAGECONFIG ??= ""
 PACKAGECONFIG[startup] = "--enable-startup-notification,--disable-startup-notification,startup-notification,"
 
diff --git a/poky/meta/recipes-support/curl/curl_7.71.0.bb b/poky/meta/recipes-support/curl/curl_7.71.1.bb
similarity index 97%
rename from poky/meta/recipes-support/curl/curl_7.71.0.bb
rename to poky/meta/recipes-support/curl/curl_7.71.1.bb
index c1abe01..f028f1f 100644
--- a/poky/meta/recipes-support/curl/curl_7.71.0.bb
+++ b/poky/meta/recipes-support/curl/curl_7.71.1.bb
@@ -9,7 +9,7 @@
            file://0001-replace-krb5-config-with-pkg-config.patch \
 "
 
-SRC_URI[sha256sum] = "600f00ac2481a89548a4141ddf983fd9386165e1960bac91d0a1c81dca5dd341"
+SRC_URI[sha256sum] = "9d52a4d80554f9b0d460ea2be5d7be99897a1a9f681ffafe739169afd6b4f224"
 
 CVE_PRODUCT = "curl libcurl"
 inherit autotools pkgconfig binconfig multilib_header
diff --git a/poky/meta/recipes-support/diffoscope/diffoscope_147.bb b/poky/meta/recipes-support/diffoscope/diffoscope_150.bb
similarity index 82%
rename from poky/meta/recipes-support/diffoscope/diffoscope_147.bb
rename to poky/meta/recipes-support/diffoscope/diffoscope_150.bb
index 3db38fa..58bd60a 100644
--- a/poky/meta/recipes-support/diffoscope/diffoscope_147.bb
+++ b/poky/meta/recipes-support/diffoscope/diffoscope_150.bb
@@ -7,7 +7,7 @@
 
 inherit pypi setuptools3
 
-SRC_URI[sha256sum] = "5b5fdaa4d900c891b319e4b9a006eb16824a0b61fdbe15e75acbbe35602e2da6"
+SRC_URI[sha256sum] = "0b9e4ae401fe4cbb8ce89b0bcabe608581d0ed53b91a28f18337179c7494af57"
 
 RDEPENDS_${PN} += "binutils vim squashfs-tools python3-libarchive-c python3-magic"
 
diff --git a/poky/meta/recipes-support/iso-codes/iso-codes_4.5.0.bb b/poky/meta/recipes-support/iso-codes/iso-codes_4.5.0.bb
index 6f9868f..9d02f5c 100644
--- a/poky/meta/recipes-support/iso-codes/iso-codes_4.5.0.bb
+++ b/poky/meta/recipes-support/iso-codes/iso-codes_4.5.0.bb
@@ -5,7 +5,7 @@
 LICENSE = "LGPLv2.1"
 LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
 
-SRC_URI = "git://salsa.debian.org/iso-codes-team/iso-codes.git;protocol=http"
+SRC_URI = "git://salsa.debian.org/iso-codes-team/iso-codes.git;protocol=http;branch=main;"
 SRCREV = "a36019e5014bff251f83d522ddcfebaecf52afd3"
 
 # inherit gettext cannot be used, because it adds gettext-native to BASEDEPENDS which
diff --git a/poky/meta/recipes-support/libcheck/libcheck_0.14.0.bb b/poky/meta/recipes-support/libcheck/libcheck_0.15.0.bb
similarity index 83%
rename from poky/meta/recipes-support/libcheck/libcheck_0.14.0.bb
rename to poky/meta/recipes-support/libcheck/libcheck_0.15.0.bb
index a88f009..177c0ed 100644
--- a/poky/meta/recipes-support/libcheck/libcheck_0.14.0.bb
+++ b/poky/meta/recipes-support/libcheck/libcheck_0.15.0.bb
@@ -7,8 +7,7 @@
 
 SRC_URI = "https://github.com/${BPN}/check/releases/download/${PV}/check-${PV}.tar.gz \
            file://not-echo-compiler-info-to-check_stdint.h.patch"
-SRC_URI[md5sum] = "270e82a445be6026040267a5e11cc94b"
-SRC_URI[sha256sum] = "bd0f0ca1be65b70238b32f8e9fe5d36dc2fbf7a759b7edf28e75323a7d74f30b"
+SRC_URI[sha256sum] = "aea2e3c68fa6e1e92378e744b1c0db350ccda4b6bd0d19530d0ae185b3d1ac60"
 UPSTREAM_CHECK_URI = "https://github.com/libcheck/check/releases/"
 
 S = "${WORKDIR}/check-${PV}"
diff --git a/poky/meta/recipes-support/libgpg-error/libgpg-error/0003-build-Fix-cross-compiling-into-a-separate-build-dir.patch b/poky/meta/recipes-support/libgpg-error/libgpg-error/0003-build-Fix-cross-compiling-into-a-separate-build-dir.patch
new file mode 100644
index 0000000..20610be
--- /dev/null
+++ b/poky/meta/recipes-support/libgpg-error/libgpg-error/0003-build-Fix-cross-compiling-into-a-separate-build-dir.patch
@@ -0,0 +1,43 @@
+From 6efe006e99a7e739afbf7fe8937445c82630fc8f Mon Sep 17 00:00:00 2001
+From: David Michael <fedora.dm0@gmail.com>
+Date: Mon, 1 Jun 2020 10:24:53 -0400
+Subject: [PATCH] build: Fix cross-compiling into a separate build dir.
+
+* configure.ac: Create the src directory before writing into it.
+* src/Makefile.am (EXTRA_DIST): Add gen-lock-obj.sh.
+
+--
+
+Upstream-Status: Backport
+Signed-off-by: David Michael <fedora.dm0@gmail.com>
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ configure.ac    | 1 +
+ src/Makefile.am | 2 +-
+ 2 files changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index def8bba..8c0d845 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -598,6 +598,7 @@ if test x$cross_compiling = xyes; then
+   case $host in
+     *-*-linux*)
+     lock_obj_h_generated=yes
++    mkdir src
+     LOCK_ABI_VERSION=1 host=$host host_alias=$host_alias \
+         CC=$CC OBJDUMP=$host_alias-objdump \
+         ac_ext=$ac_ext ac_objext=$ac_objext \
+diff --git a/src/Makefile.am b/src/Makefile.am
+index 2fb83c0..d773877 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -102,7 +102,7 @@ EXTRA_DIST = mkstrtable.awk err-sources.h.in err-codes.h.in \
+ 	gpg-error.vers gpg-error.def.in \
+         versioninfo.rc.in gpg-error.w32-manifest.in \
+ 	gpg-error-config-test.sh gpg-error.pc.in \
+-	$(lock_obj_pub)
++	gen-lock-obj.sh $(lock_obj_pub)
+ 
+ BUILT_SOURCES = $(srcdir)/err-sources.h $(srcdir)/err-codes.h \
+ 	code-to-errno.h code-from-errno.h \
diff --git a/poky/meta/recipes-support/libgpg-error/libgpg-error/0005-src-gen-lock-obj.sh-add-a-file.patch b/poky/meta/recipes-support/libgpg-error/libgpg-error/0005-src-gen-lock-obj.sh-add-a-file.patch
new file mode 100644
index 0000000..e6f6c09
--- /dev/null
+++ b/poky/meta/recipes-support/libgpg-error/libgpg-error/0005-src-gen-lock-obj.sh-add-a-file.patch
@@ -0,0 +1,134 @@
+From fcb414abb62223e66dba413d0ca86eab3ea5bbc3 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Sun, 21 Jun 2020 13:54:47 +0000
+Subject: [PATCH] src-gen-lock-obj.sh: add a file
+
+This is erroneously missing from the tarball; it will show
+up in the next release tarball, as upstream has fixed the
+packaging in master.
+
+Upstream-Status: Inappropriate
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ src/gen-lock-obj.sh | 112 ++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 112 insertions(+)
+ create mode 100755 src/gen-lock-obj.sh
+
+diff --git a/src/gen-lock-obj.sh b/src/gen-lock-obj.sh
+new file mode 100755
+index 0000000..13858cf
+--- /dev/null
++++ b/src/gen-lock-obj.sh
+@@ -0,0 +1,112 @@
++#! /bin/sh
++#
++# gen-lock-obj.sh - Build tool to construct the lock object.
++#
++# Copyright (C) 2020 g10 Code GmbH
++#
++# This file is part of libgpg-error.
++#
++# libgpg-error is free software; you can redistribute it and/or
++# modify it under the terms of the GNU Lesser General Public License
++# as published by the Free Software Foundation; either version 2.1 of
++# the License, or (at your option) any later version.
++#
++# libgpg-error is distributed in the hope that it will be useful, but
++# WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
++# Lesser General Public License for more details.
++#
++# You should have received a copy of the GNU Lesser General Public
++# License along with this program; if not, see <https://www.gnu.org/licenses/>.
++#
++
++#
++# Following variables should be defined to invoke this script
++#
++#   CC
++#   OBJDUMP
++#   AWK
++#   ac_ext
++#   ac_object
++#   host
++#   LOCK_ABI_VERSION
++#
++# An example:
++#
++# LOCK_ABI_VERSION=1 host=x86_64-pc-linux-gnu host_alias=x86_64-linux-gnu \
++#     CC=$host_alias-gcc OBJDUMP=$host_alias-objdump ac_ext=c ac_objext=o \
++#     AWK=gawk ./gen-lock-obj.sh
++#
++
++AWK_VERSION_OUTPUT=$($AWK 'BEGIN { print PROCINFO["version"] }')
++if test -n "$AWK_VERSION_OUTPUT"; then
++    # It's GNU awk, which supports PROCINFO.
++    AWK_OPTION=--non-decimal-data
++fi
++
++cat <<'EOF' >conftest.$ac_ext
++#include <pthread.h>
++pthread_mutex_t mtx = PTHREAD_MUTEX_INITIALIZER;
++EOF
++
++if $CC -c conftest.$ac_ext; then :
++  ac_mtx_size=$($OBJDUMP -j .bss -t conftest.$ac_objext \
++         | $AWK $AWK_OPTION '
++/mtx$/ { mtx_size = int("0x" $5) }
++END { print mtx_size }')
++else
++    echo "Can't determine mutex size"
++    exit 1
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++
++cat <<EOF
++## lock-obj-pub.$host.h
++## File created by gen-lock-obj.sh - DO NOT EDIT
++## To be included by mkheader into gpg-error.h
++
++typedef struct
++{
++  long _vers;
++  union {
++    volatile char _priv[$ac_mtx_size];
++    long _x_align;
++    long *_xp_align;
++  } u;
++} gpgrt_lock_t;
++
++EOF
++
++# FIXME: Support different alignment conditions of:
++#
++#     USE_16BYTE_ALIGNMENT
++#     USE_DOUBLE_FOR_ALIGNMENT
++#     USE_LONG_DOUBLE_FOR_ALIGNMENT
++#
++
++echo -n "#define GPGRT_LOCK_INITIALIZER {$LOCK_ABI_VERSION,{{"
++
++i=0
++while test "$i" -lt $ac_mtx_size; do
++    if test "$i" -ne 0 -a "$(( $i % 8 ))" -eq 0; then
++        echo ' \'
++        echo -n "                                    "
++    fi
++    echo -n '0'
++    if test "$i" -lt $(($ac_mtx_size - 1)); then
++        echo -n ','
++    fi
++    i=$(( i + 1 ))
++done
++
++cat <<'EOF'
++}}}
++##
++## Local Variables:
++## mode: c
++## buffer-read-only: t
++## End:
++##
++EOF
++
++exit 0
diff --git a/poky/meta/recipes-support/libgpg-error/libgpg-error_1.37.bb b/poky/meta/recipes-support/libgpg-error/libgpg-error_1.37.bb
deleted file mode 100644
index b9a2b01..0000000
--- a/poky/meta/recipes-support/libgpg-error/libgpg-error_1.37.bb
+++ /dev/null
@@ -1,72 +0,0 @@
-SUMMARY = "Small library that defines common error values for all GnuPG components"
-HOMEPAGE = "http://www.gnupg.org/related_software/libgpg-error/"
-BUGTRACKER = "https://bugs.g10code.com/gnupg/index"
-
-LICENSE = "GPLv2+ & LGPLv2.1+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \
-                    file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1 \
-                    file://src/gpg-error.h.in;beginline=2;endline=18;md5=cd91e3ad1265a0c268efad541a39345e \
-                    file://src/init.c;beginline=2;endline=17;md5=f01cdfcf747af5380590cfd9bbfeaaf7"
-
-
-SECTION = "libs"
-
-UPSTREAM_CHECK_URI = "https://gnupg.org/download/index.html"
-SRC_URI = "${GNUPG_MIRROR}/libgpg-error/libgpg-error-${PV}.tar.bz2 \
-           file://pkgconfig.patch \
-           file://0001-Do-not-fail-when-testing-config-scripts.patch \
-           "
-
-SRC_URI[md5sum] = "729f22d917494fdc4b54fce5aa6547c7"
-SRC_URI[sha256sum] = "b32d6ff72a73cf79797f7f2d039e95e9c6f92f0c1450215410840ab62aea9763"
-
-BINCONFIG = "${bindir}/gpg-error-config"
-
-inherit autotools binconfig-disabled pkgconfig gettext multilib_header multilib_script
-
-MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/gpgrt-config"
-
-CPPFLAGS += "-P"
-do_compile_prepend() {
-	TARGET_FILE=linux-gnu
-	if [ ${TARGET_OS} = "mingw32" ]; then
-		# There are no arch specific syscfg files for mingw32
-		TARGET_FILE=
-	elif [ ${TARGET_ARCH} = "arc" ]; then
-		# ARC syscfg file is automatically aliased to i686-pc-linux-gnu
-		TARGET_FILE=
-	elif [ ${TARGET_OS} != "linux" ]; then
-		TARGET_FILE=${TARGET_OS}
-	fi
-
-	case ${TARGET_ARCH} in
-	  aarch64_be) TUPLE=aarch64-unknown-linux-gnu ;;
-	  arm)	      TUPLE=arm-unknown-linux-gnueabi ;;
-	  armeb)      TUPLE=arm-unknown-linux-gnueabi ;;
-	  i586|i686)  TUPLE=i686-unknown-linux-gnu;;
-	  mips64*)    TUPLE=mips64el-unknown-linux-gnuabi64 ;;
-	  mips*el)    TUPLE=mipsel-unknown-linux-gnu ;;
-	  mips*)      TUPLE=mips-unknown-linux-gnu ;;
-	  x86_64)     TUPLE=x86_64-unknown-linux-gnu ;;
-	  ppc)        TUPLE=powerpc-unknown-linux-gnu ;;
-	  ppc64)      TUPLE=powerpc64-unknown-linux-gnu ;;
-	  ppc64le)    TUPLE=powerpc64le-unknown-linux-gnu ;;
-	  *)          TUPLE=${TARGET_ARCH}-unknown-linux-gnu ;;
-	esac
-
-	if [ -n "$TARGET_FILE" ]; then
-		cp ${S}/src/syscfg/lock-obj-pub.$TUPLE.h \
-			${S}/src/syscfg/lock-obj-pub.$TARGET_FILE.h
-	fi
-}
-
-do_install_append() {
-	# we don't have common lisp in OE
-	rm -rf "${D}${datadir}/common-lisp/"
-	oe_multilib_header gpg-error.h gpgrt.h
-}
-
-FILES_${PN}-dev += "${bindir}/gpg-error"
-FILES_${PN}-doc += "${datadir}/libgpg-error/errorref.txt"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-support/libgpg-error/libgpg-error_1.38.bb b/poky/meta/recipes-support/libgpg-error/libgpg-error_1.38.bb
new file mode 100644
index 0000000..9a3ec9b
--- /dev/null
+++ b/poky/meta/recipes-support/libgpg-error/libgpg-error_1.38.bb
@@ -0,0 +1,42 @@
+SUMMARY = "Small library that defines common error values for all GnuPG components"
+HOMEPAGE = "http://www.gnupg.org/related_software/libgpg-error/"
+BUGTRACKER = "https://bugs.g10code.com/gnupg/index"
+
+LICENSE = "GPLv2+ & LGPLv2.1+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \
+                    file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1 \
+                    file://src/gpg-error.h.in;beginline=2;endline=18;md5=d82591bc81561f617da71e00ff4a9d79 \
+                    file://src/init.c;beginline=2;endline=17;md5=f01cdfcf747af5380590cfd9bbfeaaf7 \
+                    "
+
+
+SECTION = "libs"
+
+UPSTREAM_CHECK_URI = "https://gnupg.org/download/index.html"
+SRC_URI = "${GNUPG_MIRROR}/libgpg-error/libgpg-error-${PV}.tar.bz2 \
+           file://pkgconfig.patch \
+           file://0001-Do-not-fail-when-testing-config-scripts.patch \
+           file://0003-build-Fix-cross-compiling-into-a-separate-build-dir.patch \
+           file://0005-src-gen-lock-obj.sh-add-a-file.patch \
+           "
+
+SRC_URI[sha256sum] = "d8988275aa69d7149f931c10442e9e34c0242674249e171592b430ff7b3afd02"
+
+BINCONFIG = "${bindir}/gpg-error-config"
+
+inherit autotools binconfig-disabled pkgconfig gettext multilib_header multilib_script
+
+MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/gpgrt-config"
+
+CPPFLAGS += "-P"
+
+do_install_append() {
+	# we don't have common lisp in OE
+	rm -rf "${D}${datadir}/common-lisp/"
+	oe_multilib_header gpg-error.h gpgrt.h
+}
+
+FILES_${PN}-dev += "${bindir}/gpg-error"
+FILES_${PN}-doc += "${datadir}/libgpg-error/errorref.txt"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-support/libnl/libnl_3.5.0.bb b/poky/meta/recipes-support/libnl/libnl_3.5.0.bb
index c0609c4..9d0e144 100644
--- a/poky/meta/recipes-support/libnl/libnl_3.5.0.bb
+++ b/poky/meta/recipes-support/libnl/libnl_3.5.0.bb
@@ -40,3 +40,5 @@
 FILES_${PN}-xfrm  = "${libdir}/libnl-xfrm-3.so.*"
 RREPLACES_${PN}-genl = "libnl-genl2"
 RCONFLICTS_${PN}-genl = "libnl-genl2"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/scripts/lib/checklayer/__init__.py b/poky/scripts/lib/checklayer/__init__.py
index 1138000..f625d59 100644
--- a/poky/scripts/lib/checklayer/__init__.py
+++ b/poky/scripts/lib/checklayer/__init__.py
@@ -59,9 +59,14 @@
         pattern = ldata.getVar('BBFILE_PATTERN_%s' % name)
         depends = ldata.getVar('LAYERDEPENDS_%s' % name)
         compat = ldata.getVar('LAYERSERIES_COMPAT_%s' % name)
+        try:
+            depDict = bb.utils.explode_dep_versions2(depends or "")
+        except bb.utils.VersionStringException as vse:
+            bb.fatal('Error parsing LAYERDEPENDS_%s: %s' % (name, str(vse)))
+
         collections[name]['priority'] = priority
         collections[name]['pattern'] = pattern
-        collections[name]['depends'] = depends
+        collections[name]['depends'] = ' '.join(depDict.keys())
         collections[name]['compat'] = compat
 
     return collections
diff --git a/poky/scripts/lib/devtool/upgrade.py b/poky/scripts/lib/devtool/upgrade.py
index ebe7228..0c1de8c 100644
--- a/poky/scripts/lib/devtool/upgrade.py
+++ b/poky/scripts/lib/devtool/upgrade.py
@@ -550,12 +550,12 @@
         try:
             logger.info('Extracting current version source...')
             rev1, srcsubdir1 = standard._extract_source(srctree, False, 'devtool-orig', False, config, basepath, workspace, args.fixed_setup, rd, tinfoil, no_overrides=args.no_overrides)
-            old_licenses = _extract_licenses(srctree, rd.getVar('LIC_FILES_CHKSUM'))
+            old_licenses = _extract_licenses(srctree, (rd.getVar('LIC_FILES_CHKSUM') or ""))
             logger.info('Extracting upgraded version source...')
             rev2, md5, sha256, srcbranch, srcsubdir2 = _extract_new_source(args.version, srctree, args.no_patch,
                                                     args.srcrev, args.srcbranch, args.branch, args.keep_temp,
                                                     tinfoil, rd)
-            new_licenses = _extract_licenses(srctree, rd.getVar('LIC_FILES_CHKSUM'))
+            new_licenses = _extract_licenses(srctree, (rd.getVar('LIC_FILES_CHKSUM') or ""))
             license_diff = _generate_license_diff(old_licenses, new_licenses)
             rf, copied = _create_new_recipe(args.version, md5, sha256, args.srcrev, srcbranch, srcsubdir1, srcsubdir2, config.workspace_path, tinfoil, rd, license_diff, new_licenses, srctree, args.keep_failure)
         except bb.process.CmdError as e:
diff --git a/poky/scripts/runqemu b/poky/scripts/runqemu
index 85f323a..f2168c1 100755
--- a/poky/scripts/runqemu
+++ b/poky/scripts/runqemu
@@ -1241,7 +1241,9 @@
                         vm_drive = '-drive if=virtio,file=%s,format=%s' % (self.rootfs, rootfs_format)
 
                 # All branches above set vm_drive.
-                self.rootfs_options = '%s -no-reboot' % vm_drive
+                self.rootfs_options = vm_drive
+                if not self.fstype in self.vmtypes:
+                    self.rootfs_options += ' -no-reboot'
             self.kernel_cmdline = 'root=%s rw' % (self.get('QB_KERNEL_ROOT'))
 
         if self.fstype == 'nfs':