All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/3] scripts/contrib: Add override conversion script
@ 2021-07-28 14:15 Richard Purdie
  2021-07-28 14:15 ` [PATCH 2/3] Convert to new override syntax Richard Purdie
                   ` (2 more replies)
  0 siblings, 3 replies; 12+ messages in thread
From: Richard Purdie @ 2021-07-28 14:15 UTC (permalink / raw)
  To: openembedded-core

This adds a script I've developed to migrate metadata to use the new override
syntax. It is a bit rough but since its for a single use with validation, it
doesn't need to be perfect. It is run simply as:

scripts/contrib/convert-overrides.py <directory>

It is setup and has been tested to work with OE-Core, Bitbake, yocto-docs,
meta-yocto, meta-gplv2 and meta-mingw. For OE-Core, it converts around 10,100
lines with about 34 manual fixes needed.

For other layers it would need updating for override names and exclusions for
functions/variable names with "append", "prepend" or "remove" in them.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
 scripts/contrib/convert-overrides.py | 146 +++++++++++++++++++++++++++
 1 file changed, 146 insertions(+)
 create mode 100755 scripts/contrib/convert-overrides.py

diff --git a/scripts/contrib/convert-overrides.py b/scripts/contrib/convert-overrides.py
new file mode 100755
index 00000000000..d18d86fa49d
--- /dev/null
+++ b/scripts/contrib/convert-overrides.py
@@ -0,0 +1,146 @@
+#!/usr/bin/env python3
+#
+# Conversion script to add new override syntax to existing bitbake metadata
+#
+# Copyright (C) 2021 Richard Purdie
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+
+#
+# To use this script on a new layer you need to list the overrides the
+# layer is known to use in the list below.
+#
+# Known constraint: Matching is 'loose' and in particular will find variable
+# and function names with "_append" and "_remove" in them. Those need to be
+# filtered out manually or in the skip list below.
+#
+
+import re
+import os
+import sys
+import tempfile
+import shutil
+import mimetypes
+
+if len(sys.argv) != 2:
+    print("Please specify a directory to run the conversion script against.")
+    sys.exit(1)
+
+targetdir = sys.argv[1]
+
+# List of strings to treat as overrides
+vars = ["append", "prepend", "remove"]
+vars = vars + ["qemuarm", "qemux86", "qemumips", "qemuppc", "qemuriscv", "qemuall"]
+vars = vars + ["genericx86", "edgerouter", "beaglebone-yocto"]
+vars = vars + ["armeb", "arm", "armv5", "armv6", "armv4", "powerpc64", "aarch64", "riscv32", "riscv64", "x86", "mips64", "powerpc"]
+vars = vars + ["mipsarch", "x86-x32", "mips16e", "microblaze", "e5500-64b", "mipsisa32", "mipsisa64"]
+vars = vars + ["class-native", "class-target", "class-cross-canadian", "class-cross", "class-devupstream"]
+vars = vars + ["tune-",  "pn-", "forcevariable"]
+vars = vars + ["libc-musl", "libc-glibc", "libc-newlib","libc-baremetal"]
+vars = vars + ["task-compile", "task-install", "task-clean", "task-image-qa", "task-rm_work", "task-image-complete", "task-populate-sdk"]
+vars = vars + ["toolchain-clang", "mydistro", "nios2", "sdkmingw32", "overrideone", "overridetwo"]
+vars = vars + ["linux-gnux32", "linux-muslx32", "linux-gnun32", "mingw32", "poky", "darwin", "linuxstdbase"]
+vars = vars + ["virtclass-multilib", "virtclass-mcextend"]
+
+# List of strings to treat as overrides but only with whitespace following or another override (more restricted matching).
+# Handles issues with arc matching arch.
+shortvars = ["arc", "mips", "mipsel", "sh4"]
+
+# Variables which take packagenames as an override
+packagevars = ["FILES", "RDEPENDS", "RRECOMMENDS", "SUMMARY", "DESCRIPTION", "RSUGGESTS", "RPROVIDES", "RCONFLICTS", "PKG", "ALLOW_EMPTY", 
+              "pkg_postrm", "pkg_postinst_ontarget", "pkg_postinst", "INITSCRIPT_NAME", "INITSCRIPT_PARAMS", "DEBIAN_NOAUTONAME", "ALTERNATIVE",
+              "PKGE", "PKGV", "PKGR", "USERADD_PARAM", "GROUPADD_PARAM", "CONFFILES", "SYSTEMD_SERVICE", "LICENSE", "SECTION", "pkg_preinst", 
+              "pkg_prerm", "RREPLACES", "GROUPMEMS_PARAM", "SYSTEMD_AUTO_ENABLE", "SKIP_FILEDEPS", "PRIVATE_LIBS", "PACKAGE_ADD_METADATA", "INSANE_SKIP", "DEBIANNAME"]
+
+# Expressions to skip if encountered, these are not overrides
+skips = ["LICENSE_PATH", "FILES_INFO", "LICENSE_DIRECTORY", "LICENSE_FLAGS", "PKG_CONFIG", "PKG_CHECK", "LICENSE_CREATE", "PACKAGE_ADD_METADATA_IPK"]
+skips = skips + ["ALTERNATIVE_LINK_NAME", "ALTERNATIVE_TARGET", "ALTERNATIVE_PRIORITY", "FILES_SOLIBSDEV", "PKG_TYPE", "LICENSE_EXCLUSION", "IMAGE_CMD_TAR"]
+skips = skips + ["LICENSE_FILES_DIRECTORY", "LICENSE_FLAGS_WHITELIST", "LICENSE_PACKAGE_SUFFIX", "PACKAGE_ADD_METADATA_RPM", "PACKAGE_ADD_METADATA_DEB"]
+skips = skips + ["RSUGGESTS_SCRIPTING"]
+skips = skips + ["parser_append", "recipe_to_append", "extra_append", "to_remove", "show_appends", "applied_appends", "file_appends", "handle_remove"]
+skips = skips + ["expanded_removes", "color_remove", "test_remove", "empty_remove", "toaster_prepend", "num_removed", "licfiles_append", "_write_append"]
+skips = skips + ["no_report_remove", "test_prepend", "test_append", "multiple_append", "test_remove", "shallow_remove", "do_remove_layer", "first_append"]
+skips = skips + ["parser_remove", "to_append", "no_remove", "bblayers_add_remove", "bblayers_remove", "apply_append", "is_x86", "base_dep_prepend"]
+skips = skips + ["autotools_dep_prepend", "go_map_arm", "alt_remove_links", "systemd_append_file", "file_append", "process_file_darwin"]
+skips = skips + ["run_loaddata_poky", "determine_if_poky_env", "do_populate_poky_src", "libc_cv_include_x86_isa_level", "test_rpm_remove", "do_install_armmultilib"]
+skips = skips + ["get_appends_for_files", "test_doubleref_remove", "test_bitbakelayers_add_remove", "elf32_x86_64", "colour_remove", "revmap_remove"]
+skips = skips + ["test_rpm_remove", "test_bitbakelayers_add_remove", "recipe_append_file", "log_data_removed", "recipe_append", "systemd_machine_unit_append"]
+skips = skips + ["recipetool_append", "changetype_remove", "try_appendfile_wc", "test_qemux86_directdisk", "test_layer_appends", "tgz_removed"]
+
+imagevars = ["IMAGE_CMD", "EXTRA_IMAGECMD"]
+packagevars = packagevars + imagevars
+
+vars_re = {}
+for exp in vars:
+    vars_re[exp] = (re.compile('((^|[\'"\s])[A-Za-z0-9_\-:${}]+)_' + exp), r"\1:" + exp)
+
+shortvars_re = {}
+for exp in shortvars:
+    shortvars_re[exp] = (re.compile('((^|[\'"\s])[A-Za-z0-9_\-:${}]+)_' + exp + '([\'"\s:])'), r"\1:" + exp + r"\3")
+
+package_re = {}
+for exp in packagevars:
+    package_re[exp] = (re.compile('(^|[\'"\s]+)' + exp + '_'), r"\1" + exp + ":")
+
+# Other substitutions to make
+subs = {
+    'r = re.compile("([^:]+):\s*(.*)")' : 'r = re.compile("(^.+?):\s+(.*)")',
+    "val = d.getVar('%s_%s' % (var, pkg))" : "val = d.getVar('%s:%s' % (var, pkg))",
+    "f.write('%s_%s: %s\\n' % (var, pkg, encode(val)))" : "f.write('%s:%s: %s\\n' % (var, pkg, encode(val)))",
+    "d.getVar('%s_%s' % (scriptlet_name, pkg))" : "d.getVar('%s:%s' % (scriptlet_name, pkg))",
+    'ret.append(v + "_" + p)' : 'ret.append(v + ":" + p)',
+}
+
+def processfile(fn):
+    try:
+        fh, abs_path = tempfile.mkstemp()
+        with os.fdopen(fh, 'w') as new_file:
+            with open(fn, "r") as old_file:
+                for line in old_file:
+                    skip = False
+                    for s in skips:
+                        if "${FILES_SOLIBSDEV}" in line or "${IMAGE_CMD_TAR}" in line or "${RSUGGESTS_SCRIPTING}" in line:
+                            continue
+                        if s in line:
+                            skip = True
+                            if "ptest_append" in line:
+                                skip = False
+                    if "base_dep_prepend" in line and line.startswith("BASEDEPENDS_class"):
+                        line = line.replace("BASEDEPENDS_class", "BASEDEPENDS:class")
+                        skip = True
+                    if "autotools_dep_prepend" in line and line.startswith("DEPENDS_prepend"):
+                        line = line.replace("DEPENDS_prepend", "DEPENDS:prepend")
+                        skip = True
+                    for sub in subs:
+                        if sub in line:
+                            line = line.replace(sub, subs[sub])
+                            skip = True
+                    if not skip:
+                        for pvar in packagevars:
+                            line = package_re[pvar][0].sub(package_re[pvar][1], line)
+                        for var in vars:
+                            line = vars_re[var][0].sub(vars_re[var][1], line)
+                        for shortvar in shortvars:
+                            line = shortvars_re[shortvar][0].sub(shortvars_re[shortvar][1], line)
+                    if "pkg_postinst:ontarget" in line:
+                        line = line.replace("pkg_postinst:ontarget", "pkg_postinst_ontarget")
+                    new_file.write(line)
+        shutil.copymode(fn, abs_path)
+        os.remove(fn)
+        shutil.move(abs_path, fn)
+    except UnicodeDecodeError:
+        pass
+
+ourname = os.path.basename(sys.argv[0])
+
+for root, dirs, files in os.walk(targetdir):
+   for name in files:
+      if name == ourname:
+          continue
+      fn = os.path.join(root, name)
+      if os.path.islink(fn):
+          continue
+      if "/.git/" in fn or fn.endswith(".html") or fn.endswith(".patch") or fn.endswith(".m4") or fn.endswith(".diff"):
+          continue
+      processfile(fn)
-- 
2.30.2


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [PATCH 2/3] Convert to new override syntax
  2021-07-28 14:15 [PATCH 1/3] scripts/contrib: Add override conversion script Richard Purdie
@ 2021-07-28 14:15 ` Richard Purdie
  2021-07-28 14:15 ` [PATCH 3/3] meta: Manual override fixes Richard Purdie
  2021-07-28 14:52 ` [OE-core] [PATCH 1/3] scripts/contrib: Add override conversion script Michael Opdenacker
  2 siblings, 0 replies; 12+ messages in thread
From: Richard Purdie @ 2021-07-28 14:15 UTC (permalink / raw)
  To: openembedded-core

This is the result of automated script conversion:

scripts/contrib/convert-overrides.py <oe-core directory>

converting the metadata to use ":" as the override character instead of "_".

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
 .../python/python-async-test.inc              |    2 +-
 .../recipes-test/aspell/aspell_0.0.0.1.bb     |   20 +-
 .../container-image-testpkg.bb                |    2 +-
 .../devtool/devtool-patch-overrides.bb        |    4 +-
 .../recipes-test/images/wic-image-minimal.bb  |    6 +-
 .../multiconfig-image-packager_0.1.bb         |    8 +-
 .../overlayfs-user/overlayfs-user.bb          |    2 +-
 .../recipes-test/postinst/postinst_1.0.bb     |   20 +-
 .../selftest-recipetool-appendfile.bb         |    4 +-
 .../recipeutils/recipeutils-test_1.2.bb       |    2 +-
 .../selftest-chown/selftest-chown.bb          |    4 +-
 .../selftest-ed/selftest-ed_0.5.bb            |    6 +-
 .../selftest-hardlink/selftest-hardlink.bb    |    4 +-
 meta-skeleton/conf/multilib-example.conf      |    2 +-
 meta-skeleton/conf/multilib-example2.conf     |    2 +-
 .../baremetal-helloworld_git.bb               |   12 +-
 .../recipes-core/busybox/busybox_%.bbappend   |    4 +-
 .../recipes-kernel/hello-mod/hello-mod_0.1.bb |    2 +-
 .../linux/linux-yocto-custom.bb               |    2 +-
 .../recipes-skeleton/service/service_0.1.bb   |    4 +-
 .../useradd/useradd-example.bb                |   12 +-
 meta/classes/autotools.bbclass                |    8 +-
 meta/classes/baremetal-image.bbclass          |   14 +-
 meta/classes/base.bbclass                     |   12 +-
 meta/classes/bash-completion.bbclass          |    6 +-
 meta/classes/bin_package.bbclass              |    2 +-
 meta/classes/binconfig-disabled.bbclass       |    4 +-
 meta/classes/binconfig.bbclass                |    2 +-
 meta/classes/buildhistory.bbclass             |   14 +-
 meta/classes/cmake.bbclass                    |   10 +-
 meta/classes/compress_doc.bbclass             |    6 +-
 meta/classes/cpan-base.bbclass                |    6 +-
 meta/classes/cpan.bbclass                     |    4 +-
 meta/classes/cross-canadian.bbclass           |    6 +-
 meta/classes/cross.bbclass                    |    2 +-
 meta/classes/cve-check.bbclass                |    2 +-
 meta/classes/debian.bbclass                   |   14 +-
 meta/classes/devicetree.bbclass               |    2 +-
 meta/classes/devupstream.bbclass              |    4 +-
 meta/classes/distrooverrides.bbclass          |    6 +-
 meta/classes/distutils-common-base.bbclass    |    6 +-
 meta/classes/distutils3-base.bbclass          |    6 +-
 meta/classes/distutils3.bbclass               |    2 +-
 meta/classes/externalsrc.bbclass              |   10 +-
 meta/classes/extrausers.bbclass               |    4 +-
 meta/classes/fontcache.bbclass                |   10 +-
 meta/classes/gconf.bbclass                    |   12 +-
 meta/classes/gettext.bbclass                  |    6 +-
 meta/classes/gi-docgen.bbclass                |    8 +-
 meta/classes/gio-module-cache.bbclass         |   10 +-
 meta/classes/glide.bbclass                    |    4 +-
 meta/classes/gnomebase.bbclass                |    6 +-
 meta/classes/go-mod.bbclass                   |    2 +-
 meta/classes/go-ptest.bbclass                 |    2 +-
 meta/classes/go.bbclass                       |   44 +-
 meta/classes/goarch.bbclass                   |   54 +-
 meta/classes/gobject-introspection.bbclass    |   24 +-
 meta/classes/gsettings.bbclass                |   14 +-
 meta/classes/gtk-doc.bbclass                  |   22 +-
 meta/classes/gtk-icon-cache.bbclass           |   18 +-
 meta/classes/gtk-immodules-cache.bbclass      |   10 +-
 meta/classes/icecc.bbclass                    |   20 +-
 meta/classes/image-combined-dbg.bbclass       |    2 +-
 meta/classes/image-prelink.bbclass            |    2 +-
 meta/classes/image.bbclass                    |   20 +-
 meta/classes/image_types.bbclass              |   50 +-
 meta/classes/image_types_wic.bbclass          |   10 +-
 meta/classes/insane.bbclass                   |   30 +-
 meta/classes/kernel-devicetree.bbclass        |   12 +-
 meta/classes/kernel-fitimage.bbclass          |    2 +-
 meta/classes/kernel-grub.bbclass              |    8 +-
 meta/classes/kernel-module-split.bbclass      |   40 +-
 meta/classes/kernel-yocto.bbclass             |    2 +-
 meta/classes/kernel.bbclass                   |   60 +-
 meta/classes/libc-package.bbclass             |   32 +-
 meta/classes/license.bbclass                  |   12 +-
 meta/classes/license_image.bbclass            |    4 +-
 meta/classes/linux-dummy.bbclass              |    4 +-
 meta/classes/manpages.bbclass                 |    8 +-
 meta/classes/meson.bbclass                    |    8 +-
 meta/classes/mime-xdg.bbclass                 |   12 +-
 meta/classes/mime.bbclass                     |   12 +-
 meta/classes/module.bbclass                   |    6 +-
 meta/classes/multilib.bbclass                 |    4 +-
 meta/classes/multilib_global.bbclass          |   12 +-
 meta/classes/multilib_header.bbclass          |    4 +-
 meta/classes/multilib_script.bbclass          |    4 +-
 meta/classes/native.bbclass                   |    4 +-
 meta/classes/nativesdk.bbclass                |    2 +-
 meta/classes/npm.bbclass                      |    6 +-
 meta/classes/overlayfs.bbclass                |    6 +-
 meta/classes/own-mirrors.bbclass              |    2 +-
 meta/classes/package.bbclass                  |  112 +-
 meta/classes/package_deb.bbclass              |    2 +-
 meta/classes/package_ipk.bbclass              |    2 +-
 meta/classes/package_rpm.bbclass              |    2 +-
 meta/classes/packagedata.bbclass              |    2 +-
 meta/classes/packagegroup.bbclass             |    2 +-
 meta/classes/patch.bbclass                    |    2 +-
 meta/classes/pixbufcache.bbclass              |   16 +-
 meta/classes/pkgconfig.bbclass                |    2 +-
 meta/classes/populate_sdk_base.bbclass        |   14 +-
 meta/classes/populate_sdk_ext.bbclass         |   38 +-
 meta/classes/ptest-gnome.bbclass              |    6 +-
 meta/classes/ptest-perl.bbclass               |    2 +-
 meta/classes/ptest.bbclass                    |   26 +-
 meta/classes/pypi.bbclass                     |    2 +-
 meta/classes/python3native.bbclass            |    2 +-
 meta/classes/python3targetconfig.bbclass      |   10 +-
 meta/classes/qemu.bbclass                     |    2 +-
 meta/classes/qemuboot.bbclass                 |    2 +-
 meta/classes/reproducible_build.bbclass       |    2 +-
 meta/classes/rm_work.bbclass                  |    4 +-
 meta/classes/rm_work_and_downloads.bbclass    |    2 +-
 meta/classes/rootfs-postcommands.bbclass      |    2 +-
 meta/classes/rootfs_rpm.bbclass               |    2 +-
 meta/classes/sanity.bbclass                   |    6 +-
 meta/classes/sign_package_feed.bbclass        |    2 +-
 meta/classes/staging.bbclass                  |   12 +-
 meta/classes/systemd-boot.bbclass             |    2 +-
 meta/classes/systemd.bbclass                  |   42 +-
 meta/classes/testimage.bbclass                |   12 +-
 meta/classes/texinfo.bbclass                  |   12 +-
 meta/classes/toolchain-scripts.bbclass        |    2 +-
 meta/classes/uboot-sign.bbclass               |    8 +-
 meta/classes/update-alternatives.bbclass      |   34 +-
 meta/classes/update-rc.d.bbclass              |   28 +-
 meta/classes/useradd-staticids.bbclass        |   26 +-
 meta/classes/useradd.bbclass                  |   22 +-
 meta/classes/utility-tasks.bbclass            |    2 +-
 meta/classes/vala.bbclass                     |    8 +-
 meta/classes/waf.bbclass                      |    2 +-
 meta/classes/xmlcatalog.bbclass               |    2 +-
 meta/conf/bitbake.conf                        |   90 +-
 .../distro/include/default-distrovars.inc     |   10 +-
 meta/conf/distro/include/distro_alias.inc     |  754 +--
 .../include/init-manager-mdev-busybox.inc     |    2 +-
 .../distro/include/init-manager-systemd.inc   |    4 +-
 .../distro/include/init-manager-sysvinit.inc  |    4 +-
 meta/conf/distro/include/lto.inc              |   42 +-
 meta/conf/distro/include/maintainers.inc      | 1564 +++----
 meta/conf/distro/include/no-static-libs.inc   |   46 +-
 .../distro/include/ptest-packagelists.inc     |    8 +-
 meta/conf/distro/include/security_flags.inc   |   60 +-
 meta/conf/distro/include/tclibc-baremetal.inc |   16 +-
 meta/conf/distro/include/tclibc-newlib.inc    |   10 +-
 meta/conf/distro/include/uninative-flags.inc  |    2 +-
 meta/conf/image-uefi.conf                     |   12 +-
 meta/conf/local.conf.sample                   |    4 +-
 meta/conf/machine-sdk/aarch64.conf            |    2 +-
 meta/conf/machine-sdk/i586.conf               |    2 +-
 meta/conf/machine-sdk/i686.conf               |    2 +-
 meta/conf/machine-sdk/ppc64.conf              |    2 +-
 meta/conf/machine-sdk/ppc64le.conf            |    2 +-
 meta/conf/machine-sdk/x86_64.conf             |    2 +-
 meta/conf/machine/include/README              |   12 +-
 meta/conf/machine/include/arm/README          |    2 +-
 meta/conf/machine/include/arm/arch-arm.inc    |    2 +-
 meta/conf/machine/include/arm/arch-arm64.inc  |   22 +-
 meta/conf/machine/include/arm/arch-armv4.inc  |   24 +-
 .../machine/include/arm/arch-armv5-dsp.inc    |   72 +-
 meta/conf/machine/include/arm/arch-armv5.inc  |   72 +-
 meta/conf/machine/include/arm/arch-armv6.inc  |   72 +-
 meta/conf/machine/include/arm/arch-armv6m.inc |    6 +-
 meta/conf/machine/include/arm/arch-armv7a.inc |  288 +-
 .../conf/machine/include/arm/arch-armv7ve.inc |  288 +-
 .../machine/include/arm/arch-armv8-2a.inc     |   16 +-
 meta/conf/machine/include/arm/arch-armv8a.inc |   32 +-
 .../include/arm/armv8-2a/tune-cortexa65.inc   |    8 +-
 .../include/arm/armv8-2a/tune-cortexa65ae.inc |    8 +-
 .../arm/armv8-2a/tune-cortexa75-cortexa55.inc |   16 +-
 .../include/arm/armv8-2a/tune-cortexa75.inc   |    8 +-
 .../arm/armv8-2a/tune-cortexa76-cortexa55.inc |   16 +-
 .../include/arm/armv8-2a/tune-cortexa76.inc   |    8 +-
 .../include/arm/armv8-2a/tune-cortexa76ae.inc |    8 +-
 .../include/arm/armv8-2a/tune-cortexa77.inc   |    8 +-
 .../include/arm/armv8-2a/tune-neoversee1.inc  |    8 +-
 .../include/arm/armv8-2a/tune-neoversen1.inc  |    8 +-
 .../include/arm/armv8-2a/tune-octeontx2.inc   |    8 +-
 .../include/arm/armv8a/tune-cortexa34.inc     |   16 +-
 .../arm/armv8a/tune-cortexa73-cortexa35.inc   |   16 +-
 .../include/arm/armv8a/tune-cortexa73.inc     |    8 +-
 .../machine/include/arm/feature-arm-thumb.inc |    6 +-
 meta/conf/machine/include/m68k/arch-m68k.inc  |    2 +-
 meta/conf/machine/include/mips/README         |    4 +-
 meta/conf/machine/include/mips/arch-mips.inc  |  154 +-
 .../machine/include/mips/tune-mips-24k.inc    |   36 +-
 .../machine/include/mips/tune-mips-74k.inc    |   24 +-
 meta/conf/machine/include/powerpc/README      |    4 +-
 .../machine/include/powerpc/arch-powerpc.inc  |   40 +-
 .../include/powerpc/arch-powerpc64.inc        |   16 +-
 meta/conf/machine/include/qemu.inc            |    6 +-
 meta/conf/machine/include/qemuboot-x86.inc    |    8 +-
 .../conf/machine/include/riscv/arch-riscv.inc |   12 +-
 meta/conf/machine/include/riscv/qemuriscv.inc |    4 +-
 .../conf/machine/include/riscv/tune-riscv.inc |   34 +-
 meta/conf/machine/include/sh/README           |    4 +-
 meta/conf/machine/include/sh/arch-sh.inc      |    4 +-
 .../conf/machine/include/tune-arm1136jf-s.inc |   12 +-
 .../conf/machine/include/tune-arm1176jz-s.inc |   12 +-
 meta/conf/machine/include/tune-arm920t.inc    |    6 +-
 meta/conf/machine/include/tune-arm926ejs.inc  |    6 +-
 meta/conf/machine/include/tune-arm9tdmi.inc   |    6 +-
 meta/conf/machine/include/tune-c3.inc         |    8 +-
 meta/conf/machine/include/tune-core2.inc      |   24 +-
 meta/conf/machine/include/tune-corei7.inc     |   24 +-
 meta/conf/machine/include/tune-cortex-m0.inc  |    6 +-
 .../machine/include/tune-cortex-m0plus.inc    |    6 +-
 meta/conf/machine/include/tune-cortexa15.inc  |   72 +-
 meta/conf/machine/include/tune-cortexa17.inc  |   72 +-
 meta/conf/machine/include/tune-cortexa32.inc  |   16 +-
 meta/conf/machine/include/tune-cortexa35.inc  |   16 +-
 meta/conf/machine/include/tune-cortexa5.inc   |   72 +-
 meta/conf/machine/include/tune-cortexa53.inc  |   16 +-
 meta/conf/machine/include/tune-cortexa55.inc  |    8 +-
 .../include/tune-cortexa57-cortexa53.inc      |    8 +-
 meta/conf/machine/include/tune-cortexa57.inc  |   16 +-
 meta/conf/machine/include/tune-cortexa7.inc   |   72 +-
 .../include/tune-cortexa72-cortexa53.inc      |   16 +-
 meta/conf/machine/include/tune-cortexa72.inc  |    8 +-
 .../include/tune-cortexa73-cortexa53.inc      |   16 +-
 meta/conf/machine/include/tune-cortexa8.inc   |   48 +-
 meta/conf/machine/include/tune-cortexa9.inc   |   72 +-
 meta/conf/machine/include/tune-ep9312.inc     |    6 +-
 meta/conf/machine/include/tune-i586-nlp.inc   |    8 +-
 meta/conf/machine/include/tune-i586.inc       |    8 +-
 meta/conf/machine/include/tune-i686.inc       |    8 +-
 meta/conf/machine/include/tune-iwmmxt.inc     |    6 +-
 meta/conf/machine/include/tune-mcf5441x.inc   |    8 +-
 meta/conf/machine/include/tune-microblaze.inc |    4 +-
 meta/conf/machine/include/tune-mips32.inc     |   24 +-
 meta/conf/machine/include/tune-mips32r2.inc   |   24 +-
 meta/conf/machine/include/tune-mips32r6.inc   |   24 +-
 meta/conf/machine/include/tune-mips64r2.inc   |   96 +-
 meta/conf/machine/include/tune-mips64r6.inc   |   64 +-
 meta/conf/machine/include/tune-octeon.inc     |   32 +-
 meta/conf/machine/include/tune-power5.inc     |   22 +-
 meta/conf/machine/include/tune-power6.inc     |   22 +-
 meta/conf/machine/include/tune-power7.inc     |   22 +-
 meta/conf/machine/include/tune-power9.inc     |   38 +-
 meta/conf/machine/include/tune-ppc476.inc     |    6 +-
 meta/conf/machine/include/tune-ppc603e.inc    |    6 +-
 meta/conf/machine/include/tune-ppc7400.inc    |    6 +-
 meta/conf/machine/include/tune-ppce300c2.inc  |    6 +-
 meta/conf/machine/include/tune-ppce300c3.inc  |   12 +-
 meta/conf/machine/include/tune-ppce500.inc    |    6 +-
 meta/conf/machine/include/tune-ppce500mc.inc  |    6 +-
 meta/conf/machine/include/tune-ppce500v2.inc  |    6 +-
 meta/conf/machine/include/tune-ppce5500.inc   |   18 +-
 meta/conf/machine/include/tune-ppce6500.inc   |   22 +-
 meta/conf/machine/include/tune-sh3.inc        |   16 +-
 meta/conf/machine/include/tune-sh4.inc        |   32 +-
 .../machine/include/tune-strongarm1100.inc    |    6 +-
 meta/conf/machine/include/tune-thunderx.inc   |   16 +-
 meta/conf/machine/include/tune-xscale.inc     |   12 +-
 meta/conf/machine/include/x86/README          |    2 +-
 meta/conf/machine/include/x86/arch-x86.inc    |   28 +-
 meta/conf/machine/qemuarm.conf                |    4 +-
 meta/conf/machine/qemuarm64.conf              |    2 +-
 meta/conf/machine/qemuarmv5.conf              |    2 +-
 meta/conf/multilib.conf                       |    8 +-
 meta/lib/oe/package_manager/__init__.py       |    2 +-
 meta/lib/oe/package_manager/deb/__init__.py   |    2 +-
 meta/lib/oe/packagedata.py                    |    2 +-
 meta/lib/oe/recipeutils.py                    |   16 +-
 meta/lib/oe/sstatesig.py                      |    2 +-
 .../oeqa/files/testresults/testresults.json   |    2 +-
 meta/lib/oeqa/manual/build-appliance.json     |    2 +-
 meta/lib/oeqa/manual/sdk.json                 |    2 +-
 .../lib/oeqa/manual/toaster-managed-mode.json |    6 +-
 meta/lib/oeqa/runtime/cases/ksample.py        |    2 +-
 meta/lib/oeqa/runtime/cases/skeletoninit.py   |    2 +-
 meta/lib/oeqa/sdkext/testsdk.py               |    2 +-
 meta/lib/oeqa/selftest/cases/bbtests.py       |    8 +-
 meta/lib/oeqa/selftest/cases/buildoptions.py  |   10 +-
 .../lib/oeqa/selftest/cases/containerimage.py |    2 +-
 meta/lib/oeqa/selftest/cases/devtool.py       |    4 +-
 meta/lib/oeqa/selftest/cases/distrodata.py    |    2 +-
 .../oeqa/selftest/cases/efibootpartition.py   |    6 +-
 meta/lib/oeqa/selftest/cases/fetch.py         |   10 +-
 meta/lib/oeqa/selftest/cases/glibc.py         |    2 +-
 meta/lib/oeqa/selftest/cases/imagefeatures.py |    2 +-
 .../oeqa/selftest/cases/incompatible_lic.py   |   14 +-
 .../oeqa/selftest/cases/kerneldevelopment.py  |    2 +-
 meta/lib/oeqa/selftest/cases/layerappend.py   |   10 +-
 meta/lib/oeqa/selftest/cases/lic_checksum.py  |    2 +-
 meta/lib/oeqa/selftest/cases/multiconfig.py   |    6 +-
 meta/lib/oeqa/selftest/cases/overlayfs.py     |   16 +-
 meta/lib/oeqa/selftest/cases/package.py       |    8 +-
 meta/lib/oeqa/selftest/cases/prservice.py     |    2 +-
 meta/lib/oeqa/selftest/cases/recipetool.py    |   62 +-
 meta/lib/oeqa/selftest/cases/recipeutils.py   |    6 +-
 meta/lib/oeqa/selftest/cases/reproducible.py  |    2 +-
 meta/lib/oeqa/selftest/cases/runtime_test.py  |   28 +-
 meta/lib/oeqa/selftest/cases/signing.py       |    4 +-
 meta/lib/oeqa/selftest/cases/sstatetests.py   |   14 +-
 meta/lib/oeqa/selftest/cases/sysroot.py       |    8 +-
 meta/lib/oeqa/selftest/cases/tinfoil.py       |    4 +-
 meta/lib/oeqa/selftest/cases/wic.py           |   14 +-
 meta/recipes-bsp/acpid/acpid.inc              |    4 +-
 meta/recipes-bsp/alsa-state/alsa-state.bb     |   12 +-
 meta/recipes-bsp/apmd/apmd_3.2.2-15.bb        |    6 +-
 meta/recipes-bsp/efivar/efivar_37.bb          |    4 +-
 meta/recipes-bsp/gnu-efi/gnu-efi_3.0.13.bb    |   12 +-
 meta/recipes-bsp/grub/grub-bootconf_1.00.bb   |    4 +-
 meta/recipes-bsp/grub/grub-efi_2.06.bb        |   14 +-
 meta/recipes-bsp/grub/grub2.inc               |   16 +-
 meta/recipes-bsp/grub/grub_2.06.bb            |   22 +-
 meta/recipes-bsp/keymaps/keymaps_1.0.bb       |    8 +-
 meta/recipes-bsp/lrzsz/lrzsz_0.12.20.bb       |    2 +-
 meta/recipes-bsp/opensbi/opensbi_0.9.bb       |   12 +-
 meta/recipes-bsp/pciutils/pciutils_3.7.0.bb   |   10 +-
 meta/recipes-bsp/pm-utils/pm-utils_1.4.1.bb   |    8 +-
 meta/recipes-bsp/u-boot/libubootenv_0.3.2.bb  |    2 +-
 meta/recipes-bsp/u-boot/u-boot-tools.inc      |   38 +-
 .../u-boot/u-boot-tools_2021.07.bb            |    2 +-
 meta/recipes-bsp/u-boot/u-boot.inc            |   10 +-
 meta/recipes-bsp/u-boot/u-boot_2021.07.bb     |    2 +-
 meta/recipes-bsp/usbutils/usbutils_013.bb     |   12 +-
 meta/recipes-bsp/v86d/v86d_0.1.10.bb          |    2 +-
 meta/recipes-connectivity/avahi/avahi_0.8.bb  |   82 +-
 .../recipes-connectivity/bind/bind_9.16.18.bb |   28 +-
 meta/recipes-connectivity/bluez5/bluez5.inc   |   28 +-
 .../connman/connman-conf.bb                   |    6 +-
 .../connman/connman-gnome_0.7.bb              |    4 +-
 meta/recipes-connectivity/connman/connman.inc |   88 +-
 .../connman/connman_1.40.bb                   |    6 +-
 .../dhcpcd/dhcpcd_9.4.0.bb                    |    8 +-
 .../inetutils/inetutils_2.0.bb                |  106 +-
 .../iproute2/iproute2.inc                     |   32 +-
 .../iproute2/iproute2_5.13.0.bb               |    2 +-
 meta/recipes-connectivity/kea/kea_1.8.2.bb    |   32 +-
 .../libnss-mdns/libnss-mdns_0.15.1.bb         |    8 +-
 .../libpcap/libpcap_1.10.1.bb                 |    2 +-
 meta/recipes-connectivity/neard/neard_0.16.bb |    8 +-
 .../nfs-utils/nfs-utils_2.5.4.bb              |   38 +-
 meta/recipes-connectivity/ofono/ofono_1.32.bb |   16 +-
 .../openssh/openssh_8.6p1.bb                  |   60 +-
 .../openssl/openssl_1.1.1k.bb                 |   50 +-
 .../ppp-dialin/ppp-dialin_0.1.bb              |    4 +-
 meta/recipes-connectivity/ppp/ppp_2.4.9.bb    |   42 +-
 .../resolvconf/resolvconf_1.87.bb             |    6 +-
 .../socat/socat_1.7.4.1.bb                    |    8 +-
 .../wpa-supplicant/wpa-supplicant_2.9.bb      |   16 +-
 .../base-files/base-files_3.0.14.bb           |   18 +-
 .../base-passwd/base-passwd_3.5.29.bb         |   10 +-
 .../busybox/busybox-inittab_1.33.0.bb         |   10 +-
 meta/recipes-core/busybox/busybox.inc         |   68 +-
 meta/recipes-core/busybox/busybox_1.33.1.bb   |    2 +-
 meta/recipes-core/coreutils/coreutils_8.32.bb |   42 +-
 meta/recipes-core/dbus/dbus-glib_0.112.bb     |   16 +-
 meta/recipes-core/dbus/dbus-test_1.12.20.bb   |    6 +-
 meta/recipes-core/dbus/dbus.inc               |    8 +-
 meta/recipes-core/dbus/dbus_1.12.20.bb        |   40 +-
 meta/recipes-core/dropbear/dropbear.inc       |   16 +-
 meta/recipes-core/ell/ell_0.41.bb             |    2 +-
 meta/recipes-core/expat/expat_2.4.1.bb        |    6 +-
 meta/recipes-core/gettext/gettext_0.21.bb     |   42 +-
 meta/recipes-core/glib-2.0/glib-2.0_2.68.3.bb |    2 +-
 meta/recipes-core/glib-2.0/glib.inc           |   52 +-
 .../glib-networking/glib-networking_2.68.1.bb |    8 +-
 meta/recipes-core/glibc/glibc-common.inc      |    8 +-
 meta/recipes-core/glibc/glibc-ld.inc          |    2 +-
 meta/recipes-core/glibc/glibc-locale.inc      |   30 +-
 meta/recipes-core/glibc/glibc-mtrace.inc      |    4 +-
 meta/recipes-core/glibc/glibc-package.inc     |  134 +-
 meta/recipes-core/glibc/glibc-scripts.inc     |    4 +-
 .../glibc/glibc-testsuite_2.33.bb             |    4 +-
 meta/recipes-core/glibc/glibc.inc             |    8 +-
 meta/recipes-core/glibc/glibc_2.33.bb         |    8 +-
 meta/recipes-core/ifupdown/ifupdown_0.8.36.bb |    2 +-
 .../images/build-appliance-image_15.0.0.bb    |    2 +-
 .../recipes-core/images/core-image-minimal.bb |    2 +-
 .../init-ifupdown/init-ifupdown_1.0.bb        |    8 +-
 .../initrdscripts/initramfs-boot_1.0.bb       |    2 +-
 .../initrdscripts/initramfs-framework_1.0.bb  |   56 +-
 .../initramfs-live-boot-tiny_1.0.bb           |    4 +-
 .../initrdscripts/initramfs-live-boot_1.0.bb  |    4 +-
 .../initramfs-live-install-efi-testfs_1.0.bb  |    4 +-
 .../initramfs-live-install-efi_1.0.bb         |    6 +-
 .../initramfs-live-install-testfs_1.0.bb      |    4 +-
 .../initramfs-live-install_1.0.bb             |    6 +-
 .../initramfs-module-install-efi_1.0.bb       |    6 +-
 .../initramfs-module-install_1.0.bb           |   10 +-
 .../initramfs-module-setup-live_1.0.bb        |    6 +-
 .../initscripts/init-system-helpers_1.60.bb   |   10 +-
 .../initscripts/initscripts_1.0.bb            |   24 +-
 meta/recipes-core/kbd/kbd_2.4.0.bb            |   18 +-
 meta/recipes-core/libcgroup/libcgroup_0.41.bb |   12 +-
 .../libxcrypt/libxcrypt-compat_4.4.23.bb      |    2 +-
 meta/recipes-core/libxcrypt/libxcrypt.inc     |    4 +-
 meta/recipes-core/libxml/libxml2_2.9.12.bb    |   28 +-
 meta/recipes-core/meta/buildtools-tarball.bb  |    2 +-
 meta/recipes-core/meta/dummy-sdk-package.inc  |   10 +-
 .../meta/meta-environment-extsdk.bb           |    2 +-
 meta/recipes-core/meta/meta-environment.bb    |    4 +-
 meta/recipes-core/meta/meta-go-toolchain.bb   |    4 +-
 meta/recipes-core/meta/signing-keys.bb        |    6 +-
 meta/recipes-core/meta/testexport-tarball.bb  |    2 +-
 meta/recipes-core/meta/wic-tools.bb           |    8 +-
 meta/recipes-core/musl/bsd-headers.bb         |    4 +-
 meta/recipes-core/musl/gcompat_git.bb         |    6 +-
 meta/recipes-core/musl/libssp-nonshared.bb    |    6 +-
 meta/recipes-core/musl/musl-utils.bb          |    2 +-
 meta/recipes-core/musl/musl.inc               |    8 +-
 meta/recipes-core/musl/musl_git.bb            |   18 +-
 meta/recipes-core/ncurses/ncurses.inc         |   38 +-
 meta/recipes-core/newlib/libgloss_4.1.0.bb    |   14 +-
 meta/recipes-core/newlib/newlib.inc           |    6 +-
 meta/recipes-core/newlib/newlib_4.1.0.bb      |    4 +-
 meta/recipes-core/os-release/os-release.bb    |    2 +-
 meta/recipes-core/ovmf/ovmf-shell-image.bb    |    4 +-
 meta/recipes-core/ovmf/ovmf_git.bb            |   28 +-
 .../nativesdk-packagegroup-sdk-host.bb        |    4 +-
 .../packagegroups/packagegroup-base.bb        |  138 +-
 .../packagegroups/packagegroup-core-boot.bb   |    4 +-
 .../packagegroup-core-buildessential.bb       |    2 +-
 .../packagegroup-core-eclipse-debug.bb        |    2 +-
 .../packagegroups/packagegroup-core-nfs.bb    |    8 +-
 .../packagegroups/packagegroup-core-sdk.bb    |   28 +-
 .../packagegroup-core-ssh-dropbear.bb         |    2 +-
 .../packagegroup-core-ssh-openssh.bb          |    2 +-
 ...packagegroup-core-standalone-sdk-target.bb |    4 +-
 .../packagegroup-core-tools-debug.bb          |    6 +-
 .../packagegroup-core-tools-profile.bb        |   52 +-
 .../packagegroup-core-tools-testapps.bb       |   14 +-
 .../packagegroup-cross-canadian.bb            |    2 +-
 .../packagegroup-go-cross-canadian.bb         |    2 +-
 .../packagegroup-go-sdk-target.bb             |    2 +-
 .../packagegroups/packagegroup-self-hosted.bb |   20 +-
 meta/recipes-core/psplash/psplash_git.bb      |   16 +-
 meta/recipes-core/readline/readline.inc       |   12 +-
 .../sysfsutils/sysfsutils_2.1.0.bb            |    6 +-
 .../systemd/systemd-boot_249.1.bb             |   12 +-
 .../systemd/systemd-bootconf_1.00.bb          |    6 +-
 .../systemd/systemd-compat-units.bb           |    6 +-
 meta/recipes-core/systemd/systemd-conf_1.0.bb |    4 +-
 .../systemd/systemd-machine-units_1.0.bb      |    4 +-
 .../systemd/systemd-serialgetty.bb            |    4 +-
 meta/recipes-core/systemd/systemd_249.1.bb    |  144 +-
 .../sysvinit/sysvinit-inittab_2.88dsf.bb      |   10 +-
 meta/recipes-core/sysvinit/sysvinit_2.99.bb   |   22 +-
 .../recipes-core/udev/eudev/permissions.rules |    6 +-
 meta/recipes-core/udev/eudev_3.2.10.bb        |   24 +-
 meta/recipes-core/udev/udev-extraconf_1.1.bb  |   12 +-
 .../util-linux/util-linux-libuuid_2.37.bb     |    2 +-
 meta/recipes-core/util-linux/util-linux.inc   |   10 +-
 .../util-linux/util-linux_2.37.bb             |   86 +-
 .../volatile-binds/volatile-binds.bb          |    4 +-
 meta/recipes-core/zlib/zlib_1.2.11.bb         |    4 +-
 meta/recipes-devtools/apt/apt_2.2.4.bb        |   22 +-
 .../autoconf-archive_2021.02.19.bb            |    2 +-
 .../autoconf/autoconf_2.71.bb                 |   16 +-
 meta/recipes-devtools/automake/automake.inc   |    2 +-
 .../automake/automake_1.16.3.bb               |   12 +-
 .../binutils/binutils-cross-canadian.inc      |    2 +-
 .../binutils/binutils-crosssdk_2.37.bb        |    2 +-
 meta/recipes-devtools/binutils/binutils.inc   |   26 +-
 .../binutils/binutils_2.37.bb                 |   24 +-
 meta/recipes-devtools/bison/bison_3.7.6.bb    |    8 +-
 .../bootchart2/bootchart2_0.14.9.bb           |   30 +-
 .../btrfs-tools/btrfs-tools_5.13.bb           |   12 +-
 meta/recipes-devtools/chrpath/chrpath_0.16.bb |    4 +-
 meta/recipes-devtools/cmake/cmake_3.20.5.bb   |   12 +-
 .../createrepo-c/createrepo-c_0.17.4.bb       |    6 +-
 .../recipes-devtools/dejagnu/dejagnu_1.6.3.bb |    2 +-
 .../desktop-file-utils_0.26.bb                |    2 +-
 .../devel-config/distcc-config.bb             |    2 +-
 .../devel-config/nfs-export-root.bb           |    2 +-
 meta/recipes-devtools/distcc/distcc_3.4.bb    |   10 +-
 meta/recipes-devtools/dnf/dnf_4.8.0.bb        |   14 +-
 .../docbook-xml/docbook-xml-dtd4_4.5.bb       |    2 +-
 .../docbook-xsl-stylesheets_1.79.1.bb         |    6 +-
 .../dosfstools/dosfstools_4.2.bb              |    2 +-
 meta/recipes-devtools/dpkg/dpkg.inc           |   38 +-
 meta/recipes-devtools/dpkg/dpkg_1.20.9.bb     |    2 +-
 .../dwarfsrcfiles/dwarfsrcfiles.bb            |    4 +-
 meta/recipes-devtools/e2fsprogs/e2fsprogs.inc |   10 +-
 .../e2fsprogs/e2fsprogs_1.46.2.bb             |   56 +-
 .../elfutils/elfutils_0.185.bb                |   46 +-
 meta/recipes-devtools/expect/expect_5.45.4.bb |   12 +-
 meta/recipes-devtools/file/file_5.40.bb       |   20 +-
 meta/recipes-devtools/flex/flex_2.6.4.bb      |   14 +-
 meta/recipes-devtools/gcc/gcc-11.1.inc        |    2 +-
 meta/recipes-devtools/gcc/gcc-common.inc      |    4 +-
 .../gcc/gcc-configure-common.inc              |   24 +-
 .../gcc/gcc-cross-canadian.inc                |   16 +-
 meta/recipes-devtools/gcc/gcc-cross.inc       |   10 +-
 .../gcc/gcc-multilib-config.inc               |    2 +-
 meta/recipes-devtools/gcc/gcc-runtime.inc     |  128 +-
 meta/recipes-devtools/gcc/gcc-sanitizers.inc  |   58 +-
 .../gcc/gcc-sanitizers_11.1.bb                |    4 +-
 meta/recipes-devtools/gcc/gcc-target.inc      |   58 +-
 meta/recipes-devtools/gcc/gcc_11.1.bb         |   10 +-
 meta/recipes-devtools/gcc/libgcc-common.inc   |   12 +-
 meta/recipes-devtools/gcc/libgcc-initial.inc  |    6 +-
 .../gcc/libgcc-initial_11.1.bb                |    2 +-
 meta/recipes-devtools/gcc/libgcc.inc          |   12 +-
 meta/recipes-devtools/gcc/libgcc_11.1.bb      |    2 +-
 meta/recipes-devtools/gcc/libgfortran.inc     |   14 +-
 meta/recipes-devtools/gdb/gdb-common.inc      |   18 +-
 .../gdb/gdb-cross-canadian.inc                |    4 +-
 meta/recipes-devtools/gdb/gdb-cross.inc       |    2 +-
 meta/recipes-devtools/gdb/gdb.inc             |    4 +-
 meta/recipes-devtools/gdb/gdb_10.2.bb         |    4 +-
 meta/recipes-devtools/git/git.inc             |   26 +-
 meta/recipes-devtools/glide/glide_0.13.3.bb   |   10 +-
 .../gnu-config/gnu-config_git.bb              |    4 +-
 meta/recipes-devtools/go/go-1.16.5.inc        |    2 +-
 meta/recipes-devtools/go/go-common.inc        |    2 +-
 meta/recipes-devtools/go/go-native_1.16.5.bb  |    2 +-
 meta/recipes-devtools/go/go-runtime.inc       |   14 +-
 meta/recipes-devtools/go/go-target.inc        |   12 +-
 meta/recipes-devtools/go/go_1.16.5.bb         |    2 +-
 .../help2man/help2man_1.48.3.bb               |    2 +-
 .../i2c-tools/i2c-tools_4.2.bb                |    6 +-
 .../icecc-create-env/icecc-create-env_0.1.bb  |    2 +-
 .../nativesdk-icecc-toolchain_0.1.bb          |    4 +-
 .../intltool/intltool_0.51.0.bb               |   20 +-
 meta/recipes-devtools/jquery/jquery_3.6.0.bb  |    2 +-
 meta/recipes-devtools/json-c/json-c_0.15.bb   |    2 +-
 meta/recipes-devtools/libdnf/libdnf_0.63.1.bb |    4 +-
 .../libedit/libedit_20210522-3.1.bb           |    2 +-
 .../libtool/libtool-2.4.6.inc                 |    8 +-
 .../libtool/libtool-cross_2.4.6.bb            |    2 +-
 .../libtool/libtool-native_2.4.6.bb           |    2 +-
 .../recipes-devtools/libtool/libtool_2.4.6.bb |    6 +-
 .../libtool/nativesdk-libtool_2.4.6.bb        |    4 +-
 meta/recipes-devtools/llvm/llvm_git.bb        |   40 +-
 meta/recipes-devtools/m4/m4-1.4.19.inc        |   10 +-
 .../makedevs/makedevs_1.0.1.bb                |    4 +-
 meta/recipes-devtools/meson/meson.inc         |    6 +-
 .../meson/nativesdk-meson_0.58.1.bb           |    6 +-
 meta/recipes-devtools/mmc/mmc-utils_git.bb    |    6 +-
 meta/recipes-devtools/mtd/mtd-utils_git.bb    |   16 +-
 meta/recipes-devtools/mtools/mtools_4.0.32.bb |    8 +-
 meta/recipes-devtools/nasm/nasm_2.15.05.bb    |    2 +-
 meta/recipes-devtools/ninja/ninja_1.10.2.bb   |    2 +-
 .../opkg-utils/opkg-utils_0.4.5.bb            |   20 +-
 .../opkg/opkg-arch-config_1.0.bb              |   10 +-
 .../opkg/opkg-keyrings_1.0.bb                 |    8 +-
 meta/recipes-devtools/opkg/opkg_0.4.5.bb      |   26 +-
 meta/recipes-devtools/orc/orc_0.4.32.bb       |    8 +-
 meta/recipes-devtools/patch/patch.inc         |    2 +-
 meta/recipes-devtools/patch/patch_2.7.6.bb    |    2 +-
 .../perl-cross/perlcross_1.3.6.bb             |    2 +-
 .../perl/files/perl-rdepends.txt              | 4042 ++++++++---------
 .../perl/liberror-perl_0.17029.bb             |    6 +-
 .../perl/libmodule-build-perl_0.4231.bb       |   10 +-
 .../perl/libtest-needs-perl_0.002009.bb       |    2 +-
 .../recipes-devtools/perl/liburi-perl_5.08.bb |    6 +-
 .../perl/libxml-parser-perl_2.46.bb           |    8 +-
 .../recipes-devtools/perl/libxml-perl_0.08.bb |    4 +-
 .../perl/libxml-simple-perl_2.25.bb           |    4 +-
 meta/recipes-devtools/perl/perl-ptest.inc     |    6 +-
 meta/recipes-devtools/perl/perl_5.34.0.bb     |   62 +-
 .../recipes-devtools/pkgconf/pkgconf_1.7.4.bb |   14 +-
 .../pkgconfig/pkgconfig_git.bb                |   14 +-
 meta/recipes-devtools/prelink/prelink_git.bb  |   18 +-
 meta/recipes-devtools/pseudo/pseudo.inc       |   20 +-
 meta/recipes-devtools/pseudo/pseudo_git.bb    |    2 +-
 .../python-numpy/python3-numpy_1.21.0.bb      |    6 +-
 meta/recipes-devtools/python/python-async.inc |    2 +-
 .../recipes-devtools/python/python-cython.inc |    6 +-
 meta/recipes-devtools/python/python-gitdb.inc |    2 +-
 meta/recipes-devtools/python/python-nose.inc  |    2 +-
 meta/recipes-devtools/python/python-pbr.inc   |    2 +-
 .../python/python-pycryptodome.inc            |    6 +-
 .../python/python-pyparsing.inc               |    2 +-
 meta/recipes-devtools/python/python-six.inc   |    2 +-
 meta/recipes-devtools/python/python-smmap.inc |    2 +-
 .../python/python-testtools.inc               |    2 +-
 .../python/python3-atomicwrites_1.4.0.bb      |    4 +-
 .../python/python3-attrs_21.2.0.bb            |    4 +-
 .../python/python3-cython_0.29.23.bb          |    4 +-
 .../python/python3-dbus_1.2.16.bb             |    4 +-
 .../python/python3-dbusmock_0.23.1.bb         |    2 +-
 .../python/python3-git_3.1.18.bb              |    2 +-
 .../python/python3-hypothesis_6.14.3.bb       |    2 +-
 .../python3-importlib-metadata_4.6.1.bb       |    6 +-
 .../python/python3-iniparse_0.5.bb            |    2 +-
 .../python/python3-jinja2_3.0.1.bb            |    4 +-
 .../python/python3-libarchive-c_3.1.bb        |    2 +-
 .../python/python3-magic_0.4.24.bb            |    2 +-
 .../python/python3-mako_1.1.4.bb              |    2 +-
 .../python/python3-markdown_3.3.4.bb          |    2 +-
 .../python/python3-markupsafe_2.0.1.bb        |    4 +-
 .../python/python3-more-itertools_8.8.0.bb    |    4 +-
 .../python/python3-packaging_21.0.bb          |    2 +-
 .../python/python3-pathlib2_2.3.6.bb          |    2 +-
 .../python/python3-pip_21.1.3.bb              |    4 +-
 .../python/python3-pluggy_0.13.1.bb           |    4 +-
 .../python/python3-py_1.10.0.bb               |    2 +-
 .../python/python3-pycairo_1.20.1.bb          |    2 +-
 .../python/python3-pycryptodomex_3.10.1.bb    |    2 +-
 .../python/python3-pygobject_3.40.1.bb        |    4 +-
 .../python/python3-pytest_6.2.4.bb            |    6 +-
 .../python/python3-pyyaml_5.4.1.bb            |    2 +-
 .../python/python3-scons-native_4.1.0.bb      |    2 +-
 .../python/python3-scons_4.1.0.bb             |    4 +-
 .../python/python3-setuptools-scm_6.0.1.bb    |    4 +-
 .../python/python3-setuptools_57.1.0.bb       |   10 +-
 .../python/python3-subunit_1.4.0.bb           |    2 +-
 .../python/python3-toml_0.10.2.bb             |    2 +-
 .../python/python3-typogrify_2.0.7.bb         |    2 +-
 .../python/python3-wcwidth_0.2.5.bb           |    2 +-
 .../python/python3-zipp_3.5.0.bb              |    2 +-
 meta/recipes-devtools/python/python3_3.9.6.bb |  108 +-
 .../qemu/nativesdk-qemu-helper_1.0.bb         |    2 +-
 .../qemu/qemu-helper-native_1.0.bb            |    2 +-
 meta/recipes-devtools/qemu/qemu-native.inc    |    6 +-
 .../qemu/qemu-native_6.0.0.bb                 |    2 +-
 .../qemu/qemu-system-native_6.0.0.bb          |    6 +-
 meta/recipes-devtools/qemu/qemu.inc           |   24 +-
 meta/recipes-devtools/qemu/qemu_6.0.0.bb      |   14 +-
 meta/recipes-devtools/quilt/quilt.inc         |   30 +-
 meta/recipes-devtools/rpm/rpm_4.16.1.3.bb     |   52 +-
 meta/recipes-devtools/rsync/rsync_3.2.3.bb    |    6 +-
 meta/recipes-devtools/ruby/ruby.inc           |    4 +-
 meta/recipes-devtools/ruby/ruby_3.0.2.bb      |   26 +-
 .../run-postinsts/run-postinsts_1.0.bb        |    2 +-
 .../squashfs-tools/squashfs-tools_git.bb      |    6 +-
 meta/recipes-devtools/strace/strace_5.12.bb   |    8 +-
 .../subversion/subversion_1.14.1.bb           |    6 +-
 meta/recipes-devtools/swig/swig.inc           |    6 +-
 .../syslinux/syslinux_6.04-pre2.bb            |   42 +-
 .../systemd-bootchart_234.bb                  |    8 +-
 .../tcf-agent/tcf-agent_git.bb                |   20 +-
 meta/recipes-devtools/tcltk/tcl_8.6.11.bb     |   12 +-
 meta/recipes-devtools/unfs3/unfs3_git.bb      |    8 +-
 meta/recipes-devtools/vala/vala.inc           |   16 +-
 .../valgrind/valgrind_3.17.0.bb               |   56 +-
 meta/recipes-devtools/xmlto/xmlto_0.0.28.bb   |    8 +-
 .../acpica/acpica_20210331.bb                 |    8 +-
 .../asciidoc/asciidoc_9.1.0.bb                |    4 +-
 meta/recipes-extended/at/at_3.2.2.bb          |    8 +-
 meta/recipes-extended/bash/bash.inc           |   32 +-
 meta/recipes-extended/bash/bash_5.1.8.bb      |    4 +-
 meta/recipes-extended/bc/bc_1.07.1.bb         |    4 +-
 meta/recipes-extended/bzip2/bzip2_1.0.8.bb    |   28 +-
 meta/recipes-extended/cpio/cpio_2.13.bb       |    6 +-
 .../cracklib/cracklib_2.9.5.bb                |    2 +-
 meta/recipes-extended/cronie/cronie_1.5.7.bb  |   10 +-
 meta/recipes-extended/cups/cups.inc           |   16 +-
 meta/recipes-extended/diffutils/diffutils.inc |    2 +-
 .../diffutils/diffutils_3.7.bb                |    2 +-
 meta/recipes-extended/ethtool/ethtool_5.13.bb |    2 +-
 meta/recipes-extended/findutils/findutils.inc |    2 +-
 meta/recipes-extended/gawk/gawk_5.1.0.bb      |   12 +-
 .../ghostscript/ghostscript_9.54.0.bb         |   22 +-
 .../go-examples/go-helloworld_0.1.bb          |    2 +-
 meta/recipes-extended/grep/grep_3.6.bb        |    4 +-
 meta/recipes-extended/groff/groff_1.22.4.bb   |   10 +-
 meta/recipes-extended/gzip/gzip.inc           |    8 +-
 meta/recipes-extended/gzip/gzip_1.10.bb       |    6 +-
 meta/recipes-extended/hdparm/hdparm_9.62.bb   |   12 +-
 .../images/core-image-kernel-dev.bb           |    2 +-
 .../iptables/iptables_1.8.7.bb                |   30 +-
 .../iputils/iputils_20210202.bb               |   30 +-
 meta/recipes-extended/less/less_590.bb        |    2 +-
 .../libarchive/libarchive_3.5.1.bb            |   14 +-
 meta/recipes-extended/libidn/libidn2_2.3.1.bb |    6 +-
 .../recipes-extended/libnss-nis/libnss-nis.bb |    2 +-
 .../libsolv/libsolv_0.7.19.bb                 |    4 +-
 .../libtirpc/libtirpc_1.3.2.bb                |    2 +-
 .../lighttpd/lighttpd_1.4.59.bb               |   14 +-
 .../logrotate/logrotate_3.18.1.bb             |    4 +-
 meta/recipes-extended/lsb/lsb-release_1.4.bb  |    4 +-
 meta/recipes-extended/ltp/ltp_20210524.bb     |   20 +-
 meta/recipes-extended/man-db/man-db_2.9.4.bb  |   20 +-
 .../man-pages/man-pages_5.12.bb               |    8 +-
 meta/recipes-extended/mc/mc_4.8.26.bb         |   22 +-
 meta/recipes-extended/mdadm/mdadm_4.1.bb      |   22 +-
 .../mingetty/mingetty_1.08.bb                 |    2 +-
 .../recipes-extended/minicom/minicom_2.7.1.bb |    4 +-
 meta/recipes-extended/msmtp/msmtp_1.8.15.bb   |    4 +-
 .../net-tools/net-tools_2.10.bb               |   14 +-
 meta/recipes-extended/newt/libnewt_0.52.21.bb |   12 +-
 .../packagegroup-core-base-utils.bb           |    2 +-
 .../packagegroup-core-full-cmdline.bb         |   22 +-
 meta/recipes-extended/pam/libpam_1.5.1.bb     |   46 +-
 meta/recipes-extended/parted/parted_3.4.bb    |    8 +-
 meta/recipes-extended/pbzip2/pbzip2_1.1.13.bb |    2 +-
 .../perl/libconvert-asn1-perl_0.27.bb         |    4 +-
 .../perl/libtimedate-perl_2.30.bb             |    4 +-
 .../perl/libxml-namespacesupport-perl_1.12.bb |    2 +-
 .../perl/libxml-sax-base-perl_1.09.bb         |    4 +-
 .../perl/libxml-sax-perl_1.02.bb              |    6 +-
 meta/recipes-extended/pigz/pigz_2.6.bb        |    8 +-
 meta/recipes-extended/procps/procps_3.3.17.bb |   30 +-
 meta/recipes-extended/psmisc/psmisc.inc       |   28 +-
 meta/recipes-extended/quota/quota_4.06.bb     |    2 +-
 .../recipes-extended/rpcbind/rpcbind_1.2.6.bb |    8 +-
 .../rpcsvc-proto/rpcsvc-proto.bb              |    6 +-
 meta/recipes-extended/screen/screen_4.8.0.bb  |    8 +-
 meta/recipes-extended/sed/sed_4.8.bb          |    8 +-
 meta/recipes-extended/shadow/shadow.inc       |   38 +-
 meta/recipes-extended/shadow/shadow_4.8.1.bb  |    2 +-
 meta/recipes-extended/slang/slang_2.3.2.bb    |    8 +-
 .../stress-ng/stress-ng_0.12.12.bb            |    6 +-
 meta/recipes-extended/sudo/sudo.inc           |    8 +-
 meta/recipes-extended/sudo/sudo_1.9.7p1.bb    |   14 +-
 .../sysklogd/sysklogd_2.2.3.bb                |   14 +-
 meta/recipes-extended/sysstat/sysstat.inc     |    8 +-
 meta/recipes-extended/tar/tar_1.34.bb         |   16 +-
 .../tcp-wrappers/tcp-wrappers_7.6.bb          |   18 +-
 meta/recipes-extended/texinfo/texinfo_6.8.bb  |   28 +-
 meta/recipes-extended/time/time_1.9.bb        |    2 +-
 meta/recipes-extended/timezone/tzdata.bb      |   60 +-
 meta/recipes-extended/unzip/unzip_6.0.bb      |    4 +-
 .../watchdog/watchdog_5.16.bb                 |   26 +-
 meta/recipes-extended/wget/wget.inc           |    6 +-
 meta/recipes-extended/which/which_2.21.bb     |    6 +-
 .../xdg-utils/xdg-utils_1.1.3.bb              |    2 +-
 .../xinetd/xinetd_2.3.15.4.bb                 |    8 +-
 meta/recipes-extended/xz/xz_5.2.5.bb          |   18 +-
 meta/recipes-gnome/epiphany/epiphany_40.2.bb  |    4 +-
 meta/recipes-gnome/gcr/gcr_3.40.0.bb          |   10 +-
 .../gdk-pixbuf/gdk-pixbuf_2.42.6.bb           |   30 +-
 meta/recipes-gnome/gi-docgen/gi-docgen_git.bb |    2 +-
 .../gnome/adwaita-icon-theme_3.34.3.bb        |   16 +-
 .../gnome/adwaita-icon-theme_3.38.0.bb        |   16 +-
 meta/recipes-gnome/gnome/gconf_3.2.6.bb       |   12 +-
 .../gobject-introspection_1.68.0.bb           |   38 +-
 meta/recipes-gnome/gtk+/gtk+3.inc             |   36 +-
 meta/recipes-gnome/gtk-doc/gtk-doc_1.33.2.bb  |   12 +-
 .../hicolor-icon-theme_0.17.bb                |    2 +-
 .../json-glib/json-glib_1.6.2.bb              |    2 +-
 meta/recipes-gnome/libgudev/libgudev_236.bb   |    4 +-
 meta/recipes-gnome/libhandy/libhandy_1.2.3.bb |    2 +-
 .../libnotify/libnotify_0.7.9.bb              |    6 +-
 meta/recipes-gnome/librsvg/librsvg_2.40.21.bb |    8 +-
 .../libsecret/libsecret_0.20.4.bb             |    6 +-
 meta/recipes-graphics/builder/builder_0.1.bb  |    4 +-
 meta/recipes-graphics/cairo/cairo_1.16.0.bb   |   36 +-
 .../cantarell-fonts/cantarell-fonts_0.301.bb  |    2 +-
 meta/recipes-graphics/drm/libdrm_2.4.107.bb   |   24 +-
 .../fontconfig/fontconfig_2.13.1.bb           |   20 +-
 .../freetype/freetype_2.10.4.bb               |    2 +-
 .../glslang/glslang_11.5.0.bb                 |    2 +-
 .../harfbuzz/harfbuzz_2.8.2.bb                |    8 +-
 .../igt-gpu-tools/igt-gpu-tools_git.bb        |   12 +-
 .../jpeg/libjpeg-turbo_2.1.0.bb               |   38 +-
 .../libepoxy/libepoxy_1.5.8.bb                |    4 +-
 .../libsdl2/libsdl2_2.0.14.bb                 |   12 +-
 .../libva/libva-initial_2.12.0.bb             |    2 +-
 meta/recipes-graphics/libva/libva_2.12.0.bb   |   10 +-
 .../matchbox-session/matchbox-session_0.1.bb  |    4 +-
 .../matchbox-wm/matchbox-wm_1.2.2.bb          |    4 +-
 meta/recipes-graphics/mesa/libglu_9.0.2.bb    |    2 +-
 .../recipes-graphics/mesa/mesa-demos_8.4.0.bb |    2 +-
 meta/recipes-graphics/mesa/mesa-gl_21.1.5.bb  |    2 +-
 meta/recipes-graphics/mesa/mesa.inc           |  142 +-
 meta/recipes-graphics/mesa/mesa_21.1.5.bb     |    4 +-
 .../mini-x-session/mini-x-session_0.1.bb      |    6 +-
 .../packagegroups/packagegroup-core-weston.bb |    2 +-
 .../packagegroup-core-x11-base.bb             |    2 +-
 .../packagegroup-core-x11-xserver.bb          |    2 +-
 .../packagegroups/packagegroup-core-x11.bb    |    6 +-
 meta/recipes-graphics/pango/pango_1.48.7.bb   |   12 +-
 meta/recipes-graphics/piglit/piglit_git.bb    |    8 +-
 .../spir/spirv-tools_2021.2.bb                |    6 +-
 .../ttf-fonts/liberation-fonts_2.1.4.bb       |    2 +-
 .../ttf-fonts/ttf-bitstream-vera_1.10.bb      |    2 +-
 .../vulkan/vulkan-headers_1.2.182.0.bb        |    2 +-
 .../vulkan/vulkan-loader_1.2.182.0.bb         |    2 +-
 .../vulkan/vulkan-samples_git.bb              |    2 +-
 meta/recipes-graphics/waffle/waffle_1.6.1.bb  |    2 +-
 .../wayland/libinput_1.18.0.bb                |   10 +-
 .../wayland/wayland-protocols_1.21.bb         |    2 +-
 .../wayland/wayland_1.19.0.bb                 |   12 +-
 meta/recipes-graphics/wayland/weston-init.bb  |   24 +-
 meta/recipes-graphics/wayland/weston_9.0.0.bb |   26 +-
 .../x11-common/xserver-nodm-init_3.0.bb       |    6 +-
 .../xcursor-transparent-theme_git.bb          |    2 +-
 .../pointercal-xinput_0.0.bb                  |    2 +-
 .../xinput-calibrator_git.bb                  |    8 +-
 .../xorg-app/mkfontscale_1.2.1.bb             |    2 +-
 meta/recipes-graphics/xorg-app/rgb_1.0.6.bb   |    2 +-
 .../xorg-app/x11perf_1.6.1.bb                 |    4 +-
 meta/recipes-graphics/xorg-app/xinit_1.4.1.bb |    2 +-
 .../xorg-app/xorg-app-common.inc              |    2 +-
 .../xorg-driver/xf86-input-libinput_1.1.0.bb  |    2 +-
 .../xorg-driver/xf86-input-vmmouse_13.1.0.bb  |    6 +-
 .../xorg-driver/xf86-video-intel_git.bb       |    2 +-
 .../xorg-driver/xf86-video-vesa_2.5.0.bb      |    2 +-
 .../xorg-driver/xorg-driver-common.inc        |    6 +-
 .../xorg-driver/xorg-driver-input.inc         |    2 +-
 .../xorg-font/encodings_1.0.5.bb              |    4 +-
 .../xorg-font/font-alias_1.0.4.bb             |    4 +-
 .../xorg-font/font-util_1.3.2.bb              |    8 +-
 .../xorg-font/xorg-font-common.inc            |    8 +-
 .../xorg-font/xorg-minimal-fonts.bb           |    4 +-
 .../xorg-lib/libpthread-stubs_0.4.bb          |    4 +-
 .../xorg-lib/libx11-compose-data_1.6.8.bb     |    2 +-
 .../recipes-graphics/xorg-lib/libx11_1.7.2.bb |    6 +-
 meta/recipes-graphics/xorg-lib/libxcb_1.14.bb |    6 +-
 .../recipes-graphics/xorg-lib/libxft_2.3.3.bb |    2 +-
 .../xorg-lib/libxkbcommon_1.3.0.bb            |    2 +-
 .../recipes-graphics/xorg-lib/libxmu_1.1.3.bb |    2 +-
 .../xorg-lib/libxpm_3.5.13.bb                 |    4 +-
 .../xorg-lib/libxscrnsaver_1.2.3.bb           |    2 +-
 .../xorg-lib/xkeyboard-config_2.33.bb         |    4 +-
 .../recipes-graphics/xorg-lib/xtrans_1.4.0.bb |    2 +-
 .../xorg-proto/xcb-proto_1.14.1.bb            |   10 +-
 .../xorg-proto/xorgproto_2021.4.99.2.bb       |    4 +-
 .../xorg-util/util-macros_1.19.3.bb           |    4 +-
 .../xorg-xserver/xserver-xf86-config_0.1.bb   |    4 +-
 .../xorg-xserver/xserver-xorg.inc             |   74 +-
 .../xorg-xserver/xserver-xorg_1.20.12.bb      |    6 +-
 .../xwayland/xwayland_21.1.2.bb               |    4 +-
 .../cryptodev/cryptodev-linux_1.12.bb         |    2 +-
 .../cryptodev/cryptodev-module_1.12.bb        |    4 +-
 .../cryptodev/cryptodev-tests_1.12.bb         |    2 +-
 meta/recipes-kernel/dtc/dtc.inc               |    4 +-
 .../kexec/kexec-tools_2.0.22.bb               |   24 +-
 meta/recipes-kernel/kmod/kmod-native_git.bb   |    2 +-
 meta/recipes-kernel/kmod/kmod.inc             |    2 +-
 meta/recipes-kernel/kmod/kmod_git.bb          |   18 +-
 .../linux-firmware/linux-firmware_20210511.bb |  874 ++--
 .../linux-libc-headers/linux-libc-headers.inc |   10 +-
 .../linux-libc-headers_5.13.bb                |    4 +-
 meta/recipes-kernel/linux/kernel-devsrc.bb    |   16 +-
 meta/recipes-kernel/linux/linux-dummy.bb      |   12 +-
 meta/recipes-kernel/linux/linux-yocto-dev.bb  |   16 +-
 .../linux/linux-yocto-rt_5.10.bb              |   14 +-
 .../linux/linux-yocto-rt_5.13.bb              |   14 +-
 .../linux/linux-yocto-rt_5.4.bb               |   14 +-
 .../linux/linux-yocto-tiny_5.10.bb            |    6 +-
 .../linux/linux-yocto-tiny_5.13.bb            |    6 +-
 .../linux/linux-yocto-tiny_5.4.bb             |    6 +-
 meta/recipes-kernel/linux/linux-yocto.inc     |   28 +-
 meta/recipes-kernel/linux/linux-yocto_5.10.bb |   56 +-
 meta/recipes-kernel/linux/linux-yocto_5.13.bb |   62 +-
 meta/recipes-kernel/linux/linux-yocto_5.4.bb  |   52 +-
 .../recipes-kernel/lttng/babeltrace2_2.0.4.bb |    6 +-
 meta/recipes-kernel/lttng/babeltrace_1.5.8.bb |    2 +-
 .../lttng/lttng-modules_2.12.6.bb             |   16 +-
 meta/recipes-kernel/lttng/lttng-platforms.inc |   12 +-
 .../lttng/lttng-tools_2.12.4.bb               |   30 +-
 meta/recipes-kernel/lttng/lttng-ust_2.12.2.bb |   16 +-
 .../make-mod-scripts/make-mod-scripts_1.0.bb  |    2 +-
 .../modutils-initscripts.bb                   |    4 +-
 meta/recipes-kernel/perf/perf.bb              |   40 +-
 meta/recipes-kernel/powertop/powertop_2.14.bb |    4 +-
 .../systemtap/systemtap-uprobes_git.bb        |    4 +-
 .../recipes-kernel/systemtap/systemtap_git.bb |   26 +-
 .../systemtap/systemtap_git.inc               |    2 +-
 .../wireless-regdb_2021.04.21.bb              |    8 +-
 .../alsa/alsa-lib_1.2.5.1.bb                  |   28 +-
 .../alsa/alsa-plugins_1.2.5.bb                |   50 +-
 .../alsa/alsa-tools_1.2.5.bb                  |    2 +-
 .../alsa/alsa-topology-conf_1.2.5.1.bb        |    2 +-
 .../alsa/alsa-ucm-conf_1.2.5.1.bb             |    2 +-
 .../alsa/alsa-utils-scripts_1.2.5.1.bb        |    6 +-
 meta/recipes-multimedia/alsa/alsa-utils.inc   |   64 +-
 meta/recipes-multimedia/ffmpeg/ffmpeg_4.4.bb  |   72 +-
 meta/recipes-multimedia/flac/flac_1.3.3.bb    |   10 +-
 .../gstreamer/gst-devtools_1.18.4.bb          |    6 +-
 .../gstreamer/gst-examples_1.18.4.bb          |    8 +-
 .../gstreamer/gstreamer1.0-libav_1.18.4.bb    |    4 +-
 .../gstreamer/gstreamer1.0-meta-base.bb       |   22 +-
 .../gstreamer/gstreamer1.0-omx_1.18.4.bb      |    6 +-
 .../gstreamer1.0-plugins-bad_1.18.4.bb        |   12 +-
 .../gstreamer1.0-plugins-base_1.18.4.bb       |    4 +-
 .../gstreamer/gstreamer1.0-plugins-common.inc |    2 +-
 .../gstreamer1.0-plugins-good_1.18.4.bb       |    6 +-
 .../gstreamer1.0-plugins-packaging.inc        |   26 +-
 .../gstreamer1.0-plugins-ugly_1.18.4.bb       |    4 +-
 .../gstreamer/gstreamer1.0-python_1.18.4.bb   |    4 +-
 .../gstreamer/gstreamer1.0-vaapi_1.18.4.bb    |    8 +-
 .../gstreamer/gstreamer1.0_1.18.4.bb          |    8 +-
 meta/recipes-multimedia/lame/lame_3.100.bb    |    8 +-
 .../recipes-multimedia/liba52/liba52_0.7.4.bb |    4 +-
 .../libomxil/libomxil_0.9.3.bb                |    6 +-
 .../libpng/libpng_1.6.37.bb                   |    4 +-
 .../libsndfile/libsndfile1_1.0.28.bb          |    2 +-
 meta/recipes-multimedia/libtiff/tiff_4.3.0.bb |    6 +-
 .../mpeg2dec/mpeg2dec_0.5.1.bb                |   14 +-
 .../mpg123/mpg123_1.28.2.bb                   |    4 +-
 .../pulseaudio/pulseaudio.inc                 |   62 +-
 meta/recipes-multimedia/sbc/sbc_1.5.bb        |    6 +-
 .../speex/speexdsp_1.2.0.bb                   |    8 +-
 meta/recipes-multimedia/webp/libwebp_1.2.0.bb |    8 +-
 meta/recipes-multimedia/x264/x264_git.bb      |   10 +-
 meta/recipes-rt/rt-tests/hwlatdetect_git.bb   |    6 +-
 meta/recipes-rt/rt-tests/rt-tests_git.bb      |    8 +-
 meta/recipes-sato/images/core-image-sato.bb   |    6 +-
 meta/recipes-sato/l3afpad/l3afpad_git.bb      |    2 +-
 .../matchbox-config-gtk_0.2.bb                |    2 +-
 .../matchbox-desktop/matchbox-desktop_2.2.bb  |    4 +-
 .../matchbox-keyboard_0.1.1.bb                |   12 +-
 .../matchbox-panel-2/matchbox-panel-2_2.11.bb |   10 +-
 .../matchbox-session-sato_0.1.bb              |    6 +-
 .../matchbox-theme-sato.inc                   |    2 +-
 .../packagegroup-core-x11-sato.bb             |   16 +-
 meta/recipes-sato/pcmanfm/pcmanfm_1.3.2.bb    |    6 +-
 .../pulseaudio-client-conf-sato_1.bb          |    4 +-
 meta/recipes-sato/puzzles/puzzles_git.bb      |    2 +-
 .../rxvt-unicode/rxvt-unicode.inc             |   14 +-
 .../sato-screenshot/sato-screenshot_0.3.bb    |    4 +-
 .../settings-daemon/settings-daemon_0.0.2.bb  |    4 +-
 .../shutdown-desktop/shutdown-desktop.bb      |    2 +-
 meta/recipes-sato/webkit/libwpe_1.10.1.bb     |    2 +-
 meta/recipes-sato/webkit/webkitgtk_2.32.2.bb  |   52 +-
 .../webkit/wpebackend-fdo_1.10.0.bb           |    2 +-
 meta/recipes-support/apr/apr-util_1.6.1.bb    |   24 +-
 meta/recipes-support/apr/apr_1.7.0.bb         |   14 +-
 .../argp-standalone/argp-standalone_1.3.bb    |    4 +-
 meta/recipes-support/aspell/aspell_0.60.8.bb  |   18 +-
 .../recipes-support/atk/at-spi2-atk_2.38.0.bb |    4 +-
 .../atk/at-spi2-core_2.40.3.bb                |    2 +-
 meta/recipes-support/attr/acl_2.3.1.bb        |    8 +-
 meta/recipes-support/attr/attr.inc            |   10 +-
 .../bash-completion/bash-completion_2.11.bb   |    6 +-
 .../bmap-tools/bmap-tools_3.6.bb              |    2 +-
 .../boost/boost-build-native_4.4.1.bb         |    2 +-
 meta/recipes-support/boost/boost.inc          |   40 +-
 .../ca-certificates_20210119.bb               |   24 +-
 .../consolekit/consolekit_0.4.6.bb            |   10 +-
 meta/recipes-support/curl/curl_7.77.0.bb      |   12 +-
 meta/recipes-support/db/db_5.3.28.bb          |   14 +-
 .../debianutils/debianutils_4.11.2.bb         |   16 +-
 .../diffoscope/diffoscope_177.bb              |    6 +-
 .../dos2unix/dos2unix_7.4.2.bb                |    2 +-
 .../recipes-support/enchant/enchant2_2.3.0.bb |    4 +-
 meta/recipes-support/gdbm/gdbm_1.19.bb        |    6 +-
 meta/recipes-support/gmp/gmp.inc              |    4 +-
 meta/recipes-support/gmp/gmp_6.2.1.bb         |    8 +-
 meta/recipes-support/gnupg/gnupg_2.3.1.bb     |   18 +-
 meta/recipes-support/gnutls/gnutls_3.7.2.bb   |   20 +-
 .../recipes-support/gnutls/libtasn1_4.17.0.bb |    4 +-
 meta/recipes-support/gpgme/gpgme_1.16.0.bb    |   22 +-
 meta/recipes-support/icu/icu_69.1.bb          |   38 +-
 .../iso-codes/iso-codes_4.6.0.bb              |    2 +-
 meta/recipes-support/itstool/itstool_2.0.6.bb |    8 +-
 .../libassuan/libassuan_2.5.5.bb              |    8 +-
 .../libatomic-ops/libatomic-ops_7.6.10.bb     |    2 +-
 meta/recipes-support/libbsd/libbsd_0.11.3.bb  |    2 +-
 .../libcap-ng/libcap-ng-python_0.8.2.bb       |    8 +-
 meta/recipes-support/libcap-ng/libcap-ng.inc  |    4 +-
 .../libcap-ng/libcap-ng_0.8.2.bb              |    2 +-
 meta/recipes-support/libcap/libcap_2.51.bb    |   10 +-
 .../libcheck/libcheck_0.15.2.bb               |    6 +-
 .../libevent/libevent_2.1.12.bb               |    4 +-
 meta/recipes-support/libffi/libffi_3.4.2.bb   |    6 +-
 meta/recipes-support/libfm/libfm_1.3.2.bb     |    6 +-
 .../libgcrypt/libgcrypt_1.9.3.bb              |   16 +-
 .../libgpg-error/libgpg-error_1.42.bb         |    6 +-
 .../recipes-support/libical/libical_3.0.10.bb |    6 +-
 meta/recipes-support/libksba/libksba_1.6.0.bb |    6 +-
 .../libmicrohttpd/libmicrohttpd_0.9.73.bb     |    4 +-
 meta/recipes-support/libnl/libnl_3.5.0.bb     |   30 +-
 .../recipes-support/libpcre/libpcre2_10.37.bb |   24 +-
 meta/recipes-support/libpcre/libpcre_8.45.bb  |   26 +-
 .../libproxy/libproxy_0.4.17.bb               |    4 +-
 .../libseccomp/libseccomp_2.5.1.bb            |    6 +-
 .../libsoup/libsoup-2.4_2.72.0.bb             |    6 +-
 meta/recipes-support/libssh2/libssh2_1.9.0.bb |    6 +-
 meta/recipes-support/libunwind/libunwind.inc  |   10 +-
 .../libunwind/libunwind_1.5.0.bb              |   16 +-
 .../recipes-support/liburcu/liburcu_0.13.0.bb |    4 +-
 meta/recipes-support/libusb/libusb1_1.0.24.bb |    8 +-
 .../recipes-support/libxslt/libxslt_1.1.34.bb |   16 +-
 meta/recipes-support/libyaml/libyaml_0.2.5.bb |    4 +-
 meta/recipes-support/lzop/lzop_1.04.bb        |    2 +-
 meta/recipes-support/nettle/nettle_3.7.3.bb   |    8 +-
 meta/recipes-support/npth/npth_1.6.bb         |    6 +-
 .../nss-myhostname/nss-myhostname_0.3.bb      |    6 +-
 meta/recipes-support/numactl/numactl_git.bb   |    6 +-
 .../recipes-support/p11-kit/p11-kit_0.24.0.bb |    6 +-
 .../ptest-runner/ptest-runner_2.4.1.bb        |    4 +-
 .../rng-tools/rng-tools_6.13.bb               |    8 +-
 meta/recipes-support/serf/serf_1.3.9.bb       |    2 +-
 .../shared-mime-info/shared-mime-info_git.bb  |    8 +-
 meta/recipes-support/sqlite/sqlite3.inc       |   18 +-
 meta/recipes-support/taglib/taglib_1.12.bb    |    4 +-
 .../user-creation/xuser-account_0.1.bb        |    6 +-
 meta/recipes-support/vim/vim.inc              |   24 +-
 meta/recipes-support/vim/vim_8.2.bb           |    4 +-
 meta/recipes-support/vte/vte_0.64.2.bb        |   14 +-
 scripts/buildhistory-collect-srcrevs          |    2 +-
 scripts/crosstap                              |    6 +-
 scripts/lib/devtool/build_image.py            |    2 +-
 scripts/lib/devtool/sdk.py                    |    2 +-
 scripts/lib/devtool/standard.py               |   12 +-
 scripts/lib/devtool/upgrade.py                |    6 +-
 scripts/lib/recipetool/append.py              |    4 +-
 scripts/lib/recipetool/create.py              |    4 +-
 .../lib/recipetool/create_buildsys_python.py  |   10 +-
 scripts/lib/recipetool/create_kmod.py         |    2 +-
 scripts/oe-check-sstate                       |    4 +-
 scripts/oe-debuginfod                         |    2 +-
 scripts/oe-pkgdata-util                       |    4 +-
 994 files changed, 10111 insertions(+), 10111 deletions(-)

diff --git a/meta-selftest/recipes-devtools/python/python-async-test.inc b/meta-selftest/recipes-devtools/python/python-async-test.inc
index c9602e8e52d..439a0b9276a 100644
--- a/meta-selftest/recipes-devtools/python/python-async-test.inc
+++ b/meta-selftest/recipes-devtools/python/python-async-test.inc
@@ -11,6 +11,6 @@ PYPI_PACKAGE = "async"
 SRC_URI[md5sum] = "9b06b5997de2154f3bc0273f80bcef6b"
 SRC_URI[sha256sum] = "ac6894d876e45878faae493b0cf61d0e28ec417334448ac0a6ea2229d8343051"
 
-RDEPENDS_${PN} += "${PYTHON_PN}-threading"
+RDEPENDS:${PN} += "${PYTHON_PN}-threading"
 
 BBCLASSEXTEND = "nativesdk"
diff --git a/meta-selftest/recipes-test/aspell/aspell_0.0.0.1.bb b/meta-selftest/recipes-test/aspell/aspell_0.0.0.1.bb
index dcf6c8ba63f..d6f3628e60c 100644
--- a/meta-selftest/recipes-test/aspell/aspell_0.0.0.1.bb
+++ b/meta-selftest/recipes-test/aspell/aspell_0.0.0.1.bb
@@ -20,15 +20,15 @@ PACKAGECONFIG[curses] = "--enable-curses,--disable-curses,ncurses"
 
 PACKAGES += "libaspell libpspell libpspell-dev aspell-utils"
 
-FILES_${PN}-dbg += "${libdir}/aspell-0.60/.debu*"
-FILES_libaspell = "${libdir}/libaspell.so.* ${libdir}/aspell*"
-FILES_aspell-utils = "${bindir}/word-list-compress ${bindir}/aspell-import ${bindir}/run-with-aspell ${bindir}/pre*"
-FILES_${PN} = "${bindir}/aspell"
-FILES_libpspell = "${libdir}/libpspell.so.*"
-FILES_libpspell-dev = "${libdir}/libpspell* ${bindir}/pspell-config ${includedir}/pspell"
-
-ARM_INSTRUCTION_SET_armv4 = "arm"
-ARM_INSTRUCTION_SET_armv5 = "arm"
-ARM_INSTRUCTION_SET_armv6 = "arm"
+FILES:${PN}-dbg += "${libdir}/aspell-0.60/.debu*"
+FILES:libaspell = "${libdir}/libaspell.so.* ${libdir}/aspell*"
+FILES:aspell-utils = "${bindir}/word-list-compress ${bindir}/aspell-import ${bindir}/run-with-aspell ${bindir}/pre*"
+FILES:${PN} = "${bindir}/aspell"
+FILES:libpspell = "${libdir}/libpspell.so.*"
+FILES:libpspell-dev = "${libdir}/libpspell* ${bindir}/pspell-config ${includedir}/pspell"
+
+ARM_INSTRUCTION_SET:armv4 = "arm"
+ARM_INSTRUCTION_SET:armv5 = "arm"
+ARM_INSTRUCTION_SET:armv6 = "arm"
 
 inherit autotools gettext
diff --git a/meta-selftest/recipes-test/container-image/container-image-testpkg.bb b/meta-selftest/recipes-test/container-image/container-image-testpkg.bb
index f8dd2290b39..929bc297535 100644
--- a/meta-selftest/recipes-test/container-image/container-image-testpkg.bb
+++ b/meta-selftest/recipes-test/container-image/container-image-testpkg.bb
@@ -2,7 +2,7 @@ LICENSE = "MIT"
 
 INHIBIT_DEFAULT_DEPS = "1"
 
-do_install_append() {
+do_install:append() {
     install -d ${D}${bindir}
     touch ${D}${bindir}/theapp
 }
diff --git a/meta-selftest/recipes-test/devtool/devtool-patch-overrides.bb b/meta-selftest/recipes-test/devtool/devtool-patch-overrides.bb
index d36c9edee4f..f12bee0b3d4 100644
--- a/meta-selftest/recipes-test/devtool/devtool-patch-overrides.bb
+++ b/meta-selftest/recipes-test/devtool/devtool-patch-overrides.bb
@@ -4,5 +4,5 @@ INHIBIT_DEFAULT_DEPS = "1"
 EXCLUDE_FROM_WORLD = "1"
 
 SRC_URI = "file://source;subdir=${BP}"
-SRC_URI_append_qemuarm = " file://arm.patch;striplevel=0"
-SRC_URI_append_qemux86 = " file://x86.patch;striplevel=0"
+SRC_URI:append:qemuarm = " file://arm.patch;striplevel=0"
+SRC_URI:append:qemux86 = " file://x86.patch;striplevel=0"
diff --git a/meta-selftest/recipes-test/images/wic-image-minimal.bb b/meta-selftest/recipes-test/images/wic-image-minimal.bb
index 1cb019898da..84d37218858 100644
--- a/meta-selftest/recipes-test/images/wic-image-minimal.bb
+++ b/meta-selftest/recipes-test/images/wic-image-minimal.bb
@@ -7,9 +7,9 @@ IMAGE_INSTALL = "packagegroup-core-boot"
 IMAGE_FSTYPES = "wic"
 
 WKS_FILE_DEPENDS = "dosfstools-native mtools-native gptfdisk-native"
-WKS_FILE_DEPENDS_append_x86 = " syslinux-native syslinux"
-WKS_FILE_DEPENDS_append_x86-64 = " syslinux-native syslinux"
-WKS_FILE_DEPENDS_append_x86-x32 = " syslinux-native syslinux"
+WKS_FILE_DEPENDS:append:x86 = " syslinux-native syslinux"
+WKS_FILE_DEPENDS:append:x86-64 = " syslinux-native syslinux"
+WKS_FILE_DEPENDS:append:x86-x32 = " syslinux-native syslinux"
 
 LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
 
diff --git a/meta-selftest/recipes-test/multiconfig/multiconfig-image-packager_0.1.bb b/meta-selftest/recipes-test/multiconfig/multiconfig-image-packager_0.1.bb
index a76a6bea1b8..daf2834958d 100644
--- a/meta-selftest/recipes-test/multiconfig/multiconfig-image-packager_0.1.bb
+++ b/meta-selftest/recipes-test/multiconfig/multiconfig-image-packager_0.1.bb
@@ -1,10 +1,10 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
 
-MCMACHINE_virtclass-mcextend-musl = "qemux86-64"
-MCMACHINE_virtclass-mcextend-tiny = "qemux86"
-MCIMGTYPE_virtclass-mcextend-musl = "ext4"
-MCIMGTYPE_virtclass-mcextend-tiny = "cpio.gz"
+MCMACHINE:virtclass-mcextend-musl = "qemux86-64"
+MCMACHINE:virtclass-mcextend-tiny = "qemux86"
+MCIMGTYPE:virtclass-mcextend-musl = "ext4"
+MCIMGTYPE:virtclass-mcextend-tiny = "cpio.gz"
 
 MC_DEPLOY_DIR_IMAGE = "${TOPDIR}/tmp-mc-${MCNAME}/deploy/images/${MCMACHINE}"
 
diff --git a/meta-selftest/recipes-test/overlayfs-user/overlayfs-user.bb b/meta-selftest/recipes-test/overlayfs-user/overlayfs-user.bb
index 5c7be7da97f..60405067de3 100644
--- a/meta-selftest/recipes-test/overlayfs-user/overlayfs-user.bb
+++ b/meta-selftest/recipes-test/overlayfs-user/overlayfs-user.bb
@@ -14,4 +14,4 @@ do_install() {
     install -d ${D}/usr/share/my-application
 }
 
-FILES_${PN} += "/usr"
+FILES:${PN} += "/usr"
diff --git a/meta-selftest/recipes-test/postinst/postinst_1.0.bb b/meta-selftest/recipes-test/postinst/postinst_1.0.bb
index 913bfabf89e..b936c4f44be 100644
--- a/meta-selftest/recipes-test/postinst/postinst_1.0.bb
+++ b/meta-selftest/recipes-test/postinst/postinst_1.0.bb
@@ -5,19 +5,19 @@ inherit allarch
 
 PACKAGES = "${PN}-rootfs ${PN}-delayed-a ${PN}-delayed-b ${PN}-rootfs-failing"
 
-ALLOW_EMPTY_${PN}-rootfs = "1"
-ALLOW_EMPTY_${PN}-delayed-a = "1"
-ALLOW_EMPTY_${PN}-delayed-b = "1"
-ALLOW_EMPTY_${PN}-rootfs-failing = "1"
+ALLOW_EMPTY:${PN}-rootfs = "1"
+ALLOW_EMPTY:${PN}-delayed-a = "1"
+ALLOW_EMPTY:${PN}-delayed-b = "1"
+ALLOW_EMPTY:${PN}-rootfs-failing = "1"
 
-RDEPENDS_${PN}-delayed-a = "${PN}-rootfs"
-RDEPENDS_${PN}-delayed-b = "${PN}-delayed-a"
+RDEPENDS:${PN}-delayed-a = "${PN}-rootfs"
+RDEPENDS:${PN}-delayed-b = "${PN}-delayed-a"
 
 TESTDIR = "${sysconfdir}/postinst-test"
 
 # At rootfs time touch $TESTDIR/rootfs.  Errors if the file already exists, or
 # if the function runs on first boot.
-pkg_postinst_${PN}-rootfs () {
+pkg_postinst:${PN}-rootfs () {
     set -e
 
     if [ -z "$D" ]; then
@@ -36,7 +36,7 @@ pkg_postinst_${PN}-rootfs () {
 
 # Depends on rootfs, delays until first boot, verifies that the rootfs file was
 # written.
-pkg_postinst_ontarget_${PN}-delayed-a () {
+pkg_postinst_ontarget:${PN}-delayed-a () {
     set -e
 
     if [ ! -e ${TESTDIR}/rootfs ]; then
@@ -49,7 +49,7 @@ pkg_postinst_ontarget_${PN}-delayed-a () {
 
 # Depends on delayed-a, delays until first boot, verifies that the delayed-a file was
 # written. This verifies the ordering between delayed postinsts.
-pkg_postinst_ontarget_${PN}-delayed-b () {
+pkg_postinst_ontarget:${PN}-delayed-b () {
     set -e
 
     if [ ! -e ${TESTDIR}/delayed-a ]; then
@@ -62,7 +62,7 @@ pkg_postinst_ontarget_${PN}-delayed-b () {
 
 # This scriptlet intentionally includes a bogus command in the middle to test 
 # that we catch and report such errors properly.
-pkg_postinst_${PN}-rootfs-failing () {
+pkg_postinst:${PN}-rootfs-failing () {
     mkdir -p $D${TESTDIR}
     touch $D${TESTDIR}/rootfs-before-failure
     run_a_really_broken_command
diff --git a/meta-selftest/recipes-test/recipetool/selftest-recipetool-appendfile.bb b/meta-selftest/recipes-test/recipetool/selftest-recipetool-appendfile.bb
index b5f976708f4..e127b48b152 100644
--- a/meta-selftest/recipes-test/recipetool/selftest-recipetool-appendfile.bb
+++ b/meta-selftest/recipes-test/recipetool/selftest-recipetool-appendfile.bb
@@ -34,9 +34,9 @@ do_install() {
 	install_extrafunc
 }
 
-pkg_postinst_${PN} () {
+pkg_postinst:${PN} () {
 	echo "Test file installed by postinst" > $D${datadir}/selftest-replaceme-postinst
 }
 
-FILES_${PN} += "${datadir}"
+FILES:${PN} += "${datadir}"
 
diff --git a/meta-selftest/recipes-test/recipeutils/recipeutils-test_1.2.bb b/meta-selftest/recipes-test/recipeutils/recipeutils-test_1.2.bb
index 0cd0494da8f..062d6a7a058 100644
--- a/meta-selftest/recipes-test/recipeutils/recipeutils-test_1.2.bb
+++ b/meta-selftest/recipes-test/recipeutils/recipeutils-test_1.2.bb
@@ -10,4 +10,4 @@ BBCLASSEXTEND = "native nativesdk"
 
 SRC_URI += "file://somefile"
 
-SRC_URI_append = " file://anotherfile"
+SRC_URI:append = " file://anotherfile"
diff --git a/meta-selftest/recipes-test/selftest-chown/selftest-chown.bb b/meta-selftest/recipes-test/selftest-chown/selftest-chown.bb
index 440471fe806..aa6ce0c2a02 100644
--- a/meta-selftest/recipes-test/selftest-chown/selftest-chown.bb
+++ b/meta-selftest/recipes-test/selftest-chown/selftest-chown.bb
@@ -10,7 +10,7 @@ S = "${WORKDIR}"
 inherit useradd allarch
 
 USERADD_PACKAGES = "${PN}"
-USERADD_PARAM_${PN} = "-u 1234 -M test"
+USERADD_PARAM:${PN} = "-u 1234 -M test"
 TESTDIR = "${D}${sysconfdir}/selftest-chown"
 
 do_install() {
@@ -27,4 +27,4 @@ do_install() {
 	chown -R test:test ${TESTDIR}/fifotest
 }
 
-FILES_${PN} = "${sysconfdir}/selftest-chown/*"
+FILES:${PN} = "${sysconfdir}/selftest-chown/*"
diff --git a/meta-selftest/recipes-test/selftest-ed/selftest-ed_0.5.bb b/meta-selftest/recipes-test/selftest-ed/selftest-ed_0.5.bb
index 4f713f5c0e7..7595e8ef164 100644
--- a/meta-selftest/recipes-test/selftest-ed/selftest-ed_0.5.bb
+++ b/meta-selftest/recipes-test/selftest-ed/selftest-ed_0.5.bb
@@ -17,8 +17,8 @@ S = "${WORKDIR}/ed-${PV}"
 
 EXTRA_OECONF = "'CC=${CC}' 'CXX=${CXX}' 'CFLAGS=${CFLAGS}' 'CXXFLAGS=${CXXFLAGS}' 'CPPFLAGS=${CPPFLAGS}' 'LDFLAGS=${LDFLAGS}'"
 
-CONFIGUREOPTS_remove = "--disable-dependency-tracking"
-CONFIGUREOPTS_remove = "--disable-silent-rules"
-EXTRA_OECONF_remove = "--disable-static"
+CONFIGUREOPTS:remove = "--disable-dependency-tracking"
+CONFIGUREOPTS:remove = "--disable-silent-rules"
+EXTRA_OECONF:remove = "--disable-static"
 
 BBCLASSEXTEND = "native"
diff --git a/meta-selftest/recipes-test/selftest-hardlink/selftest-hardlink.bb b/meta-selftest/recipes-test/selftest-hardlink/selftest-hardlink.bb
index 842a9772cbe..be346b8a0ee 100644
--- a/meta-selftest/recipes-test/selftest-hardlink/selftest-hardlink.bb
+++ b/meta-selftest/recipes-test/selftest-hardlink/selftest-hardlink.bb
@@ -25,6 +25,6 @@ do_install () {
 	dd if=/dev/zero of=${D}${bindir}/sparsetest bs=1 count=0 seek=1M
 }
 
-RDEPENDS_${PN}-gdb += "gdb"
+RDEPENDS:${PN}-gdb += "gdb"
 PACKAGES =+ "${PN}-gdb"
-FILES_${PN}-gdb = "${bindir}/gdb.sh"
+FILES:${PN}-gdb = "${bindir}/gdb.sh"
diff --git a/meta-skeleton/conf/multilib-example.conf b/meta-skeleton/conf/multilib-example.conf
index da6da7f1f60..07fd7b6ce48 100644
--- a/meta-skeleton/conf/multilib-example.conf
+++ b/meta-skeleton/conf/multilib-example.conf
@@ -10,4 +10,4 @@
 MACHINE = "qemux86-64"
 require conf/multilib.conf
 MULTILIBS = "multilib:lib32"
-DEFAULTTUNE_virtclass-multilib-lib32 = "x86"
+DEFAULTTUNE:virtclass-multilib-lib32 = "x86"
diff --git a/meta-skeleton/conf/multilib-example2.conf b/meta-skeleton/conf/multilib-example2.conf
index 2596f61d9f5..39f385fcca4 100644
--- a/meta-skeleton/conf/multilib-example2.conf
+++ b/meta-skeleton/conf/multilib-example2.conf
@@ -10,4 +10,4 @@
 MACHINE = "qemux86-64"
 require conf/multilib.conf
 MULTILIBS = "multilib:libx32"
-DEFAULTTUNE_virtclass-multilib-libx32 = "x86-64-x32"
+DEFAULTTUNE:virtclass-multilib-libx32 = "x86-64-x32"
diff --git a/meta-skeleton/recipes-baremetal/baremetal-examples/baremetal-helloworld_git.bb b/meta-skeleton/recipes-baremetal/baremetal-examples/baremetal-helloworld_git.bb
index 19ef16988f6..37193f5a339 100644
--- a/meta-skeleton/recipes-baremetal/baremetal-examples/baremetal-helloworld_git.bb
+++ b/meta-skeleton/recipes-baremetal/baremetal-examples/baremetal-helloworld_git.bb
@@ -31,12 +31,12 @@ inherit baremetal-image
 COMPATIBLE_MACHINE = "qemuarmv5|qemuarm|qemuarm64|qemuriscv64"
 
 BAREMETAL_QEMUARCH ?= ""
-BAREMETAL_QEMUARCH_qemuarmv5 = "versatile"
-BAREMETAL_QEMUARCH_qemuarm = "arm"
-BAREMETAL_QEMUARCH_qemuarm64 = "aarch64"
-BAREMETAL_QEMUARCH_qemuriscv64 = "riscv64"
+BAREMETAL_QEMUARCH:qemuarmv5 = "versatile"
+BAREMETAL_QEMUARCH:qemuarm = "arm"
+BAREMETAL_QEMUARCH:qemuarm64 = "aarch64"
+BAREMETAL_QEMUARCH:qemuriscv64 = "riscv64"
 
-EXTRA_OEMAKE_append = " QEMUARCH=${BAREMETAL_QEMUARCH} V=1"
+EXTRA_OEMAKE:append = " QEMUARCH=${BAREMETAL_QEMUARCH} V=1"
 
 
 # Install binaries on the proper location for baremetal-image to fetch and deploy
@@ -46,7 +46,7 @@ do_install(){
     install -m 755 ${B}/build/hello_baremetal_${BAREMETAL_QEMUARCH}.elf ${D}/${base_libdir}/firmware/${BAREMETAL_BINNAME}.elf
 }
 
-FILES_${PN} += " \
+FILES:${PN} += " \
     ${base_libdir}/firmware/${BAREMETAL_BINNAME}.bin \
     ${base_libdir}/firmware/${BAREMETAL_BINNAME}.elf \
 "
diff --git a/meta-skeleton/recipes-core/busybox/busybox_%.bbappend b/meta-skeleton/recipes-core/busybox/busybox_%.bbappend
index 5c5e7c356bd..621c94f651f 100644
--- a/meta-skeleton/recipes-core/busybox/busybox_%.bbappend
+++ b/meta-skeleton/recipes-core/busybox/busybox_%.bbappend
@@ -6,8 +6,8 @@
 #
 # More details can be found in the Kernel Dev Manual
 # http://www.yoctoproject.org/docs/current/kernel-dev/kernel-dev.html#changing-the-configuration
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
 
-SRC_URI_append_mydistro += " \
+SRC_URI:append:mydistro += " \
 	    file://no_rfkill.cfg \
            "
diff --git a/meta-skeleton/recipes-kernel/hello-mod/hello-mod_0.1.bb b/meta-skeleton/recipes-kernel/hello-mod/hello-mod_0.1.bb
index bc9acccd5f4..4a84a9fad85 100644
--- a/meta-skeleton/recipes-kernel/hello-mod/hello-mod_0.1.bb
+++ b/meta-skeleton/recipes-kernel/hello-mod/hello-mod_0.1.bb
@@ -15,4 +15,4 @@ S = "${WORKDIR}"
 # The inherit of module.bbclass will automatically name module packages with
 # "kernel-module-" prefix as required by the oe-core build environment.
 
-RPROVIDES_${PN} += "kernel-module-hello"
+RPROVIDES:${PN} += "kernel-module-hello"
diff --git a/meta-skeleton/recipes-kernel/linux/linux-yocto-custom.bb b/meta-skeleton/recipes-kernel/linux/linux-yocto-custom.bb
index d53f9c7a402..6062f8422c0 100644
--- a/meta-skeleton/recipes-kernel/linux/linux-yocto-custom.bb
+++ b/meta-skeleton/recipes-kernel/linux/linux-yocto-custom.bb
@@ -57,7 +57,7 @@ require recipes-kernel/linux/linux-yocto.inc
 SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git;protocol=git;nocheckout=1;name=machine"
 
 LINUX_VERSION ?= "4.2"
-LINUX_VERSION_EXTENSION_append = "-custom"
+LINUX_VERSION_EXTENSION:append = "-custom"
 
 # Modify SRCREV to a different commit hash in a copy of this recipe to
 # build a different release of the Linux kernel.
diff --git a/meta-skeleton/recipes-skeleton/service/service_0.1.bb b/meta-skeleton/recipes-skeleton/service/service_0.1.bb
index 669d173ad1a..2c048aa0509 100644
--- a/meta-skeleton/recipes-skeleton/service/service_0.1.bb
+++ b/meta-skeleton/recipes-skeleton/service/service_0.1.bb
@@ -27,6 +27,6 @@ do_install () {
 	install -m 0755 ${WORKDIR}/skeleton-test ${D}${sbindir}/
 }
 
-RDEPENDS_${PN} = "initscripts"
+RDEPENDS:${PN} = "initscripts"
 
-CONFFILES_${PN} += "${sysconfdir}/init.d/skeleton"
+CONFFILES:${PN} += "${sysconfdir}/init.d/skeleton"
diff --git a/meta-skeleton/recipes-skeleton/useradd/useradd-example.bb b/meta-skeleton/recipes-skeleton/useradd/useradd-example.bb
index 7c5b9d05035..3f4c42d7145 100644
--- a/meta-skeleton/recipes-skeleton/useradd/useradd-example.bb
+++ b/meta-skeleton/recipes-skeleton/useradd/useradd-example.bb
@@ -30,19 +30,19 @@ USERADD_PACKAGES = "${PN} ${PN}-user3"
 # useradd command. Multiple users can be created by separating
 # the commands with a semicolon. Here we'll create two users,
 # user1 and user2:
-USERADD_PARAM_${PN} = "-u 1200 -d /home/user1 -r -s /bin/bash user1; -u 1201 -d /home/user2 -r -s /bin/bash user2"
+USERADD_PARAM:${PN} = "-u 1200 -d /home/user1 -r -s /bin/bash user1; -u 1201 -d /home/user2 -r -s /bin/bash user2"
 
 # user3 will be managed in the useradd-example-user3 pacakge:
 # As an example, we use the -P option to set clear text password for user3
-USERADD_PARAM_${PN}-user3 = "-u 1202 -d /home/user3 -r -s /bin/bash -P 'user3' user3"
+USERADD_PARAM:${PN}-user3 = "-u 1202 -d /home/user3 -r -s /bin/bash -P 'user3' user3"
 
 # GROUPADD_PARAM works the same way, which you set to the options
 # you'd normally pass to the groupadd command. This will create
 # groups group1 and group2:
-GROUPADD_PARAM_${PN} = "-g 880 group1; -g 890 group2"
+GROUPADD_PARAM:${PN} = "-g 880 group1; -g 890 group2"
 
 # Likewise, we'll manage group3 in the useradd-example-user3 package:
-GROUPADD_PARAM_${PN}-user3 = "-g 900 group3"
+GROUPADD_PARAM:${PN}-user3 = "-g 900 group3"
 
 do_install () {
 	install -d -m 755 ${D}${datadir}/user1
@@ -69,8 +69,8 @@ do_install () {
 	chgrp -R group3 ${D}${datadir}/user3
 }
 
-FILES_${PN} = "${datadir}/user1/* ${datadir}/user2/*"
-FILES_${PN}-user3 = "${datadir}/user3/*"
+FILES:${PN} = "${datadir}/user1/* ${datadir}/user2/*"
+FILES:${PN}-user3 = "${datadir}/user3/*"
 
 # Prevents do_package failures with:
 # debugsources.list: No such file or directory:
diff --git a/meta/classes/autotools.bbclass b/meta/classes/autotools.bbclass
index 9dc8ebdaa79..371d7b9cdac 100644
--- a/meta/classes/autotools.bbclass
+++ b/meta/classes/autotools.bbclass
@@ -19,7 +19,7 @@ def autotools_dep_prepend(d):
 
     return deps
 
-DEPENDS_prepend = "${@autotools_dep_prepend(d)} "
+DEPENDS:prepend = "${@autotools_dep_prepend(d)} "
 
 inherit siteinfo
 
@@ -131,7 +131,7 @@ autotools_postconfigure(){
 
 EXTRACONFFUNCS ??= ""
 
-EXTRA_OECONF_append = " ${PACKAGECONFIG_CONFARGS}"
+EXTRA_OECONF:append = " ${PACKAGECONFIG_CONFARGS}"
 
 do_configure[prefuncs] += "autotools_preconfigure autotools_aclocals ${EXTRACONFFUNCS}"
 do_compile[prefuncs] += "autotools_aclocals"
@@ -140,8 +140,8 @@ do_configure[postfuncs] += "autotools_postconfigure"
 
 ACLOCALDIR = "${STAGING_DATADIR}/aclocal"
 ACLOCALEXTRAPATH = ""
-ACLOCALEXTRAPATH_class-target = " -I ${STAGING_DATADIR_NATIVE}/aclocal/"
-ACLOCALEXTRAPATH_class-nativesdk = " -I ${STAGING_DATADIR_NATIVE}/aclocal/"
+ACLOCALEXTRAPATH:class-target = " -I ${STAGING_DATADIR_NATIVE}/aclocal/"
+ACLOCALEXTRAPATH:class-nativesdk = " -I ${STAGING_DATADIR_NATIVE}/aclocal/"
 
 python autotools_aclocals () {
     d.setVar("CONFIG_SITE", siteinfo_get_files(d, sysrootcache=True))
diff --git a/meta/classes/baremetal-image.bbclass b/meta/classes/baremetal-image.bbclass
index 8708a54301c..9ec3f1460b1 100644
--- a/meta/classes/baremetal-image.bbclass
+++ b/meta/classes/baremetal-image.bbclass
@@ -12,8 +12,8 @@
 
 # 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"
+COMPATIBLE_HOST:libc-musl:class-target = "null"
+COMPATIBLE_HOST:libc-glibc:class-target = "null"
 
 
 inherit rootfs-postcommands
@@ -61,7 +61,7 @@ python do_rootfs(){
 # Assure binaries, manifest and qemubootconf are populated on DEPLOY_DIR_IMAGE
 do_image_complete[dirs] = "${TOPDIR}"
 SSTATETASKS += "do_image_complete"
-SSTATE_SKIP_CREATION_task-image-complete = '1'
+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}"
@@ -77,18 +77,18 @@ QB_DEFAULT_KERNEL ?= "${IMAGE_LINK_NAME}.bin"
 QB_MEM ?= "-m 256"
 QB_DEFAULT_FSTYPE ?= "bin"
 QB_DTB ?= ""
-QB_OPT_APPEND_append = " -nographic"
+QB_OPT_APPEND:append = " -nographic"
 
 # RISC-V tunes set the BIOS, unset, and instruct QEMU to
 # ignore the BIOS and boot from -kernel
-QB_DEFAULT_BIOS_qemuriscv64 = ""
-QB_OPT_APPEND_append_qemuriscv64 = " -bios none"
+QB_DEFAULT_BIOS:qemuriscv64 = ""
+QB_OPT_APPEND:append:qemuriscv64 = " -bios none"
 
 
 # Use the medium-any code model for the RISC-V 64 bit implementation,
 # since medlow can only access addresses below 0x80000000 and RAM
 # starts at 0x80000000 on RISC-V 64
-CFLAGS_append_qemuriscv64 = " -mcmodel=medany"
+CFLAGS:append:qemuriscv64 = " -mcmodel=medany"
 
 
 # This next part is necessary to trick the build system into thinking
diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass
index 42fb84c4d50..67eeb53898e 100644
--- a/meta/classes/base.bbclass
+++ b/meta/classes/base.bbclass
@@ -74,10 +74,10 @@ def base_dep_prepend(d):
 BASE_DEFAULT_DEPS = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}compilerlibs virtual/libc"
 
 BASEDEPENDS = ""
-BASEDEPENDS_class-target = "${@base_dep_prepend(d)}"
-BASEDEPENDS_class-nativesdk = "${@base_dep_prepend(d)}"
+BASEDEPENDS:class-target = "${@base_dep_prepend(d)}"
+BASEDEPENDS:class-nativesdk = "${@base_dep_prepend(d)}"
 
-DEPENDS_prepend="${BASEDEPENDS} "
+DEPENDS:prepend="${BASEDEPENDS} "
 
 FILESPATH = "${@base_set_filespath(["${FILE_DIRNAME}/${BP}", "${FILE_DIRNAME}/${BPN}", "${FILE_DIRNAME}/files"], d)}"
 # THISDIR only works properly with imediate expansion as it has to run
@@ -91,7 +91,7 @@ def extra_path_elements(d):
         path = path + "${STAGING_BINDIR_NATIVE}/" + e + ":"
     return path
 
-PATH_prepend = "${@extra_path_elements(d)}"
+PATH:prepend = "${@extra_path_elements(d)}"
 
 def get_lic_checksum_file_list(d):
     filelist = []
@@ -481,8 +481,8 @@ python () {
                             % (d.getVar('PN'), flag, 's' if len(intersec) > 1 else '', ' '.join(intersec)))
 
         appendVar('DEPENDS', extradeps)
-        appendVar('RDEPENDS_${PN}', extrardeps)
-        appendVar('RRECOMMENDS_${PN}', extrarrecs)
+        appendVar('RDEPENDS:${PN}', extrardeps)
+        appendVar('RRECOMMENDS:${PN}', extrarrecs)
         appendVar('PACKAGECONFIG_CONFARGS', extraconf)
 
     pn = d.getVar('PN')
diff --git a/meta/classes/bash-completion.bbclass b/meta/classes/bash-completion.bbclass
index 80ee9b48745..803b2cae4d5 100644
--- a/meta/classes/bash-completion.bbclass
+++ b/meta/classes/bash-completion.bbclass
@@ -1,7 +1,7 @@
-DEPENDS_append_class-target = " bash-completion"
+DEPENDS:append:class-target = " bash-completion"
 
 PACKAGES += "${PN}-bash-completion"
 
-FILES_${PN}-bash-completion = "${datadir}/bash-completion ${sysconfdir}/bash_completion.d"
+FILES:${PN}-bash-completion = "${datadir}/bash-completion ${sysconfdir}/bash_completion.d"
 
-RDEPENDS_${PN}-bash-completion = "bash-completion"
+RDEPENDS:${PN}-bash-completion = "bash-completion"
diff --git a/meta/classes/bin_package.bbclass b/meta/classes/bin_package.bbclass
index cbc9b1fa131..c3aca20443c 100644
--- a/meta/classes/bin_package.bbclass
+++ b/meta/classes/bin_package.bbclass
@@ -34,6 +34,6 @@ bin_package_do_install () {
         | tar --no-same-owner -xpf - -C ${D}
 }
 
-FILES_${PN} = "/"
+FILES:${PN} = "/"
 
 EXPORT_FUNCTIONS do_install
diff --git a/meta/classes/binconfig-disabled.bbclass b/meta/classes/binconfig-disabled.bbclass
index 096b670e121..e8ac41b2d40 100644
--- a/meta/classes/binconfig-disabled.bbclass
+++ b/meta/classes/binconfig-disabled.bbclass
@@ -5,9 +5,9 @@
 # The list of scripts which should be disabled.
 BINCONFIG ?= ""
 
-FILES_${PN}-dev += "${bindir}/*-config"
+FILES:${PN}-dev += "${bindir}/*-config"
 
-do_install_append () {
+do_install:append () {
 	for x in ${BINCONFIG}; do
 		# Make the disabled script emit invalid parameters for those configure
 		# scripts which call it without checking the return code.
diff --git a/meta/classes/binconfig.bbclass b/meta/classes/binconfig.bbclass
index 9112ed46085..6e0c88269a9 100644
--- a/meta/classes/binconfig.bbclass
+++ b/meta/classes/binconfig.bbclass
@@ -1,4 +1,4 @@
-FILES_${PN}-dev += "${bindir}/*-config"
+FILES:${PN}-dev += "${bindir}/*-config"
  
 # The namespaces can clash here hence the two step replace
 def get_binconfig_mangle(d):
diff --git a/meta/classes/buildhistory.bbclass b/meta/classes/buildhistory.bbclass
index 55b12d78931..5099e70fb7b 100644
--- a/meta/classes/buildhistory.bbclass
+++ b/meta/classes/buildhistory.bbclass
@@ -45,14 +45,14 @@ BUILDHISTORY_PUSH_REPO ?= ""
 BUILDHISTORY_TAG ?= "build"
 BUILDHISTORY_PATH_PREFIX_STRIP ?= ""
 
-SSTATEPOSTINSTFUNCS_append = " buildhistory_emit_pkghistory"
+SSTATEPOSTINSTFUNCS:append = " buildhistory_emit_pkghistory"
 # We want to avoid influencing the signatures of sstate tasks - first the function itself:
 sstate_install[vardepsexclude] += "buildhistory_emit_pkghistory"
 # then the value added to SSTATEPOSTINSTFUNCS:
 SSTATEPOSTINSTFUNCS[vardepvalueexclude] .= "| buildhistory_emit_pkghistory"
 
 # Similarly for our function that gets the output signatures
-SSTATEPOSTUNPACKFUNCS_append = " buildhistory_emit_outputsigs"
+SSTATEPOSTUNPACKFUNCS:append = " buildhistory_emit_outputsigs"
 sstate_installpkgdir[vardepsexclude] += "buildhistory_emit_outputsigs"
 SSTATEPOSTUNPACKFUNCS[vardepvalueexclude] .= "| buildhistory_emit_outputsigs"
 
@@ -676,17 +676,17 @@ IMAGE_POSTPROCESS_COMMAND[vardepvalueexclude] .= "| buildhistory_get_imageinfo ;
 IMAGE_POSTPROCESS_COMMAND[vardepsexclude] += "buildhistory_get_imageinfo"
 
 # We want these to be the last run so that we get called after complementary package installation
-POPULATE_SDK_POST_TARGET_COMMAND_append = " buildhistory_list_installed_sdk_target;"
-POPULATE_SDK_POST_TARGET_COMMAND_append = " buildhistory_get_sdk_installed_target;"
+POPULATE_SDK_POST_TARGET_COMMAND:append = " buildhistory_list_installed_sdk_target;"
+POPULATE_SDK_POST_TARGET_COMMAND:append = " buildhistory_get_sdk_installed_target;"
 POPULATE_SDK_POST_TARGET_COMMAND[vardepvalueexclude] .= "| buildhistory_list_installed_sdk_target;| buildhistory_get_sdk_installed_target;"
 POPULATE_SDK_POST_TARGET_COMMAND[vardepsexclude] += "buildhistory_list_installed_sdk_target buildhistory_get_sdk_installed_target"
 
-POPULATE_SDK_POST_HOST_COMMAND_append = " buildhistory_list_installed_sdk_host;"
-POPULATE_SDK_POST_HOST_COMMAND_append = " buildhistory_get_sdk_installed_host;"
+POPULATE_SDK_POST_HOST_COMMAND:append = " buildhistory_list_installed_sdk_host;"
+POPULATE_SDK_POST_HOST_COMMAND:append = " buildhistory_get_sdk_installed_host;"
 POPULATE_SDK_POST_HOST_COMMAND[vardepvalueexclude] .= "| buildhistory_list_installed_sdk_host;| buildhistory_get_sdk_installed_host;"
 POPULATE_SDK_POST_HOST_COMMAND[vardepsexclude] += "buildhistory_list_installed_sdk_host buildhistory_get_sdk_installed_host"
 
-SDK_POSTPROCESS_COMMAND_append = " buildhistory_get_sdkinfo ; buildhistory_get_extra_sdkinfo; "
+SDK_POSTPROCESS_COMMAND:append = " buildhistory_get_sdkinfo ; buildhistory_get_extra_sdkinfo; "
 SDK_POSTPROCESS_COMMAND[vardepvalueexclude] .= "| buildhistory_get_sdkinfo ; buildhistory_get_extra_sdkinfo; "
 SDK_POSTPROCESS_COMMAND[vardepsexclude] += "buildhistory_get_sdkinfo buildhistory_get_extra_sdkinfo"
 
diff --git a/meta/classes/cmake.bbclass b/meta/classes/cmake.bbclass
index f01db7480b8..92b9197c487 100644
--- a/meta/classes/cmake.bbclass
+++ b/meta/classes/cmake.bbclass
@@ -1,7 +1,7 @@
 # Path to the CMake file to process.
 OECMAKE_SOURCEPATH ??= "${S}"
 
-DEPENDS_prepend = "cmake-native "
+DEPENDS:prepend = "cmake-native "
 B = "${WORKDIR}/build"
 
 # What CMake generator to use.
@@ -57,13 +57,13 @@ OECMAKE_PERLNATIVE_DIR ??= ""
 OECMAKE_EXTRA_ROOT_PATH ?= ""
 
 OECMAKE_FIND_ROOT_PATH_MODE_PROGRAM = "ONLY"
-OECMAKE_FIND_ROOT_PATH_MODE_PROGRAM_class-native = "BOTH"
+OECMAKE_FIND_ROOT_PATH_MODE_PROGRAM:class-native = "BOTH"
 
-EXTRA_OECMAKE_append = " ${PACKAGECONFIG_CONFARGS}"
+EXTRA_OECMAKE:append = " ${PACKAGECONFIG_CONFARGS}"
 
 export CMAKE_BUILD_PARALLEL_LEVEL
-CMAKE_BUILD_PARALLEL_LEVEL_task-compile = "${@oe.utils.parallel_make(d, False)}"
-CMAKE_BUILD_PARALLEL_LEVEL_task-install = "${@oe.utils.parallel_make(d, True)}"
+CMAKE_BUILD_PARALLEL_LEVEL:task-compile = "${@oe.utils.parallel_make(d, False)}"
+CMAKE_BUILD_PARALLEL_LEVEL:task-install = "${@oe.utils.parallel_make(d, True)}"
 
 OECMAKE_TARGET_COMPILE ?= "all"
 OECMAKE_TARGET_INSTALL ?= "install"
diff --git a/meta/classes/compress_doc.bbclass b/meta/classes/compress_doc.bbclass
index d6d11fad26e..379b6c169e5 100644
--- a/meta/classes/compress_doc.bbclass
+++ b/meta/classes/compress_doc.bbclass
@@ -8,7 +8,7 @@
 #
 # 3. It is easy to add a new type compression by editing
 # local.conf, such as:
-# DOC_COMPRESS_LIST_append = ' abc'
+# DOC_COMPRESS_LIST:append = ' abc'
 # DOC_COMPRESS = 'abc'
 # DOC_COMPRESS_CMD[abc] = 'abc compress cmd ***'
 # DOC_DECOMPRESS_CMD[abc] = 'abc decompress cmd ***'
@@ -225,7 +225,7 @@ python compress_doc_updatealternatives () {
     infodir = d.getVar("infodir")
     compress_mode = d.getVar('DOC_COMPRESS')
     for pkg in (d.getVar('PACKAGES') or "").split():
-        old_names = (d.getVar('ALTERNATIVE_%s' % pkg) or "").split()
+        old_names = (d.getVar('ALTERNATIVE:%s' % pkg) or "").split()
         new_names = []
         for old_name in old_names:
             old_link     = d.getVarFlag('ALTERNATIVE_LINK_NAME', old_name)
@@ -258,6 +258,6 @@ python compress_doc_updatealternatives () {
                 new_names.append(new_name)
 
         if new_names:
-            d.setVar('ALTERNATIVE_%s' % pkg, ' '.join(new_names))
+            d.setVar('ALTERNATIVE:%s' % pkg, ' '.join(new_names))
 }
 
diff --git a/meta/classes/cpan-base.bbclass b/meta/classes/cpan-base.bbclass
index 1fc3f0bcb03..9758065bfcb 100644
--- a/meta/classes/cpan-base.bbclass
+++ b/meta/classes/cpan-base.bbclass
@@ -2,10 +2,10 @@
 # cpan-base providers various perl related information needed for building
 # cpan modules
 #
-FILES_${PN} += "${libdir}/perl5 ${datadir}/perl5"
+FILES:${PN} += "${libdir}/perl5 ${datadir}/perl5"
 
 DEPENDS  += "${@["perl", "perl-native"][(bb.data.inherits_class('native', d))]}"
-RDEPENDS_${PN} += "${@["perl", ""][(bb.data.inherits_class('native', d))]}"
+RDEPENDS:${PN} += "${@["perl", ""][(bb.data.inherits_class('native', d))]}"
 
 inherit perl-version
 
@@ -15,7 +15,7 @@ def is_target(d):
     return "no"
 
 PERLLIBDIRS = "${libdir}/perl5"
-PERLLIBDIRS_class-native = "${libdir}/perl5"
+PERLLIBDIRS:class-native = "${libdir}/perl5"
 
 def cpan_upstream_check_pattern(d):
     for x in (d.getVar('SRC_URI') or '').split(' '):
diff --git a/meta/classes/cpan.bbclass b/meta/classes/cpan.bbclass
index e9908ae4b81..18f1b9d575e 100644
--- a/meta/classes/cpan.bbclass
+++ b/meta/classes/cpan.bbclass
@@ -41,12 +41,12 @@ cpan_do_configure () {
 	fi
 }
 
-do_configure_append_class-target() {
+do_configure:append:class-target() {
        find . -name Makefile | xargs sed -E -i \
            -e 's:LD_RUN_PATH ?= ?"?[^"]*"?::g'
 }
 
-do_configure_append_class-nativesdk() {
+do_configure:append:class-nativesdk() {
        find . -name Makefile | xargs sed -E -i \
            -e 's:LD_RUN_PATH ?= ?"?[^"]*"?::g'
 }
diff --git a/meta/classes/cross-canadian.bbclass b/meta/classes/cross-canadian.bbclass
index 39b5bb93f49..447a2bb1586 100644
--- a/meta/classes/cross-canadian.bbclass
+++ b/meta/classes/cross-canadian.bbclass
@@ -104,7 +104,7 @@ STAGING_DIR_HOST = "${RECIPE_SYSROOT}"
 
 TOOLCHAIN_OPTIONS = " --sysroot=${RECIPE_SYSROOT}"
 
-PATH_append = ":${TMPDIR}/sysroots/${HOST_ARCH}/${bindir_cross}"
+PATH:append = ":${TMPDIR}/sysroots/${HOST_ARCH}/${bindir_cross}"
 PKGHIST_DIR = "${TMPDIR}/pkghistory/${HOST_ARCH}-${SDKPKGSUFFIX}${HOST_VENDOR}-${HOST_OS}/"
 
 HOST_ARCH = "${SDK_ARCH}"
@@ -129,7 +129,7 @@ LDFLAGS = "${BUILDSDK_LDFLAGS} \
 # We need chrpath >= 0.14 to ensure we can deal with 32 and 64 bit
 # binaries
 #
-DEPENDS_append = " chrpath-replacement-native"
+DEPENDS:append = " chrpath-replacement-native"
 EXTRANATIVEPATH += "chrpath-native"
 
 # Path mangling needed by the cross packaging
@@ -153,7 +153,7 @@ base_sbindir = "${bindir}"
 libdir = "${exec_prefix}/lib/${TARGET_ARCH}${TARGET_VENDOR}-${TARGET_OS}"
 libexecdir = "${exec_prefix}/libexec/${TARGET_ARCH}${TARGET_VENDOR}-${TARGET_OS}"
 
-FILES_${PN} = "${prefix}"
+FILES:${PN} = "${prefix}"
 
 export PKG_CONFIG_DIR = "${STAGING_DIR_HOST}${exec_prefix}/lib/pkgconfig"
 export PKG_CONFIG_SYSROOT_DIR = "${STAGING_DIR_HOST}"
diff --git a/meta/classes/cross.bbclass b/meta/classes/cross.bbclass
index bfec91d0433..00e0de84f39 100644
--- a/meta/classes/cross.bbclass
+++ b/meta/classes/cross.bbclass
@@ -7,7 +7,7 @@ EXCLUDE_FROM_WORLD = "1"
 CLASSOVERRIDE = "class-cross"
 PACKAGES = ""
 PACKAGES_DYNAMIC = ""
-PACKAGES_DYNAMIC_class-native = ""
+PACKAGES_DYNAMIC:class-native = ""
 
 HOST_ARCH = "${BUILD_ARCH}"
 HOST_VENDOR = "${BUILD_VENDOR}"
diff --git a/meta/classes/cve-check.bbclass b/meta/classes/cve-check.bbclass
index 112ee3379d3..a3fc9c2623c 100644
--- a/meta/classes/cve-check.bbclass
+++ b/meta/classes/cve-check.bbclass
@@ -153,7 +153,7 @@ python cve_check_write_rootfs_manifest () {
             bb.plain("Image CVE report stored in: %s" % manifest_name)
 }
 
-ROOTFS_POSTPROCESS_COMMAND_prepend = "${@'cve_check_write_rootfs_manifest; ' if d.getVar('CVE_CHECK_CREATE_MANIFEST') == '1' else ''}"
+ROOTFS_POSTPROCESS_COMMAND:prepend = "${@'cve_check_write_rootfs_manifest; ' if d.getVar('CVE_CHECK_CREATE_MANIFEST') == '1' else ''}"
 do_rootfs[recrdeptask] += "${@'do_cve_check' if d.getVar('CVE_CHECK_CREATE_MANIFEST') == '1' else ''}"
 
 def get_patches_cves(d):
diff --git a/meta/classes/debian.bbclass b/meta/classes/debian.bbclass
index 6f8a599ccb6..39b1a1a08b6 100644
--- a/meta/classes/debian.bbclass
+++ b/meta/classes/debian.bbclass
@@ -4,7 +4,7 @@
 # depends are correct
 #
 # Custom library package names can be defined setting
-# DEBIANNAME_ + pkgname to the desired name.
+# DEBIANNAME: + pkgname to the desired name.
 #
 # Better expressed as ensure all RDEPENDS package before we package
 # This means we can't have circular RDEPENDS/RRECOMMENDS
@@ -51,11 +51,11 @@ python debian_package_name_hook () {
         return (s[stat.ST_MODE] & stat.S_IEXEC)
 
     def add_rprovides(pkg, d):
-        newpkg = d.getVar('PKG_' + pkg)
+        newpkg = d.getVar('PKG:' + pkg)
         if newpkg and newpkg != pkg:
-            provs = (d.getVar('RPROVIDES_' + pkg) or "").split()
+            provs = (d.getVar('RPROVIDES:' + pkg) or "").split()
             if pkg not in provs:
-                d.appendVar('RPROVIDES_' + pkg, " " + pkg + " (=" + d.getVar("PKGV") + ")")
+                d.appendVar('RPROVIDES:' + pkg, " " + pkg + " (=" + d.getVar("PKGV") + ")")
 
     def auto_libname(packages, orig_pkg):
         p = lambda var: pathlib.PurePath(d.getVar(var))
@@ -110,10 +110,10 @@ python debian_package_name_hook () {
             if soname_result:
                 (pkgname, devname) = soname_result
                 for pkg in packages.split():
-                    if (d.getVar('PKG_' + pkg, False) or d.getVar('DEBIAN_NOAUTONAME_' + pkg, False)):
+                    if (d.getVar('PKG:' + pkg, False) or d.getVar('DEBIAN_NOAUTONAME:' + pkg, False)):
                         add_rprovides(pkg, d)
                         continue
-                    debian_pn = d.getVar('DEBIANNAME_' + pkg, False)
+                    debian_pn = d.getVar('DEBIANNAME:' + pkg, False)
                     if debian_pn:
                         newpkg = debian_pn
                     elif pkg == orig_pkg:
@@ -126,7 +126,7 @@ python debian_package_name_hook () {
                             newpkg = mlpre + newpkg
                     if newpkg != pkg:
                         bb.note("debian: renaming %s to %s" % (pkg, newpkg))
-                        d.setVar('PKG_' + pkg, newpkg)
+                        d.setVar('PKG:' + pkg, newpkg)
                         add_rprovides(pkg, d)
         else:
             add_rprovides(orig_pkg, d)
diff --git a/meta/classes/devicetree.bbclass b/meta/classes/devicetree.bbclass
index ece883accf9..8546c1cf80c 100644
--- a/meta/classes/devicetree.bbclass
+++ b/meta/classes/devicetree.bbclass
@@ -32,7 +32,7 @@ PROVIDES = "virtual/dtb"
 PACKAGE_ARCH = "${MACHINE_ARCH}"
 
 SYSROOT_DIRS += "/boot/devicetree"
-FILES_${PN} = "/boot/devicetree/*.dtb /boot/devicetree/*.dtbo"
+FILES:${PN} = "/boot/devicetree/*.dtb /boot/devicetree/*.dtbo"
 
 S = "${WORKDIR}"
 B = "${WORKDIR}/build"
diff --git a/meta/classes/devupstream.bbclass b/meta/classes/devupstream.bbclass
index 7780c5482c6..1230fa12ea7 100644
--- a/meta/classes/devupstream.bbclass
+++ b/meta/classes/devupstream.bbclass
@@ -4,8 +4,8 @@
 #
 # Usage:
 # BBCLASSEXTEND = "devupstream:target"
-# SRC_URI_class-devupstream = "git://git.example.com/example"
-# SRCREV_class-devupstream = "abcdef"
+# SRC_URI:class-devupstream = "git://git.example.com/example"
+# SRCREV:class-devupstream = "abcdef"
 #
 # If the first entry in SRC_URI is a git: URL then S is rewritten to
 # WORKDIR/git.
diff --git a/meta/classes/distrooverrides.bbclass b/meta/classes/distrooverrides.bbclass
index 9f4db0d771c..c172a348d8b 100644
--- a/meta/classes/distrooverrides.bbclass
+++ b/meta/classes/distrooverrides.bbclass
@@ -6,7 +6,7 @@
 # This makes it simpler to write .bbappends that only change the
 # task signatures of the recipe if the change is really enabled,
 # for example with:
-#   do_install_append_df-my-feature () { ... }
+#   do_install:append_df-my-feature () { ... }
 # where "my-feature" is a DISTRO_FEATURE.
 #
 # The class is meant to be used in a layer.conf or distro
@@ -22,8 +22,8 @@ DISTRO_FEATURES_OVERRIDES ?= ""
 DISTRO_FEATURES_OVERRIDES[doc] = "A space-separated list of <feature> entries. \
 Each entry is added to OVERRIDES as df-<feature> if <feature> is in DISTRO_FEATURES."
 
-DISTRO_FEATURES_FILTER_NATIVE_append = " ${DISTRO_FEATURES_OVERRIDES}"
-DISTRO_FEATURES_FILTER_NATIVESDK_append = " ${DISTRO_FEATURES_OVERRIDES}"
+DISTRO_FEATURES_FILTER_NATIVE:append = " ${DISTRO_FEATURES_OVERRIDES}"
+DISTRO_FEATURES_FILTER_NATIVESDK:append = " ${DISTRO_FEATURES_OVERRIDES}"
 
 # If DISTRO_FEATURES_OVERRIDES or DISTRO_FEATURES show up in a task
 # signature because of this line, then the task dependency on
diff --git a/meta/classes/distutils-common-base.bbclass b/meta/classes/distutils-common-base.bbclass
index 43a38e5a3a2..bc994f78de3 100644
--- a/meta/classes/distutils-common-base.bbclass
+++ b/meta/classes/distutils-common-base.bbclass
@@ -13,12 +13,12 @@ export CCSHARED  = "-fPIC -DPIC"
 # the python executable
 export LINKFORSHARED = "${SECURITY_CFLAGS} -Xlinker -export-dynamic"
 
-FILES_${PN} += "${libdir}/* ${libdir}/${PYTHON_DIR}/*"
+FILES:${PN} += "${libdir}/* ${libdir}/${PYTHON_DIR}/*"
 
-FILES_${PN}-staticdev += "\
+FILES:${PN}-staticdev += "\
   ${PYTHON_SITEPACKAGES_DIR}/*.a \
 "
-FILES_${PN}-dev += "\
+FILES:${PN}-dev += "\
   ${datadir}/pkgconfig \
   ${libdir}/pkgconfig \
   ${PYTHON_SITEPACKAGES_DIR}/*.la \
diff --git a/meta/classes/distutils3-base.bbclass b/meta/classes/distutils3-base.bbclass
index 302ee8c82c0..d41873e4869 100644
--- a/meta/classes/distutils3-base.bbclass
+++ b/meta/classes/distutils3-base.bbclass
@@ -1,6 +1,6 @@
-DEPENDS_append_class-target = " ${PYTHON_PN}-native ${PYTHON_PN}"
-DEPENDS_append_class-nativesdk = " ${PYTHON_PN}-native ${PYTHON_PN}"
-RDEPENDS_${PN} += "${@['', '${PYTHON_PN}-core']['${CLASSOVERRIDE}' == 'class-target']}"
+DEPENDS:append:class-target = " ${PYTHON_PN}-native ${PYTHON_PN}"
+DEPENDS:append:class-nativesdk = " ${PYTHON_PN}-native ${PYTHON_PN}"
+RDEPENDS:${PN} += "${@['', '${PYTHON_PN}-core']['${CLASSOVERRIDE}' == 'class-target']}"
 
 inherit distutils-common-base python3native python3targetconfig
 
diff --git a/meta/classes/distutils3.bbclass b/meta/classes/distutils3.bbclass
index a916a8000c5..be645d37bd0 100644
--- a/meta/classes/distutils3.bbclass
+++ b/meta/classes/distutils3.bbclass
@@ -10,7 +10,7 @@ DISTUTILS_INSTALL_ARGS ?= "--root=${D} \
     --install-data=${datadir}"
 
 DISTUTILS_PYTHON = "python3"
-DISTUTILS_PYTHON_class-native = "nativepython3"
+DISTUTILS_PYTHON:class-native = "nativepython3"
 
 DISTUTILS_SETUP_PATH ?= "${S}"
 
diff --git a/meta/classes/externalsrc.bbclass b/meta/classes/externalsrc.bbclass
index 3d6b80bee2b..54b08adf621 100644
--- a/meta/classes/externalsrc.bbclass
+++ b/meta/classes/externalsrc.bbclass
@@ -13,7 +13,7 @@
 # called "myrecipe" you would do:
 #
 # INHERIT += "externalsrc"
-# EXTERNALSRC_pn-myrecipe = "/path/to/my/source/tree"
+# EXTERNALSRC:pn-myrecipe = "/path/to/my/source/tree"
 #
 # In order to make this class work for both target and native versions (or with
 # multilibs/cross or other BBCLASSEXTEND variants), B is set to point to a separate
@@ -21,7 +21,7 @@
 # the default, but the build directory can be set to the source directory if
 # circumstances dictate by setting EXTERNALSRC_BUILD to the same value, e.g.:
 #
-# EXTERNALSRC_BUILD_pn-myrecipe = "/path/to/my/source/tree"
+# EXTERNALSRC_BUILD:pn-myrecipe = "/path/to/my/source/tree"
 #
 
 SRCTREECOVEREDTASKS ?= "do_patch do_unpack do_fetch"
@@ -45,11 +45,11 @@ python () {
     if bpn == d.getVar('PN') or not classextend:
         if (externalsrc or
                 ('native' in classextend and
-                 d.getVar('EXTERNALSRC_pn-%s-native' % bpn)) or
+                 d.getVar('EXTERNALSRC:pn-%s-native' % bpn)) or
                 ('nativesdk' in classextend and
-                 d.getVar('EXTERNALSRC_pn-nativesdk-%s' % bpn)) or
+                 d.getVar('EXTERNALSRC:pn-nativesdk-%s' % bpn)) or
                 ('cross' in classextend and
-                 d.getVar('EXTERNALSRC_pn-%s-cross' % bpn))):
+                 d.getVar('EXTERNALSRC:pn-%s-cross' % bpn))):
             d.setVar('BB_DONT_CACHE', '1')
 
     if externalsrc:
diff --git a/meta/classes/extrausers.bbclass b/meta/classes/extrausers.bbclass
index 90811bfe2a5..a8ef660b30f 100644
--- a/meta/classes/extrausers.bbclass
+++ b/meta/classes/extrausers.bbclass
@@ -14,10 +14,10 @@
 
 inherit useradd_base
 
-PACKAGE_INSTALL_append = " ${@['', 'base-passwd shadow'][bool(d.getVar('EXTRA_USERS_PARAMS'))]}"
+PACKAGE_INSTALL:append = " ${@['', 'base-passwd shadow'][bool(d.getVar('EXTRA_USERS_PARAMS'))]}"
 
 # Image level user / group settings
-ROOTFS_POSTPROCESS_COMMAND_append = " set_user_group;"
+ROOTFS_POSTPROCESS_COMMAND:append = " set_user_group;"
 
 # Image level user / group settings
 set_user_group () {
diff --git a/meta/classes/fontcache.bbclass b/meta/classes/fontcache.bbclass
index 624a420a0de..442bfc7392f 100644
--- a/meta/classes/fontcache.bbclass
+++ b/meta/classes/fontcache.bbclass
@@ -35,23 +35,23 @@ python () {
     deps = d.getVar("FONT_EXTRA_RDEPENDS")
 
     for pkg in font_pkgs:
-        if deps: d.appendVar('RDEPENDS_' + pkg, ' '+deps)
+        if deps: d.appendVar('RDEPENDS:' + pkg, ' '+deps)
 }
 
 python add_fontcache_postinsts() {
     for pkg in d.getVar('FONT_PACKAGES').split():
         bb.note("adding fonts postinst and postrm scripts to %s" % pkg)
-        postinst = d.getVar('pkg_postinst_%s' % pkg) or d.getVar('pkg_postinst')
+        postinst = d.getVar('pkg_postinst:%s' % pkg) or d.getVar('pkg_postinst')
         if not postinst:
             postinst = '#!/bin/sh\n'
         postinst += d.getVar('fontcache_common')
-        d.setVar('pkg_postinst_%s' % pkg, postinst)
+        d.setVar('pkg_postinst:%s' % pkg, postinst)
 
-        postrm = d.getVar('pkg_postrm_%s' % pkg) or d.getVar('pkg_postrm')
+        postrm = d.getVar('pkg_postrm:%s' % pkg) or d.getVar('pkg_postrm')
         if not postrm:
             postrm = '#!/bin/sh\n'
         postrm += d.getVar('fontcache_common')
-        d.setVar('pkg_postrm_%s' % pkg, postrm)
+        d.setVar('pkg_postrm:%s' % pkg, postrm)
 }
 
 PACKAGEFUNCS =+ "add_fontcache_postinsts"
diff --git a/meta/classes/gconf.bbclass b/meta/classes/gconf.bbclass
index 3e3c509d5ff..9d3668edd3f 100644
--- a/meta/classes/gconf.bbclass
+++ b/meta/classes/gconf.bbclass
@@ -41,7 +41,7 @@ for SCHEMA in ${SCHEMA_FILES}; do
 done
 }
 
-python populate_packages_append () {
+python populate_packages:append () {
     import re
     packages = d.getVar('PACKAGES').split()
     pkgdest =  d.getVar('PKGDEST')
@@ -57,15 +57,15 @@ python populate_packages_append () {
         if schemas != []:
             bb.note("adding gconf postinst and prerm scripts to %s" % pkg)
             d.setVar('SCHEMA_FILES', " ".join(schemas))
-            postinst = d.getVar('pkg_postinst_%s' % pkg)
+            postinst = d.getVar('pkg_postinst:%s' % pkg)
             if not postinst:
                 postinst = '#!/bin/sh\n'
             postinst += d.getVar('gconf_postinst')
-            d.setVar('pkg_postinst_%s' % pkg, postinst)
-            prerm = d.getVar('pkg_prerm_%s' % pkg)
+            d.setVar('pkg_postinst:%s' % pkg, postinst)
+            prerm = d.getVar('pkg_prerm:%s' % pkg)
             if not prerm:
                 prerm = '#!/bin/sh\n'
             prerm += d.getVar('gconf_prerm')
-            d.setVar('pkg_prerm_%s' % pkg, prerm)
-            d.appendVar("RDEPENDS_%s" % pkg, ' ' + d.getVar('MLPREFIX', False) + 'gconf')
+            d.setVar('pkg_prerm:%s' % pkg, prerm)
+            d.appendVar("RDEPENDS:%s" % pkg, ' ' + d.getVar('MLPREFIX', False) + 'gconf')
 }
diff --git a/meta/classes/gettext.bbclass b/meta/classes/gettext.bbclass
index be2ef3b3114..f11cb044565 100644
--- a/meta/classes/gettext.bbclass
+++ b/meta/classes/gettext.bbclass
@@ -13,10 +13,10 @@ def gettext_oeconf(d):
         return '--disable-nls'
     return "--enable-nls"
 
-BASEDEPENDS_append = " ${@gettext_dependencies(d)}"
-EXTRA_OECONF_append = " ${@gettext_oeconf(d)}"
+BASEDEPENDS:append = " ${@gettext_dependencies(d)}"
+EXTRA_OECONF:append = " ${@gettext_oeconf(d)}"
 
 # Without this, msgfmt from gettext-native will not find ITS files
 # provided by target recipes (for example, polkit.its).
-GETTEXTDATADIRS_append_class-target = ":${STAGING_DATADIR}/gettext"
+GETTEXTDATADIRS:append:class-target = ":${STAGING_DATADIR}/gettext"
 export GETTEXTDATADIRS
diff --git a/meta/classes/gi-docgen.bbclass b/meta/classes/gi-docgen.bbclass
index 5750f7028d3..15581ca1270 100644
--- a/meta/classes/gi-docgen.bbclass
+++ b/meta/classes/gi-docgen.bbclass
@@ -7,8 +7,8 @@
 GIDOCGEN_ENABLED ?= "${@bb.utils.contains('DISTRO_FEATURES', 'api-documentation', 'True', 'False', d)}"
 # When building native recipes, disable gi-docgen, as it is not necessary,
 # pulls in additional dependencies, and makes build times longer
-GIDOCGEN_ENABLED_class-native = "False"
-GIDOCGEN_ENABLED_class-nativesdk = "False"
+GIDOCGEN_ENABLED:class-native = "False"
+GIDOCGEN_ENABLED:class-nativesdk = "False"
 
 # meson: default option name to enable/disable gi-docgen. This matches most
 # projects' configuration. In doubts - check meson_options.txt in project's
@@ -18,7 +18,7 @@ GIDOCGEN_MESON_ENABLE_FLAG ?= 'true'
 GIDOCGEN_MESON_DISABLE_FLAG ?= 'false'
 
 # Auto enable/disable based on GIDOCGEN_ENABLED
-EXTRA_OEMESON_prepend = "-D${GIDOCGEN_MESON_OPTION}=${@bb.utils.contains('GIDOCGEN_ENABLED', 'True', '${GIDOCGEN_MESON_ENABLE_FLAG}', '${GIDOCGEN_MESON_DISABLE_FLAG}', d)} "
+EXTRA_OEMESON:prepend = "-D${GIDOCGEN_MESON_OPTION}=${@bb.utils.contains('GIDOCGEN_ENABLED', 'True', '${GIDOCGEN_MESON_ENABLE_FLAG}', '${GIDOCGEN_MESON_DISABLE_FLAG}', d)} "
 
-DEPENDS_append = "${@' gi-docgen-native gi-docgen' if d.getVar('GIDOCGEN_ENABLED') == 'True' else ''}"
+DEPENDS:append = "${@' gi-docgen-native gi-docgen' if d.getVar('GIDOCGEN_ENABLED') == 'True' else ''}"
 
diff --git a/meta/classes/gio-module-cache.bbclass b/meta/classes/gio-module-cache.bbclass
index e429bd31976..021eeb1cf8c 100644
--- a/meta/classes/gio-module-cache.bbclass
+++ b/meta/classes/gio-module-cache.bbclass
@@ -17,22 +17,22 @@ else
 fi
 }
 
-python populate_packages_append () {
+python populate_packages:append () {
     packages = d.getVar('GIO_MODULE_PACKAGES').split()
 
     for pkg in packages:
         bb.note("adding gio-module-cache postinst and postrm scripts to %s" % pkg)
 
-        postinst = d.getVar('pkg_postinst_%s' % pkg)
+        postinst = d.getVar('pkg_postinst:%s' % pkg)
         if not postinst:
             postinst = '#!/bin/sh\n'
         postinst += d.getVar('gio_module_cache_common')
-        d.setVar('pkg_postinst_%s' % pkg, postinst)
+        d.setVar('pkg_postinst:%s' % pkg, postinst)
 
-        postrm = d.getVar('pkg_postrm_%s' % pkg)
+        postrm = d.getVar('pkg_postrm:%s' % pkg)
         if not postrm:
             postrm = '#!/bin/sh\n'
         postrm += d.getVar('gio_module_cache_common')
-        d.setVar('pkg_postrm_%s' % pkg, postrm)
+        d.setVar('pkg_postrm:%s' % pkg, postrm)
 }
 
diff --git a/meta/classes/glide.bbclass b/meta/classes/glide.bbclass
index db421745bd0..2db4ac68466 100644
--- a/meta/classes/glide.bbclass
+++ b/meta/classes/glide.bbclass
@@ -2,8 +2,8 @@
 #
 # Copyright 2018 (C) O.S. Systems Software LTDA.
 
-DEPENDS_append = " glide-native"
+DEPENDS:append = " glide-native"
 
-do_compile_prepend() {
+do_compile:prepend() {
     ( cd ${B}/src/${GO_IMPORT} && glide install )
 }
diff --git a/meta/classes/gnomebase.bbclass b/meta/classes/gnomebase.bbclass
index 884b1a106f8..9a5bd9a232d 100644
--- a/meta/classes/gnomebase.bbclass
+++ b/meta/classes/gnomebase.bbclass
@@ -7,7 +7,7 @@ SECTION ?= "x11/gnome"
 GNOMEBN ?= "${BPN}"
 SRC_URI = "${GNOME_MIRROR}/${GNOMEBN}/${@gnome_verdir("${PV}")}/${GNOMEBN}-${PV}.tar.${GNOME_COMPRESS_TYPE};name=archive"
 
-FILES_${PN} += "${datadir}/application-registry  \
+FILES:${PN} += "${datadir}/application-registry  \
                 ${datadir}/mime-info \
                 ${datadir}/mime/packages \
                 ${datadir}/mime/application \
@@ -19,12 +19,12 @@ FILES_${PN} += "${datadir}/application-registry  \
                 ${datadir}/icons \
 "
 
-FILES_${PN}-doc += "${datadir}/devhelp"
+FILES:${PN}-doc += "${datadir}/devhelp"
 
 GNOMEBASEBUILDCLASS ??= "autotools"
 inherit ${GNOMEBASEBUILDCLASS} pkgconfig
 
-do_install_append() {
+do_install:append() {
 	rm -rf ${D}${localstatedir}/lib/scrollkeeper/*
 	rm -rf ${D}${localstatedir}/scrollkeeper/*
 	rm -f ${D}${datadir}/applications/*.cache
diff --git a/meta/classes/go-mod.bbclass b/meta/classes/go-mod.bbclass
index cabb04d0ec0..674d2434e0b 100644
--- a/meta/classes/go-mod.bbclass
+++ b/meta/classes/go-mod.bbclass
@@ -12,7 +12,7 @@
 
 # The '-modcacherw' option ensures we have write access to the cached objects so
 # we avoid errors during clean task as well as when removing the TMPDIR.
-GOBUILDFLAGS_append = " -modcacherw"
+GOBUILDFLAGS:append = " -modcacherw"
 
 inherit go
 
diff --git a/meta/classes/go-ptest.bbclass b/meta/classes/go-ptest.bbclass
index e230a80587c..b282ff73744 100644
--- a/meta/classes/go-ptest.bbclass
+++ b/meta/classes/go-ptest.bbclass
@@ -50,5 +50,5 @@ do_install_ptest_base() {
 	chown -R root:root ${D}${PTEST_PATH}
 }
 
-INSANE_SKIP_${PN}-ptest += "ldflags"
+INSANE_SKIP:${PN}-ptest += "ldflags"
 
diff --git a/meta/classes/go.bbclass b/meta/classes/go.bbclass
index 77ec98dd51c..0dd0c5f1d2e 100644
--- a/meta/classes/go.bbclass
+++ b/meta/classes/go.bbclass
@@ -2,8 +2,8 @@ inherit goarch
 
 GO_PARALLEL_BUILD ?= "${@oe.utils.parallel_make_argument(d, '-p %d')}"
 
-GOROOT_class-native = "${STAGING_LIBDIR_NATIVE}/go"
-GOROOT_class-nativesdk = "${STAGING_DIR_TARGET}${libdir}/go"
+GOROOT:class-native = "${STAGING_LIBDIR_NATIVE}/go"
+GOROOT:class-nativesdk = "${STAGING_DIR_TARGET}${libdir}/go"
 GOROOT = "${STAGING_LIBDIR}/go"
 export GOROOT
 export GOROOT_FINAL = "${libdir}/go"
@@ -15,42 +15,42 @@ export GOHOSTARCH="${BUILD_GOARCH}"
 export GOHOSTOS="${BUILD_GOOS}"
 
 GOARM[export] = "0"
-GOARM_arm_class-target = "${TARGET_GOARM}"
-GOARM_arm_class-target[export] = "1"
+GOARM:arm:class-target = "${TARGET_GOARM}"
+GOARM:arm:class-target[export] = "1"
 
 GO386[export] = "0"
-GO386_x86_class-target = "${TARGET_GO386}"
-GO386_x86_class-target[export] = "1"
+GO386:x86:class-target = "${TARGET_GO386}"
+GO386:x86:class-target[export] = "1"
 
 GOMIPS[export] = "0"
-GOMIPS_mips_class-target = "${TARGET_GOMIPS}"
-GOMIPS_mips_class-target[export] = "1"
+GOMIPS:mips:class-target = "${TARGET_GOMIPS}"
+GOMIPS:mips:class-target[export] = "1"
 
-DEPENDS_GOLANG_class-target = "virtual/${TUNE_PKGARCH}-go virtual/${TARGET_PREFIX}go-runtime"
-DEPENDS_GOLANG_class-native = "go-native"
-DEPENDS_GOLANG_class-nativesdk = "virtual/${TARGET_PREFIX}go-crosssdk virtual/${TARGET_PREFIX}go-runtime"
+DEPENDS_GOLANG:class-target = "virtual/${TUNE_PKGARCH}-go virtual/${TARGET_PREFIX}go-runtime"
+DEPENDS_GOLANG:class-native = "go-native"
+DEPENDS_GOLANG:class-nativesdk = "virtual/${TARGET_PREFIX}go-crosssdk virtual/${TARGET_PREFIX}go-runtime"
 
-DEPENDS_append = " ${DEPENDS_GOLANG}"
+DEPENDS:append = " ${DEPENDS_GOLANG}"
 
 GO_LINKSHARED ?= "${@'-linkshared' if d.getVar('GO_DYNLINK') else ''}"
 GO_RPATH_LINK = "${@'-Wl,-rpath-link=${STAGING_DIR_TARGET}${libdir}/go/pkg/${TARGET_GOTUPLE}_dynlink' if d.getVar('GO_DYNLINK') else ''}"
 GO_RPATH = "${@'-r ${libdir}/go/pkg/${TARGET_GOTUPLE}_dynlink' if d.getVar('GO_DYNLINK') else ''}"
-GO_RPATH_class-native = "${@'-r ${STAGING_LIBDIR_NATIVE}/go/pkg/${TARGET_GOTUPLE}_dynlink' if d.getVar('GO_DYNLINK') else ''}"
-GO_RPATH_LINK_class-native = "${@'-Wl,-rpath-link=${STAGING_LIBDIR_NATIVE}/go/pkg/${TARGET_GOTUPLE}_dynlink' if d.getVar('GO_DYNLINK') else ''}"
+GO_RPATH:class-native = "${@'-r ${STAGING_LIBDIR_NATIVE}/go/pkg/${TARGET_GOTUPLE}_dynlink' if d.getVar('GO_DYNLINK') else ''}"
+GO_RPATH_LINK:class-native = "${@'-Wl,-rpath-link=${STAGING_LIBDIR_NATIVE}/go/pkg/${TARGET_GOTUPLE}_dynlink' if d.getVar('GO_DYNLINK') else ''}"
 GO_EXTLDFLAGS ?= "${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS} ${GO_RPATH_LINK} ${LDFLAGS}"
 GO_LINKMODE ?= ""
-GO_LINKMODE_class-nativesdk = "--linkmode=external"
-GO_LINKMODE_class-native = "--linkmode=external"
+GO_LINKMODE:class-nativesdk = "--linkmode=external"
+GO_LINKMODE:class-native = "--linkmode=external"
 GO_LDFLAGS ?= '-ldflags="${GO_RPATH} ${GO_LINKMODE} -extldflags '${GO_EXTLDFLAGS}'"'
 export GOBUILDFLAGS ?= "-v ${GO_LDFLAGS} -trimpath"
 export GOPATH_OMIT_IN_ACTIONID ?= "1"
 export GOPTESTBUILDFLAGS ?= "${GOBUILDFLAGS} -c"
 export GOPTESTFLAGS ?= ""
-GOBUILDFLAGS_prepend_task-compile = "${GO_PARALLEL_BUILD} "
+GOBUILDFLAGS:prepend:task-compile = "${GO_PARALLEL_BUILD} "
 
 export GO = "${HOST_PREFIX}go"
 GOTOOLDIR = "${STAGING_LIBDIR_NATIVE}/${TARGET_SYS}/go/pkg/tool/${BUILD_GOTUPLE}"
-GOTOOLDIR_class-native = "${STAGING_LIBDIR_NATIVE}/go/pkg/tool/${BUILD_GOTUPLE}"
+GOTOOLDIR:class-native = "${STAGING_LIBDIR_NATIVE}/go/pkg/tool/${BUILD_GOTUPLE}"
 export GOTOOLDIR
 
 export CGO_ENABLED ?= "1"
@@ -140,17 +140,17 @@ go_stage_testdata() {
 
 EXPORT_FUNCTIONS do_unpack do_configure do_compile do_install
 
-FILES_${PN}-dev = "${libdir}/go/src"
-FILES_${PN}-staticdev = "${libdir}/go/pkg"
+FILES:${PN}-dev = "${libdir}/go/src"
+FILES:${PN}-staticdev = "${libdir}/go/pkg"
 
-INSANE_SKIP_${PN} += "ldflags"
+INSANE_SKIP:${PN} += "ldflags"
 
 # Add -buildmode=pie to GOBUILDFLAGS to satisfy "textrel" QA checking, but mips
 # doesn't support -buildmode=pie, so skip the QA checking for mips/rv32 and its
 # variants.
 python() {
     if 'mips' in d.getVar('TARGET_ARCH') or 'riscv32' in d.getVar('TARGET_ARCH'):
-        d.appendVar('INSANE_SKIP_%s' % d.getVar('PN'), " textrel")
+        d.appendVar('INSANE_SKIP:%s' % d.getVar('PN'), " textrel")
     else:
         d.appendVar('GOBUILDFLAGS', ' -buildmode=pie')
 }
diff --git a/meta/classes/goarch.bbclass b/meta/classes/goarch.bbclass
index e4e0ca37bec..48dc48dabf7 100644
--- a/meta/classes/goarch.bbclass
+++ b/meta/classes/goarch.bbclass
@@ -6,54 +6,54 @@ HOST_GOARCH = "${@go_map_arch(d.getVar('HOST_ARCH'), d)}"
 HOST_GOARM = "${@go_map_arm(d.getVar('HOST_ARCH'), d)}"
 HOST_GO386 = "${@go_map_386(d.getVar('HOST_ARCH'), d.getVar('TUNE_FEATURES'), d)}"
 HOST_GOMIPS = "${@go_map_mips(d.getVar('HOST_ARCH'), d.getVar('TUNE_FEATURES'), d)}"
-HOST_GOARM_class-native = "7"
-HOST_GO386_class-native = "sse2"
-HOST_GOMIPS_class-native = "hardfloat"
+HOST_GOARM:class-native = "7"
+HOST_GO386:class-native = "sse2"
+HOST_GOMIPS:class-native = "hardfloat"
 HOST_GOTUPLE = "${HOST_GOOS}_${HOST_GOARCH}"
 TARGET_GOOS = "${@go_map_os(d.getVar('TARGET_OS'), d)}"
 TARGET_GOARCH = "${@go_map_arch(d.getVar('TARGET_ARCH'), d)}"
 TARGET_GOARM = "${@go_map_arm(d.getVar('TARGET_ARCH'), d)}"
 TARGET_GO386 = "${@go_map_386(d.getVar('TARGET_ARCH'), d.getVar('TUNE_FEATURES'), d)}"
 TARGET_GOMIPS = "${@go_map_mips(d.getVar('TARGET_ARCH'), d.getVar('TUNE_FEATURES'), d)}"
-TARGET_GOARM_class-native = "7"
-TARGET_GO386_class-native = "sse2"
-TARGET_GOMIPS_class-native = "hardfloat"
+TARGET_GOARM:class-native = "7"
+TARGET_GO386:class-native = "sse2"
+TARGET_GOMIPS:class-native = "hardfloat"
 TARGET_GOTUPLE = "${TARGET_GOOS}_${TARGET_GOARCH}"
 GO_BUILD_BINDIR = "${@['bin/${HOST_GOTUPLE}','bin'][d.getVar('BUILD_GOTUPLE') == d.getVar('HOST_GOTUPLE')]}"
 
 # Use the MACHINEOVERRIDES to map ARM CPU architecture passed to GO via GOARM.
 # This is combined with *_ARCH to set HOST_GOARM and TARGET_GOARM.
 BASE_GOARM = ''
-BASE_GOARM_armv7ve = '7'
-BASE_GOARM_armv7a = '7'
-BASE_GOARM_armv6 = '6'
-BASE_GOARM_armv5 = '5'
+BASE_GOARM:armv7ve = '7'
+BASE_GOARM:armv7a = '7'
+BASE_GOARM:armv6 = '6'
+BASE_GOARM:armv5 = '5'
 
 # Go supports dynamic linking on a limited set of architectures.
 # See the supportsDynlink function in go/src/cmd/compile/internal/gc/main.go
 GO_DYNLINK = ""
-GO_DYNLINK_arm = "1"
-GO_DYNLINK_aarch64 = "1"
-GO_DYNLINK_x86 = "1"
-GO_DYNLINK_x86-64 = "1"
-GO_DYNLINK_powerpc64 = "1"
-GO_DYNLINK_powerpc64le = "1"
-GO_DYNLINK_class-native = ""
-GO_DYNLINK_class-nativesdk = ""
+GO_DYNLINK:arm = "1"
+GO_DYNLINK:aarch64 = "1"
+GO_DYNLINK:x86 = "1"
+GO_DYNLINK:x86-64 = "1"
+GO_DYNLINK:powerpc64 = "1"
+GO_DYNLINK:powerpc64le = "1"
+GO_DYNLINK:class-native = ""
+GO_DYNLINK:class-nativesdk = ""
 
 # define here because everybody inherits this class
 #
-COMPATIBLE_HOST_linux-gnux32 = "null"
-COMPATIBLE_HOST_linux-muslx32 = "null"
-COMPATIBLE_HOST_powerpc = "null"
-COMPATIBLE_HOST_powerpc64 = "null"
-COMPATIBLE_HOST_mipsarchn32 = "null"
+COMPATIBLE_HOST:linux-gnux32 = "null"
+COMPATIBLE_HOST:linux-muslx32 = "null"
+COMPATIBLE_HOST:powerpc = "null"
+COMPATIBLE_HOST:powerpc64 = "null"
+COMPATIBLE_HOST:mipsarchn32 = "null"
 
-ARM_INSTRUCTION_SET_armv4 = "arm"
-ARM_INSTRUCTION_SET_armv5 = "arm"
-ARM_INSTRUCTION_SET_armv6 = "arm"
+ARM_INSTRUCTION_SET:armv4 = "arm"
+ARM_INSTRUCTION_SET:armv5 = "arm"
+ARM_INSTRUCTION_SET:armv6 = "arm"
 
-TUNE_CCARGS_remove = "-march=mips32r2"
+TUNE_CCARGS:remove = "-march=mips32r2"
 SECURITY_NOPIE_CFLAGS ??= ""
 
 # go can't be built with ccache:
diff --git a/meta/classes/gobject-introspection.bbclass b/meta/classes/gobject-introspection.bbclass
index 504f75e28d6..822a226d5f1 100644
--- a/meta/classes/gobject-introspection.bbclass
+++ b/meta/classes/gobject-introspection.bbclass
@@ -15,29 +15,29 @@ GIR_MESON_ENABLE_FLAG ?= 'true'
 GIR_MESON_DISABLE_FLAG ?= 'false'
 
 # Auto enable/disable based on GI_DATA_ENABLED
-EXTRA_OECONF_prepend_class-target = "${@bb.utils.contains('GI_DATA_ENABLED', 'True', '--enable-introspection', '--disable-introspection', d)} "
-EXTRA_OEMESON_prepend_class-target = "-D${GIR_MESON_OPTION}=${@bb.utils.contains('GI_DATA_ENABLED', 'True', '${GIR_MESON_ENABLE_FLAG}', '${GIR_MESON_DISABLE_FLAG}', d)} "
+EXTRA_OECONF:prepend:class-target = "${@bb.utils.contains('GI_DATA_ENABLED', 'True', '--enable-introspection', '--disable-introspection', d)} "
+EXTRA_OEMESON:prepend:class-target = "-D${GIR_MESON_OPTION}=${@bb.utils.contains('GI_DATA_ENABLED', 'True', '${GIR_MESON_ENABLE_FLAG}', '${GIR_MESON_DISABLE_FLAG}', d)} "
 
 # When building native recipes, disable introspection, as it is not necessary,
 # pulls in additional dependencies, and makes build times longer
-EXTRA_OECONF_prepend_class-native = "--disable-introspection "
-EXTRA_OECONF_prepend_class-nativesdk = "--disable-introspection "
-EXTRA_OEMESON_prepend_class-native = "-D${GIR_MESON_OPTION}=${GIR_MESON_DISABLE_FLAG} "
-EXTRA_OEMESON_prepend_class-nativesdk = "-D${GIR_MESON_OPTION}=${GIR_MESON_DISABLE_FLAG} "
+EXTRA_OECONF:prepend:class-native = "--disable-introspection "
+EXTRA_OECONF:prepend:class-nativesdk = "--disable-introspection "
+EXTRA_OEMESON:prepend:class-native = "-D${GIR_MESON_OPTION}=${GIR_MESON_DISABLE_FLAG} "
+EXTRA_OEMESON:prepend:class-nativesdk = "-D${GIR_MESON_OPTION}=${GIR_MESON_DISABLE_FLAG} "
 
 # Generating introspection data depends on a combination of native and target
 # introspection tools, and qemu to run the target tools.
-DEPENDS_append_class-target = " gobject-introspection gobject-introspection-native qemu-native prelink-native"
+DEPENDS:append:class-target = " gobject-introspection gobject-introspection-native qemu-native prelink-native"
 
 # Even though introspection is disabled on -native, gobject-introspection package is still
 # needed for m4 macros.
-DEPENDS_append_class-native = " gobject-introspection-native"
-DEPENDS_append_class-nativesdk = " gobject-introspection-native"
+DEPENDS:append:class-native = " gobject-introspection-native"
+DEPENDS:append:class-nativesdk = " gobject-introspection-native"
 
 # This is used by introspection tools to find .gir includes
 export XDG_DATA_DIRS = "${STAGING_DATADIR}:${STAGING_LIBDIR}"
 
-do_configure_prepend_class-target () {
+do_configure:prepend:class-target () {
     # introspection.m4 pre-packaged with upstream tarballs does not yet
     # have our fixes
     mkdir -p ${S}/m4
@@ -46,8 +46,8 @@ do_configure_prepend_class-target () {
 
 # .typelib files are needed at runtime and so they go to the main package (so
 # they'll be together with libraries they support).
-FILES_${PN}_append = " ${libdir}/girepository-*/*.typelib" 
+FILES:${PN}:append = " ${libdir}/girepository-*/*.typelib" 
     
 # .gir files go to dev package, as they're needed for developing (but not for
 # running) things that depends on introspection.
-FILES_${PN}-dev_append = " ${datadir}/gir-*/*.gir ${libdir}/gir-*/*.gir"
+FILES:${PN}-dev:append = " ${datadir}/gir-*/*.gir ${libdir}/gir-*/*.gir"
diff --git a/meta/classes/gsettings.bbclass b/meta/classes/gsettings.bbclass
index 33afc96a9ce..3fa5bd40b35 100644
--- a/meta/classes/gsettings.bbclass
+++ b/meta/classes/gsettings.bbclass
@@ -13,30 +13,30 @@ python __anonymous() {
     pkg = d.getVar("GSETTINGS_PACKAGE")
     if pkg:
         d.appendVar("PACKAGE_WRITE_DEPS", " glib-2.0-native")
-        d.appendVar("RDEPENDS_" + pkg, " ${MLPREFIX}glib-2.0-utils")
-        d.appendVar("FILES_" + pkg, " ${datadir}/glib-2.0/schemas")
+        d.appendVar("RDEPENDS:" + pkg, " ${MLPREFIX}glib-2.0-utils")
+        d.appendVar("FILES:" + pkg, " ${datadir}/glib-2.0/schemas")
 }
 
 gsettings_postinstrm () {
 	glib-compile-schemas $D${datadir}/glib-2.0/schemas
 }
 
-python populate_packages_append () {
+python populate_packages:append () {
     pkg = d.getVar('GSETTINGS_PACKAGE')
     if pkg:
         bb.note("adding gsettings postinst scripts to %s" % pkg)
 
-        postinst = d.getVar('pkg_postinst_%s' % pkg) or d.getVar('pkg_postinst')
+        postinst = d.getVar('pkg_postinst:%s' % pkg) or d.getVar('pkg_postinst')
         if not postinst:
             postinst = '#!/bin/sh\n'
         postinst += d.getVar('gsettings_postinstrm')
-        d.setVar('pkg_postinst_%s' % pkg, postinst)
+        d.setVar('pkg_postinst:%s' % pkg, postinst)
 
         bb.note("adding gsettings postrm scripts to %s" % pkg)
 
-        postrm = d.getVar('pkg_postrm_%s' % pkg) or d.getVar('pkg_postrm')
+        postrm = d.getVar('pkg_postrm:%s' % pkg) or d.getVar('pkg_postrm')
         if not postrm:
             postrm = '#!/bin/sh\n'
         postrm += d.getVar('gsettings_postinstrm')
-        d.setVar('pkg_postrm_%s' % pkg, postrm)
+        d.setVar('pkg_postrm:%s' % pkg, postrm)
 }
diff --git a/meta/classes/gtk-doc.bbclass b/meta/classes/gtk-doc.bbclass
index ef99e63faf9..7149bc06c0b 100644
--- a/meta/classes/gtk-doc.bbclass
+++ b/meta/classes/gtk-doc.bbclass
@@ -7,7 +7,7 @@
 #
 # It should be used in recipes to determine whether gtk-doc based documentation should be built,
 # so that qemu use can be avoided when necessary.
-GTKDOC_ENABLED_class-native = "False"
+GTKDOC_ENABLED:class-native = "False"
 GTKDOC_ENABLED ?= "${@bb.utils.contains('DISTRO_FEATURES', 'api-documentation', \
                       bb.utils.contains('MACHINE_FEATURES', 'qemu-usermode', 'True', 'False', d), 'False', d)}"
 
@@ -19,20 +19,20 @@ GTKDOC_MESON_ENABLE_FLAG ?= 'true'
 GTKDOC_MESON_DISABLE_FLAG ?= 'false'
 
 # Auto enable/disable based on GTKDOC_ENABLED
-EXTRA_OECONF_prepend_class-target = "${@bb.utils.contains('GTKDOC_ENABLED', 'True', '--enable-gtk-doc --enable-gtk-doc-html --disable-gtk-doc-pdf', \
+EXTRA_OECONF:prepend:class-target = "${@bb.utils.contains('GTKDOC_ENABLED', 'True', '--enable-gtk-doc --enable-gtk-doc-html --disable-gtk-doc-pdf', \
                                                                                     '--disable-gtk-doc', d)} "
-EXTRA_OEMESON_prepend_class-target = "-D${GTKDOC_MESON_OPTION}=${@bb.utils.contains('GTKDOC_ENABLED', 'True', '${GTKDOC_MESON_ENABLE_FLAG}', '${GTKDOC_MESON_DISABLE_FLAG}', d)} "
+EXTRA_OEMESON:prepend:class-target = "-D${GTKDOC_MESON_OPTION}=${@bb.utils.contains('GTKDOC_ENABLED', 'True', '${GTKDOC_MESON_ENABLE_FLAG}', '${GTKDOC_MESON_DISABLE_FLAG}', d)} "
 
 # When building native recipes, disable gtkdoc, as it is not necessary,
 # pulls in additional dependencies, and makes build times longer
-EXTRA_OECONF_prepend_class-native = "--disable-gtk-doc "
-EXTRA_OECONF_prepend_class-nativesdk = "--disable-gtk-doc "
-EXTRA_OEMESON_prepend_class-native = "-D${GTKDOC_MESON_OPTION}=${GTKDOC_MESON_DISABLE_FLAG} "
-EXTRA_OEMESON_prepend_class-nativesdk = "-D${GTKDOC_MESON_OPTION}=${GTKDOC_MESON_DISABLE_FLAG} "
+EXTRA_OECONF:prepend:class-native = "--disable-gtk-doc "
+EXTRA_OECONF:prepend:class-nativesdk = "--disable-gtk-doc "
+EXTRA_OEMESON:prepend:class-native = "-D${GTKDOC_MESON_OPTION}=${GTKDOC_MESON_DISABLE_FLAG} "
+EXTRA_OEMESON:prepend:class-nativesdk = "-D${GTKDOC_MESON_OPTION}=${GTKDOC_MESON_DISABLE_FLAG} "
 
 # Even though gtkdoc is disabled on -native, gtk-doc package is still
 # needed for m4 macros.
-DEPENDS_append = " gtk-doc-native"
+DEPENDS:append = " gtk-doc-native"
 
 # The documentation directory, where the infrastructure will be copied.
 # gtkdocize has a default of "." so to handle out-of-tree builds set this to $S.
@@ -41,15 +41,15 @@ GTKDOC_DOCDIR ?= "${S}"
 export STAGING_DIR_HOST
 
 inherit python3native pkgconfig qemu
-DEPENDS_append = "${@' qemu-native' if d.getVar('GTKDOC_ENABLED') == 'True' else ''}"
+DEPENDS:append = "${@' qemu-native' if d.getVar('GTKDOC_ENABLED') == 'True' else ''}"
 
-do_configure_prepend () {
+do_configure:prepend () {
 	# Need to use ||true as this is only needed if configure.ac both exists
 	# and uses GTK_DOC_CHECK.
 	gtkdocize --srcdir ${S} --docdir ${GTKDOC_DOCDIR} || true
 }
 
-do_compile_prepend_class-target () {
+do_compile:prepend:class-target () {
     if [ ${GTKDOC_ENABLED} = True ]; then
         # Write out a qemu wrapper that will be given to gtkdoc-scangobj so that it
         # can run target helper binaries through that.
diff --git a/meta/classes/gtk-icon-cache.bbclass b/meta/classes/gtk-icon-cache.bbclass
index 340a283851f..0248ba285ef 100644
--- a/meta/classes/gtk-icon-cache.bbclass
+++ b/meta/classes/gtk-icon-cache.bbclass
@@ -1,4 +1,4 @@
-FILES_${PN} += "${datadir}/icons/hicolor"
+FILES:${PN} += "${datadir}/icons/hicolor"
 
 #gtk+3 reqiure GTK3DISTROFEATURES, DEPENDS on it make all the
 #recipes inherit this class require GTK3DISTROFEATURES
@@ -45,7 +45,7 @@ else
 fi
 }
 
-python populate_packages_append () {
+python populate_packages:append () {
     packages = d.getVar('PACKAGES').split()
     pkgdest =  d.getVar('PKGDEST')
     
@@ -56,29 +56,29 @@ python populate_packages_append () {
 
         bb.note("adding hicolor-icon-theme dependency to %s" % pkg)
         rdepends = ' ' + d.getVar('MLPREFIX', False) + "hicolor-icon-theme"
-        d.appendVar('RDEPENDS_%s' % pkg, rdepends)
+        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)
+        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)
+        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)
+        postinst = d.getVar('pkg_postinst:%s' % pkg)
         if not postinst:
             postinst = '#!/bin/sh\n'
         postinst += d.getVar('gtk_icon_cache_postinst')
-        d.setVar('pkg_postinst_%s' % pkg, postinst)
+        d.setVar('pkg_postinst:%s' % pkg, postinst)
 
-        postrm = d.getVar('pkg_postrm_%s' % pkg)
+        postrm = d.getVar('pkg_postrm:%s' % pkg)
         if not postrm:
             postrm = '#!/bin/sh\n'
         postrm += d.getVar('gtk_icon_cache_postrm')
-        d.setVar('pkg_postrm_%s' % pkg, postrm)
+        d.setVar('pkg_postrm:%s' % pkg, postrm)
 }
 
diff --git a/meta/classes/gtk-immodules-cache.bbclass b/meta/classes/gtk-immodules-cache.bbclass
index 8e783fb4934..2107517540b 100644
--- a/meta/classes/gtk-immodules-cache.bbclass
+++ b/meta/classes/gtk-immodules-cache.bbclass
@@ -47,23 +47,23 @@ else
 fi
 }
 
-python populate_packages_append () {
+python populate_packages:append () {
     gtkimmodules_pkgs = d.getVar('GTKIMMODULES_PACKAGES').split()
 
     for pkg in gtkimmodules_pkgs:
             bb.note("adding gtk-immodule-cache postinst and postrm scripts to %s" % pkg)
 
-            postinst = d.getVar('pkg_postinst_%s' % pkg)
+            postinst = d.getVar('pkg_postinst:%s' % pkg)
             if not postinst:
                 postinst = '#!/bin/sh\n'
             postinst += d.getVar('gtk_immodule_cache_postinst')
-            d.setVar('pkg_postinst_%s' % pkg, postinst)
+            d.setVar('pkg_postinst:%s' % pkg, postinst)
 
-            postrm = d.getVar('pkg_postrm_%s' % pkg)
+            postrm = d.getVar('pkg_postrm:%s' % pkg)
             if not postrm:
                 postrm = '#!/bin/sh\n'
             postrm += d.getVar('gtk_immodule_cache_postrm')
-            d.setVar('pkg_postrm_%s' % pkg, postrm)
+            d.setVar('pkg_postrm:%s' % pkg, postrm)
 }
 
 python __anonymous() {
diff --git a/meta/classes/icecc.bbclass b/meta/classes/icecc.bbclass
index 80943fcf026..d8043f18a30 100644
--- a/meta/classes/icecc.bbclass
+++ b/meta/classes/icecc.bbclass
@@ -47,7 +47,7 @@ HOSTTOOLS_NONFATAL += "icecc patchelf"
 #
 # A useful thing to do for testing Icecream changes locally is to add a
 # subversion in local.conf:
-#  ICECC_ENV_VERSION_append = "-my-ver-1"
+#  ICECC_ENV_VERSION:append = "-my-ver-1"
 ICECC_ENV_VERSION = "2"
 
 # Default to disabling the caret workaround, If set to "1" in local.conf, icecc
@@ -97,7 +97,7 @@ ICECC_SYSTEM_CLASS_BL += "\
     image \
     "
 
-def icecc_dep_prepend(d):
+def icecc_dep:prepend(d):
     # INHIBIT_DEFAULT_DEPS doesn't apply to the patch command.  Whether or  not
     # we need that built is the responsibility of the patch function / class, not
     # the application.
@@ -105,7 +105,7 @@ def icecc_dep_prepend(d):
         return "icecc-create-env-native"
     return ""
 
-DEPENDS_prepend = "${@icecc_dep_prepend(d)} "
+DEPENDS:prepend = "${@icecc_dep_prepend(d)} "
 
 get_cross_kernel_cc[vardepsexclude] += "KERNEL_CC"
 def get_cross_kernel_cc(bb,d):
@@ -428,28 +428,28 @@ set_icecc_env() {
     bbnote "Using icecc tarball: $ICECC_VERSION"
 }
 
-do_configure_prepend() {
+do_configure:prepend() {
     set_icecc_env
 }
 
-do_compile_prepend() {
+do_compile:prepend() {
     set_icecc_env
 }
 
-do_compile_kernelmodules_prepend() {
+do_compile_kernelmodules:prepend() {
     set_icecc_env
 }
 
-do_install_prepend() {
+do_install:prepend() {
     set_icecc_env
 }
 
 # IceCream is not (currently) supported in the extensible SDK
 ICECC_SDK_HOST_TASK = "nativesdk-icecc-toolchain"
-ICECC_SDK_HOST_TASK_task-populate-sdk-ext = ""
+ICECC_SDK_HOST_TASK:task-populate-sdk-ext = ""
 
 # Don't include IceCream in uninative tarball
-ICECC_SDK_HOST_TASK_pn-uninative-tarball = ""
+ICECC_SDK_HOST_TASK:pn-uninative-tarball = ""
 
 # Add the toolchain scripts to the SDK
-TOOLCHAIN_HOST_TASK_append = " ${ICECC_SDK_HOST_TASK}"
+TOOLCHAIN_HOST_TASK:append = " ${ICECC_SDK_HOST_TASK}"
diff --git a/meta/classes/image-combined-dbg.bbclass b/meta/classes/image-combined-dbg.bbclass
index f4772f7ea19..e5dc61f8573 100644
--- a/meta/classes/image-combined-dbg.bbclass
+++ b/meta/classes/image-combined-dbg.bbclass
@@ -1,4 +1,4 @@
-IMAGE_PREPROCESS_COMMAND_append = " combine_dbg_image; "
+IMAGE_PREPROCESS_COMMAND:append = " combine_dbg_image; "
 
 combine_dbg_image () {
         if [ "${IMAGE_GEN_DEBUGFS}" = "1" -a -e ${IMAGE_ROOTFS}-dbg ]; then
diff --git a/meta/classes/image-prelink.bbclass b/meta/classes/image-prelink.bbclass
index ebf6e6d7ee8..0da094a5518 100644
--- a/meta/classes/image-prelink.bbclass
+++ b/meta/classes/image-prelink.bbclass
@@ -1,6 +1,6 @@
 do_rootfs[depends] += "prelink-native:do_populate_sysroot"
 
-IMAGE_PREPROCESS_COMMAND_append_libc-glibc = " prelink_setup; prelink_image; "
+IMAGE_PREPROCESS_COMMAND:append:libc-glibc = " prelink_setup; prelink_image; "
 
 python prelink_setup () {
     oe.utils.write_ld_so_conf(d)
diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass
index 67603d958d5..45dd56b544c 100644
--- a/meta/classes/image.bbclass
+++ b/meta/classes/image.bbclass
@@ -26,7 +26,7 @@ PACKAGES = ""
 DEPENDS += "${@' '.join(["%s-qemuwrapper-cross" % m for m in d.getVar("MULTILIB_VARIANTS").split()])} qemuwrapper-cross depmodwrapper-cross cross-localedef-native"
 RDEPENDS += "${PACKAGE_INSTALL} ${LINGUAS_INSTALL} ${IMAGE_INSTALL_DEBUGFS}"
 RRECOMMENDS += "${PACKAGE_INSTALL_ATTEMPTONLY}"
-PATH_prepend = "${@":".join(all_multilib_tune_values(d, 'STAGING_BINDIR_CROSS').split())}:"
+PATH:prepend = "${@":".join(all_multilib_tune_values(d, 'STAGING_BINDIR_CROSS').split())}:"
 
 INHIBIT_DEFAULT_DEPS = "1"
 
@@ -92,7 +92,7 @@ PID = "${@os.getpid()}"
 PACKAGE_ARCH = "${MACHINE_ARCH}"
 
 LDCONFIGDEPEND ?= "ldconfig-native:do_populate_sysroot"
-LDCONFIGDEPEND_libc-musl = ""
+LDCONFIGDEPEND:libc-musl = ""
 
 # This is needed to have depmod data in PKGDATA_DIR,
 # but if you're building small initramfs image
@@ -273,7 +273,7 @@ fakeroot python do_image_complete () {
 }
 do_image_complete[dirs] = "${TOPDIR}"
 SSTATETASKS += "do_image_complete"
-SSTATE_SKIP_CREATION_task-image-complete = '1'
+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}"
@@ -314,7 +314,7 @@ fakeroot python do_image_qa () {
 addtask do_image_qa after do_rootfs before do_image
 
 SSTATETASKS += "do_image_qa"
-SSTATE_SKIP_CREATION_task-image-qa = '1'
+SSTATE_SKIP_CREATION:task-image-qa = '1'
 do_image_qa[sstate-inputdirs] = ""
 do_image_qa[sstate-outputdirs] = ""
 python do_image_qa_setscene () {
@@ -431,21 +431,21 @@ python () {
         localdata.delVar('DATETIME')
         localdata.delVar('DATE')
         localdata.delVar('TMPDIR')
-        vardepsexclude = (d.getVarFlag('IMAGE_CMD_' + realt, 'vardepsexclude', True) or '').split()
+        vardepsexclude = (d.getVarFlag('IMAGE_CMD:' + realt, 'vardepsexclude', True) or '').split()
         for dep in vardepsexclude:
             localdata.delVar(dep)
 
         image_cmd = localdata.getVar("IMAGE_CMD")
-        vardeps.add('IMAGE_CMD_' + realt)
+        vardeps.add('IMAGE_CMD:' + realt)
         if image_cmd:
             cmds.append("\t" + image_cmd)
         else:
             bb.fatal("No IMAGE_CMD defined for IMAGE_FSTYPES entry '%s' - possibly invalid type name or missing support class" % t)
         cmds.append(localdata.expand("\tcd ${IMGDEPLOYDIR}"))
 
-        # Since a copy of IMAGE_CMD_xxx will be inlined within do_image_xxx,
-        # prevent a redundant copy of IMAGE_CMD_xxx being emitted as a function.
-        d.delVarFlag('IMAGE_CMD_' + realt, 'func')
+        # Since a copy of IMAGE_CMD:xxx will be inlined within do_image_xxx,
+        # prevent a redundant copy of IMAGE_CMD:xxx being emitted as a function.
+        d.delVarFlag('IMAGE_CMD:' + realt, 'func')
 
         rm_tmp_images = set()
         def gen_conversion_cmds(bt):
@@ -667,6 +667,6 @@ systemd_preset_all () {
     fi
 }
 
-IMAGE_PREPROCESS_COMMAND_append = " ${@ 'systemd_preset_all;' if bb.utils.contains('DISTRO_FEATURES', 'systemd', True, False, d) and not bb.utils.contains('IMAGE_FEATURES', 'stateless-rootfs', True, False, d) else ''} reproducible_final_image_task; "
+IMAGE_PREPROCESS_COMMAND:append = " ${@ 'systemd_preset_all;' if bb.utils.contains('DISTRO_FEATURES', 'systemd', True, False, d) and not bb.utils.contains('IMAGE_FEATURES', 'stateless-rootfs', True, False, d) else ''} reproducible_final_image_task; "
 
 CVE_PRODUCT = ""
diff --git a/meta/classes/image_types.bbclass b/meta/classes/image_types.bbclass
index 954d6739ecb..32fe21ec73f 100644
--- a/meta/classes/image_types.bbclass
+++ b/meta/classes/image_types.bbclass
@@ -56,9 +56,9 @@ ZIP_COMPRESSION_LEVEL ?= "-9"
 ZSTD_COMPRESSION_LEVEL ?= "-3"
 
 JFFS2_SUM_EXTRA_ARGS ?= ""
-IMAGE_CMD_jffs2 = "mkfs.jffs2 --root=${IMAGE_ROOTFS} --faketime --output=${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.jffs2 ${EXTRA_IMAGECMD}"
+IMAGE_CMD:jffs2 = "mkfs.jffs2 --root=${IMAGE_ROOTFS} --faketime --output=${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.jffs2 ${EXTRA_IMAGECMD}"
 
-IMAGE_CMD_cramfs = "mkfs.cramfs ${IMAGE_ROOTFS} ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.cramfs ${EXTRA_IMAGECMD}"
+IMAGE_CMD:cramfs = "mkfs.cramfs ${IMAGE_ROOTFS} ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.cramfs ${EXTRA_IMAGECMD}"
 
 oe_mkext234fs () {
 	fstype=$1
@@ -88,12 +88,12 @@ oe_mkext234fs () {
 	fsck.$fstype -pvfD ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.$fstype || [ $? -le 3 ]
 }
 
-IMAGE_CMD_ext2 = "oe_mkext234fs ext2 ${EXTRA_IMAGECMD}"
-IMAGE_CMD_ext3 = "oe_mkext234fs ext3 ${EXTRA_IMAGECMD}"
-IMAGE_CMD_ext4 = "oe_mkext234fs ext4 ${EXTRA_IMAGECMD}"
+IMAGE_CMD:ext2 = "oe_mkext234fs ext2 ${EXTRA_IMAGECMD}"
+IMAGE_CMD:ext3 = "oe_mkext234fs ext3 ${EXTRA_IMAGECMD}"
+IMAGE_CMD:ext4 = "oe_mkext234fs ext4 ${EXTRA_IMAGECMD}"
 
 MIN_BTRFS_SIZE ?= "16384"
-IMAGE_CMD_btrfs () {
+IMAGE_CMD:btrfs () {
 	size=${ROOTFS_SIZE}
 	if [ ${size} -lt ${MIN_BTRFS_SIZE} ] ; then
 		size=${MIN_BTRFS_SIZE}
@@ -103,22 +103,22 @@ IMAGE_CMD_btrfs () {
 	mkfs.btrfs ${EXTRA_IMAGECMD} -r ${IMAGE_ROOTFS} ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.btrfs
 }
 
-IMAGE_CMD_squashfs = "mksquashfs ${IMAGE_ROOTFS} ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.squashfs ${EXTRA_IMAGECMD} -noappend"
-IMAGE_CMD_squashfs-xz = "mksquashfs ${IMAGE_ROOTFS} ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.squashfs-xz ${EXTRA_IMAGECMD} -noappend -comp xz"
-IMAGE_CMD_squashfs-lzo = "mksquashfs ${IMAGE_ROOTFS} ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.squashfs-lzo ${EXTRA_IMAGECMD} -noappend -comp lzo"
-IMAGE_CMD_squashfs-lz4 = "mksquashfs ${IMAGE_ROOTFS} ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.squashfs-lz4 ${EXTRA_IMAGECMD} -noappend -comp lz4"
+IMAGE_CMD:squashfs = "mksquashfs ${IMAGE_ROOTFS} ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.squashfs ${EXTRA_IMAGECMD} -noappend"
+IMAGE_CMD:squashfs-xz = "mksquashfs ${IMAGE_ROOTFS} ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.squashfs-xz ${EXTRA_IMAGECMD} -noappend -comp xz"
+IMAGE_CMD:squashfs-lzo = "mksquashfs ${IMAGE_ROOTFS} ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.squashfs-lzo ${EXTRA_IMAGECMD} -noappend -comp lzo"
+IMAGE_CMD:squashfs-lz4 = "mksquashfs ${IMAGE_ROOTFS} ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.squashfs-lz4 ${EXTRA_IMAGECMD} -noappend -comp lz4"
 
-IMAGE_CMD_erofs = "mkfs.erofs ${EXTRA_IMAGECMD} ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.erofs ${IMAGE_ROOTFS}"
-IMAGE_CMD_erofs-lz4 = "mkfs.erofs -zlz4 ${EXTRA_IMAGECMD} ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.erofs-lz4 ${IMAGE_ROOTFS}"
-IMAGE_CMD_erofs-lz4hc = "mkfs.erofs -zlz4hc ${EXTRA_IMAGECMD} ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.erofs-lz4hc ${IMAGE_ROOTFS}"
+IMAGE_CMD:erofs = "mkfs.erofs ${EXTRA_IMAGECMD} ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.erofs ${IMAGE_ROOTFS}"
+IMAGE_CMD:erofs-lz4 = "mkfs.erofs -zlz4 ${EXTRA_IMAGECMD} ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.erofs-lz4 ${IMAGE_ROOTFS}"
+IMAGE_CMD:erofs-lz4hc = "mkfs.erofs -zlz4hc ${EXTRA_IMAGECMD} ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.erofs-lz4hc ${IMAGE_ROOTFS}"
 
 
 IMAGE_CMD_TAR ?= "tar"
 # ignore return code 1 "file changed as we read it" as other tasks(e.g. do_image_wic) may be hardlinking rootfs
-IMAGE_CMD_tar = "${IMAGE_CMD_TAR} --sort=name --format=posix --numeric-owner -cf ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.tar -C ${IMAGE_ROOTFS} . || [ $? -eq 1 ]"
+IMAGE_CMD:tar = "${IMAGE_CMD_TAR} --sort=name --format=posix --numeric-owner -cf ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.tar -C ${IMAGE_ROOTFS} . || [ $? -eq 1 ]"
 
 do_image_cpio[cleandirs] += "${WORKDIR}/cpio_append"
-IMAGE_CMD_cpio () {
+IMAGE_CMD:cpio () {
 	(cd ${IMAGE_ROOTFS} && find . | sort | cpio --reproducible -o -H newc >${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.cpio)
 	# We only need the /init symlink if we're building the real
 	# image. The -dbg image doesn't need it! By being clever
@@ -184,7 +184,7 @@ multiubi_mkfs() {
 	fi
 }
 
-IMAGE_CMD_multiubi () {
+IMAGE_CMD:multiubi () {
 	# Split MKUBIFS_ARGS_<name> and UBINIZE_ARGS_<name>
 	for name in ${MULTIUBI_BUILD}; do
 		eval local mkubifs_args=\"\$MKUBIFS_ARGS_${name}\"
@@ -194,15 +194,15 @@ IMAGE_CMD_multiubi () {
 	done
 }
 
-IMAGE_CMD_ubi () {
+IMAGE_CMD:ubi () {
 	multiubi_mkfs "${MKUBIFS_ARGS}" "${UBINIZE_ARGS}"
 }
 IMAGE_TYPEDEP_ubi = "ubifs"
 
-IMAGE_CMD_ubifs = "mkfs.ubifs -r ${IMAGE_ROOTFS} -o ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.ubifs ${MKUBIFS_ARGS}"
+IMAGE_CMD:ubifs = "mkfs.ubifs -r ${IMAGE_ROOTFS} -o ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.ubifs ${MKUBIFS_ARGS}"
 
 MIN_F2FS_SIZE ?= "524288"
-IMAGE_CMD_f2fs () {
+IMAGE_CMD:f2fs () {
         # We need to add additional smarts here form devices smaller than 1.5G
         # Need to scale appropriately between 40M -> 1.5G as the "overprovision
         # ratio" goes down as the device gets bigger (70% -> 4.5%), below about
@@ -224,14 +224,14 @@ inherit siteinfo kernel-arch image-artifact-names
 
 JFFS2_ENDIANNESS ?= "${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'le', '-l', '-b', d)}"
 JFFS2_ERASEBLOCK ?= "0x40000"
-EXTRA_IMAGECMD_jffs2 ?= "--pad ${JFFS2_ENDIANNESS} --eraseblock=${JFFS2_ERASEBLOCK} --no-cleanmarkers"
+EXTRA_IMAGECMD:jffs2 ?= "--pad ${JFFS2_ENDIANNESS} --eraseblock=${JFFS2_ERASEBLOCK} --no-cleanmarkers"
 
 # Change these if you want default mkfs behavior (i.e. create minimal inode number)
-EXTRA_IMAGECMD_ext2 ?= "-i 4096"
-EXTRA_IMAGECMD_ext3 ?= "-i 4096"
-EXTRA_IMAGECMD_ext4 ?= "-i 4096"
-EXTRA_IMAGECMD_btrfs ?= "-n 4096"
-EXTRA_IMAGECMD_f2fs ?= ""
+EXTRA_IMAGECMD:ext2 ?= "-i 4096"
+EXTRA_IMAGECMD:ext3 ?= "-i 4096"
+EXTRA_IMAGECMD:ext4 ?= "-i 4096"
+EXTRA_IMAGECMD:btrfs ?= "-n 4096"
+EXTRA_IMAGECMD:f2fs ?= ""
 
 do_image_cpio[depends] += "cpio-native:do_populate_sysroot"
 do_image_jffs2[depends] += "mtd-utils-native:do_populate_sysroot"
diff --git a/meta/classes/image_types_wic.bbclass b/meta/classes/image_types_wic.bbclass
index 49be1da77aa..2f1a0b709c5 100644
--- a/meta/classes/image_types_wic.bbclass
+++ b/meta/classes/image_types_wic.bbclass
@@ -26,7 +26,7 @@ def wks_search(files, search_path):
 
 WIC_CREATE_EXTRA_ARGS ?= ""
 
-IMAGE_CMD_wic () {
+IMAGE_CMD:wic () {
 	out="${IMGDEPLOYDIR}/${IMAGE_NAME}"
 	build_wic="${WORKDIR}/build-wic"
 	tmp_wic="${WORKDIR}/tmp-wic"
@@ -42,7 +42,7 @@ IMAGE_CMD_wic () {
 	BUILDDIR="${TOPDIR}" PSEUDO_UNLOAD=1 wic create "$wks" --vars "${STAGING_DIR}/${MACHINE}/imgdata/" -e "${IMAGE_BASENAME}" -o "$build_wic/" -w "$tmp_wic" ${WIC_CREATE_EXTRA_ARGS}
 	mv "$build_wic/$(basename "${wks%.wks}")"*.direct "$out${IMAGE_NAME_SUFFIX}.wic"
 }
-IMAGE_CMD_wic[vardepsexclude] = "WKS_FULL_PATH WKS_FILES TOPDIR"
+IMAGE_CMD:wic[vardepsexclude] = "WKS_FULL_PATH WKS_FILES TOPDIR"
 do_image_wic[cleandirs] = "${WORKDIR}/build-wic"
 
 PSEUDO_IGNORE_PATHS .= ",${WORKDIR}/build-wic"
@@ -60,9 +60,9 @@ do_image_wic[deptask] += "do_image_complete"
 WKS_FILE_DEPENDS_DEFAULT = '${@bb.utils.contains_any("BUILD_ARCH", [ 'x86_64', 'i686' ], "syslinux-native", "",d)}'
 WKS_FILE_DEPENDS_DEFAULT += "bmap-tools-native cdrtools-native btrfs-tools-native squashfs-tools-native e2fsprogs-native"
 WKS_FILE_DEPENDS_BOOTLOADERS = ""
-WKS_FILE_DEPENDS_BOOTLOADERS_x86 = "syslinux grub-efi systemd-boot"
-WKS_FILE_DEPENDS_BOOTLOADERS_x86-64 = "syslinux grub-efi systemd-boot"
-WKS_FILE_DEPENDS_BOOTLOADERS_x86-x32 = "syslinux grub-efi"
+WKS_FILE_DEPENDS_BOOTLOADERS:x86 = "syslinux grub-efi systemd-boot"
+WKS_FILE_DEPENDS_BOOTLOADERS:x86-64 = "syslinux grub-efi systemd-boot"
+WKS_FILE_DEPENDS_BOOTLOADERS:x86-x32 = "syslinux grub-efi"
 
 WKS_FILE_DEPENDS ??= "${WKS_FILE_DEPENDS_DEFAULT} ${WKS_FILE_DEPENDS_BOOTLOADERS}"
 
diff --git a/meta/classes/insane.bbclass b/meta/classes/insane.bbclass
index 763d5f1da2c..f9a35f2daac 100644
--- a/meta/classes/insane.bbclass
+++ b/meta/classes/insane.bbclass
@@ -40,7 +40,7 @@ ERROR_QA ?= "dev-so debug-deps dev-deps debug-files arch pkgconfig la \
             useless-rpaths rpaths staticdev \
             "
 # Add usrmerge QA check based on distro feature
-ERROR_QA_append = "${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', ' usrmerge', '', d)}"
+ERROR_QA:append = "${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', ' usrmerge', '', d)}"
 
 FAKEROOT_QA = "host-user-contaminated"
 FAKEROOT_QA[doc] = "QA tests which need to run under fakeroot. If any \
@@ -246,7 +246,7 @@ def package_qa_check_mime_xdg(path, name, d, elf, messages):
             pkgname = name
             if name == d.getVar('PN'):
                 pkgname = '${PN}'
-            wstr += "If yes: add \'inhert mime-xdg\' and \'MIME_XDG_PACKAGES += \"%s\"\' / if no add \'INSANE_SKIP_%s += \"mime-xdg\"\' to recipe." % (pkgname, pkgname)
+            wstr += "If yes: add \'inhert mime-xdg\' and \'MIME_XDG_PACKAGES += \"%s\"\' / if no add \'INSANE_SKIP:%s += \"mime-xdg\"\' to recipe." % (pkgname, pkgname)
             package_qa_add_message(messages, "mime-xdg", wstr)
         if mime_type_found:
             package_qa_add_message(messages, "mime-xdg", "package contains desktop file with key 'MimeType' but does not inhert mime-xdg: %s path '%s'" % \
@@ -279,7 +279,7 @@ def package_qa_check_libdir(d):
             # Skip subdirectories for any packages with libdir in INSANE_SKIP
             skippackages = []
             for package in dirs:
-                if 'libdir' in (d.getVar('INSANE_SKIP_' + package) or "").split():
+                if 'libdir' in (d.getVar('INSANE_SKIP:' + package) or "").split():
                     bb.note("Package %s skipping libdir QA test" % (package))
                     skippackages.append(package)
                 elif d.getVar('PACKAGE_DEBUG_SPLIT_STYLE') == 'debug-file-directory' and package.endswith("-dbg"):
@@ -483,7 +483,7 @@ def package_qa_check_xorg_driver_abi(path, name, d, elf, messages):
     driverdir = d.expand("${libdir}/xorg/modules/drivers/")
     if driverdir in path and path.endswith(".so"):
         mlprefix = d.getVar('MLPREFIX') or ''
-        for rdep in bb.utils.explode_deps(d.getVar('RDEPENDS_' + name) or ""):
+        for rdep in bb.utils.explode_deps(d.getVar('RDEPENDS:' + name) or ""):
             if rdep.startswith("%sxorg-abi-" % mlprefix):
                 return
         package_qa_add_message(messages, "xorg-driver-abi", "Package %s contains Xorg driver (%s) but no xorg-abi- dependencies" % (name, os.path.basename(path)))
@@ -795,7 +795,7 @@ def package_qa_check_rdepends(pkg, pkgdest, skip, taskdeps, packages, d):
 
                 # The python is not a package, but python-core provides it, so
                 # skip checking /usr/bin/python if python is in the rdeps, in
-                # case there is a RDEPENDS_pkg = "python" in the recipe.
+                # case there is a RDEPENDS:pkg = "python" in the recipe.
                 for py in [ d.getVar('MLPREFIX') + "python", "python" ]:
                     if py in done:
                         filerdepends.pop("/usr/bin/python",None)
@@ -808,7 +808,7 @@ def package_qa_check_rdepends(pkg, pkgdest, skip, taskdeps, packages, d):
                     # For Saving the FILERPROVIDES, RPROVIDES and FILES_INFO
                     rdep_data = oe.packagedata.read_subpkgdata(rdep, d)
                     for key in rdep_data:
-                        if key.startswith("FILERPROVIDES_") or key.startswith("RPROVIDES_"):
+                        if key.startswith("FILERPROVIDES_") or key.startswith("RPROVIDES:"):
                             for subkey in bb.utils.explode_deps(rdep_data[key]):
                                 filerdepends.pop(subkey,None)
                         # Add the files list to the rprovides
@@ -821,7 +821,7 @@ def package_qa_check_rdepends(pkg, pkgdest, skip, taskdeps, packages, d):
                         break
             if filerdepends:
                 for key in filerdepends:
-                    error_msg = "%s contained in package %s requires %s, but no providers found in RDEPENDS_%s?" % \
+                    error_msg = "%s contained in package %s requires %s, but no providers found in RDEPENDS:%s?" % \
                             (filerdepends[key].replace("_%s" % pkg, "").replace("@underscore@", "_"), pkg, key, pkg)
                     package_qa_handle_error("file-rdeps", error_msg, d)
 package_qa_check_rdepends[vardepsexclude] = "OVERRIDES"
@@ -903,7 +903,7 @@ def package_qa_check_unlisted_pkg_lics(package, d, messages):
     """
     Check that all licenses for a package are among the licenses for the recipe.
     """
-    pkg_lics = d.getVar('LICENSE_' + package)
+    pkg_lics = d.getVar('LICENSE:' + package)
     if not pkg_lics:
         return True
 
@@ -913,7 +913,7 @@ def package_qa_check_unlisted_pkg_lics(package, d, messages):
         return True
 
     package_qa_add_message(messages, "unlisted-pkg-lics",
-                           "LICENSE_%s includes licenses (%s) that are not "
+                           "LICENSE:%s includes licenses (%s) that are not "
                            "listed in LICENSE" % (package, ' '.join(unlisted)))
     return False
 
@@ -996,8 +996,8 @@ def package_qa_check_missing_update_alternatives(pn, d, messages):
     # Look at all packages and find out if any of those sets ALTERNATIVE variable
     # without inheriting update-alternatives class
     for pkg in (d.getVar('PACKAGES') or '').split():
-        if d.getVar('ALTERNATIVE_%s' % pkg) and not bb.data.inherits_class('update-alternatives', d):
-            package_qa_handle_error("missing-update-alternatives", "%s: recipe defines ALTERNATIVE_%s but doesn't inherit update-alternatives. This might fail during do_rootfs later!" % (pn, pkg), d)
+        if d.getVar('ALTERNATIVE:%s' % pkg) and not bb.data.inherits_class('update-alternatives', d):
+            package_qa_handle_error("missing-update-alternatives", "%s: recipe defines ALTERNATIVE:%s but doesn't inherit update-alternatives. This might fail during do_rootfs later!" % (pn, pkg), d)
 
 # The PACKAGE FUNC to scan each package
 python do_package_qa () {
@@ -1066,7 +1066,7 @@ python do_package_qa () {
 
     for package in packages:
         skip = set((d.getVar('INSANE_SKIP') or "").split() +
-                   (d.getVar('INSANE_SKIP_' + package) or "").split())
+                   (d.getVar('INSANE_SKIP:' + package) or "").split())
         if skip:
             bb.note("Package %s skipping QA tests: %s" % (package, str(skip)))
 
@@ -1108,7 +1108,7 @@ addtask do_package_qa after do_packagedata do_package before do_build
 python() {
     pkgs = (d.getVar('PACKAGES') or '').split()
     for pkg in pkgs:
-        d.appendVarFlag("do_package_qa", "vardeps", " INSANE_SKIP_{}".format(pkg))
+        d.appendVarFlag("do_package_qa", "vardeps", " INSANE_SKIP:{}".format(pkg))
 }
 
 SSTATETASKS += "do_package_qa"
@@ -1309,8 +1309,8 @@ python () {
         msg = "FILESEXTRAPATHS-variable, must always use _prepend (or _append)\n"
         msg += "type of assignment, and don't forget the colon.\n"
         msg += "Please assign it with the format of:\n"
-        msg += "  FILESEXTRAPATHS_append := \":${THISDIR}/Your_Files_Path\" or\n"
-        msg += "  FILESEXTRAPATHS_prepend := \"${THISDIR}/Your_Files_Path:\"\n"
+        msg += "  FILESEXTRAPATHS:append := \":${THISDIR}/Your_Files_Path\" or\n"
+        msg += "  FILESEXTRAPATHS:prepend := \"${THISDIR}/Your_Files_Path:\"\n"
         msg += "in your bbappend file\n\n"
         msg += "Your incorrect assignment is:\n"
         msg += "%s\n" % extrapaths
diff --git a/meta/classes/kernel-devicetree.bbclass b/meta/classes/kernel-devicetree.bbclass
index 27a4905ac63..a50ea4fb678 100644
--- a/meta/classes/kernel-devicetree.bbclass
+++ b/meta/classes/kernel-devicetree.bbclass
@@ -6,8 +6,8 @@ python () {
             d.appendVar("PACKAGES", " ${KERNEL_PACKAGE_NAME}-image-zimage-bundle")
 }
 
-FILES_${KERNEL_PACKAGE_NAME}-devicetree = "/${KERNEL_IMAGEDEST}/*.dtb /${KERNEL_IMAGEDEST}/*.dtbo"
-FILES_${KERNEL_PACKAGE_NAME}-image-zimage-bundle = "/${KERNEL_IMAGEDEST}/zImage-*.dtb.bin"
+FILES:${KERNEL_PACKAGE_NAME}-devicetree = "/${KERNEL_IMAGEDEST}/*.dtb /${KERNEL_IMAGEDEST}/*.dtbo"
+FILES:${KERNEL_PACKAGE_NAME}-image-zimage-bundle = "/${KERNEL_IMAGEDEST}/zImage-*.dtb.bin"
 
 # Generate kernel+devicetree bundle
 KERNEL_DEVICETREE_BUNDLE ?= "0"
@@ -33,7 +33,7 @@ get_real_dtb_path_in_kernel () {
 	echo "$dtb_path"
 }
 
-do_configure_append() {
+do_configure:append() {
 	if [ "${KERNEL_DEVICETREE_BUNDLE}" = "1" ]; then
 		if echo ${KERNEL_IMAGETYPE_FOR_MAKE} | grep -q 'zImage'; then
 			case "${ARCH}" in
@@ -55,7 +55,7 @@ do_configure_append() {
 	fi
 }
 
-do_compile_append() {
+do_compile:append() {
 	if [ -n "${KERNEL_DTC_FLAGS}" ]; then
 		export DTC_FLAGS="${KERNEL_DTC_FLAGS}"
 	fi
@@ -66,7 +66,7 @@ do_compile_append() {
 	done
 }
 
-do_install_append() {
+do_install:append() {
 	for dtbf in ${KERNEL_DEVICETREE}; do
 		dtb=`normalize_dtb "$dtbf"`
 		dtb_ext=${dtb##*.}
@@ -76,7 +76,7 @@ do_install_append() {
 	done
 }
 
-do_deploy_append() {
+do_deploy:append() {
 	for dtbf in ${KERNEL_DEVICETREE}; do
 		dtb=`normalize_dtb "$dtbf"`
 		dtb_ext=${dtb##*.}
diff --git a/meta/classes/kernel-fitimage.bbclass b/meta/classes/kernel-fitimage.bbclass
index e363eeb64c6..a9d1002200c 100644
--- a/meta/classes/kernel-fitimage.bbclass
+++ b/meta/classes/kernel-fitimage.bbclass
@@ -697,7 +697,7 @@ do_kernel_generate_rsa_keys() {
 addtask kernel_generate_rsa_keys before do_assemble_fitimage after do_compile
 
 kernel_do_deploy[vardepsexclude] = "DATETIME"
-kernel_do_deploy_append() {
+kernel_do_deploy:append() {
 	# Update deploy directory
 	if echo ${KERNEL_IMAGETYPES} | grep -wq "fitImage"; then
 
diff --git a/meta/classes/kernel-grub.bbclass b/meta/classes/kernel-grub.bbclass
index 5d92f3b636f..0bf8fda3e17 100644
--- a/meta/classes/kernel-grub.bbclass
+++ b/meta/classes/kernel-grub.bbclass
@@ -97,9 +97,9 @@ python __anonymous () {
 
     for type in imagetypes.split():
         typelower = type.lower()
-        preinst_append = preinst.replace('KERNEL_IMAGETYPE', type)
-        postinst_prepend = postinst.replace('KERNEL_IMAGETYPE', type)
-        d.setVar('pkg_preinst_kernel-image-' + typelower + '_append', preinst_append)
-        d.setVar('pkg_postinst_kernel-image-' + typelower + '_prepend', postinst_prepend)
+        preinst:append = preinst.replace('KERNEL_IMAGETYPE', type)
+        postinst:prepend = postinst.replace('KERNEL_IMAGETYPE', type)
+        d.setVar('pkg_preinst:kernel-image-' + typelower + '_append', preinst:append)
+        d.setVar('pkg_postinst:kernel-image-' + typelower + '_prepend', postinst:prepend)
 }
 
diff --git a/meta/classes/kernel-module-split.bbclass b/meta/classes/kernel-module-split.bbclass
index baa32e0a901..b56dd4a9c7c 100644
--- a/meta/classes/kernel-module-split.bbclass
+++ b/meta/classes/kernel-module-split.bbclass
@@ -1,4 +1,4 @@
-pkg_postinst_modules () {
+pkg_postinst:modules () {
 if [ -z "$D" ]; then
 	depmod -a ${KERNEL_VERSION}
 else
@@ -8,7 +8,7 @@ else
 fi
 }
 
-pkg_postrm_modules () {
+pkg_postrm:modules () {
 if [ -z "$D" ]; then
 	depmod -a ${KERNEL_VERSION}
 else
@@ -24,11 +24,11 @@ fi
 
 PACKAGE_WRITE_DEPS += "kmod-native depmodwrapper-cross"
 
-do_install_append() {
+do_install:append() {
 	install -d ${D}${sysconfdir}/modules-load.d/ ${D}${sysconfdir}/modprobe.d/
 }
 
-PACKAGESPLITFUNCS_prepend = "split_kernel_module_packages "
+PACKAGESPLITFUNCS:prepend = "split_kernel_module_packages "
 
 KERNEL_MODULES_META_PACKAGE ?= "${@ d.getVar("KERNEL_PACKAGE_NAME") or "kernel" }-modules"
 
@@ -100,11 +100,11 @@ python split_kernel_module_packages () {
             else:
                 f.write('%s\n' % basename)
             f.close()
-            postinst = d.getVar('pkg_postinst_%s' % pkg)
+            postinst = d.getVar('pkg_postinst:%s' % pkg)
             if not postinst:
-                bb.fatal("pkg_postinst_%s not defined" % pkg)
+                bb.fatal("pkg_postinst:%s not defined" % pkg)
             postinst += d.getVar('autoload_postinst_fragment') % (autoload or basename)
-            d.setVar('pkg_postinst_%s' % pkg, postinst)
+            d.setVar('pkg_postinst:%s' % pkg, postinst)
 
         # Write out any modconf fragment
         modconflist = (d.getVar("KERNEL_MODULE_PROBECONF") or "").split()
@@ -117,19 +117,19 @@ python split_kernel_module_packages () {
         elif modconf:
             bb.error("Please ensure module %s is listed in KERNEL_MODULE_PROBECONF since module_conf_%s is set" % (basename, basename))
 
-        files = d.getVar('FILES_%s' % pkg)
+        files = d.getVar('FILES:%s' % pkg)
         files = "%s /etc/modules-load.d/%s.conf /etc/modprobe.d/%s.conf" % (files, basename, basename)
-        d.setVar('FILES_%s' % pkg, files)
+        d.setVar('FILES:%s' % pkg, files)
 
-        conffiles = d.getVar('CONFFILES_%s' % pkg)
+        conffiles = d.getVar('CONFFILES:%s' % pkg)
         conffiles = "%s /etc/modules-load.d/%s.conf /etc/modprobe.d/%s.conf" % (conffiles, basename, basename)
-        d.setVar('CONFFILES_%s' % pkg, conffiles)
+        d.setVar('CONFFILES:%s' % pkg, conffiles)
 
         if "description" in vals:
-            old_desc = d.getVar('DESCRIPTION_' + pkg) or ""
-            d.setVar('DESCRIPTION_' + pkg, old_desc + "; " + vals["description"])
+            old_desc = d.getVar('DESCRIPTION:' + pkg) or ""
+            d.setVar('DESCRIPTION:' + pkg, old_desc + "; " + vals["description"])
 
-        rdepends = bb.utils.explode_dep_versions2(d.getVar('RDEPENDS_' + pkg) or "")
+        rdepends = bb.utils.explode_dep_versions2(d.getVar('RDEPENDS:' + pkg) or "")
         modinfo_deps = []
         if "depends" in vals and vals["depends"] != "":
             for dep in vals["depends"].split(","):
@@ -139,16 +139,16 @@ python split_kernel_module_packages () {
         for dep in modinfo_deps:
             if not dep in rdepends:
                 rdepends[dep] = []
-        d.setVar('RDEPENDS_' + pkg, bb.utils.join_deps(rdepends, commasep=False))
+        d.setVar('RDEPENDS:' + pkg, bb.utils.join_deps(rdepends, commasep=False))
 
         # Avoid automatic -dev recommendations for modules ending with -dev.
-        d.setVarFlag('RRECOMMENDS_' + pkg, 'nodeprrecs', 1)
+        d.setVarFlag('RRECOMMENDS:' + pkg, 'nodeprrecs', 1)
 
         # Provide virtual package without postfix
         providevirt = d.getVar('KERNEL_MODULE_PROVIDE_VIRTUAL')
         if providevirt == "1":
            postfix = format.split('%s')[1]
-           d.setVar('RPROVIDES_' + pkg, pkg.replace(postfix, ''))
+           d.setVar('RPROVIDES:' + pkg, pkg.replace(postfix, ''))
 
     kernel_package_name = d.getVar("KERNEL_PACKAGE_NAME") or "kernel"
     kernel_version = d.getVar("KERNEL_VERSION")
@@ -159,13 +159,13 @@ python split_kernel_module_packages () {
     module_pattern_suffix = d.getVar('KERNEL_MODULE_PACKAGE_SUFFIX')
     module_pattern = module_pattern_prefix + kernel_package_name + '-module-%s' + module_pattern_suffix
 
-    postinst = d.getVar('pkg_postinst_modules')
-    postrm = d.getVar('pkg_postrm_modules')
+    postinst = d.getVar('pkg_postinst:modules')
+    postrm = d.getVar('pkg_postrm:modules')
 
     modules = do_split_packages(d, root='${nonarch_base_libdir}/modules', file_regex=module_regex, output_pattern=module_pattern, description='%s kernel module', postinst=postinst, postrm=postrm, recursive=True, hook=frob_metadata, extra_depends='%s-%s' % (kernel_package_name, kernel_version))
     if modules:
         metapkg = d.getVar('KERNEL_MODULES_META_PACKAGE')
-        d.appendVar('RDEPENDS_' + metapkg, ' '+' '.join(modules))
+        d.appendVar('RDEPENDS:' + metapkg, ' '+' '.join(modules))
 
     # If modules-load.d and modprobe.d are empty at this point, remove them to
     # avoid warnings. removedirs only raises an OSError if an empty
diff --git a/meta/classes/kernel-yocto.bbclass b/meta/classes/kernel-yocto.bbclass
index 0df61cdef0c..7deadcaedbf 100644
--- a/meta/classes/kernel-yocto.bbclass
+++ b/meta/classes/kernel-yocto.bbclass
@@ -474,7 +474,7 @@ python do_config_analysis() {
     env['srctree'] = s
 
     # read specific symbols from the kernel recipe or from local.conf
-    # i.e.: CONFIG_ANALYSIS_pn-linux-yocto-dev = 'NF_CONNTRACK LOCALVERSION'
+    # i.e.: CONFIG_ANALYSIS:pn-linux-yocto-dev = 'NF_CONNTRACK LOCALVERSION'
     config = d.getVar( 'CONFIG_ANALYSIS' )
     if not config:
        config = [ "" ]
diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass
index 846b19663bb..027e66eec7b 100644
--- a/meta/classes/kernel.bbclass
+++ b/meta/classes/kernel.bbclass
@@ -46,7 +46,7 @@ python __anonymous () {
     kpn = d.getVar("KERNEL_PACKAGE_NAME")
 
     # XXX Remove this after bug 11905 is resolved
-    #  FILES_${KERNEL_PACKAGE_NAME}-dev doesn't expand correctly
+    #  FILES:${KERNEL_PACKAGE_NAME}-dev doesn't expand correctly
     if kpn == pn:
         bb.warn("Some packages (E.g. *-dev) might be missing due to "
                 "bug 11905 (variable KERNEL_PACKAGE_NAME == PN)")
@@ -96,11 +96,11 @@ python __anonymous () {
             continue
         typelower = type.lower()
         d.appendVar('PACKAGES', ' %s-image-%s' % (kname, typelower))
-        d.setVar('FILES_' + kname + '-image-' + typelower, '/' + imagedest + '/' + type + '-${KERNEL_VERSION_NAME}' + ' /' + imagedest + '/' + type)
-        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
+        d.setVar('FILES:' + kname + '-image-' + typelower, '/' + imagedest + '/' + type + '-${KERNEL_VERSION_NAME}' + ' /' + imagedest + '/' + type)
+        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
@@ -112,7 +112,7 @@ else
 fi
 set -e
 """ % (type, type, type, type, type, type, type))
-        d.setVar('pkg_postrm_%s-image-%s' % (kname,typelower), """set +e
+        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
@@ -303,7 +303,7 @@ do_bundle_initramfs () {
 }
 do_bundle_initramfs[dirs] = "${B}"
 
-python do_devshell_prepend () {
+python do_devshell:prepend () {
     os.environ["LDFLAGS"] = ''
 }
 
@@ -591,7 +591,7 @@ kernel_do_configure() {
 	fi
 
 	# Copy defconfig to .config if .config does not exist. This allows
-	# recipes to manage the .config themselves in do_configure_prepend().
+	# recipes to manage the .config themselves in do_configure:prepend().
 	if [ -f "${WORKDIR}/defconfig" ] && [ ! -f "${B}/.config" ]; then
 		cp "${WORKDIR}/defconfig" "${B}/.config"
 	fi
@@ -608,34 +608,34 @@ addtask savedefconfig after do_configure
 
 inherit cml1
 
-KCONFIG_CONFIG_COMMAND_append = " LD='${KERNEL_LD}' HOSTLDFLAGS='${BUILD_LDFLAGS}'"
+KCONFIG_CONFIG_COMMAND:append = " LD='${KERNEL_LD}' HOSTLDFLAGS='${BUILD_LDFLAGS}'"
 
 EXPORT_FUNCTIONS do_compile do_install do_configure
 
 # kernel-base becomes kernel-${KERNEL_VERSION}
 # kernel-image becomes kernel-image-${KERNEL_VERSION}
 PACKAGES = "${KERNEL_PACKAGE_NAME} ${KERNEL_PACKAGE_NAME}-base ${KERNEL_PACKAGE_NAME}-vmlinux ${KERNEL_PACKAGE_NAME}-image ${KERNEL_PACKAGE_NAME}-dev ${KERNEL_PACKAGE_NAME}-modules"
-FILES_${PN} = ""
-FILES_${KERNEL_PACKAGE_NAME}-base = "${nonarch_base_libdir}/modules/${KERNEL_VERSION}/modules.order ${nonarch_base_libdir}/modules/${KERNEL_VERSION}/modules.builtin ${nonarch_base_libdir}/modules/${KERNEL_VERSION}/modules.builtin.modinfo"
-FILES_${KERNEL_PACKAGE_NAME}-image = ""
-FILES_${KERNEL_PACKAGE_NAME}-dev = "/boot/System.map* /boot/Module.symvers* /boot/config* ${KERNEL_SRC_PATH} ${nonarch_base_libdir}/modules/${KERNEL_VERSION}/build"
-FILES_${KERNEL_PACKAGE_NAME}-vmlinux = "/boot/vmlinux-${KERNEL_VERSION_NAME}"
-FILES_${KERNEL_PACKAGE_NAME}-modules = ""
-RDEPENDS_${KERNEL_PACKAGE_NAME} = "${KERNEL_PACKAGE_NAME}-base"
+FILES:${PN} = ""
+FILES:${KERNEL_PACKAGE_NAME}-base = "${nonarch_base_libdir}/modules/${KERNEL_VERSION}/modules.order ${nonarch_base_libdir}/modules/${KERNEL_VERSION}/modules.builtin ${nonarch_base_libdir}/modules/${KERNEL_VERSION}/modules.builtin.modinfo"
+FILES:${KERNEL_PACKAGE_NAME}-image = ""
+FILES:${KERNEL_PACKAGE_NAME}-dev = "/boot/System.map* /boot/Module.symvers* /boot/config* ${KERNEL_SRC_PATH} ${nonarch_base_libdir}/modules/${KERNEL_VERSION}/build"
+FILES:${KERNEL_PACKAGE_NAME}-vmlinux = "/boot/vmlinux-${KERNEL_VERSION_NAME}"
+FILES:${KERNEL_PACKAGE_NAME}-modules = ""
+RDEPENDS:${KERNEL_PACKAGE_NAME} = "${KERNEL_PACKAGE_NAME}-base"
 # Allow machines to override this dependency if kernel image files are
 # not wanted in images as standard
-RDEPENDS_${KERNEL_PACKAGE_NAME}-base ?= "${KERNEL_PACKAGE_NAME}-image"
-PKG_${KERNEL_PACKAGE_NAME}-image = "${KERNEL_PACKAGE_NAME}-image-${@legitimize_package_name(d.getVar('KERNEL_VERSION'))}"
-RDEPENDS_${KERNEL_PACKAGE_NAME}-image += "${@oe.utils.conditional('KERNEL_IMAGETYPE', 'vmlinux', '${KERNEL_PACKAGE_NAME}-vmlinux', '', d)}"
-PKG_${KERNEL_PACKAGE_NAME}-base = "${KERNEL_PACKAGE_NAME}-${@legitimize_package_name(d.getVar('KERNEL_VERSION'))}"
-RPROVIDES_${KERNEL_PACKAGE_NAME}-base += "${KERNEL_PACKAGE_NAME}-${KERNEL_VERSION}"
-ALLOW_EMPTY_${KERNEL_PACKAGE_NAME} = "1"
-ALLOW_EMPTY_${KERNEL_PACKAGE_NAME}-base = "1"
-ALLOW_EMPTY_${KERNEL_PACKAGE_NAME}-image = "1"
-ALLOW_EMPTY_${KERNEL_PACKAGE_NAME}-modules = "1"
-DESCRIPTION_${KERNEL_PACKAGE_NAME}-modules = "Kernel modules meta package"
-
-pkg_postinst_${KERNEL_PACKAGE_NAME}-base () {
+RDEPENDS:${KERNEL_PACKAGE_NAME}-base ?= "${KERNEL_PACKAGE_NAME}-image"
+PKG:${KERNEL_PACKAGE_NAME}-image = "${KERNEL_PACKAGE_NAME}-image-${@legitimize_package_name(d.getVar('KERNEL_VERSION'))}"
+RDEPENDS:${KERNEL_PACKAGE_NAME}-image += "${@oe.utils.conditional('KERNEL_IMAGETYPE', 'vmlinux', '${KERNEL_PACKAGE_NAME}-vmlinux', '', d)}"
+PKG:${KERNEL_PACKAGE_NAME}-base = "${KERNEL_PACKAGE_NAME}-${@legitimize_package_name(d.getVar('KERNEL_VERSION'))}"
+RPROVIDES:${KERNEL_PACKAGE_NAME}-base += "${KERNEL_PACKAGE_NAME}-${KERNEL_VERSION}"
+ALLOW_EMPTY:${KERNEL_PACKAGE_NAME} = "1"
+ALLOW_EMPTY:${KERNEL_PACKAGE_NAME}-base = "1"
+ALLOW_EMPTY:${KERNEL_PACKAGE_NAME}-image = "1"
+ALLOW_EMPTY:${KERNEL_PACKAGE_NAME}-modules = "1"
+DESCRIPTION:${KERNEL_PACKAGE_NAME}-modules = "Kernel modules meta package"
+
+pkg_postinst:${KERNEL_PACKAGE_NAME}-base () {
 	if [ ! -e "$D/lib/modules/${KERNEL_VERSION}" ]; then
 		mkdir -p $D/lib/modules/${KERNEL_VERSION}
 	fi
@@ -646,7 +646,7 @@ pkg_postinst_${KERNEL_PACKAGE_NAME}-base () {
 	fi
 }
 
-PACKAGESPLITFUNCS_prepend = "split_kernel_packages "
+PACKAGESPLITFUNCS:prepend = "split_kernel_packages "
 
 python split_kernel_packages () {
     do_split_packages(d, root='${nonarch_base_libdir}/firmware', file_regex=r'^(.*)\.(bin|fw|cis|csp|dsp)$', output_pattern='${KERNEL_PACKAGE_NAME}-firmware-%s', description='Firmware for %s', recursive=True, extra_depends='')
diff --git a/meta/classes/libc-package.bbclass b/meta/classes/libc-package.bbclass
index de3b4250c71..7a661d44bdb 100644
--- a/meta/classes/libc-package.bbclass
+++ b/meta/classes/libc-package.bbclass
@@ -42,7 +42,7 @@ python __anonymous () {
 # try to fix disable charsets/locales/locale-code compile fail
 PACKAGE_NO_GCONV ?= "0"
 
-OVERRIDES_append = ":${TARGET_ARCH}-${TARGET_OS}"
+OVERRIDES:append = ":${TARGET_ARCH}-${TARGET_OS}"
 
 locale_base_postinst_ontarget() {
 localedef --inputfile=${datadir}/i18n/locales/%s --charmap=%s %s
@@ -129,9 +129,9 @@ python package_do_split_gconvs () {
                     deps.append(dp)
         f.close()
         if deps != []:
-            d.setVar('RDEPENDS_%s' % pkg, " ".join(deps))
+            d.setVar('RDEPENDS:%s' % pkg, " ".join(deps))
         if bpn != 'glibc':
-            d.setVar('RPROVIDES_%s' % pkg, pkg.replace(bpn, 'glibc'))
+            d.setVar('RPROVIDES:%s' % pkg, pkg.replace(bpn, 'glibc'))
 
     do_split_packages(d, gconv_libdir, file_regex=r'^(.*)\.so$', output_pattern=bpn+'-gconv-%s', \
         description='gconv module for character set %s', hook=calc_gconv_deps, \
@@ -151,9 +151,9 @@ python package_do_split_gconvs () {
                     deps.append(dp)
         f.close()
         if deps != []:
-            d.setVar('RDEPENDS_%s' % pkg, " ".join(deps))
+            d.setVar('RDEPENDS:%s' % pkg, " ".join(deps))
         if bpn != 'glibc':
-            d.setVar('RPROVIDES_%s' % pkg, pkg.replace(bpn, 'glibc'))
+            d.setVar('RPROVIDES:%s' % pkg, pkg.replace(bpn, 'glibc'))
 
     do_split_packages(d, charmap_dir, file_regex=r'^(.*)\.gz$', output_pattern=bpn+'-charmap-%s', \
         description='character map for %s encoding', hook=calc_charmap_deps, extra_depends='')
@@ -172,9 +172,9 @@ python package_do_split_gconvs () {
                     deps.append(dp)
         f.close()
         if deps != []:
-            d.setVar('RDEPENDS_%s' % pkg, " ".join(deps))
+            d.setVar('RDEPENDS:%s' % pkg, " ".join(deps))
         if bpn != 'glibc':
-            d.setVar('RPROVIDES_%s' % pkg, pkg.replace(bpn, 'glibc'))
+            d.setVar('RPROVIDES:%s' % pkg, pkg.replace(bpn, 'glibc'))
 
     do_split_packages(d, locales_dir, file_regex=r'(.*)', output_pattern=bpn+'-localedata-%s', \
         description='locale definition for %s', hook=calc_locale_deps, extra_depends='')
@@ -210,11 +210,11 @@ python package_do_split_gconvs () {
                 supported[locale] = charset
 
     def output_locale_source(name, pkgname, locale, encoding):
-        d.setVar('RDEPENDS_%s' % pkgname, '%slocaledef %s-localedata-%s %s-charmap-%s' % \
+        d.setVar('RDEPENDS:%s' % pkgname, '%slocaledef %s-localedata-%s %s-charmap-%s' % \
         (mlprefix, mlprefix+bpn, legitimize_package_name(locale), mlprefix+bpn, legitimize_package_name(encoding)))
-        d.setVar('pkg_postinst_ontarget_%s' % pkgname, d.getVar('locale_base_postinst_ontarget') \
+        d.setVar('pkg_postinst_ontarget:%s' % pkgname, d.getVar('locale_base_postinst_ontarget') \
         % (locale, encoding, locale))
-        d.setVar('pkg_postrm_%s' % pkgname, d.getVar('locale_base_postrm') % \
+        d.setVar('pkg_postrm:%s' % pkgname, d.getVar('locale_base_postrm') % \
         (locale, encoding, locale))
 
     def output_locale_binary_rdepends(name, pkgname, locale, encoding):
@@ -222,8 +222,8 @@ python package_do_split_gconvs () {
         lcsplit = d.getVar('GLIBC_SPLIT_LC_PACKAGES')
         if lcsplit and int(lcsplit):
             d.appendVar('PACKAGES', ' ' + dep)
-            d.setVar('ALLOW_EMPTY_%s' % dep, '1')
-        d.setVar('RDEPENDS_%s' % pkgname, mlprefix + dep)
+            d.setVar('ALLOW_EMPTY:%s' % dep, '1')
+        d.setVar('RDEPENDS:%s' % pkgname, mlprefix + dep)
 
     commands = {}
 
@@ -293,13 +293,13 @@ python package_do_split_gconvs () {
 
     def output_locale(name, locale, encoding):
         pkgname = d.getVar('MLPREFIX', False) + 'locale-base-' + legitimize_package_name(name)
-        d.setVar('ALLOW_EMPTY_%s' % pkgname, '1')
+        d.setVar('ALLOW_EMPTY:%s' % pkgname, '1')
         d.setVar('PACKAGES', '%s %s' % (pkgname, d.getVar('PACKAGES')))
         rprovides = ' %svirtual-locale-%s' % (mlprefix, legitimize_package_name(name))
         m = re.match(r"(.*)_(.*)", name)
         if m:
             rprovides += ' %svirtual-locale-%s' % (mlprefix, m.group(1))
-        d.setVar('RPROVIDES_%s' % pkgname, rprovides)
+        d.setVar('RPROVIDES:%s' % pkgname, rprovides)
 
         if use_bin == "compile":
             output_locale_binary_rdepends(name, pkgname, locale, encoding)
@@ -343,7 +343,7 @@ python package_do_split_gconvs () {
     def metapkg_hook(file, pkg, pattern, format, basename):
         name = basename.split('/', 1)[0]
         metapkg = legitimize_package_name('%s-binary-localedata-%s' % (mlprefix+bpn, name))
-        d.appendVar('RDEPENDS_%s' % metapkg, ' ' + pkg)
+        d.appendVar('RDEPENDS:%s' % metapkg, ' ' + pkg)
 
     if use_bin == "compile":
         makefile = oe.path.join(d.getVar("WORKDIR"), "locale-tree", "Makefile")
@@ -379,6 +379,6 @@ python package_do_split_gconvs () {
 
 # We want to do this indirection so that we can safely 'return'
 # from the called function even though we're prepending
-python populate_packages_prepend () {
+python populate_packages:prepend () {
     bb.build.exec_func('package_do_split_gconvs', d)
 }
diff --git a/meta/classes/license.bbclass b/meta/classes/license.bbclass
index c87473cbb85..fecbc494970 100644
--- a/meta/classes/license.bbclass
+++ b/meta/classes/license.bbclass
@@ -6,7 +6,7 @@
 LICENSE_DIRECTORY ??= "${DEPLOY_DIR}/licenses"
 LICSSTATEDIR = "${WORKDIR}/license-destdir/"
 
-# Create extra package with license texts and add it to RRECOMMENDS_${PN}
+# Create extra package with license texts and add it to RRECOMMENDS:${PN}
 LICENSE_CREATE_PACKAGE[type] = "boolean"
 LICENSE_CREATE_PACKAGE ??= "0"
 LICENSE_PACKAGE_SUFFIX ??= "-lic"
@@ -32,8 +32,8 @@ python do_populate_lic() {
 }
 
 PSEUDO_IGNORE_PATHS .= ",${@','.join(((d.getVar('COMMON_LICENSE_DIR') or '') + ' ' + (d.getVar('LICENSE_PATH') or '')).split())}"
-# it would be better to copy them in do_install_append, but find_license_filesa is python
-python perform_packagecopy_prepend () {
+# it would be better to copy them in do_install:append, but find_license_filesa is python
+python perform_packagecopy:prepend () {
     enabled = oe.data.typed_value('LICENSE_CREATE_PACKAGE', d)
     if d.getVar('CLASSOVERRIDE') == 'class-target' and enabled:
         lic_files_paths = find_license_files(d)
@@ -62,7 +62,7 @@ def add_package_and_files(d):
     else:
         # first in PACKAGES to be sure that nothing else gets LICENSE_FILES_DIRECTORY
         d.setVar('PACKAGES', "%s %s" % (pn_lic, packages))
-        d.setVar('FILES_' + pn_lic, files)
+        d.setVar('FILES:' + pn_lic, files)
 
 def copy_license_files(lic_files_paths, destdir):
     import shutil
@@ -324,7 +324,7 @@ def incompatible_license(d, dont_want_licenses, package=None):
     as canonical (SPDX) names.
     """
     import oe.license
-    license = d.getVar("LICENSE_%s" % package) if package else None
+    license = d.getVar("LICENSE:%s" % package) if package else None
     if not license:
         license = d.getVar('LICENSE')
 
@@ -419,7 +419,7 @@ SSTATETASKS += "do_populate_lic"
 do_populate_lic[sstate-inputdirs] = "${LICSSTATEDIR}"
 do_populate_lic[sstate-outputdirs] = "${LICENSE_DIRECTORY}/"
 
-IMAGE_CLASSES_append = " license_image"
+IMAGE_CLASSES:append = " license_image"
 
 python do_populate_lic_setscene () {
     sstate_setscene(d)
diff --git a/meta/classes/license_image.bbclass b/meta/classes/license_image.bbclass
index 5dbec288a43..5cec7a07fa2 100644
--- a/meta/classes/license_image.bbclass
+++ b/meta/classes/license_image.bbclass
@@ -39,7 +39,7 @@ python license_create_manifest() {
 
         pkg_dic[pkg_name] = oe.packagedata.read_pkgdatafile(pkg_info)
         if not "LICENSE" in pkg_dic[pkg_name].keys():
-            pkg_lic_name = "LICENSE_" + pkg_name
+            pkg_lic_name = "LICENSE:" + pkg_name
             pkg_dic[pkg_name]["LICENSE"] = pkg_dic[pkg_name][pkg_lic_name]
 
     rootfs_license_manifest = os.path.join(d.getVar('LICENSE_DIRECTORY'),
@@ -269,7 +269,7 @@ def get_deployed_files(man_file):
             dep_files.append(os.path.basename(f))
     return dep_files
 
-ROOTFS_POSTPROCESS_COMMAND_prepend = "write_package_manifest; license_create_manifest; "
+ROOTFS_POSTPROCESS_COMMAND:prepend = "write_package_manifest; license_create_manifest; "
 do_rootfs[recrdeptask] += "do_populate_lic"
 
 python do_populate_lic_deploy() {
diff --git a/meta/classes/linux-dummy.bbclass b/meta/classes/linux-dummy.bbclass
index cd8791557de..9a06a509dd7 100644
--- a/meta/classes/linux-dummy.bbclass
+++ b/meta/classes/linux-dummy.bbclass
@@ -6,7 +6,7 @@ python __anonymous () {
 
         # set an empty package of kernel-devicetree
         d.appendVar('PACKAGES', ' %s-devicetree' % kname)
-        d.setVar('ALLOW_EMPTY_%s-devicetree' % kname, '1')
+        d.setVar('ALLOW_EMPTY:%s-devicetree' % kname, '1')
 
         # Merge KERNEL_IMAGETYPE and KERNEL_ALT_IMAGETYPE into KERNEL_IMAGETYPES
         type = d.getVar('KERNEL_IMAGETYPE') or ""
@@ -21,6 +21,6 @@ python __anonymous () {
         for type in types.split():
             typelower = type.lower()
             d.appendVar('PACKAGES', ' %s-image-%s' % (kname, typelower))
-            d.setVar('ALLOW_EMPTY_%s-image-%s' % (kname, typelower), '1')
+            d.setVar('ALLOW_EMPTY:%s-image-%s' % (kname, typelower), '1')
 }
 
diff --git a/meta/classes/manpages.bbclass b/meta/classes/manpages.bbclass
index 1e66780646e..3a966594600 100644
--- a/meta/classes/manpages.bbclass
+++ b/meta/classes/manpages.bbclass
@@ -2,7 +2,7 @@
 # depending on whether 'api-documentation' is in DISTRO_FEATURES. Such building
 # tends to pull in the entire XML stack and other tools, so it's not enabled
 # by default.
-PACKAGECONFIG_append_class-target = " ${@bb.utils.contains('DISTRO_FEATURES', 'api-documentation', 'manpages', '', d)}"
+PACKAGECONFIG:append:class-target = " ${@bb.utils.contains('DISTRO_FEATURES', 'api-documentation', 'manpages', '', d)}"
 
 inherit qemu
 
@@ -10,9 +10,9 @@ inherit qemu
 MAN_PKG ?= "${PN}-doc"
 
 # only add man-db to RDEPENDS when manual files are built and installed
-RDEPENDS_${MAN_PKG} += "${@bb.utils.contains('PACKAGECONFIG', 'manpages', 'man-db', '', d)}"
+RDEPENDS:${MAN_PKG} += "${@bb.utils.contains('PACKAGECONFIG', 'manpages', 'man-db', '', d)}"
 
-pkg_postinst_append_${MAN_PKG} () {
+pkg_postinst:append_${MAN_PKG} () {
 	# only update manual page index caches when manual files are built and installed
 	if ${@bb.utils.contains('PACKAGECONFIG', 'manpages', 'true', 'false', d)}; then
 		if test -n "$D"; then
@@ -36,7 +36,7 @@ pkg_postinst_append_${MAN_PKG} () {
 	fi
 }
 
-pkg_postrm_append_${MAN_PKG} () {
+pkg_postrm:append_${MAN_PKG} () {
 	# only update manual page index caches when manual files are built and installed
 	if ${@bb.utils.contains('PACKAGECONFIG', 'manpages', 'true', 'false', d)}; then
 		mandb -q
diff --git a/meta/classes/meson.bbclass b/meta/classes/meson.bbclass
index 8ae0285f72b..2beed89d113 100644
--- a/meta/classes/meson.bbclass
+++ b/meta/classes/meson.bbclass
@@ -1,6 +1,6 @@
 inherit python3native meson-routines
 
-DEPENDS_append = " meson-native ninja-native"
+DEPENDS:append = " meson-native ninja-native"
 
 # As Meson enforces out-of-tree builds we can just use cleandirs
 B = "${WORKDIR}/build"
@@ -29,11 +29,11 @@ MESONOPTS = " --prefix ${prefix} \
               --wrap-mode nodownload \
               --native-file ${WORKDIR}/meson.native"
 
-EXTRA_OEMESON_append = " ${PACKAGECONFIG_CONFARGS}"
+EXTRA_OEMESON:append = " ${PACKAGECONFIG_CONFARGS}"
 
 MESON_CROSS_FILE = ""
-MESON_CROSS_FILE_class-target = "--cross-file ${WORKDIR}/meson.cross"
-MESON_CROSS_FILE_class-nativesdk = "--cross-file ${WORKDIR}/meson.cross"
+MESON_CROSS_FILE:class-target = "--cross-file ${WORKDIR}/meson.cross"
+MESON_CROSS_FILE:class-nativesdk = "--cross-file ${WORKDIR}/meson.cross"
 
 addtask write_config before do_configure
 do_write_config[vardeps] += "CC CXX LD AR NM STRIP READELF CFLAGS CXXFLAGS LDFLAGS"
diff --git a/meta/classes/mime-xdg.bbclass b/meta/classes/mime-xdg.bbclass
index 642a5b7595e..271f48dd729 100644
--- a/meta/classes/mime-xdg.bbclass
+++ b/meta/classes/mime-xdg.bbclass
@@ -34,7 +34,7 @@ else
 fi
 }
 
-python populate_packages_append () {
+python populate_packages:append () {
     packages = d.getVar('PACKAGES').split()
     pkgdest =  d.getVar('PKGDEST')
     desktop_base = d.getVar('DESKTOPDIR')
@@ -59,16 +59,16 @@ python populate_packages_append () {
                         break
         if desktops_with_mime_found:
             bb.note("adding mime-xdg postinst and postrm scripts to %s" % pkg)
-            postinst = d.getVar('pkg_postinst_%s' % pkg)
+            postinst = d.getVar('pkg_postinst:%s' % pkg)
             if not postinst:
                 postinst = '#!/bin/sh\n'
             postinst += d.getVar('mime_xdg_postinst')
-            d.setVar('pkg_postinst_%s' % pkg, postinst)
-            postrm = d.getVar('pkg_postrm_%s' % pkg)
+            d.setVar('pkg_postinst:%s' % pkg, postinst)
+            postrm = d.getVar('pkg_postrm:%s' % pkg)
             if not postrm:
                 postrm = '#!/bin/sh\n'
             postrm += d.getVar('mime_xdg_postrm')
-            d.setVar('pkg_postrm_%s' % pkg, postrm)
+            d.setVar('pkg_postrm:%s' % pkg, postrm)
             bb.note("adding desktop-file-utils dependency to %s" % pkg)
-            d.appendVar('RDEPENDS_' + pkg, " " + d.getVar('MLPREFIX')+"desktop-file-utils")
+            d.appendVar('RDEPENDS:' + pkg, " " + d.getVar('MLPREFIX')+"desktop-file-utils")
 }
diff --git a/meta/classes/mime.bbclass b/meta/classes/mime.bbclass
index bb99bc35cb6..8d176a884e7 100644
--- a/meta/classes/mime.bbclass
+++ b/meta/classes/mime.bbclass
@@ -39,7 +39,7 @@ fi
 fi
 }
 
-python populate_packages_append () {
+python populate_packages:append () {
     packages = d.getVar('PACKAGES').split()
     pkgdest =  d.getVar('PKGDEST')
     mimedir = d.getVar('MIMEDIR')
@@ -54,17 +54,17 @@ python populate_packages_append () {
                     break
         if mimes_types_found:
             bb.note("adding mime postinst and postrm scripts to %s" % pkg)
-            postinst = d.getVar('pkg_postinst_%s' % pkg)
+            postinst = d.getVar('pkg_postinst:%s' % pkg)
             if not postinst:
                 postinst = '#!/bin/sh\n'
             postinst += d.getVar('mime_postinst')
-            d.setVar('pkg_postinst_%s' % pkg, postinst)
-            postrm = d.getVar('pkg_postrm_%s' % pkg)
+            d.setVar('pkg_postinst:%s' % pkg, postinst)
+            postrm = d.getVar('pkg_postrm:%s' % pkg)
             if not postrm:
                 postrm = '#!/bin/sh\n'
             postrm += d.getVar('mime_postrm')
-            d.setVar('pkg_postrm_%s' % pkg, postrm)
+            d.setVar('pkg_postrm:%s' % pkg, postrm)
             if pkg != 'shared-mime-info-data':
                 bb.note("adding shared-mime-info-data dependency to %s" % pkg)
-                d.appendVar('RDEPENDS_' + pkg, " " + d.getVar('MLPREFIX')+"shared-mime-info-data")
+                d.appendVar('RDEPENDS:' + pkg, " " + d.getVar('MLPREFIX')+"shared-mime-info-data")
 }
diff --git a/meta/classes/module.bbclass b/meta/classes/module.bbclass
index c0dfa350613..a09ec3ed1e1 100644
--- a/meta/classes/module.bbclass
+++ b/meta/classes/module.bbclass
@@ -14,7 +14,7 @@ python __anonymous () {
     d.setVar('KBUILD_EXTRA_SYMBOLS', " ".join(extra_symbols))
 }
 
-python do_devshell_prepend () {
+python do_devshell:prepend () {
     os.environ['CFLAGS'] = ''
     os.environ['CPPFLAGS'] = ''
     os.environ['CXXFLAGS'] = ''
@@ -70,5 +70,5 @@ EXPORT_FUNCTIONS do_compile do_install
 
 # add all splitted modules to PN RDEPENDS, PN can be empty now
 KERNEL_MODULES_META_PACKAGE = "${PN}"
-FILES_${PN} = ""
-ALLOW_EMPTY_${PN} = "1"
+FILES:${PN} = ""
+ALLOW_EMPTY:${PN} = "1"
diff --git a/meta/classes/multilib.bbclass b/meta/classes/multilib.bbclass
index 2ef75c0d165..c3be89767a4 100644
--- a/meta/classes/multilib.bbclass
+++ b/meta/classes/multilib.bbclass
@@ -176,7 +176,7 @@ def reset_alternative_priority(d):
                 bb.debug(1, '%s: Setting ALTERNATIVE_PRIORITY_%s to %s' % (pkg, pkg, reset_priority))
                 d.setVar('ALTERNATIVE_PRIORITY_%s' % pkg, reset_priority)
 
-        for alt_name in (d.getVar('ALTERNATIVE_%s' % pkg) or "").split():
+        for alt_name in (d.getVar('ALTERNATIVE:%s' % pkg) or "").split():
             # ALTERNATIVE_PRIORITY_pkg[tool]  = priority
             alt_priority_pkg_name = d.getVarFlag('ALTERNATIVE_PRIORITY_%s' % pkg, alt_name)
             # ALTERNATIVE_PRIORITY[tool] = priority
@@ -191,7 +191,7 @@ def reset_alternative_priority(d):
                 bb.debug(1, '%s: Setting ALTERNATIVE_PRIORITY[%s] to %s' % (pkg, alt_name, reset_priority))
                 d.setVarFlag('ALTERNATIVE_PRIORITY', alt_name, reset_priority)
 
-PACKAGEFUNCS_append = " do_package_qa_multilib"
+PACKAGEFUNCS:append = " do_package_qa_multilib"
 
 python do_package_qa_multilib() {
 
diff --git a/meta/classes/multilib_global.bbclass b/meta/classes/multilib_global.bbclass
index 96257de5ca0..dae015cdaf7 100644
--- a/meta/classes/multilib_global.bbclass
+++ b/meta/classes/multilib_global.bbclass
@@ -164,8 +164,8 @@ def preferred_ml_updates(d):
 python multilib_virtclass_handler_vendor () {
     if isinstance(e, bb.event.ConfigParsed):
         for v in e.data.getVar("MULTILIB_VARIANTS").split():
-            if e.data.getVar("TARGET_VENDOR_virtclass-multilib-" + v, False) is None:
-                e.data.setVar("TARGET_VENDOR_virtclass-multilib-" + v, e.data.getVar("TARGET_VENDOR", False) + "ml" + v)
+            if e.data.getVar("TARGET_VENDOR:virtclass-multilib-" + v, False) is None:
+                e.data.setVar("TARGET_VENDOR:virtclass-multilib-" + v, e.data.getVar("TARGET_VENDOR", False) + "ml" + v)
         preferred_ml_updates(e.data)
 }
 addhandler multilib_virtclass_handler_vendor
@@ -207,13 +207,13 @@ python multilib_virtclass_handler_global () {
             if rprovs.strip():
                 e.data.setVar("RPROVIDES", rprovs)
 
-            # Process RPROVIDES_${PN}...
+            # Process RPROVIDES:${PN}...
             for pkg in (e.data.getVar("PACKAGES") or "").split():
-                origrprovs = rprovs = localdata.getVar("RPROVIDES_%s" % pkg) or ""
+                origrprovs = rprovs = localdata.getVar("RPROVIDES:%s" % pkg) or ""
                 for clsextend in clsextends:
-                    rprovs = rprovs + " " + clsextend.map_variable("RPROVIDES_%s" % pkg, setvar=False)
+                    rprovs = rprovs + " " + clsextend.map_variable("RPROVIDES:%s" % pkg, setvar=False)
                     rprovs = rprovs + " " + clsextend.extname + "-" + pkg
-                e.data.setVar("RPROVIDES_%s" % pkg, rprovs)
+                e.data.setVar("RPROVIDES:%s" % pkg, rprovs)
 }
 
 addhandler multilib_virtclass_handler_global
diff --git a/meta/classes/multilib_header.bbclass b/meta/classes/multilib_header.bbclass
index e03f5b13b2f..efbc24f59b0 100644
--- a/meta/classes/multilib_header.bbclass
+++ b/meta/classes/multilib_header.bbclass
@@ -42,11 +42,11 @@ oe_multilib_header() {
 
 # Dependencies on arch variables like MIPSPKGSFX_ABI can be problematic.
 # We don't need multilib headers for native builds so brute force things.
-oe_multilib_header_class-native () {
+oe_multilib_header:class-native () {
 	return
 }
 
 # Nor do we need multilib headers for nativesdk builds.
-oe_multilib_header_class-nativesdk () {
+oe_multilib_header:class-nativesdk () {
 	return
 }
diff --git a/meta/classes/multilib_script.bbclass b/meta/classes/multilib_script.bbclass
index b11efc1ec5c..41597341cd1 100644
--- a/meta/classes/multilib_script.bbclass
+++ b/meta/classes/multilib_script.bbclass
@@ -26,9 +26,9 @@ python () {
         pkg, script = entry.split(":")
         epkg = d.expand(pkg)
         scriptname = os.path.basename(script)
-        d.appendVar("ALTERNATIVE_" + epkg, " " + scriptname + " ")
+        d.appendVar("ALTERNATIVE:" + epkg, " " + scriptname + " ")
         d.setVarFlag("ALTERNATIVE_LINK_NAME", scriptname, script)
         d.setVarFlag("ALTERNATIVE_TARGET", scriptname, script + "-${MULTILIB_SUFFIX}")
         d.appendVar("multilibscript_rename",  "\n	mv ${PKGD}" + script + " ${PKGD}" + script + "-${MULTILIB_SUFFIX}")
-        d.appendVar("FILES_" + epkg, " " + script + "-${MULTILIB_SUFFIX}")
+        d.appendVar("FILES:" + epkg, " " + script + "-${MULTILIB_SUFFIX}")
 }
diff --git a/meta/classes/native.bbclass b/meta/classes/native.bbclass
index 561cc23f683..61becfb6d5e 100644
--- a/meta/classes/native.bbclass
+++ b/meta/classes/native.bbclass
@@ -9,7 +9,7 @@ PACKAGE_ARCH = "${BUILD_ARCH}"
 
 # used by cmake class
 OECMAKE_RPATH = "${libdir}"
-OECMAKE_RPATH_class-native = "${libdir}"
+OECMAKE_RPATH:class-native = "${libdir}"
 
 TARGET_ARCH = "${BUILD_ARCH}"
 TARGET_OS = "${BUILD_OS}"
@@ -106,7 +106,7 @@ CLASSOVERRIDE = "class-native"
 MACHINEOVERRIDES = ""
 MACHINE_FEATURES = ""
 
-PATH_prepend = "${COREBASE}/scripts/native-intercept:"
+PATH:prepend = "${COREBASE}/scripts/native-intercept:"
 
 # This class encodes staging paths into its scripts data so can only be
 # reused if we manipulate the paths.
diff --git a/meta/classes/nativesdk.bbclass b/meta/classes/nativesdk.bbclass
index 7f2692c51a3..c66de8c787a 100644
--- a/meta/classes/nativesdk.bbclass
+++ b/meta/classes/nativesdk.bbclass
@@ -28,7 +28,7 @@ PACKAGE_ARCHS = "${SDK_PACKAGE_ARCHS}"
 # We need chrpath >= 0.14 to ensure we can deal with 32 and 64 bit
 # binaries
 #
-DEPENDS_append = " chrpath-replacement-native"
+DEPENDS:append = " chrpath-replacement-native"
 EXTRANATIVEPATH += "chrpath-native"
 
 PKGDATA_DIR = "${TMPDIR}/pkgdata/${SDK_SYS}"
diff --git a/meta/classes/npm.bbclass b/meta/classes/npm.bbclass
index 8f8712a0242..91a23211161 100644
--- a/meta/classes/npm.bbclass
+++ b/meta/classes/npm.bbclass
@@ -19,8 +19,8 @@
 
 inherit python3native
 
-DEPENDS_prepend = "nodejs-native "
-RDEPENDS_${PN}_append_class-target = " nodejs"
+DEPENDS:prepend = "nodejs-native "
+RDEPENDS:${PN}:append:class-target = " nodejs"
 
 NPM_INSTALL_DEV ?= "0"
 
@@ -312,7 +312,7 @@ npm_do_install() {
     ln -fs node_modules ${D}/${nonarch_libdir}/node
 }
 
-FILES_${PN} += " \
+FILES:${PN} += " \
     ${bindir} \
     ${nonarch_libdir} \
 "
diff --git a/meta/classes/overlayfs.bbclass b/meta/classes/overlayfs.bbclass
index 40e6107f0db..c0dd098ee19 100644
--- a/meta/classes/overlayfs.bbclass
+++ b/meta/classes/overlayfs.bbclass
@@ -117,13 +117,13 @@ WantedBy=multi-user.target
 python () {
     unitList = unitFileList(d)
     for unit in unitList:
-        d.appendVar('SYSTEMD_SERVICE_' + d.getVar('PN'), ' ' + unit);
-        d.appendVar('FILES_' + d.getVar('PN'), ' ' + strForBash(unit))
+        d.appendVar('SYSTEMD_SERVICE:' + d.getVar('PN'), ' ' + unit);
+        d.appendVar('FILES:' + d.getVar('PN'), ' ' + strForBash(unit))
 
     d.setVar('OVERLAYFS_UNIT_LIST', ' '.join([strForBash(s) for s in unitList]))
 }
 
-do_install_append() {
+do_install:append() {
     install -d ${D}${systemd_system_unitdir}
     for unit in ${OVERLAYFS_UNIT_LIST}; do
         install -m 0444 ${WORKDIR}/${unit} ${D}${systemd_system_unitdir}
diff --git a/meta/classes/own-mirrors.bbclass b/meta/classes/own-mirrors.bbclass
index d58a61fe0a0..e244de592da 100644
--- a/meta/classes/own-mirrors.bbclass
+++ b/meta/classes/own-mirrors.bbclass
@@ -1,4 +1,4 @@
-PREMIRRORS_prepend = " \
+PREMIRRORS:prepend = " \
 cvs://.*/.*     ${SOURCE_MIRROR_URL} \n \
 svn://.*/.*     ${SOURCE_MIRROR_URL} \n \
 git://.*/.*     ${SOURCE_MIRROR_URL} \n \
diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass
index cf30f33f3d1..18f931ee947 100644
--- a/meta/classes/package.bbclass
+++ b/meta/classes/package.bbclass
@@ -199,7 +199,7 @@ def do_split_packages(d, root, file_regex, output_pattern, description, postinst
                 packages = [pkg] + packages
             else:
                 packages.append(pkg)
-        oldfiles = d.getVar('FILES_' + pkg)
+        oldfiles = d.getVar('FILES:' + pkg)
         newfile = os.path.join(root, o)
         # These names will be passed through glob() so if the filename actually
         # contains * or ? (rare, but possible) we need to handle that specially
@@ -219,19 +219,19 @@ def do_split_packages(d, root, file_regex, output_pattern, description, postinst
                         the_files.append(fp % m.group(1))
                 else:
                     the_files.append(aux_files_pattern_verbatim % m.group(1))
-            d.setVar('FILES_' + pkg, " ".join(the_files))
+            d.setVar('FILES:' + pkg, " ".join(the_files))
         else:
-            d.setVar('FILES_' + pkg, oldfiles + " " + newfile)
+            d.setVar('FILES:' + pkg, oldfiles + " " + newfile)
         if extra_depends != '':
-            d.appendVar('RDEPENDS_' + pkg, ' ' + extra_depends)
-        if not d.getVar('DESCRIPTION_' + pkg):
-            d.setVar('DESCRIPTION_' + pkg, description % on)
-        if not d.getVar('SUMMARY_' + pkg):
-            d.setVar('SUMMARY_' + pkg, summary % on)
+            d.appendVar('RDEPENDS:' + pkg, ' ' + extra_depends)
+        if not d.getVar('DESCRIPTION:' + pkg):
+            d.setVar('DESCRIPTION:' + pkg, description % on)
+        if not d.getVar('SUMMARY:' + pkg):
+            d.setVar('SUMMARY:' + pkg, summary % on)
         if postinst:
-            d.setVar('pkg_postinst_' + pkg, postinst)
+            d.setVar('pkg_postinst:' + pkg, postinst)
         if postrm:
-            d.setVar('pkg_postrm_' + pkg, postrm)
+            d.setVar('pkg_postrm:' + pkg, postrm)
         if callable(hook):
             hook(f, pkg, file_regex, output_pattern, m.group(1))
 
@@ -303,7 +303,7 @@ def get_conffiles(pkg, d):
     cwd = os.getcwd()
     os.chdir(root)
 
-    conffiles = d.getVar('CONFFILES_%s' % pkg);
+    conffiles = d.getVar('CONFFILES:%s' % pkg);
     if conffiles == None:
         conffiles = d.getVar('CONFFILES')
     if conffiles == None:
@@ -618,7 +618,7 @@ def get_package_mapping (pkg, basepkg, d, depversions=None):
     import oe.packagedata
 
     data = oe.packagedata.read_subpkgdata(pkg, d)
-    key = "PKG_%s" % pkg
+    key = "PKG:%s" % pkg
 
     if key in data:
         # Have to avoid undoing the write_extra_pkgs(global_variants...)
@@ -627,7 +627,7 @@ def get_package_mapping (pkg, basepkg, d, depversions=None):
             return pkg
         if depversions == []:
             # Avoid returning a mapping if the renamed package rprovides its original name
-            rprovkey = "RPROVIDES_%s" % pkg
+            rprovkey = "RPROVIDES:%s" % pkg
             if rprovkey in data:
                 if pkg in bb.utils.explode_dep_versions2(data[rprovkey]):
                     bb.note("%s rprovides %s, not replacing the latter" % (data[key], pkg))
@@ -784,13 +784,13 @@ python package_do_split_locales() {
         ln = legitimize_package_name(l)
         pkg = pn + '-locale-' + ln
         packages.append(pkg)
-        d.setVar('FILES_' + pkg, os.path.join(datadir, 'locale', l))
-        d.setVar('RRECOMMENDS_' + pkg, '%svirtual-locale-%s' % (mlprefix, ln))
-        d.setVar('RPROVIDES_' + pkg, '%s-locale %s%s-translation' % (pn, mlprefix, ln))
-        d.setVar('SUMMARY_' + pkg, '%s - %s translations' % (summary, l))
-        d.setVar('DESCRIPTION_' + pkg, '%s  This package contains language translation files for the %s locale.' % (description, l))
+        d.setVar('FILES:' + pkg, os.path.join(datadir, 'locale', l))
+        d.setVar('RRECOMMENDS:' + pkg, '%svirtual-locale-%s' % (mlprefix, ln))
+        d.setVar('RPROVIDES:' + pkg, '%s-locale %s%s-translation' % (pn, mlprefix, ln))
+        d.setVar('SUMMARY:' + pkg, '%s - %s translations' % (summary, l))
+        d.setVar('DESCRIPTION:' + pkg, '%s  This package contains language translation files for the %s locale.' % (description, l))
         if locale_section:
-            d.setVar('SECTION_' + pkg, locale_section)
+            d.setVar('SECTION:' + pkg, locale_section)
 
     d.setVar('PACKAGES', ' '.join(packages))
 
@@ -800,9 +800,9 @@ python package_do_split_locales() {
     # glibc-localedata-translit* won't install as a dependency
     # for some other package which breaks meta-toolchain
     # Probably breaks since virtual-locale- isn't provided anywhere
-    #rdep = (d.getVar('RDEPENDS_%s' % pn) or "").split()
+    #rdep = (d.getVar('RDEPENDS:%s' % pn) or "").split()
     #rdep.append('%s-locale*' % pn)
-    #d.setVar('RDEPENDS_%s' % pn, ' '.join(rdep))
+    #d.setVar('RDEPENDS:%s' % pn, ' '.join(rdep))
 }
 
 python perform_packagecopy () {
@@ -1199,7 +1199,7 @@ python split_and_strip_files () {
             # ...but is it ELF, and is it already stripped?
             if elf_file & 1:
                 if elf_file & 2:
-                    if 'already-stripped' in (d.getVar('INSANE_SKIP_' + pn) or "").split():
+                    if 'already-stripped' in (d.getVar('INSANE_SKIP:' + pn) or "").split():
                         bb.note("Skipping file %s from %s for already-stripped QA test" % (file[len(dvar):], pn))
                     else:
                         msg = "File '%s' from %s was already stripped, this will prevent future debugging!" % (file[len(dvar):], pn)
@@ -1344,7 +1344,7 @@ python populate_packages () {
         src_package_name = ('%s-src' % d.getVar('PN'))
         if not src_package_name in packages:
             packages.append(src_package_name)
-        d.setVar('FILES_%s' % src_package_name, '/usr/src/debug')
+        d.setVar('FILES:%s' % src_package_name, '/usr/src/debug')
 
     # Sanity check PACKAGES for duplicates
     # Sanity should be moved to sanity.bbclass once we have the infrastructure
@@ -1387,7 +1387,7 @@ python populate_packages () {
         root = os.path.join(pkgdest, pkg)
         bb.utils.mkdirhier(root)
 
-        filesvar = d.getVar('FILES_%s' % pkg) or ""
+        filesvar = d.getVar('FILES:%s' % pkg) or ""
         if "//" in filesvar:
             msg = "FILES variable for package %s contains '//' which is invalid. Attempting to fix this but you should correct the metadata.\n" % pkg
             package_qa_handle_error("files-invalid", msg, d)
@@ -1476,7 +1476,7 @@ python populate_packages () {
 
     if unshipped != []:
         msg = pn + ": Files/directories were installed but not shipped in any package:"
-        if "installed-vs-shipped" in (d.getVar('INSANE_SKIP_' + pn) or "").split():
+        if "installed-vs-shipped" in (d.getVar('INSANE_SKIP:' + pn) or "").split():
             bb.note("Package %s skipping QA tests: installed-vs-shipped" % pn)
         else:
             for f in unshipped:
@@ -1524,11 +1524,11 @@ python package_fixsymlinks () {
                 bb.note("%s contains dangling symlink to %s" % (pkg, l))
 
     for pkg in newrdepends:
-        rdepends = bb.utils.explode_dep_versions2(d.getVar('RDEPENDS_' + pkg) or "")
+        rdepends = bb.utils.explode_dep_versions2(d.getVar('RDEPENDS:' + pkg) or "")
         for p in newrdepends[pkg]:
             if p not in rdepends:
                 rdepends[p] = []
-        d.setVar('RDEPENDS_' + pkg, bb.utils.join_deps(rdepends, commasep=False))
+        d.setVar('RDEPENDS:' + pkg, bb.utils.join_deps(rdepends, commasep=False))
 }
 
 
@@ -1552,7 +1552,7 @@ python emit_pkgdata() {
     import json
 
     def process_postinst_on_target(pkg, mlprefix):
-        pkgval = d.getVar('PKG_%s' % pkg)
+        pkgval = d.getVar('PKG:%s' % pkg)
         if pkgval is None:
             pkgval = pkg
 
@@ -1563,8 +1563,8 @@ if [ -n "$D" ]; then
 fi
 """ % (pkgval, mlprefix)
 
-        postinst = d.getVar('pkg_postinst_%s' % pkg)
-        postinst_ontarget = d.getVar('pkg_postinst_ontarget_%s' % pkg)
+        postinst = d.getVar('pkg_postinst:%s' % pkg)
+        postinst_ontarget = d.getVar('pkg_postinst_ontarget:%s' % pkg)
 
         if postinst_ontarget:
             bb.debug(1, 'adding deferred pkg_postinst_ontarget() to pkg_postinst() for %s' % pkg)
@@ -1572,11 +1572,11 @@ fi
                 postinst = '#!/bin/sh\n'
             postinst += defer_fragment
             postinst += postinst_ontarget
-            d.setVar('pkg_postinst_%s' % pkg, postinst)
+            d.setVar('pkg_postinst:%s' % pkg, postinst)
 
     def add_set_e_to_scriptlets(pkg):
         for scriptlet_name in ('pkg_preinst', 'pkg_postinst', 'pkg_prerm', 'pkg_postrm'):
-            scriptlet = d.getVar('%s_%s' % (scriptlet_name, pkg))
+            scriptlet = d.getVar('%s:%s' % (scriptlet_name, pkg))
             if scriptlet:
                 scriptlet_split = scriptlet.split('\n')
                 if scriptlet_split[0].startswith("#!"):
@@ -1591,9 +1591,9 @@ fi
             c = codecs.getencoder("unicode_escape")
             return c(str)[0].decode("latin1")
 
-        val = d.getVar('%s_%s' % (var, pkg))
+        val = d.getVar('%s:%s' % (var, pkg))
         if val:
-            f.write('%s_%s: %s\n' % (var, pkg, encode(val)))
+            f.write('%s:%s: %s\n' % (var, pkg, encode(val)))
             return val
         val = d.getVar('%s' % (var))
         if val:
@@ -1612,7 +1612,7 @@ fi
                 ml_pkg = "%s-%s" % (variant, pkg)
                 subdata_file = "%s/runtime/%s" % (pkgdatadir, ml_pkg)
                 with open(subdata_file, 'w') as fd:
-                    fd.write("PKG_%s: %s" % (ml_pkg, pkg))
+                    fd.write("PKG:%s: %s" % (ml_pkg, pkg))
 
     packages = d.getVar('PACKAGES')
     pkgdest = d.getVar('PKGDEST')
@@ -1636,10 +1636,10 @@ fi
     workdir = d.getVar('WORKDIR')
 
     for pkg in packages.split():
-        pkgval = d.getVar('PKG_%s' % pkg)
+        pkgval = d.getVar('PKG:%s' % pkg)
         if pkgval is None:
             pkgval = pkg
-            d.setVar('PKG_%s' % pkg, pkg)
+            d.setVar('PKG:%s' % pkg, pkg)
 
         pkgdestpkg = os.path.join(pkgdest, pkg)
         files = {}
@@ -1673,14 +1673,14 @@ fi
             sf.write('%s_%s: %d\n' % ('PKGSIZE', pkg, total_size))
 
         # Symlinks needed for rprovides lookup
-        rprov = d.getVar('RPROVIDES_%s' % pkg) or d.getVar('RPROVIDES')
+        rprov = d.getVar('RPROVIDES:%s' % pkg) or d.getVar('RPROVIDES')
         if rprov:
             for p in bb.utils.explode_deps(rprov):
                 subdata_sym = pkgdatadir + "/runtime-rprovides/%s/%s" % (p, pkg)
                 bb.utils.mkdirhier(os.path.dirname(subdata_sym))
                 oe.path.symlink("../../runtime/%s" % pkg, subdata_sym, True)
 
-        allow_empty = d.getVar('ALLOW_EMPTY_%s' % pkg)
+        allow_empty = d.getVar('ALLOW_EMPTY:%s' % pkg)
         if not allow_empty:
             allow_empty = d.getVar('ALLOW_EMPTY')
         root = "%s/%s" % (pkgdest, pkg)
@@ -1733,7 +1733,7 @@ python package_do_filedeps() {
 
     pkglist = []
     for pkg in packages.split():
-        if d.getVar('SKIP_FILEDEPS_' + pkg) == '1':
+        if d.getVar('SKIP_FILEDEPS:' + pkg) == '1':
             continue
         if pkg.endswith('-dbg') or pkg.endswith('-doc') or pkg.find('-locale-') != -1 or pkg.find('-localedata-') != -1 or pkg.find('-gconv-') != -1 or pkg.find('-charmap-') != -1 or pkg.startswith('kernel-module-') or pkg.endswith('-src'):
             continue
@@ -1930,12 +1930,12 @@ python package_do_shlibs() {
     shlib_provider = oe.package.read_shlib_providers(d)
 
     for pkg in shlib_pkgs:
-        private_libs = d.getVar('PRIVATE_LIBS_' + pkg) or d.getVar('PRIVATE_LIBS') or ""
+        private_libs = d.getVar('PRIVATE_LIBS:' + pkg) or d.getVar('PRIVATE_LIBS') or ""
         private_libs = private_libs.split()
         needs_ldconfig = False
         bb.debug(2, "calculating shlib provides for %s" % pkg)
 
-        pkgver = d.getVar('PKGV_' + pkg)
+        pkgver = d.getVar('PKGV:' + pkg)
         if not pkgver:
             pkgver = d.getVar('PV_' + pkg)
         if not pkgver:
@@ -1985,11 +1985,11 @@ python package_do_shlibs() {
                     shlib_provider[s[0]][s[1]] = (pkg, pkgver)
         if needs_ldconfig:
             bb.debug(1, 'adding ldconfig call to postinst for %s' % pkg)
-            postinst = d.getVar('pkg_postinst_%s' % pkg)
+            postinst = d.getVar('pkg_postinst:%s' % pkg)
             if not postinst:
                 postinst = '#!/bin/sh\n'
             postinst += d.getVar('ldconfig_postinst_fragment')
-            d.setVar('pkg_postinst_%s' % pkg, postinst)
+            d.setVar('pkg_postinst:%s' % pkg, postinst)
         bb.debug(1, 'LIBNAMES: pkg %s sonames %s' % (pkg, sonames))
 
     assumed_libs = d.getVar('ASSUME_SHLIBS')
@@ -2011,7 +2011,7 @@ python package_do_shlibs() {
     for pkg in shlib_pkgs:
         bb.debug(2, "calculating shlib requirements for %s" % pkg)
 
-        private_libs = d.getVar('PRIVATE_LIBS_' + pkg) or d.getVar('PRIVATE_LIBS') or ""
+        private_libs = d.getVar('PRIVATE_LIBS:' + pkg) or d.getVar('PRIVATE_LIBS') or ""
         private_libs = private_libs.split()
 
         deps = list()
@@ -2165,7 +2165,7 @@ python read_shlibdeps () {
 
     packages = d.getVar('PACKAGES').split()
     for pkg in packages:
-        rdepends = bb.utils.explode_dep_versions2(d.getVar('RDEPENDS_' + pkg) or "")
+        rdepends = bb.utils.explode_dep_versions2(d.getVar('RDEPENDS:' + pkg) or "")
         for dep in sorted(pkglibdeps[pkg]):
             # Add the dep if it's not already there, or if no comparison is set
             if dep not in rdepends:
@@ -2173,7 +2173,7 @@ python read_shlibdeps () {
             for v in pkglibdeps[pkg][dep]:
                 if v not in rdepends[dep]:
                     rdepends[dep].append(v)
-        d.setVar('RDEPENDS_' + pkg, bb.utils.join_deps(rdepends, commasep=False))
+        d.setVar('RDEPENDS:' + pkg, bb.utils.join_deps(rdepends, commasep=False))
 }
 
 python package_depchains() {
@@ -2197,7 +2197,7 @@ python package_depchains() {
     def pkg_adddeprrecs(pkg, base, suffix, getname, depends, d):
 
         #bb.note('depends for %s is %s' % (base, depends))
-        rreclist = bb.utils.explode_dep_versions2(d.getVar('RRECOMMENDS_' + pkg) or "")
+        rreclist = bb.utils.explode_dep_versions2(d.getVar('RRECOMMENDS:' + pkg) or "")
 
         for depend in sorted(depends):
             if depend.find('-native') != -1 or depend.find('-cross') != -1 or depend.startswith('virtual/'):
@@ -2212,13 +2212,13 @@ python package_depchains() {
             if pkgname not in rreclist and pkgname != pkg:
                 rreclist[pkgname] = []
 
-        #bb.note('setting: RRECOMMENDS_%s=%s' % (pkg, ' '.join(rreclist)))
-        d.setVar('RRECOMMENDS_%s' % pkg, bb.utils.join_deps(rreclist, commasep=False))
+        #bb.note('setting: RRECOMMENDS:%s=%s' % (pkg, ' '.join(rreclist)))
+        d.setVar('RRECOMMENDS:%s' % pkg, bb.utils.join_deps(rreclist, commasep=False))
 
     def pkg_addrrecs(pkg, base, suffix, getname, rdepends, d):
 
         #bb.note('rdepends for %s is %s' % (base, rdepends))
-        rreclist = bb.utils.explode_dep_versions2(d.getVar('RRECOMMENDS_' + pkg) or "")
+        rreclist = bb.utils.explode_dep_versions2(d.getVar('RRECOMMENDS:' + pkg) or "")
 
         for depend in sorted(rdepends):
             if depend.find('virtual-locale-') != -1:
@@ -2233,8 +2233,8 @@ python package_depchains() {
             if pkgname not in rreclist and pkgname != pkg:
                 rreclist[pkgname] = []
 
-        #bb.note('setting: RRECOMMENDS_%s=%s' % (pkg, ' '.join(rreclist)))
-        d.setVar('RRECOMMENDS_%s' % pkg, bb.utils.join_deps(rreclist, commasep=False))
+        #bb.note('setting: RRECOMMENDS:%s=%s' % (pkg, ' '.join(rreclist)))
+        d.setVar('RRECOMMENDS:%s' % pkg, bb.utils.join_deps(rreclist, commasep=False))
 
     def add_dep(list, dep):
         if dep not in list:
@@ -2246,7 +2246,7 @@ python package_depchains() {
 
     rdepends = []
     for pkg in packages.split():
-        for dep in bb.utils.explode_deps(d.getVar('RDEPENDS_' + pkg) or ""):
+        for dep in bb.utils.explode_deps(d.getVar('RDEPENDS:' + pkg) or ""):
             add_dep(rdepends, dep)
 
     #bb.note('rdepends is %s' % rdepends)
@@ -2280,7 +2280,7 @@ python package_depchains() {
 
     for suffix in pkgs:
         for pkg in pkgs[suffix]:
-            if d.getVarFlag('RRECOMMENDS_' + pkg, 'nodeprrecs'):
+            if d.getVarFlag('RRECOMMENDS:' + pkg, 'nodeprrecs'):
                 continue
             (base, func) = pkgs[suffix][pkg]
             if suffix == "-dev":
@@ -2293,7 +2293,7 @@ python package_depchains() {
                 pkg_addrrecs(pkg, base, suffix, func, rdepends, d)
             else:
                 rdeps = []
-                for dep in bb.utils.explode_deps(d.getVar('RDEPENDS_' + base) or ""):
+                for dep in bb.utils.explode_deps(d.getVar('RDEPENDS:' + base) or ""):
                     add_dep(rdeps, dep)
                 pkg_addrrecs(pkg, base, suffix, func, rdeps, d)
 }
diff --git a/meta/classes/package_deb.bbclass b/meta/classes/package_deb.bbclass
index b3d8ce330e8..eca43e17876 100644
--- a/meta/classes/package_deb.bbclass
+++ b/meta/classes/package_deb.bbclass
@@ -81,7 +81,7 @@ def deb_write_pkg(pkg, d):
 
         localdata.setVar('ROOT', '')
         localdata.setVar('ROOT_%s' % pkg, root)
-        pkgname = localdata.getVar('PKG_%s' % pkg)
+        pkgname = localdata.getVar('PKG:%s' % pkg)
         if not pkgname:
             pkgname = pkg
         localdata.setVar('PKG', pkgname)
diff --git a/meta/classes/package_ipk.bbclass b/meta/classes/package_ipk.bbclass
index 600b3ac90ce..c3b53854e8b 100644
--- a/meta/classes/package_ipk.bbclass
+++ b/meta/classes/package_ipk.bbclass
@@ -65,7 +65,7 @@ def ipk_write_pkg(pkg, d):
     try:
         localdata.setVar('ROOT', '')
         localdata.setVar('ROOT_%s' % pkg, root)
-        pkgname = localdata.getVar('PKG_%s' % pkg)
+        pkgname = localdata.getVar('PKG:%s' % pkg)
         if not pkgname:
             pkgname = pkg
         localdata.setVar('PKG', pkgname)
diff --git a/meta/classes/package_rpm.bbclass b/meta/classes/package_rpm.bbclass
index 86706da842e..aebeaf6932c 100644
--- a/meta/classes/package_rpm.bbclass
+++ b/meta/classes/package_rpm.bbclass
@@ -332,7 +332,7 @@ python write_specfile () {
 
         localdata.setVar('ROOT', '')
         localdata.setVar('ROOT_%s' % pkg, root)
-        pkgname = localdata.getVar('PKG_%s' % pkg)
+        pkgname = localdata.getVar('PKG:%s' % pkg)
         if not pkgname:
             pkgname = pkg
         localdata.setVar('PKG', pkgname)
diff --git a/meta/classes/packagedata.bbclass b/meta/classes/packagedata.bbclass
index a903e5cfd20..3b962f29b53 100644
--- a/meta/classes/packagedata.bbclass
+++ b/meta/classes/packagedata.bbclass
@@ -24,7 +24,7 @@ python read_subpackage_metadata () {
                 continue
             #
             # If we set unsuffixed variables here there is a chance they could clobber override versions
-            # of that variable, e.g. DESCRIPTION could clobber DESCRIPTION_<pkgname>
+            # of that variable, e.g. DESCRIPTION could clobber DESCRIPTION:<pkgname>
             # We therefore don't clobber for the unsuffixed variable versions
             #
             if key.endswith("_" + pkg):
diff --git a/meta/classes/packagegroup.bbclass b/meta/classes/packagegroup.bbclass
index 1541c8fbff1..557b1b6382b 100644
--- a/meta/classes/packagegroup.bbclass
+++ b/meta/classes/packagegroup.bbclass
@@ -32,7 +32,7 @@ python () {
                     for suffix in types]
         d.setVar('PACKAGES', ' '.join(packages))
     for pkg in packages:
-        d.setVar('ALLOW_EMPTY_%s' % pkg, '1')
+        d.setVar('ALLOW_EMPTY:%s' % pkg, '1')
 }
 
 # We don't want to look at shared library dependencies for the
diff --git a/meta/classes/patch.bbclass b/meta/classes/patch.bbclass
index cd491a563de..388773a2374 100644
--- a/meta/classes/patch.bbclass
+++ b/meta/classes/patch.bbclass
@@ -10,7 +10,7 @@ PATCHDEPENDENCY = "${PATCHTOOL}-native:do_populate_sysroot"
 # http://git.savannah.gnu.org/cgit/patch.git/patch/?id=82b800c9552a088a241457948219d25ce0a407a4
 # This leaks into debug sources in particular. Add the dependency
 # to target recipes to avoid this problem until we can rely on 2.7.4 or later.
-PATCHDEPENDENCY_append_class-target = " patch-replacement-native:do_populate_sysroot"
+PATCHDEPENDENCY:append:class-target = " patch-replacement-native:do_populate_sysroot"
 
 PATCH_GIT_USER_NAME ?= "OpenEmbedded"
 PATCH_GIT_USER_EMAIL ?= "oe.patch@oe"
diff --git a/meta/classes/pixbufcache.bbclass b/meta/classes/pixbufcache.bbclass
index b07f51ed56a..886bf195b32 100644
--- a/meta/classes/pixbufcache.bbclass
+++ b/meta/classes/pixbufcache.bbclass
@@ -3,7 +3,7 @@
 # packages.
 #
 
-DEPENDS_append_class-target = " qemu-native"
+DEPENDS:append:class-target = " qemu-native"
 inherit qemu
 
 PIXBUF_PACKAGES ??= "${PN}"
@@ -29,30 +29,30 @@ else
 fi
 }
 
-python populate_packages_append() {
+python populate_packages:append() {
     pixbuf_pkgs = d.getVar('PIXBUF_PACKAGES').split()
 
     for pkg in pixbuf_pkgs:
         bb.note("adding pixbuf postinst and postrm scripts to %s" % pkg)
-        postinst = d.getVar('pkg_postinst_%s' % pkg) or d.getVar('pkg_postinst')
+        postinst = d.getVar('pkg_postinst:%s' % pkg) or d.getVar('pkg_postinst')
         if not postinst:
             postinst = '#!/bin/sh\n'
         postinst += d.getVar('pixbufcache_common')
-        d.setVar('pkg_postinst_%s' % pkg, postinst)
+        d.setVar('pkg_postinst:%s' % pkg, postinst)
 
-        postrm = d.getVar('pkg_postrm_%s' % pkg) or d.getVar('pkg_postrm')
+        postrm = d.getVar('pkg_postrm:%s' % pkg) or d.getVar('pkg_postrm')
         if not postrm:
             postrm = '#!/bin/sh\n'
         postrm += d.getVar('pixbufcache_common')
-        d.setVar('pkg_postrm_%s' % pkg, postrm)
+        d.setVar('pkg_postrm:%s' % pkg, postrm)
 }
 
 gdkpixbuf_complete() {
 GDK_PIXBUF_FATAL_LOADER=1 ${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders --update-cache || exit 1
 }
 
-DEPENDS_append_class-native = " gdk-pixbuf-native"
-SYSROOT_PREPROCESS_FUNCS_append_class-native = " pixbufcache_sstate_postinst"
+DEPENDS:append:class-native = " gdk-pixbuf-native"
+SYSROOT_PREPROCESS_FUNCS:append:class-native = " pixbufcache_sstate_postinst"
 
 pixbufcache_sstate_postinst() {
 	mkdir -p ${SYSROOT_DESTDIR}${bindir}
diff --git a/meta/classes/pkgconfig.bbclass b/meta/classes/pkgconfig.bbclass
index ad1f84f5069..fa94527ce93 100644
--- a/meta/classes/pkgconfig.bbclass
+++ b/meta/classes/pkgconfig.bbclass
@@ -1,2 +1,2 @@
-DEPENDS_prepend = "pkgconfig-native "
+DEPENDS:prepend = "pkgconfig-native "
 
diff --git a/meta/classes/populate_sdk_base.bbclass b/meta/classes/populate_sdk_base.bbclass
index f8072a9d375..3c1eb454b3e 100644
--- a/meta/classes/populate_sdk_base.bbclass
+++ b/meta/classes/populate_sdk_base.bbclass
@@ -23,7 +23,7 @@ SDKIMAGE_FEATURES ??= "dev-pkgs dbg-pkgs src-pkgs ${@bb.utils.contains('DISTRO_F
 SDKIMAGE_INSTALL_COMPLEMENTARY = '${@complementary_globs("SDKIMAGE_FEATURES", d)}'
 SDKIMAGE_INSTALL_COMPLEMENTARY[vardeps] += "SDKIMAGE_FEATURES"
 
-PACKAGE_ARCHS_append_task-populate-sdk = " sdk-provides-dummy-target"
+PACKAGE_ARCHS:append:task-populate-sdk = " sdk-provides-dummy-target"
 SDK_PACKAGE_ARCHS += "sdk-provides-dummy-${SDKPKGSUFFIX}"
 
 # List of locales to install, or "all" for all of them, or unset for none.
@@ -37,7 +37,7 @@ SDK_DEPLOY = "${DEPLOY_DIR}/sdk"
 
 SDKDEPLOYDIR = "${WORKDIR}/${SDKMACHINE}-deploy-${PN}-populate-sdk"
 
-B_task-populate-sdk = "${SDK_DIR}"
+B:task-populate-sdk = "${SDK_DIR}"
 
 SDKTARGETSYSROOT = "${SDKPATH}/sysroots/${REAL_MULTIMACH_TARGET_SYS}"
 
@@ -66,7 +66,7 @@ python () {
 
 SDK_RDEPENDS = "${TOOLCHAIN_TARGET_TASK} ${TOOLCHAIN_HOST_TASK}"
 SDK_DEPENDS = "virtual/fakeroot-native ${SDK_ARCHIVE_DEPENDS} cross-localedef-native nativesdk-qemuwrapper-cross ${@' '.join(["%s-qemuwrapper-cross" % m for m in d.getVar("MULTILIB_VARIANTS").split()])} qemuwrapper-cross"
-PATH_prepend = "${WORKDIR}/recipe-sysroot/${SDKPATHNATIVE}${bindir}/crossscripts:${@":".join(all_multilib_tune_values(d, 'STAGING_BINDIR_CROSS').split())}:"
+PATH:prepend = "${WORKDIR}/recipe-sysroot/${SDKPATHNATIVE}${bindir}/crossscripts:${@":".join(all_multilib_tune_values(d, 'STAGING_BINDIR_CROSS').split())}:"
 SDK_DEPENDS += "nativesdk-glibc-locale"
 
 # We want the MULTIARCH_TARGET_SYS to point to the TUNE_PKGARCH, not PACKAGE_ARCH as it
@@ -119,9 +119,9 @@ python write_host_sdk_manifest () {
         output.write(format_pkg_list(pkgs, 'ver'))
 }
 
-POPULATE_SDK_POST_TARGET_COMMAND_append = " write_sdk_test_data ; "
-POPULATE_SDK_POST_TARGET_COMMAND_append_task-populate-sdk  = " write_target_sdk_manifest ; "
-POPULATE_SDK_POST_HOST_COMMAND_append_task-populate-sdk = " write_host_sdk_manifest; "
+POPULATE_SDK_POST_TARGET_COMMAND:append = " write_sdk_test_data ; "
+POPULATE_SDK_POST_TARGET_COMMAND:append:task-populate-sdk  = " write_target_sdk_manifest ; "
+POPULATE_SDK_POST_HOST_COMMAND:append:task-populate-sdk = " write_host_sdk_manifest; "
 SDK_PACKAGING_COMMAND = "${@'${SDK_PACKAGING_FUNC};' if '${SDK_PACKAGING_FUNC}' else ''}"
 SDK_POSTPROCESS_COMMAND = " create_sdk_files; check_sdk_sysroots; archive_sdk; ${SDK_PACKAGING_COMMAND} "
 
@@ -172,7 +172,7 @@ fakeroot python do_populate_sdk() {
     populate_sdk_common(d)
 }
 SSTATETASKS += "do_populate_sdk"
-SSTATE_SKIP_CREATION_task-populate-sdk = '1'
+SSTATE_SKIP_CREATION:task-populate-sdk = '1'
 do_populate_sdk[cleandirs] = "${SDKDEPLOYDIR}"
 do_populate_sdk[sstate-inputdirs] = "${SDKDEPLOYDIR}"
 do_populate_sdk[sstate-outputdirs] = "${SDK_DEPLOY}"
diff --git a/meta/classes/populate_sdk_ext.bbclass b/meta/classes/populate_sdk_ext.bbclass
index 4aabafa079b..f67849708cd 100644
--- a/meta/classes/populate_sdk_ext.bbclass
+++ b/meta/classes/populate_sdk_ext.bbclass
@@ -5,16 +5,16 @@ inherit populate_sdk_base
 # NOTE: normally you cannot use task overrides for this kind of thing - this
 # only works because of get_sdk_ext_rdepends()
 
-TOOLCHAIN_HOST_TASK_task-populate-sdk-ext = " \
+TOOLCHAIN_HOST_TASK:task-populate-sdk-ext = " \
     meta-environment-extsdk-${MACHINE} \
     "
 
-TOOLCHAIN_TARGET_TASK_task-populate-sdk-ext = ""
+TOOLCHAIN_TARGET_TASK:task-populate-sdk-ext = ""
 
-SDK_RELOCATE_AFTER_INSTALL_task-populate-sdk-ext = "0"
+SDK_RELOCATE_AFTER_INSTALL:task-populate-sdk-ext = "0"
 
 SDK_EXT = ""
-SDK_EXT_task-populate-sdk-ext = "-ext"
+SDK_EXT:task-populate-sdk-ext = "-ext"
 
 # Options are full or minimal
 SDK_EXT_TYPE ?= "full"
@@ -78,10 +78,10 @@ COREBASE_FILES ?= " \
     .templateconf \
 "
 
-SDK_DIR_task-populate-sdk-ext = "${WORKDIR}/sdk-ext"
-B_task-populate-sdk-ext = "${SDK_DIR}"
+SDK_DIR:task-populate-sdk-ext = "${WORKDIR}/sdk-ext"
+B:task-populate-sdk-ext = "${SDK_DIR}"
 TOOLCHAINEXT_OUTPUTNAME ?= "${SDK_NAME}-toolchain-ext-${SDK_VERSION}"
-TOOLCHAIN_OUTPUTNAME_task-populate-sdk-ext = "${TOOLCHAINEXT_OUTPUTNAME}"
+TOOLCHAIN_OUTPUTNAME:task-populate-sdk-ext = "${TOOLCHAINEXT_OUTPUTNAME}"
 
 SDK_EXT_TARGET_MANIFEST = "${SDK_DEPLOY}/${TOOLCHAINEXT_OUTPUTNAME}.target.manifest"
 SDK_EXT_HOST_MANIFEST = "${SDK_DEPLOY}/${TOOLCHAINEXT_OUTPUTNAME}.host.manifest"
@@ -118,9 +118,9 @@ python write_host_sdk_ext_manifest () {
                 f.write("%s %s %s\n" % (info[1], info[2], info[3]))
 }
 
-SDK_POSTPROCESS_COMMAND_append_task-populate-sdk-ext = "write_target_sdk_ext_manifest; write_host_sdk_ext_manifest; "    
+SDK_POSTPROCESS_COMMAND:append:task-populate-sdk-ext = "write_target_sdk_ext_manifest; write_host_sdk_ext_manifest; "    
 
-SDK_TITLE_task-populate-sdk-ext = "${@d.getVar('DISTRO_NAME') or d.getVar('DISTRO')} Extensible SDK"
+SDK_TITLE:task-populate-sdk-ext = "${@d.getVar('DISTRO_NAME') or d.getVar('DISTRO')} Extensible SDK"
 
 def clean_esdk_builddir(d, sdkbasepath):
     """Clean up traces of the fake build for create_filtered_tasklist()"""
@@ -148,14 +148,14 @@ def create_filtered_tasklist(d, sdkbasepath, tasklistfile, conf_initpath):
         with open(sdkbasepath + '/conf/local.conf', 'a') as f:
             # Force the use of sstate from the build system
             f.write('\nSSTATE_DIR_forcevariable = "%s"\n' % d.getVar('SSTATE_DIR'))
-            f.write('SSTATE_MIRRORS_forcevariable = "file://universal/(.*) file://universal-4.9/\\1 file://universal-4.9/(.*) file://universal-4.8/\\1"\n')
+            f.write('SSTATE_MIRRORS:forcevariable = "file://universal/(.*) file://universal-4.9/\\1 file://universal-4.9/(.*) file://universal-4.8/\\1"\n')
             # Ensure TMPDIR is the default so that clean_esdk_builddir() can delete it
-            f.write('TMPDIR_forcevariable = "${TOPDIR}/tmp"\n')
-            f.write('TCLIBCAPPEND_forcevariable = ""\n')
+            f.write('TMPDIR:forcevariable = "${TOPDIR}/tmp"\n')
+            f.write('TCLIBCAPPEND:forcevariable = ""\n')
             # Drop uninative if the build isn't using it (or else NATIVELSBSTRING will
             # be different and we won't be able to find our native sstate)
             if not bb.data.inherits_class('uninative', d):
-                f.write('INHERIT_remove = "uninative"\n')
+                f.write('INHERIT:remove = "uninative"\n')
 
         # Unfortunately the default SDKPATH (or even a custom value) may contain characters that bitbake
         # will not allow in its COREBASE path, so we need to rename the directory temporarily
@@ -342,7 +342,7 @@ python copy_buildsystem () {
             f.write('CONF_VERSION = "%s"\n\n' % d.getVar('CONF_VERSION', False))
 
             # Some classes are not suitable for SDK, remove them from INHERIT
-            f.write('INHERIT_remove = "%s"\n' % d.getVar('SDK_INHERIT_BLACKLIST', False))
+            f.write('INHERIT:remove = "%s"\n' % d.getVar('SDK_INHERIT_BLACKLIST', False))
 
             # Bypass the default connectivity check if any
             f.write('CONNECTIVITY_CHECK_URIS = ""\n\n')
@@ -358,7 +358,7 @@ python copy_buildsystem () {
             f.write('SIGGEN_LOCKEDSIGS_TASKSIG_CHECK = "warn"\n\n')
 
             # We want to be able to set this without a full reparse
-            f.write('BB_HASHCONFIG_WHITELIST_append = " SIGGEN_UNLOCKED_RECIPES"\n\n')
+            f.write('BB_HASHCONFIG_WHITELIST:append = " SIGGEN_UNLOCKED_RECIPES"\n\n')
 
             # Set up whitelist for run on install
             f.write('BB_SETSCENE_ENFORCE_WHITELIST = "%:* *:do_shared_workdir *:do_rm_work wic-tools:* *:do_addto_recipe_sysroot"\n\n')
@@ -688,7 +688,7 @@ sdk_ext_preinst() {
 		EXTRA_TAR_OPTIONS="$EXTRA_TAR_OPTIONS --exclude=sstate-cache"
 	fi
 }
-SDK_PRE_INSTALL_COMMAND_task-populate-sdk-ext = "${sdk_ext_preinst}"
+SDK_PRE_INSTALL_COMMAND:task-populate-sdk-ext = "${sdk_ext_preinst}"
 
 # FIXME this preparation should be done as part of the SDK construction
 sdk_ext_postinst() {
@@ -739,9 +739,9 @@ sdk_ext_postinst() {
 	echo done
 }
 
-SDK_POST_INSTALL_COMMAND_task-populate-sdk-ext = "${sdk_ext_postinst}"
+SDK_POST_INSTALL_COMMAND:task-populate-sdk-ext = "${sdk_ext_postinst}"
 
-SDK_POSTPROCESS_COMMAND_prepend_task-populate-sdk-ext = "copy_buildsystem; install_tools; "
+SDK_POSTPROCESS_COMMAND:prepend:task-populate-sdk-ext = "copy_buildsystem; install_tools; "
 
 SDK_INSTALL_TARGETS = ""
 fakeroot python do_populate_sdk_ext() {
@@ -833,7 +833,7 @@ do_populate_sdk_ext[nostamp] = "1"
 SDKEXTDEPLOYDIR = "${WORKDIR}/deploy-${PN}-populate-sdk-ext"
 
 SSTATETASKS += "do_populate_sdk_ext"
-SSTATE_SKIP_CREATION_task-populate-sdk-ext = '1'
+SSTATE_SKIP_CREATION:task-populate-sdk-ext = '1'
 do_populate_sdk_ext[cleandirs] = "${SDKEXTDEPLOYDIR}"
 do_populate_sdk_ext[sstate-inputdirs] = "${SDKEXTDEPLOYDIR}"
 do_populate_sdk_ext[sstate-outputdirs] = "${SDK_DEPLOY}"
diff --git a/meta/classes/ptest-gnome.bbclass b/meta/classes/ptest-gnome.bbclass
index 478a33474d8..18bd3dbff98 100644
--- a/meta/classes/ptest-gnome.bbclass
+++ b/meta/classes/ptest-gnome.bbclass
@@ -1,8 +1,8 @@
 inherit ptest
 
-EXTRA_OECONF_append = " ${@bb.utils.contains('PTEST_ENABLED', '1', '--enable-installed-tests', '--disable-installed-tests', d)}"
+EXTRA_OECONF:append = " ${@bb.utils.contains('PTEST_ENABLED', '1', '--enable-installed-tests', '--disable-installed-tests', d)}"
 
-FILES_${PN}-ptest += "${libexecdir}/installed-tests/ \
+FILES:${PN}-ptest += "${libexecdir}/installed-tests/ \
                       ${datadir}/installed-tests/"
 
-RDEPENDS_${PN}-ptest += "gnome-desktop-testing"
+RDEPENDS:${PN}-ptest += "gnome-desktop-testing"
diff --git a/meta/classes/ptest-perl.bbclass b/meta/classes/ptest-perl.bbclass
index a4bc40b51ab..00a4260021e 100644
--- a/meta/classes/ptest-perl.bbclass
+++ b/meta/classes/ptest-perl.bbclass
@@ -1,6 +1,6 @@
 inherit ptest
 
-FILESEXTRAPATHS_prepend := "${COREBASE}/meta/files:"
+FILESEXTRAPATHS:prepend := "${COREBASE}/meta/files:"
 
 SRC_URI += "file://ptest-perl/run-ptest"
 
diff --git a/meta/classes/ptest.bbclass b/meta/classes/ptest.bbclass
index 466916299a7..200446e52b1 100644
--- a/meta/classes/ptest.bbclass
+++ b/meta/classes/ptest.bbclass
@@ -1,22 +1,22 @@
-SUMMARY_${PN}-ptest ?= "${SUMMARY} - Package test files"
-DESCRIPTION_${PN}-ptest ?= "${DESCRIPTION}  \
+SUMMARY:${PN}-ptest ?= "${SUMMARY} - Package test files"
+DESCRIPTION:${PN}-ptest ?= "${DESCRIPTION}  \
 This package contains a test directory ${PTEST_PATH} for package test purposes."
 
 PTEST_PATH ?= "${libdir}/${BPN}/ptest"
 PTEST_BUILD_HOST_FILES ?= "Makefile"
 PTEST_BUILD_HOST_PATTERN ?= ""
 
-FILES_${PN}-ptest += "${PTEST_PATH}"
-SECTION_${PN}-ptest = "devel"
-ALLOW_EMPTY_${PN}-ptest = "1"
+FILES:${PN}-ptest += "${PTEST_PATH}"
+SECTION:${PN}-ptest = "devel"
+ALLOW_EMPTY:${PN}-ptest = "1"
 PTEST_ENABLED = "${@bb.utils.contains('DISTRO_FEATURES', 'ptest', '1', '0', d)}"
-PTEST_ENABLED_class-native = ""
-PTEST_ENABLED_class-nativesdk = ""
-PTEST_ENABLED_class-cross-canadian = ""
-RDEPENDS_${PN}-ptest += "${PN}"
-RDEPENDS_${PN}-ptest_class-native = ""
-RDEPENDS_${PN}-ptest_class-nativesdk = ""
-RRECOMMENDS_${PN}-ptest += "ptest-runner"
+PTEST_ENABLED:class-native = ""
+PTEST_ENABLED:class-nativesdk = ""
+PTEST_ENABLED:class-cross-canadian = ""
+RDEPENDS:${PN}-ptest += "${PN}"
+RDEPENDS:${PN}-ptest:class-native = ""
+RDEPENDS:${PN}-ptest:class-nativesdk = ""
+RRECOMMENDS:${PN}-ptest += "ptest-runner"
 
 PACKAGES =+ "${@bb.utils.contains('PTEST_ENABLED', '1', '${PN}-ptest', '', d)}"
 
@@ -73,7 +73,7 @@ PTEST_BINDIR_PKGD_PATH = "${PKGD}${PTEST_PATH}/bin"
 # This function needs to run after apply_update_alternative_renames because the
 # aforementioned function will update the ALTERNATIVE_LINK_NAME flag. Append is
 # used here to make this function to run as late as possible.
-PACKAGE_PREPROCESS_FUNCS_append = "${@bb.utils.contains('PTEST_BINDIR', '1', \
+PACKAGE_PREPROCESS_FUNCS:append = "${@bb.utils.contains('PTEST_BINDIR', '1', \
                                     bb.utils.contains('PTEST_ENABLED', '1', ' ptest_update_alternatives', '', d), '', d)}"
 
 python ptest_update_alternatives() {
diff --git a/meta/classes/pypi.bbclass b/meta/classes/pypi.bbclass
index 384a209874c..272c220bca7 100644
--- a/meta/classes/pypi.bbclass
+++ b/meta/classes/pypi.bbclass
@@ -19,7 +19,7 @@ PYPI_SRC_URI ?= "${@pypi_src_uri(d)}"
 
 HOMEPAGE ?= "https://pypi.python.org/pypi/${PYPI_PACKAGE}/"
 SECTION = "devel/python"
-SRC_URI_prepend = "${PYPI_SRC_URI} "
+SRC_URI:prepend = "${PYPI_SRC_URI} "
 S = "${WORKDIR}/${PYPI_PACKAGE}-${PV}"
 
 UPSTREAM_CHECK_URI ?= "https://pypi.org/project/${PYPI_PACKAGE}/"
diff --git a/meta/classes/python3native.bbclass b/meta/classes/python3native.bbclass
index 2e3a88c1263..13fbaa5f9c7 100644
--- a/meta/classes/python3native.bbclass
+++ b/meta/classes/python3native.bbclass
@@ -2,7 +2,7 @@ inherit python3-dir
 
 PYTHON="${STAGING_BINDIR_NATIVE}/python3-native/python3"
 EXTRANATIVEPATH += "python3-native"
-DEPENDS_append = " python3-native "
+DEPENDS:append = " python3-native "
 
 # python-config and other scripts are using distutils modules
 # which we patch to access these variables
diff --git a/meta/classes/python3targetconfig.bbclass b/meta/classes/python3targetconfig.bbclass
index fc1025c2078..5c8457acaac 100644
--- a/meta/classes/python3targetconfig.bbclass
+++ b/meta/classes/python3targetconfig.bbclass
@@ -1,17 +1,17 @@
 inherit python3native
 
 EXTRA_PYTHON_DEPENDS ?= ""
-EXTRA_PYTHON_DEPENDS_class-target = "python3"
-DEPENDS_append = " ${EXTRA_PYTHON_DEPENDS}"
+EXTRA_PYTHON_DEPENDS:class-target = "python3"
+DEPENDS:append = " ${EXTRA_PYTHON_DEPENDS}"
 
-do_configure_prepend_class-target() {
+do_configure:prepend:class-target() {
         export _PYTHON_SYSCONFIGDATA_NAME="_sysconfigdata"
 }
 
-do_compile_prepend_class-target() {
+do_compile:prepend:class-target() {
         export _PYTHON_SYSCONFIGDATA_NAME="_sysconfigdata"
 }
 
-do_install_prepend_class-target() {
+do_install:prepend:class-target() {
         export _PYTHON_SYSCONFIGDATA_NAME="_sysconfigdata"
 }
diff --git a/meta/classes/qemu.bbclass b/meta/classes/qemu.bbclass
index 55bdff816b6..01a7b86ae1a 100644
--- a/meta/classes/qemu.bbclass
+++ b/meta/classes/qemu.bbclass
@@ -64,4 +64,4 @@ QEMU_EXTRAOPTIONS_ppc64e5500 = " -cpu e500mc"
 QEMU_EXTRAOPTIONS_ppce6500 = " -cpu e500mc"
 QEMU_EXTRAOPTIONS_ppc64e6500 = " -cpu e500mc"
 QEMU_EXTRAOPTIONS_ppc7400 = " -cpu 7400"
-QEMU_EXTRAOPTIONS_powerpc64le = " -cpu POWER8"
+QEMU_EXTRAOPTIONS:powerpc64le = " -cpu POWER8"
diff --git a/meta/classes/qemuboot.bbclass b/meta/classes/qemuboot.bbclass
index 2b50ddaa228..aaf821d6ddc 100644
--- a/meta/classes/qemuboot.bbclass
+++ b/meta/classes/qemuboot.bbclass
@@ -43,7 +43,7 @@
 #                    a custom one, but that may cause conflicts when multiple qemus are
 #                    running on the same host.
 #                    Note: If more than one interface of type -device virtio-net-device gets added,
-#                          QB_NETWORK_DEVICE_prepend might be used, since Qemu enumerates the eth*
+#                          QB_NETWORK_DEVICE:prepend might be used, since Qemu enumerates the eth*
 #                          devices in reverse order to -device arguments.
 #
 # QB_TAP_OPT: network option for 'tap' mode, e.g.,
diff --git a/meta/classes/reproducible_build.bbclass b/meta/classes/reproducible_build.bbclass
index 278eeedc741..378121903db 100644
--- a/meta/classes/reproducible_build.bbclass
+++ b/meta/classes/reproducible_build.bbclass
@@ -42,7 +42,7 @@ SDE_FILE = "${SDE_DIR}/__source_date_epoch.txt"
 SDE_DEPLOYDIR = "${WORKDIR}/deploy-source-date-epoch"
 
 # Enable compiler warning when the __TIME__, __DATE__ and __TIMESTAMP__ macros are used.
-TARGET_CC_ARCH_append_class-target = " -Wdate-time"
+TARGET_CC_ARCH:append:class-target = " -Wdate-time"
 
 # A SOURCE_DATE_EPOCH of '0' might be misinterpreted as no SDE
 export SOURCE_DATE_EPOCH_FALLBACK ??= "1302044400"
diff --git a/meta/classes/rm_work.bbclass b/meta/classes/rm_work.bbclass
index 01c2ab1c78e..07901d75972 100644
--- a/meta/classes/rm_work.bbclass
+++ b/meta/classes/rm_work.bbclass
@@ -13,7 +13,7 @@
 # Recipes can also configure which entries in their ${WORKDIR}
 # are preserved besides temp, which already gets excluded by default
 # because it contains logs:
-# do_install_append () {
+# do_install:append () {
 #     echo "bar" >${WORKDIR}/foo
 # }
 # RM_WORK_EXCLUDE_ITEMS += "foo"
@@ -24,7 +24,7 @@ RM_WORK_EXCLUDE_ITEMS = "temp"
 BB_SCHEDULER ?= "completion"
 
 # Run the rm_work task in the idle scheduling class
-BB_TASK_IONICE_LEVEL_task-rm_work = "3.0"
+BB_TASK_IONICE_LEVEL:task-rm_work = "3.0"
 
 do_rm_work () {
     # If the recipe name is in the RM_WORK_EXCLUDE, skip the recipe.
diff --git a/meta/classes/rm_work_and_downloads.bbclass b/meta/classes/rm_work_and_downloads.bbclass
index 7c00bea5970..15e6091b9d5 100644
--- a/meta/classes/rm_work_and_downloads.bbclass
+++ b/meta/classes/rm_work_and_downloads.bbclass
@@ -28,6 +28,6 @@ inherit rm_work
 
 # Instead go up one level and remove ourself.
 DL_DIR = "${BASE_WORKDIR}/${MULTIMACH_TARGET_SYS}/${PN}/downloads"
-do_rm_work_append () {
+do_rm_work:append () {
     rm -rf ${DL_DIR}
 }
diff --git a/meta/classes/rootfs-postcommands.bbclass b/meta/classes/rootfs-postcommands.bbclass
index b6ddf5475ce..47a5303bb1b 100644
--- a/meta/classes/rootfs-postcommands.bbclass
+++ b/meta/classes/rootfs-postcommands.bbclass
@@ -23,7 +23,7 @@ ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains("IMAGE_FEATURES", "read-only
 #
 # We do this with _append because the default value might get set later with ?=
 # and we don't want to disable such a default that by setting a value here.
-APPEND_append = '${@bb.utils.contains("IMAGE_FEATURES", "read-only-rootfs", " ro", "", d)}'
+APPEND:append = '${@bb.utils.contains("IMAGE_FEATURES", "read-only-rootfs", " ro", "", d)}'
 
 # Generates test data file with data store variables expanded in json format
 ROOTFS_POSTPROCESS_COMMAND += "write_image_test_data; "
diff --git a/meta/classes/rootfs_rpm.bbclass b/meta/classes/rootfs_rpm.bbclass
index 0af7d65b1a2..3d8d784f792 100644
--- a/meta/classes/rootfs_rpm.bbclass
+++ b/meta/classes/rootfs_rpm.bbclass
@@ -9,7 +9,7 @@ export STAGING_INCDIR
 export STAGING_LIBDIR
 
 # Add 100Meg of extra space for dnf
-IMAGE_ROOTFS_EXTRA_SPACE_append = "${@bb.utils.contains("PACKAGE_INSTALL", "dnf", " + 102400", "", d)}"
+IMAGE_ROOTFS_EXTRA_SPACE:append = "${@bb.utils.contains("PACKAGE_INSTALL", "dnf", " + 102400", "", d)}"
 
 # Dnf is python based, so be sure python3-native is available to us.
 EXTRANATIVEPATH += "python3-native"
diff --git a/meta/classes/sanity.bbclass b/meta/classes/sanity.bbclass
index e907a3566f6..29cc42efe77 100644
--- a/meta/classes/sanity.bbclass
+++ b/meta/classes/sanity.bbclass
@@ -227,7 +227,7 @@ def check_toolchain_tune(data, tune, multilib):
         overrides = localdata.getVar("OVERRIDES", False) + ":virtclass-multilib-" + multilib
         localdata.setVar("OVERRIDES", overrides)
     bb.debug(2, "Sanity-checking tuning '%s' (%s) features:" % (tune, multilib))
-    features = (localdata.getVar("TUNE_FEATURES_tune-%s" % tune) or "").split()
+    features = (localdata.getVar("TUNE_FEATURES:tune-%s" % tune) or "").split()
     if not features:
         return "Tuning '%s' has no defined features, and cannot be used." % tune
     valid_tunes = localdata.getVarFlags('TUNEVALID') or {}
@@ -249,7 +249,7 @@ def check_toolchain_tune(data, tune, multilib):
             tune_errors.append("Feature '%s' is not defined." % feature)
     whitelist = localdata.getVar("TUNEABI_WHITELIST")
     if whitelist:
-        tuneabi = localdata.getVar("TUNEABI_tune-%s" % tune)
+        tuneabi = localdata.getVar("TUNEABI:tune-%s" % tune)
         if not tuneabi:
             tuneabi = tune
         if True not in [x in whitelist.split() for x in tuneabi.split()]:
@@ -281,7 +281,7 @@ def check_toolchain(data):
                 seen_libs.append(lib)
             if not lib in global_multilibs:
                 tune_error_set.append("Multilib %s is not present in MULTILIB_GLOBAL_VARIANTS" % lib)
-            tune = data.getVar("DEFAULTTUNE_virtclass-multilib-%s" % lib)
+            tune = data.getVar("DEFAULTTUNE:virtclass-multilib-%s" % lib)
             if tune in seen_tunes:
                 tune_error_set.append("The tuning '%s' appears in more than one multilib." % tune)
             else:
diff --git a/meta/classes/sign_package_feed.bbclass b/meta/classes/sign_package_feed.bbclass
index 7ff3a35a2fa..16bcd147aa7 100644
--- a/meta/classes/sign_package_feed.bbclass
+++ b/meta/classes/sign_package_feed.bbclass
@@ -29,7 +29,7 @@ PACKAGE_FEED_GPG_BACKEND ?= 'local'
 PACKAGE_FEED_GPG_SIGNATURE_TYPE ?= 'ASC'
 
 # Make feed signing key to be present in rootfs
-FEATURE_PACKAGES_package-management_append = " signing-keys-packagefeed"
+FEATURE_PACKAGES_package-management:append = " signing-keys-packagefeed"
 
 python () {
     # Check sanity of configuration
diff --git a/meta/classes/staging.bbclass b/meta/classes/staging.bbclass
index 32a615c743c..af3397bab6f 100644
--- a/meta/classes/staging.bbclass
+++ b/meta/classes/staging.bbclass
@@ -19,9 +19,9 @@ SYSROOT_DIRS_NATIVE = " \
     ${sysconfdir} \
     ${localstatedir} \
 "
-SYSROOT_DIRS_append_class-native = " ${SYSROOT_DIRS_NATIVE}"
-SYSROOT_DIRS_append_class-cross = " ${SYSROOT_DIRS_NATIVE}"
-SYSROOT_DIRS_append_class-crosssdk = " ${SYSROOT_DIRS_NATIVE}"
+SYSROOT_DIRS:append:class-native = " ${SYSROOT_DIRS_NATIVE}"
+SYSROOT_DIRS:append:class-cross = " ${SYSROOT_DIRS_NATIVE}"
+SYSROOT_DIRS:append:class-crosssdk = " ${SYSROOT_DIRS_NATIVE}"
 
 # These directories will not be staged in the sysroot
 SYSROOT_DIRS_BLACKLIST = " \
@@ -82,7 +82,7 @@ python sysroot_strip () {
     pn = d.getVar('PN')
     libdir = d.getVar("libdir")
     base_libdir = d.getVar("base_libdir")
-    qa_already_stripped = 'already-stripped' in (d.getVar('INSANE_SKIP_' + pn) or "").split()
+    qa_already_stripped = 'already-stripped' in (d.getVar('INSANE_SKIP:' + pn) or "").split()
     strip_cmd = d.getVar("STRIP")
 
     oe.package.strip_execs(pn, dstdir, strip_cmd, libdir, base_libdir, d,
@@ -118,8 +118,8 @@ do_populate_sysroot[vardeps] += "${SYSROOT_PREPROCESS_FUNCS}"
 do_populate_sysroot[vardepsexclude] += "MULTI_PROVIDER_WHITELIST"
 
 POPULATESYSROOTDEPS = ""
-POPULATESYSROOTDEPS_class-target = "virtual/${MLPREFIX}${TARGET_PREFIX}binutils:do_populate_sysroot"
-POPULATESYSROOTDEPS_class-nativesdk = "virtual/${TARGET_PREFIX}binutils-crosssdk:do_populate_sysroot"
+POPULATESYSROOTDEPS:class-target = "virtual/${MLPREFIX}${TARGET_PREFIX}binutils:do_populate_sysroot"
+POPULATESYSROOTDEPS:class-nativesdk = "virtual/${TARGET_PREFIX}binutils-crosssdk:do_populate_sysroot"
 do_populate_sysroot[depends] += "${POPULATESYSROOTDEPS}"
 
 SSTATETASKS += "do_populate_sysroot"
diff --git a/meta/classes/systemd-boot.bbclass b/meta/classes/systemd-boot.bbclass
index 336c4c2ff58..57ec0acbc53 100644
--- a/meta/classes/systemd-boot.bbclass
+++ b/meta/classes/systemd-boot.bbclass
@@ -28,7 +28,7 @@ efi_populate() {
         done
 }
 
-efi_iso_populate_append() {
+efi_iso_populate:append() {
         cp -r $iso_dir/loader ${EFIIMGDIR}
 }
 
diff --git a/meta/classes/systemd.bbclass b/meta/classes/systemd.bbclass
index db5d109545a..071affbecc8 100644
--- a/meta/classes/systemd.bbclass
+++ b/meta/classes/systemd.bbclass
@@ -1,9 +1,9 @@
 # The list of packages that should have systemd packaging scripts added.  For
-# each entry, optionally have a SYSTEMD_SERVICE_[package] that lists the service
+# each entry, optionally have a SYSTEMD_SERVICE:[package] that lists the service
 # files in this package.  If this variable isn't set, [package].service is used.
 SYSTEMD_PACKAGES ?= "${PN}"
-SYSTEMD_PACKAGES_class-native ?= ""
-SYSTEMD_PACKAGES_class-nativesdk ?= ""
+SYSTEMD_PACKAGES:class-native ?= ""
+SYSTEMD_PACKAGES:class-nativesdk ?= ""
 
 # Whether to enable or disable the services on installation.
 SYSTEMD_AUTO_ENABLE ??= "enable"
@@ -85,39 +85,39 @@ python systemd_populate_packages() {
     def systemd_generate_package_scripts(pkg):
         bb.debug(1, 'adding systemd calls to postinst/postrm for %s' % pkg)
 
-        paths_escaped = ' '.join(shlex.quote(s) for s in d.getVar('SYSTEMD_SERVICE_' + pkg).split())
-        d.setVar('SYSTEMD_SERVICE_ESCAPED_' + pkg, paths_escaped)
+        paths_escaped = ' '.join(shlex.quote(s) for s in d.getVar('SYSTEMD_SERVICE:' + pkg).split())
+        d.setVar('SYSTEMD_SERVICE:ESCAPED_' + pkg, paths_escaped)
 
-        # Add pkg to the overrides so that it finds the SYSTEMD_SERVICE_pkg
+        # Add pkg to the overrides so that it finds the SYSTEMD_SERVICE:pkg
         # variable.
         localdata = d.createCopy()
         localdata.prependVar("OVERRIDES", pkg + ":")
 
-        postinst = d.getVar('pkg_postinst_%s' % pkg)
+        postinst = d.getVar('pkg_postinst:%s' % pkg)
         if not postinst:
             postinst = '#!/bin/sh\n'
         postinst += localdata.getVar('systemd_postinst')
-        d.setVar('pkg_postinst_%s' % pkg, postinst)
+        d.setVar('pkg_postinst:%s' % pkg, postinst)
 
-        prerm = d.getVar('pkg_prerm_%s' % pkg)
+        prerm = d.getVar('pkg_prerm:%s' % pkg)
         if not prerm:
             prerm = '#!/bin/sh\n'
         prerm += localdata.getVar('systemd_prerm')
-        d.setVar('pkg_prerm_%s' % pkg, prerm)
+        d.setVar('pkg_prerm:%s' % pkg, prerm)
 
 
-    # Add files to FILES_*-systemd if existent and not already done
+    # Add files to FILES:*-systemd if existent and not already done
     def systemd_append_file(pkg_systemd, file_append):
         appended = False
         if os.path.exists(oe.path.join(d.getVar("D"), file_append)):
-            var_name = "FILES_" + pkg_systemd
+            var_name = "FILES:" + pkg_systemd
             files = d.getVar(var_name, False) or ""
             if file_append not in files.split():
                 d.appendVar(var_name, " " + file_append)
                 appended = True
         return appended
 
-    # Add systemd files to FILES_*-systemd, parse for Also= and follow recursive
+    # Add systemd files to FILES:*-systemd, parse for Also= and follow recursive
     def systemd_add_files_and_parse(pkg_systemd, path, service, keys):
         # avoid infinite recursion
         if systemd_append_file(pkg_systemd, oe.path.join(path, service)):
@@ -174,32 +174,32 @@ python systemd_populate_packages() {
                 if path_found != '':
                     systemd_add_files_and_parse(pkg_systemd, path_found, service, keys)
                 else:
-                    bb.fatal("Didn't find service unit '{0}', specified in SYSTEMD_SERVICE_{1}. {2}".format(
+                    bb.fatal("Didn't find service unit '{0}', specified in SYSTEMD_SERVICE:{1}. {2}".format(
                         service, pkg_systemd, "Also looked for service unit '{0}'.".format(base) if base is not None else ""))
 
     def systemd_create_presets(pkg, action):
         presetf = oe.path.join(d.getVar("PKGD"), d.getVar("systemd_unitdir"), "system-preset/98-%s.preset" % pkg)
         bb.utils.mkdirhier(os.path.dirname(presetf))
         with open(presetf, 'a') as fd:
-            for service in d.getVar('SYSTEMD_SERVICE_%s' % pkg).split():
+            for service in d.getVar('SYSTEMD_SERVICE:%s' % pkg).split():
                 fd.write("%s %s\n" % (action,service))
-        d.appendVar("FILES_%s" % pkg, ' ' + oe.path.join(d.getVar("systemd_unitdir"), "system-preset/98-%s.preset" % pkg))
+        d.appendVar("FILES:%s" % pkg, ' ' + oe.path.join(d.getVar("systemd_unitdir"), "system-preset/98-%s.preset" % pkg))
 
     # Run all modifications once when creating package
     if os.path.exists(d.getVar("D")):
         for pkg in d.getVar('SYSTEMD_PACKAGES').split():
             systemd_check_package(pkg)
-            if d.getVar('SYSTEMD_SERVICE_' + pkg):
+            if d.getVar('SYSTEMD_SERVICE:' + pkg):
                 systemd_generate_package_scripts(pkg)
                 action = get_package_var(d, 'SYSTEMD_AUTO_ENABLE', pkg)
                 if action in ("enable", "disable"):
                     systemd_create_presets(pkg, action)
                 elif action not in ("mask", "preset"):
-                    bb.fatal("SYSTEMD_AUTO_ENABLE_%s '%s' is not 'enable', 'disable', 'mask' or 'preset'" % (pkg, action))
+                    bb.fatal("SYSTEMD_AUTO_ENABLE:%s '%s' is not 'enable', 'disable', 'mask' or 'preset'" % (pkg, action))
         systemd_check_services()
 }
 
-PACKAGESPLITFUNCS_prepend = "systemd_populate_packages "
+PACKAGESPLITFUNCS:prepend = "systemd_populate_packages "
 
 python rm_systemd_unitdir (){
     import shutil
@@ -227,7 +227,7 @@ python rm_sysvinit_initddir (){
 }
 
 do_install[postfuncs] += "${RMINITDIR} "
-RMINITDIR_class-target = " rm_sysvinit_initddir rm_systemd_unitdir "
-RMINITDIR_class-nativesdk = " rm_sysvinit_initddir rm_systemd_unitdir "
+RMINITDIR:class-target = " rm_sysvinit_initddir rm_systemd_unitdir "
+RMINITDIR:class-nativesdk = " rm_sysvinit_initddir rm_systemd_unitdir "
 RMINITDIR = ""
 
diff --git a/meta/classes/testimage.bbclass b/meta/classes/testimage.bbclass
index ed3a885bdf2..3c689aec913 100644
--- a/meta/classes/testimage.bbclass
+++ b/meta/classes/testimage.bbclass
@@ -65,15 +65,15 @@ BASICTESTSUITE = "\
 DEFAULT_TEST_SUITES = "${BASICTESTSUITE}"
 
 # aarch64 has no graphics
-DEFAULT_TEST_SUITES_remove_aarch64 = "xorg"
+DEFAULT_TEST_SUITES:remove:aarch64 = "xorg"
 # musl doesn't support systemtap
-DEFAULT_TEST_SUITES_remove_libc-musl = "stap"
+DEFAULT_TEST_SUITES:remove:libc-musl = "stap"
 
 # qemumips is quite slow and has reached the timeout limit several times on the YP build cluster,
 # mitigate this by removing build tests for qemumips machines.
 MIPSREMOVE ??= "buildcpio buildlzip buildgalculator"
-DEFAULT_TEST_SUITES_remove_qemumips = "${MIPSREMOVE}"
-DEFAULT_TEST_SUITES_remove_qemumips64 = "${MIPSREMOVE}"
+DEFAULT_TEST_SUITES:remove:qemumips = "${MIPSREMOVE}"
+DEFAULT_TEST_SUITES:remove:qemumips64 = "${MIPSREMOVE}"
 
 TEST_SUITES ?= "${DEFAULT_TEST_SUITES}"
 
@@ -86,7 +86,7 @@ TEST_RUNQEMUPARAMS ?= ""
 TESTIMAGE_BOOT_PATTERNS ?= ""
 
 TESTIMAGEDEPENDS = ""
-TESTIMAGEDEPENDS_append_qemuall = " qemu-native:do_populate_sysroot qemu-helper-native:do_populate_sysroot qemu-helper-native:do_addto_recipe_sysroot"
+TESTIMAGEDEPENDS:append:qemuall = " qemu-native:do_populate_sysroot qemu-helper-native:do_populate_sysroot qemu-helper-native:do_addto_recipe_sysroot"
 TESTIMAGEDEPENDS += "${@bb.utils.contains('IMAGE_PKGTYPE', 'rpm', 'cpio-native:do_populate_sysroot', '', d)}"
 TESTIMAGEDEPENDS += "${@bb.utils.contains('IMAGE_PKGTYPE', 'rpm', 'dnf-native:do_populate_sysroot', '', d)}"
 TESTIMAGEDEPENDS += "${@bb.utils.contains('IMAGE_PKGTYPE', 'rpm', 'createrepo-c-native:do_populate_sysroot', '', d)}"
@@ -94,7 +94,7 @@ TESTIMAGEDEPENDS += "${@bb.utils.contains('IMAGE_PKGTYPE', 'ipk', 'opkg-utils-na
 TESTIMAGEDEPENDS += "${@bb.utils.contains('IMAGE_PKGTYPE', 'deb', 'apt-native:do_populate_sysroot  package-index:do_package_index', '', d)}"
 
 TESTIMAGELOCK = "${TMPDIR}/testimage.lock"
-TESTIMAGELOCK_qemuall = ""
+TESTIMAGELOCK:qemuall = ""
 
 TESTIMAGE_DUMP_DIR ?= "${LOG_DIR}/runtime-hostdump/"
 
diff --git a/meta/classes/texinfo.bbclass b/meta/classes/texinfo.bbclass
index f46bacabd4f..68c9d4fb707 100644
--- a/meta/classes/texinfo.bbclass
+++ b/meta/classes/texinfo.bbclass
@@ -7,12 +7,12 @@
 # makeinfo from SANITY_REQUIRED_UTILITIES.
 
 TEXDEP = "${@bb.utils.contains('DISTRO_FEATURES', 'api-documentation', 'texinfo-replacement-native', 'texinfo-dummy-native', d)}"
-TEXDEP_class-native = "texinfo-dummy-native"
-TEXDEP_class-cross = "texinfo-dummy-native"
-TEXDEP_class-crosssdk = "texinfo-dummy-native"
-TEXDEP_class-cross-canadian = "texinfo-dummy-native"
-DEPENDS_append = " ${TEXDEP}"
+TEXDEP:class-native = "texinfo-dummy-native"
+TEXDEP:class-cross = "texinfo-dummy-native"
+TEXDEP:class-crosssdk = "texinfo-dummy-native"
+TEXDEP:class-cross-canadian = "texinfo-dummy-native"
+DEPENDS:append = " ${TEXDEP}"
 
 # libtool-cross doesn't inherit cross
-TEXDEP_pn-libtool-cross = "texinfo-dummy-native"
+TEXDEP:pn-libtool-cross = "texinfo-dummy-native"
 
diff --git a/meta/classes/toolchain-scripts.bbclass b/meta/classes/toolchain-scripts.bbclass
index 67a812cb028..479f3b706ea 100644
--- a/meta/classes/toolchain-scripts.bbclass
+++ b/meta/classes/toolchain-scripts.bbclass
@@ -3,7 +3,7 @@ inherit toolchain-scripts-base siteinfo kernel-arch
 # We want to be able to change the value of MULTIMACH_TARGET_SYS, because it
 # doesn't always match our expectations... but we default to the stock value
 REAL_MULTIMACH_TARGET_SYS ?= "${MULTIMACH_TARGET_SYS}"
-TARGET_CC_ARCH_append_libc-musl = " -mmusl"
+TARGET_CC_ARCH:append:libc-musl = " -mmusl"
 
 # default debug prefix map isn't valid in the SDK
 DEBUG_PREFIX_MAP = ""
diff --git a/meta/classes/uboot-sign.bbclass b/meta/classes/uboot-sign.bbclass
index 9671cf76a5a..fdf153248c8 100644
--- a/meta/classes/uboot-sign.bbclass
+++ b/meta/classes/uboot-sign.bbclass
@@ -19,7 +19,7 @@
 # The tasks sequence is set as below, using DEPLOY_IMAGE_DIR as common place to
 # treat the device tree blob:
 #
-# * u-boot:do_install_append
+# * u-boot:do_install:append
 #   Install UBOOT_DTB_BINARY to datadir, so that kernel can use it for
 #   signing, and kernel will deploy UBOOT_DTB_BINARY after signs it.
 #
@@ -227,7 +227,7 @@ install_spl_helper() {
 	touch ${D}/${datadir}/${UBOOT_ITS_IMAGE}
 }
 
-do_install_append() {
+do_install:append() {
 	if [ "${PN}" = "${UBOOT_PN}" ]; then
 		if [ -n "${UBOOT_CONFIG}" ]; then
 			for config in ${UBOOT_MACHINE}; do
@@ -416,7 +416,7 @@ do_uboot_assemble_fitimage() {
 
 addtask uboot_assemble_fitimage before do_deploy after do_compile
 
-do_deploy_prepend_pn-${UBOOT_PN}() {
+do_deploy:prepend:pn-${UBOOT_PN}() {
 	if [ "${UBOOT_SIGN_ENABLE}" = "1" -a -n "${UBOOT_DTB_BINARY}" ] ; then
 		concat_dtb
 	fi
@@ -446,7 +446,7 @@ do_deploy_prepend_pn-${UBOOT_PN}() {
 
 }
 
-do_deploy_append_pn-${UBOOT_PN}() {
+do_deploy:append:pn-${UBOOT_PN}() {
 	# If we're creating a u-boot fitImage, point u-boot.bin
 	# symlink since it might get used by image recipes
 	if [ "${UBOOT_FITIMAGE_ENABLE}" = "1" ] ; then
diff --git a/meta/classes/update-alternatives.bbclass b/meta/classes/update-alternatives.bbclass
index 000e4d56641..caf549bce92 100644
--- a/meta/classes/update-alternatives.bbclass
+++ b/meta/classes/update-alternatives.bbclass
@@ -6,9 +6,9 @@
 # To use this class a number of variables should be defined:
 #
 # List all of the alternatives needed by a package:
-# ALTERNATIVE_<pkg> = "name1 name2 name3 ..."
+# ALTERNATIVE:<pkg> = "name1 name2 name3 ..."
 #
-#   i.e. ALTERNATIVE_busybox = "sh sed test bracket"
+#   i.e. ALTERNATIVE:busybox = "sh sed test bracket"
 #
 # The pathname of the link
 # ALTERNATIVE_LINK_NAME[name] = "target"
@@ -123,7 +123,7 @@ def gen_updatealternativesvars(d):
 
     for p in pkgs:
         for v in vars:
-            ret.append(v + "_" + p)
+            ret.append(v + ":" + p)
             ret.append(v + "_VARDEPS_" + p)
     return " ".join(ret)
 
@@ -141,22 +141,22 @@ python apply_update_alternative_renames () {
     import re
 
     def update_files(alt_target, alt_target_rename, pkg, d):
-        f = d.getVar('FILES_' + pkg)
+        f = d.getVar('FILES:' + pkg)
         if f:
             f = re.sub(r'(^|\s)%s(\s|$)' % re.escape (alt_target), r'\1%s\2' % alt_target_rename, f)
-            d.setVar('FILES_' + pkg, f)
+            d.setVar('FILES:' + pkg, f)
 
     # Check for deprecated usage...
     pn = d.getVar('BPN')
-    if d.getVar('ALTERNATIVE_LINKS') != None:
-        bb.fatal('%s: Use of ALTERNATIVE_LINKS/ALTERNATIVE_PATH/ALTERNATIVE_NAME is no longer supported, please convert to the updated syntax, see update-alternatives.bbclass for more info.' % pn)
+    if d.getVar('ALTERNATIVE:LINKS') != None:
+        bb.fatal('%s: Use of ALTERNATIVE:LINKS/ALTERNATIVE_PATH/ALTERNATIVE_NAME is no longer supported, please convert to the updated syntax, see update-alternatives.bbclass for more info.' % pn)
 
     # Do actual update alternatives processing
     pkgdest = d.getVar('PKGD')
     for pkg in (d.getVar('PACKAGES') or "").split():
         # If the src == dest, we know we need to rename the dest by appending ${BPN}
         link_rename = []
-        for alt_name in (d.getVar('ALTERNATIVE_%s' % pkg) or "").split():
+        for alt_name in (d.getVar('ALTERNATIVE:%s' % pkg) or "").split():
             alt_link     = d.getVarFlag('ALTERNATIVE_LINK_NAME', alt_name)
             if not alt_link:
                 alt_link = "%s/%s" % (d.getVar('bindir'), alt_name)
@@ -233,7 +233,7 @@ def update_alternatives_alt_targets(d, pkg):
     pn = d.getVar('BPN')
     pkgdest = d.getVar('PKGD')
     updates = list()
-    for alt_name in (d.getVar('ALTERNATIVE_%s' % pkg) or "").split():
+    for alt_name in (d.getVar('ALTERNATIVE:%s' % pkg) or "").split():
         alt_link     = d.getVarFlag('ALTERNATIVE_LINK_NAME', alt_name)
         alt_target   = d.getVarFlag('ALTERNATIVE_TARGET_%s' % pkg, alt_name) or \
                        d.getVarFlag('ALTERNATIVE_TARGET', alt_name) or \
@@ -259,7 +259,7 @@ def update_alternatives_alt_targets(d, pkg):
 
     return updates
 
-PACKAGESPLITFUNCS_prepend = "populate_packages_updatealternatives "
+PACKAGESPLITFUNCS:prepend = "populate_packages_updatealternatives "
 
 python populate_packages_updatealternatives () {
     if not update_alternatives_enabled(d):
@@ -280,24 +280,24 @@ python populate_packages_updatealternatives () {
             provider = d.getVar('VIRTUAL-RUNTIME_update-alternatives')
             if provider:
                 #bb.note('adding runtime requirement for update-alternatives for %s' % pkg)
-                d.appendVar('RDEPENDS_%s' % pkg, ' ' + d.getVar('MLPREFIX', False) + provider)
+                d.appendVar('RDEPENDS:%s' % pkg, ' ' + d.getVar('MLPREFIX', False) + provider)
 
             bb.note('adding update-alternatives calls to postinst/prerm for %s' % pkg)
             bb.note('%s' % alt_setup_links)
-            postinst = d.getVar('pkg_postinst_%s' % pkg)
+            postinst = d.getVar('pkg_postinst:%s' % pkg)
             if postinst:
                 postinst = alt_setup_links + postinst
             else:
                 postinst = '#!/bin/sh\n' + alt_setup_links
-            d.setVar('pkg_postinst_%s' % pkg, postinst)
+            d.setVar('pkg_postinst:%s' % pkg, postinst)
 
             bb.note('%s' % alt_remove_links)
-            prerm = d.getVar('pkg_prerm_%s' % pkg) or '#!/bin/sh\n'
+            prerm = d.getVar('pkg_prerm:%s' % pkg) or '#!/bin/sh\n'
             prerm += alt_remove_links
-            d.setVar('pkg_prerm_%s' % pkg, prerm)
+            d.setVar('pkg_prerm:%s' % pkg, prerm)
 }
 
-python package_do_filedeps_append () {
+python package_do_filedeps:append () {
     if update_alternatives_enabled(d):
         apply_update_alternative_provides(d)
 }
@@ -307,7 +307,7 @@ def apply_update_alternative_provides(d):
     pkgdest = d.getVar('PKGDEST')
 
     for pkg in d.getVar('PACKAGES').split():
-        for alt_name in (d.getVar('ALTERNATIVE_%s' % pkg) or "").split():
+        for alt_name in (d.getVar('ALTERNATIVE:%s' % pkg) or "").split():
             alt_link     = d.getVarFlag('ALTERNATIVE_LINK_NAME', alt_name)
             alt_target   = d.getVarFlag('ALTERNATIVE_TARGET_%s' % pkg, alt_name) or d.getVarFlag('ALTERNATIVE_TARGET', alt_name)
             alt_target   = alt_target or d.getVar('ALTERNATIVE_TARGET_%s' % pkg) or d.getVar('ALTERNATIVE_TARGET') or alt_link
diff --git a/meta/classes/update-rc.d.bbclass b/meta/classes/update-rc.d.bbclass
index 1366fee6537..0a3a6086629 100644
--- a/meta/classes/update-rc.d.bbclass
+++ b/meta/classes/update-rc.d.bbclass
@@ -1,11 +1,11 @@
 UPDATERCPN ?= "${PN}"
 
-DEPENDS_append_class-target = "${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', ' update-rc.d initscripts', '', d)}"
+DEPENDS:append:class-target = "${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', ' update-rc.d initscripts', '', d)}"
 
 UPDATERCD = "update-rc.d"
-UPDATERCD_class-cross = ""
-UPDATERCD_class-native = ""
-UPDATERCD_class-nativesdk = ""
+UPDATERCD:class-cross = ""
+UPDATERCD:class-native = ""
+UPDATERCD:class-nativesdk = ""
 
 INITSCRIPT_PARAMS ?= "defaults"
 
@@ -62,8 +62,8 @@ python __anonymous() {
     update_rc_after_parse(d)
 }
 
-PACKAGESPLITFUNCS_prepend = "${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'populate_packages_updatercd ', '', d)}"
-PACKAGESPLITFUNCS_remove_class-nativesdk = "populate_packages_updatercd "
+PACKAGESPLITFUNCS:prepend = "${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'populate_packages_updatercd ', '', d)}"
+PACKAGESPLITFUNCS:remove:class-nativesdk = "populate_packages_updatercd "
 
 populate_packages_updatercd[vardeps] += "updatercd_prerm updatercd_postrm updatercd_postinst"
 populate_packages_updatercd[vardepsexclude] += "OVERRIDES"
@@ -78,7 +78,7 @@ python populate_packages_updatercd () {
         statement = "grep -q -w '/etc/init.d/functions' %s" % path
         if subprocess.call(statement, shell=True) == 0:
             mlprefix = d.getVar('MLPREFIX') or ""
-            d.appendVar('RDEPENDS_' + pkg, ' %sinitd-functions' % (mlprefix))
+            d.appendVar('RDEPENDS:' + pkg, ' %sinitd-functions' % (mlprefix))
 
     def update_rcd_package(pkg):
         bb.debug(1, 'adding update-rc.d calls to postinst/prerm/postrm for %s' % pkg)
@@ -89,25 +89,25 @@ python populate_packages_updatercd () {
 
         update_rcd_auto_depend(pkg)
 
-        postinst = d.getVar('pkg_postinst_%s' % pkg)
+        postinst = d.getVar('pkg_postinst:%s' % pkg)
         if not postinst:
             postinst = '#!/bin/sh\n'
         postinst += localdata.getVar('updatercd_postinst')
-        d.setVar('pkg_postinst_%s' % pkg, postinst)
+        d.setVar('pkg_postinst:%s' % pkg, postinst)
 
-        prerm = d.getVar('pkg_prerm_%s' % pkg)
+        prerm = d.getVar('pkg_prerm:%s' % pkg)
         if not prerm:
             prerm = '#!/bin/sh\n'
         prerm += localdata.getVar('updatercd_prerm')
-        d.setVar('pkg_prerm_%s' % pkg, prerm)
+        d.setVar('pkg_prerm:%s' % pkg, prerm)
 
-        postrm = d.getVar('pkg_postrm_%s' % pkg)
+        postrm = d.getVar('pkg_postrm:%s' % pkg)
         if not postrm:
                 postrm = '#!/bin/sh\n'
         postrm += localdata.getVar('updatercd_postrm')
-        d.setVar('pkg_postrm_%s' % pkg, postrm)
+        d.setVar('pkg_postrm:%s' % pkg, postrm)
 
-        d.appendVar('RRECOMMENDS_' + pkg, " ${MLPREFIX}${UPDATERCD}")
+        d.appendVar('RRECOMMENDS:' + pkg, " ${MLPREFIX}${UPDATERCD}")
 
     # Check that this class isn't being inhibited (generally, by
     # systemd.bbclass) before doing any work.
diff --git a/meta/classes/useradd-staticids.bbclass b/meta/classes/useradd-staticids.bbclass
index 3a1b5f13205..8e2a7fb6353 100644
--- a/meta/classes/useradd-staticids.bbclass
+++ b/meta/classes/useradd-staticids.bbclass
@@ -77,7 +77,7 @@ def update_useradd_static_config(d):
             try:
                 uaargs = parser.parse_args(oe.useradd.split_args(param))
             except Exception as e:
-                bb.fatal("%s: Unable to parse arguments for USERADD_PARAM_%s '%s': %s" % (d.getVar('PN'), pkg, param, e))
+                bb.fatal("%s: Unable to parse arguments for USERADD_PARAM:%s '%s': %s" % (d.getVar('PN'), pkg, param, e))
 
             # Read all passwd files specified in USERADD_UID_TABLES or files/passwd
             # Use the standard passwd layout:
@@ -140,13 +140,13 @@ def update_useradd_static_config(d):
                 uaargs.gid = uaargs.groupid
                 uaargs.user_group = None
                 if newgroup and is_pkg:
-                    groupadd = d.getVar("GROUPADD_PARAM_%s" % pkg)
+                    groupadd = d.getVar("GROUPADD_PARAM:%s" % pkg)
                     if groupadd:
                         # Only add the group if not already specified
                         if not uaargs.groupname in groupadd:
-                            d.setVar("GROUPADD_PARAM_%s" % pkg, "%s; %s" % (groupadd, newgroup))
+                            d.setVar("GROUPADD_PARAM:%s" % pkg, "%s; %s" % (groupadd, newgroup))
                     else:
-                        d.setVar("GROUPADD_PARAM_%s" % pkg, newgroup)
+                        d.setVar("GROUPADD_PARAM:%s" % pkg, newgroup)
 
             uaargs.comment = "'%s'" % field[4] if field[4] else uaargs.comment
             uaargs.home_dir = field[5] or uaargs.home_dir
@@ -198,7 +198,7 @@ def update_useradd_static_config(d):
                 # If we're processing multiple lines, we could have left over values here...
                 gaargs = parser.parse_args(oe.useradd.split_args(param))
             except Exception as e:
-                bb.fatal("%s: Unable to parse arguments for GROUPADD_PARAM_%s '%s': %s" % (d.getVar('PN'), pkg, param, e))
+                bb.fatal("%s: Unable to parse arguments for GROUPADD_PARAM:%s '%s': %s" % (d.getVar('PN'), pkg, param, e))
 
             # Read all group files specified in USERADD_GID_TABLES or files/group
             # Use the standard group layout:
@@ -265,17 +265,17 @@ def update_useradd_static_config(d):
     for pkg in useradd_packages.split():
         # Groupmems doesn't have anything we might want to change, so simply validating
         # is a bit of a waste -- only process useradd/groupadd
-        useradd_param = d.getVar('USERADD_PARAM_%s' % pkg)
+        useradd_param = d.getVar('USERADD_PARAM:%s' % pkg)
         if useradd_param:
-            #bb.warn("Before: 'USERADD_PARAM_%s' - '%s'" % (pkg, useradd_param))
-            d.setVar('USERADD_PARAM_%s' % pkg, rewrite_useradd(useradd_param, True))
-            #bb.warn("After:  'USERADD_PARAM_%s' - '%s'" % (pkg, d.getVar('USERADD_PARAM_%s' % pkg)))
+            #bb.warn("Before: 'USERADD_PARAM:%s' - '%s'" % (pkg, useradd_param))
+            d.setVar('USERADD_PARAM:%s' % pkg, rewrite_useradd(useradd_param, True))
+            #bb.warn("After:  'USERADD_PARAM:%s' - '%s'" % (pkg, d.getVar('USERADD_PARAM:%s' % pkg)))
 
-        groupadd_param = d.getVar('GROUPADD_PARAM_%s' % pkg)
+        groupadd_param = d.getVar('GROUPADD_PARAM:%s' % pkg)
         if groupadd_param:
-            #bb.warn("Before: 'GROUPADD_PARAM_%s' - '%s'" % (pkg, groupadd_param))
-            d.setVar('GROUPADD_PARAM_%s' % pkg, rewrite_groupadd(groupadd_param, True))
-            #bb.warn("After:  'GROUPADD_PARAM_%s' - '%s'" % (pkg, d.getVar('GROUPADD_PARAM_%s' % pkg)))
+            #bb.warn("Before: 'GROUPADD_PARAM:%s' - '%s'" % (pkg, groupadd_param))
+            d.setVar('GROUPADD_PARAM:%s' % pkg, rewrite_groupadd(groupadd_param, True))
+            #bb.warn("After:  'GROUPADD_PARAM:%s' - '%s'" % (pkg, d.getVar('GROUPADD_PARAM:%s' % pkg)))
 
     # Load and process extra users and groups, rewriting only adduser/addgroup params
     pkg = d.getVar('PN')
diff --git a/meta/classes/useradd.bbclass b/meta/classes/useradd.bbclass
index e5f3ba24f9d..fdec5cca560 100644
--- a/meta/classes/useradd.bbclass
+++ b/meta/classes/useradd.bbclass
@@ -3,7 +3,7 @@ inherit useradd_base
 # base-passwd-cross provides the default passwd and group files in the
 # target sysroot, and shadow -native and -sysroot provide the utilities
 # and support files needed to add and modify user and group accounts
-DEPENDS_append_class-target = " base-files shadow-native shadow-sysroot shadow base-passwd"
+DEPENDS:append:class-target = " base-files shadow-native shadow-sysroot shadow base-passwd"
 PACKAGE_WRITE_DEPS += "shadow-native"
 
 # This preinstall function can be run in four different contexts:
@@ -164,16 +164,16 @@ python useradd_sysroot_sstate () {
 }
 
 do_prepare_recipe_sysroot[postfuncs] += "${SYSROOTFUNC}"
-SYSROOTFUNC_class-target = "useradd_sysroot_sstate"
+SYSROOTFUNC:class-target = "useradd_sysroot_sstate"
 SYSROOTFUNC = ""
 
 SYSROOT_PREPROCESS_FUNCS += "${SYSROOTFUNC}"
 
-SSTATEPREINSTFUNCS_append_class-target = " useradd_sysroot_sstate"
+SSTATEPREINSTFUNCS:append:class-target = " useradd_sysroot_sstate"
 
 do_package_setscene[depends] += "${USERADDSETSCENEDEPS}"
 do_populate_sysroot_setscene[depends] += "${USERADDSETSCENEDEPS}"
-USERADDSETSCENEDEPS_class-target = "${MLPREFIX}base-passwd:do_populate_sysroot_setscene pseudo-native:do_populate_sysroot_setscene shadow-native:do_populate_sysroot_setscene ${MLPREFIX}shadow-sysroot:do_populate_sysroot_setscene"
+USERADDSETSCENEDEPS:class-target = "${MLPREFIX}base-passwd:do_populate_sysroot_setscene pseudo-native:do_populate_sysroot_setscene shadow-native:do_populate_sysroot_setscene ${MLPREFIX}shadow-sysroot:do_populate_sysroot_setscene"
 USERADDSETSCENEDEPS = ""
 
 # Recipe parse-time sanity checks
@@ -184,8 +184,8 @@ def update_useradd_after_parse(d):
         bb.fatal("%s inherits useradd but doesn't set USERADD_PACKAGES" % d.getVar('FILE', False))
 
     for pkg in useradd_packages.split():
-        d.appendVarFlag("do_populate_sysroot", "vardeps", "USERADD_PARAM_%s GROUPADD_PARAM_%s GROUPMEMS_PARAM_%s" % (pkg, pkg, pkg))
-        if not d.getVar('USERADD_PARAM_%s' % pkg) and not d.getVar('GROUPADD_PARAM_%s' % pkg) and not d.getVar('GROUPMEMS_PARAM_%s' % pkg):
+        d.appendVarFlag("do_populate_sysroot", "vardeps", "USERADD_PARAM:%s GROUPADD_PARAM:%s GROUPMEMS_PARAM:%s" % (pkg, pkg, pkg))
+        if not d.getVar('USERADD_PARAM:%s' % pkg) and not d.getVar('GROUPADD_PARAM:%s' % pkg) and not d.getVar('GROUPMEMS_PARAM:%s' % pkg):
             bb.fatal("%s inherits useradd but doesn't set USERADD_PARAM, GROUPADD_PARAM or GROUPMEMS_PARAM for package %s" % (d.getVar('FILE', False), pkg))
 
 python __anonymous() {
@@ -211,7 +211,7 @@ def get_all_cmd_params(d, cmd_type):
     return "; ".join(params)
 
 # Adds the preinst script into generated packages
-fakeroot python populate_packages_prepend () {
+fakeroot python populate_packages:prepend () {
     def update_useradd_package(pkg):
         bb.debug(1, 'adding user/group calls to preinst for %s' % pkg)
 
@@ -220,7 +220,7 @@ fakeroot python populate_packages_prepend () {
         required to execute on the target. Not doing so may cause
         useradd preinst to be invoked twice, causing unwanted warnings.
         """
-        preinst = d.getVar('pkg_preinst_%s' % pkg) or d.getVar('pkg_preinst')
+        preinst = d.getVar('pkg_preinst:%s' % pkg) or d.getVar('pkg_preinst')
         if not preinst:
             preinst = '#!/bin/sh\n'
         preinst += 'bbnote () {\n\techo "NOTE: $*"\n}\n'
@@ -230,15 +230,15 @@ fakeroot python populate_packages_prepend () {
         preinst += 'perform_useradd () {\n%s}\n' % d.getVar('perform_useradd')
         preinst += 'perform_groupmems () {\n%s}\n' % d.getVar('perform_groupmems')
         preinst += d.getVar('useradd_preinst')
-        d.setVar('pkg_preinst_%s' % pkg, preinst)
+        d.setVar('pkg_preinst:%s' % pkg, preinst)
 
         # RDEPENDS setup
-        rdepends = d.getVar("RDEPENDS_%s" % pkg) or ""
+        rdepends = d.getVar("RDEPENDS:%s" % pkg) or ""
         rdepends += ' ' + d.getVar('MLPREFIX', False) + 'base-passwd'
         rdepends += ' ' + d.getVar('MLPREFIX', False) + 'shadow'
         # base-files is where the default /etc/skel is packaged
         rdepends += ' ' + d.getVar('MLPREFIX', False) + 'base-files'
-        d.setVar("RDEPENDS_%s" % pkg, rdepends)
+        d.setVar("RDEPENDS:%s" % pkg, rdepends)
 
     # Add the user/group preinstall scripts and RDEPENDS requirements
     # to packages specified by USERADD_PACKAGES
diff --git a/meta/classes/utility-tasks.bbclass b/meta/classes/utility-tasks.bbclass
index b1f27d3658f..34d6b8f4d52 100644
--- a/meta/classes/utility-tasks.bbclass
+++ b/meta/classes/utility-tasks.bbclass
@@ -19,7 +19,7 @@ python do_listtasks() {
 
 CLEANFUNCS ?= ""
 
-T_task-clean = "${LOG_DIR}/cleanlogs/${PN}"
+T:task-clean = "${LOG_DIR}/cleanlogs/${PN}"
 addtask clean
 do_clean[nostamp] = "1"
 python do_clean() {
diff --git a/meta/classes/vala.bbclass b/meta/classes/vala.bbclass
index bcaf68c5a78..bfcceff7cf8 100644
--- a/meta/classes/vala.bbclass
+++ b/meta/classes/vala.bbclass
@@ -2,8 +2,8 @@
 # because that is where target builds look for .vapi files.
 #
 VALADEPENDS = ""
-VALADEPENDS_class-target = "vala"
-DEPENDS_append = " vala-native ${VALADEPENDS}"
+VALADEPENDS:class-target = "vala"
+DEPENDS:append = " vala-native ${VALADEPENDS}"
 
 # Our patched version of Vala looks in STAGING_DATADIR for .vapi files
 export STAGING_DATADIR
@@ -11,7 +11,7 @@ export STAGING_DATADIR
 export XDG_DATA_DIRS = "${STAGING_DATADIR}:${STAGING_LIBDIR}"
 
 # Package additional files
-FILES_${PN}-dev += "\
+FILES:${PN}-dev += "\
     ${datadir}/vala/vapi/*.vapi \
     ${datadir}/vala/vapi/*.deps \
     ${datadir}/gir-1.0 \
@@ -19,6 +19,6 @@ FILES_${PN}-dev += "\
 
 # Remove vapigen.m4 that is bundled with tarballs
 # because it does not yet have our cross-compile fixes
-do_configure_prepend() {
+do_configure:prepend() {
         rm -f ${S}/m4/vapigen.m4
 }
diff --git a/meta/classes/waf.bbclass b/meta/classes/waf.bbclass
index 188119f3565..df0ab8d73ff 100644
--- a/meta/classes/waf.bbclass
+++ b/meta/classes/waf.bbclass
@@ -8,7 +8,7 @@ WAF_PYTHON ?= "python3"
 B = "${WORKDIR}/build"
 do_configure[cleandirs] += "${B}"
 
-EXTRA_OECONF_append = " ${PACKAGECONFIG_CONFARGS}"
+EXTRA_OECONF:append = " ${PACKAGECONFIG_CONFARGS}"
 
 EXTRA_OEWAF_BUILD ??= ""
 # In most cases, you want to pass the same arguments to `waf build` and `waf
diff --git a/meta/classes/xmlcatalog.bbclass b/meta/classes/xmlcatalog.bbclass
index ae4811fdeb9..be155b7bc28 100644
--- a/meta/classes/xmlcatalog.bbclass
+++ b/meta/classes/xmlcatalog.bbclass
@@ -4,7 +4,7 @@ DEPENDS = "libxml2-native"
 # "${sysconfdir}/xml/docbook-xml.xml".
 XMLCATALOGS ?= ""
 
-SYSROOT_PREPROCESS_FUNCS_append = " xmlcatalog_sstate_postinst"
+SYSROOT_PREPROCESS_FUNCS:append = " xmlcatalog_sstate_postinst"
 
 xmlcatalog_complete() {
 	ROOTCATALOG="${STAGING_ETCDIR_NATIVE}/xml/catalog"
diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
index 821dae2ba61..f2ceb26c042 100644
--- a/meta/conf/bitbake.conf
+++ b/meta/conf/bitbake.conf
@@ -10,8 +10,8 @@
 baselib = "${BASELIB}"
 baselib[vardepvalue] = "${baselib}"
 BASELIB = "lib"
-BASELIB_libc-glibc_powerpc64 = "lib64"
-BASELIB_libc-glibc_powerpc64le = "lib64"
+BASELIB:libc-glibc:powerpc64 = "lib64"
+BASELIB:libc-glibc:powerpc64le = "lib64"
 
 # Path prefixes
 export base_prefix = ""
@@ -80,8 +80,8 @@ localstatedir_nativesdk = "/var"
 target_datadir := "${datadir}"
 # Used to find env/perl/python
 USRBINPATH = "${bindir}"
-USRBINPATH_class-native = "/usr/bin"
-USRBINPATH_class-nativesdk = "/usr/bin"
+USRBINPATH:class-native = "/usr/bin"
+USRBINPATH:class-nativesdk = "/usr/bin"
 
 # Root home directory
 ROOT_HOME ??= "/home/root"
@@ -121,7 +121,7 @@ TUNE_CCARGS ??= ""
 TUNE_CCARGS[vardepvalue] = "${TUNE_CCARGS}"
 TUNE_LDARGS ??= ""
 TUNE_ASARGS ??= ""
-TUNE_FEATURES ??= "${TUNE_FEATURES_tune-${DEFAULTTUNE}}"
+TUNE_FEATURES ??= "${TUNE_FEATURES:tune-${DEFAULTTUNE}}"
 LIBCEXTENSION ??= ""
 ABIEXTENSION ??= ""
 USE_NLS ??= "yes"
@@ -150,7 +150,7 @@ SDK_AS_ARCH = "${BUILD_AS_ARCH}"
 TUNE_PKGARCH ??= ""
 PACKAGE_ARCH ??= "${TUNE_PKGARCH}"
 MACHINE_ARCH = "${@[d.getVar('TUNE_PKGARCH'), d.getVar('MACHINE')][bool(d.getVar('MACHINE'))].replace('-', '_')}"
-PACKAGE_EXTRA_ARCHS ??= "${PACKAGE_EXTRA_ARCHS_tune-${DEFAULTTUNE}}"
+PACKAGE_EXTRA_ARCHS ??= "${PACKAGE_EXTRA_ARCHS:tune-${DEFAULTTUNE}}"
 PACKAGE_ARCHS = "all any noarch ${PACKAGE_EXTRA_ARCHS} ${MACHINE_ARCH}"
 # MACHINE_ARCH shouldn't be included here as a variable dependency
 # since machine specific packages are handled using multimachine
@@ -239,25 +239,25 @@ DESCRIPTION ?= "${SUMMARY}."
 #SUMMARY_${PN} ?= "${SUMMARY}"
 #DESCRIPTION_${PN} ?= "${DESCRIPTION}"
 
-SUMMARY_${PN}-src ?= "${SUMMARY} - Source files"
-DESCRIPTION_${PN}-src ?= "${DESCRIPTION}  \
+SUMMARY:${PN}-src ?= "${SUMMARY} - Source files"
+DESCRIPTION:${PN}-src ?= "${DESCRIPTION}  \
 This package contains sources for debugging purposes."
 
-SUMMARY_${PN}-dbg ?= "${SUMMARY} - Debugging files"
-DESCRIPTION_${PN}-dbg ?= "${DESCRIPTION}  \
+SUMMARY:${PN}-dbg ?= "${SUMMARY} - Debugging files"
+DESCRIPTION:${PN}-dbg ?= "${DESCRIPTION}  \
 This package contains ELF symbols and related sources for debugging purposes."
 
-SUMMARY_${PN}-dev ?= "${SUMMARY} - Development files"
-DESCRIPTION_${PN}-dev ?= "${DESCRIPTION}  \
+SUMMARY:${PN}-dev ?= "${SUMMARY} - Development files"
+DESCRIPTION:${PN}-dev ?= "${DESCRIPTION}  \
 This package contains symbolic links, header files, and \
 related items necessary for software development."
 
-SUMMARY_${PN}-staticdev ?= "${SUMMARY} - Development files (Static Libraries)"
-DESCRIPTION_${PN}-staticdev ?= "${DESCRIPTION}  \
+SUMMARY:${PN}-staticdev ?= "${SUMMARY} - Development files (Static Libraries)"
+DESCRIPTION:${PN}-staticdev ?= "${DESCRIPTION}  \
 This package contains static libraries for software development."
 
-SUMMARY_${PN}-doc ?= "${SUMMARY} - Documentation files"
-DESCRIPTION_${PN}-doc ?= "${DESCRIPTION}  \
+SUMMARY:${PN}-doc ?= "${SUMMARY} - Documentation files"
+DESCRIPTION:${PN}-doc ?= "${DESCRIPTION}  \
 This package contains documentation."
 
 LICENSE ??= "INVALID"
@@ -273,18 +273,18 @@ DEPCHAIN_POST = "-dev -dbg"
 
 DEPENDS = ""
 PROVIDES = ""
-PROVIDES_prepend = "${PN} "
+PROVIDES:prepend = "${PN} "
 
 MULTI_PROVIDER_WHITELIST = "virtual/libintl virtual/libintl-native virtual/nativesdk-libintl virtual/xserver virtual/update-alternatives-native virtual/update-alternatives"
 
 SOLIBS = ".so.*"
-SOLIBS_darwin = ".dylib"
+SOLIBS:darwin = ".dylib"
 
 SOLIBSDEV = ".so"
 # Due to the ordering of PACKAGES and the naming of the dev symlinks on darwin,
 # we can't make the symlinks end up in the -dev packages easily at this point. This hack
 # at least means builds aren't completely broken and symlinks don't take up much space.
-SOLIBSDEV_darwin = ".dylibbroken"
+SOLIBSDEV:darwin = ".dylibbroken"
 
 PACKAGE_DEBUG_SPLIT_STYLE ?= "debug-with-srcpkg"
 
@@ -293,7 +293,7 @@ PACKAGES = "${PN}-src ${PN}-dbg ${PN}-staticdev ${PN}-dev ${PN}-doc ${PN}-locale
 PACKAGES_DYNAMIC = "^${PN}-locale-.*"
 FILES = ""
 
-FILES_${PN} = "${bindir}/* ${sbindir}/* ${libexecdir}/* ${libdir}/lib*${SOLIBS} \
+FILES:${PN} = "${bindir}/* ${sbindir}/* ${libexecdir}/* ${libdir}/lib*${SOLIBS} \
             ${sysconfdir} ${sharedstatedir} ${localstatedir} \
             ${base_bindir}/* ${base_sbindir}/* \
             ${base_libdir}/*${SOLIBS} \
@@ -304,36 +304,36 @@ FILES_${PN} = "${bindir}/* ${sbindir}/* ${libexecdir}/* ${libdir}/lib*${SOLIBS}
             ${datadir}/idl ${datadir}/omf ${datadir}/sounds \
             ${libdir}/bonobo/servers"
 
-FILES_${PN}-bin = "${bindir}/* ${sbindir}/*"
+FILES:${PN}-bin = "${bindir}/* ${sbindir}/*"
 
-FILES_${PN}-doc = "${docdir} ${mandir} ${infodir} ${datadir}/gtk-doc \
+FILES:${PN}-doc = "${docdir} ${mandir} ${infodir} ${datadir}/gtk-doc \
             ${datadir}/gnome/help"
-SECTION_${PN}-doc = "doc"
+SECTION:${PN}-doc = "doc"
 
 FILES_SOLIBSDEV ?= "${base_libdir}/lib*${SOLIBSDEV} ${libdir}/lib*${SOLIBSDEV}"
-FILES_${PN}-dev = "${includedir} ${FILES_SOLIBSDEV} ${libdir}/*.la \
+FILES:${PN}-dev = "${includedir} ${FILES_SOLIBSDEV} ${libdir}/*.la \
                 ${libdir}/*.o ${libdir}/pkgconfig ${datadir}/pkgconfig \
                 ${datadir}/aclocal ${base_libdir}/*.o \
                 ${libdir}/${BPN}/*.la ${base_libdir}/*.la \
                 ${libdir}/cmake ${datadir}/cmake"
-SECTION_${PN}-dev = "devel"
-ALLOW_EMPTY_${PN}-dev = "1"
-RDEPENDS_${PN}-dev = "${PN} (= ${EXTENDPKGV})"
+SECTION:${PN}-dev = "devel"
+ALLOW_EMPTY:${PN}-dev = "1"
+RDEPENDS:${PN}-dev = "${PN} (= ${EXTENDPKGV})"
 
-FILES_${PN}-staticdev = "${libdir}/*.a ${base_libdir}/*.a ${libdir}/${BPN}/*.a"
-SECTION_${PN}-staticdev = "devel"
-RDEPENDS_${PN}-staticdev = "${PN}-dev (= ${EXTENDPKGV})"
+FILES:${PN}-staticdev = "${libdir}/*.a ${base_libdir}/*.a ${libdir}/${BPN}/*.a"
+SECTION:${PN}-staticdev = "devel"
+RDEPENDS:${PN}-staticdev = "${PN}-dev (= ${EXTENDPKGV})"
 
-FILES_${PN}-dbg = "/usr/lib/debug /usr/lib/debug-static /usr/src/debug"
-SECTION_${PN}-dbg = "devel"
-ALLOW_EMPTY_${PN}-dbg = "1"
+FILES:${PN}-dbg = "/usr/lib/debug /usr/lib/debug-static /usr/src/debug"
+SECTION:${PN}-dbg = "devel"
+ALLOW_EMPTY:${PN}-dbg = "1"
 
 # The files list for source packages are dynamically set based on
 # PACKAGE_DEBUG_SPLIT_STYLE
-FILES_${PN}-src = ""
-SECTION_${PN}-src = "devel"
+FILES:${PN}-src = ""
+SECTION:${PN}-src = "devel"
 
-FILES_${PN}-locale = "${datadir}/locale"
+FILES:${PN}-locale = "${datadir}/locale"
 
 # File manifest
 
@@ -430,11 +430,11 @@ SDKPATHNATIVE = "${SDKPATH}/sysroots/${SDK_SYS}"
 ##################################################################
 
 OLDEST_KERNEL = "3.2.0"
-OLDEST_KERNEL_aarch64 = "3.14"
-OLDEST_KERNEL_nios2 = "3.19"
-OLDEST_KERNEL_powerpc64le = "3.10.0"
-OLDEST_KERNEL_riscv32 = "5.4"
-OLDEST_KERNEL_riscv64 = "4.15"
+OLDEST_KERNEL:aarch64 = "3.14"
+OLDEST_KERNEL:nios2 = "3.19"
+OLDEST_KERNEL:powerpc64le = "3.10.0"
+OLDEST_KERNEL:riscv32 = "5.4"
+OLDEST_KERNEL:riscv64 = "4.15"
 
 # SDK_OLDEST_KERNEL can't be set using overrides since there are
 # none for the SDK architecture. Best to set it from a machine-sdk
@@ -469,7 +469,7 @@ EXTRA_IMAGEDEPENDS = ""
 # Toolchain info.
 ##################################################################
 
-PATH_prepend = "${COREBASE}/scripts:${STAGING_BINDIR_TOOLCHAIN}:${STAGING_BINDIR_CROSS}:${STAGING_DIR_NATIVE}${sbindir_native}:${STAGING_BINDIR_NATIVE}:${STAGING_DIR_NATIVE}${base_sbindir_native}:${STAGING_DIR_NATIVE}${base_bindir_native}:"
+PATH:prepend = "${COREBASE}/scripts:${STAGING_BINDIR_TOOLCHAIN}:${STAGING_BINDIR_CROSS}:${STAGING_DIR_NATIVE}${sbindir_native}:${STAGING_BINDIR_NATIVE}:${STAGING_DIR_NATIVE}${base_sbindir_native}:${STAGING_DIR_NATIVE}${base_bindir_native}:"
 export PATH
 
 ##################################################################
@@ -597,13 +597,13 @@ ASNEEDED ?= "-Wl,--as-needed"
 export LDFLAGS = "${TARGET_LDFLAGS}"
 TARGET_LDFLAGS = "-Wl,-O1 ${TARGET_LINK_HASH_STYLE} ${ASNEEDED}"
 # mips does not support GNU hash style therefore we override
-LINKER_HASH_STYLE_mipsarch_libc-musl = "sysv"
+LINKER_HASH_STYLE:mipsarch:libc-musl = "sysv"
 
 # Pass parallel make options to the compile task
-EXTRA_OEMAKE_prepend_task-compile = "${PARALLEL_MAKE} "
+EXTRA_OEMAKE:prepend:task-compile = "${PARALLEL_MAKE} "
 PARALLEL_MAKEINST ??= "${PARALLEL_MAKE}"
 # Pass parallel make options to the install task
-EXTRA_OEMAKE_prepend_task-install = "${PARALLEL_MAKEINST} "
+EXTRA_OEMAKE:prepend:task-install = "${PARALLEL_MAKEINST} "
 
 ##################################################################
 # Optimization flags.
diff --git a/meta/conf/distro/include/default-distrovars.inc b/meta/conf/distro/include/default-distrovars.inc
index e0726fa3bb6..f91df632d5f 100644
--- a/meta/conf/distro/include/default-distrovars.inc
+++ b/meta/conf/distro/include/default-distrovars.inc
@@ -8,13 +8,13 @@ IMAGE_LINGUAS ?= "en-us en-gb"
 ENABLE_BINARY_LOCALE_GENERATION ?= "1"
 LOCALE_UTF8_ONLY ?= "0"
 LOCALE_UTF8_IS_DEFAULT ?= "1"
-LOCALE_UTF8_IS_DEFAULT_class-nativesdk = "0"
+LOCALE_UTF8_IS_DEFAULT:class-nativesdk = "0"
 
 # seccomp is not yet ported to rv32
-DISTRO_FEATURES_DEFAULT_remove_riscv32 = "seccomp"
+DISTRO_FEATURES_DEFAULT:remove:riscv32 = "seccomp"
 
 # seccomp is not yet ported to ARC
-DISTRO_FEATURES_DEFAULT_remove_arc = "seccomp"
+DISTRO_FEATURES_DEFAULT:remove:arc = "seccomp"
 
 DISTRO_FEATURES_DEFAULT ?= "acl alsa argp bluetooth debuginfod ext2 ipv4 ipv6 largefile pcmcia usbgadget usbhost wifi xattr nfs zeroconf pci 3g nfc x11 vfat seccomp"
 DISTRO_FEATURES ?= "${DISTRO_FEATURES_DEFAULT}"
@@ -45,8 +45,8 @@ GTK2DISTROFEATURES = "directfb x11"
 GTK3DISTROFEATURES = "x11 wayland"
 
 ARCH_DEFAULT_KERNELIMAGETYPE = "zImage"
-ARCH_DEFAULT_KERNELIMAGETYPE_x86 = "bzImage"
-ARCH_DEFAULT_KERNELIMAGETYPE_x86-64 = "bzImage"
+ARCH_DEFAULT_KERNELIMAGETYPE:x86 = "bzImage"
+ARCH_DEFAULT_KERNELIMAGETYPE:x86-64 = "bzImage"
 KERNEL_IMAGETYPE ??= "${ARCH_DEFAULT_KERNELIMAGETYPE}"
 KERNEL_IMAGETYPES ??= "${KERNEL_IMAGETYPE}"
 
diff --git a/meta/conf/distro/include/distro_alias.inc b/meta/conf/distro/include/distro_alias.inc
index 001d269346b..44bc3bf1315 100644
--- a/meta/conf/distro/include/distro_alias.inc
+++ b/meta/conf/distro/include/distro_alias.inc
@@ -5,383 +5,383 @@
 #
 # The format is as a bitbake variable override for each recipe
 #
-#       DISTRO_PN_ALIAS_pn-<recipe name> = "Distro1=<pkgname> Distro2=<pkgname>"
+#       DISTRO_PN_ALIAS:pn-<recipe name> = "Distro1=<pkgname> Distro2=<pkgname>"
 #
 # Please keep this list in alphabetical order.
 #
-DISTRO_PN_ALIAS_pn-alsa-state = "OE-Core"
-DISTRO_PN_ALIAS_pn-alsa-utils-alsaconf = "OE-Core"
-DISTRO_PN_ALIAS_pn-alsa-utils-scripts = "OE-Core"
-DISTRO_PN_ALIAS_pn-atk = "Fedora=atk OpenSuSE=atk"
-DISTRO_PN_ALIAS_pn-avahi-ui = "Ubuntu=avahi-discover Debian=avahi-discover"
-DISTRO_PN_ALIAS_pn-babeltrace = "OSPDT"
-DISTRO_PN_ALIAS_pn-babeltrace2 = "OSPDT"
-DISTRO_PN_ALIAS_pn-bjam = "OpenSuSE=boost-jam Debian=bjam"
-DISTRO_PN_ALIAS_pn-blktool = "Debian=blktool Mandriva=blktool"
-DISTRO_PN_ALIAS_pn-bluez5 = "Fedora=bluez  Opensuse=bluez"
-DISTRO_PN_ALIAS_pn-bootchart2 = "Fedora=bootchart2 Opensuse=bootchart"
-DISTRO_PN_ALIAS_pn-btrfs-tools = "Debian=btrfs-tools Fedora=btrfs-progs"
-DISTRO_PN_ALIAS_pn-build-appliance-image = "OSPDT"
-DISTRO_PN_ALIAS_pn-builder = "OE-Core"
-DISTRO_PN_ALIAS_pn-buildtools-tarball = "OE-Core"
-DISTRO_PN_ALIAS_pn-cdrtools = "OpenSUSE=cdrtools OSPDT"
-DISTRO_PN_ALIAS_pn-chkconfig-alternatives = "Mandriva=chkconfig Debian=chkconfig"
-DISTRO_PN_ALIAS_pn-connman = "Meego=connman"
-DISTRO_PN_ALIAS_pn-connman-conf = "OE-Core"
-DISTRO_PN_ALIAS_pn-connman-gnome = "Intel"
-DISTRO_PN_ALIAS_pn-console-tools = "Debian=console-tools Ubuntu=console-tools"
-DISTRO_PN_ALIAS_pn-core-image-base = "OE-Core"
-DISTRO_PN_ALIAS_pn-core-image-full-cmdline = "OE-Core"
-DISTRO_PN_ALIAS_pn-core-image-kernel-dev = "OE-Core"
-DISTRO_PN_ALIAS_pn-core-image-minimal = "OE-Core"
-DISTRO_PN_ALIAS_pn-core-image-minimal-dev = "OE-Core"
-DISTRO_PN_ALIAS_pn-core-image-minimal-initramfs = "OE-Core"
-DISTRO_PN_ALIAS_pn-core-image-minimal-mtdutils = "OE-Core"
-DISTRO_PN_ALIAS_pn-core-image-rt = "OE-Core"
-DISTRO_PN_ALIAS_pn-core-image-rt-sdk = "OE-Core"
-DISTRO_PN_ALIAS_pn-core-image-sato = "OE-Core"
-DISTRO_PN_ALIAS_pn-core-image-sato-dev = "OE-Core"
-DISTRO_PN_ALIAS_pn-core-image-sato-sdk = "OE-Core"
-DISTRO_PN_ALIAS_pn-core-image-testmaster = "OE-Core"
-DISTRO_PN_ALIAS_pn-core-image-testmaster-initramfs = "OE-Core"
-DISTRO_PN_ALIAS_pn-core-image-weston = "OE-Core"
-DISTRO_PN_ALIAS_pn-core-image-x11 = "OE-Core"
-DISTRO_PN_ALIAS_pn-createrepo-c = "Fedora=createrepo_c Clear=createrepo_c"
-DISTRO_PN_ALIAS_pn-cross-localedef = "OSPDT"
-DISTRO_PN_ALIAS_pn-cryptodev-linux = "OE-Core"
-DISTRO_PN_ALIAS_pn-cryptodev-module = "OE-Core"
-DISTRO_PN_ALIAS_pn-cryptodev-tests = "OE-Core"
-DISTRO_PN_ALIAS_pn-cwautomacros = "OSPDT upstream=http://cwautomacros.berlios.de/"
-DISTRO_PN_ALIAS_pn-db = "Debian=db5.1 Ubuntu=db5.1"
-DISTRO_PN_ALIAS_pn-dbus-test = "Fedora=dbus Ubuntu=dbus"
-DISTRO_PN_ALIAS_pn-dbus-wait = "OpenedHand"
-DISTRO_PN_ALIAS_pn-depmodwrapper-cross = "OE-Core"
-DISTRO_PN_ALIAS_pn-distcc = "Debian=distcc Fedora=distcc"
-DISTRO_PN_ALIAS_pn-distcc-config = "OpenedHand"
-DISTRO_PN_ALIAS_pn-docbook-dsssl-stylesheets = "Fedora=docbook-style-dsssl Ubuntu=docbook-dsssl"
-DISTRO_PN_ALIAS_pn-docbook-sgml-dtd-3.1 = "Fedora=docbook-dtds Mandriva=docbook-dtd31-sgml"
-DISTRO_PN_ALIAS_pn-docbook-sgml-dtd-4.1 = "Fedora=docbook-dtds Mandriva=docbook-dtd41-sgml"
-DISTRO_PN_ALIAS_pn-docbook-sgml-dtd-4.5 = "Fedora=docbook-dtds Mandriva=docbook-dtd42-sgml"
-DISTRO_PN_ALIAS_pn-docbook-xml-dtd4 = "Ubuntu=docbook-xml Fedora=docbook-dtds"
-DISTRO_PN_ALIAS_pn-docbook-xml-dtd4-native = "Ubuntu=docbook-xml Fedora=docbook-dtds"
-DISTRO_PN_ALIAS_pn-docbook-xsl-stylesheets = "Fedora=docbook-xsl-stylesheets Opensuse=docbook-xsl-stylesheets"
-DISTRO_PN_ALIAS_pn-dropbear = "Debian=dropbear Ubuntu=dropbear"
-DISTRO_PN_ALIAS_pn-dtc = "Fedora=dtc Ubuntu=dtc"
-DISTRO_PN_ALIAS_pn-encodings = "Ubuntu=xfonts-encodings Mandriva=x11-font-encodings Debian=xfonts-encodings"
-DISTRO_PN_ALIAS_pn-font-alias = "Fedora=xorg-x11-fonts-base Mandriva=x11-font-alias Meego=xorg-x11-fonts"
-DISTRO_PN_ALIAS_pn-font-util = "Meego=xorg-x11-font-utils Fedora=xorg-x11-font-utils Ubuntu=xfonts-utils Mandriva=x11-font-util Debian=xfonts-utils"
-DISTRO_PN_ALIAS_pn-formfactor = "OE-Core"
-DISTRO_PN_ALIAS_pn-gccmakedep = "Mandriva=gccmakedep Ubuntu=xutils-dev"
-DISTRO_PN_ALIAS_pn-gcc-runtime = "Ubuntu=gcc Fedora=gcc"
-DISTRO_PN_ALIAS_pn-gcc-sanitizers = "Ubuntu=gcc Fedora=gcc"
-DISTRO_PN_ALIAS_pn-gcc-source = "Ubuntu=gcc Fedora=gcc"
-DISTRO_PN_ALIAS_pn-gconf-dbus = "Meego=GConf-dbus"
-DISTRO_PN_ALIAS_pn-gdk-pixbuf = "Debian=libgdk-pixbuf2.0 Fedora=gdk-pixbuf"
-DISTRO_PN_ALIAS_pn-gdk-pixbuf-csource = "Debian=libgdk-pixbuf2.0-0 Fedora=gdk-pixbuf2"
-DISTRO_PN_ALIAS_pn-gettext-minimal = "Debian=gettext Fedora=gettext"
-DISTRO_PN_ALIAS_pn-glib-2.0 = "Meego=glib2 Fedora=glib2 OpenSuSE=glib2 Ubuntu=glib2.0 Mandriva=glib2.0 Debian=glib2.0"
-DISTRO_PN_ALIAS_pn-glibc-locale = "OpenSuSE=glibc-locale Fedora=glibc-devel"
-DISTRO_PN_ALIAS_pn-glibc-mtrace = "Fedora=glibc-utils Ubuntu=libc-dev-bin"
-DISTRO_PN_ALIAS_pn-glibc-scripts = "Fedora=glibc Ubuntu=libc-bin"
-DISTRO_PN_ALIAS_pn-gnome-desktop-testing = "Debian=gnome-desktop-testing Fedora=gnome-desktop-testing"
-DISTRO_PN_ALIAS_pn-gnu-config = "OpenedHand"
-DISTRO_PN_ALIAS_pn-gptfdisk = "Fedora=gdisk Ubuntu=gdisk"
-DISTRO_PN_ALIAS_pn-grub-efi = "Debian=grub-efi Fedora=grub2-efi"
-DISTRO_PN_ALIAS_pn-gst-player = "Ubuntu=gst-player Fedora=gstreamer-player"
-DISTRO_PN_ALIAS_pn-gst-plugin-bluetooth = "Ubuntu=libgstreamer-plugins-base Fedora=gstreamer-plugins-base"
-DISTRO_PN_ALIAS_pn-gstreamer1.0 = "Debian=gstreamer1.0 Ubuntu=gstreamer1.0"
-DISTRO_PN_ALIAS_pn-gstreamer1.0-meta-base = "Meego=gstreamer Fedora=gstreamer OpenSuSE=gstreamer Ubuntu=gstreamer0.10"
-DISTRO_PN_ALIAS_pn-gstreamer1.0-plugins-bad = "Debian=gstreamer1.0-plugins-bad Ubuntu=gstreamer1.0-plugins-bad"
-DISTRO_PN_ALIAS_pn-gstreamer1.0-plugins-base = "Debian=gstreamer1.0-plugins-base Ubuntu=gstreamer1.0-plugins-base"
-DISTRO_PN_ALIAS_pn-gstreamer1.0-plugins-good = "Debian=gstreamer1.0-plugins-good Ubuntu=gstreamer1.0-plugins-bad"
-DISTRO_PN_ALIAS_pn-gstreamer1.0-rtsp-server = "Ubuntu=gstreamer0.10-rtsp Fedora=gstreamer-rtsp"
-DISTRO_PN_ALIAS_pn-gstreamer1.0-vaapi = "Fedora=gstreamer1-vaapi Debian=gstreamer-vaapi Clear=gstreamer-vaapi"
-DISTRO_PN_ALIAS_pn-gtk+ = "Meego=gtk2 Fedora=gtk2 OpenSuSE=gtk2 Ubuntu=gtk+2.0 Mandriva=gtk+2.0 Debian=gtk+2.0"
-DISTRO_PN_ALIAS_pn-gtk+3 = "Ubuntu=gtk+3.0 Debian=gtk+3.0 Fedora=gtk3"
-DISTRO_PN_ALIAS_pn-gtk-doc = "Fedora=gtk-doc Ubuntu=gtk-doc"
-DISTRO_PN_ALIAS_pn-gtk-engines = "Fedora=gtk2-engines OpenSuSE=gtk2-engines Ubuntu=gtk2-engines Mandriva=gtk-engines2 Debian=gtk2-engines"
-DISTRO_PN_ALIAS_pn-gtk-sato-engine = "OpenedHand"
-DISTRO_PN_ALIAS_pn-gtk-icon-utils-native = "OSPDT"
-DISTRO_PN_ALIAS_pn-systemd-boot = "Ubuntu=systemd-boot Fedora=systemd-boot"
-DISTRO_PN_ALIAS_pn-hello-mod = "OE-Core"
-DISTRO_PN_ALIAS_pn-hwlatdetect = "OSPDT"
-DISTRO_PN_ALIAS_pn-icecc-create-env = "OE-Core"
-DISTRO_PN_ALIAS_pn-init-ifupdown = "Debian=ifupdown Ubuntu=ifupdown"
-DISTRO_PN_ALIAS_pn-initramfs-boot = "OE-Core"
-DISTRO_PN_ALIAS_pn-initramfs-framework = "OE-Core"
-DISTRO_PN_ALIAS_pn-initramfs-live-boot = "OE-Core"
-DISTRO_PN_ALIAS_pn-initramfs-live-install = "OE-Core"
-DISTRO_PN_ALIAS_pn-initramfs-live-install-efi = "OE-Core"
-DISTRO_PN_ALIAS_pn-initramfs-live-install-efi-testfs = "OE-Core"
-DISTRO_PN_ALIAS_pn-initramfs-live-install-testfs = "OE-Core"
-DISTRO_PN_ALIAS_pn-initscripts = "Fedora=initscripts Mandriva=initscripts"
-DISTRO_PN_ALIAS_pn-iproute2 = "OSPDT"
-DISTRO_PN_ALIAS_pn-jpeg = "OpenSuSE=libjpeg Ubuntu=libjpeg62"
-DISTRO_PN_ALIAS_pn-kernel-devsrc = "Debian=linux-base Ubuntu=linux"
-DISTRO_PN_ALIAS_pn-kern-tools-native = "Windriver"
-DISTRO_PN_ALIAS_pn-keymaps = "OE-Core"
-DISTRO_PN_ALIAS_pn-kf = "OSPDT"
-DISTRO_PN_ALIAS_pn-lame = "Debian=lame Ubuntu=lame"
-DISTRO_PN_ALIAS_pn-ldconfig-native = "Ubuntu=libc-bin Fedora=glibc"
-DISTRO_PN_ALIAS_pn-liba52 = "Mandriva=a52dec Debian=a52dec"
-DISTRO_PN_ALIAS_pn-libacpi = "Ubuntu=libacpi Mandriva=libacpi"
-DISTRO_PN_ALIAS_pn-libatomics-ops = "Meego=libatomic-ops Debian=libatomic-ops Ubuntu=libatomic-ops OpenSuSE=libatomic-ops Mandriva=libatomic-ops"
-DISTRO_PN_ALIAS_pn-libcgroup = "Ubuntu=libcgroup1 Debian=libcgroup1"
-DISTRO_PN_ALIAS_pn-libcheck = "Ubuntu=check Fedora=check OpenSuSE=check"
-DISTRO_PN_ALIAS_pn-libclass-isa-perl = "OSPDT"
-DISTRO_PN_ALIAS_pn-libdumpvalue-perl = "OSPDT"
-DISTRO_PN_ALIAS_pn-libenv-perl = "OSPDT"
-DISTRO_PN_ALIAS_pn-liberation-fonts = "Ubuntu=fonts-liberation Fedora=liberation-fonts-ttf"
-DISTRO_PN_ALIAS_pn-libfakekey = "Meego1.0=libfakekey Debian=libfakekey"
-DISTRO_PN_ALIAS_pn-libfile-checktree-perl = "OSPDT"
-DISTRO_PN_ALIAS_pn-libfm-extra = "Opensuse=libfm-extra4 Ubuntu=libfm-extra4"
-DISTRO_PN_ALIAS_pn-libgcc = "Debian=libgcc4 Ubuntu=libgcc1 OpenSuSE=libgcc46"
-DISTRO_PN_ALIAS_pn-libgdbus = "Intel"
-DISTRO_PN_ALIAS_pn-libglade = "Meego=libglade2 Fedora=libglade2 OpenSuSE=libglade2 Ubuntu=libglade2 Mandriva=libglade2.0 Debian=libglade2"
-DISTRO_PN_ALIAS_pn-libglu = "Debian=libglu Ubuntu=libglu Opensuse=mesa-libglu"
-DISTRO_PN_ALIAS_pn-libgu = "OpenSuSE=glu OSPDT"
-DISTRO_PN_ALIAS_pn-libi18n-collate-perl = "OSPDT"
-DISTRO_PN_ALIAS_pn-libical = "Ubuntu=libical Fedora=libical"
-DISTRO_PN_ALIAS_pn-libiconv = "Fedora=mingw-libiconv Opensuse=cross-mingw-libiconv"
-DISTRO_PN_ALIAS_pn-libinput = "Ubuntu=libinput0 Fedora=libinput0"
-DISTRO_PN_ALIAS_pn-libjson = "Ubuntu=libjson0-dev Debian=libjson0-dev"
-DISTRO_PN_ALIAS_pn-libksba = "Fedora=libksba Debian=libksba8 Ubuntu=libksba"
-DISTRO_PN_ALIAS_pn-libmatchbox = "Ubuntu=libmatchbox Fedora=libmatchbox"
-DISTRO_PN_ALIAS_pn-libmpc = "Fedora=libmpc OpenSuse=libmpc2"
-DISTRO_PN_ALIAS_pn-libnewt = "Debian=libnewt0.52 Fedora=newt"
-DISTRO_PN_ALIAS_pn-libnewt-python = "Ubuntu=python-newt Fedora=newt-python"
-DISTRO_PN_ALIAS_pn-libnl = "Mandriva=libnl Fedora=libnl"
-DISTRO_PN_ALIAS_pn-libnss-mdns = "Meego=nss-mdns OpenSuSE=nss-mdns Ubuntu=nss-mdns Mandriva=nss_mdns Debian=nss-mdns"
-DISTRO_PN_ALIAS_pn-libomxil = "OSPDT upstream=http://omxil.sourceforge.net/"
-DISTRO_PN_ALIAS_pn-libowl = "Debian=owl OpenedHand"
-DISTRO_PN_ALIAS_pn-libpam = "Meego=pam Fedora=pam OpenSuSE=pam Ubuntu=pam Mandriva=pam Debian=pam"
-DISTRO_PN_ALIAS_pn-libpcre = "Mandriva=libpcre0 Fedora=pcre"
-DISTRO_PN_ALIAS_pn-libpcre2 = "Fedora=pcre2 Debian=pcre2 Clear=pcre2"
-DISTRO_PN_ALIAS_pn-libpng12 = "Debian=libpng12-0 Fedora=libpng"
-DISTRO_PN_ALIAS_pn-libpod-plainer-perl = "OSPDT"
-DISTRO_PN_ALIAS_pn-libsamplerate0 = "Meego=libsamplerate Fedora=libsamplerate OpenSuSE=libsamplerate Ubuntu=libsamplerate Mandriva=libsamplerate Debian=libsamplerate"
-DISTRO_PN_ALIAS_pn-libsdl2 = "Fedora=sdl2 Opensuse=libsdl2 Ubuntu=libsdl2 Debian=libsdl2"
-DISTRO_PN_ALIAS_pn-libsndfile1 = "Meego=libsndfile Fedora=libsndfile OpenSuSE=libsndfile Ubuntu=libsndfile Mandriva=libsndfile Debian=libsndfile"
-DISTRO_PN_ALIAS_pn-libsoup-2.4 = "Meego=libsoup Fedora=libsoup OpenSuSE=libsoup Ubuntu=libsoup2.4 Mandriva=libsoup Debian=libsoup2.4"
-DISTRO_PN_ALIAS_pn-libtelepathy = "Debian=libtelepathy2 Ubuntu=libtelepathy2"
-DISTRO_PN_ALIAS_pn-libtimedate-perl = "Debian=libtimedate-perl Ubuntu=libtimedate-perl"
-DISTRO_PN_ALIAS_pn-liburcu = "Fedora=userspace-rcu Ubuntu=liburcu0"
-DISTRO_PN_ALIAS_pn-libusb1 = "Debian=libusb-1.0-0 Fedora=libusb1"
-DISTRO_PN_ALIAS_pn-libx11 = "Debian=libx11-6 Fedora=libX11 Ubuntu=libx11-6 OpenSuSE=xorg-x11-libX11"
-DISTRO_PN_ALIAS_pn-libxcalibrate = "OSPDT upstream=http://cgit.freedesktop.org/xorg/lib/libXCalibrate/"
-DISTRO_PN_ALIAS_pn-libxfont2 = "Fedora=libXfont2 Clear=libXfont2"
-DISTRO_PN_ALIAS_pn-libxft = "Mandriva=libxft Debian=libxft2 Ubuntu=libxft2"
-DISTRO_PN_ALIAS_pn-libxi = "Ubuntu=libxi Fedora=libXi"
-DISTRO_PN_ALIAS_pn-libxkbcommon = "Fedora=libxkbcommon Debian=libxkbcommon"
-DISTRO_PN_ALIAS_pn-libxscrnsaver = "Fedora=libXScrnSaver Ubuntu=libxss1 Mandriva=libxscrnsaver"
-DISTRO_PN_ALIAS_pn-linux-dummy = "Intel"
-DISTRO_PN_ALIAS_pn-linux-firmware = "Fedora=linux-firmware Ubuntu=linux-firmware"
-DISTRO_PN_ALIAS_pn-linux-libc-headers = "Debian=linux-kernel-headers Ubuntu=linux-kernel-headers"
-DISTRO_PN_ALIAS_pn-linux-libc-headers-yocto = "Debian=linux-kernel-headers Ubuntu=linux-kernel-headers"
-DISTRO_PN_ALIAS_pn-linux-yocto = "Debian=linux-base Ubuntu=linux"
-DISTRO_PN_ALIAS_pn-linux-yocto-rt = "Debian=linux-base Ubuntu=linux"
-DISTRO_PN_ALIAS_pn-linux-yocto-tiny = "OSPDT"
-DISTRO_PN_ALIAS_pn-ltp = "Mandriva=ltp Ubuntu=ltp"
-DISTRO_PN_ALIAS_pn-lttng-modules = "OSPDT upstream=http://lttng.org/"
-DISTRO_PN_ALIAS_pn-lttng-tools = "OSPDT upstream=http://lttng.org/"
-DISTRO_PN_ALIAS_pn-lttng-ust = "OSPDT upstream=http://lttng.org/"
-DISTRO_PN_ALIAS_pn-lz4 = "Debian=lz4 Fedora=lz4"
-DISTRO_PN_ALIAS_pn-lzo = "Debian=liblzo Ubuntu=liblzo Fedora=lzp"
-DISTRO_PN_ALIAS_pn-mailx = "Debian=bsd-mailx Ubuntu=bsd-mailx"
-DISTRO_PN_ALIAS_pn-makedepend = "Mandriva=makedepend Ubuntu=xutils-dev"
-DISTRO_PN_ALIAS_pn-makedevs = "OE-Core"
-DISTRO_PN_ALIAS_pn-matchbox-config-gtk = "OpenedHand"
-DISTRO_PN_ALIAS_pn-matchbox-desktop = "Mandriva=matchbox-desktop Ubuntu=matchbox-desktop"
-DISTRO_PN_ALIAS_pn-matchbox-desktop-sato = "OpenedHand"
-DISTRO_PN_ALIAS_pn-matchbox-keyboard = "Debian=matchbox-keyboard Fedora=matchbox-keyboard"
-DISTRO_PN_ALIAS_pn-matchbox-panel-2 = "Debian=matchbox-panel Mandriva=matchbox-panel Ubuntu=matchbox-panel"
-DISTRO_PN_ALIAS_pn-matchbox-session = "OpenedHand"
-DISTRO_PN_ALIAS_pn-matchbox-session-sato = "OpenedHand"
-DISTRO_PN_ALIAS_pn-matchbox-terminal = "OpenedHand"
-DISTRO_PN_ALIAS_pn-matchbox-theme-sato = "OpenedHand"
-DISTRO_PN_ALIAS_pn-matchbox-themes-extra = "Ubuntu=matchbox-themes-extra Mandriva=matchbox-themes-extra"
-DISTRO_PN_ALIAS_pn-matchbox-themes-gtk = "OpenedHand"
-DISTRO_PN_ALIAS_pn-matchbox-wm = "OpenedHand"
-DISTRO_PN_ALIAS_pn-menu-cache = "OSPDT"
-DISTRO_PN_ALIAS_pn-mesa = "Fedora=mesa Ubuntu=libgl1-mesa-dri"
-DISTRO_PN_ALIAS_pn-mesa-gl = "Fedora=mesa Ubuntu=libgl1-mesa-dri"
-DISTRO_PN_ALIAS_pn-meta-environment-extsdk-qemux86 = "OE-Core"
-DISTRO_PN_ALIAS_pn-meta-environment-i586 = "OE-Core"
-DISTRO_PN_ALIAS_pn-meta-environment-qemux86 = "OE-Core"
-DISTRO_PN_ALIAS_pn-meta-environment-qemux86-64 = "OE-Core"
-DISTRO_PN_ALIAS_pn-meta-ide-support = "OE-Core"
-DISTRO_PN_ALIAS_pn-meta-toolchain = "OE-Core"
-DISTRO_PN_ALIAS_pn-mini-x-session = "OSPDT"
-DISTRO_PN_ALIAS_pn-mkelfimage = "Ubuntu=mkelfimage Fedora=mkelfimage"
-DISTRO_PN_ALIAS_pn-mkfontdir = "Mandriva=mkfontdir Ubuntu=xfonts-utils Fedora=xorg-x11-font-utils"
-DISTRO_PN_ALIAS_pn-mkfontscale = "Mandriva=mkfontscale Ubuntu=xfonts-utils Fedora=xorg-x11-font-utils"
-DISTRO_PN_ALIAS_pn-mmc-utils = "OE-Core"
-DISTRO_PN_ALIAS_pn-modutils-initscripts = "OE-Core"
-DISTRO_PN_ALIAS_pn-mtd-utils = "Debian=mtd-utils Ubuntu=mtd-utils"
-DISTRO_PN_ALIAS_pn-mx-1.0 = "Ubuntu=mx Debian=mx Fedora=mx"
-DISTRO_PN_ALIAS_pn-neard = "Intel"
-DISTRO_PN_ALIAS_pn-neon = "Fedora=neon Opensuse=neon"
-DISTRO_PN_ALIAS_pn-network-suspend-scripts = "OE-Core"
-DISTRO_PN_ALIAS_pn-nfs-export-root = "OpenedHand"
-DISTRO_PN_ALIAS_pn-npth = "OSPDT"
-DISTRO_PN_ALIAS_pn-nss-myhostname = "Meego=nss-mdns OpenSuSE=nss-mdns Ubuntu=nss-mdns Mandriva=nss_mdns Debian=nss-mdns"
-DISTRO_PN_ALIAS_pn-ofono = "Debian=ofono Ubuntu=ofono"
-DISTRO_PN_ALIAS_pn-oh-puzzles = "OpenedHand"
-DISTRO_PN_ALIAS_pn-opkg = "OSPDT upstream=http://svn.openmoko.org/trunk/src/tar"
-DISTRO_PN_ALIAS_pn-opkg-arch-config = "OE-Core"
-DISTRO_PN_ALIAS_pn-opkg-collateral = "OE-Core"
-DISTRO_PN_ALIAS_pn-opkg-keyrings = "OSPDT upstream=git://git.yoctoproject.org/opkg-utils"
-DISTRO_PN_ALIAS_pn-opkg-nogpg = "OSPDT upstream=git://git.yoctoproject.org/opkg-utils"
-DISTRO_PN_ALIAS_pn-opkg-utils = "OSPDT upstream=git://git.yoctoproject.org/opkg-utils"
-DISTRO_PN_ALIAS_pn-os-release = "OE-Core"
-DISTRO_PN_ALIAS_pn-packagegroup-base = "OE-Core"
-DISTRO_PN_ALIAS_pn-packagegroup-core = "OE-Core"
-DISTRO_PN_ALIAS_pn-packagegroup-core-boot = "OE-Core"
-DISTRO_PN_ALIAS_pn-packagegroup-core-buildessential = "OE-Core"
-DISTRO_PN_ALIAS_pn-packagegroup-core-device-devel = "OE-Core"
-DISTRO_PN_ALIAS_pn-packagegroup-core-eclipse-debug = "OE-Core"
-DISTRO_PN_ALIAS_pn-packagegroup-core-full-cmdline = "OE-Core"
-DISTRO_PN_ALIAS_pn-packagegroup-core-nfs = "OE-Core"
-DISTRO_PN_ALIAS_pn-packagegroup-core-sdk = "OE-Core"
-DISTRO_PN_ALIAS_pn-packagegroup-core-ssh-dropbear = "OE-Core"
-DISTRO_PN_ALIAS_pn-packagegroup-core-ssh-openssh = "OE-Core"
-DISTRO_PN_ALIAS_pn-packagegroup-core-standalone-sdk-target = "OE-Core"
-DISTRO_PN_ALIAS_pn-packagegroup-core-tools = "OE-Core"
-DISTRO_PN_ALIAS_pn-packagegroup-core-tools-debug = "OE-Core"
-DISTRO_PN_ALIAS_pn-packagegroup-core-tools-profile = "OE-Core"
-DISTRO_PN_ALIAS_pn-packagegroup-core-tools-testapps = "OE-Core"
-DISTRO_PN_ALIAS_pn-packagegroup-core-x11 = "OE-Core"
-DISTRO_PN_ALIAS_pn-packagegroup-core-x11-base = "OE-Core"
-DISTRO_PN_ALIAS_pn-packagegroup-core-x11-mini = "OE-Core"
-DISTRO_PN_ALIAS_pn-packagegroup-core-x11-sato = "OE-Core"
-DISTRO_PN_ALIAS_pn-packagegroup-core-x11-xserver = "OE-Core"
-DISTRO_PN_ALIAS_pn-packagegroup-cross-canadian-i586 = "OE-Core"
-DISTRO_PN_ALIAS_pn-packagegroup-cross-canadian-qemux86 = "OE-Core"
-DISTRO_PN_ALIAS_pn-packagegroup-cross-canadian-qemux86-64 = "OE-Core"
-DISTRO_PN_ALIAS_pn-packagegroup-sdk-host = "OE-Core"
-DISTRO_PN_ALIAS_pn-packagegroup-self-hosted = "OE-Core"
-DISTRO_PN_ALIAS_pn-package-index = "OE-Core"
-DISTRO_PN_ALIAS_pn-patchelf = "Opensuse=patchelf Fedora=patchelf"
-DISTRO_PN_ALIAS_pn-perf = "OSPDT"
-DISTRO_PN_ALIAS_pn-piglit = "OE-Core"
-DISTRO_PN_ALIAS_pn-pkgconfig = "Ubuntu=pkg-config Fedora=pkgconfig"
-DISTRO_PN_ALIAS_pn-pointercal-xinput = "OE-Core"
-DISTRO_PN_ALIAS_pn-pong-clock = "OpenedHand"
-DISTRO_PN_ALIAS_pn-portmap = "Debian=rpcbind Fedora=rpcbind"
-DISTRO_PN_ALIAS_pn-powertop = "Meego=powertop Fedora=powertop Debian=powertop OpenSuSE=powertop Mandriva=powertop"
-DISTRO_PN_ALIAS_pn-ppp-dialin = "OE-Core"
-DISTRO_PN_ALIAS_pn-pseudo = "Windriver"
-DISTRO_PN_ALIAS_pn-psplash = "OpenedHand"
-DISTRO_PN_ALIAS_pn-ptest-runner = "OE-Core"
-DISTRO_PN_ALIAS_pn-pulseaudio-client-conf-sato = "OE-Core"
-DISTRO_PN_ALIAS_pn-puzzles = "Debian=sgt-puzzles Fedora=puzzles"
-DISTRO_PN_ALIAS_pn-python3 = "Fedora=python3 Debian=python3.2"
-DISTRO_PN_ALIAS_pn-python3-iniparse = "Fedora=python-iniparse Debian=python-iniparse"
-DISTRO_PN_ALIAS_pn-python3-pip = "OpenSuSE=python3-pip Debian=python3-pip"
-DISTRO_PN_ALIAS_pn-python3-pycurl = "Fedora=python-pycurl Debian=pycurl"
-DISTRO_PN_ALIAS_pn-python3-pygpgme = "Fedora=python-pygpgme Debian=pygpgme"
-DISTRO_PN_ALIAS_pn-python3-setuptools = "OpenSuSE=python3-setuptools Debian=python3-setuptools"
-DISTRO_PN_ALIAS_pn-python-dbus = "Ubuntu=python-dbus Debian=python-dbus Mandriva=python-dbus"
-DISTRO_PN_ALIAS_pn-python-git = "Debian=python-git Fedora=GitPython"
-DISTRO_PN_ALIAS_pn-python-mako = "Fedora=python-mako Opensuse=python-Mako"
-DISTRO_PN_ALIAS_pn-python-pycairo = "Meego=pycairo Fedora=pycairo Ubuntu=pycairo Debian=pycairo"
-DISTRO_PN_ALIAS_pn-python-pygobject = "Meego=pygobject2 Fedora=pygobject2 Ubuntu=pygobject Debian=pygobject"
-DISTRO_PN_ALIAS_pn-python-scons = "Fedora=scons OpenSuSE=scons Ubuntu=scons Mandriva=scons Debian=scons"
-DISTRO_PN_ALIAS_pn-python-setuptools = "Mandriva=python-setup OpenSuSE=python-setup-git"
-DISTRO_PN_ALIAS_pn-python-smartpm = "Debian=smart OpenSuSE=smart"
-DISTRO_PN_ALIAS_pn-qemu-config = "OpenedHand"
-DISTRO_PN_ALIAS_pn-qemugl = "OpenedHand"
-DISTRO_PN_ALIAS_pn-qemu-helper = "OpenedHand"
-DISTRO_PN_ALIAS_pn-qemuwrapper-cross = "OE-Core"
-DISTRO_PN_ALIAS_pn-readline = "Fedora=readline Debian=readline-common"
-DISTRO_PN_ALIAS_pn-remake = "Mandriva=remake Debian=remake"
-DISTRO_PN_ALIAS_pn-rgb = "Fedora=xorg-X11-server-utils Debian=x11-xserver-utils"
-DISTRO_PN_ALIAS_pn-rpmresolve = "OSPDT"
-DISTRO_PN_ALIAS_pn-rt-tests = "Debian=rt-tests Ubuntu=rt-tests"
-DISTRO_PN_ALIAS_pn-run-postinsts = "OE-Core"
-DISTRO_PN_ALIAS_pn-sato-icon-theme = "OpenedHand"
-DISTRO_PN_ALIAS_pn-sato-screenshot = "OpenedHand"
-DISTRO_PN_ALIAS_pn-sbc = "Fedora=sbc Debian=libsbc1"
-DISTRO_PN_ALIAS_pn-screenshot = "OpenedHand"
-DISTRO_PN_ALIAS_pn-settings-daemon = "OpenedHand"
-DISTRO_PN_ALIAS_pn-sgml-common = "OpenSuSE=sgml-common Fedora=sgml-common"
-DISTRO_PN_ALIAS_pn-sgmlspl = "Debian=sgmlspl Ubuntu=sgmlspl"
-DISTRO_PN_ALIAS_pn-shadow-securetty = "Ubuntu=shadow Fedora=shadow"
-DISTRO_PN_ALIAS_pn-shadow-sysroot = "Ubuntu=shadow Fedora=shadow"
-DISTRO_PN_ALIAS_pn-shutdown-desktop = "OpenedHand"
-DISTRO_PN_ALIAS_pn-speexdsp = "Ubuntu=libspeexdsp1 Fedora=speexdsp"
-DISTRO_PN_ALIAS_pn-stat = "Debian=coreutils Fedora=coreutils"
-DISTRO_PN_ALIAS_pn-stress = "Debian=stress Fedora=stress"
-DISTRO_PN_ALIAS_pn-sysklogd = "Debian=sysklogd Mandriva=sysklogd"
-DISTRO_PN_ALIAS_pn-sysprof = "Fedora=sysprof Debian=sysprof"
-DISTRO_PN_ALIAS_pn-systemd-compat-units = "Fedora=systemd Ubuntu=systemd"
-DISTRO_PN_ALIAS_pn-systemd-systemctl = "OE-Core"
-DISTRO_PN_ALIAS_pn-systemd-systemdctl = "Fedora=systemd Ubuntu=systemd"
-DISTRO_PN_ALIAS_pn-systemtap-uprobes = "Ubuntu=systemtap Debian=systemtap"
-DISTRO_PN_ALIAS_pn-sysvinit-inittab = "OE-Core"
-DISTRO_PN_ALIAS_pn-tar-replacement = "Fedora=tar Ubuntu=tar"
-DISTRO_PN_ALIAS_pn-tcf-agent = "Windriver upstream=http://www.eclipse.org/dsdp/tm/"
-DISTRO_PN_ALIAS_pn-texinfo-dummy-native = "OE-Core"
-DISTRO_PN_ALIAS_pn-tiny-init = "OSPDT"
-DISTRO_PN_ALIAS_pn-tremor = "OSPDT upstream=http://www.xiph.org/vorbis/"
-DISTRO_PN_ALIAS_pn-ttf-bitstream-vera = "Debian=ttf-bitstream-vera Ubuntu=ttf-bitstream-vera"
-DISTRO_PN_ALIAS_pn-tzcode = "OSPDT"
-DISTRO_PN_ALIAS_pn-u-boot-fw-utils = "Ubuntu=u-boot-tools Debian=u-boot-tools"
-DISTRO_PN_ALIAS_pn-u-boot-tools = "Ubuntu=u-boot-tools Debian=uboot-tools"
-DISTRO_PN_ALIAS_pn-udev = "Mandriva=udev Fedora=udev"
-DISTRO_PN_ALIAS_pn-udev-extraconf = "OE-Core"
-DISTRO_PN_ALIAS_pn-unfs3 = "Debian=unfs3 Fedora=unfs3"
-DISTRO_PN_ALIAS_pn-unfs-server = "OE-Core"
-DISTRO_PN_ALIAS_pn-uninative-tarball = "OE-Core"
-DISTRO_PN_ALIAS_pn-update-alternatives-dpkg = "Opensuse=update-alternatives Mandriva=update-alternatives"
-DISTRO_PN_ALIAS_pn-update-rc.d = "OE-Core"
-DISTRO_PN_ALIAS_pn-usbinit = "OE-Core"
-DISTRO_PN_ALIAS_pn-util-macros = "Meego=xorg-x11-util-macros Fedora=xorg-x11-util-macros Mandriva=x11-util-macros"
-DISTRO_PN_ALIAS_pn-v86d = "Debian=v86d Ubuntu=v86d"
-DISTRO_PN_ALIAS_pn-waffle = "OE-Core"
-DISTRO_PN_ALIAS_pn-watchdog = "Debian=watchdog Ubuntu=watchdog Mandriva=watchdog"
-DISTRO_PN_ALIAS_pn-webkitgtk = "Fedora=webkitgtk Ubuntu=libwebkit"
-DISTRO_PN_ALIAS_pn-weston = "Fedora=weston OpenSuSE=weston"
-DISTRO_PN_ALIAS_pn-weston-init = "OE-Core"
-DISTRO_PN_ALIAS_pn-which = "Mandriva=which Fedora=which"
-DISTRO_PN_ALIAS_pn-wpa-supplicant = "Meego=wpa_supplicant Fedora=wpa_supplicant OpenSuSE=wpa_supplicant Ubuntu=wpasupplicant Mandriva=wpa_supplicant Debian=wpasupplicant"
-DISTRO_PN_ALIAS_pn-x11perf = "Fedora=xorg-x11-apps Ubuntu=x11-apps"
-DISTRO_PN_ALIAS_pn-xcb-util-image = "Debian=xcb-util Fedora=xcb-util"
-DISTRO_PN_ALIAS_pn-xcb-util-keysyms = "Debian=xcb-util Fedora=xcb-util"
-DISTRO_PN_ALIAS_pn-xcb-util-wm = "Debian=xcb-util Fedora=xcb-util"
-DISTRO_PN_ALIAS_pn-xcursor-transparent-theme = "OpenedHand"
-DISTRO_PN_ALIAS_pn-xdpyinfo = "Fedora=xorg-x11-utils Ubuntu=x11-utils"
-DISTRO_PN_ALIAS_pn-xev = "Fedora=xorg-x11-utils Ubuntu=x11-utils"
-DISTRO_PN_ALIAS_pn-xeyes = "Ubuntu=x11-apps Fedora=xorg-x11-apps"
-DISTRO_PN_ALIAS_pn-xf86-input-evdev = "Ubuntu=xserver-xorg-input-evdev Mandriva=x11-driver-input-evdev Debian=xserver-xorg-input-evdev Fedora=xorg-x11-drv-evdev Meego=xorg-x11-drv-evdev"
-DISTRO_PN_ALIAS_pn-xf86-input-keyboard = "Meego=xorg-x11-drv-keyboard Fedora=xorg-x11-drv-keyboard Mandriva=x11-driver-input-keyboard Debian=xserver-xorg-input-keyboard"
-DISTRO_PN_ALIAS_pn-xf86-input-mouse = "Ubuntu=xserver-xorg-input-mouse Mandriva=x11-driver-input-mouse Debian=xserver-xorg-input-mouse"
-DISTRO_PN_ALIAS_pn-xf86-input-synaptics = "Meego=xorg-x11-drv-synaptics Fedora=xorg-x11-drv-synaptics Ubuntu=xserver-xorg-input-synaptics Mandriva=x11-driver-input-synaptics Debian=xfree86-driver-synaptics"
-DISTRO_PN_ALIAS_pn-xf86-input-vmmouse = "Fedora=xorg-x11-drv-vmmouse Ubuntu=xserver-xorg-input-vmmouse Mandriva=x11-driver-input-vmmouse Debian=xserver-xorg-input-vmmouse"
-DISTRO_PN_ALIAS_pn-xf86-video-cirrus = "Opensuse=xf86-video-cirrus Debian=xserver-xorg-video-cirrus"
-DISTRO_PN_ALIAS_pn-xf86-video-fbdev = "Ubuntu=xserver-xorg-video-fbdev Debian=xserver-xorg-video-fbdev"
-DISTRO_PN_ALIAS_pn-xf86-video-intel = "Debian=xserver-xorg-video-intel Fedora=xorg-x11-drv-intel Mandriva=x11-driver-video-intel Meego=xorg-x11-drv-intel Ubuntu=xserver-xorg-video-intel"
-DISTRO_PN_ALIAS_pn-xf86-video-modesetting = "Debian=xserver-xorg-video-modesetting Fedora=xf86-video-modesetting"
-DISTRO_PN_ALIAS_pn-xf86-video-omap = "Ubuntu=xf86-video-omap Debian=xf86-video-omap"
-DISTRO_PN_ALIAS_pn-xf86-video-omapfb = "OSPDT"
-DISTRO_PN_ALIAS_pn-xf86-video-vesa = "Debian=xserver-xorg-video-vesa Fedora=xorg-x11-drv-vesa Mandriva=x11-driver-video-vesa Ubuntu=xserver-xorg-video-vesa"
-DISTRO_PN_ALIAS_pn-xf86-video-vmware = "Debian=xserver-xorg-video-vmware Fedora=xorg-x11-drv-vmware Mandriva=x11-driver-video-vmware Ubuntu=xserver-xorg-video-vmware"
-DISTRO_PN_ALIAS_pn-xhost = "Ubuntu=x11-xserver-utils Fedora=xorg-x11-server-utils"
-DISTRO_PN_ALIAS_pn-xinput-calibrator = "Fedora=xinput-calibrator Mandravia=xinput-calibrator Ubuntu=xinput-calibrator"
-DISTRO_PN_ALIAS_pn-xkbcomp = "Ubuntu=x11-xkb-utils Fedora=xorg-x11-xkb-utils"
-DISTRO_PN_ALIAS_pn-xmodmap = "Meego=xorg-x11-utils-xmodmap Fedora=xorg-x11-server-utils Ubuntu=x11-xserver-utils"
-DISTRO_PN_ALIAS_pn-xorg-minimal-fonts = "Ubuntu=xfonts-base Fedora=xorg-x11-fonts-base"
-DISTRO_PN_ALIAS_pn-xorgproto = "OSPDT upstream=http://cgit.freedesktop.org/xorg/proto/xorgproto"
-DISTRO_PN_ALIAS_pn-xprop = "Meego=xorg-x11-utils-xprop Fedora=xorg-x11-utils Ubuntu=x11-utils"
-DISTRO_PN_ALIAS_pn-xproxymanagementprotocol = "Meego=xorg-x11-proto-xproxymanagementprotocol"
-DISTRO_PN_ALIAS_pn-xrandr = "Ubuntu=x11-xserver-utils Fedora=xorg-x11-server-utils"
-DISTRO_PN_ALIAS_pn-xrdb = "Ubuntu=x11-xserver-utils Fedora=xorg-x11-server-utils"
-DISTRO_PN_ALIAS_pn-xserver-nodm-init = "OE-Core"
-DISTRO_PN_ALIAS_pn-xserver-xf86-config = "OE-Core"
-DISTRO_PN_ALIAS_pn-xserver-xf86-dri-lite = "Fedora=xorg-x11-server Ubuntu=xserver-xorg"
-DISTRO_PN_ALIAS_pn-xserver-xf86-lite = "Fedora=xorg-x11-server Ubuntu=xserver-xorg"
-DISTRO_PN_ALIAS_pn-xserver-xorg = "Fedora=xorg-x11-server Ubuntu=xserver-xorg"
-DISTRO_PN_ALIAS_pn-xset = "Fedora=xorg-x11-server-utils Ubuntu=x11-xserver-utils Debian=x11-xserver-utils Opensuse=xorg-x11"
-DISTRO_PN_ALIAS_pn-xuser-account = "OE-Core"
-DISTRO_PN_ALIAS_pn-xvinfo = "Fedora=xorg-x11-utils Ubuntu=x11-utils"
-DISTRO_PN_ALIAS_pn-xwininfo = "Fedora=xorg-x11-utils Ubuntu=x11-utils"
+DISTRO_PN_ALIAS:pn-alsa-state = "OE-Core"
+DISTRO_PN_ALIAS:pn-alsa-utils-alsaconf = "OE-Core"
+DISTRO_PN_ALIAS:pn-alsa-utils-scripts = "OE-Core"
+DISTRO_PN_ALIAS:pn-atk = "Fedora=atk OpenSuSE=atk"
+DISTRO_PN_ALIAS:pn-avahi-ui = "Ubuntu=avahi-discover Debian=avahi-discover"
+DISTRO_PN_ALIAS:pn-babeltrace = "OSPDT"
+DISTRO_PN_ALIAS:pn-babeltrace2 = "OSPDT"
+DISTRO_PN_ALIAS:pn-bjam = "OpenSuSE=boost-jam Debian=bjam"
+DISTRO_PN_ALIAS:pn-blktool = "Debian=blktool Mandriva=blktool"
+DISTRO_PN_ALIAS:pn-bluez5 = "Fedora=bluez  Opensuse=bluez"
+DISTRO_PN_ALIAS:pn-bootchart2 = "Fedora=bootchart2 Opensuse=bootchart"
+DISTRO_PN_ALIAS:pn-btrfs-tools = "Debian=btrfs-tools Fedora=btrfs-progs"
+DISTRO_PN_ALIAS:pn-build-appliance-image = "OSPDT"
+DISTRO_PN_ALIAS:pn-builder = "OE-Core"
+DISTRO_PN_ALIAS:pn-buildtools-tarball = "OE-Core"
+DISTRO_PN_ALIAS:pn-cdrtools = "OpenSUSE=cdrtools OSPDT"
+DISTRO_PN_ALIAS:pn-chkconfig-alternatives = "Mandriva=chkconfig Debian=chkconfig"
+DISTRO_PN_ALIAS:pn-connman = "Meego=connman"
+DISTRO_PN_ALIAS:pn-connman-conf = "OE-Core"
+DISTRO_PN_ALIAS:pn-connman-gnome = "Intel"
+DISTRO_PN_ALIAS:pn-console-tools = "Debian=console-tools Ubuntu=console-tools"
+DISTRO_PN_ALIAS:pn-core-image-base = "OE-Core"
+DISTRO_PN_ALIAS:pn-core-image-full-cmdline = "OE-Core"
+DISTRO_PN_ALIAS:pn-core-image-kernel-dev = "OE-Core"
+DISTRO_PN_ALIAS:pn-core-image-minimal = "OE-Core"
+DISTRO_PN_ALIAS:pn-core-image-minimal-dev = "OE-Core"
+DISTRO_PN_ALIAS:pn-core-image-minimal-initramfs = "OE-Core"
+DISTRO_PN_ALIAS:pn-core-image-minimal-mtdutils = "OE-Core"
+DISTRO_PN_ALIAS:pn-core-image-rt = "OE-Core"
+DISTRO_PN_ALIAS:pn-core-image-rt-sdk = "OE-Core"
+DISTRO_PN_ALIAS:pn-core-image-sato = "OE-Core"
+DISTRO_PN_ALIAS:pn-core-image-sato-dev = "OE-Core"
+DISTRO_PN_ALIAS:pn-core-image-sato-sdk = "OE-Core"
+DISTRO_PN_ALIAS:pn-core-image-testmaster = "OE-Core"
+DISTRO_PN_ALIAS:pn-core-image-testmaster-initramfs = "OE-Core"
+DISTRO_PN_ALIAS:pn-core-image-weston = "OE-Core"
+DISTRO_PN_ALIAS:pn-core-image-x11 = "OE-Core"
+DISTRO_PN_ALIAS:pn-createrepo-c = "Fedora=createrepo_c Clear=createrepo_c"
+DISTRO_PN_ALIAS:pn-cross-localedef = "OSPDT"
+DISTRO_PN_ALIAS:pn-cryptodev-linux = "OE-Core"
+DISTRO_PN_ALIAS:pn-cryptodev-module = "OE-Core"
+DISTRO_PN_ALIAS:pn-cryptodev-tests = "OE-Core"
+DISTRO_PN_ALIAS:pn-cwautomacros = "OSPDT upstream=http://cwautomacros.berlios.de/"
+DISTRO_PN_ALIAS:pn-db = "Debian=db5.1 Ubuntu=db5.1"
+DISTRO_PN_ALIAS:pn-dbus-test = "Fedora=dbus Ubuntu=dbus"
+DISTRO_PN_ALIAS:pn-dbus-wait = "OpenedHand"
+DISTRO_PN_ALIAS:pn-depmodwrapper-cross = "OE-Core"
+DISTRO_PN_ALIAS:pn-distcc = "Debian=distcc Fedora=distcc"
+DISTRO_PN_ALIAS:pn-distcc-config = "OpenedHand"
+DISTRO_PN_ALIAS:pn-docbook-dsssl-stylesheets = "Fedora=docbook-style-dsssl Ubuntu=docbook-dsssl"
+DISTRO_PN_ALIAS:pn-docbook-sgml-dtd-3.1 = "Fedora=docbook-dtds Mandriva=docbook-dtd31-sgml"
+DISTRO_PN_ALIAS:pn-docbook-sgml-dtd-4.1 = "Fedora=docbook-dtds Mandriva=docbook-dtd41-sgml"
+DISTRO_PN_ALIAS:pn-docbook-sgml-dtd-4.5 = "Fedora=docbook-dtds Mandriva=docbook-dtd42-sgml"
+DISTRO_PN_ALIAS:pn-docbook-xml-dtd4 = "Ubuntu=docbook-xml Fedora=docbook-dtds"
+DISTRO_PN_ALIAS:pn-docbook-xml-dtd4-native = "Ubuntu=docbook-xml Fedora=docbook-dtds"
+DISTRO_PN_ALIAS:pn-docbook-xsl-stylesheets = "Fedora=docbook-xsl-stylesheets Opensuse=docbook-xsl-stylesheets"
+DISTRO_PN_ALIAS:pn-dropbear = "Debian=dropbear Ubuntu=dropbear"
+DISTRO_PN_ALIAS:pn-dtc = "Fedora=dtc Ubuntu=dtc"
+DISTRO_PN_ALIAS:pn-encodings = "Ubuntu=xfonts-encodings Mandriva=x11-font-encodings Debian=xfonts-encodings"
+DISTRO_PN_ALIAS:pn-font-alias = "Fedora=xorg-x11-fonts-base Mandriva=x11-font-alias Meego=xorg-x11-fonts"
+DISTRO_PN_ALIAS:pn-font-util = "Meego=xorg-x11-font-utils Fedora=xorg-x11-font-utils Ubuntu=xfonts-utils Mandriva=x11-font-util Debian=xfonts-utils"
+DISTRO_PN_ALIAS:pn-formfactor = "OE-Core"
+DISTRO_PN_ALIAS:pn-gccmakedep = "Mandriva=gccmakedep Ubuntu=xutils-dev"
+DISTRO_PN_ALIAS:pn-gcc-runtime = "Ubuntu=gcc Fedora=gcc"
+DISTRO_PN_ALIAS:pn-gcc-sanitizers = "Ubuntu=gcc Fedora=gcc"
+DISTRO_PN_ALIAS:pn-gcc-source = "Ubuntu=gcc Fedora=gcc"
+DISTRO_PN_ALIAS:pn-gconf-dbus = "Meego=GConf-dbus"
+DISTRO_PN_ALIAS:pn-gdk-pixbuf = "Debian=libgdk-pixbuf2.0 Fedora=gdk-pixbuf"
+DISTRO_PN_ALIAS:pn-gdk-pixbuf-csource = "Debian=libgdk-pixbuf2.0-0 Fedora=gdk-pixbuf2"
+DISTRO_PN_ALIAS:pn-gettext-minimal = "Debian=gettext Fedora=gettext"
+DISTRO_PN_ALIAS:pn-glib-2.0 = "Meego=glib2 Fedora=glib2 OpenSuSE=glib2 Ubuntu=glib2.0 Mandriva=glib2.0 Debian=glib2.0"
+DISTRO_PN_ALIAS:pn-glibc-locale = "OpenSuSE=glibc-locale Fedora=glibc-devel"
+DISTRO_PN_ALIAS:pn-glibc-mtrace = "Fedora=glibc-utils Ubuntu=libc-dev-bin"
+DISTRO_PN_ALIAS:pn-glibc-scripts = "Fedora=glibc Ubuntu=libc-bin"
+DISTRO_PN_ALIAS:pn-gnome-desktop-testing = "Debian=gnome-desktop-testing Fedora=gnome-desktop-testing"
+DISTRO_PN_ALIAS:pn-gnu-config = "OpenedHand"
+DISTRO_PN_ALIAS:pn-gptfdisk = "Fedora=gdisk Ubuntu=gdisk"
+DISTRO_PN_ALIAS:pn-grub-efi = "Debian=grub-efi Fedora=grub2-efi"
+DISTRO_PN_ALIAS:pn-gst-player = "Ubuntu=gst-player Fedora=gstreamer-player"
+DISTRO_PN_ALIAS:pn-gst-plugin-bluetooth = "Ubuntu=libgstreamer-plugins-base Fedora=gstreamer-plugins-base"
+DISTRO_PN_ALIAS:pn-gstreamer1.0 = "Debian=gstreamer1.0 Ubuntu=gstreamer1.0"
+DISTRO_PN_ALIAS:pn-gstreamer1.0-meta-base = "Meego=gstreamer Fedora=gstreamer OpenSuSE=gstreamer Ubuntu=gstreamer0.10"
+DISTRO_PN_ALIAS:pn-gstreamer1.0-plugins-bad = "Debian=gstreamer1.0-plugins-bad Ubuntu=gstreamer1.0-plugins-bad"
+DISTRO_PN_ALIAS:pn-gstreamer1.0-plugins-base = "Debian=gstreamer1.0-plugins-base Ubuntu=gstreamer1.0-plugins-base"
+DISTRO_PN_ALIAS:pn-gstreamer1.0-plugins-good = "Debian=gstreamer1.0-plugins-good Ubuntu=gstreamer1.0-plugins-bad"
+DISTRO_PN_ALIAS:pn-gstreamer1.0-rtsp-server = "Ubuntu=gstreamer0.10-rtsp Fedora=gstreamer-rtsp"
+DISTRO_PN_ALIAS:pn-gstreamer1.0-vaapi = "Fedora=gstreamer1-vaapi Debian=gstreamer-vaapi Clear=gstreamer-vaapi"
+DISTRO_PN_ALIAS:pn-gtk+ = "Meego=gtk2 Fedora=gtk2 OpenSuSE=gtk2 Ubuntu=gtk+2.0 Mandriva=gtk+2.0 Debian=gtk+2.0"
+DISTRO_PN_ALIAS:pn-gtk+3 = "Ubuntu=gtk+3.0 Debian=gtk+3.0 Fedora=gtk3"
+DISTRO_PN_ALIAS:pn-gtk-doc = "Fedora=gtk-doc Ubuntu=gtk-doc"
+DISTRO_PN_ALIAS:pn-gtk-engines = "Fedora=gtk2-engines OpenSuSE=gtk2-engines Ubuntu=gtk2-engines Mandriva=gtk-engines2 Debian=gtk2-engines"
+DISTRO_PN_ALIAS:pn-gtk-sato-engine = "OpenedHand"
+DISTRO_PN_ALIAS:pn-gtk-icon-utils-native = "OSPDT"
+DISTRO_PN_ALIAS:pn-systemd-boot = "Ubuntu=systemd-boot Fedora=systemd-boot"
+DISTRO_PN_ALIAS:pn-hello-mod = "OE-Core"
+DISTRO_PN_ALIAS:pn-hwlatdetect = "OSPDT"
+DISTRO_PN_ALIAS:pn-icecc-create-env = "OE-Core"
+DISTRO_PN_ALIAS:pn-init-ifupdown = "Debian=ifupdown Ubuntu=ifupdown"
+DISTRO_PN_ALIAS:pn-initramfs-boot = "OE-Core"
+DISTRO_PN_ALIAS:pn-initramfs-framework = "OE-Core"
+DISTRO_PN_ALIAS:pn-initramfs-live-boot = "OE-Core"
+DISTRO_PN_ALIAS:pn-initramfs-live-install = "OE-Core"
+DISTRO_PN_ALIAS:pn-initramfs-live-install-efi = "OE-Core"
+DISTRO_PN_ALIAS:pn-initramfs-live-install-efi-testfs = "OE-Core"
+DISTRO_PN_ALIAS:pn-initramfs-live-install-testfs = "OE-Core"
+DISTRO_PN_ALIAS:pn-initscripts = "Fedora=initscripts Mandriva=initscripts"
+DISTRO_PN_ALIAS:pn-iproute2 = "OSPDT"
+DISTRO_PN_ALIAS:pn-jpeg = "OpenSuSE=libjpeg Ubuntu=libjpeg62"
+DISTRO_PN_ALIAS:pn-kernel-devsrc = "Debian=linux-base Ubuntu=linux"
+DISTRO_PN_ALIAS:pn-kern-tools-native = "Windriver"
+DISTRO_PN_ALIAS:pn-keymaps = "OE-Core"
+DISTRO_PN_ALIAS:pn-kf = "OSPDT"
+DISTRO_PN_ALIAS:pn-lame = "Debian=lame Ubuntu=lame"
+DISTRO_PN_ALIAS:pn-ldconfig-native = "Ubuntu=libc-bin Fedora=glibc"
+DISTRO_PN_ALIAS:pn-liba52 = "Mandriva=a52dec Debian=a52dec"
+DISTRO_PN_ALIAS:pn-libacpi = "Ubuntu=libacpi Mandriva=libacpi"
+DISTRO_PN_ALIAS:pn-libatomics-ops = "Meego=libatomic-ops Debian=libatomic-ops Ubuntu=libatomic-ops OpenSuSE=libatomic-ops Mandriva=libatomic-ops"
+DISTRO_PN_ALIAS:pn-libcgroup = "Ubuntu=libcgroup1 Debian=libcgroup1"
+DISTRO_PN_ALIAS:pn-libcheck = "Ubuntu=check Fedora=check OpenSuSE=check"
+DISTRO_PN_ALIAS:pn-libclass-isa-perl = "OSPDT"
+DISTRO_PN_ALIAS:pn-libdumpvalue-perl = "OSPDT"
+DISTRO_PN_ALIAS:pn-libenv-perl = "OSPDT"
+DISTRO_PN_ALIAS:pn-liberation-fonts = "Ubuntu=fonts-liberation Fedora=liberation-fonts-ttf"
+DISTRO_PN_ALIAS:pn-libfakekey = "Meego1.0=libfakekey Debian=libfakekey"
+DISTRO_PN_ALIAS:pn-libfile-checktree-perl = "OSPDT"
+DISTRO_PN_ALIAS:pn-libfm-extra = "Opensuse=libfm-extra4 Ubuntu=libfm-extra4"
+DISTRO_PN_ALIAS:pn-libgcc = "Debian=libgcc4 Ubuntu=libgcc1 OpenSuSE=libgcc46"
+DISTRO_PN_ALIAS:pn-libgdbus = "Intel"
+DISTRO_PN_ALIAS:pn-libglade = "Meego=libglade2 Fedora=libglade2 OpenSuSE=libglade2 Ubuntu=libglade2 Mandriva=libglade2.0 Debian=libglade2"
+DISTRO_PN_ALIAS:pn-libglu = "Debian=libglu Ubuntu=libglu Opensuse=mesa-libglu"
+DISTRO_PN_ALIAS:pn-libgu = "OpenSuSE=glu OSPDT"
+DISTRO_PN_ALIAS:pn-libi18n-collate-perl = "OSPDT"
+DISTRO_PN_ALIAS:pn-libical = "Ubuntu=libical Fedora=libical"
+DISTRO_PN_ALIAS:pn-libiconv = "Fedora=mingw-libiconv Opensuse=cross-mingw-libiconv"
+DISTRO_PN_ALIAS:pn-libinput = "Ubuntu=libinput0 Fedora=libinput0"
+DISTRO_PN_ALIAS:pn-libjson = "Ubuntu=libjson0-dev Debian=libjson0-dev"
+DISTRO_PN_ALIAS:pn-libksba = "Fedora=libksba Debian=libksba8 Ubuntu=libksba"
+DISTRO_PN_ALIAS:pn-libmatchbox = "Ubuntu=libmatchbox Fedora=libmatchbox"
+DISTRO_PN_ALIAS:pn-libmpc = "Fedora=libmpc OpenSuse=libmpc2"
+DISTRO_PN_ALIAS:pn-libnewt = "Debian=libnewt0.52 Fedora=newt"
+DISTRO_PN_ALIAS:pn-libnewt-python = "Ubuntu=python-newt Fedora=newt-python"
+DISTRO_PN_ALIAS:pn-libnl = "Mandriva=libnl Fedora=libnl"
+DISTRO_PN_ALIAS:pn-libnss-mdns = "Meego=nss-mdns OpenSuSE=nss-mdns Ubuntu=nss-mdns Mandriva=nss_mdns Debian=nss-mdns"
+DISTRO_PN_ALIAS:pn-libomxil = "OSPDT upstream=http://omxil.sourceforge.net/"
+DISTRO_PN_ALIAS:pn-libowl = "Debian=owl OpenedHand"
+DISTRO_PN_ALIAS:pn-libpam = "Meego=pam Fedora=pam OpenSuSE=pam Ubuntu=pam Mandriva=pam Debian=pam"
+DISTRO_PN_ALIAS:pn-libpcre = "Mandriva=libpcre0 Fedora=pcre"
+DISTRO_PN_ALIAS:pn-libpcre2 = "Fedora=pcre2 Debian=pcre2 Clear=pcre2"
+DISTRO_PN_ALIAS:pn-libpng12 = "Debian=libpng12-0 Fedora=libpng"
+DISTRO_PN_ALIAS:pn-libpod-plainer-perl = "OSPDT"
+DISTRO_PN_ALIAS:pn-libsamplerate0 = "Meego=libsamplerate Fedora=libsamplerate OpenSuSE=libsamplerate Ubuntu=libsamplerate Mandriva=libsamplerate Debian=libsamplerate"
+DISTRO_PN_ALIAS:pn-libsdl2 = "Fedora=sdl2 Opensuse=libsdl2 Ubuntu=libsdl2 Debian=libsdl2"
+DISTRO_PN_ALIAS:pn-libsndfile1 = "Meego=libsndfile Fedora=libsndfile OpenSuSE=libsndfile Ubuntu=libsndfile Mandriva=libsndfile Debian=libsndfile"
+DISTRO_PN_ALIAS:pn-libsoup-2.4 = "Meego=libsoup Fedora=libsoup OpenSuSE=libsoup Ubuntu=libsoup2.4 Mandriva=libsoup Debian=libsoup2.4"
+DISTRO_PN_ALIAS:pn-libtelepathy = "Debian=libtelepathy2 Ubuntu=libtelepathy2"
+DISTRO_PN_ALIAS:pn-libtimedate-perl = "Debian=libtimedate-perl Ubuntu=libtimedate-perl"
+DISTRO_PN_ALIAS:pn-liburcu = "Fedora=userspace-rcu Ubuntu=liburcu0"
+DISTRO_PN_ALIAS:pn-libusb1 = "Debian=libusb-1.0-0 Fedora=libusb1"
+DISTRO_PN_ALIAS:pn-libx11 = "Debian=libx11-6 Fedora=libX11 Ubuntu=libx11-6 OpenSuSE=xorg-x11-libX11"
+DISTRO_PN_ALIAS:pn-libxcalibrate = "OSPDT upstream=http://cgit.freedesktop.org/xorg/lib/libXCalibrate/"
+DISTRO_PN_ALIAS:pn-libxfont2 = "Fedora=libXfont2 Clear=libXfont2"
+DISTRO_PN_ALIAS:pn-libxft = "Mandriva=libxft Debian=libxft2 Ubuntu=libxft2"
+DISTRO_PN_ALIAS:pn-libxi = "Ubuntu=libxi Fedora=libXi"
+DISTRO_PN_ALIAS:pn-libxkbcommon = "Fedora=libxkbcommon Debian=libxkbcommon"
+DISTRO_PN_ALIAS:pn-libxscrnsaver = "Fedora=libXScrnSaver Ubuntu=libxss1 Mandriva=libxscrnsaver"
+DISTRO_PN_ALIAS:pn-linux-dummy = "Intel"
+DISTRO_PN_ALIAS:pn-linux-firmware = "Fedora=linux-firmware Ubuntu=linux-firmware"
+DISTRO_PN_ALIAS:pn-linux-libc-headers = "Debian=linux-kernel-headers Ubuntu=linux-kernel-headers"
+DISTRO_PN_ALIAS:pn-linux-libc-headers-yocto = "Debian=linux-kernel-headers Ubuntu=linux-kernel-headers"
+DISTRO_PN_ALIAS:pn-linux-yocto = "Debian=linux-base Ubuntu=linux"
+DISTRO_PN_ALIAS:pn-linux-yocto-rt = "Debian=linux-base Ubuntu=linux"
+DISTRO_PN_ALIAS:pn-linux-yocto-tiny = "OSPDT"
+DISTRO_PN_ALIAS:pn-ltp = "Mandriva=ltp Ubuntu=ltp"
+DISTRO_PN_ALIAS:pn-lttng-modules = "OSPDT upstream=http://lttng.org/"
+DISTRO_PN_ALIAS:pn-lttng-tools = "OSPDT upstream=http://lttng.org/"
+DISTRO_PN_ALIAS:pn-lttng-ust = "OSPDT upstream=http://lttng.org/"
+DISTRO_PN_ALIAS:pn-lz4 = "Debian=lz4 Fedora=lz4"
+DISTRO_PN_ALIAS:pn-lzo = "Debian=liblzo Ubuntu=liblzo Fedora=lzp"
+DISTRO_PN_ALIAS:pn-mailx = "Debian=bsd-mailx Ubuntu=bsd-mailx"
+DISTRO_PN_ALIAS:pn-makedepend = "Mandriva=makedepend Ubuntu=xutils-dev"
+DISTRO_PN_ALIAS:pn-makedevs = "OE-Core"
+DISTRO_PN_ALIAS:pn-matchbox-config-gtk = "OpenedHand"
+DISTRO_PN_ALIAS:pn-matchbox-desktop = "Mandriva=matchbox-desktop Ubuntu=matchbox-desktop"
+DISTRO_PN_ALIAS:pn-matchbox-desktop-sato = "OpenedHand"
+DISTRO_PN_ALIAS:pn-matchbox-keyboard = "Debian=matchbox-keyboard Fedora=matchbox-keyboard"
+DISTRO_PN_ALIAS:pn-matchbox-panel-2 = "Debian=matchbox-panel Mandriva=matchbox-panel Ubuntu=matchbox-panel"
+DISTRO_PN_ALIAS:pn-matchbox-session = "OpenedHand"
+DISTRO_PN_ALIAS:pn-matchbox-session-sato = "OpenedHand"
+DISTRO_PN_ALIAS:pn-matchbox-terminal = "OpenedHand"
+DISTRO_PN_ALIAS:pn-matchbox-theme-sato = "OpenedHand"
+DISTRO_PN_ALIAS:pn-matchbox-themes-extra = "Ubuntu=matchbox-themes-extra Mandriva=matchbox-themes-extra"
+DISTRO_PN_ALIAS:pn-matchbox-themes-gtk = "OpenedHand"
+DISTRO_PN_ALIAS:pn-matchbox-wm = "OpenedHand"
+DISTRO_PN_ALIAS:pn-menu-cache = "OSPDT"
+DISTRO_PN_ALIAS:pn-mesa = "Fedora=mesa Ubuntu=libgl1-mesa-dri"
+DISTRO_PN_ALIAS:pn-mesa-gl = "Fedora=mesa Ubuntu=libgl1-mesa-dri"
+DISTRO_PN_ALIAS:pn-meta-environment-extsdk-qemux86 = "OE-Core"
+DISTRO_PN_ALIAS:pn-meta-environment-i586 = "OE-Core"
+DISTRO_PN_ALIAS:pn-meta-environment-qemux86 = "OE-Core"
+DISTRO_PN_ALIAS:pn-meta-environment-qemux86-64 = "OE-Core"
+DISTRO_PN_ALIAS:pn-meta-ide-support = "OE-Core"
+DISTRO_PN_ALIAS:pn-meta-toolchain = "OE-Core"
+DISTRO_PN_ALIAS:pn-mini-x-session = "OSPDT"
+DISTRO_PN_ALIAS:pn-mkelfimage = "Ubuntu=mkelfimage Fedora=mkelfimage"
+DISTRO_PN_ALIAS:pn-mkfontdir = "Mandriva=mkfontdir Ubuntu=xfonts-utils Fedora=xorg-x11-font-utils"
+DISTRO_PN_ALIAS:pn-mkfontscale = "Mandriva=mkfontscale Ubuntu=xfonts-utils Fedora=xorg-x11-font-utils"
+DISTRO_PN_ALIAS:pn-mmc-utils = "OE-Core"
+DISTRO_PN_ALIAS:pn-modutils-initscripts = "OE-Core"
+DISTRO_PN_ALIAS:pn-mtd-utils = "Debian=mtd-utils Ubuntu=mtd-utils"
+DISTRO_PN_ALIAS:pn-mx-1.0 = "Ubuntu=mx Debian=mx Fedora=mx"
+DISTRO_PN_ALIAS:pn-neard = "Intel"
+DISTRO_PN_ALIAS:pn-neon = "Fedora=neon Opensuse=neon"
+DISTRO_PN_ALIAS:pn-network-suspend-scripts = "OE-Core"
+DISTRO_PN_ALIAS:pn-nfs-export-root = "OpenedHand"
+DISTRO_PN_ALIAS:pn-npth = "OSPDT"
+DISTRO_PN_ALIAS:pn-nss-myhostname = "Meego=nss-mdns OpenSuSE=nss-mdns Ubuntu=nss-mdns Mandriva=nss_mdns Debian=nss-mdns"
+DISTRO_PN_ALIAS:pn-ofono = "Debian=ofono Ubuntu=ofono"
+DISTRO_PN_ALIAS:pn-oh-puzzles = "OpenedHand"
+DISTRO_PN_ALIAS:pn-opkg = "OSPDT upstream=http://svn.openmoko.org/trunk/src/tar"
+DISTRO_PN_ALIAS:pn-opkg-arch-config = "OE-Core"
+DISTRO_PN_ALIAS:pn-opkg-collateral = "OE-Core"
+DISTRO_PN_ALIAS:pn-opkg-keyrings = "OSPDT upstream=git://git.yoctoproject.org/opkg-utils"
+DISTRO_PN_ALIAS:pn-opkg-nogpg = "OSPDT upstream=git://git.yoctoproject.org/opkg-utils"
+DISTRO_PN_ALIAS:pn-opkg-utils = "OSPDT upstream=git://git.yoctoproject.org/opkg-utils"
+DISTRO_PN_ALIAS:pn-os-release = "OE-Core"
+DISTRO_PN_ALIAS:pn-packagegroup-base = "OE-Core"
+DISTRO_PN_ALIAS:pn-packagegroup-core = "OE-Core"
+DISTRO_PN_ALIAS:pn-packagegroup-core-boot = "OE-Core"
+DISTRO_PN_ALIAS:pn-packagegroup-core-buildessential = "OE-Core"
+DISTRO_PN_ALIAS:pn-packagegroup-core-device-devel = "OE-Core"
+DISTRO_PN_ALIAS:pn-packagegroup-core-eclipse-debug = "OE-Core"
+DISTRO_PN_ALIAS:pn-packagegroup-core-full-cmdline = "OE-Core"
+DISTRO_PN_ALIAS:pn-packagegroup-core-nfs = "OE-Core"
+DISTRO_PN_ALIAS:pn-packagegroup-core-sdk = "OE-Core"
+DISTRO_PN_ALIAS:pn-packagegroup-core-ssh-dropbear = "OE-Core"
+DISTRO_PN_ALIAS:pn-packagegroup-core-ssh-openssh = "OE-Core"
+DISTRO_PN_ALIAS:pn-packagegroup-core-standalone-sdk-target = "OE-Core"
+DISTRO_PN_ALIAS:pn-packagegroup-core-tools = "OE-Core"
+DISTRO_PN_ALIAS:pn-packagegroup-core-tools-debug = "OE-Core"
+DISTRO_PN_ALIAS:pn-packagegroup-core-tools-profile = "OE-Core"
+DISTRO_PN_ALIAS:pn-packagegroup-core-tools-testapps = "OE-Core"
+DISTRO_PN_ALIAS:pn-packagegroup-core-x11 = "OE-Core"
+DISTRO_PN_ALIAS:pn-packagegroup-core-x11-base = "OE-Core"
+DISTRO_PN_ALIAS:pn-packagegroup-core-x11-mini = "OE-Core"
+DISTRO_PN_ALIAS:pn-packagegroup-core-x11-sato = "OE-Core"
+DISTRO_PN_ALIAS:pn-packagegroup-core-x11-xserver = "OE-Core"
+DISTRO_PN_ALIAS:pn-packagegroup-cross-canadian-i586 = "OE-Core"
+DISTRO_PN_ALIAS:pn-packagegroup-cross-canadian-qemux86 = "OE-Core"
+DISTRO_PN_ALIAS:pn-packagegroup-cross-canadian-qemux86-64 = "OE-Core"
+DISTRO_PN_ALIAS:pn-packagegroup-sdk-host = "OE-Core"
+DISTRO_PN_ALIAS:pn-packagegroup-self-hosted = "OE-Core"
+DISTRO_PN_ALIAS:pn-package-index = "OE-Core"
+DISTRO_PN_ALIAS:pn-patchelf = "Opensuse=patchelf Fedora=patchelf"
+DISTRO_PN_ALIAS:pn-perf = "OSPDT"
+DISTRO_PN_ALIAS:pn-piglit = "OE-Core"
+DISTRO_PN_ALIAS:pn-pkgconfig = "Ubuntu=pkg-config Fedora=pkgconfig"
+DISTRO_PN_ALIAS:pn-pointercal-xinput = "OE-Core"
+DISTRO_PN_ALIAS:pn-pong-clock = "OpenedHand"
+DISTRO_PN_ALIAS:pn-portmap = "Debian=rpcbind Fedora=rpcbind"
+DISTRO_PN_ALIAS:pn-powertop = "Meego=powertop Fedora=powertop Debian=powertop OpenSuSE=powertop Mandriva=powertop"
+DISTRO_PN_ALIAS:pn-ppp-dialin = "OE-Core"
+DISTRO_PN_ALIAS:pn-pseudo = "Windriver"
+DISTRO_PN_ALIAS:pn-psplash = "OpenedHand"
+DISTRO_PN_ALIAS:pn-ptest-runner = "OE-Core"
+DISTRO_PN_ALIAS:pn-pulseaudio-client-conf-sato = "OE-Core"
+DISTRO_PN_ALIAS:pn-puzzles = "Debian=sgt-puzzles Fedora=puzzles"
+DISTRO_PN_ALIAS:pn-python3 = "Fedora=python3 Debian=python3.2"
+DISTRO_PN_ALIAS:pn-python3-iniparse = "Fedora=python-iniparse Debian=python-iniparse"
+DISTRO_PN_ALIAS:pn-python3-pip = "OpenSuSE=python3-pip Debian=python3-pip"
+DISTRO_PN_ALIAS:pn-python3-pycurl = "Fedora=python-pycurl Debian=pycurl"
+DISTRO_PN_ALIAS:pn-python3-pygpgme = "Fedora=python-pygpgme Debian=pygpgme"
+DISTRO_PN_ALIAS:pn-python3-setuptools = "OpenSuSE=python3-setuptools Debian=python3-setuptools"
+DISTRO_PN_ALIAS:pn-python-dbus = "Ubuntu=python-dbus Debian=python-dbus Mandriva=python-dbus"
+DISTRO_PN_ALIAS:pn-python-git = "Debian=python-git Fedora=GitPython"
+DISTRO_PN_ALIAS:pn-python-mako = "Fedora=python-mako Opensuse=python-Mako"
+DISTRO_PN_ALIAS:pn-python-pycairo = "Meego=pycairo Fedora=pycairo Ubuntu=pycairo Debian=pycairo"
+DISTRO_PN_ALIAS:pn-python-pygobject = "Meego=pygobject2 Fedora=pygobject2 Ubuntu=pygobject Debian=pygobject"
+DISTRO_PN_ALIAS:pn-python-scons = "Fedora=scons OpenSuSE=scons Ubuntu=scons Mandriva=scons Debian=scons"
+DISTRO_PN_ALIAS:pn-python-setuptools = "Mandriva=python-setup OpenSuSE=python-setup-git"
+DISTRO_PN_ALIAS:pn-python-smartpm = "Debian=smart OpenSuSE=smart"
+DISTRO_PN_ALIAS:pn-qemu-config = "OpenedHand"
+DISTRO_PN_ALIAS:pn-qemugl = "OpenedHand"
+DISTRO_PN_ALIAS:pn-qemu-helper = "OpenedHand"
+DISTRO_PN_ALIAS:pn-qemuwrapper-cross = "OE-Core"
+DISTRO_PN_ALIAS:pn-readline = "Fedora=readline Debian=readline-common"
+DISTRO_PN_ALIAS:pn-remake = "Mandriva=remake Debian=remake"
+DISTRO_PN_ALIAS:pn-rgb = "Fedora=xorg-X11-server-utils Debian=x11-xserver-utils"
+DISTRO_PN_ALIAS:pn-rpmresolve = "OSPDT"
+DISTRO_PN_ALIAS:pn-rt-tests = "Debian=rt-tests Ubuntu=rt-tests"
+DISTRO_PN_ALIAS:pn-run-postinsts = "OE-Core"
+DISTRO_PN_ALIAS:pn-sato-icon-theme = "OpenedHand"
+DISTRO_PN_ALIAS:pn-sato-screenshot = "OpenedHand"
+DISTRO_PN_ALIAS:pn-sbc = "Fedora=sbc Debian=libsbc1"
+DISTRO_PN_ALIAS:pn-screenshot = "OpenedHand"
+DISTRO_PN_ALIAS:pn-settings-daemon = "OpenedHand"
+DISTRO_PN_ALIAS:pn-sgml-common = "OpenSuSE=sgml-common Fedora=sgml-common"
+DISTRO_PN_ALIAS:pn-sgmlspl = "Debian=sgmlspl Ubuntu=sgmlspl"
+DISTRO_PN_ALIAS:pn-shadow-securetty = "Ubuntu=shadow Fedora=shadow"
+DISTRO_PN_ALIAS:pn-shadow-sysroot = "Ubuntu=shadow Fedora=shadow"
+DISTRO_PN_ALIAS:pn-shutdown-desktop = "OpenedHand"
+DISTRO_PN_ALIAS:pn-speexdsp = "Ubuntu=libspeexdsp1 Fedora=speexdsp"
+DISTRO_PN_ALIAS:pn-stat = "Debian=coreutils Fedora=coreutils"
+DISTRO_PN_ALIAS:pn-stress = "Debian=stress Fedora=stress"
+DISTRO_PN_ALIAS:pn-sysklogd = "Debian=sysklogd Mandriva=sysklogd"
+DISTRO_PN_ALIAS:pn-sysprof = "Fedora=sysprof Debian=sysprof"
+DISTRO_PN_ALIAS:pn-systemd-compat-units = "Fedora=systemd Ubuntu=systemd"
+DISTRO_PN_ALIAS:pn-systemd-systemctl = "OE-Core"
+DISTRO_PN_ALIAS:pn-systemd-systemdctl = "Fedora=systemd Ubuntu=systemd"
+DISTRO_PN_ALIAS:pn-systemtap-uprobes = "Ubuntu=systemtap Debian=systemtap"
+DISTRO_PN_ALIAS:pn-sysvinit-inittab = "OE-Core"
+DISTRO_PN_ALIAS:pn-tar-replacement = "Fedora=tar Ubuntu=tar"
+DISTRO_PN_ALIAS:pn-tcf-agent = "Windriver upstream=http://www.eclipse.org/dsdp/tm/"
+DISTRO_PN_ALIAS:pn-texinfo-dummy-native = "OE-Core"
+DISTRO_PN_ALIAS:pn-tiny-init = "OSPDT"
+DISTRO_PN_ALIAS:pn-tremor = "OSPDT upstream=http://www.xiph.org/vorbis/"
+DISTRO_PN_ALIAS:pn-ttf-bitstream-vera = "Debian=ttf-bitstream-vera Ubuntu=ttf-bitstream-vera"
+DISTRO_PN_ALIAS:pn-tzcode = "OSPDT"
+DISTRO_PN_ALIAS:pn-u-boot-fw-utils = "Ubuntu=u-boot-tools Debian=u-boot-tools"
+DISTRO_PN_ALIAS:pn-u-boot-tools = "Ubuntu=u-boot-tools Debian=uboot-tools"
+DISTRO_PN_ALIAS:pn-udev = "Mandriva=udev Fedora=udev"
+DISTRO_PN_ALIAS:pn-udev-extraconf = "OE-Core"
+DISTRO_PN_ALIAS:pn-unfs3 = "Debian=unfs3 Fedora=unfs3"
+DISTRO_PN_ALIAS:pn-unfs-server = "OE-Core"
+DISTRO_PN_ALIAS:pn-uninative-tarball = "OE-Core"
+DISTRO_PN_ALIAS:pn-update-alternatives-dpkg = "Opensuse=update-alternatives Mandriva=update-alternatives"
+DISTRO_PN_ALIAS:pn-update-rc.d = "OE-Core"
+DISTRO_PN_ALIAS:pn-usbinit = "OE-Core"
+DISTRO_PN_ALIAS:pn-util-macros = "Meego=xorg-x11-util-macros Fedora=xorg-x11-util-macros Mandriva=x11-util-macros"
+DISTRO_PN_ALIAS:pn-v86d = "Debian=v86d Ubuntu=v86d"
+DISTRO_PN_ALIAS:pn-waffle = "OE-Core"
+DISTRO_PN_ALIAS:pn-watchdog = "Debian=watchdog Ubuntu=watchdog Mandriva=watchdog"
+DISTRO_PN_ALIAS:pn-webkitgtk = "Fedora=webkitgtk Ubuntu=libwebkit"
+DISTRO_PN_ALIAS:pn-weston = "Fedora=weston OpenSuSE=weston"
+DISTRO_PN_ALIAS:pn-weston-init = "OE-Core"
+DISTRO_PN_ALIAS:pn-which = "Mandriva=which Fedora=which"
+DISTRO_PN_ALIAS:pn-wpa-supplicant = "Meego=wpa_supplicant Fedora=wpa_supplicant OpenSuSE=wpa_supplicant Ubuntu=wpasupplicant Mandriva=wpa_supplicant Debian=wpasupplicant"
+DISTRO_PN_ALIAS:pn-x11perf = "Fedora=xorg-x11-apps Ubuntu=x11-apps"
+DISTRO_PN_ALIAS:pn-xcb-util-image = "Debian=xcb-util Fedora=xcb-util"
+DISTRO_PN_ALIAS:pn-xcb-util-keysyms = "Debian=xcb-util Fedora=xcb-util"
+DISTRO_PN_ALIAS:pn-xcb-util-wm = "Debian=xcb-util Fedora=xcb-util"
+DISTRO_PN_ALIAS:pn-xcursor-transparent-theme = "OpenedHand"
+DISTRO_PN_ALIAS:pn-xdpyinfo = "Fedora=xorg-x11-utils Ubuntu=x11-utils"
+DISTRO_PN_ALIAS:pn-xev = "Fedora=xorg-x11-utils Ubuntu=x11-utils"
+DISTRO_PN_ALIAS:pn-xeyes = "Ubuntu=x11-apps Fedora=xorg-x11-apps"
+DISTRO_PN_ALIAS:pn-xf86-input-evdev = "Ubuntu=xserver-xorg-input-evdev Mandriva=x11-driver-input-evdev Debian=xserver-xorg-input-evdev Fedora=xorg-x11-drv-evdev Meego=xorg-x11-drv-evdev"
+DISTRO_PN_ALIAS:pn-xf86-input-keyboard = "Meego=xorg-x11-drv-keyboard Fedora=xorg-x11-drv-keyboard Mandriva=x11-driver-input-keyboard Debian=xserver-xorg-input-keyboard"
+DISTRO_PN_ALIAS:pn-xf86-input-mouse = "Ubuntu=xserver-xorg-input-mouse Mandriva=x11-driver-input-mouse Debian=xserver-xorg-input-mouse"
+DISTRO_PN_ALIAS:pn-xf86-input-synaptics = "Meego=xorg-x11-drv-synaptics Fedora=xorg-x11-drv-synaptics Ubuntu=xserver-xorg-input-synaptics Mandriva=x11-driver-input-synaptics Debian=xfree86-driver-synaptics"
+DISTRO_PN_ALIAS:pn-xf86-input-vmmouse = "Fedora=xorg-x11-drv-vmmouse Ubuntu=xserver-xorg-input-vmmouse Mandriva=x11-driver-input-vmmouse Debian=xserver-xorg-input-vmmouse"
+DISTRO_PN_ALIAS:pn-xf86-video-cirrus = "Opensuse=xf86-video-cirrus Debian=xserver-xorg-video-cirrus"
+DISTRO_PN_ALIAS:pn-xf86-video-fbdev = "Ubuntu=xserver-xorg-video-fbdev Debian=xserver-xorg-video-fbdev"
+DISTRO_PN_ALIAS:pn-xf86-video-intel = "Debian=xserver-xorg-video-intel Fedora=xorg-x11-drv-intel Mandriva=x11-driver-video-intel Meego=xorg-x11-drv-intel Ubuntu=xserver-xorg-video-intel"
+DISTRO_PN_ALIAS:pn-xf86-video-modesetting = "Debian=xserver-xorg-video-modesetting Fedora=xf86-video-modesetting"
+DISTRO_PN_ALIAS:pn-xf86-video-omap = "Ubuntu=xf86-video-omap Debian=xf86-video-omap"
+DISTRO_PN_ALIAS:pn-xf86-video-omapfb = "OSPDT"
+DISTRO_PN_ALIAS:pn-xf86-video-vesa = "Debian=xserver-xorg-video-vesa Fedora=xorg-x11-drv-vesa Mandriva=x11-driver-video-vesa Ubuntu=xserver-xorg-video-vesa"
+DISTRO_PN_ALIAS:pn-xf86-video-vmware = "Debian=xserver-xorg-video-vmware Fedora=xorg-x11-drv-vmware Mandriva=x11-driver-video-vmware Ubuntu=xserver-xorg-video-vmware"
+DISTRO_PN_ALIAS:pn-xhost = "Ubuntu=x11-xserver-utils Fedora=xorg-x11-server-utils"
+DISTRO_PN_ALIAS:pn-xinput-calibrator = "Fedora=xinput-calibrator Mandravia=xinput-calibrator Ubuntu=xinput-calibrator"
+DISTRO_PN_ALIAS:pn-xkbcomp = "Ubuntu=x11-xkb-utils Fedora=xorg-x11-xkb-utils"
+DISTRO_PN_ALIAS:pn-xmodmap = "Meego=xorg-x11-utils-xmodmap Fedora=xorg-x11-server-utils Ubuntu=x11-xserver-utils"
+DISTRO_PN_ALIAS:pn-xorg-minimal-fonts = "Ubuntu=xfonts-base Fedora=xorg-x11-fonts-base"
+DISTRO_PN_ALIAS:pn-xorgproto = "OSPDT upstream=http://cgit.freedesktop.org/xorg/proto/xorgproto"
+DISTRO_PN_ALIAS:pn-xprop = "Meego=xorg-x11-utils-xprop Fedora=xorg-x11-utils Ubuntu=x11-utils"
+DISTRO_PN_ALIAS:pn-xproxymanagementprotocol = "Meego=xorg-x11-proto-xproxymanagementprotocol"
+DISTRO_PN_ALIAS:pn-xrandr = "Ubuntu=x11-xserver-utils Fedora=xorg-x11-server-utils"
+DISTRO_PN_ALIAS:pn-xrdb = "Ubuntu=x11-xserver-utils Fedora=xorg-x11-server-utils"
+DISTRO_PN_ALIAS:pn-xserver-nodm-init = "OE-Core"
+DISTRO_PN_ALIAS:pn-xserver-xf86-config = "OE-Core"
+DISTRO_PN_ALIAS:pn-xserver-xf86-dri-lite = "Fedora=xorg-x11-server Ubuntu=xserver-xorg"
+DISTRO_PN_ALIAS:pn-xserver-xf86-lite = "Fedora=xorg-x11-server Ubuntu=xserver-xorg"
+DISTRO_PN_ALIAS:pn-xserver-xorg = "Fedora=xorg-x11-server Ubuntu=xserver-xorg"
+DISTRO_PN_ALIAS:pn-xset = "Fedora=xorg-x11-server-utils Ubuntu=x11-xserver-utils Debian=x11-xserver-utils Opensuse=xorg-x11"
+DISTRO_PN_ALIAS:pn-xuser-account = "OE-Core"
+DISTRO_PN_ALIAS:pn-xvinfo = "Fedora=xorg-x11-utils Ubuntu=x11-utils"
+DISTRO_PN_ALIAS:pn-xwininfo = "Fedora=xorg-x11-utils Ubuntu=x11-utils"
diff --git a/meta/conf/distro/include/init-manager-mdev-busybox.inc b/meta/conf/distro/include/init-manager-mdev-busybox.inc
index 4e3be14a825..12091cba68c 100644
--- a/meta/conf/distro/include/init-manager-mdev-busybox.inc
+++ b/meta/conf/distro/include/init-manager-mdev-busybox.inc
@@ -1,5 +1,5 @@
 # enable mdev/busybox for init
-DISTRO_FEATURES_BACKFILL_CONSIDERED_append = " systemd sysvinit"
+DISTRO_FEATURES_BACKFILL_CONSIDERED:append = " systemd sysvinit"
 VIRTUAL-RUNTIME_dev_manager ??= "busybox-mdev"
 VIRTUAL-RUNTIME_init_manager ??= "busybox"
 VIRTUAL-RUNTIME_initscripts ??= "initscripts"
diff --git a/meta/conf/distro/include/init-manager-systemd.inc b/meta/conf/distro/include/init-manager-systemd.inc
index 1558b852507..269f5170b88 100644
--- a/meta/conf/distro/include/init-manager-systemd.inc
+++ b/meta/conf/distro/include/init-manager-systemd.inc
@@ -1,6 +1,6 @@
 # Use systemd for system initialization
-DISTRO_FEATURES_append = " systemd"
-DISTRO_FEATURES_BACKFILL_CONSIDERED_append = " sysvinit"
+DISTRO_FEATURES:append = " systemd"
+DISTRO_FEATURES_BACKFILL_CONSIDERED:append = " sysvinit"
 VIRTUAL-RUNTIME_init_manager ??= "systemd"
 VIRTUAL-RUNTIME_initscripts ??= "systemd-compat-units"
 VIRTUAL-RUNTIME_login_manager ??= "shadow-base"
diff --git a/meta/conf/distro/include/init-manager-sysvinit.inc b/meta/conf/distro/include/init-manager-sysvinit.inc
index 6b662d60bba..aa2393944d6 100644
--- a/meta/conf/distro/include/init-manager-sysvinit.inc
+++ b/meta/conf/distro/include/init-manager-sysvinit.inc
@@ -1,6 +1,6 @@
 # Use sysvinit for system initialization
-DISTRO_FEATURES_append = " sysvinit"
-DISTRO_FEATURES_BACKFILL_CONSIDERED_append = " systemd"
+DISTRO_FEATURES:append = " sysvinit"
+DISTRO_FEATURES_BACKFILL_CONSIDERED:append = " systemd"
 VIRTUAL-RUNTIME_init_manager ??= "sysvinit"
 VIRTUAL-RUNTIME_initscripts ??= "initscripts"
 VIRTUAL-RUNTIME_login_manager ??= "busybox"
diff --git a/meta/conf/distro/include/lto.inc b/meta/conf/distro/include/lto.inc
index 20895ad40da..79818ac09fd 100644
--- a/meta/conf/distro/include/lto.inc
+++ b/meta/conf/distro/include/lto.inc
@@ -1,32 +1,32 @@
 # To enable LTO, add following in local.conf
 # require conf/distro/include/lto.inc
-# DISTRO_FEATURES_append = " lto"
+# DISTRO_FEATURES:append = " lto"
 #
 
 # Disable LTO for following packages
-LTO_pn-glibc = ""
-LTO_pn-gcc-runtime = ""
-LTO_pn-libgcc-initial = ""
-LTO_pn-libgcc = ""
-LTO_pn-libaio = ""
-LTO_pn-libpam = ""
-LTO_pn-elfutils = ""
-LTO_pn-perl = ""
-LTO_pn-busybox = ""
-LTO_pn-libxcrypt = ""
-LTO_pn-curl = ""
-LTO_pn-libcap = ""
-LTO_pn-libproxy = ""
-LTO_pn-libbsd = ""
-LTO_pn-perf = ""
+LTO:pn-glibc = ""
+LTO:pn-gcc-runtime = ""
+LTO:pn-libgcc-initial = ""
+LTO:pn-libgcc = ""
+LTO:pn-libaio = ""
+LTO:pn-libpam = ""
+LTO:pn-elfutils = ""
+LTO:pn-perl = ""
+LTO:pn-busybox = ""
+LTO:pn-libxcrypt = ""
+LTO:pn-curl = ""
+LTO:pn-libcap = ""
+LTO:pn-libproxy = ""
+LTO:pn-libbsd = ""
+LTO:pn-perf = ""
 # webkit is not linking properly with LTO, disable until next time
-LTO_pn-webkitgtk = ""
-LTO_pn-xserver-xorg = ""
+LTO:pn-webkitgtk = ""
+LTO:pn-xserver-xorg = ""
 
 # Custom LTO flags
 # disable partitioning/streaming algorithm since its uses ASM
 # constructs not compatible with lto
-LTOEXTRA_pn-alsa-lib = "-flto-partition=none"
+LTOEXTRA:pn-alsa-lib = "-flto-partition=none"
 
 LTOEXTRA ?= ""
 
@@ -43,7 +43,7 @@ LTOEXTRA ?= ""
 # code from .a files to linker
 LTO ?= "-flto -ffat-lto-objects -fuse-linker-plugin ${LTOEXTRA}"
 
-SELECTED_OPTIMIZATION_append = "${@bb.utils.contains('DISTRO_FEATURES', 'lto', ' ${LTO}', '', d)}"
-TARGET_LDFLAGS_append_class-target = "${@bb.utils.contains('DISTRO_FEATURES', 'lto', ' ${LTO}', '', d)}"
+SELECTED_OPTIMIZATION:append = "${@bb.utils.contains('DISTRO_FEATURES', 'lto', ' ${LTO}', '', d)}"
+TARGET_LDFLAGS:append:class-target = "${@bb.utils.contains('DISTRO_FEATURES', 'lto', ' ${LTO}', '', d)}"
 
 SELECTED_OPTIMIZATION[vardeps] += "LTO LTOEXTRA"
diff --git a/meta/conf/distro/include/maintainers.inc b/meta/conf/distro/include/maintainers.inc
index a10ad538dd4..c697285adaf 100644
--- a/meta/conf/distro/include/maintainers.inc
+++ b/meta/conf/distro/include/maintainers.inc
@@ -23,790 +23,790 @@
 #
 # The format is as a bitbake variable override for each recipe
 #
-#	RECIPE_MAINTAINER_pn-<recipe name> = "Full Name <address@domain>"
+#	RECIPE_MAINTAINER:pn-<recipe name> = "Full Name <address@domain>"
 #
 # Please keep this list in alphabetical order.
 #
-RECIPE_MAINTAINER_pn-acl = "Chen Qi <Qi.Chen@windriver.com>"
-RECIPE_MAINTAINER_pn-acpica = "Ross Burton <ross.burton@arm.com>"
-RECIPE_MAINTAINER_pn-acpid = "Ross Burton <ross.burton@arm.com>"
-RECIPE_MAINTAINER_pn-adwaita-icon-theme = "Ross Burton <ross.burton@arm.com>"
-RECIPE_MAINTAINER_pn-alsa-lib = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-alsa-plugins = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-alsa-state = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-alsa-tools = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-alsa-topology-conf = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-alsa-ucm-conf = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-alsa-utils = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-alsa-utils-scripts = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-apmd = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-apr = "Hongxu Jia <hongxu.jia@windriver.com>"
-RECIPE_MAINTAINER_pn-apr-util = "Hongxu Jia <hongxu.jia@windriver.com>"
-RECIPE_MAINTAINER_pn-apt = "Aníbal Limón <limon.anibal@gmail.com>"
-RECIPE_MAINTAINER_pn-argp-standalone = "Khem Raj <raj.khem@gmail.com>"
-RECIPE_MAINTAINER_pn-asciidoc = "Yi Zhao <yi.zhao@windriver.com>"
-RECIPE_MAINTAINER_pn-aspell = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-assimp = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-at = "Chen Qi <Qi.Chen@windriver.com>"
-RECIPE_MAINTAINER_pn-at-spi2-atk = "Tim Orling <timothy.t.orling@intel.com>"
-RECIPE_MAINTAINER_pn-at-spi2-core = "Tim Orling <timothy.t.orling@intel.com>"
-RECIPE_MAINTAINER_pn-atk = "Tim Orling <timothy.t.orling@intel.com>"
-RECIPE_MAINTAINER_pn-attr = "Chen Qi <Qi.Chen@windriver.com>"
-RECIPE_MAINTAINER_pn-autoconf = "Robert Yang <liezhi.yang@windriver.com>"
-RECIPE_MAINTAINER_pn-autoconf-archive = "Robert Yang <liezhi.yang@windriver.com>"
-RECIPE_MAINTAINER_pn-automake = "Robert Yang <liezhi.yang@windriver.com>"
-RECIPE_MAINTAINER_pn-avahi = "Yi Zhao <yi.zhao@windriver.com>"
-RECIPE_MAINTAINER_pn-babeltrace = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-babeltrace2 = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-base-files = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-base-passwd = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-bash = "Hongxu Jia <hongxu.jia@windriver.com>"
-RECIPE_MAINTAINER_pn-bash-completion = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-bc = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-bind = "Armin Kuster <akuster808@gmail.com>"
-RECIPE_MAINTAINER_pn-binutils = "Khem Raj <raj.khem@gmail.com>"
-RECIPE_MAINTAINER_pn-binutils-cross-${TARGET_ARCH} = "Khem Raj <raj.khem@gmail.com>"
-RECIPE_MAINTAINER_pn-binutils-cross-canadian-${TRANSLATED_TARGET_ARCH} = "Khem Raj <raj.khem@gmail.com>"
-RECIPE_MAINTAINER_pn-binutils-cross-testsuite = "Khem Raj <raj.khem@gmail.com>"
-RECIPE_MAINTAINER_pn-binutils-crosssdk-${SDK_SYS} = "Khem Raj <raj.khem@gmail.com>"
-RECIPE_MAINTAINER_pn-bison = "Chen Qi <Qi.Chen@windriver.com>"
-RECIPE_MAINTAINER_pn-blktool = "Yi Zhao <yi.zhao@windriver.com>"
-RECIPE_MAINTAINER_pn-blktrace = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-bluez5 = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-bmap-tools = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-boost = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-boost-build-native = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-bootchart2 = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-bsd-headers = "Khem Raj <raj.khem@gmail.com>"
-RECIPE_MAINTAINER_pn-btrfs-tools = "Wang Mingyu <wangmy@fujitsu.com>"
-RECIPE_MAINTAINER_pn-build-appliance-image = "Richard Purdie <richard.purdie@linuxfoundation.org>"
-RECIPE_MAINTAINER_pn-build-sysroots = "Richard Purdie <richard.purdie@linuxfoundation.org>"
-RECIPE_MAINTAINER_pn-builder = "Richard Purdie <richard.purdie@linuxfoundation.org>"
-RECIPE_MAINTAINER_pn-buildtools-extended-tarball = "Richard Purdie <richard.purdie@linuxfoundation.org>"
-RECIPE_MAINTAINER_pn-buildtools-tarball = "Richard Purdie <richard.purdie@linuxfoundation.org>"
-RECIPE_MAINTAINER_pn-busybox = "Andrej Valek <andrej.valek@siemens.com>"
-RECIPE_MAINTAINER_pn-busybox-inittab = "Denys Dmytriyenko <denis@denix.org>"
-RECIPE_MAINTAINER_pn-bzip2 = "Denys Dmytriyenko <denis@denix.org>"
-RECIPE_MAINTAINER_pn-ca-certificates = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-cairo = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-cantarell-fonts = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-ccache = "Robert Yang <liezhi.yang@windriver.com>"
-RECIPE_MAINTAINER_pn-cdrtools-native = "Yi Zhao <yi.zhao@windriver.com>"
-RECIPE_MAINTAINER_pn-chrpath = "Yi Zhao <yi.zhao@windriver.com>"
-RECIPE_MAINTAINER_pn-cmake = "Pascal Bach <pascal.bach@siemens.com>"
-RECIPE_MAINTAINER_pn-cmake-native = "Pascal Bach <pascal.bach@siemens.com>"
-RECIPE_MAINTAINER_pn-connman = "Changhyeok Bae <changhyeok.bae@gmail.com>"
-RECIPE_MAINTAINER_pn-connman-conf = "Ross Burton <ross.burton@arm.com>"
-RECIPE_MAINTAINER_pn-connman-gnome = "Ross Burton <ross.burton@arm.com>"
-RECIPE_MAINTAINER_pn-consolekit = "Chen Qi <Qi.Chen@windriver.com>"
-RECIPE_MAINTAINER_pn-core-image-base = "Richard Purdie <richard.purdie@linuxfoundation.org>"
-RECIPE_MAINTAINER_pn-core-image-minimal = "Richard Purdie <richard.purdie@linuxfoundation.org>"
-RECIPE_MAINTAINER_pn-core-image-minimal-dev = "Richard Purdie <richard.purdie@linuxfoundation.org>"
-RECIPE_MAINTAINER_pn-core-image-minimal-initramfs = "Richard Purdie <richard.purdie@linuxfoundation.org>"
-RECIPE_MAINTAINER_pn-core-image-minimal-mtdutils = "Richard Purdie <richard.purdie@linuxfoundation.org>"
-RECIPE_MAINTAINER_pn-core-image-tiny-initramfs = "Richard Purdie <richard.purdie@linuxfoundation.org>"
-RECIPE_MAINTAINER_pn-core-image-full-cmdline = "Richard Purdie <richard.purdie@linuxfoundation.org>"
-RECIPE_MAINTAINER_pn-core-image-kernel-dev = "Richard Purdie <richard.purdie@linuxfoundation.org>"
-RECIPE_MAINTAINER_pn-core-image-ptest-all = "Richard Purdie <richard.purdie@linuxfoundation.org>"
-RECIPE_MAINTAINER_pn-core-image-ptest-fast = "Richard Purdie <richard.purdie@linuxfoundation.org>"
-RECIPE_MAINTAINER_pn-core-image-sato = "Richard Purdie <richard.purdie@linuxfoundation.org>"
-RECIPE_MAINTAINER_pn-core-image-sato-sdk = "Richard Purdie <richard.purdie@linuxfoundation.org>"
-RECIPE_MAINTAINER_pn-core-image-testmaster-initramfs = "Richard Purdie <richard.purdie@linuxfoundation.org>"
-RECIPE_MAINTAINER_pn-core-image-testmaster = "Richard Purdie <richard.purdie@linuxfoundation.org>"
-RECIPE_MAINTAINER_pn-core-image-weston = "Richard Purdie <richard.purdie@linuxfoundation.org>"
-RECIPE_MAINTAINER_pn-core-image-weston-sdk = "Richard Purdie <richard.purdie@linuxfoundation.org>"
-RECIPE_MAINTAINER_pn-core-image-x11 = "Richard Purdie <richard.purdie@linuxfoundation.org>"
-RECIPE_MAINTAINER_pn-core-image-sato-dev = "Richard Purdie <richard.purdie@linuxfoundation.org>"
-RECIPE_MAINTAINER_pn-coreutils = "Chen Qi <Qi.Chen@windriver.com>"
-RECIPE_MAINTAINER_pn-cpio = "Denys Dmytriyenko <denis@denix.org>"
-RECIPE_MAINTAINER_pn-cracklib = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-createrepo-c = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-cronie = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-cross-localedef-native = "Khem Raj <raj.khem@gmail.com>"
-RECIPE_MAINTAINER_pn-cryptodev-linux = "Robert Yang <liezhi.yang@windriver.com>"
-RECIPE_MAINTAINER_pn-cryptodev-module = "Robert Yang <liezhi.yang@windriver.com>"
-RECIPE_MAINTAINER_pn-cryptodev-tests = "Robert Yang <liezhi.yang@windriver.com>"
-RECIPE_MAINTAINER_pn-cups = "Chen Qi <Qi.Chen@windriver.com>"
-RECIPE_MAINTAINER_pn-curl = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-cve-update-db-native = "Ross Burton <ross.burton@arm.com>"
-RECIPE_MAINTAINER_pn-cwautomacros = "Ross Burton <ross.burton@arm.com>"
-RECIPE_MAINTAINER_pn-db = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-dbus = "Chen Qi <Qi.Chen@windriver.com>"
-RECIPE_MAINTAINER_pn-dbus-glib = "Chen Qi <Qi.Chen@windriver.com>"
-RECIPE_MAINTAINER_pn-dbus-test = "Chen Qi <Qi.Chen@windriver.com>"
-RECIPE_MAINTAINER_pn-dbus-wait = "Chen Qi <Qi.Chen@windriver.com>"
-RECIPE_MAINTAINER_pn-debianutils = "Yi Zhao <yi.zhao@windriver.com>"
-RECIPE_MAINTAINER_pn-dejagnu = "Nathan Rossi <nathan@nathanrossi.com>"
-RECIPE_MAINTAINER_pn-depmodwrapper-cross = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-desktop-file-utils = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-dhcpcd = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-diffoscope = "Joshua Watt <JPEWhacker@gmail.com>"
-RECIPE_MAINTAINER_pn-diffstat = "Chen Qi <Qi.Chen@windriver.com>"
-RECIPE_MAINTAINER_pn-diffutils = "Chen Qi <Qi.Chen@windriver.com>"
-RECIPE_MAINTAINER_pn-distcc = "Hongxu Jia <hongxu.jia@windriver.com>"
-RECIPE_MAINTAINER_pn-distcc-config = "Yi Zhao <yi.zhao@windriver.com>"
-RECIPE_MAINTAINER_pn-dmidecode = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-dnf = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-docbook-xml-dtd4 = "Yi Zhao <yi.zhao@windriver.com>"
-RECIPE_MAINTAINER_pn-docbook-xsl-stylesheets = "Yi Zhao <yi.zhao@windriver.com>"
-RECIPE_MAINTAINER_pn-dos2unix = "Khem Raj <raj.khem@gmail.com>"
-RECIPE_MAINTAINER_pn-dosfstools = "Yi Zhao <yi.zhao@windriver.com>"
-RECIPE_MAINTAINER_pn-dpkg = "Aníbal Limón <limon.anibal@gmail.com>"
-RECIPE_MAINTAINER_pn-dropbear = "Yi Zhao <yi.zhao@windriver.com>"
-RECIPE_MAINTAINER_pn-dtc = "Wang Mingyu <wangmy@fujitsu.com>"
-RECIPE_MAINTAINER_pn-dwarfsrcfiles = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-e2fsprogs = "Robert Yang <liezhi.yang@windriver.com>"
-RECIPE_MAINTAINER_pn-ed = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-efivar = "Ross Burton <ross.burton@arm.com>"
-RECIPE_MAINTAINER_pn-efibootmgr = "Ross Burton <ross.burton@arm.com>"
-RECIPE_MAINTAINER_pn-elfutils = "Zang Ruochen <zangrc.fnst@fujitsu.com>"
-RECIPE_MAINTAINER_pn-ell = "Zang Ruochen <zangrc.fnst@fujitsu.com>"
-RECIPE_MAINTAINER_pn-enchant2 = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-encodings = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-epiphany = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-erofs-utils = "Richard Weinberger <richard@nod.at>"
-RECIPE_MAINTAINER_pn-ethtool = "Changhyeok Bae <changhyeok.bae@gmail.com>"
-RECIPE_MAINTAINER_pn-eudev = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-expat = "Yi Zhao <yi.zhao@windriver.com>"
-RECIPE_MAINTAINER_pn-expect = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-ffmpeg = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-file = "Yi Zhao <yi.zhao@windriver.com>"
-RECIPE_MAINTAINER_pn-findutils = "Chen Qi <Qi.Chen@windriver.com>"
-RECIPE_MAINTAINER_pn-flac = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-flex = "Chen Qi <Qi.Chen@windriver.com>"
-RECIPE_MAINTAINER_pn-font-alias = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-font-util = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-fontconfig = "Ross Burton <ross.burton@arm.com>"
-RECIPE_MAINTAINER_pn-formfactor = "Ross Burton <ross.burton@arm.com>"
-RECIPE_MAINTAINER_pn-freetype = "Ross Burton <ross.burton@arm.com>"
-RECIPE_MAINTAINER_pn-fribidi = "Ross Burton <ross.burton@arm.com>"
-RECIPE_MAINTAINER_pn-fts = "Khem Raj <raj.khem@gmail.com>"
-RECIPE_MAINTAINER_pn-gawk = "Chen Qi <Qi.Chen@windriver.com>"
-RECIPE_MAINTAINER_pn-gcc = "Khem Raj <raj.khem@gmail.com>"
-RECIPE_MAINTAINER_pn-gcc-cross-${TARGET_ARCH} = "Khem Raj <raj.khem@gmail.com>"
-RECIPE_MAINTAINER_pn-gcc-cross-canadian-${TRANSLATED_TARGET_ARCH} = "Khem Raj <raj.khem@gmail.com>"
-RECIPE_MAINTAINER_pn-gcc-crosssdk-${SDK_SYS} = "Khem Raj <raj.khem@gmail.com>"
-RECIPE_MAINTAINER_pn-gcc-runtime = "Khem Raj <raj.khem@gmail.com>"
-RECIPE_MAINTAINER_pn-gcc-sanitizers = "Khem Raj <raj.khem@gmail.com>"
-RECIPE_MAINTAINER_pn-gcc-source-11.1.0 = "Khem Raj <raj.khem@gmail.com>"
-RECIPE_MAINTAINER_pn-gconf = "Ross Burton <ross.burton@arm.com>"
-RECIPE_MAINTAINER_pn-gcr = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-gdb = "Khem Raj <raj.khem@gmail.com>"
-RECIPE_MAINTAINER_pn-gdb-cross-${TARGET_ARCH} = "Khem Raj <raj.khem@gmail.com>"
-RECIPE_MAINTAINER_pn-gdb-cross-canadian-${TRANSLATED_TARGET_ARCH} = "Khem Raj <raj.khem@gmail.com>"
-RECIPE_MAINTAINER_pn-gdbm = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-gdk-pixbuf = "Ross Burton <ross.burton@arm.com>"
-RECIPE_MAINTAINER_pn-gettext = "Robert Yang <liezhi.yang@windriver.com>"
-RECIPE_MAINTAINER_pn-gettext-minimal-native = "Robert Yang <liezhi.yang@windriver.com>"
-RECIPE_MAINTAINER_pn-ghostscript = "Hongxu Jia <hongxu.jia@windriver.com>"
-RECIPE_MAINTAINER_pn-gi-docgen = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-git = "Robert Yang <liezhi.yang@windriver.com>"
-RECIPE_MAINTAINER_pn-glew = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-glib-2.0 = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-glib-networking = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-glibc = "Khem Raj <raj.khem@gmail.com>"
-RECIPE_MAINTAINER_pn-glibc-locale = "Khem Raj <raj.khem@gmail.com>"
-RECIPE_MAINTAINER_pn-glibc-mtrace = "Khem Raj <raj.khem@gmail.com>"
-RECIPE_MAINTAINER_pn-glibc-scripts = "Khem Raj <raj.khem@gmail.com>"
-RECIPE_MAINTAINER_pn-glibc-testsuite = "Khem Raj <raj.khem@gmail.com>"
-RECIPE_MAINTAINER_pn-glide = "Otavio Salvador <otavio.salvador@ossystems.com.br>"
-RECIPE_MAINTAINER_pn-gmp = "Khem Raj <raj.khem@gmail.com>"
-RECIPE_MAINTAINER_pn-glslang = "Jose Quaresma <quaresma.jose@gmail.com>"
-RECIPE_MAINTAINER_pn-gnome-desktop-testing = "Ross Burton <ross.burton@arm.com>"
-RECIPE_MAINTAINER_pn-gnu-config = "Robert Yang <liezhi.yang@windriver.com>"
-RECIPE_MAINTAINER_pn-gnu-efi = "Yi Zhao <yi.zhao@windriver.com>"
-RECIPE_MAINTAINER_pn-gnupg = "Hongxu Jia <hongxu.jia@windriver.com>"
-RECIPE_MAINTAINER_pn-gnutls = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-go = "Khem Raj <raj.khem@gmail.com>"
-RECIPE_MAINTAINER_pn-go-binary-native = "Khem Raj <raj.khem@gmail.com>"
-RECIPE_MAINTAINER_pn-go-cross-${TUNE_PKGARCH} = "Khem Raj <raj.khem@gmail.com>"
-RECIPE_MAINTAINER_pn-go-cross-canadian-${TRANSLATED_TARGET_ARCH} = "Khem Raj <raj.khem@gmail.com>"
-RECIPE_MAINTAINER_pn-go-crosssdk-${SDK_SYS} = "Khem Raj <raj.khem@gmail.com>"
-RECIPE_MAINTAINER_pn-go-helloworld = "Khem Raj <raj.khem@gmail.com>"
-RECIPE_MAINTAINER_pn-go-native = "Khem Raj <raj.khem@gmail.com>"
-RECIPE_MAINTAINER_pn-go-runtime = "Khem Raj <raj.khem@gmail.com>"
-RECIPE_MAINTAINER_pn-gobject-introspection = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-gperf = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-gpgme = "Hongxu Jia <hongxu.jia@windriver.com>"
-RECIPE_MAINTAINER_pn-gptfdisk = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-gcompat = "Khem Raj <raj.khem@gmail.com>"
-RECIPE_MAINTAINER_pn-grep = "Denys Dmytriyenko <denis@denix.org>"
-RECIPE_MAINTAINER_pn-groff = "Hongxu Jia <hongxu.jia@windriver.com>"
-RECIPE_MAINTAINER_pn-grub = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-grub-bootconf = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-grub-efi = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-gsettings-desktop-schemas = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-gst-devtools = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-gst-examples = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-gstreamer1.0 = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-gstreamer1.0-libav = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-gstreamer1.0-omx = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-gstreamer1.0-meta-base = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-gstreamer1.0-plugins-bad = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-gstreamer1.0-plugins-base = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-gstreamer1.0-plugins-good = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-gstreamer1.0-plugins-ugly = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-gstreamer1.0-python = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-gstreamer1.0-rtsp-server = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-gstreamer1.0-vaapi = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-gtk+3 = "Ross Burton <ross.burton@arm.com>"
-RECIPE_MAINTAINER_pn-gtk-doc = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-gzip = "Denys Dmytriyenko <denis@denix.org>"
-RECIPE_MAINTAINER_pn-harfbuzz = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-hdparm = "Denys Dmytriyenko <denis@denix.org>"
-RECIPE_MAINTAINER_pn-help2man = "Hongxu Jia <hongxu.jia@windriver.com>"
-RECIPE_MAINTAINER_pn-hicolor-icon-theme = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-hwlatdetect = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-i2c-tools = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-icecc-create-env = "Joshua Watt <JPEWhacker@gmail.com>"
-RECIPE_MAINTAINER_pn-icu = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-ifupdown = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-igt-gpu-tools = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-inetutils = "Tom Rini <trini@konsulko.com>"
-RECIPE_MAINTAINER_pn-init-ifupdown = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-init-system-helpers = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-initramfs-boot = "Otavio Salvador <otavio.salvador@ossystems.com.br>"
-RECIPE_MAINTAINER_pn-initramfs-framework = "Otavio Salvador <otavio.salvador@ossystems.com.br>"
-RECIPE_MAINTAINER_pn-initramfs-live-boot = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-initramfs-live-boot-tiny = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-initramfs-live-install = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-initramfs-live-install-efi = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-initramfs-live-install-efi-testfs = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-initramfs-live-install-testfs = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-initscripts = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-intltool = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-iproute2 = "Changhyeok Bae <changhyeok.bae@gmail.com>"
-RECIPE_MAINTAINER_pn-iptables = "Changhyeok Bae <changhyeok.bae@gmail.com>"
-RECIPE_MAINTAINER_pn-iputils = "Changhyeok Bae <changhyeok.bae@gmail.com>"
-RECIPE_MAINTAINER_pn-iso-codes = "Wang Mingyu <wangmy@cn.ujitsu.com>"
-RECIPE_MAINTAINER_pn-itstool = "Andreas Müller <schnitzeltony@gmail.com>"
-RECIPE_MAINTAINER_pn-iw = "Changhyeok Bae <changhyeok.bae@gmail.com>"
-RECIPE_MAINTAINER_pn-libjpeg-turbo = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-json-c = "Yi Zhao <yi.zhao@windriver.com>"
-RECIPE_MAINTAINER_pn-json-glib = "Yi Zhao <yi.zhao@windriver.com>"
-RECIPE_MAINTAINER_pn-jquery = "Joshua Watt <JPEWhacker@gmail.com>"
-RECIPE_MAINTAINER_pn-kbd = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-kea = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-kern-tools-native = "Bruce Ashfield <bruce.ashfield@gmail.com>"
-RECIPE_MAINTAINER_pn-kernel-devsrc = "Bruce Ashfield <bruce.ashfield@gmail.com>"
-RECIPE_MAINTAINER_pn-kexec-tools = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-keymaps = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-kmod = "Chen Qi <Qi.Chen@windriver.com>"
-RECIPE_MAINTAINER_pn-kmod-native = "Chen Qi <Qi.Chen@windriver.com>"
-RECIPE_MAINTAINER_pn-kmscube = "Carlos Rafael Giani <dv@pseudoterminal.org>"
-RECIPE_MAINTAINER_pn-l3afpad = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-lame = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-ldconfig-native = "Khem Raj <raj.khem@gmail.com>"
-RECIPE_MAINTAINER_pn-less = "Yi Zhao <yi.zhao@windriver.com>"
-RECIPE_MAINTAINER_pn-liba52 = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-libacpi = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-libaio = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-libarchive = "Otavio Salvador <otavio.salvador@ossystems.com.br>"
-RECIPE_MAINTAINER_pn-libassuan = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-libatomic-ops = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-libbsd = "Yi Zhao <yi.zhao@windriver.com>"
-RECIPE_MAINTAINER_pn-libcap = "Yi Zhao <yi.zhao@windriver.com>"
-RECIPE_MAINTAINER_pn-libcap-ng = "Yi Zhao <yi.zhao@windriver.com>"
-RECIPE_MAINTAINER_pn-libcap-ng-python = "Yi Zhao <yi.zhao@windriver.com>"
-RECIPE_MAINTAINER_pn-libcgroup = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-libcheck = "Yi Zhao <yi.zhao@windriver.com>"
-RECIPE_MAINTAINER_pn-libcomps = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-libconvert-asn1-perl = "Tim Orling <timothy.t.orling@intel.com>"
-RECIPE_MAINTAINER_pn-libcroco = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-libdaemon = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-libdazzle = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-libdmx = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-libdnf = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-libdrm = "Otavio Salvador <otavio.salvador@ossystems.com.br>"
-RECIPE_MAINTAINER_pn-libedit = "Khem Raj <raj.khem@gmail.com>"
-RECIPE_MAINTAINER_pn-libepoxy = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-liberation-fonts = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-liberror-perl = "Tim Orling <timothy.t.orling@intel.com>"
-RECIPE_MAINTAINER_pn-libevdev = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-libevent = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-libexif = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-libfakekey = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-libffi = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-libfm = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-libfm-extra = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-libfontenc = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-libgcc = "Khem Raj <raj.khem@gmail.com>"
-RECIPE_MAINTAINER_pn-libgcc-initial = "Khem Raj <raj.khem@gmail.com>"
-RECIPE_MAINTAINER_pn-libgcrypt = "Hongxu Jia <hongxu.jia@windriver.com>"
-RECIPE_MAINTAINER_pn-libgfortran = "Khem Raj <raj.khem@gmail.com>"
-RECIPE_MAINTAINER_pn-libgit2 = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-libgloss = "Alejandro Hernandez <aehs29@gmail.com>"
-RECIPE_MAINTAINER_pn-libglu = "Ross Burton <ross.burton@arm.com>"
-RECIPE_MAINTAINER_pn-libgpg-error = "Hongxu Jia <hongxu.jia@windriver.com>"
-RECIPE_MAINTAINER_pn-libgudev = "Ross Burton <ross.burton@arm.com>"
-RECIPE_MAINTAINER_pn-libhandy = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-libical = "Ross Burton <ross.burton@arm.com>"
-RECIPE_MAINTAINER_pn-libice = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-libid3tag = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-libidn2 = "Ross Burton <ross.burton@arm.com>"
-RECIPE_MAINTAINER_pn-libinput = "Ross Burton <ross.burton@arm.com>"
-RECIPE_MAINTAINER_pn-libjitterentropy = "Ross Burton <ross.burton@arm.com>"
-RECIPE_MAINTAINER_pn-libksba = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-libmatchbox = "Ross Burton <ross.burton@arm.com>"
-RECIPE_MAINTAINER_pn-libmd = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-libmicrohttpd = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-libmnl = "Khem Raj <raj.khem@gmail.com>"
-RECIPE_MAINTAINER_pn-libmpc = "Khem Raj <raj.khem@gmail.com>"
-RECIPE_MAINTAINER_pn-libmodule-build-perl = "Tim Orling <timothy.t.orling@intel.com>"
-RECIPE_MAINTAINER_pn-libmodulemd = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-libnewt = "Hongxu Jia <hongxu.jia@windriver.com>"
-RECIPE_MAINTAINER_pn-libnl = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-libnotify = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-libnsl2 = "Khem Raj <raj.khem@gmail.com>"
-RECIPE_MAINTAINER_pn-libnss-mdns = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-libnss-nis = "Khem Raj <raj.khem@gmail.com>"
-RECIPE_MAINTAINER_pn-libogg = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-libomxil = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-libpam = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-libpcap = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-libpciaccess = "Wang Mingyu <wangmy@fujitsu.com>"
-RECIPE_MAINTAINER_pn-libpcre = "Yi Zhao <yi.zhao@windriver.com>"
-RECIPE_MAINTAINER_pn-libpcre2 = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-libpipeline = "Wang Mingyu <wangmy@fujitsu.com>"
-RECIPE_MAINTAINER_pn-libpng = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-libportal = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-libproxy = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-libpthread-stubs = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-libpsl = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-librepo = "Wang Mingyu <wangmy@fujitsu.com>"
-RECIPE_MAINTAINER_pn-librsvg = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-libsamplerate0 = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-libsdl2 = "Yi Zhao <yi.zhao@windriver.com>"
-RECIPE_MAINTAINER_pn-libseccomp = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-libsecret = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-libsm = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-libsndfile1 = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-libsolv = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-libsoup-2.4 = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-libssh2 = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-libssp-nonshared = "Khem Raj <raj.khem@gmail.com>"
-RECIPE_MAINTAINER_pn-libtasn1 = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-libtest-needs-perl = "Tim Orling <timothy.t.orling@intel.com>"
-RECIPE_MAINTAINER_pn-libtheora = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-libtimedate-perl = "Tim Orling <timothy.t.orling@intel.com>"
-RECIPE_MAINTAINER_pn-libtirpc = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-libtool = "Robert Yang <liezhi.yang@windriver.com>"
-RECIPE_MAINTAINER_pn-libtool-cross = "Robert Yang <liezhi.yang@windriver.com>"
-RECIPE_MAINTAINER_pn-libtool-native = "Robert Yang <liezhi.yang@windriver.com>"
-RECIPE_MAINTAINER_pn-libucontext = "Khem Raj <raj.khem@gmail.com>"
-RECIPE_MAINTAINER_pn-libunistring = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-libunwind = "Bruce Ashfield <bruce.ashfield@gmail.com>"
-RECIPE_MAINTAINER_pn-liburcu = "Wang Mingyu <wangmy@fujitsu.com>"
-RECIPE_MAINTAINER_pn-liburi-perl = "Tim Orling <timothy.t.orling@intel.com>"
-RECIPE_MAINTAINER_pn-libusb1 = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-libubootenv = "Stefano Babic <sbabic@denx.de>"
-RECIPE_MAINTAINER_pn-libuv = "Armin Kuster <akuster@mvista.com>"
-RECIPE_MAINTAINER_pn-libva = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-libva-initial = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-libva-utils = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-libvorbis = "Zang Ruochen <zangrc.fnst@fujitsu.com>"
-RECIPE_MAINTAINER_pn-libwebp = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-libwpe = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-libx11 = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-libxau = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-libxcb = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-libxcomposite = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-libxcursor = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-libxcrypt = "Khem Raj <raj.khem@gmail.com>"
-RECIPE_MAINTAINER_pn-libxcrypt-compat = "Khem Raj <raj.khem@gmail.com>"
-RECIPE_MAINTAINER_pn-libxdamage = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-libxdmcp = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-libxext = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-libxfixes = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-libxfont = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-libxfont2 = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-libxft = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-libxi = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-libxinerama = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-libxkbcommon = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-libxkbfile = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-libxml-namespacesupport-perl = "Tim Orling <timothy.t.orling@intel.com>"
-RECIPE_MAINTAINER_pn-libxml-parser-perl = "Tim Orling <timothy.t.orling@intel.com>"
-RECIPE_MAINTAINER_pn-libxml-perl = "Tim Orling <timothy.t.orling@intel.com>"
-RECIPE_MAINTAINER_pn-libxml-sax-base-perl = "Tim Orling <timothy.t.orling@intel.com>"
-RECIPE_MAINTAINER_pn-libxml-sax-perl = "Tim Orling <timothy.t.orling@intel.com>"
-RECIPE_MAINTAINER_pn-libxml-simple-perl = "Tim Orling <timothy.t.orling@intel.com>"
-RECIPE_MAINTAINER_pn-libxml2 = "Hongxu Jia <hongxu.jia@windriver.com>"
-RECIPE_MAINTAINER_pn-libxmu = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-libxpm = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-libxrandr = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-libxrender = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-libxres = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-libxscrnsaver = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-libxshmfence = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-libxslt = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-libxt = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-libxtst = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-libxv = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-libxvmc = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-libxxf86vm = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-libyaml = "Wang Mingyu <wangmy@fujitsu.com>"
-RECIPE_MAINTAINER_pn-lighttpd = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-linux-dummy = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-linux-firmware = "Otavio Salvador <otavio.salvador@ossystems.com.br>"
-RECIPE_MAINTAINER_pn-linux-libc-headers = "Bruce Ashfield <bruce.ashfield@gmail.com>"
-RECIPE_MAINTAINER_pn-linux-yocto = "Bruce Ashfield <bruce.ashfield@gmail.com>"
-RECIPE_MAINTAINER_pn-linux-yocto-dev = "Bruce Ashfield <bruce.ashfield@gmail.com>"
-RECIPE_MAINTAINER_pn-linux-yocto-rt = "Bruce Ashfield <bruce.ashfield@gmail.com>"
-RECIPE_MAINTAINER_pn-linux-yocto-tiny = "Bruce Ashfield <bruce.ashfield@gmail.com>"
-RECIPE_MAINTAINER_pn-llvm = "Khem Raj <raj.khem@gmail.com>"
-RECIPE_MAINTAINER_pn-logrotate = "Yi Zhao <yi.zhao@windriver.com>"
-RECIPE_MAINTAINER_pn-log4cplus = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-lrzsz = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-lsb-release = "Hongxu Jia <hongxu.jia@windriver.com>"
-RECIPE_MAINTAINER_pn-lsof = "Ross Burton <ross.burton@arm.com>"
-RECIPE_MAINTAINER_pn-ltp = "Yi Zhao <yi.zhao@windriver.com>"
-RECIPE_MAINTAINER_pn-lttng-modules = "Richard Purdie <richard.purdie@linuxfoundation.org>"
-RECIPE_MAINTAINER_pn-lttng-tools = "Richard Purdie <richard.purdie@linuxfoundation.org>"
-RECIPE_MAINTAINER_pn-lttng-ust = "Richard Purdie <richard.purdie@linuxfoundation.org>"
-RECIPE_MAINTAINER_pn-lz4 = "Denys Dmytriyenko <denis@denix.org>"
-RECIPE_MAINTAINER_pn-lzo = "Denys Dmytriyenko <denis@denix.org>"
-RECIPE_MAINTAINER_pn-lzip = "Denys Dmytriyenko <denis@denix.org>"
-RECIPE_MAINTAINER_pn-lzop = "Denys Dmytriyenko <denis@denix.org>"
-RECIPE_MAINTAINER_pn-m4 = "Robert Yang <liezhi.yang@windriver.com>"
-RECIPE_MAINTAINER_pn-m4-native = "Robert Yang <liezhi.yang@windriver.com>"
-RECIPE_MAINTAINER_pn-make = "Robert Yang <liezhi.yang@windriver.com>"
-RECIPE_MAINTAINER_pn-makedepend = "Robert Yang <liezhi.yang@windriver.com>"
-RECIPE_MAINTAINER_pn-makedevs = "Chen Qi <Qi.Chen@windriver.com>"
-RECIPE_MAINTAINER_pn-make-mod-scripts = "Bruce Ashfield <bruce.ashfield@gmail.com>"
-RECIPE_MAINTAINER_pn-man-db = "Hongxu Jia <hongxu.jia@windriver.com>"
-RECIPE_MAINTAINER_pn-man-pages = "Hongxu Jia <hongxu.jia@windriver.com>"
-RECIPE_MAINTAINER_pn-matchbox-config-gtk = "Ross Burton <ross.burton@arm.com>"
-RECIPE_MAINTAINER_pn-matchbox-desktop = "Ross Burton <ross.burton@arm.com>"
-RECIPE_MAINTAINER_pn-matchbox-keyboard = "Ross Burton <ross.burton@arm.com>"
-RECIPE_MAINTAINER_pn-matchbox-panel-2 = "Ross Burton <ross.burton@arm.com>"
-RECIPE_MAINTAINER_pn-matchbox-session = "Ross Burton <ross.burton@arm.com>"
-RECIPE_MAINTAINER_pn-matchbox-session-sato = "Ross Burton <ross.burton@arm.com>"
-RECIPE_MAINTAINER_pn-matchbox-terminal = "Ross Burton <ross.burton@arm.com>"
-RECIPE_MAINTAINER_pn-matchbox-theme-sato = "Ross Burton <ross.burton@arm.com>"
-RECIPE_MAINTAINER_pn-matchbox-wm = "Ross Burton <ross.burton@arm.com>"
-RECIPE_MAINTAINER_pn-mc = "Ross Burton <ross.burton@arm.com>"
-RECIPE_MAINTAINER_pn-mdadm = "Ross Burton <ross.burton@arm.com>"
-RECIPE_MAINTAINER_pn-menu-cache = "Ross Burton <ross.burton@arm.com>"
-RECIPE_MAINTAINER_pn-mesa = "Otavio Salvador <otavio.salvador@ossystems.com.br>"
-RECIPE_MAINTAINER_pn-mesa-demos = "Otavio Salvador <otavio.salvador@ossystems.com.br>"
-RECIPE_MAINTAINER_pn-mesa-gl = "Otavio Salvador <otavio.salvador@ossystems.com.br>"
-RECIPE_MAINTAINER_pn-meson = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-meta-environment-${MACHINE} = "Richard Purdie <richard.purdie@linuxfoundation.org>"
-RECIPE_MAINTAINER_pn-meta-environment-extsdk-${MACHINE} = "Richard Purdie <richard.purdie@linuxfoundation.org>"
-RECIPE_MAINTAINER_pn-meta-extsdk-toolchain = "Richard Purdie <richard.purdie@linuxfoundation.org>"
-RECIPE_MAINTAINER_pn-meta-go-toolchain = "Richard Purdie <richard.purdie@linuxfoundation.org>"
-RECIPE_MAINTAINER_pn-meta-ide-support = "Richard Purdie <richard.purdie@linuxfoundation.org>"
-RECIPE_MAINTAINER_pn-meta-toolchain = "Richard Purdie <richard.purdie@linuxfoundation.org>"
-RECIPE_MAINTAINER_pn-meta-world-pkgdata = "Richard Purdie <richard.purdie@linuxfoundation.org>"
-RECIPE_MAINTAINER_pn-mingetty = "Yi Zhao <yi.zhao@windriver.com>"
-RECIPE_MAINTAINER_pn-mini-x-session = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-minicom = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-mkfontscale = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-mmc-utils = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-mobile-broadband-provider-info = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-modutils-initscripts = "Yi Zhao <yi.zhao@windriver.com>"
-RECIPE_MAINTAINER_pn-mpeg2dec = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-mpfr = "Khem Raj <raj.khem@gmail.com>"
-RECIPE_MAINTAINER_pn-mpg123 = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-msmtp = "Wang Mingyu <wangmy@fujitsu.com>"
-RECIPE_MAINTAINER_pn-mtd-utils = "Denys Dmytriyenko <denis@denix.org>"
-RECIPE_MAINTAINER_pn-mtdev = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-mtools = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-musl = "Khem Raj <raj.khem@gmail.com>"
-RECIPE_MAINTAINER_pn-musl-obstack = "Khem Raj <raj.khem@gmail.com>"
-RECIPE_MAINTAINER_pn-musl-utils = "Khem Raj <raj.khem@gmail.com>"
-RECIPE_MAINTAINER_pn-nasm = "Richard Purdie <richard.purdie@linuxfoundation.org>"
-RECIPE_MAINTAINER_pn-nativesdk-buildtools-perl-dummy = "Richard Purdie <richard.purdie@linuxfoundation.org>"
-RECIPE_MAINTAINER_pn-nativesdk-icecc-toolchain = "Joshua Watt <JPEWhacker@gmail.com>"
-RECIPE_MAINTAINER_pn-nativesdk-libtool = "Richard Purdie <richard.purdie@linuxfoundation.org>"
-RECIPE_MAINTAINER_pn-nativesdk-meson = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-nativesdk-packagegroup-sdk-host = "Ross Burton <ross.burton@arm.com>"
-RECIPE_MAINTAINER_pn-nativesdk-qemu-helper = "Richard Purdie <richard.purdie@linuxfoundation.org>"
-RECIPE_MAINTAINER_pn-nativesdk-sdk-provides-dummy = "Richard Purdie <richard.purdie@linuxfoundation.org>"
-RECIPE_MAINTAINER_pn-newlib = "Alejandro Hernandez <aehs29@gmail.com>"
-RECIPE_MAINTAINER_pn-ncurses = "Hongxu Jia <hongxu.jia@windriver.com>"
-RECIPE_MAINTAINER_pn-neard = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-net-tools = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-netbase = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-nettle = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-nfs-export-root = "Robert Yang <liezhi.yang@windriver.com>"
-RECIPE_MAINTAINER_pn-nfs-utils = "Robert Yang <liezhi.yang@windriver.com>"
-RECIPE_MAINTAINER_pn-ninja = "Khem Raj <raj.khem@gmail.com>"
-RECIPE_MAINTAINER_pn-npth = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-nss-myhostname = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-numactl = "Richard Purdie <richard.purdie@linuxfoundation.org>"
-RECIPE_MAINTAINER_pn-ofono = "Ross Burton <ross.burton@arm.com>"
-RECIPE_MAINTAINER_pn-opensbi = "Alistair Francis <alistair.francis@wdc.com>"
-RECIPE_MAINTAINER_pn-openssh = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-openssl = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-opkg = "Alejandro del Castillo <alejandro.delcastillo@ni.com>"
-RECIPE_MAINTAINER_pn-opkg-arch-config = "Alejandro del Castillo <alejandro.delcastillo@ni.com>"
-RECIPE_MAINTAINER_pn-opkg-keyrings = "Alejandro del Castillo <alejandro.delcastillo@ni.com>"
-RECIPE_MAINTAINER_pn-opkg-utils = "Alejandro del Castillo <alejandro.delcastillo@ni.com>"
-RECIPE_MAINTAINER_pn-orc = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-os-release = "Ross Burton <ross.burton@arm.com>"
-RECIPE_MAINTAINER_pn-ovmf = "Ricardo Neri <ricardo.neri-calderon@linux.intel.com>"
-RECIPE_MAINTAINER_pn-ovmf-shell-image = "Ricardo Neri <ricardo.neri-calderon@linux.intel.com>"
-RECIPE_MAINTAINER_pn-p11-kit = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-package-index = "Ross Burton <ross.burton@arm.com>"
-RECIPE_MAINTAINER_pn-pango = "Ross Burton <ross.burton@arm.com>"
-RECIPE_MAINTAINER_pn-parted = "Hongxu Jia <hongxu.jia@windriver.com>"
-RECIPE_MAINTAINER_pn-patch = "Hongxu Jia <hongxu.jia@windriver.com>"
-RECIPE_MAINTAINER_pn-patchelf = "Richard Purdie <richard.purdie@linuxfoundation.org>"
-RECIPE_MAINTAINER_pn-pbzip2 = "Denys Dmytriyenko <denis@denix.org>"
-RECIPE_MAINTAINER_pn-pciutils = "Chen Qi <Qi.Chen@windriver.com>"
-RECIPE_MAINTAINER_pn-pcmanfm = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-perf = "Bruce Ashfield <bruce.ashfield@gmail.com>"
-RECIPE_MAINTAINER_pn-perl = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-perlcross = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-piglit = "Ross Burton <ross.burton@arm.com>"
-RECIPE_MAINTAINER_pn-pigz = "Hongxu Jia <hongxu.jia@windriver.com>"
-RECIPE_MAINTAINER_pn-pinentry = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-pixman = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-pkgconf = "Ross Burton <ross.burton@arm.com>"
-RECIPE_MAINTAINER_pn-pkgconfig = "Ross Burton <ross.burton@arm.com>"
-RECIPE_MAINTAINER_pn-pm-utils = "Ross Burton <ross.burton@arm.com>"
-RECIPE_MAINTAINER_pn-pointercal-xinput = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-pong-clock = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-popt = "Yi Zhao <yi.zhao@windriver.com>"
-RECIPE_MAINTAINER_pn-powertop = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-ppp = "Hongxu Jia <hongxu.jia@windriver.com>"
-RECIPE_MAINTAINER_pn-ppp-dialin = "Hongxu Jia <hongxu.jia@windriver.com>"
-RECIPE_MAINTAINER_pn-prelink = "Mark Hatle <mark.hatle@kernel.crashing.org>"
-RECIPE_MAINTAINER_pn-procps = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-pseudo = "Richard Purdie <richard.purdie@linuxfoundation.org>"
-RECIPE_MAINTAINER_pn-psmisc = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-psplash = "Yi Zhao <yi.zhao@windriver.com>"
-RECIPE_MAINTAINER_pn-ptest-runner = "Ross Burton <ross.burton@arm.com>"
-RECIPE_MAINTAINER_pn-pulseaudio = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-pulseaudio-client-conf-sato = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-puzzles = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-python3 = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
-RECIPE_MAINTAINER_pn-python3-async = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
-RECIPE_MAINTAINER_pn-python3-atomicwrites = "Tim Orling <timothy.t.orling@intel.com>"
-RECIPE_MAINTAINER_pn-python3-attrs = "Tim Orling <timothy.t.orling@intel.com>"
-RECIPE_MAINTAINER_pn-python3-cython = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
-RECIPE_MAINTAINER_pn-python3-dbus = "Zang Ruochen <zangrc.fnst@fujitsu.com>"
-RECIPE_MAINTAINER_pn-python3-dbusmock = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
-RECIPE_MAINTAINER_pn-python3-docutils = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
-RECIPE_MAINTAINER_pn-python3-pycryptodome = "Joshua Watt <JPEWhacker@gmail.com>"
-RECIPE_MAINTAINER_pn-python3-pycryptodomex = "Joshua Watt <JPEWhacker@gmail.com>"
-RECIPE_MAINTAINER_pn-python3-extras = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
-RECIPE_MAINTAINER_pn-python3-git = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
-RECIPE_MAINTAINER_pn-python3-gitdb = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
-RECIPE_MAINTAINER_pn-python3-hypothesis = "Tim Orling <timothy.t.orling@intel.com>"
-RECIPE_MAINTAINER_pn-python3-importlib-metadata = "Tim Orling <timothy.t.orling@intel.com>"
-RECIPE_MAINTAINER_pn-python3-iniconfig = "Tim Orling <timothy.t.orling@intel.com>"
-RECIPE_MAINTAINER_pn-python3-iniparse = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
-RECIPE_MAINTAINER_pn-python3-jinja2 = "Richard Purdie <richard.purdie@linuxfoundation.org>"
-RECIPE_MAINTAINER_pn-python3-libarchive-c = "Joshua Watt <JPEWhacker@gmail.com>"
-RECIPE_MAINTAINER_pn-python3-magic = "Joshua Watt <JPEWhacker@gmail.com>"
-RECIPE_MAINTAINER_pn-python3-mako = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
-RECIPE_MAINTAINER_pn-python3-markdown = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-python3-markupsafe = "Richard Purdie <richard.purdie@linuxfoundation.org>"
-RECIPE_MAINTAINER_pn-python3-more-itertools = "Tim Orling <timothy.t.orling@intel.com>"
-RECIPE_MAINTAINER_pn-python3-nose = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
-RECIPE_MAINTAINER_pn-python3-numpy = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
-RECIPE_MAINTAINER_pn-python3-packaging = "Tim Orling <timothy.t.orling@intel.com>"
-RECIPE_MAINTAINER_pn-python3-pathlib2 = "Tim Orling <timothy.t.orling@intel.com>"
-RECIPE_MAINTAINER_pn-python3-pbr = "Zang Ruochen <zangrc.fnst@fujitsu.com>"
-RECIPE_MAINTAINER_pn-python3-pip = "Zang Ruochen <zangrc.fnst@fujitsu.com>"
-RECIPE_MAINTAINER_pn-python3-pluggy = "Tim Orling <timothy.t.orling@intel.com>"
-RECIPE_MAINTAINER_pn-python3-py = "Tim Orling <timothy.t.orling@intel.com>"
-RECIPE_MAINTAINER_pn-python3-pyyaml = "Tim Orling <timothy.t.orling@intel.com>"
-RECIPE_MAINTAINER_pn-python3-pycairo = "Zang Ruochen <zangrc.fnst@fujitsu.com>"
-RECIPE_MAINTAINER_pn-python3-pyelftools = "Joshua Watt <JPEWhacker@gmail.com>"
-RECIPE_MAINTAINER_pn-python3-pygments = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
-RECIPE_MAINTAINER_pn-python3-pygobject = "Zang Ruochen <zangrc.fnst@fujitsu.com>"
-RECIPE_MAINTAINER_pn-python3-pyparsing = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
-RECIPE_MAINTAINER_pn-python3-pytest = "Tim Orling <timothy.t.orling@intel.com>"
-RECIPE_MAINTAINER_pn-python3-scons = "Tim Orling <timothy.t.orling@intel.com>"
-RECIPE_MAINTAINER_pn-python3-scons-native = "Tim Orling <timothy.t.orling@intel.com>"
-RECIPE_MAINTAINER_pn-python3-setuptools = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
-RECIPE_MAINTAINER_pn-python3-setuptools-scm = "Tim Orling <timothy.t.orling@intel.com>"
-RECIPE_MAINTAINER_pn-python3-six = "Zang Ruochen <zangrc.fnst@fujitsu.com>"
-RECIPE_MAINTAINER_pn-python3-smartypants = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-python3-smmap = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
-RECIPE_MAINTAINER_pn-python3-sortedcontainers = "Tim Orling <timothy.t.orling@intel.com>"
-RECIPE_MAINTAINER_pn-python3-subunit = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
-RECIPE_MAINTAINER_pn-python3-testtools = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
-RECIPE_MAINTAINER_pn-python3-toml = "Tim Orling <timothy.t.orling@intel.com>"
-RECIPE_MAINTAINER_pn-python3-typogrify = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-python3-wcwidth = "Tim Orling <timothy.t.orling@intel.com>"
-RECIPE_MAINTAINER_pn-python3-zipp = "Tim Orling <timothy.t.orling@intel.com>"
-RECIPE_MAINTAINER_pn-qemu = "Richard Purdie <richard.purdie@linuxfoundation.org>"
-RECIPE_MAINTAINER_pn-qemu-helper-native = "Richard Purdie <richard.purdie@linuxfoundation.org>"
-RECIPE_MAINTAINER_pn-qemu-native = "Richard Purdie <richard.purdie@linuxfoundation.org>"
-RECIPE_MAINTAINER_pn-qemu-system-native = "Richard Purdie <richard.purdie@linuxfoundation.org>"
-RECIPE_MAINTAINER_pn-qemuwrapper-cross = "Richard Purdie <richard.purdie@linuxfoundation.org>"
-RECIPE_MAINTAINER_pn-quilt = "Robert Yang <liezhi.yang@windriver.com>"
-RECIPE_MAINTAINER_pn-quilt-native = "Robert Yang <liezhi.yang@windriver.com>"
-RECIPE_MAINTAINER_pn-quota = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-re2c = "Khem Raj <raj.khem@gmail.com>"
-RECIPE_MAINTAINER_pn-readline = "Hongxu Jia <hongxu.jia@windriver.com>"
-RECIPE_MAINTAINER_pn-resolvconf = "Chen Qi <Qi.Chen@windriver.com>"
-RECIPE_MAINTAINER_pn-rgb = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-rpcbind = "Hongxu Jia <hongxu.jia@windriver.com>"
-RECIPE_MAINTAINER_pn-rng-tools = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-rpcsvc-proto = "Khem Raj <raj.khem@gmail.com>"
-RECIPE_MAINTAINER_pn-rpm = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-rsync = "Yi Zhao <yi.zhao@windriver.com>"
-RECIPE_MAINTAINER_pn-rt-tests = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-ruby = "Ross Burton <ross.burton@arm.com>"
-RECIPE_MAINTAINER_pn-run-postinsts = "Ross Burton <ross.burton@arm.com>"
-RECIPE_MAINTAINER_pn-rxvt-unicode = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-sato-screenshot = "Ross Burton <ross.burton@arm.com>"
-RECIPE_MAINTAINER_pn-sbc = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-screen = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-sed = "Chen Qi <Qi.Chen@windriver.com>"
-RECIPE_MAINTAINER_pn-serf = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-setserial = "Yi Zhao <yi.zhao@windriver.com>"
-RECIPE_MAINTAINER_pn-settings-daemon = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-shadow = "Chen Qi <Qi.Chen@windriver.com>"
-RECIPE_MAINTAINER_pn-shadow-securetty = "Chen Qi <Qi.Chen@windriver.com>"
-RECIPE_MAINTAINER_pn-shadow-sysroot = "Chen Qi <Qi.Chen@windriver.com>"
-RECIPE_MAINTAINER_pn-shaderc = "Jose Quaresma <quaresma.jose@gmail.com>"
-RECIPE_MAINTAINER_pn-shared-mime-info = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-shutdown-desktop = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-signing-keys = "Richard Purdie <richard.purdie@linuxfoundation.org>"
-RECIPE_MAINTAINER_pn-slang = "Yi Zhao <yi.zhao@windriver.com>"
-RECIPE_MAINTAINER_pn-socat = "Hongxu Jia <hongxu.jia@windriver.com>"
-RECIPE_MAINTAINER_pn-speex = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-speexdsp = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-spirv-headers = "Jose Quaresma <quaresma.jose@gmail.com>"
-RECIPE_MAINTAINER_pn-spirv-tools = "Jose Quaresma <quaresma.jose@gmail.com>"
-RECIPE_MAINTAINER_pn-sqlite3 = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-squashfs-tools = "Robert Yang <liezhi.yang@windriver.com>"
-RECIPE_MAINTAINER_pn-ssh-pregen-hostkeys = "Richard Purdie <richard.purdie@linuxfoundation.org>"
-RECIPE_MAINTAINER_pn-startup-notification = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-strace = "Robert Yang <liezhi.yang@windriver.com>"
-RECIPE_MAINTAINER_pn-stress-ng = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-subversion = "Richard Purdie <richard.purdie@linuxfoundation.org>"
-RECIPE_MAINTAINER_pn-sudo = "Chen Qi <Qi.Chen@windriver.com>"
-RECIPE_MAINTAINER_pn-swig = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-sysfsutils = "Chen Qi <Qi.Chen@windriver.com>"
-RECIPE_MAINTAINER_pn-sysklogd = "Chen Qi <Qi.Chen@windriver.com>"
-RECIPE_MAINTAINER_pn-syslinux = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-sysstat = "Chen Qi <Qi.Chen@windriver.com>"
-RECIPE_MAINTAINER_pn-systemd = "Chen Qi <Qi.Chen@windriver.com>"
-RECIPE_MAINTAINER_pn-systemd-boot = "Chen Qi <Qi.Chen@windriver.com>"
-RECIPE_MAINTAINER_pn-systemd-bootchart = "Chen Qi <Qi.Chen@windriver.com>"
-RECIPE_MAINTAINER_pn-systemd-bootconf = "Chen Qi <Qi.Chen@windriver.com>"
-RECIPE_MAINTAINER_pn-systemd-conf = "Chen Qi <Qi.Chen@windriver.com>"
-RECIPE_MAINTAINER_pn-systemd-compat-units = "Chen Qi <Qi.Chen@windriver.com>"
-RECIPE_MAINTAINER_pn-systemd-serialgetty = "Chen Qi <Qi.Chen@windriver.com>"
-RECIPE_MAINTAINER_pn-systemd-systemctl-native = "Chen Qi <Qi.Chen@windriver.com>"
-RECIPE_MAINTAINER_pn-systemtap = "Victor Kamensky <victor.kamensky7@gmail.com>"
-RECIPE_MAINTAINER_pn-systemtap-native = "Victor Kamensky <victor.kamensky7@gmail.com>"
-RECIPE_MAINTAINER_pn-systemtap-uprobes = "Victor Kamensky <victor.kamensky7@gmail.com>"
-RECIPE_MAINTAINER_pn-sysvinit = "Ross Burton <ross.burton@arm.com>"
-RECIPE_MAINTAINER_pn-sysvinit-inittab = "Ross Burton <ross.burton@arm.com>"
-RECIPE_MAINTAINER_pn-taglib = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-tar = "Chen Qi <Qi.Chen@windriver.com>"
-RECIPE_MAINTAINER_pn-tcf-agent = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-tcl = "Yi Zhao <yi.zhao@windriver.com>"
-RECIPE_MAINTAINER_pn-tcp-wrappers = "Robert Yang <liezhi.yang@windriver.com>"
-RECIPE_MAINTAINER_pn-testexport-tarball = "Richard Purdie <richard.purdie@linuxfoundation.org>"
-RECIPE_MAINTAINER_pn-texinfo = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-texinfo-dummy-native = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-tiff = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-time = "Robert Yang <liezhi.yang@windriver.com>"
-RECIPE_MAINTAINER_pn-ttf-bitstream-vera = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-tzcode-native = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-tzdata = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-u-boot = "Marek Vasut <marek.vasut@gmail.com>"
-RECIPE_MAINTAINER_pn-u-boot-tools = "Marek Vasut <marek.vasut@gmail.com>"
-RECIPE_MAINTAINER_pn-udev-extraconf = "Ross Burton <ross.burton@arm.com>"
-RECIPE_MAINTAINER_pn-unfs3 = "Ross Burton <ross.burton@arm.com>"
-RECIPE_MAINTAINER_pn-unifdef = "Ross Burton <ross.burton@arm.com>"
-RECIPE_MAINTAINER_pn-uninative-tarball = "Richard Purdie <richard.purdie@linuxfoundation.org>"
-RECIPE_MAINTAINER_pn-unzip = "Denys Dmytriyenko <denis@denix.org>"
-RECIPE_MAINTAINER_pn-update-rc.d = "Ross Burton <ross.burton@arm.com>"
-RECIPE_MAINTAINER_pn-usbinit = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-usbutils = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-util-linux = "Chen Qi <Qi.Chen@windriver.com>"
-RECIPE_MAINTAINER_pn-util-linux-libuuid = "Chen Qi <Qi.Chen@windriver.com>"
-RECIPE_MAINTAINER_pn-util-macros = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-v86d = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-vala = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-valgrind = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-vim = "Tom Rini <trini@konsulko.com>"
-RECIPE_MAINTAINER_pn-vim-tiny = "Tom Rini <trini@konsulko.com>"
-RECIPE_MAINTAINER_pn-virglrenderer = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-volatile-binds = "Chen Qi <Qi.Chen@windriver.com>"
-RECIPE_MAINTAINER_pn-vte = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-vulkan-headers = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-vulkan-loader = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-vulkan-samples = "Ross Burton <ross.burton@arm.com>"
-RECIPE_MAINTAINER_pn-vulkan-tools = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-waffle = "Ross Burton <ross.burton@arm.com>"
-RECIPE_MAINTAINER_pn-watchdog = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-watchdog-config = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-wayland = "Denys Dmytriyenko <denis@denix.org>"
-RECIPE_MAINTAINER_pn-wayland-protocols = "Denys Dmytriyenko <denis@denix.org>"
-RECIPE_MAINTAINER_pn-wayland-utils = "Denys Dmytriyenko <denis@denix.org>"
-RECIPE_MAINTAINER_pn-webkitgtk = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-weston = "Denys Dmytriyenko <denis@denix.org>"
-RECIPE_MAINTAINER_pn-weston-init = "Denys Dmytriyenko <denis@denix.org>"
-RECIPE_MAINTAINER_pn-wget = "Yi Zhao <yi.zhao@windriver.com>"
-RECIPE_MAINTAINER_pn-which = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-wic-tools = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-wireless-regdb = "Adrian Bunk <bunk@kernel.org>"
-RECIPE_MAINTAINER_pn-wpa-supplicant = "Changhyeok Bae <changhyeok.bae@gmail.com>"
-RECIPE_MAINTAINER_pn-wpebackend-fdo = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-x11perf = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-x264 = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-xauth = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-xcb-proto = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-xcb-util = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-xcb-util-image = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-xcb-util-keysyms = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-xcb-util-renderutil = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-xcb-util-wm = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-xcursor-transparent-theme = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-xdg-utils = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-xdpyinfo = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-xev = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-xeyes = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-xf86-input-evdev = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-xf86-input-keyboard = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-xf86-input-libinput = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-xf86-input-mouse = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-xf86-input-synaptics = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-xf86-input-vmmouse = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-xf86-video-cirrus = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-xf86-video-fbdev = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-xf86-video-intel = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-xf86-video-vesa = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-xf86-video-vmware = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-xhost = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-xinetd = "Ross Burton <ross.burton@arm.com>"
-RECIPE_MAINTAINER_pn-xinit = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-xinput = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-xinput-calibrator = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-xkbcomp = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-xkeyboard-config = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-xmlto = "Hongxu Jia <hongxu.jia@windriver.com>"
-RECIPE_MAINTAINER_pn-xmodmap = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-xorg-minimal-fonts = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-xorgproto = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-xprop = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-xrandr = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-xrestop = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-xserver-nodm-init = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-xserver-xf86-config = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-xserver-xorg = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-xset = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-xtrans = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-xuser-account = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-xvinfo = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-xwayland = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-xwininfo = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER_pn-xxhash = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-xz = "Denys Dmytriyenko <denis@denix.org>"
-RECIPE_MAINTAINER_pn-zip = "Denys Dmytriyenko <denis@denix.org>"
-RECIPE_MAINTAINER_pn-zlib = "Denys Dmytriyenko <denis@denix.org>"
-RECIPE_MAINTAINER_pn-zstd = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER:pn-acl = "Chen Qi <Qi.Chen@windriver.com>"
+RECIPE_MAINTAINER:pn-acpica = "Ross Burton <ross.burton@arm.com>"
+RECIPE_MAINTAINER:pn-acpid = "Ross Burton <ross.burton@arm.com>"
+RECIPE_MAINTAINER:pn-adwaita-icon-theme = "Ross Burton <ross.burton@arm.com>"
+RECIPE_MAINTAINER:pn-alsa-lib = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-alsa-plugins = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-alsa-state = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-alsa-tools = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-alsa-topology-conf = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-alsa-ucm-conf = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-alsa-utils = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-alsa-utils-scripts = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-apmd = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-apr = "Hongxu Jia <hongxu.jia@windriver.com>"
+RECIPE_MAINTAINER:pn-apr-util = "Hongxu Jia <hongxu.jia@windriver.com>"
+RECIPE_MAINTAINER:pn-apt = "Aníbal Limón <limon.anibal@gmail.com>"
+RECIPE_MAINTAINER:pn-argp-standalone = "Khem Raj <raj.khem@gmail.com>"
+RECIPE_MAINTAINER:pn-asciidoc = "Yi Zhao <yi.zhao@windriver.com>"
+RECIPE_MAINTAINER:pn-aspell = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-assimp = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-at = "Chen Qi <Qi.Chen@windriver.com>"
+RECIPE_MAINTAINER:pn-at-spi2-atk = "Tim Orling <timothy.t.orling@intel.com>"
+RECIPE_MAINTAINER:pn-at-spi2-core = "Tim Orling <timothy.t.orling@intel.com>"
+RECIPE_MAINTAINER:pn-atk = "Tim Orling <timothy.t.orling@intel.com>"
+RECIPE_MAINTAINER:pn-attr = "Chen Qi <Qi.Chen@windriver.com>"
+RECIPE_MAINTAINER:pn-autoconf = "Robert Yang <liezhi.yang@windriver.com>"
+RECIPE_MAINTAINER:pn-autoconf-archive = "Robert Yang <liezhi.yang@windriver.com>"
+RECIPE_MAINTAINER:pn-automake = "Robert Yang <liezhi.yang@windriver.com>"
+RECIPE_MAINTAINER:pn-avahi = "Yi Zhao <yi.zhao@windriver.com>"
+RECIPE_MAINTAINER:pn-babeltrace = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER:pn-babeltrace2 = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER:pn-base-files = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-base-passwd = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-bash = "Hongxu Jia <hongxu.jia@windriver.com>"
+RECIPE_MAINTAINER:pn-bash-completion = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER:pn-bc = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-bind = "Armin Kuster <akuster808@gmail.com>"
+RECIPE_MAINTAINER:pn-binutils = "Khem Raj <raj.khem@gmail.com>"
+RECIPE_MAINTAINER:pn-binutils-cross-${TARGET_ARCH} = "Khem Raj <raj.khem@gmail.com>"
+RECIPE_MAINTAINER:pn-binutils-cross-canadian-${TRANSLATED_TARGET_ARCH} = "Khem Raj <raj.khem@gmail.com>"
+RECIPE_MAINTAINER:pn-binutils-cross-testsuite = "Khem Raj <raj.khem@gmail.com>"
+RECIPE_MAINTAINER:pn-binutils-crosssdk-${SDK_SYS} = "Khem Raj <raj.khem@gmail.com>"
+RECIPE_MAINTAINER:pn-bison = "Chen Qi <Qi.Chen@windriver.com>"
+RECIPE_MAINTAINER:pn-blktool = "Yi Zhao <yi.zhao@windriver.com>"
+RECIPE_MAINTAINER:pn-blktrace = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER:pn-bluez5 = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-bmap-tools = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-boost = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER:pn-boost-build-native = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER:pn-bootchart2 = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER:pn-bsd-headers = "Khem Raj <raj.khem@gmail.com>"
+RECIPE_MAINTAINER:pn-btrfs-tools = "Wang Mingyu <wangmy@fujitsu.com>"
+RECIPE_MAINTAINER:pn-build-appliance-image = "Richard Purdie <richard.purdie@linuxfoundation.org>"
+RECIPE_MAINTAINER:pn-build-sysroots = "Richard Purdie <richard.purdie@linuxfoundation.org>"
+RECIPE_MAINTAINER:pn-builder = "Richard Purdie <richard.purdie@linuxfoundation.org>"
+RECIPE_MAINTAINER:pn-buildtools-extended-tarball = "Richard Purdie <richard.purdie@linuxfoundation.org>"
+RECIPE_MAINTAINER:pn-buildtools-tarball = "Richard Purdie <richard.purdie@linuxfoundation.org>"
+RECIPE_MAINTAINER:pn-busybox = "Andrej Valek <andrej.valek@siemens.com>"
+RECIPE_MAINTAINER:pn-busybox-inittab = "Denys Dmytriyenko <denis@denix.org>"
+RECIPE_MAINTAINER:pn-bzip2 = "Denys Dmytriyenko <denis@denix.org>"
+RECIPE_MAINTAINER:pn-ca-certificates = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER:pn-cairo = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-cantarell-fonts = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER:pn-ccache = "Robert Yang <liezhi.yang@windriver.com>"
+RECIPE_MAINTAINER:pn-cdrtools-native = "Yi Zhao <yi.zhao@windriver.com>"
+RECIPE_MAINTAINER:pn-chrpath = "Yi Zhao <yi.zhao@windriver.com>"
+RECIPE_MAINTAINER:pn-cmake = "Pascal Bach <pascal.bach@siemens.com>"
+RECIPE_MAINTAINER:pn-cmake-native = "Pascal Bach <pascal.bach@siemens.com>"
+RECIPE_MAINTAINER:pn-connman = "Changhyeok Bae <changhyeok.bae@gmail.com>"
+RECIPE_MAINTAINER:pn-connman-conf = "Ross Burton <ross.burton@arm.com>"
+RECIPE_MAINTAINER:pn-connman-gnome = "Ross Burton <ross.burton@arm.com>"
+RECIPE_MAINTAINER:pn-consolekit = "Chen Qi <Qi.Chen@windriver.com>"
+RECIPE_MAINTAINER:pn-core-image-base = "Richard Purdie <richard.purdie@linuxfoundation.org>"
+RECIPE_MAINTAINER:pn-core-image-minimal = "Richard Purdie <richard.purdie@linuxfoundation.org>"
+RECIPE_MAINTAINER:pn-core-image-minimal-dev = "Richard Purdie <richard.purdie@linuxfoundation.org>"
+RECIPE_MAINTAINER:pn-core-image-minimal-initramfs = "Richard Purdie <richard.purdie@linuxfoundation.org>"
+RECIPE_MAINTAINER:pn-core-image-minimal-mtdutils = "Richard Purdie <richard.purdie@linuxfoundation.org>"
+RECIPE_MAINTAINER:pn-core-image-tiny-initramfs = "Richard Purdie <richard.purdie@linuxfoundation.org>"
+RECIPE_MAINTAINER:pn-core-image-full-cmdline = "Richard Purdie <richard.purdie@linuxfoundation.org>"
+RECIPE_MAINTAINER:pn-core-image-kernel-dev = "Richard Purdie <richard.purdie@linuxfoundation.org>"
+RECIPE_MAINTAINER:pn-core-image-ptest-all = "Richard Purdie <richard.purdie@linuxfoundation.org>"
+RECIPE_MAINTAINER:pn-core-image-ptest-fast = "Richard Purdie <richard.purdie@linuxfoundation.org>"
+RECIPE_MAINTAINER:pn-core-image-sato = "Richard Purdie <richard.purdie@linuxfoundation.org>"
+RECIPE_MAINTAINER:pn-core-image-sato-sdk = "Richard Purdie <richard.purdie@linuxfoundation.org>"
+RECIPE_MAINTAINER:pn-core-image-testmaster-initramfs = "Richard Purdie <richard.purdie@linuxfoundation.org>"
+RECIPE_MAINTAINER:pn-core-image-testmaster = "Richard Purdie <richard.purdie@linuxfoundation.org>"
+RECIPE_MAINTAINER:pn-core-image-weston = "Richard Purdie <richard.purdie@linuxfoundation.org>"
+RECIPE_MAINTAINER:pn-core-image-weston-sdk = "Richard Purdie <richard.purdie@linuxfoundation.org>"
+RECIPE_MAINTAINER:pn-core-image-x11 = "Richard Purdie <richard.purdie@linuxfoundation.org>"
+RECIPE_MAINTAINER:pn-core-image-sato-dev = "Richard Purdie <richard.purdie@linuxfoundation.org>"
+RECIPE_MAINTAINER:pn-coreutils = "Chen Qi <Qi.Chen@windriver.com>"
+RECIPE_MAINTAINER:pn-cpio = "Denys Dmytriyenko <denis@denix.org>"
+RECIPE_MAINTAINER:pn-cracklib = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-createrepo-c = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER:pn-cronie = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-cross-localedef-native = "Khem Raj <raj.khem@gmail.com>"
+RECIPE_MAINTAINER:pn-cryptodev-linux = "Robert Yang <liezhi.yang@windriver.com>"
+RECIPE_MAINTAINER:pn-cryptodev-module = "Robert Yang <liezhi.yang@windriver.com>"
+RECIPE_MAINTAINER:pn-cryptodev-tests = "Robert Yang <liezhi.yang@windriver.com>"
+RECIPE_MAINTAINER:pn-cups = "Chen Qi <Qi.Chen@windriver.com>"
+RECIPE_MAINTAINER:pn-curl = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-cve-update-db-native = "Ross Burton <ross.burton@arm.com>"
+RECIPE_MAINTAINER:pn-cwautomacros = "Ross Burton <ross.burton@arm.com>"
+RECIPE_MAINTAINER:pn-db = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-dbus = "Chen Qi <Qi.Chen@windriver.com>"
+RECIPE_MAINTAINER:pn-dbus-glib = "Chen Qi <Qi.Chen@windriver.com>"
+RECIPE_MAINTAINER:pn-dbus-test = "Chen Qi <Qi.Chen@windriver.com>"
+RECIPE_MAINTAINER:pn-dbus-wait = "Chen Qi <Qi.Chen@windriver.com>"
+RECIPE_MAINTAINER:pn-debianutils = "Yi Zhao <yi.zhao@windriver.com>"
+RECIPE_MAINTAINER:pn-dejagnu = "Nathan Rossi <nathan@nathanrossi.com>"
+RECIPE_MAINTAINER:pn-depmodwrapper-cross = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-desktop-file-utils = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER:pn-dhcpcd = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-diffoscope = "Joshua Watt <JPEWhacker@gmail.com>"
+RECIPE_MAINTAINER:pn-diffstat = "Chen Qi <Qi.Chen@windriver.com>"
+RECIPE_MAINTAINER:pn-diffutils = "Chen Qi <Qi.Chen@windriver.com>"
+RECIPE_MAINTAINER:pn-distcc = "Hongxu Jia <hongxu.jia@windriver.com>"
+RECIPE_MAINTAINER:pn-distcc-config = "Yi Zhao <yi.zhao@windriver.com>"
+RECIPE_MAINTAINER:pn-dmidecode = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER:pn-dnf = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER:pn-docbook-xml-dtd4 = "Yi Zhao <yi.zhao@windriver.com>"
+RECIPE_MAINTAINER:pn-docbook-xsl-stylesheets = "Yi Zhao <yi.zhao@windriver.com>"
+RECIPE_MAINTAINER:pn-dos2unix = "Khem Raj <raj.khem@gmail.com>"
+RECIPE_MAINTAINER:pn-dosfstools = "Yi Zhao <yi.zhao@windriver.com>"
+RECIPE_MAINTAINER:pn-dpkg = "Aníbal Limón <limon.anibal@gmail.com>"
+RECIPE_MAINTAINER:pn-dropbear = "Yi Zhao <yi.zhao@windriver.com>"
+RECIPE_MAINTAINER:pn-dtc = "Wang Mingyu <wangmy@fujitsu.com>"
+RECIPE_MAINTAINER:pn-dwarfsrcfiles = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER:pn-e2fsprogs = "Robert Yang <liezhi.yang@windriver.com>"
+RECIPE_MAINTAINER:pn-ed = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER:pn-efivar = "Ross Burton <ross.burton@arm.com>"
+RECIPE_MAINTAINER:pn-efibootmgr = "Ross Burton <ross.burton@arm.com>"
+RECIPE_MAINTAINER:pn-elfutils = "Zang Ruochen <zangrc.fnst@fujitsu.com>"
+RECIPE_MAINTAINER:pn-ell = "Zang Ruochen <zangrc.fnst@fujitsu.com>"
+RECIPE_MAINTAINER:pn-enchant2 = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-encodings = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-epiphany = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER:pn-erofs-utils = "Richard Weinberger <richard@nod.at>"
+RECIPE_MAINTAINER:pn-ethtool = "Changhyeok Bae <changhyeok.bae@gmail.com>"
+RECIPE_MAINTAINER:pn-eudev = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-expat = "Yi Zhao <yi.zhao@windriver.com>"
+RECIPE_MAINTAINER:pn-expect = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER:pn-ffmpeg = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER:pn-file = "Yi Zhao <yi.zhao@windriver.com>"
+RECIPE_MAINTAINER:pn-findutils = "Chen Qi <Qi.Chen@windriver.com>"
+RECIPE_MAINTAINER:pn-flac = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-flex = "Chen Qi <Qi.Chen@windriver.com>"
+RECIPE_MAINTAINER:pn-font-alias = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-font-util = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-fontconfig = "Ross Burton <ross.burton@arm.com>"
+RECIPE_MAINTAINER:pn-formfactor = "Ross Burton <ross.burton@arm.com>"
+RECIPE_MAINTAINER:pn-freetype = "Ross Burton <ross.burton@arm.com>"
+RECIPE_MAINTAINER:pn-fribidi = "Ross Burton <ross.burton@arm.com>"
+RECIPE_MAINTAINER:pn-fts = "Khem Raj <raj.khem@gmail.com>"
+RECIPE_MAINTAINER:pn-gawk = "Chen Qi <Qi.Chen@windriver.com>"
+RECIPE_MAINTAINER:pn-gcc = "Khem Raj <raj.khem@gmail.com>"
+RECIPE_MAINTAINER:pn-gcc-cross-${TARGET_ARCH} = "Khem Raj <raj.khem@gmail.com>"
+RECIPE_MAINTAINER:pn-gcc-cross-canadian-${TRANSLATED_TARGET_ARCH} = "Khem Raj <raj.khem@gmail.com>"
+RECIPE_MAINTAINER:pn-gcc-crosssdk-${SDK_SYS} = "Khem Raj <raj.khem@gmail.com>"
+RECIPE_MAINTAINER:pn-gcc-runtime = "Khem Raj <raj.khem@gmail.com>"
+RECIPE_MAINTAINER:pn-gcc-sanitizers = "Khem Raj <raj.khem@gmail.com>"
+RECIPE_MAINTAINER:pn-gcc-source-11.1.0 = "Khem Raj <raj.khem@gmail.com>"
+RECIPE_MAINTAINER:pn-gconf = "Ross Burton <ross.burton@arm.com>"
+RECIPE_MAINTAINER:pn-gcr = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER:pn-gdb = "Khem Raj <raj.khem@gmail.com>"
+RECIPE_MAINTAINER:pn-gdb-cross-${TARGET_ARCH} = "Khem Raj <raj.khem@gmail.com>"
+RECIPE_MAINTAINER:pn-gdb-cross-canadian-${TRANSLATED_TARGET_ARCH} = "Khem Raj <raj.khem@gmail.com>"
+RECIPE_MAINTAINER:pn-gdbm = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER:pn-gdk-pixbuf = "Ross Burton <ross.burton@arm.com>"
+RECIPE_MAINTAINER:pn-gettext = "Robert Yang <liezhi.yang@windriver.com>"
+RECIPE_MAINTAINER:pn-gettext-minimal-native = "Robert Yang <liezhi.yang@windriver.com>"
+RECIPE_MAINTAINER:pn-ghostscript = "Hongxu Jia <hongxu.jia@windriver.com>"
+RECIPE_MAINTAINER:pn-gi-docgen = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER:pn-git = "Robert Yang <liezhi.yang@windriver.com>"
+RECIPE_MAINTAINER:pn-glew = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-glib-2.0 = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-glib-networking = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-glibc = "Khem Raj <raj.khem@gmail.com>"
+RECIPE_MAINTAINER:pn-glibc-locale = "Khem Raj <raj.khem@gmail.com>"
+RECIPE_MAINTAINER:pn-glibc-mtrace = "Khem Raj <raj.khem@gmail.com>"
+RECIPE_MAINTAINER:pn-glibc-scripts = "Khem Raj <raj.khem@gmail.com>"
+RECIPE_MAINTAINER:pn-glibc-testsuite = "Khem Raj <raj.khem@gmail.com>"
+RECIPE_MAINTAINER:pn-glide = "Otavio Salvador <otavio.salvador@ossystems.com.br>"
+RECIPE_MAINTAINER:pn-gmp = "Khem Raj <raj.khem@gmail.com>"
+RECIPE_MAINTAINER:pn-glslang = "Jose Quaresma <quaresma.jose@gmail.com>"
+RECIPE_MAINTAINER:pn-gnome-desktop-testing = "Ross Burton <ross.burton@arm.com>"
+RECIPE_MAINTAINER:pn-gnu-config = "Robert Yang <liezhi.yang@windriver.com>"
+RECIPE_MAINTAINER:pn-gnu-efi = "Yi Zhao <yi.zhao@windriver.com>"
+RECIPE_MAINTAINER:pn-gnupg = "Hongxu Jia <hongxu.jia@windriver.com>"
+RECIPE_MAINTAINER:pn-gnutls = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-go = "Khem Raj <raj.khem@gmail.com>"
+RECIPE_MAINTAINER:pn-go-binary-native = "Khem Raj <raj.khem@gmail.com>"
+RECIPE_MAINTAINER:pn-go-cross-${TUNE_PKGARCH} = "Khem Raj <raj.khem@gmail.com>"
+RECIPE_MAINTAINER:pn-go-cross-canadian-${TRANSLATED_TARGET_ARCH} = "Khem Raj <raj.khem@gmail.com>"
+RECIPE_MAINTAINER:pn-go-crosssdk-${SDK_SYS} = "Khem Raj <raj.khem@gmail.com>"
+RECIPE_MAINTAINER:pn-go-helloworld = "Khem Raj <raj.khem@gmail.com>"
+RECIPE_MAINTAINER:pn-go-native = "Khem Raj <raj.khem@gmail.com>"
+RECIPE_MAINTAINER:pn-go-runtime = "Khem Raj <raj.khem@gmail.com>"
+RECIPE_MAINTAINER:pn-gobject-introspection = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER:pn-gperf = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER:pn-gpgme = "Hongxu Jia <hongxu.jia@windriver.com>"
+RECIPE_MAINTAINER:pn-gptfdisk = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER:pn-gcompat = "Khem Raj <raj.khem@gmail.com>"
+RECIPE_MAINTAINER:pn-grep = "Denys Dmytriyenko <denis@denix.org>"
+RECIPE_MAINTAINER:pn-groff = "Hongxu Jia <hongxu.jia@windriver.com>"
+RECIPE_MAINTAINER:pn-grub = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-grub-bootconf = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-grub-efi = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-gsettings-desktop-schemas = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-gst-devtools = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-gst-examples = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-gstreamer1.0 = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-gstreamer1.0-libav = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-gstreamer1.0-omx = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-gstreamer1.0-meta-base = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-gstreamer1.0-plugins-bad = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-gstreamer1.0-plugins-base = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-gstreamer1.0-plugins-good = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-gstreamer1.0-plugins-ugly = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-gstreamer1.0-python = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-gstreamer1.0-rtsp-server = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-gstreamer1.0-vaapi = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-gtk+3 = "Ross Burton <ross.burton@arm.com>"
+RECIPE_MAINTAINER:pn-gtk-doc = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER:pn-gzip = "Denys Dmytriyenko <denis@denix.org>"
+RECIPE_MAINTAINER:pn-harfbuzz = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-hdparm = "Denys Dmytriyenko <denis@denix.org>"
+RECIPE_MAINTAINER:pn-help2man = "Hongxu Jia <hongxu.jia@windriver.com>"
+RECIPE_MAINTAINER:pn-hicolor-icon-theme = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-hwlatdetect = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER:pn-i2c-tools = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-icecc-create-env = "Joshua Watt <JPEWhacker@gmail.com>"
+RECIPE_MAINTAINER:pn-icu = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER:pn-ifupdown = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-igt-gpu-tools = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-inetutils = "Tom Rini <trini@konsulko.com>"
+RECIPE_MAINTAINER:pn-init-ifupdown = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-init-system-helpers = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-initramfs-boot = "Otavio Salvador <otavio.salvador@ossystems.com.br>"
+RECIPE_MAINTAINER:pn-initramfs-framework = "Otavio Salvador <otavio.salvador@ossystems.com.br>"
+RECIPE_MAINTAINER:pn-initramfs-live-boot = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-initramfs-live-boot-tiny = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-initramfs-live-install = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-initramfs-live-install-efi = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-initramfs-live-install-efi-testfs = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-initramfs-live-install-testfs = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-initscripts = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-intltool = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER:pn-iproute2 = "Changhyeok Bae <changhyeok.bae@gmail.com>"
+RECIPE_MAINTAINER:pn-iptables = "Changhyeok Bae <changhyeok.bae@gmail.com>"
+RECIPE_MAINTAINER:pn-iputils = "Changhyeok Bae <changhyeok.bae@gmail.com>"
+RECIPE_MAINTAINER:pn-iso-codes = "Wang Mingyu <wangmy@cn.ujitsu.com>"
+RECIPE_MAINTAINER:pn-itstool = "Andreas Müller <schnitzeltony@gmail.com>"
+RECIPE_MAINTAINER:pn-iw = "Changhyeok Bae <changhyeok.bae@gmail.com>"
+RECIPE_MAINTAINER:pn-libjpeg-turbo = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-json-c = "Yi Zhao <yi.zhao@windriver.com>"
+RECIPE_MAINTAINER:pn-json-glib = "Yi Zhao <yi.zhao@windriver.com>"
+RECIPE_MAINTAINER:pn-jquery = "Joshua Watt <JPEWhacker@gmail.com>"
+RECIPE_MAINTAINER:pn-kbd = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER:pn-kea = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-kern-tools-native = "Bruce Ashfield <bruce.ashfield@gmail.com>"
+RECIPE_MAINTAINER:pn-kernel-devsrc = "Bruce Ashfield <bruce.ashfield@gmail.com>"
+RECIPE_MAINTAINER:pn-kexec-tools = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-keymaps = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER:pn-kmod = "Chen Qi <Qi.Chen@windriver.com>"
+RECIPE_MAINTAINER:pn-kmod-native = "Chen Qi <Qi.Chen@windriver.com>"
+RECIPE_MAINTAINER:pn-kmscube = "Carlos Rafael Giani <dv@pseudoterminal.org>"
+RECIPE_MAINTAINER:pn-l3afpad = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-lame = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-ldconfig-native = "Khem Raj <raj.khem@gmail.com>"
+RECIPE_MAINTAINER:pn-less = "Yi Zhao <yi.zhao@windriver.com>"
+RECIPE_MAINTAINER:pn-liba52 = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-libacpi = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-libaio = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER:pn-libarchive = "Otavio Salvador <otavio.salvador@ossystems.com.br>"
+RECIPE_MAINTAINER:pn-libassuan = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-libatomic-ops = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-libbsd = "Yi Zhao <yi.zhao@windriver.com>"
+RECIPE_MAINTAINER:pn-libcap = "Yi Zhao <yi.zhao@windriver.com>"
+RECIPE_MAINTAINER:pn-libcap-ng = "Yi Zhao <yi.zhao@windriver.com>"
+RECIPE_MAINTAINER:pn-libcap-ng-python = "Yi Zhao <yi.zhao@windriver.com>"
+RECIPE_MAINTAINER:pn-libcgroup = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER:pn-libcheck = "Yi Zhao <yi.zhao@windriver.com>"
+RECIPE_MAINTAINER:pn-libcomps = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER:pn-libconvert-asn1-perl = "Tim Orling <timothy.t.orling@intel.com>"
+RECIPE_MAINTAINER:pn-libcroco = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-libdaemon = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER:pn-libdazzle = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER:pn-libdmx = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-libdnf = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER:pn-libdrm = "Otavio Salvador <otavio.salvador@ossystems.com.br>"
+RECIPE_MAINTAINER:pn-libedit = "Khem Raj <raj.khem@gmail.com>"
+RECIPE_MAINTAINER:pn-libepoxy = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-liberation-fonts = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER:pn-liberror-perl = "Tim Orling <timothy.t.orling@intel.com>"
+RECIPE_MAINTAINER:pn-libevdev = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-libevent = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-libexif = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER:pn-libfakekey = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER:pn-libffi = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER:pn-libfm = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER:pn-libfm-extra = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER:pn-libfontenc = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-libgcc = "Khem Raj <raj.khem@gmail.com>"
+RECIPE_MAINTAINER:pn-libgcc-initial = "Khem Raj <raj.khem@gmail.com>"
+RECIPE_MAINTAINER:pn-libgcrypt = "Hongxu Jia <hongxu.jia@windriver.com>"
+RECIPE_MAINTAINER:pn-libgfortran = "Khem Raj <raj.khem@gmail.com>"
+RECIPE_MAINTAINER:pn-libgit2 = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-libgloss = "Alejandro Hernandez <aehs29@gmail.com>"
+RECIPE_MAINTAINER:pn-libglu = "Ross Burton <ross.burton@arm.com>"
+RECIPE_MAINTAINER:pn-libgpg-error = "Hongxu Jia <hongxu.jia@windriver.com>"
+RECIPE_MAINTAINER:pn-libgudev = "Ross Burton <ross.burton@arm.com>"
+RECIPE_MAINTAINER:pn-libhandy = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER:pn-libical = "Ross Burton <ross.burton@arm.com>"
+RECIPE_MAINTAINER:pn-libice = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-libid3tag = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-libidn2 = "Ross Burton <ross.burton@arm.com>"
+RECIPE_MAINTAINER:pn-libinput = "Ross Burton <ross.burton@arm.com>"
+RECIPE_MAINTAINER:pn-libjitterentropy = "Ross Burton <ross.burton@arm.com>"
+RECIPE_MAINTAINER:pn-libksba = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER:pn-libmatchbox = "Ross Burton <ross.burton@arm.com>"
+RECIPE_MAINTAINER:pn-libmd = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER:pn-libmicrohttpd = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER:pn-libmnl = "Khem Raj <raj.khem@gmail.com>"
+RECIPE_MAINTAINER:pn-libmpc = "Khem Raj <raj.khem@gmail.com>"
+RECIPE_MAINTAINER:pn-libmodule-build-perl = "Tim Orling <timothy.t.orling@intel.com>"
+RECIPE_MAINTAINER:pn-libmodulemd = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER:pn-libnewt = "Hongxu Jia <hongxu.jia@windriver.com>"
+RECIPE_MAINTAINER:pn-libnl = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER:pn-libnotify = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-libnsl2 = "Khem Raj <raj.khem@gmail.com>"
+RECIPE_MAINTAINER:pn-libnss-mdns = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER:pn-libnss-nis = "Khem Raj <raj.khem@gmail.com>"
+RECIPE_MAINTAINER:pn-libogg = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-libomxil = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-libpam = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-libpcap = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-libpciaccess = "Wang Mingyu <wangmy@fujitsu.com>"
+RECIPE_MAINTAINER:pn-libpcre = "Yi Zhao <yi.zhao@windriver.com>"
+RECIPE_MAINTAINER:pn-libpcre2 = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-libpipeline = "Wang Mingyu <wangmy@fujitsu.com>"
+RECIPE_MAINTAINER:pn-libpng = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-libportal = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER:pn-libproxy = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-libpthread-stubs = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER:pn-libpsl = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-librepo = "Wang Mingyu <wangmy@fujitsu.com>"
+RECIPE_MAINTAINER:pn-librsvg = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-libsamplerate0 = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-libsdl2 = "Yi Zhao <yi.zhao@windriver.com>"
+RECIPE_MAINTAINER:pn-libseccomp = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-libsecret = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER:pn-libsm = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-libsndfile1 = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-libsolv = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-libsoup-2.4 = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-libssh2 = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-libssp-nonshared = "Khem Raj <raj.khem@gmail.com>"
+RECIPE_MAINTAINER:pn-libtasn1 = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-libtest-needs-perl = "Tim Orling <timothy.t.orling@intel.com>"
+RECIPE_MAINTAINER:pn-libtheora = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER:pn-libtimedate-perl = "Tim Orling <timothy.t.orling@intel.com>"
+RECIPE_MAINTAINER:pn-libtirpc = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-libtool = "Robert Yang <liezhi.yang@windriver.com>"
+RECIPE_MAINTAINER:pn-libtool-cross = "Robert Yang <liezhi.yang@windriver.com>"
+RECIPE_MAINTAINER:pn-libtool-native = "Robert Yang <liezhi.yang@windriver.com>"
+RECIPE_MAINTAINER:pn-libucontext = "Khem Raj <raj.khem@gmail.com>"
+RECIPE_MAINTAINER:pn-libunistring = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-libunwind = "Bruce Ashfield <bruce.ashfield@gmail.com>"
+RECIPE_MAINTAINER:pn-liburcu = "Wang Mingyu <wangmy@fujitsu.com>"
+RECIPE_MAINTAINER:pn-liburi-perl = "Tim Orling <timothy.t.orling@intel.com>"
+RECIPE_MAINTAINER:pn-libusb1 = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-libubootenv = "Stefano Babic <sbabic@denx.de>"
+RECIPE_MAINTAINER:pn-libuv = "Armin Kuster <akuster@mvista.com>"
+RECIPE_MAINTAINER:pn-libva = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-libva-initial = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-libva-utils = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-libvorbis = "Zang Ruochen <zangrc.fnst@fujitsu.com>"
+RECIPE_MAINTAINER:pn-libwebp = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER:pn-libwpe = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER:pn-libx11 = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-libxau = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-libxcb = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-libxcomposite = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-libxcursor = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-libxcrypt = "Khem Raj <raj.khem@gmail.com>"
+RECIPE_MAINTAINER:pn-libxcrypt-compat = "Khem Raj <raj.khem@gmail.com>"
+RECIPE_MAINTAINER:pn-libxdamage = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-libxdmcp = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-libxext = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-libxfixes = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-libxfont = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-libxfont2 = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-libxft = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-libxi = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-libxinerama = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-libxkbcommon = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-libxkbfile = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-libxml-namespacesupport-perl = "Tim Orling <timothy.t.orling@intel.com>"
+RECIPE_MAINTAINER:pn-libxml-parser-perl = "Tim Orling <timothy.t.orling@intel.com>"
+RECIPE_MAINTAINER:pn-libxml-perl = "Tim Orling <timothy.t.orling@intel.com>"
+RECIPE_MAINTAINER:pn-libxml-sax-base-perl = "Tim Orling <timothy.t.orling@intel.com>"
+RECIPE_MAINTAINER:pn-libxml-sax-perl = "Tim Orling <timothy.t.orling@intel.com>"
+RECIPE_MAINTAINER:pn-libxml-simple-perl = "Tim Orling <timothy.t.orling@intel.com>"
+RECIPE_MAINTAINER:pn-libxml2 = "Hongxu Jia <hongxu.jia@windriver.com>"
+RECIPE_MAINTAINER:pn-libxmu = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-libxpm = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-libxrandr = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-libxrender = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-libxres = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-libxscrnsaver = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-libxshmfence = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-libxslt = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER:pn-libxt = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-libxtst = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-libxv = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-libxvmc = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-libxxf86vm = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-libyaml = "Wang Mingyu <wangmy@fujitsu.com>"
+RECIPE_MAINTAINER:pn-lighttpd = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER:pn-linux-dummy = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER:pn-linux-firmware = "Otavio Salvador <otavio.salvador@ossystems.com.br>"
+RECIPE_MAINTAINER:pn-linux-libc-headers = "Bruce Ashfield <bruce.ashfield@gmail.com>"
+RECIPE_MAINTAINER:pn-linux-yocto = "Bruce Ashfield <bruce.ashfield@gmail.com>"
+RECIPE_MAINTAINER:pn-linux-yocto-dev = "Bruce Ashfield <bruce.ashfield@gmail.com>"
+RECIPE_MAINTAINER:pn-linux-yocto-rt = "Bruce Ashfield <bruce.ashfield@gmail.com>"
+RECIPE_MAINTAINER:pn-linux-yocto-tiny = "Bruce Ashfield <bruce.ashfield@gmail.com>"
+RECIPE_MAINTAINER:pn-llvm = "Khem Raj <raj.khem@gmail.com>"
+RECIPE_MAINTAINER:pn-logrotate = "Yi Zhao <yi.zhao@windriver.com>"
+RECIPE_MAINTAINER:pn-log4cplus = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-lrzsz = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-lsb-release = "Hongxu Jia <hongxu.jia@windriver.com>"
+RECIPE_MAINTAINER:pn-lsof = "Ross Burton <ross.burton@arm.com>"
+RECIPE_MAINTAINER:pn-ltp = "Yi Zhao <yi.zhao@windriver.com>"
+RECIPE_MAINTAINER:pn-lttng-modules = "Richard Purdie <richard.purdie@linuxfoundation.org>"
+RECIPE_MAINTAINER:pn-lttng-tools = "Richard Purdie <richard.purdie@linuxfoundation.org>"
+RECIPE_MAINTAINER:pn-lttng-ust = "Richard Purdie <richard.purdie@linuxfoundation.org>"
+RECIPE_MAINTAINER:pn-lz4 = "Denys Dmytriyenko <denis@denix.org>"
+RECIPE_MAINTAINER:pn-lzo = "Denys Dmytriyenko <denis@denix.org>"
+RECIPE_MAINTAINER:pn-lzip = "Denys Dmytriyenko <denis@denix.org>"
+RECIPE_MAINTAINER:pn-lzop = "Denys Dmytriyenko <denis@denix.org>"
+RECIPE_MAINTAINER:pn-m4 = "Robert Yang <liezhi.yang@windriver.com>"
+RECIPE_MAINTAINER:pn-m4-native = "Robert Yang <liezhi.yang@windriver.com>"
+RECIPE_MAINTAINER:pn-make = "Robert Yang <liezhi.yang@windriver.com>"
+RECIPE_MAINTAINER:pn-makedepend = "Robert Yang <liezhi.yang@windriver.com>"
+RECIPE_MAINTAINER:pn-makedevs = "Chen Qi <Qi.Chen@windriver.com>"
+RECIPE_MAINTAINER:pn-make-mod-scripts = "Bruce Ashfield <bruce.ashfield@gmail.com>"
+RECIPE_MAINTAINER:pn-man-db = "Hongxu Jia <hongxu.jia@windriver.com>"
+RECIPE_MAINTAINER:pn-man-pages = "Hongxu Jia <hongxu.jia@windriver.com>"
+RECIPE_MAINTAINER:pn-matchbox-config-gtk = "Ross Burton <ross.burton@arm.com>"
+RECIPE_MAINTAINER:pn-matchbox-desktop = "Ross Burton <ross.burton@arm.com>"
+RECIPE_MAINTAINER:pn-matchbox-keyboard = "Ross Burton <ross.burton@arm.com>"
+RECIPE_MAINTAINER:pn-matchbox-panel-2 = "Ross Burton <ross.burton@arm.com>"
+RECIPE_MAINTAINER:pn-matchbox-session = "Ross Burton <ross.burton@arm.com>"
+RECIPE_MAINTAINER:pn-matchbox-session-sato = "Ross Burton <ross.burton@arm.com>"
+RECIPE_MAINTAINER:pn-matchbox-terminal = "Ross Burton <ross.burton@arm.com>"
+RECIPE_MAINTAINER:pn-matchbox-theme-sato = "Ross Burton <ross.burton@arm.com>"
+RECIPE_MAINTAINER:pn-matchbox-wm = "Ross Burton <ross.burton@arm.com>"
+RECIPE_MAINTAINER:pn-mc = "Ross Burton <ross.burton@arm.com>"
+RECIPE_MAINTAINER:pn-mdadm = "Ross Burton <ross.burton@arm.com>"
+RECIPE_MAINTAINER:pn-menu-cache = "Ross Burton <ross.burton@arm.com>"
+RECIPE_MAINTAINER:pn-mesa = "Otavio Salvador <otavio.salvador@ossystems.com.br>"
+RECIPE_MAINTAINER:pn-mesa-demos = "Otavio Salvador <otavio.salvador@ossystems.com.br>"
+RECIPE_MAINTAINER:pn-mesa-gl = "Otavio Salvador <otavio.salvador@ossystems.com.br>"
+RECIPE_MAINTAINER:pn-meson = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER:pn-meta-environment-${MACHINE} = "Richard Purdie <richard.purdie@linuxfoundation.org>"
+RECIPE_MAINTAINER:pn-meta-environment-extsdk-${MACHINE} = "Richard Purdie <richard.purdie@linuxfoundation.org>"
+RECIPE_MAINTAINER:pn-meta-extsdk-toolchain = "Richard Purdie <richard.purdie@linuxfoundation.org>"
+RECIPE_MAINTAINER:pn-meta-go-toolchain = "Richard Purdie <richard.purdie@linuxfoundation.org>"
+RECIPE_MAINTAINER:pn-meta-ide-support = "Richard Purdie <richard.purdie@linuxfoundation.org>"
+RECIPE_MAINTAINER:pn-meta-toolchain = "Richard Purdie <richard.purdie@linuxfoundation.org>"
+RECIPE_MAINTAINER:pn-meta-world-pkgdata = "Richard Purdie <richard.purdie@linuxfoundation.org>"
+RECIPE_MAINTAINER:pn-mingetty = "Yi Zhao <yi.zhao@windriver.com>"
+RECIPE_MAINTAINER:pn-mini-x-session = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-minicom = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-mkfontscale = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-mmc-utils = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-mobile-broadband-provider-info = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER:pn-modutils-initscripts = "Yi Zhao <yi.zhao@windriver.com>"
+RECIPE_MAINTAINER:pn-mpeg2dec = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER:pn-mpfr = "Khem Raj <raj.khem@gmail.com>"
+RECIPE_MAINTAINER:pn-mpg123 = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER:pn-msmtp = "Wang Mingyu <wangmy@fujitsu.com>"
+RECIPE_MAINTAINER:pn-mtd-utils = "Denys Dmytriyenko <denis@denix.org>"
+RECIPE_MAINTAINER:pn-mtdev = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-mtools = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-musl = "Khem Raj <raj.khem@gmail.com>"
+RECIPE_MAINTAINER:pn-musl-obstack = "Khem Raj <raj.khem@gmail.com>"
+RECIPE_MAINTAINER:pn-musl-utils = "Khem Raj <raj.khem@gmail.com>"
+RECIPE_MAINTAINER:pn-nasm = "Richard Purdie <richard.purdie@linuxfoundation.org>"
+RECIPE_MAINTAINER:pn-nativesdk-buildtools-perl-dummy = "Richard Purdie <richard.purdie@linuxfoundation.org>"
+RECIPE_MAINTAINER:pn-nativesdk-icecc-toolchain = "Joshua Watt <JPEWhacker@gmail.com>"
+RECIPE_MAINTAINER:pn-nativesdk-libtool = "Richard Purdie <richard.purdie@linuxfoundation.org>"
+RECIPE_MAINTAINER:pn-nativesdk-meson = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER:pn-nativesdk-packagegroup-sdk-host = "Ross Burton <ross.burton@arm.com>"
+RECIPE_MAINTAINER:pn-nativesdk-qemu-helper = "Richard Purdie <richard.purdie@linuxfoundation.org>"
+RECIPE_MAINTAINER:pn-nativesdk-sdk-provides-dummy = "Richard Purdie <richard.purdie@linuxfoundation.org>"
+RECIPE_MAINTAINER:pn-newlib = "Alejandro Hernandez <aehs29@gmail.com>"
+RECIPE_MAINTAINER:pn-ncurses = "Hongxu Jia <hongxu.jia@windriver.com>"
+RECIPE_MAINTAINER:pn-neard = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-net-tools = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-netbase = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-nettle = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-nfs-export-root = "Robert Yang <liezhi.yang@windriver.com>"
+RECIPE_MAINTAINER:pn-nfs-utils = "Robert Yang <liezhi.yang@windriver.com>"
+RECIPE_MAINTAINER:pn-ninja = "Khem Raj <raj.khem@gmail.com>"
+RECIPE_MAINTAINER:pn-npth = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER:pn-nss-myhostname = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-numactl = "Richard Purdie <richard.purdie@linuxfoundation.org>"
+RECIPE_MAINTAINER:pn-ofono = "Ross Burton <ross.burton@arm.com>"
+RECIPE_MAINTAINER:pn-opensbi = "Alistair Francis <alistair.francis@wdc.com>"
+RECIPE_MAINTAINER:pn-openssh = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-openssl = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER:pn-opkg = "Alejandro del Castillo <alejandro.delcastillo@ni.com>"
+RECIPE_MAINTAINER:pn-opkg-arch-config = "Alejandro del Castillo <alejandro.delcastillo@ni.com>"
+RECIPE_MAINTAINER:pn-opkg-keyrings = "Alejandro del Castillo <alejandro.delcastillo@ni.com>"
+RECIPE_MAINTAINER:pn-opkg-utils = "Alejandro del Castillo <alejandro.delcastillo@ni.com>"
+RECIPE_MAINTAINER:pn-orc = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-os-release = "Ross Burton <ross.burton@arm.com>"
+RECIPE_MAINTAINER:pn-ovmf = "Ricardo Neri <ricardo.neri-calderon@linux.intel.com>"
+RECIPE_MAINTAINER:pn-ovmf-shell-image = "Ricardo Neri <ricardo.neri-calderon@linux.intel.com>"
+RECIPE_MAINTAINER:pn-p11-kit = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER:pn-package-index = "Ross Burton <ross.burton@arm.com>"
+RECIPE_MAINTAINER:pn-pango = "Ross Burton <ross.burton@arm.com>"
+RECIPE_MAINTAINER:pn-parted = "Hongxu Jia <hongxu.jia@windriver.com>"
+RECIPE_MAINTAINER:pn-patch = "Hongxu Jia <hongxu.jia@windriver.com>"
+RECIPE_MAINTAINER:pn-patchelf = "Richard Purdie <richard.purdie@linuxfoundation.org>"
+RECIPE_MAINTAINER:pn-pbzip2 = "Denys Dmytriyenko <denis@denix.org>"
+RECIPE_MAINTAINER:pn-pciutils = "Chen Qi <Qi.Chen@windriver.com>"
+RECIPE_MAINTAINER:pn-pcmanfm = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER:pn-perf = "Bruce Ashfield <bruce.ashfield@gmail.com>"
+RECIPE_MAINTAINER:pn-perl = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER:pn-perlcross = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER:pn-piglit = "Ross Burton <ross.burton@arm.com>"
+RECIPE_MAINTAINER:pn-pigz = "Hongxu Jia <hongxu.jia@windriver.com>"
+RECIPE_MAINTAINER:pn-pinentry = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-pixman = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-pkgconf = "Ross Burton <ross.burton@arm.com>"
+RECIPE_MAINTAINER:pn-pkgconfig = "Ross Burton <ross.burton@arm.com>"
+RECIPE_MAINTAINER:pn-pm-utils = "Ross Burton <ross.burton@arm.com>"
+RECIPE_MAINTAINER:pn-pointercal-xinput = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER:pn-pong-clock = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-popt = "Yi Zhao <yi.zhao@windriver.com>"
+RECIPE_MAINTAINER:pn-powertop = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER:pn-ppp = "Hongxu Jia <hongxu.jia@windriver.com>"
+RECIPE_MAINTAINER:pn-ppp-dialin = "Hongxu Jia <hongxu.jia@windriver.com>"
+RECIPE_MAINTAINER:pn-prelink = "Mark Hatle <mark.hatle@kernel.crashing.org>"
+RECIPE_MAINTAINER:pn-procps = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER:pn-pseudo = "Richard Purdie <richard.purdie@linuxfoundation.org>"
+RECIPE_MAINTAINER:pn-psmisc = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER:pn-psplash = "Yi Zhao <yi.zhao@windriver.com>"
+RECIPE_MAINTAINER:pn-ptest-runner = "Ross Burton <ross.burton@arm.com>"
+RECIPE_MAINTAINER:pn-pulseaudio = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-pulseaudio-client-conf-sato = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-puzzles = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-python3 = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
+RECIPE_MAINTAINER:pn-python3-async = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
+RECIPE_MAINTAINER:pn-python3-atomicwrites = "Tim Orling <timothy.t.orling@intel.com>"
+RECIPE_MAINTAINER:pn-python3-attrs = "Tim Orling <timothy.t.orling@intel.com>"
+RECIPE_MAINTAINER:pn-python3-cython = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
+RECIPE_MAINTAINER:pn-python3-dbus = "Zang Ruochen <zangrc.fnst@fujitsu.com>"
+RECIPE_MAINTAINER:pn-python3-dbusmock = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
+RECIPE_MAINTAINER:pn-python3-docutils = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
+RECIPE_MAINTAINER:pn-python3-pycryptodome = "Joshua Watt <JPEWhacker@gmail.com>"
+RECIPE_MAINTAINER:pn-python3-pycryptodomex = "Joshua Watt <JPEWhacker@gmail.com>"
+RECIPE_MAINTAINER:pn-python3-extras = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
+RECIPE_MAINTAINER:pn-python3-git = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
+RECIPE_MAINTAINER:pn-python3-gitdb = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
+RECIPE_MAINTAINER:pn-python3-hypothesis = "Tim Orling <timothy.t.orling@intel.com>"
+RECIPE_MAINTAINER:pn-python3-importlib-metadata = "Tim Orling <timothy.t.orling@intel.com>"
+RECIPE_MAINTAINER:pn-python3-iniconfig = "Tim Orling <timothy.t.orling@intel.com>"
+RECIPE_MAINTAINER:pn-python3-iniparse = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
+RECIPE_MAINTAINER:pn-python3-jinja2 = "Richard Purdie <richard.purdie@linuxfoundation.org>"
+RECIPE_MAINTAINER:pn-python3-libarchive-c = "Joshua Watt <JPEWhacker@gmail.com>"
+RECIPE_MAINTAINER:pn-python3-magic = "Joshua Watt <JPEWhacker@gmail.com>"
+RECIPE_MAINTAINER:pn-python3-mako = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
+RECIPE_MAINTAINER:pn-python3-markdown = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER:pn-python3-markupsafe = "Richard Purdie <richard.purdie@linuxfoundation.org>"
+RECIPE_MAINTAINER:pn-python3-more-itertools = "Tim Orling <timothy.t.orling@intel.com>"
+RECIPE_MAINTAINER:pn-python3-nose = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
+RECIPE_MAINTAINER:pn-python3-numpy = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
+RECIPE_MAINTAINER:pn-python3-packaging = "Tim Orling <timothy.t.orling@intel.com>"
+RECIPE_MAINTAINER:pn-python3-pathlib2 = "Tim Orling <timothy.t.orling@intel.com>"
+RECIPE_MAINTAINER:pn-python3-pbr = "Zang Ruochen <zangrc.fnst@fujitsu.com>"
+RECIPE_MAINTAINER:pn-python3-pip = "Zang Ruochen <zangrc.fnst@fujitsu.com>"
+RECIPE_MAINTAINER:pn-python3-pluggy = "Tim Orling <timothy.t.orling@intel.com>"
+RECIPE_MAINTAINER:pn-python3-py = "Tim Orling <timothy.t.orling@intel.com>"
+RECIPE_MAINTAINER:pn-python3-pyyaml = "Tim Orling <timothy.t.orling@intel.com>"
+RECIPE_MAINTAINER:pn-python3-pycairo = "Zang Ruochen <zangrc.fnst@fujitsu.com>"
+RECIPE_MAINTAINER:pn-python3-pyelftools = "Joshua Watt <JPEWhacker@gmail.com>"
+RECIPE_MAINTAINER:pn-python3-pygments = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
+RECIPE_MAINTAINER:pn-python3-pygobject = "Zang Ruochen <zangrc.fnst@fujitsu.com>"
+RECIPE_MAINTAINER:pn-python3-pyparsing = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
+RECIPE_MAINTAINER:pn-python3-pytest = "Tim Orling <timothy.t.orling@intel.com>"
+RECIPE_MAINTAINER:pn-python3-scons = "Tim Orling <timothy.t.orling@intel.com>"
+RECIPE_MAINTAINER:pn-python3-scons-native = "Tim Orling <timothy.t.orling@intel.com>"
+RECIPE_MAINTAINER:pn-python3-setuptools = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
+RECIPE_MAINTAINER:pn-python3-setuptools-scm = "Tim Orling <timothy.t.orling@intel.com>"
+RECIPE_MAINTAINER:pn-python3-six = "Zang Ruochen <zangrc.fnst@fujitsu.com>"
+RECIPE_MAINTAINER:pn-python3-smartypants = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER:pn-python3-smmap = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
+RECIPE_MAINTAINER:pn-python3-sortedcontainers = "Tim Orling <timothy.t.orling@intel.com>"
+RECIPE_MAINTAINER:pn-python3-subunit = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
+RECIPE_MAINTAINER:pn-python3-testtools = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
+RECIPE_MAINTAINER:pn-python3-toml = "Tim Orling <timothy.t.orling@intel.com>"
+RECIPE_MAINTAINER:pn-python3-typogrify = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER:pn-python3-wcwidth = "Tim Orling <timothy.t.orling@intel.com>"
+RECIPE_MAINTAINER:pn-python3-zipp = "Tim Orling <timothy.t.orling@intel.com>"
+RECIPE_MAINTAINER:pn-qemu = "Richard Purdie <richard.purdie@linuxfoundation.org>"
+RECIPE_MAINTAINER:pn-qemu-helper-native = "Richard Purdie <richard.purdie@linuxfoundation.org>"
+RECIPE_MAINTAINER:pn-qemu-native = "Richard Purdie <richard.purdie@linuxfoundation.org>"
+RECIPE_MAINTAINER:pn-qemu-system-native = "Richard Purdie <richard.purdie@linuxfoundation.org>"
+RECIPE_MAINTAINER:pn-qemuwrapper-cross = "Richard Purdie <richard.purdie@linuxfoundation.org>"
+RECIPE_MAINTAINER:pn-quilt = "Robert Yang <liezhi.yang@windriver.com>"
+RECIPE_MAINTAINER:pn-quilt-native = "Robert Yang <liezhi.yang@windriver.com>"
+RECIPE_MAINTAINER:pn-quota = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-re2c = "Khem Raj <raj.khem@gmail.com>"
+RECIPE_MAINTAINER:pn-readline = "Hongxu Jia <hongxu.jia@windriver.com>"
+RECIPE_MAINTAINER:pn-resolvconf = "Chen Qi <Qi.Chen@windriver.com>"
+RECIPE_MAINTAINER:pn-rgb = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-rpcbind = "Hongxu Jia <hongxu.jia@windriver.com>"
+RECIPE_MAINTAINER:pn-rng-tools = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-rpcsvc-proto = "Khem Raj <raj.khem@gmail.com>"
+RECIPE_MAINTAINER:pn-rpm = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-rsync = "Yi Zhao <yi.zhao@windriver.com>"
+RECIPE_MAINTAINER:pn-rt-tests = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER:pn-ruby = "Ross Burton <ross.burton@arm.com>"
+RECIPE_MAINTAINER:pn-run-postinsts = "Ross Burton <ross.burton@arm.com>"
+RECIPE_MAINTAINER:pn-rxvt-unicode = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-sato-screenshot = "Ross Burton <ross.burton@arm.com>"
+RECIPE_MAINTAINER:pn-sbc = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-screen = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-sed = "Chen Qi <Qi.Chen@windriver.com>"
+RECIPE_MAINTAINER:pn-serf = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-setserial = "Yi Zhao <yi.zhao@windriver.com>"
+RECIPE_MAINTAINER:pn-settings-daemon = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-shadow = "Chen Qi <Qi.Chen@windriver.com>"
+RECIPE_MAINTAINER:pn-shadow-securetty = "Chen Qi <Qi.Chen@windriver.com>"
+RECIPE_MAINTAINER:pn-shadow-sysroot = "Chen Qi <Qi.Chen@windriver.com>"
+RECIPE_MAINTAINER:pn-shaderc = "Jose Quaresma <quaresma.jose@gmail.com>"
+RECIPE_MAINTAINER:pn-shared-mime-info = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-shutdown-desktop = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER:pn-signing-keys = "Richard Purdie <richard.purdie@linuxfoundation.org>"
+RECIPE_MAINTAINER:pn-slang = "Yi Zhao <yi.zhao@windriver.com>"
+RECIPE_MAINTAINER:pn-socat = "Hongxu Jia <hongxu.jia@windriver.com>"
+RECIPE_MAINTAINER:pn-speex = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-speexdsp = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-spirv-headers = "Jose Quaresma <quaresma.jose@gmail.com>"
+RECIPE_MAINTAINER:pn-spirv-tools = "Jose Quaresma <quaresma.jose@gmail.com>"
+RECIPE_MAINTAINER:pn-sqlite3 = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-squashfs-tools = "Robert Yang <liezhi.yang@windriver.com>"
+RECIPE_MAINTAINER:pn-ssh-pregen-hostkeys = "Richard Purdie <richard.purdie@linuxfoundation.org>"
+RECIPE_MAINTAINER:pn-startup-notification = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER:pn-strace = "Robert Yang <liezhi.yang@windriver.com>"
+RECIPE_MAINTAINER:pn-stress-ng = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-subversion = "Richard Purdie <richard.purdie@linuxfoundation.org>"
+RECIPE_MAINTAINER:pn-sudo = "Chen Qi <Qi.Chen@windriver.com>"
+RECIPE_MAINTAINER:pn-swig = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-sysfsutils = "Chen Qi <Qi.Chen@windriver.com>"
+RECIPE_MAINTAINER:pn-sysklogd = "Chen Qi <Qi.Chen@windriver.com>"
+RECIPE_MAINTAINER:pn-syslinux = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER:pn-sysstat = "Chen Qi <Qi.Chen@windriver.com>"
+RECIPE_MAINTAINER:pn-systemd = "Chen Qi <Qi.Chen@windriver.com>"
+RECIPE_MAINTAINER:pn-systemd-boot = "Chen Qi <Qi.Chen@windriver.com>"
+RECIPE_MAINTAINER:pn-systemd-bootchart = "Chen Qi <Qi.Chen@windriver.com>"
+RECIPE_MAINTAINER:pn-systemd-bootconf = "Chen Qi <Qi.Chen@windriver.com>"
+RECIPE_MAINTAINER:pn-systemd-conf = "Chen Qi <Qi.Chen@windriver.com>"
+RECIPE_MAINTAINER:pn-systemd-compat-units = "Chen Qi <Qi.Chen@windriver.com>"
+RECIPE_MAINTAINER:pn-systemd-serialgetty = "Chen Qi <Qi.Chen@windriver.com>"
+RECIPE_MAINTAINER:pn-systemd-systemctl-native = "Chen Qi <Qi.Chen@windriver.com>"
+RECIPE_MAINTAINER:pn-systemtap = "Victor Kamensky <victor.kamensky7@gmail.com>"
+RECIPE_MAINTAINER:pn-systemtap-native = "Victor Kamensky <victor.kamensky7@gmail.com>"
+RECIPE_MAINTAINER:pn-systemtap-uprobes = "Victor Kamensky <victor.kamensky7@gmail.com>"
+RECIPE_MAINTAINER:pn-sysvinit = "Ross Burton <ross.burton@arm.com>"
+RECIPE_MAINTAINER:pn-sysvinit-inittab = "Ross Burton <ross.burton@arm.com>"
+RECIPE_MAINTAINER:pn-taglib = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-tar = "Chen Qi <Qi.Chen@windriver.com>"
+RECIPE_MAINTAINER:pn-tcf-agent = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-tcl = "Yi Zhao <yi.zhao@windriver.com>"
+RECIPE_MAINTAINER:pn-tcp-wrappers = "Robert Yang <liezhi.yang@windriver.com>"
+RECIPE_MAINTAINER:pn-testexport-tarball = "Richard Purdie <richard.purdie@linuxfoundation.org>"
+RECIPE_MAINTAINER:pn-texinfo = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-texinfo-dummy-native = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-tiff = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER:pn-time = "Robert Yang <liezhi.yang@windriver.com>"
+RECIPE_MAINTAINER:pn-ttf-bitstream-vera = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-tzcode-native = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-tzdata = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-u-boot = "Marek Vasut <marek.vasut@gmail.com>"
+RECIPE_MAINTAINER:pn-u-boot-tools = "Marek Vasut <marek.vasut@gmail.com>"
+RECIPE_MAINTAINER:pn-udev-extraconf = "Ross Burton <ross.burton@arm.com>"
+RECIPE_MAINTAINER:pn-unfs3 = "Ross Burton <ross.burton@arm.com>"
+RECIPE_MAINTAINER:pn-unifdef = "Ross Burton <ross.burton@arm.com>"
+RECIPE_MAINTAINER:pn-uninative-tarball = "Richard Purdie <richard.purdie@linuxfoundation.org>"
+RECIPE_MAINTAINER:pn-unzip = "Denys Dmytriyenko <denis@denix.org>"
+RECIPE_MAINTAINER:pn-update-rc.d = "Ross Burton <ross.burton@arm.com>"
+RECIPE_MAINTAINER:pn-usbinit = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER:pn-usbutils = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER:pn-util-linux = "Chen Qi <Qi.Chen@windriver.com>"
+RECIPE_MAINTAINER:pn-util-linux-libuuid = "Chen Qi <Qi.Chen@windriver.com>"
+RECIPE_MAINTAINER:pn-util-macros = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-v86d = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER:pn-vala = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER:pn-valgrind = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER:pn-vim = "Tom Rini <trini@konsulko.com>"
+RECIPE_MAINTAINER:pn-vim-tiny = "Tom Rini <trini@konsulko.com>"
+RECIPE_MAINTAINER:pn-virglrenderer = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER:pn-volatile-binds = "Chen Qi <Qi.Chen@windriver.com>"
+RECIPE_MAINTAINER:pn-vte = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-vulkan-headers = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-vulkan-loader = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-vulkan-samples = "Ross Burton <ross.burton@arm.com>"
+RECIPE_MAINTAINER:pn-vulkan-tools = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-waffle = "Ross Burton <ross.burton@arm.com>"
+RECIPE_MAINTAINER:pn-watchdog = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER:pn-watchdog-config = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER:pn-wayland = "Denys Dmytriyenko <denis@denix.org>"
+RECIPE_MAINTAINER:pn-wayland-protocols = "Denys Dmytriyenko <denis@denix.org>"
+RECIPE_MAINTAINER:pn-wayland-utils = "Denys Dmytriyenko <denis@denix.org>"
+RECIPE_MAINTAINER:pn-webkitgtk = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER:pn-weston = "Denys Dmytriyenko <denis@denix.org>"
+RECIPE_MAINTAINER:pn-weston-init = "Denys Dmytriyenko <denis@denix.org>"
+RECIPE_MAINTAINER:pn-wget = "Yi Zhao <yi.zhao@windriver.com>"
+RECIPE_MAINTAINER:pn-which = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-wic-tools = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-wireless-regdb = "Adrian Bunk <bunk@kernel.org>"
+RECIPE_MAINTAINER:pn-wpa-supplicant = "Changhyeok Bae <changhyeok.bae@gmail.com>"
+RECIPE_MAINTAINER:pn-wpebackend-fdo = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER:pn-x11perf = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-x264 = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-xauth = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-xcb-proto = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-xcb-util = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-xcb-util-image = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-xcb-util-keysyms = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-xcb-util-renderutil = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-xcb-util-wm = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-xcursor-transparent-theme = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-xdg-utils = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-xdpyinfo = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-xev = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-xeyes = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-xf86-input-evdev = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-xf86-input-keyboard = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-xf86-input-libinput = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-xf86-input-mouse = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-xf86-input-synaptics = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-xf86-input-vmmouse = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-xf86-video-cirrus = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-xf86-video-fbdev = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-xf86-video-intel = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-xf86-video-vesa = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-xf86-video-vmware = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-xhost = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-xinetd = "Ross Burton <ross.burton@arm.com>"
+RECIPE_MAINTAINER:pn-xinit = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-xinput = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-xinput-calibrator = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-xkbcomp = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-xkeyboard-config = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-xmlto = "Hongxu Jia <hongxu.jia@windriver.com>"
+RECIPE_MAINTAINER:pn-xmodmap = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-xorg-minimal-fonts = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-xorgproto = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-xprop = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-xrandr = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-xrestop = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-xserver-nodm-init = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-xserver-xf86-config = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-xserver-xorg = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-xset = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-xtrans = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-xuser-account = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-xvinfo = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-xwayland = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-xwininfo = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-xxhash = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER:pn-xz = "Denys Dmytriyenko <denis@denix.org>"
+RECIPE_MAINTAINER:pn-zip = "Denys Dmytriyenko <denis@denix.org>"
+RECIPE_MAINTAINER:pn-zlib = "Denys Dmytriyenko <denis@denix.org>"
+RECIPE_MAINTAINER:pn-zstd = "Alexander Kanavin <alex.kanavin@gmail.com>"
 BBCLASS_MAINTAINER_overlayfs = "Vyacheslav Yurkov <uvv.mail@gmail.com>"
 BBCLASS_MAINTAINER_overlayfs-qa = "Vyacheslav Yurkov <uvv.mail@gmail.com>"
diff --git a/meta/conf/distro/include/no-static-libs.inc b/meta/conf/distro/include/no-static-libs.inc
index a3a865cac45..7c6cf35934e 100644
--- a/meta/conf/distro/include/no-static-libs.inc
+++ b/meta/conf/distro/include/no-static-libs.inc
@@ -1,37 +1,37 @@
 DISABLE_STATIC ?= " --disable-static"
 
 # qemu aborts on unrecognised option
-DISABLE_STATIC_pn-qemu = ""
-DISABLE_STATIC_pn-qemu-native = ""
-DISABLE_STATIC_pn-nativesdk-qemu = ""
-DISABLE_STATIC_pn-qemu-system-native = ""
+DISABLE_STATIC:pn-qemu = ""
+DISABLE_STATIC:pn-qemu-native = ""
+DISABLE_STATIC:pn-nativesdk-qemu = ""
+DISABLE_STATIC:pn-qemu-system-native = ""
 # pciutils fails build
-DISABLE_STATIC_pn-pciutils = ""
+DISABLE_STATIC:pn-pciutils = ""
 # libcap aborts on unrecognised option
-DISABLE_STATIC_pn-libcap = ""
-DISABLE_STATIC_pn-libcap-native = ""
-DISABLE_STATIC_pn-nativesdk-libcap = ""
+DISABLE_STATIC:pn-libcap = ""
+DISABLE_STATIC:pn-libcap-native = ""
+DISABLE_STATIC:pn-nativesdk-libcap = ""
 # libpcap aborts on unrecognised option
-DISABLE_STATIC_pn-libpcap = ""
+DISABLE_STATIC:pn-libpcap = ""
 # needed by gdb
-DISABLE_STATIC_pn-readline = ""
+DISABLE_STATIC:pn-readline = ""
 # openjade/sgml-common have build issues without static libs
-DISABLE_STATIC_pn-sgml-common-native = ""
-DISABLE_STATIC_pn-openjade-native = ""
+DISABLE_STATIC:pn-sgml-common-native = ""
+DISABLE_STATIC:pn-openjade-native = ""
 # openssl has build issues without static libs
-DISABLE_STATIC_pn-openssl = ""
-DISABLE_STATIC_pn-openssl-native = ""
-DISABLE_STATIC_pn-nativesdk-openssl = ""
+DISABLE_STATIC:pn-openssl = ""
+DISABLE_STATIC:pn-openssl-native = ""
+DISABLE_STATIC:pn-nativesdk-openssl = ""
 # libssp-static-dev included in build-appliance
-DISABLE_STATIC_pn-gcc-runtime = ""
+DISABLE_STATIC:pn-gcc-runtime = ""
 # libusb1-native is used to build static dfu-util-native
-DISABLE_STATIC_pn-libusb1-native = ""
+DISABLE_STATIC:pn-libusb1-native = ""
 
-EXTRA_OECONF_append = "${DISABLE_STATIC}"
+EXTRA_OECONF:append = "${DISABLE_STATIC}"
 
-EXTRA_OECMAKE_append_pn-libical = " -DSHARED_ONLY=True"
-EXTRA_OECMAKE_append_pn-libjpeg-turbo = " -DENABLE_STATIC=False"
+EXTRA_OECMAKE:append:pn-libical = " -DSHARED_ONLY=True"
+EXTRA_OECMAKE:append:pn-libjpeg-turbo = " -DENABLE_STATIC=False"
 
-EXCONFIG_ARGS_append_pn-ncurses = " --without-normal"
-EXCONFIG_ARGS_append_pn-ncurses-native = " --without-normal"
-EXCONFIG_ARGS_append_pn-nativesdk-ncurses = " --without-normal"
+EXCONFIG_ARGS:append:pn-ncurses = " --without-normal"
+EXCONFIG_ARGS:append:pn-ncurses-native = " --without-normal"
+EXCONFIG_ARGS:append:pn-nativesdk-ncurses = " --without-normal"
diff --git a/meta/conf/distro/include/ptest-packagelists.inc b/meta/conf/distro/include/ptest-packagelists.inc
index d489ad82008..3872bdc9427 100644
--- a/meta/conf/distro/include/ptest-packagelists.inc
+++ b/meta/conf/distro/include/ptest-packagelists.inc
@@ -60,8 +60,8 @@ PTESTS_FAST = "\
     wayland-ptest \
     zlib-ptest \
 "
-PTESTS_FAST_remove_mips64 = "qemu-ptest"
-PTESTS_PROBLEMS_append_mips64 = "qemu-ptest"
+PTESTS_FAST:remove:mips64 = "qemu-ptest"
+PTESTS_PROBLEMS:append:mips64 = "qemu-ptest"
 
 PTESTS_SLOW = "\
     babeltrace-ptest \
@@ -84,8 +84,8 @@ PTESTS_SLOW = "\
     valgrind-ptest \
 "
 
-PTESTS_SLOW_remove_riscv64 = "valgrind-ptest"
-PTESTS_PROBLEMS_append_riscv64 = "valgrind-ptest"
+PTESTS_SLOW:remove:riscv64 = "valgrind-ptest"
+PTESTS_PROBLEMS:append:riscv64 = "valgrind-ptest"
 
 #    ruby-ptest \ # Timeout
 #    lz4-ptest \ # Needs a rewrite
diff --git a/meta/conf/distro/include/security_flags.inc b/meta/conf/distro/include/security_flags.inc
index f996ca9be2a..e469eadca1f 100644
--- a/meta/conf/distro/include/security_flags.inc
+++ b/meta/conf/distro/include/security_flags.inc
@@ -32,40 +32,40 @@ SECURITY_LDFLAGS ?= "-Wl,-z,relro,-z,now"
 SECURITY_X_LDFLAGS ?= "-Wl,-z,relro"
 
 # powerpc does not get on with pie for reasons not looked into as yet
-GCCPIE_powerpc = ""
-GLIBCPIE_powerpc = ""
-SECURITY_CFLAGS_remove_powerpc = "${SECURITY_PIE_CFLAGS}"
-SECURITY_CFLAGS_pn-libgcc_powerpc = ""
-
-SECURITY_CFLAGS_pn-glibc = ""
-SECURITY_CFLAGS_pn-glibc-testsuite = ""
-SECURITY_CFLAGS_pn-gcc-runtime = ""
-SECURITY_CFLAGS_pn-grub = ""
-SECURITY_CFLAGS_pn-grub-efi = ""
-SECURITY_CFLAGS_pn-mkelfimage_x86 = ""
-
-SECURITY_CFLAGS_pn-valgrind = "${SECURITY_NOPIE_CFLAGS}"
-SECURITY_LDFLAGS_pn-valgrind = ""
-SECURITY_CFLAGS_pn-sysklogd = "${SECURITY_NOPIE_CFLAGS}"
-SECURITY_LDFLAGS_pn-sysklogd = ""
+GCCPIE:powerpc = ""
+GLIBCPIE:powerpc = ""
+SECURITY_CFLAGS:remove:powerpc = "${SECURITY_PIE_CFLAGS}"
+SECURITY_CFLAGS:pn-libgcc:powerpc = ""
+
+SECURITY_CFLAGS:pn-glibc = ""
+SECURITY_CFLAGS:pn-glibc-testsuite = ""
+SECURITY_CFLAGS:pn-gcc-runtime = ""
+SECURITY_CFLAGS:pn-grub = ""
+SECURITY_CFLAGS:pn-grub-efi = ""
+SECURITY_CFLAGS:pn-mkelfimage:x86 = ""
+
+SECURITY_CFLAGS:pn-valgrind = "${SECURITY_NOPIE_CFLAGS}"
+SECURITY_LDFLAGS:pn-valgrind = ""
+SECURITY_CFLAGS:pn-sysklogd = "${SECURITY_NOPIE_CFLAGS}"
+SECURITY_LDFLAGS:pn-sysklogd = ""
 
 # Recipes which fail to compile when elevating -Wformat-security to an error
-SECURITY_STRINGFORMAT_pn-busybox = ""
-SECURITY_STRINGFORMAT_pn-gcc = ""
+SECURITY_STRINGFORMAT:pn-busybox = ""
+SECURITY_STRINGFORMAT:pn-gcc = ""
 
-TARGET_CC_ARCH_append_class-target = " ${SECURITY_CFLAGS}"
-TARGET_LDFLAGS_append_class-target = " ${SECURITY_LDFLAGS}"
-TARGET_CC_ARCH_append_class-cross-canadian = " ${SECURITY_CFLAGS}"
-TARGET_LDFLAGS_append_class-cross-canadian = " ${SECURITY_LDFLAGS}"
+TARGET_CC_ARCH:append:class-target = " ${SECURITY_CFLAGS}"
+TARGET_LDFLAGS:append:class-target = " ${SECURITY_LDFLAGS}"
+TARGET_CC_ARCH:append:class-cross-canadian = " ${SECURITY_CFLAGS}"
+TARGET_LDFLAGS:append:class-cross-canadian = " ${SECURITY_LDFLAGS}"
 
-SECURITY_STACK_PROTECTOR_pn-gcc-runtime = ""
-SECURITY_STACK_PROTECTOR_pn-glibc = ""
-SECURITY_STACK_PROTECTOR_pn-glibc-testsuite = ""
+SECURITY_STACK_PROTECTOR:pn-gcc-runtime = ""
+SECURITY_STACK_PROTECTOR:pn-glibc = ""
+SECURITY_STACK_PROTECTOR:pn-glibc-testsuite = ""
 # All xorg module drivers need to be linked this way as well and are
 # handled in recipes-graphics/xorg-driver/xorg-driver-common.inc
-SECURITY_LDFLAGS_pn-xserver-xorg = "${SECURITY_X_LDFLAGS}"
+SECURITY_LDFLAGS:pn-xserver-xorg = "${SECURITY_X_LDFLAGS}"
 
-TARGET_CC_ARCH_append_pn-binutils = " ${SELECTED_OPTIMIZATION}"
-TARGET_CC_ARCH_append_pn-gcc = " ${SELECTED_OPTIMIZATION}"
-TARGET_CC_ARCH_append_pn-gdb = " ${SELECTED_OPTIMIZATION}"
-TARGET_CC_ARCH_append_pn-perf = " ${SELECTED_OPTIMIZATION}"
+TARGET_CC_ARCH:append:pn-binutils = " ${SELECTED_OPTIMIZATION}"
+TARGET_CC_ARCH:append:pn-gcc = " ${SELECTED_OPTIMIZATION}"
+TARGET_CC_ARCH:append:pn-gdb = " ${SELECTED_OPTIMIZATION}"
+TARGET_CC_ARCH:append:pn-perf = " ${SELECTED_OPTIMIZATION}"
diff --git a/meta/conf/distro/include/tclibc-baremetal.inc b/meta/conf/distro/include/tclibc-baremetal.inc
index 31d132e1d21..86ff93fbdfb 100644
--- a/meta/conf/distro/include/tclibc-baremetal.inc
+++ b/meta/conf/distro/include/tclibc-baremetal.inc
@@ -18,22 +18,22 @@ USE_NLS ?= "no"
 IMAGE_LINGUAS = ""
 LIBC_DEPENDENCIES = ""
 
-EXTRA_OECONF_pn-gcc-cross-${TARGET_ARCH}_append = " --without-headers"
-DEPENDS_remove_pn-meta-toolchain = "virtual/libc virtual/${TARGET_PREFIX}compilerlibs"
+EXTRA_OECONF:pn-gcc-cross-${TARGET_ARCH}:append = " --without-headers"
+DEPENDS:remove:pn-meta-toolchain = "virtual/libc virtual/${TARGET_PREFIX}compilerlibs"
 
 # certain compiler libs cannot be used without libc, avoid the dependence on compilerlibs
-BASEDEPENDS_remove_class-target = "virtual/${TARGET_PREFIX}compilerlibs"
+BASEDEPENDS:remove:class-target = "virtual/${TARGET_PREFIX}compilerlibs"
 
 TARGET_OS = "elf"
-TARGET_OS_arm = "eabi"
+TARGET_OS:arm = "eabi"
 
 TOOLCHAIN_HOST_TASK ?= "packagegroup-cross-canadian-${MACHINE} nativesdk-qemu"
 TOOLCHAIN_HOST_TASK_ATTEMPTONLY ?= ""
 TOOLCHAIN_TARGET_TASK ?= "libgcc-dev"
-TOOLCHAIN_NEED_CONFIGSITE_CACHE_remove = "virtual/${MLPREFIX}libc zlib ncurses"
+TOOLCHAIN_NEED_CONFIGSITE_CACHE:remove = "virtual/${MLPREFIX}libc zlib ncurses"
 
 # disable stack protector by default (no-libc, no protector implementation)
-SECURITY_STACK_PROTECTOR_libc-baremetal = ""
+SECURITY_STACK_PROTECTOR:libc-baremetal = ""
 # disable pie security flags by default
-SECURITY_CFLAGS_libc-baremetal = "${SECURITY_NOPIE_CFLAGS}"
-SECURITY_LDFLAGS_libc-baremetal = ""
+SECURITY_CFLAGS:libc-baremetal = "${SECURITY_NOPIE_CFLAGS}"
+SECURITY_LDFLAGS:libc-baremetal = ""
diff --git a/meta/conf/distro/include/tclibc-newlib.inc b/meta/conf/distro/include/tclibc-newlib.inc
index bf89b112889..e3590582d9b 100644
--- a/meta/conf/distro/include/tclibc-newlib.inc
+++ b/meta/conf/distro/include/tclibc-newlib.inc
@@ -33,15 +33,15 @@ ASSUME_PROVIDED += "virtual/crypt"
 
 # Its useful to be able to extend newlib, but we dont provide a native variant of libgloss
 NEWLIB_EXTENDED ?=  "libgloss libgcc"
-BASE_DEFAULT_DEPS_append_class-target = " ${NEWLIB_EXTENDED}"
+BASE_DEFAULT_DEPS:append:class-target = " ${NEWLIB_EXTENDED}"
 
 TARGET_OS = "elf"
-TARGET_OS_arm = "eabi"
+TARGET_OS:arm = "eabi"
 
 TOOLCHAIN_HOST_TASK ?= "packagegroup-cross-canadian-${MACHINE} nativesdk-qemu"
 TOOLCHAIN_TARGET_TASK ?= "${LIBC_DEPENDENCIES}"
-TOOLCHAIN_NEED_CONFIGSITE_CACHE_remove = "zlib ncurses"
+TOOLCHAIN_NEED_CONFIGSITE_CACHE:remove = "zlib ncurses"
 
 # disable pie security flags by default
-SECURITY_CFLAGS_libc-newlib = "${SECURITY_NOPIE_CFLAGS}"
-SECURITY_LDFLAGS_libc-newlib = ""
+SECURITY_CFLAGS:libc-newlib = "${SECURITY_NOPIE_CFLAGS}"
+SECURITY_LDFLAGS:libc-newlib = ""
diff --git a/meta/conf/distro/include/uninative-flags.inc b/meta/conf/distro/include/uninative-flags.inc
index febf2a53e52..4638a7b4e98 100644
--- a/meta/conf/distro/include/uninative-flags.inc
+++ b/meta/conf/distro/include/uninative-flags.inc
@@ -4,4 +4,4 @@
 # We therefore enable pie unconditionally for native recipes where static libs are
 # used such as libiberty from binutils, for now, until our minimum distro set is
 # all default pie.
-BUILD_CFLAGS_append_pn-binutils-native = " -pie -fpie"
+BUILD_CFLAGS:append:pn-binutils-native = " -pie -fpie"
diff --git a/meta/conf/image-uefi.conf b/meta/conf/image-uefi.conf
index 6ef011e23b4..04a151f3a4d 100644
--- a/meta/conf/image-uefi.conf
+++ b/meta/conf/image-uefi.conf
@@ -10,12 +10,12 @@ EFI_FILES_PATH = "${EFI_PREFIX}${EFIDIR}"
 
 # The EFI name for the architecture
 EFI_ARCH ?= "INVALID"
-EFI_ARCH_x86 = "ia32"
-EFI_ARCH_x86-64 = "x64"
-EFI_ARCH_aarch64 = "aa64"
-EFI_ARCH_arm = "arm"
-EFI_ARCH_riscv32 = "riscv32"
-EFI_ARCH_riscv64 = "riscv64"
+EFI_ARCH:x86 = "ia32"
+EFI_ARCH:x86-64 = "x64"
+EFI_ARCH:aarch64 = "aa64"
+EFI_ARCH:arm = "arm"
+EFI_ARCH:riscv32 = "riscv32"
+EFI_ARCH:riscv64 = "riscv64"
 
 # Determine name of bootloader image
 EFI_BOOT_IMAGE ?= "boot${EFI_ARCH}.efi"
diff --git a/meta/conf/local.conf.sample b/meta/conf/local.conf.sample
index 9caac6e1526..fea10907d1d 100644
--- a/meta/conf/local.conf.sample
+++ b/meta/conf/local.conf.sample
@@ -205,8 +205,8 @@ BB_DISKMON_DIRS ??= "\
 # seen. The two lines below enable the SDL backend too. By default libsdl2-native will
 # be built, if you want to use your host's libSDL instead of the minimal libsdl built
 # by libsdl2-native then uncomment the ASSUME_PROVIDED line below.
-PACKAGECONFIG_append_pn-qemu-system-native = " sdl"
-PACKAGECONFIG_append_pn-nativesdk-qemu = " sdl"
+PACKAGECONFIG:append:pn-qemu-system-native = " sdl"
+PACKAGECONFIG:append:pn-nativesdk-qemu = " sdl"
 #ASSUME_PROVIDED += "libsdl2-native"
 
 #
diff --git a/meta/conf/machine-sdk/aarch64.conf b/meta/conf/machine-sdk/aarch64.conf
index 98d8380ecba..4a285cf6cb6 100644
--- a/meta/conf/machine-sdk/aarch64.conf
+++ b/meta/conf/machine-sdk/aarch64.conf
@@ -1,2 +1,2 @@
 SDK_ARCH = "aarch64"
-ABIEXTENSION_class-nativesdk = ""
+ABIEXTENSION:class-nativesdk = ""
diff --git a/meta/conf/machine-sdk/i586.conf b/meta/conf/machine-sdk/i586.conf
index 41e5e159d1a..05e826965ea 100644
--- a/meta/conf/machine-sdk/i586.conf
+++ b/meta/conf/machine-sdk/i586.conf
@@ -1,4 +1,4 @@
 SDK_ARCH = "i586"
 SDK_CC_ARCH = "-march=i586"
-ABIEXTENSION_class-nativesdk = ""
+ABIEXTENSION:class-nativesdk = ""
 
diff --git a/meta/conf/machine-sdk/i686.conf b/meta/conf/machine-sdk/i686.conf
index fe406972c85..22f580e70f0 100644
--- a/meta/conf/machine-sdk/i686.conf
+++ b/meta/conf/machine-sdk/i686.conf
@@ -1,3 +1,3 @@
 SDK_ARCH = "i686"
 SDK_CC_ARCH = "-march=i686"
-ABIEXTENSION_class-nativesdk = ""
+ABIEXTENSION:class-nativesdk = ""
diff --git a/meta/conf/machine-sdk/ppc64.conf b/meta/conf/machine-sdk/ppc64.conf
index 1eb064eef0c..b41325dfe78 100644
--- a/meta/conf/machine-sdk/ppc64.conf
+++ b/meta/conf/machine-sdk/ppc64.conf
@@ -1,2 +1,2 @@
 SDK_ARCH = "ppc64"
-ABIEXTENSION_class-nativesdk = ""
+ABIEXTENSION:class-nativesdk = ""
diff --git a/meta/conf/machine-sdk/ppc64le.conf b/meta/conf/machine-sdk/ppc64le.conf
index 0eebc5853c1..db1f863496e 100644
--- a/meta/conf/machine-sdk/ppc64le.conf
+++ b/meta/conf/machine-sdk/ppc64le.conf
@@ -1,2 +1,2 @@
 SDK_ARCH = "ppc64le"
-ABIEXTENSION_class-nativesdk = ""
+ABIEXTENSION:class-nativesdk = ""
diff --git a/meta/conf/machine-sdk/x86_64.conf b/meta/conf/machine-sdk/x86_64.conf
index 61439b4fb07..8d494b261e0 100644
--- a/meta/conf/machine-sdk/x86_64.conf
+++ b/meta/conf/machine-sdk/x86_64.conf
@@ -1,2 +1,2 @@
 SDK_ARCH = "x86_64"
-ABIEXTENSION_class-nativesdk = ""
+ABIEXTENSION:class-nativesdk = ""
diff --git a/meta/conf/machine/include/README b/meta/conf/machine/include/README
index d66130acbcd..3ae68231d0f 100644
--- a/meta/conf/machine/include/README
+++ b/meta/conf/machine/include/README
@@ -31,10 +31,10 @@ TUNECONFLICTS[feature] - A list of features which conflict with <feature>.
 New sanity checks will try to reject combinations in which a single
 tuning ends up with features which conflict with each other.
 
-TUNE_FEATURES - This is automatically defined as TUNE_FEATURES_tune-<tune>.
-See TUNE_FEATURES_tune-<tune> for more information.
+TUNE_FEATURES - This is automatically defined as TUNE_FEATURES:tune-<tune>.
+See TUNE_FEATURES:tune-<tune> for more information.
 
-TUNE_FEATURES_tune-<tune> - Specify the features used to describe a
+TUNE_FEATURES:tune-<tune> - Specify the features used to describe a
 specific tune.  This is a list of features that a tune support, each
 feature must be in the TUNEVALID list.  Note: the tune and a given
 feature name may be the same, but they have different purposes.  Only
@@ -66,10 +66,10 @@ CPU family.
 
 PACKAGE_EXTRA_ARCHS - Lists all runtime compatible package
 architectures.  By default this is equal to
-PACKAGE_EXTRA_ARCHS_tune-<tune>.  If an architecture deviates from the
+PACKAGE_EXTRA_ARCHS:tune-<tune>.  If an architecture deviates from the
 default it will be listed in the architecture README.
 
-PACKAGE_EXTRA_ARCHS_tune-<tune> - List all of the package architectures
+PACKAGE_EXTRA_ARCHS:tune-<tune> - List all of the package architectures
 that are compatible with this specific tune.  The package arch of this
 tune must be in the list.
 
@@ -79,7 +79,7 @@ architecture specific floating point.  This is synchronized with the
 compiler and other toolchain items.  This should be dynamically
 configured in the same way that TUNE_CCARGS is.
 
-BASE_LIB_tune-<tune> - The "/lib" location for a specific ABI.  This is
+BASE_LIB:tune-<tune> - The "/lib" location for a specific ABI.  This is
 used in a multilib configuration to place the libraries in the correct,
 non-conflicting locations.
 
diff --git a/meta/conf/machine/include/arm/README b/meta/conf/machine/include/arm/README
index a1beb75fdf8..c5637798e6f 100644
--- a/meta/conf/machine/include/arm/README
+++ b/meta/conf/machine/include/arm/README
@@ -10,7 +10,7 @@ of the existence of the "bigendian" feature in a given tune.
 
 A small set of ARM specific variables have been defined to allow 
 TUNE_PKGARCH to be automatically defined.  Optimized tunings must NOT 
-change the definiton of TUNE_PKGARCH.  TUNE_PKGACH_tune-<tune> will be 
+change the definiton of TUNE_PKGARCH.  TUNE_PKGACH:tune-<tune> will be 
 ignored.  The format of the package arch is enforced by the TUNE_PKGARCH
 default.  The format must be of the form:
 <armversion>[t][e][hf][b][-vfp][-neon]
diff --git a/meta/conf/machine/include/arm/arch-arm.inc b/meta/conf/machine/include/arm/arch-arm.inc
index 99625d8417f..869089051cb 100644
--- a/meta/conf/machine/include/arm/arch-arm.inc
+++ b/meta/conf/machine/include/arm/arch-arm.inc
@@ -1,7 +1,7 @@
 
 TUNEVALID[bigendian] = "Enable big-endian mode."
 
-ARMPKGARCH = "${ARMPKGARCH_tune-${DEFAULTTUNE}}"
+ARMPKGARCH = "${ARMPKGARCH:tune-${DEFAULTTUNE}}"
 ARMPKGSFX_ENDIAN = "${@bb.utils.contains('TUNE_FEATURES', 'bigendian', 'b', '', d)}"
 ARMPKGSFX_FPU ??= ""
 ARMPKGSFX_DSP ??= ""
diff --git a/meta/conf/machine/include/arm/arch-arm64.inc b/meta/conf/machine/include/arm/arch-arm64.inc
index eab3323ec6c..0e2efb5a40f 100644
--- a/meta/conf/machine/include/arm/arch-arm64.inc
+++ b/meta/conf/machine/include/arm/arch-arm64.inc
@@ -9,17 +9,17 @@ MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'aarch64', 'aarch64:'
 
 # Little Endian base configs
 AVAILTUNES += "aarch64 aarch64_be"
-ARMPKGARCH_tune-aarch64 ?= "aarch64"
-ARMPKGARCH_tune-aarch64_be ?= "aarch64"
-TUNE_FEATURES_tune-aarch64 = "aarch64"
-TUNE_FEATURES_tune-aarch64_be = "${TUNE_FEATURES_tune-aarch64} bigendian"
-TUNE_PKGARCH_64_tune-aarch64 = "aarch64"
-TUNE_PKGARCH_64_tune-aarch64_be = "aarch64_be"
-BASE_LIB_tune-aarch64 = "lib64"
-BASE_LIB_tune-aarch64_be = "lib64"
-
-PACKAGE_EXTRA_ARCHS_tune-aarch64 = "aarch64"
-PACKAGE_EXTRA_ARCHS_tune-aarch64_be = "aarch64_be"
+ARMPKGARCH:tune-aarch64 ?= "aarch64"
+ARMPKGARCH:tune-aarch64_be ?= "aarch64"
+TUNE_FEATURES:tune-aarch64 = "aarch64"
+TUNE_FEATURES:tune-aarch64_be = "${TUNE_FEATURES:tune-aarch64} bigendian"
+TUNE_PKGARCH_64:tune-aarch64 = "aarch64"
+TUNE_PKGARCH_64:tune-aarch64_be = "aarch64_be"
+BASE_LIB:tune-aarch64 = "lib64"
+BASE_LIB:tune-aarch64_be = "lib64"
+
+PACKAGE_EXTRA_ARCHS:tune-aarch64 = "aarch64"
+PACKAGE_EXTRA_ARCHS:tune-aarch64_be = "aarch64_be"
 
 ARMPKGSFX_ENDIAN_64 = "${@bb.utils.contains('TUNE_FEATURES', 'bigendian', '_be', '', d)}"
 TUNE_ARCH_64 = "aarch64${ARMPKGSFX_ENDIAN_64}"
diff --git a/meta/conf/machine/include/arm/arch-armv4.inc b/meta/conf/machine/include/arm/arch-armv4.inc
index b71739c20ab..4f4a63b2874 100644
--- a/meta/conf/machine/include/arm/arch-armv4.inc
+++ b/meta/conf/machine/include/arm/arch-armv4.inc
@@ -17,18 +17,18 @@ require conf/machine/include/arm/feature-arm-thumb.inc
 
 # Little Endian
 AVAILTUNES += "armv4 armv4t"
-ARMPKGARCH_tune-armv4  ?= "armv4"
-ARMPKGARCH_tune-armv4t ?= "armv4"
-TUNE_FEATURES_tune-armv4  = "arm armv4"
-TUNE_FEATURES_tune-armv4t = "${TUNE_FEATURES_tune-armv4} thumb"
-PACKAGE_EXTRA_ARCHS_tune-armv4  = "arm armv4"
-PACKAGE_EXTRA_ARCHS_tune-armv4t = "${PACKAGE_EXTRA_ARCHS_tune-armv4} armv4t"
+ARMPKGARCH:tune-armv4  ?= "armv4"
+ARMPKGARCH:tune-armv4t ?= "armv4"
+TUNE_FEATURES:tune-armv4  = "arm armv4"
+TUNE_FEATURES:tune-armv4t = "${TUNE_FEATURES:tune-armv4} thumb"
+PACKAGE_EXTRA_ARCHS:tune-armv4  = "arm armv4"
+PACKAGE_EXTRA_ARCHS:tune-armv4t = "${PACKAGE_EXTRA_ARCHS:tune-armv4} armv4t"
 
 # Big Endian
 AVAILTUNES += "armv4b armv4tb"
-ARMPKGARCH_tune-armv4b  ?= "armv4"
-ARMPKGARCH_tune-armv4tb ?= "armv4"
-TUNE_FEATURES_tune-armv4b  = "${TUNE_FEATURES_tune-armv4}  bigendian"
-TUNE_FEATURES_tune-armv4tb = "${TUNE_FEATURES_tune-armv4t} bigendian"
-PACKAGE_EXTRA_ARCHS_tune-armv4b  = "armeb armv4b"
-PACKAGE_EXTRA_ARCHS_tune-armv4tb = "${PACKAGE_EXTRA_ARCHS_tune-armv4b} armv4tb"
+ARMPKGARCH:tune-armv4b  ?= "armv4"
+ARMPKGARCH:tune-armv4tb ?= "armv4"
+TUNE_FEATURES:tune-armv4b  = "${TUNE_FEATURES:tune-armv4}  bigendian"
+TUNE_FEATURES:tune-armv4tb = "${TUNE_FEATURES:tune-armv4t} bigendian"
+PACKAGE_EXTRA_ARCHS:tune-armv4b  = "armeb armv4b"
+PACKAGE_EXTRA_ARCHS:tune-armv4tb = "${PACKAGE_EXTRA_ARCHS:tune-armv4b} armv4tb"
diff --git a/meta/conf/machine/include/arm/arch-armv5-dsp.inc b/meta/conf/machine/include/arm/arch-armv5-dsp.inc
index d117af15203..d296e827cf6 100644
--- a/meta/conf/machine/include/arm/arch-armv5-dsp.inc
+++ b/meta/conf/machine/include/arm/arch-armv5-dsp.inc
@@ -5,48 +5,48 @@ require conf/machine/include/arm/arch-armv5.inc
 
 # Little Endian
 AVAILTUNES += "armv5e armv5te"
-ARMPKGARCH_tune-armv5e  ?= "armv5"
-ARMPKGARCH_tune-armv5te ?= "armv5"
-TUNE_FEATURES_tune-armv5e  = "${TUNE_FEATURES_tune-armv5} dsp"
-TUNE_FEATURES_tune-armv5te = "${TUNE_FEATURES_tune-armv5t} dsp"
-PACKAGE_EXTRA_ARCHS_tune-armv5e  = "${PACKAGE_EXTRA_ARCHS_tune-armv5} armv5e"
-PACKAGE_EXTRA_ARCHS_tune-armv5te = "${PACKAGE_EXTRA_ARCHS_tune-armv5t} armv5e armv5te"
+ARMPKGARCH:tune-armv5e  ?= "armv5"
+ARMPKGARCH:tune-armv5te ?= "armv5"
+TUNE_FEATURES:tune-armv5e  = "${TUNE_FEATURES:tune-armv5} dsp"
+TUNE_FEATURES:tune-armv5te = "${TUNE_FEATURES:tune-armv5t} dsp"
+PACKAGE_EXTRA_ARCHS:tune-armv5e  = "${PACKAGE_EXTRA_ARCHS:tune-armv5} armv5e"
+PACKAGE_EXTRA_ARCHS:tune-armv5te = "${PACKAGE_EXTRA_ARCHS:tune-armv5t} armv5e armv5te"
 
 # Little Endian + VFP/DSP
 AVAILTUNES += "armv5e-vfp armv5te-vfp armv5ehf-vfp armv5tehf-vfp"
-ARMPKGARCH_tune-armv5e-vfp    ?= "armv5"
-ARMPKGARCH_tune-armv5te-vfp   ?= "armv5"
-ARMPKGARCH_tune-armv5ehf-vfp  ?= "armv5"
-ARMPKGARCH_tune-armv5tehf-vfp ?= "armv5"
-TUNE_FEATURES_tune-armv5e-vfp    = "${TUNE_FEATURES_tune-armv5e} vfp"
-TUNE_FEATURES_tune-armv5te-vfp   = "${TUNE_FEATURES_tune-armv5te} vfp"
-TUNE_FEATURES_tune-armv5ehf-vfp  = "${TUNE_FEATURES_tune-armv5e-vfp} callconvention-hard"
-TUNE_FEATURES_tune-armv5tehf-vfp = "${TUNE_FEATURES_tune-armv5te-vfp} callconvention-hard"
-PACKAGE_EXTRA_ARCHS_tune-armv5e-vfp    = "${PACKAGE_EXTRA_ARCHS_tune-armv5-vfp} armv5e armv5e-vfp"
-PACKAGE_EXTRA_ARCHS_tune-armv5te-vfp   = "${PACKAGE_EXTRA_ARCHS_tune-armv5t-vfp} armv5e armv5te armv5e-vfp armv5te-vfp"
-PACKAGE_EXTRA_ARCHS_tune-armv5ehf-vfp  = "${PACKAGE_EXTRA_ARCHS_tune-armv5hf-vfp} armv5ehf-vfp"
-PACKAGE_EXTRA_ARCHS_tune-armv5tehf-vfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5thf-vfp} armv5ehf-vfp armv5tehf-vfp"
+ARMPKGARCH:tune-armv5e-vfp    ?= "armv5"
+ARMPKGARCH:tune-armv5te-vfp   ?= "armv5"
+ARMPKGARCH:tune-armv5ehf-vfp  ?= "armv5"
+ARMPKGARCH:tune-armv5tehf-vfp ?= "armv5"
+TUNE_FEATURES:tune-armv5e-vfp    = "${TUNE_FEATURES:tune-armv5e} vfp"
+TUNE_FEATURES:tune-armv5te-vfp   = "${TUNE_FEATURES:tune-armv5te} vfp"
+TUNE_FEATURES:tune-armv5ehf-vfp  = "${TUNE_FEATURES:tune-armv5e-vfp} callconvention-hard"
+TUNE_FEATURES:tune-armv5tehf-vfp = "${TUNE_FEATURES:tune-armv5te-vfp} callconvention-hard"
+PACKAGE_EXTRA_ARCHS:tune-armv5e-vfp    = "${PACKAGE_EXTRA_ARCHS:tune-armv5-vfp} armv5e armv5e-vfp"
+PACKAGE_EXTRA_ARCHS:tune-armv5te-vfp   = "${PACKAGE_EXTRA_ARCHS:tune-armv5t-vfp} armv5e armv5te armv5e-vfp armv5te-vfp"
+PACKAGE_EXTRA_ARCHS:tune-armv5ehf-vfp  = "${PACKAGE_EXTRA_ARCHS:tune-armv5hf-vfp} armv5ehf-vfp"
+PACKAGE_EXTRA_ARCHS:tune-armv5tehf-vfp = "${PACKAGE_EXTRA_ARCHS:tune-armv5thf-vfp} armv5ehf-vfp armv5tehf-vfp"
 
 # Big Endian
 AVAILTUNES += "armv5eb armv5teb"
-ARMPKGARCH_tune-armv5eb  ?= "armv5"
-ARMPKGARCH_tune-armv5teb ?= "armv5"
-TUNE_FEATURES_tune-armv5eb  = "${TUNE_FEATURES_tune-armv5e} bigendian"
-TUNE_FEATURES_tune-armv5teb = "${TUNE_FEATURES_tune-armv5te} bigendian"
-PACKAGE_EXTRA_ARCHS_tune-armv5eb  = "${PACKAGE_EXTRA_ARCHS_tune-armv5b} armv5eb"
-PACKAGE_EXTRA_ARCHS_tune-armv5teb = "${PACKAGE_EXTRA_ARCHS_tune-armv5tb} armv5eb armv5teb"
+ARMPKGARCH:tune-armv5eb  ?= "armv5"
+ARMPKGARCH:tune-armv5teb ?= "armv5"
+TUNE_FEATURES:tune-armv5eb  = "${TUNE_FEATURES:tune-armv5e} bigendian"
+TUNE_FEATURES:tune-armv5teb = "${TUNE_FEATURES:tune-armv5te} bigendian"
+PACKAGE_EXTRA_ARCHS:tune-armv5eb  = "${PACKAGE_EXTRA_ARCHS:tune-armv5b} armv5eb"
+PACKAGE_EXTRA_ARCHS:tune-armv5teb = "${PACKAGE_EXTRA_ARCHS:tune-armv5tb} armv5eb armv5teb"
 
 # Big Endian + VFP/DSP
 AVAILTUNES += "armv5eb-vfp armv5teb-vfp armv5ehfb-vfp armv5tehfb-vfp"
-ARMPKGARCH_tune-armv5eb-vfp    ?= "armv5"
-ARMPKGARCH_tune-armv5teb-vfp   ?= "armv5"
-ARMPKGARCH_tune-armv5ehfb-vfp  ?= "armv5"
-ARMPKGARCH_tune-armv5tehfb-vfp ?= "armv5"
-TUNE_FEATURES_tune-armv5eb-vfp    = "${TUNE_FEATURES_tune-armv5e-vfp} bigendian"
-TUNE_FEATURES_tune-armv5teb-vfp   = "${TUNE_FEATURES_tune-armv5te-vfp} bigendian"
-TUNE_FEATURES_tune-armv5ehfb-vfp  = "${TUNE_FEATURES_tune-armv5ehf-vfp} bigendian"
-TUNE_FEATURES_tune-armv5tehfb-vfp = "${TUNE_FEATURES_tune-armv5tehf-vfp} bigendian"
-PACKAGE_EXTRA_ARCHS_tune-armv5eb-vfp    = "${PACKAGE_EXTRA_ARCHS_tune-armv5b-vfp} armv5eb armv5eb-vfp"
-PACKAGE_EXTRA_ARCHS_tune-armv5teb-vfp   = "${PACKAGE_EXTRA_ARCHS_tune-armv5tb-vfp} armv5eb armv5teb armv5eb-vfp armv5teb-vfp"
-PACKAGE_EXTRA_ARCHS_tune-armv5ehfb-vfp  = "${PACKAGE_EXTRA_ARCHS_tune-armv5hfb-vfp} armv5ehfb-vfp"
-PACKAGE_EXTRA_ARCHS_tune-armv5tehfb-vfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5thfb-vfp} armv5ehfb-vfp armv5tehfb-vfp"
+ARMPKGARCH:tune-armv5eb-vfp    ?= "armv5"
+ARMPKGARCH:tune-armv5teb-vfp   ?= "armv5"
+ARMPKGARCH:tune-armv5ehfb-vfp  ?= "armv5"
+ARMPKGARCH:tune-armv5tehfb-vfp ?= "armv5"
+TUNE_FEATURES:tune-armv5eb-vfp    = "${TUNE_FEATURES:tune-armv5e-vfp} bigendian"
+TUNE_FEATURES:tune-armv5teb-vfp   = "${TUNE_FEATURES:tune-armv5te-vfp} bigendian"
+TUNE_FEATURES:tune-armv5ehfb-vfp  = "${TUNE_FEATURES:tune-armv5ehf-vfp} bigendian"
+TUNE_FEATURES:tune-armv5tehfb-vfp = "${TUNE_FEATURES:tune-armv5tehf-vfp} bigendian"
+PACKAGE_EXTRA_ARCHS:tune-armv5eb-vfp    = "${PACKAGE_EXTRA_ARCHS:tune-armv5b-vfp} armv5eb armv5eb-vfp"
+PACKAGE_EXTRA_ARCHS:tune-armv5teb-vfp   = "${PACKAGE_EXTRA_ARCHS:tune-armv5tb-vfp} armv5eb armv5teb armv5eb-vfp armv5teb-vfp"
+PACKAGE_EXTRA_ARCHS:tune-armv5ehfb-vfp  = "${PACKAGE_EXTRA_ARCHS:tune-armv5hfb-vfp} armv5ehfb-vfp"
+PACKAGE_EXTRA_ARCHS:tune-armv5tehfb-vfp = "${PACKAGE_EXTRA_ARCHS:tune-armv5thfb-vfp} armv5ehfb-vfp armv5tehfb-vfp"
diff --git a/meta/conf/machine/include/arm/arch-armv5.inc b/meta/conf/machine/include/arm/arch-armv5.inc
index 52d85901651..5f46992098e 100644
--- a/meta/conf/machine/include/arm/arch-armv5.inc
+++ b/meta/conf/machine/include/arm/arch-armv5.inc
@@ -10,48 +10,48 @@ require conf/machine/include/arm/feature-arm-vfp.inc
 
 # Little Endian
 AVAILTUNES += "armv5 armv5t"
-ARMPKGARCH_tune-armv5  ?= "armv5"
-ARMPKGARCH_tune-armv5t ?= "armv5"
-TUNE_FEATURES_tune-armv5  = "arm armv5"
-TUNE_FEATURES_tune-armv5t = "${TUNE_FEATURES_tune-armv5} thumb"
-PACKAGE_EXTRA_ARCHS_tune-armv5  = "${PACKAGE_EXTRA_ARCHS_tune-armv4} armv5"
-PACKAGE_EXTRA_ARCHS_tune-armv5t = "${PACKAGE_EXTRA_ARCHS_tune-armv4t} armv5 armv5t"
+ARMPKGARCH:tune-armv5  ?= "armv5"
+ARMPKGARCH:tune-armv5t ?= "armv5"
+TUNE_FEATURES:tune-armv5  = "arm armv5"
+TUNE_FEATURES:tune-armv5t = "${TUNE_FEATURES:tune-armv5} thumb"
+PACKAGE_EXTRA_ARCHS:tune-armv5  = "${PACKAGE_EXTRA_ARCHS:tune-armv4} armv5"
+PACKAGE_EXTRA_ARCHS:tune-armv5t = "${PACKAGE_EXTRA_ARCHS:tune-armv4t} armv5 armv5t"
 
 # Little Endian + VFP/DSP
 AVAILTUNES += "armv5-vfp armv5t-vfp armv5hf-vfp armv5thf-vfp"
-ARMPKGARCH_tune-armv5-vfp    ?= "armv5"
-ARMPKGARCH_tune-armv5t-vfp   ?= "armv5"
-ARMPKGARCH_tune-armv5hf-vfp  ?= "armv5"
-ARMPKGARCH_tune-armv5thf-vfp ?= "armv5"
-TUNE_FEATURES_tune-armv5-vfp    = "${TUNE_FEATURES_tune-armv5} vfp"
-TUNE_FEATURES_tune-armv5t-vfp   = "${TUNE_FEATURES_tune-armv5t} vfp"
-TUNE_FEATURES_tune-armv5hf-vfp  = "${TUNE_FEATURES_tune-armv5-vfp} callconvention-hard"
-TUNE_FEATURES_tune-armv5thf-vfp = "${TUNE_FEATURES_tune-armv5t-vfp} callconvention-hard"
-PACKAGE_EXTRA_ARCHS_tune-armv5-vfp     = "${PACKAGE_EXTRA_ARCHS_tune-armv5} armv5-vfp"
-PACKAGE_EXTRA_ARCHS_tune-armv5t-vfp    = "${PACKAGE_EXTRA_ARCHS_tune-armv5t} armv5-vfp armv5t-vfp"
-PACKAGE_EXTRA_ARCHS_tune-armv5hf-vfp   = "armv5hf-vfp"
-PACKAGE_EXTRA_ARCHS_tune-armv5thf-vfp  = "armv5hf-vfp armv5thf-vfp"
+ARMPKGARCH:tune-armv5-vfp    ?= "armv5"
+ARMPKGARCH:tune-armv5t-vfp   ?= "armv5"
+ARMPKGARCH:tune-armv5hf-vfp  ?= "armv5"
+ARMPKGARCH:tune-armv5thf-vfp ?= "armv5"
+TUNE_FEATURES:tune-armv5-vfp    = "${TUNE_FEATURES:tune-armv5} vfp"
+TUNE_FEATURES:tune-armv5t-vfp   = "${TUNE_FEATURES:tune-armv5t} vfp"
+TUNE_FEATURES:tune-armv5hf-vfp  = "${TUNE_FEATURES:tune-armv5-vfp} callconvention-hard"
+TUNE_FEATURES:tune-armv5thf-vfp = "${TUNE_FEATURES:tune-armv5t-vfp} callconvention-hard"
+PACKAGE_EXTRA_ARCHS:tune-armv5-vfp     = "${PACKAGE_EXTRA_ARCHS:tune-armv5} armv5-vfp"
+PACKAGE_EXTRA_ARCHS:tune-armv5t-vfp    = "${PACKAGE_EXTRA_ARCHS:tune-armv5t} armv5-vfp armv5t-vfp"
+PACKAGE_EXTRA_ARCHS:tune-armv5hf-vfp   = "armv5hf-vfp"
+PACKAGE_EXTRA_ARCHS:tune-armv5thf-vfp  = "armv5hf-vfp armv5thf-vfp"
 
 # Big Endian
 AVAILTUNES += "armv5b armv5tb"
-ARMPKGARCH_tune-armv5b  ?= "armv5"
-ARMPKGARCH_tune-armv5tb ?= "armv5"
-TUNE_FEATURES_tune-armv5b  = "${TUNE_FEATURES_tune-armv5} bigendian"
-TUNE_FEATURES_tune-armv5tb = "${TUNE_FEATURES_tune-armv5t} bigendian"
-PACKAGE_EXTRA_ARCHS_tune-armv5b  = "${PACKAGE_EXTRA_ARCHS_tune-armv4b} armv5b"
-PACKAGE_EXTRA_ARCHS_tune-armv5tb = "${PACKAGE_EXTRA_ARCHS_tune-armv4tb} armv5b armv5tb"
+ARMPKGARCH:tune-armv5b  ?= "armv5"
+ARMPKGARCH:tune-armv5tb ?= "armv5"
+TUNE_FEATURES:tune-armv5b  = "${TUNE_FEATURES:tune-armv5} bigendian"
+TUNE_FEATURES:tune-armv5tb = "${TUNE_FEATURES:tune-armv5t} bigendian"
+PACKAGE_EXTRA_ARCHS:tune-armv5b  = "${PACKAGE_EXTRA_ARCHS:tune-armv4b} armv5b"
+PACKAGE_EXTRA_ARCHS:tune-armv5tb = "${PACKAGE_EXTRA_ARCHS:tune-armv4tb} armv5b armv5tb"
 
 # Big Endian + VFP/DSP
 AVAILTUNES += "armv5b-vfp armv5tb-vfp armv5hfb-vfp armv5thfb-vfp"
-ARMPKGARCH_tune-armv5b-vfp    ?= "armv5"
-ARMPKGARCH_tune-armv5tb-vfp   ?= "armv5"
-ARMPKGARCH_tune-armv5hfb-vfp  ?= "armv5"
-ARMPKGARCH_tune-armv5thfb-vfp ?= "armv5"
-TUNE_FEATURES_tune-armv5b-vfp    = "${TUNE_FEATURES_tune-armv5-vfp} bigendian"
-TUNE_FEATURES_tune-armv5tb-vfp   = "${TUNE_FEATURES_tune-armv5t-vfp} bigendian"
-TUNE_FEATURES_tune-armv5hfb-vfp  = "${TUNE_FEATURES_tune-armv5hf-vfp} bigendian"
-TUNE_FEATURES_tune-armv5thfb-vfp = "${TUNE_FEATURES_tune-armv5thf-vfp} bigendian"
-PACKAGE_EXTRA_ARCHS_tune-armv5b-vfp    = "${PACKAGE_EXTRA_ARCHS_tune-armv5b} armv5b-vfp"
-PACKAGE_EXTRA_ARCHS_tune-armv5tb-vfp   = "${PACKAGE_EXTRA_ARCHS_tune-armv5tb} armv5b-vfp armv5tb-vfp"
-PACKAGE_EXTRA_ARCHS_tune-armv5hfb-vfp  = "armv5hfb-vfp"
-PACKAGE_EXTRA_ARCHS_tune-armv5thfb-vfp = "armv5hfb-vfp armv5thfb-vfp"
+ARMPKGARCH:tune-armv5b-vfp    ?= "armv5"
+ARMPKGARCH:tune-armv5tb-vfp   ?= "armv5"
+ARMPKGARCH:tune-armv5hfb-vfp  ?= "armv5"
+ARMPKGARCH:tune-armv5thfb-vfp ?= "armv5"
+TUNE_FEATURES:tune-armv5b-vfp    = "${TUNE_FEATURES:tune-armv5-vfp} bigendian"
+TUNE_FEATURES:tune-armv5tb-vfp   = "${TUNE_FEATURES:tune-armv5t-vfp} bigendian"
+TUNE_FEATURES:tune-armv5hfb-vfp  = "${TUNE_FEATURES:tune-armv5hf-vfp} bigendian"
+TUNE_FEATURES:tune-armv5thfb-vfp = "${TUNE_FEATURES:tune-armv5thf-vfp} bigendian"
+PACKAGE_EXTRA_ARCHS:tune-armv5b-vfp    = "${PACKAGE_EXTRA_ARCHS:tune-armv5b} armv5b-vfp"
+PACKAGE_EXTRA_ARCHS:tune-armv5tb-vfp   = "${PACKAGE_EXTRA_ARCHS:tune-armv5tb} armv5b-vfp armv5tb-vfp"
+PACKAGE_EXTRA_ARCHS:tune-armv5hfb-vfp  = "armv5hfb-vfp"
+PACKAGE_EXTRA_ARCHS:tune-armv5thfb-vfp = "armv5hfb-vfp armv5thfb-vfp"
diff --git a/meta/conf/machine/include/arm/arch-armv6.inc b/meta/conf/machine/include/arm/arch-armv6.inc
index 7531890e2eb..9d2e112b715 100644
--- a/meta/conf/machine/include/arm/arch-armv6.inc
+++ b/meta/conf/machine/include/arm/arch-armv6.inc
@@ -9,42 +9,42 @@ require conf/machine/include/arm/arch-armv5-dsp.inc
 
 # Little Endian
 AVAILTUNES += "armv6-novfp armv6t-novfp armv6 armv6t armv6hf armv6thf"
-ARMPKGARCH_tune-armv6-novfp  ?= "armv6"
-ARMPKGARCH_tune-armv6t-novfp ?= "armv6"
-ARMPKGARCH_tune-armv6        ?= "armv6"
-ARMPKGARCH_tune-armv6t       ?= "armv6"
-ARMPKGARCH_tune-armv6hf      ?= "armv6"
-ARMPKGARCH_tune-armv6thf     ?= "armv6"
-TUNE_FEATURES_tune-armv6-novfp  = "arm armv6"
-TUNE_FEATURES_tune-armv6t-novfp = "${TUNE_FEATURES_tune-armv6-novfp} thumb"
-TUNE_FEATURES_tune-armv6        = "${TUNE_FEATURES_tune-armv6-novfp} vfp"
-TUNE_FEATURES_tune-armv6t       = "${TUNE_FEATURES_tune-armv6t-novfp} vfp"
-TUNE_FEATURES_tune-armv6hf      = "${TUNE_FEATURES_tune-armv6} callconvention-hard"
-TUNE_FEATURES_tune-armv6thf     = "${TUNE_FEATURES_tune-armv6t} callconvention-hard"
-PACKAGE_EXTRA_ARCHS_tune-armv6-novfp  = "${PACKAGE_EXTRA_ARCHS_tune-armv5e} armv6"
-PACKAGE_EXTRA_ARCHS_tune-armv6t-novfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5te} armv6 armv6t"
-PACKAGE_EXTRA_ARCHS_tune-armv6        = "${PACKAGE_EXTRA_ARCHS_tune-armv5e-vfp} armv6 armv6-vfp"
-PACKAGE_EXTRA_ARCHS_tune-armv6t       = "${PACKAGE_EXTRA_ARCHS_tune-armv5te-vfp} armv6 armv6t armv6-vfp armv6t-vfp"
-PACKAGE_EXTRA_ARCHS_tune-armv6hf      = "${PACKAGE_EXTRA_ARCHS_tune-armv5ehf-vfp} armv6hf-vfp"
-PACKAGE_EXTRA_ARCHS_tune-armv6thf     = "${PACKAGE_EXTRA_ARCHS_tune-armv5tehf-vfp} armv6hf-vfp armv6thf-vfp"
+ARMPKGARCH:tune-armv6-novfp  ?= "armv6"
+ARMPKGARCH:tune-armv6t-novfp ?= "armv6"
+ARMPKGARCH:tune-armv6        ?= "armv6"
+ARMPKGARCH:tune-armv6t       ?= "armv6"
+ARMPKGARCH:tune-armv6hf      ?= "armv6"
+ARMPKGARCH:tune-armv6thf     ?= "armv6"
+TUNE_FEATURES:tune-armv6-novfp  = "arm armv6"
+TUNE_FEATURES:tune-armv6t-novfp = "${TUNE_FEATURES:tune-armv6-novfp} thumb"
+TUNE_FEATURES:tune-armv6        = "${TUNE_FEATURES:tune-armv6-novfp} vfp"
+TUNE_FEATURES:tune-armv6t       = "${TUNE_FEATURES:tune-armv6t-novfp} vfp"
+TUNE_FEATURES:tune-armv6hf      = "${TUNE_FEATURES:tune-armv6} callconvention-hard"
+TUNE_FEATURES:tune-armv6thf     = "${TUNE_FEATURES:tune-armv6t} callconvention-hard"
+PACKAGE_EXTRA_ARCHS:tune-armv6-novfp  = "${PACKAGE_EXTRA_ARCHS:tune-armv5e} armv6"
+PACKAGE_EXTRA_ARCHS:tune-armv6t-novfp = "${PACKAGE_EXTRA_ARCHS:tune-armv5te} armv6 armv6t"
+PACKAGE_EXTRA_ARCHS:tune-armv6        = "${PACKAGE_EXTRA_ARCHS:tune-armv5e-vfp} armv6 armv6-vfp"
+PACKAGE_EXTRA_ARCHS:tune-armv6t       = "${PACKAGE_EXTRA_ARCHS:tune-armv5te-vfp} armv6 armv6t armv6-vfp armv6t-vfp"
+PACKAGE_EXTRA_ARCHS:tune-armv6hf      = "${PACKAGE_EXTRA_ARCHS:tune-armv5ehf-vfp} armv6hf-vfp"
+PACKAGE_EXTRA_ARCHS:tune-armv6thf     = "${PACKAGE_EXTRA_ARCHS:tune-armv5tehf-vfp} armv6hf-vfp armv6thf-vfp"
 
 # Big Endian
 AVAILTUNES += "armv6b-novfp armv6tb-novfp armv6b armv6tb armv6hfb armv6thfb"
-ARMPKGARCH_tune-armv6b-novfp  ?= "armv6"
-ARMPKGARCH_tune-armv6tb-novfp ?= "armv6"
-ARMPKGARCH_tune-armv6b        ?= "armv6"
-ARMPKGARCH_tune-armv6tb       ?= "armv6"
-ARMPKGARCH_tune-armv6hfb      ?= "armv6"
-ARMPKGARCH_tune-armv6thfb     ?= "armv6"
-TUNE_FEATURES_tune-armv6b-novfp  = "${TUNE_FEATURES_tune-armv6-novfp} bigendian"
-TUNE_FEATURES_tune-armv6tb-novfp = "${TUNE_FEATURES_tune-armv6t-novfp} bigendian"
-TUNE_FEATURES_tune-armv6b =        "${TUNE_FEATURES_tune-armv6} bigendian"
-TUNE_FEATURES_tune-armv6tb =       "${TUNE_FEATURES_tune-armv6t} bigendian"
-TUNE_FEATURES_tune-armv6hfb =      "${TUNE_FEATURES_tune-armv6hf} bigendian"
-TUNE_FEATURES_tune-armv6thfb =     "${TUNE_FEATURES_tune-armv6thf} bigendian"
-PACKAGE_EXTRA_ARCHS_tune-armv6b-novfp  = "${PACKAGE_EXTRA_ARCHS_tune-armv5eb} armv6b"
-PACKAGE_EXTRA_ARCHS_tune-armv6tb-novfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5teb} armv6b armv6tb"
-PACKAGE_EXTRA_ARCHS_tune-armv6b        = "${PACKAGE_EXTRA_ARCHS_tune-armv5eb-vfp} armv6b armv6b-vfp"
-PACKAGE_EXTRA_ARCHS_tune-armv6tb       = "${PACKAGE_EXTRA_ARCHS_tune-armv5teb-vfp} armv6b armv6tb armv6b-vfp armv6tb-vfp"
-PACKAGE_EXTRA_ARCHS_tune-armv6hfb      = "${PACKAGE_EXTRA_ARCHS_tune-armv5ehfb-vfp} armv6hfb-vfp"
-PACKAGE_EXTRA_ARCHS_tune-armv6thfb     = "${PACKAGE_EXTRA_ARCHS_tune-armv5tehfb-vfp} armv6hfb-vfp armv6thfb-vfp"
+ARMPKGARCH:tune-armv6b-novfp  ?= "armv6"
+ARMPKGARCH:tune-armv6tb-novfp ?= "armv6"
+ARMPKGARCH:tune-armv6b        ?= "armv6"
+ARMPKGARCH:tune-armv6tb       ?= "armv6"
+ARMPKGARCH:tune-armv6hfb      ?= "armv6"
+ARMPKGARCH:tune-armv6thfb     ?= "armv6"
+TUNE_FEATURES:tune-armv6b-novfp  = "${TUNE_FEATURES:tune-armv6-novfp} bigendian"
+TUNE_FEATURES:tune-armv6tb-novfp = "${TUNE_FEATURES:tune-armv6t-novfp} bigendian"
+TUNE_FEATURES:tune-armv6b =        "${TUNE_FEATURES:tune-armv6} bigendian"
+TUNE_FEATURES:tune-armv6tb =       "${TUNE_FEATURES:tune-armv6t} bigendian"
+TUNE_FEATURES:tune-armv6hfb =      "${TUNE_FEATURES:tune-armv6hf} bigendian"
+TUNE_FEATURES:tune-armv6thfb =     "${TUNE_FEATURES:tune-armv6thf} bigendian"
+PACKAGE_EXTRA_ARCHS:tune-armv6b-novfp  = "${PACKAGE_EXTRA_ARCHS:tune-armv5eb} armv6b"
+PACKAGE_EXTRA_ARCHS:tune-armv6tb-novfp = "${PACKAGE_EXTRA_ARCHS:tune-armv5teb} armv6b armv6tb"
+PACKAGE_EXTRA_ARCHS:tune-armv6b        = "${PACKAGE_EXTRA_ARCHS:tune-armv5eb-vfp} armv6b armv6b-vfp"
+PACKAGE_EXTRA_ARCHS:tune-armv6tb       = "${PACKAGE_EXTRA_ARCHS:tune-armv5teb-vfp} armv6b armv6tb armv6b-vfp armv6tb-vfp"
+PACKAGE_EXTRA_ARCHS:tune-armv6hfb      = "${PACKAGE_EXTRA_ARCHS:tune-armv5ehfb-vfp} armv6hfb-vfp"
+PACKAGE_EXTRA_ARCHS:tune-armv6thfb     = "${PACKAGE_EXTRA_ARCHS:tune-armv5tehfb-vfp} armv6hfb-vfp armv6thfb-vfp"
diff --git a/meta/conf/machine/include/arm/arch-armv6m.inc b/meta/conf/machine/include/arm/arch-armv6m.inc
index 739550d0051..e7ca665a029 100644
--- a/meta/conf/machine/include/arm/arch-armv6m.inc
+++ b/meta/conf/machine/include/arm/arch-armv6m.inc
@@ -14,6 +14,6 @@ require conf/machine/include/arm/arch-armv5.inc
 
 # Little Endian
 AVAILTUNES += "armv6m"
-ARMPKGARCH_tune-armv6m             = "armv6m"
-TUNE_FEATURES_tune-armv6m          = "armv6m"
-PACKAGE_EXTRA_ARCHS_tune-armv6m    = "armv6m"
+ARMPKGARCH:tune-armv6m             = "armv6m"
+TUNE_FEATURES:tune-armv6m          = "armv6m"
+PACKAGE_EXTRA_ARCHS:tune-armv6m    = "armv6m"
diff --git a/meta/conf/machine/include/arm/arch-armv7a.inc b/meta/conf/machine/include/arm/arch-armv7a.inc
index ce87af5306c..0f83cee37c4 100644
--- a/meta/conf/machine/include/arm/arch-armv7a.inc
+++ b/meta/conf/machine/include/arm/arch-armv7a.inc
@@ -11,156 +11,156 @@ require conf/machine/include/arm/feature-arm-neon.inc
 
 # Little Endian base configs
 AVAILTUNES += "armv7a armv7at armv7a-vfpv3d16 armv7at-vfpv3d16 armv7a-vfpv3 armv7at-vfpv3 armv7a-vfpv4d16 armv7at-vfpv4d16 armv7a-neon armv7at-neon armv7a-neon-vfpv4 armv7at-neon-vfpv4"
-ARMPKGARCH_tune-armv7a             ?= "armv7a"
-ARMPKGARCH_tune-armv7at            ?= "armv7a"
-ARMPKGARCH_tune-armv7a-vfpv3d16    ?= "armv7a"
-ARMPKGARCH_tune-armv7at-vfpv3d16   ?= "armv7a"
-ARMPKGARCH_tune-armv7a-vfpv3       ?= "armv7a"
-ARMPKGARCH_tune-armv7at-vfpv3      ?= "armv7a"
-ARMPKGARCH_tune-armv7a-vfpv4d16    ?= "armv7a"
-ARMPKGARCH_tune-armv7at-vfpv4d16   ?= "armv7a"
-ARMPKGARCH_tune-armv7a-neon        ?= "armv7a"
-ARMPKGARCH_tune-armv7at-neon       ?= "armv7a"
-ARMPKGARCH_tune-armv7a-neon-vfpv4  ?= "armv7a"
-ARMPKGARCH_tune-armv7at-neon-vfpv4 ?= "armv7a"
-TUNE_FEATURES_tune-armv7a             = "arm armv7a vfp"
-TUNE_FEATURES_tune-armv7at            = "${TUNE_FEATURES_tune-armv7a} thumb"
-TUNE_FEATURES_tune-armv7a-vfpv3d16    = "${TUNE_FEATURES_tune-armv7a} vfpv3d16"
-TUNE_FEATURES_tune-armv7at-vfpv3d16   = "${TUNE_FEATURES_tune-armv7at} vfpv3d16"
-TUNE_FEATURES_tune-armv7a-vfpv3       = "${TUNE_FEATURES_tune-armv7a-vfpv3d16} vfpv3"
-TUNE_FEATURES_tune-armv7at-vfpv3      = "${TUNE_FEATURES_tune-armv7at-vfpv3d16} vfpv3"
-TUNE_FEATURES_tune-armv7a-vfpv4d16    = "${TUNE_FEATURES_tune-armv7a} vfpv4d16"
-TUNE_FEATURES_tune-armv7at-vfpv4d16   = "${TUNE_FEATURES_tune-armv7at} vfpv4d16"
-TUNE_FEATURES_tune-armv7a-neon        = "${TUNE_FEATURES_tune-armv7a} neon"
-TUNE_FEATURES_tune-armv7at-neon       = "${TUNE_FEATURES_tune-armv7at} neon"
-TUNE_FEATURES_tune-armv7a-neon-vfpv4  = "${TUNE_FEATURES_tune-armv7a-neon} vfpv4"
-TUNE_FEATURES_tune-armv7at-neon-vfpv4 = "${TUNE_FEATURES_tune-armv7at-neon} vfpv4"
-PACKAGE_EXTRA_ARCHS_tune-armv7a             = "${PACKAGE_EXTRA_ARCHS_tune-armv6} armv7a armv7a-vfp"
-PACKAGE_EXTRA_ARCHS_tune-armv7at            = "${PACKAGE_EXTRA_ARCHS_tune-armv6t} armv7a armv7a-vfp armv7at2-vfp"
-PACKAGE_EXTRA_ARCHS_tune-armv7a-vfpv3d16    = "${PACKAGE_EXTRA_ARCHS_tune-armv7a} armv7a-vfpv3d16"
-PACKAGE_EXTRA_ARCHS_tune-armv7at-vfpv3d16   = "${PACKAGE_EXTRA_ARCHS_tune-armv7at} armv7a-vfpv3d16 armv7at2-vfpv3d16"
-PACKAGE_EXTRA_ARCHS_tune-armv7a-vfpv3       = "${PACKAGE_EXTRA_ARCHS_tune-armv7a-vfpv3d16} armv7a-vfpv3"
-PACKAGE_EXTRA_ARCHS_tune-armv7at-vfpv3      = "${PACKAGE_EXTRA_ARCHS_tune-armv7at-vfpv3d16} armv7a-vfpv3 armv7at2-vfpv3"
-PACKAGE_EXTRA_ARCHS_tune-armv7a-vfpv4d16    = "${PACKAGE_EXTRA_ARCHS_tune-armv7a} armv7a-vfpv4d16"
-PACKAGE_EXTRA_ARCHS_tune-armv7at-vfpv4d16   = "${PACKAGE_EXTRA_ARCHS_tune-armv7at} armv7a-vfpv4d16 armv7at2-vfpv4d16"
-PACKAGE_EXTRA_ARCHS_tune-armv7a-neon        = "${PACKAGE_EXTRA_ARCHS_tune-armv7a} armv7a-neon"
-PACKAGE_EXTRA_ARCHS_tune-armv7at-neon       = "${PACKAGE_EXTRA_ARCHS_tune-armv7at} armv7a-neon armv7at2-neon"
-PACKAGE_EXTRA_ARCHS_tune-armv7a-neon-vfpv4  = "${PACKAGE_EXTRA_ARCHS_tune-armv7a-neon} armv7a-neon-vfpv4"
-PACKAGE_EXTRA_ARCHS_tune-armv7at-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS_tune-armv7at-neon} armv7a-neon-vfpv4 armv7at2-neon-vfpv4"
+ARMPKGARCH:tune-armv7a             ?= "armv7a"
+ARMPKGARCH:tune-armv7at            ?= "armv7a"
+ARMPKGARCH:tune-armv7a-vfpv3d16    ?= "armv7a"
+ARMPKGARCH:tune-armv7at-vfpv3d16   ?= "armv7a"
+ARMPKGARCH:tune-armv7a-vfpv3       ?= "armv7a"
+ARMPKGARCH:tune-armv7at-vfpv3      ?= "armv7a"
+ARMPKGARCH:tune-armv7a-vfpv4d16    ?= "armv7a"
+ARMPKGARCH:tune-armv7at-vfpv4d16   ?= "armv7a"
+ARMPKGARCH:tune-armv7a-neon        ?= "armv7a"
+ARMPKGARCH:tune-armv7at-neon       ?= "armv7a"
+ARMPKGARCH:tune-armv7a-neon-vfpv4  ?= "armv7a"
+ARMPKGARCH:tune-armv7at-neon-vfpv4 ?= "armv7a"
+TUNE_FEATURES:tune-armv7a             = "arm armv7a vfp"
+TUNE_FEATURES:tune-armv7at            = "${TUNE_FEATURES:tune-armv7a} thumb"
+TUNE_FEATURES:tune-armv7a-vfpv3d16    = "${TUNE_FEATURES:tune-armv7a} vfpv3d16"
+TUNE_FEATURES:tune-armv7at-vfpv3d16   = "${TUNE_FEATURES:tune-armv7at} vfpv3d16"
+TUNE_FEATURES:tune-armv7a-vfpv3       = "${TUNE_FEATURES:tune-armv7a-vfpv3d16} vfpv3"
+TUNE_FEATURES:tune-armv7at-vfpv3      = "${TUNE_FEATURES:tune-armv7at-vfpv3d16} vfpv3"
+TUNE_FEATURES:tune-armv7a-vfpv4d16    = "${TUNE_FEATURES:tune-armv7a} vfpv4d16"
+TUNE_FEATURES:tune-armv7at-vfpv4d16   = "${TUNE_FEATURES:tune-armv7at} vfpv4d16"
+TUNE_FEATURES:tune-armv7a-neon        = "${TUNE_FEATURES:tune-armv7a} neon"
+TUNE_FEATURES:tune-armv7at-neon       = "${TUNE_FEATURES:tune-armv7at} neon"
+TUNE_FEATURES:tune-armv7a-neon-vfpv4  = "${TUNE_FEATURES:tune-armv7a-neon} vfpv4"
+TUNE_FEATURES:tune-armv7at-neon-vfpv4 = "${TUNE_FEATURES:tune-armv7at-neon} vfpv4"
+PACKAGE_EXTRA_ARCHS:tune-armv7a             = "${PACKAGE_EXTRA_ARCHS:tune-armv6} armv7a armv7a-vfp"
+PACKAGE_EXTRA_ARCHS:tune-armv7at            = "${PACKAGE_EXTRA_ARCHS:tune-armv6t} armv7a armv7a-vfp armv7at2-vfp"
+PACKAGE_EXTRA_ARCHS:tune-armv7a-vfpv3d16    = "${PACKAGE_EXTRA_ARCHS:tune-armv7a} armv7a-vfpv3d16"
+PACKAGE_EXTRA_ARCHS:tune-armv7at-vfpv3d16   = "${PACKAGE_EXTRA_ARCHS:tune-armv7at} armv7a-vfpv3d16 armv7at2-vfpv3d16"
+PACKAGE_EXTRA_ARCHS:tune-armv7a-vfpv3       = "${PACKAGE_EXTRA_ARCHS:tune-armv7a-vfpv3d16} armv7a-vfpv3"
+PACKAGE_EXTRA_ARCHS:tune-armv7at-vfpv3      = "${PACKAGE_EXTRA_ARCHS:tune-armv7at-vfpv3d16} armv7a-vfpv3 armv7at2-vfpv3"
+PACKAGE_EXTRA_ARCHS:tune-armv7a-vfpv4d16    = "${PACKAGE_EXTRA_ARCHS:tune-armv7a} armv7a-vfpv4d16"
+PACKAGE_EXTRA_ARCHS:tune-armv7at-vfpv4d16   = "${PACKAGE_EXTRA_ARCHS:tune-armv7at} armv7a-vfpv4d16 armv7at2-vfpv4d16"
+PACKAGE_EXTRA_ARCHS:tune-armv7a-neon        = "${PACKAGE_EXTRA_ARCHS:tune-armv7a} armv7a-neon"
+PACKAGE_EXTRA_ARCHS:tune-armv7at-neon       = "${PACKAGE_EXTRA_ARCHS:tune-armv7at} armv7a-neon armv7at2-neon"
+PACKAGE_EXTRA_ARCHS:tune-armv7a-neon-vfpv4  = "${PACKAGE_EXTRA_ARCHS:tune-armv7a-neon} armv7a-neon-vfpv4"
+PACKAGE_EXTRA_ARCHS:tune-armv7at-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7at-neon} armv7a-neon-vfpv4 armv7at2-neon-vfpv4"
 
 # HF Tunes
 AVAILTUNES += "armv7ahf armv7athf armv7ahf-vfpv3d16 armv7athf-vfpv3d16 armv7ahf-vfpv3 armv7athf-vfpv3 armv7ahf-vfpv4d16 armv7athf-vfpv4d16 armv7ahf-neon armv7athf-neon armv7ahf-neon-vfpv4 armv7athf-neon-vfpv4"
-ARMPKGARCH_tune-armv7ahf             ?= "armv7a"
-ARMPKGARCH_tune-armv7athf            ?= "armv7a"
-ARMPKGARCH_tune-armv7ahf-vfpv3d16    ?= "armv7a"
-ARMPKGARCH_tune-armv7athf-vfpv3d16   ?= "armv7a"
-ARMPKGARCH_tune-armv7ahf-vfpv3       ?= "armv7a"
-ARMPKGARCH_tune-armv7athf-vfpv3      ?= "armv7a"
-ARMPKGARCH_tune-armv7ahf-vfpv4d16    ?= "armv7a"
-ARMPKGARCH_tune-armv7athf-vfpv4d16   ?= "armv7a"
-ARMPKGARCH_tune-armv7ahf-neon        ?= "armv7a"
-ARMPKGARCH_tune-armv7athf-neon       ?= "armv7a"
-ARMPKGARCH_tune-armv7ahf-neon-vfpv4  ?= "armv7a"
-ARMPKGARCH_tune-armv7athf-neon-vfpv4 ?= "armv7a"
-TUNE_FEATURES_tune-armv7ahf             = "${TUNE_FEATURES_tune-armv7a} callconvention-hard"
-TUNE_FEATURES_tune-armv7athf            = "${TUNE_FEATURES_tune-armv7at} callconvention-hard"
-TUNE_FEATURES_tune-armv7ahf-vfpv3d16    = "${TUNE_FEATURES_tune-armv7a-vfpv3d16} callconvention-hard"
-TUNE_FEATURES_tune-armv7athf-vfpv3d16   = "${TUNE_FEATURES_tune-armv7at-vfpv3d16} callconvention-hard"
-TUNE_FEATURES_tune-armv7ahf-vfpv3       = "${TUNE_FEATURES_tune-armv7a-vfpv3} callconvention-hard"
-TUNE_FEATURES_tune-armv7athf-vfpv3      = "${TUNE_FEATURES_tune-armv7at-vfpv3} callconvention-hard"
-TUNE_FEATURES_tune-armv7ahf-vfpv4d16    = "${TUNE_FEATURES_tune-armv7a-vfpv4d16} callconvention-hard"
-TUNE_FEATURES_tune-armv7athf-vfpv4d16   = "${TUNE_FEATURES_tune-armv7at-vfpv4d16} callconvention-hard"
-TUNE_FEATURES_tune-armv7ahf-neon        = "${TUNE_FEATURES_tune-armv7a-neon} callconvention-hard"
-TUNE_FEATURES_tune-armv7athf-neon       = "${TUNE_FEATURES_tune-armv7at-neon} callconvention-hard"
-TUNE_FEATURES_tune-armv7ahf-neon-vfpv4  = "${TUNE_FEATURES_tune-armv7a-neon-vfpv4} callconvention-hard"
-TUNE_FEATURES_tune-armv7athf-neon-vfpv4 = "${TUNE_FEATURES_tune-armv7at-neon-vfpv4} callconvention-hard"
-PACKAGE_EXTRA_ARCHS_tune-armv7ahf             = "${PACKAGE_EXTRA_ARCHS_tune-armv6hf} armv7ahf-vfp"
-PACKAGE_EXTRA_ARCHS_tune-armv7athf            = "${PACKAGE_EXTRA_ARCHS_tune-armv6thf} armv7ahf-vfp armv7at2hf-vfp"
-PACKAGE_EXTRA_ARCHS_tune-armv7ahf-vfpv3d16    = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf} armv7ahf-vfpv3d16"
-PACKAGE_EXTRA_ARCHS_tune-armv7athf-vfpv3d16   = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf} armv7ahf-vfpv3d16 armv7at2hf-vfpv3d16"
-PACKAGE_EXTRA_ARCHS_tune-armv7ahf-vfpv3       = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf-vfpv3d16} armv7ahf-vfpv3"
-PACKAGE_EXTRA_ARCHS_tune-armv7athf-vfpv3      = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf-vfpv3d16} armv7ahf-vfpv3 armv7at2hf-vfpv3"
-PACKAGE_EXTRA_ARCHS_tune-armv7ahf-vfpv4d16    = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf} armv7ahf-vfpv4d16"
-PACKAGE_EXTRA_ARCHS_tune-armv7athf-vfpv4d16   = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf} armv7ahf-vfpv4d16 armv7at2hf-vfpv4d16"
-PACKAGE_EXTRA_ARCHS_tune-armv7ahf-neon        = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf} armv7ahf-neon"
-PACKAGE_EXTRA_ARCHS_tune-armv7athf-neon       = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf} armv7ahf-neon armv7at2hf-neon"
-PACKAGE_EXTRA_ARCHS_tune-armv7ahf-neon-vfpv4  = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf-neon} armv7ahf-neon-vfpv4"
-PACKAGE_EXTRA_ARCHS_tune-armv7athf-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf-neon} armv7ahf-neon-vfpv4 armv7at2hf-neon-vfpv4"
+ARMPKGARCH:tune-armv7ahf             ?= "armv7a"
+ARMPKGARCH:tune-armv7athf            ?= "armv7a"
+ARMPKGARCH:tune-armv7ahf-vfpv3d16    ?= "armv7a"
+ARMPKGARCH:tune-armv7athf-vfpv3d16   ?= "armv7a"
+ARMPKGARCH:tune-armv7ahf-vfpv3       ?= "armv7a"
+ARMPKGARCH:tune-armv7athf-vfpv3      ?= "armv7a"
+ARMPKGARCH:tune-armv7ahf-vfpv4d16    ?= "armv7a"
+ARMPKGARCH:tune-armv7athf-vfpv4d16   ?= "armv7a"
+ARMPKGARCH:tune-armv7ahf-neon        ?= "armv7a"
+ARMPKGARCH:tune-armv7athf-neon       ?= "armv7a"
+ARMPKGARCH:tune-armv7ahf-neon-vfpv4  ?= "armv7a"
+ARMPKGARCH:tune-armv7athf-neon-vfpv4 ?= "armv7a"
+TUNE_FEATURES:tune-armv7ahf             = "${TUNE_FEATURES:tune-armv7a} callconvention-hard"
+TUNE_FEATURES:tune-armv7athf            = "${TUNE_FEATURES:tune-armv7at} callconvention-hard"
+TUNE_FEATURES:tune-armv7ahf-vfpv3d16    = "${TUNE_FEATURES:tune-armv7a-vfpv3d16} callconvention-hard"
+TUNE_FEATURES:tune-armv7athf-vfpv3d16   = "${TUNE_FEATURES:tune-armv7at-vfpv3d16} callconvention-hard"
+TUNE_FEATURES:tune-armv7ahf-vfpv3       = "${TUNE_FEATURES:tune-armv7a-vfpv3} callconvention-hard"
+TUNE_FEATURES:tune-armv7athf-vfpv3      = "${TUNE_FEATURES:tune-armv7at-vfpv3} callconvention-hard"
+TUNE_FEATURES:tune-armv7ahf-vfpv4d16    = "${TUNE_FEATURES:tune-armv7a-vfpv4d16} callconvention-hard"
+TUNE_FEATURES:tune-armv7athf-vfpv4d16   = "${TUNE_FEATURES:tune-armv7at-vfpv4d16} callconvention-hard"
+TUNE_FEATURES:tune-armv7ahf-neon        = "${TUNE_FEATURES:tune-armv7a-neon} callconvention-hard"
+TUNE_FEATURES:tune-armv7athf-neon       = "${TUNE_FEATURES:tune-armv7at-neon} callconvention-hard"
+TUNE_FEATURES:tune-armv7ahf-neon-vfpv4  = "${TUNE_FEATURES:tune-armv7a-neon-vfpv4} callconvention-hard"
+TUNE_FEATURES:tune-armv7athf-neon-vfpv4 = "${TUNE_FEATURES:tune-armv7at-neon-vfpv4} callconvention-hard"
+PACKAGE_EXTRA_ARCHS:tune-armv7ahf             = "${PACKAGE_EXTRA_ARCHS:tune-armv6hf} armv7ahf-vfp"
+PACKAGE_EXTRA_ARCHS:tune-armv7athf            = "${PACKAGE_EXTRA_ARCHS:tune-armv6thf} armv7ahf-vfp armv7at2hf-vfp"
+PACKAGE_EXTRA_ARCHS:tune-armv7ahf-vfpv3d16    = "${PACKAGE_EXTRA_ARCHS:tune-armv7ahf} armv7ahf-vfpv3d16"
+PACKAGE_EXTRA_ARCHS:tune-armv7athf-vfpv3d16   = "${PACKAGE_EXTRA_ARCHS:tune-armv7athf} armv7ahf-vfpv3d16 armv7at2hf-vfpv3d16"
+PACKAGE_EXTRA_ARCHS:tune-armv7ahf-vfpv3       = "${PACKAGE_EXTRA_ARCHS:tune-armv7ahf-vfpv3d16} armv7ahf-vfpv3"
+PACKAGE_EXTRA_ARCHS:tune-armv7athf-vfpv3      = "${PACKAGE_EXTRA_ARCHS:tune-armv7athf-vfpv3d16} armv7ahf-vfpv3 armv7at2hf-vfpv3"
+PACKAGE_EXTRA_ARCHS:tune-armv7ahf-vfpv4d16    = "${PACKAGE_EXTRA_ARCHS:tune-armv7ahf} armv7ahf-vfpv4d16"
+PACKAGE_EXTRA_ARCHS:tune-armv7athf-vfpv4d16   = "${PACKAGE_EXTRA_ARCHS:tune-armv7athf} armv7ahf-vfpv4d16 armv7at2hf-vfpv4d16"
+PACKAGE_EXTRA_ARCHS:tune-armv7ahf-neon        = "${PACKAGE_EXTRA_ARCHS:tune-armv7ahf} armv7ahf-neon"
+PACKAGE_EXTRA_ARCHS:tune-armv7athf-neon       = "${PACKAGE_EXTRA_ARCHS:tune-armv7athf} armv7ahf-neon armv7at2hf-neon"
+PACKAGE_EXTRA_ARCHS:tune-armv7ahf-neon-vfpv4  = "${PACKAGE_EXTRA_ARCHS:tune-armv7ahf-neon} armv7ahf-neon-vfpv4"
+PACKAGE_EXTRA_ARCHS:tune-armv7athf-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7athf-neon} armv7ahf-neon-vfpv4 armv7at2hf-neon-vfpv4"
 
 # Big Endian
 AVAILTUNES += "armv7ab armv7atb armv7ab-vfpv3d16 armv7atb-vfpv3d16 armv7ab-vfpv3 armv7atb-vfpv3 armv7ab-vfpv4d16 armv7atb-vfpv4d16 armv7ab-neon armv7atb-neon armv7ab-neon-vfpv4 armv7atb-neon-vfpv4"
-ARMPKGARCH_tune-armv7ab             ?= "armv7a"
-ARMPKGARCH_tune-armv7atb            ?= "armv7a"
-ARMPKGARCH_tune-armv7ab-vfpv3d16    ?= "armv7a"
-ARMPKGARCH_tune-armv7atb-vfpv3d16   ?= "armv7a"
-ARMPKGARCH_tune-armv7ab-vfpv3       ?= "armv7a"
-ARMPKGARCH_tune-armv7atb-vfpv3      ?= "armv7a"
-ARMPKGARCH_tune-armv7ab-vfpv4d16    ?= "armv7a"
-ARMPKGARCH_tune-armv7atb-vfpv4d16   ?= "armv7a"
-ARMPKGARCH_tune-armv7ab-neon        ?= "armv7a"
-ARMPKGARCH_tune-armv7atb-neon       ?= "armv7a"
-ARMPKGARCH_tune-armv7ab-neon-vfpv4  ?= "armv7a"
-ARMPKGARCH_tune-armv7atb-neon-vfpv4 ?= "armv7a"
-TUNE_FEATURES_tune-armv7ab             = "${TUNE_FEATURES_tune-armv7a} bigendian"
-TUNE_FEATURES_tune-armv7atb            = "${TUNE_FEATURES_tune-armv7at} bigendian"
-TUNE_FEATURES_tune-armv7ab-vfpv3d16    = "${TUNE_FEATURES_tune-armv7a-vfpv3d16} bigendian"
-TUNE_FEATURES_tune-armv7atb-vfpv3d16   = "${TUNE_FEATURES_tune-armv7at-vfpv3d16} bigendian"
-TUNE_FEATURES_tune-armv7ab-vfpv3       = "${TUNE_FEATURES_tune-armv7a-vfpv3} bigendian"
-TUNE_FEATURES_tune-armv7atb-vfpv3      = "${TUNE_FEATURES_tune-armv7at-vfpv3} bigendian"
-TUNE_FEATURES_tune-armv7ab-vfpv4d16    = "${TUNE_FEATURES_tune-armv7a-vfpv4d16} bigendian"
-TUNE_FEATURES_tune-armv7atb-vfpv4d16   = "${TUNE_FEATURES_tune-armv7at-vfpv4d16} bigendian"
-TUNE_FEATURES_tune-armv7ab-neon        = "${TUNE_FEATURES_tune-armv7a-neon} bigendian"
-TUNE_FEATURES_tune-armv7atb-neon       = "${TUNE_FEATURES_tune-armv7at-neon} bigendian"
-TUNE_FEATURES_tune-armv7ab-neon-vfpv4  = "${TUNE_FEATURES_tune-armv7a-neon-vfpv4} bigendian"
-TUNE_FEATURES_tune-armv7atb-neon-vfpv4 = "${TUNE_FEATURES_tune-armv7at-neon-vfpv4} bigendian"
-PACKAGE_EXTRA_ARCHS_tune-armv7ab             = "${PACKAGE_EXTRA_ARCHS_tune-armv6b} armv7ab-vfp"
-PACKAGE_EXTRA_ARCHS_tune-armv7atb            = "${PACKAGE_EXTRA_ARCHS_tune-armv6tb} armv7ab-vfp armv7at2b-vfp"
-PACKAGE_EXTRA_ARCHS_tune-armv7ab-vfpv3d16    = "${PACKAGE_EXTRA_ARCHS_tune-armv7ab} armv7ab-vfpv3d16"
-PACKAGE_EXTRA_ARCHS_tune-armv7atb-vfpv3d16   = "${PACKAGE_EXTRA_ARCHS_tune-armv7atb} armv7ab-vfpv3d16 armv7at2b-vfpv3d16"
-PACKAGE_EXTRA_ARCHS_tune-armv7ab-vfpv3       = "${PACKAGE_EXTRA_ARCHS_tune-armv7ab-vfpv3d16} armv7ab-vfpv3"
-PACKAGE_EXTRA_ARCHS_tune-armv7atb-vfpv3      = "${PACKAGE_EXTRA_ARCHS_tune-armv7atb-vfpv3d16} armv7ab-vfpv3 armv7at2b-vfpv3"
-PACKAGE_EXTRA_ARCHS_tune-armv7ab-vfpv4d16    = "${PACKAGE_EXTRA_ARCHS_tune-armv7ab} armv7ab-vfpv4d16"
-PACKAGE_EXTRA_ARCHS_tune-armv7atb-vfpv4d16   = "${PACKAGE_EXTRA_ARCHS_tune-armv7atb} armv7ab-vfpv4d16 armv7at2b-vfpv4d16"
-PACKAGE_EXTRA_ARCHS_tune-armv7ab-neon        = "${PACKAGE_EXTRA_ARCHS_tune-armv7ab} armv7ab-neon"
-PACKAGE_EXTRA_ARCHS_tune-armv7atb-neon       = "${PACKAGE_EXTRA_ARCHS_tune-armv7atb} armv7ab-neon armv7at2b-neon"
-PACKAGE_EXTRA_ARCHS_tune-armv7ab-neon-vfpv4  = "${PACKAGE_EXTRA_ARCHS_tune-armv7ab-neon} armv7ab-neon-vfpv4"
-PACKAGE_EXTRA_ARCHS_tune-armv7atb-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS_tune-armv7atb-neon} armv7ab-neon-vfpv4 armv7at2b-neon-vfpv4"
+ARMPKGARCH:tune-armv7ab             ?= "armv7a"
+ARMPKGARCH:tune-armv7atb            ?= "armv7a"
+ARMPKGARCH:tune-armv7ab-vfpv3d16    ?= "armv7a"
+ARMPKGARCH:tune-armv7atb-vfpv3d16   ?= "armv7a"
+ARMPKGARCH:tune-armv7ab-vfpv3       ?= "armv7a"
+ARMPKGARCH:tune-armv7atb-vfpv3      ?= "armv7a"
+ARMPKGARCH:tune-armv7ab-vfpv4d16    ?= "armv7a"
+ARMPKGARCH:tune-armv7atb-vfpv4d16   ?= "armv7a"
+ARMPKGARCH:tune-armv7ab-neon        ?= "armv7a"
+ARMPKGARCH:tune-armv7atb-neon       ?= "armv7a"
+ARMPKGARCH:tune-armv7ab-neon-vfpv4  ?= "armv7a"
+ARMPKGARCH:tune-armv7atb-neon-vfpv4 ?= "armv7a"
+TUNE_FEATURES:tune-armv7ab             = "${TUNE_FEATURES:tune-armv7a} bigendian"
+TUNE_FEATURES:tune-armv7atb            = "${TUNE_FEATURES:tune-armv7at} bigendian"
+TUNE_FEATURES:tune-armv7ab-vfpv3d16    = "${TUNE_FEATURES:tune-armv7a-vfpv3d16} bigendian"
+TUNE_FEATURES:tune-armv7atb-vfpv3d16   = "${TUNE_FEATURES:tune-armv7at-vfpv3d16} bigendian"
+TUNE_FEATURES:tune-armv7ab-vfpv3       = "${TUNE_FEATURES:tune-armv7a-vfpv3} bigendian"
+TUNE_FEATURES:tune-armv7atb-vfpv3      = "${TUNE_FEATURES:tune-armv7at-vfpv3} bigendian"
+TUNE_FEATURES:tune-armv7ab-vfpv4d16    = "${TUNE_FEATURES:tune-armv7a-vfpv4d16} bigendian"
+TUNE_FEATURES:tune-armv7atb-vfpv4d16   = "${TUNE_FEATURES:tune-armv7at-vfpv4d16} bigendian"
+TUNE_FEATURES:tune-armv7ab-neon        = "${TUNE_FEATURES:tune-armv7a-neon} bigendian"
+TUNE_FEATURES:tune-armv7atb-neon       = "${TUNE_FEATURES:tune-armv7at-neon} bigendian"
+TUNE_FEATURES:tune-armv7ab-neon-vfpv4  = "${TUNE_FEATURES:tune-armv7a-neon-vfpv4} bigendian"
+TUNE_FEATURES:tune-armv7atb-neon-vfpv4 = "${TUNE_FEATURES:tune-armv7at-neon-vfpv4} bigendian"
+PACKAGE_EXTRA_ARCHS:tune-armv7ab             = "${PACKAGE_EXTRA_ARCHS:tune-armv6b} armv7ab-vfp"
+PACKAGE_EXTRA_ARCHS:tune-armv7atb            = "${PACKAGE_EXTRA_ARCHS:tune-armv6tb} armv7ab-vfp armv7at2b-vfp"
+PACKAGE_EXTRA_ARCHS:tune-armv7ab-vfpv3d16    = "${PACKAGE_EXTRA_ARCHS:tune-armv7ab} armv7ab-vfpv3d16"
+PACKAGE_EXTRA_ARCHS:tune-armv7atb-vfpv3d16   = "${PACKAGE_EXTRA_ARCHS:tune-armv7atb} armv7ab-vfpv3d16 armv7at2b-vfpv3d16"
+PACKAGE_EXTRA_ARCHS:tune-armv7ab-vfpv3       = "${PACKAGE_EXTRA_ARCHS:tune-armv7ab-vfpv3d16} armv7ab-vfpv3"
+PACKAGE_EXTRA_ARCHS:tune-armv7atb-vfpv3      = "${PACKAGE_EXTRA_ARCHS:tune-armv7atb-vfpv3d16} armv7ab-vfpv3 armv7at2b-vfpv3"
+PACKAGE_EXTRA_ARCHS:tune-armv7ab-vfpv4d16    = "${PACKAGE_EXTRA_ARCHS:tune-armv7ab} armv7ab-vfpv4d16"
+PACKAGE_EXTRA_ARCHS:tune-armv7atb-vfpv4d16   = "${PACKAGE_EXTRA_ARCHS:tune-armv7atb} armv7ab-vfpv4d16 armv7at2b-vfpv4d16"
+PACKAGE_EXTRA_ARCHS:tune-armv7ab-neon        = "${PACKAGE_EXTRA_ARCHS:tune-armv7ab} armv7ab-neon"
+PACKAGE_EXTRA_ARCHS:tune-armv7atb-neon       = "${PACKAGE_EXTRA_ARCHS:tune-armv7atb} armv7ab-neon armv7at2b-neon"
+PACKAGE_EXTRA_ARCHS:tune-armv7ab-neon-vfpv4  = "${PACKAGE_EXTRA_ARCHS:tune-armv7ab-neon} armv7ab-neon-vfpv4"
+PACKAGE_EXTRA_ARCHS:tune-armv7atb-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7atb-neon} armv7ab-neon-vfpv4 armv7at2b-neon-vfpv4"
 
 # Big Endian + HF
 AVAILTUNES += "armv7ahfb armv7athfb armv7ahfb-vfpv3d16 armv7athfb-vfpv3d16 armv7ahfb-vfpv3 armv7athfb-vfpv3 armv7ahfb-vfpv4d16 armv7athfb-vfpv4d16 armv7ahfb-neon armv7athfb-neon armv7ahfb-neon-vfpv4 armv7athfb-neon-vfpv4"
-ARMPKGARCH_tune-armv7ahfb             ?= "armv7a"
-ARMPKGARCH_tune-armv7athfb            ?= "armv7a"
-ARMPKGARCH_tune-armv7ahfb-vfpv3d16    ?= "armv7a"
-ARMPKGARCH_tune-armv7athfb-vfpv3d16   ?= "armv7a"
-ARMPKGARCH_tune-armv7ahfb-vfpv3       ?= "armv7a"
-ARMPKGARCH_tune-armv7athfb-vfpv3      ?= "armv7a"
-ARMPKGARCH_tune-armv7ahfb-vfpv4d16    ?= "armv7a"
-ARMPKGARCH_tune-armv7athfb-vfpv4d16   ?= "armv7a"
-ARMPKGARCH_tune-armv7ahfb-neon        ?= "armv7a"
-ARMPKGARCH_tune-armv7athfb-neon       ?= "armv7a"
-ARMPKGARCH_tune-armv7ahfb-neon-vfpv4  ?= "armv7a"
-ARMPKGARCH_tune-armv7athfb-neon-vfpv4 ?= "armv7a"
-TUNE_FEATURES_tune-armv7ahfb             = "${TUNE_FEATURES_tune-armv7ahf} bigendian"
-TUNE_FEATURES_tune-armv7athfb            = "${TUNE_FEATURES_tune-armv7athf} bigendian"
-TUNE_FEATURES_tune-armv7ahfb-vfpv3d16    = "${TUNE_FEATURES_tune-armv7ahf-vfpv3d16} bigendian"
-TUNE_FEATURES_tune-armv7athfb-vfpv3d16   = "${TUNE_FEATURES_tune-armv7athf-vfpv3d16} bigendian"
-TUNE_FEATURES_tune-armv7ahfb-vfpv3       = "${TUNE_FEATURES_tune-armv7ahf-vfpv3} bigendian"
-TUNE_FEATURES_tune-armv7athfb-vfpv3      = "${TUNE_FEATURES_tune-armv7athf-vfpv3} bigendian"
-TUNE_FEATURES_tune-armv7ahfb-vfpv4d16    = "${TUNE_FEATURES_tune-armv7ahf-vfpv4d16} bigendian"
-TUNE_FEATURES_tune-armv7athfb-vfpv4d16   = "${TUNE_FEATURES_tune-armv7athf-vfpv4d16} bigendian"
-TUNE_FEATURES_tune-armv7ahfb-neon        = "${TUNE_FEATURES_tune-armv7ahf-neon} bigendian"
-TUNE_FEATURES_tune-armv7athfb-neon       = "${TUNE_FEATURES_tune-armv7athf-neon} bigendian"
-TUNE_FEATURES_tune-armv7ahfb-neon-vfpv4  = "${TUNE_FEATURES_tune-armv7ahf-neon-vfpv4} bigendian"
-TUNE_FEATURES_tune-armv7athfb-neon-vfpv4 = "${TUNE_FEATURES_tune-armv7athf-neon-vfpv4} bigendian"
-PACKAGE_EXTRA_ARCHS_tune-armv7ahfb             = "${PACKAGE_EXTRA_ARCHS_tune-armv6hfb} armv7ahfb-vfp"
-PACKAGE_EXTRA_ARCHS_tune-armv7athfb            = "${PACKAGE_EXTRA_ARCHS_tune-armv6thfb} armv7ahfb-vfp armv7at2hfb-vfp"
-PACKAGE_EXTRA_ARCHS_tune-armv7ahfb-vfpv3d16    = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahfb} armv7ahfb-vfpv3d16"
-PACKAGE_EXTRA_ARCHS_tune-armv7athfb-vfpv3d16   = "${PACKAGE_EXTRA_ARCHS_tune-armv7athfb} armv7ahfb-vfpv3d16 armv7at2hfb-vfpv3d16"
-PACKAGE_EXTRA_ARCHS_tune-armv7ahfb-vfpv3       = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahfb-vfpv3d16} armv7ahfb-vfpv3"
-PACKAGE_EXTRA_ARCHS_tune-armv7athfb-vfpv3      = "${PACKAGE_EXTRA_ARCHS_tune-armv7athfb-vfpv3d16} armv7ahfb-vfpv3 armv7at2hfb-vfpv3"
-PACKAGE_EXTRA_ARCHS_tune-armv7ahfb-vfpv4d16    = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahfb} armv7ahfb-vfpv4d16"
-PACKAGE_EXTRA_ARCHS_tune-armv7athfb-vfpv4d16   = "${PACKAGE_EXTRA_ARCHS_tune-armv7athfb} armv7ahfb-vfpv4d16 armv7at2hfb-vfpv4d16"
-PACKAGE_EXTRA_ARCHS_tune-armv7ahfb-neon        = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahfb} armv7ahfb-neon"
-PACKAGE_EXTRA_ARCHS_tune-armv7athfb-neon       = "${PACKAGE_EXTRA_ARCHS_tune-armv7athfb} armv7ahfb-neon armv7at2hfb-neon"
-PACKAGE_EXTRA_ARCHS_tune-armv7ahfb-neon-vfpv4  = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahfb-neon} armv7ahfb-neon-vfpv4"
-PACKAGE_EXTRA_ARCHS_tune-armv7athfb-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS_tune-armv7athfb-neon} armv7ahfb-neon-vfpv4 armv7at2hfb-neon-vfpv4"
+ARMPKGARCH:tune-armv7ahfb             ?= "armv7a"
+ARMPKGARCH:tune-armv7athfb            ?= "armv7a"
+ARMPKGARCH:tune-armv7ahfb-vfpv3d16    ?= "armv7a"
+ARMPKGARCH:tune-armv7athfb-vfpv3d16   ?= "armv7a"
+ARMPKGARCH:tune-armv7ahfb-vfpv3       ?= "armv7a"
+ARMPKGARCH:tune-armv7athfb-vfpv3      ?= "armv7a"
+ARMPKGARCH:tune-armv7ahfb-vfpv4d16    ?= "armv7a"
+ARMPKGARCH:tune-armv7athfb-vfpv4d16   ?= "armv7a"
+ARMPKGARCH:tune-armv7ahfb-neon        ?= "armv7a"
+ARMPKGARCH:tune-armv7athfb-neon       ?= "armv7a"
+ARMPKGARCH:tune-armv7ahfb-neon-vfpv4  ?= "armv7a"
+ARMPKGARCH:tune-armv7athfb-neon-vfpv4 ?= "armv7a"
+TUNE_FEATURES:tune-armv7ahfb             = "${TUNE_FEATURES:tune-armv7ahf} bigendian"
+TUNE_FEATURES:tune-armv7athfb            = "${TUNE_FEATURES:tune-armv7athf} bigendian"
+TUNE_FEATURES:tune-armv7ahfb-vfpv3d16    = "${TUNE_FEATURES:tune-armv7ahf-vfpv3d16} bigendian"
+TUNE_FEATURES:tune-armv7athfb-vfpv3d16   = "${TUNE_FEATURES:tune-armv7athf-vfpv3d16} bigendian"
+TUNE_FEATURES:tune-armv7ahfb-vfpv3       = "${TUNE_FEATURES:tune-armv7ahf-vfpv3} bigendian"
+TUNE_FEATURES:tune-armv7athfb-vfpv3      = "${TUNE_FEATURES:tune-armv7athf-vfpv3} bigendian"
+TUNE_FEATURES:tune-armv7ahfb-vfpv4d16    = "${TUNE_FEATURES:tune-armv7ahf-vfpv4d16} bigendian"
+TUNE_FEATURES:tune-armv7athfb-vfpv4d16   = "${TUNE_FEATURES:tune-armv7athf-vfpv4d16} bigendian"
+TUNE_FEATURES:tune-armv7ahfb-neon        = "${TUNE_FEATURES:tune-armv7ahf-neon} bigendian"
+TUNE_FEATURES:tune-armv7athfb-neon       = "${TUNE_FEATURES:tune-armv7athf-neon} bigendian"
+TUNE_FEATURES:tune-armv7ahfb-neon-vfpv4  = "${TUNE_FEATURES:tune-armv7ahf-neon-vfpv4} bigendian"
+TUNE_FEATURES:tune-armv7athfb-neon-vfpv4 = "${TUNE_FEATURES:tune-armv7athf-neon-vfpv4} bigendian"
+PACKAGE_EXTRA_ARCHS:tune-armv7ahfb             = "${PACKAGE_EXTRA_ARCHS:tune-armv6hfb} armv7ahfb-vfp"
+PACKAGE_EXTRA_ARCHS:tune-armv7athfb            = "${PACKAGE_EXTRA_ARCHS:tune-armv6thfb} armv7ahfb-vfp armv7at2hfb-vfp"
+PACKAGE_EXTRA_ARCHS:tune-armv7ahfb-vfpv3d16    = "${PACKAGE_EXTRA_ARCHS:tune-armv7ahfb} armv7ahfb-vfpv3d16"
+PACKAGE_EXTRA_ARCHS:tune-armv7athfb-vfpv3d16   = "${PACKAGE_EXTRA_ARCHS:tune-armv7athfb} armv7ahfb-vfpv3d16 armv7at2hfb-vfpv3d16"
+PACKAGE_EXTRA_ARCHS:tune-armv7ahfb-vfpv3       = "${PACKAGE_EXTRA_ARCHS:tune-armv7ahfb-vfpv3d16} armv7ahfb-vfpv3"
+PACKAGE_EXTRA_ARCHS:tune-armv7athfb-vfpv3      = "${PACKAGE_EXTRA_ARCHS:tune-armv7athfb-vfpv3d16} armv7ahfb-vfpv3 armv7at2hfb-vfpv3"
+PACKAGE_EXTRA_ARCHS:tune-armv7ahfb-vfpv4d16    = "${PACKAGE_EXTRA_ARCHS:tune-armv7ahfb} armv7ahfb-vfpv4d16"
+PACKAGE_EXTRA_ARCHS:tune-armv7athfb-vfpv4d16   = "${PACKAGE_EXTRA_ARCHS:tune-armv7athfb} armv7ahfb-vfpv4d16 armv7at2hfb-vfpv4d16"
+PACKAGE_EXTRA_ARCHS:tune-armv7ahfb-neon        = "${PACKAGE_EXTRA_ARCHS:tune-armv7ahfb} armv7ahfb-neon"
+PACKAGE_EXTRA_ARCHS:tune-armv7athfb-neon       = "${PACKAGE_EXTRA_ARCHS:tune-armv7athfb} armv7ahfb-neon armv7at2hfb-neon"
+PACKAGE_EXTRA_ARCHS:tune-armv7ahfb-neon-vfpv4  = "${PACKAGE_EXTRA_ARCHS:tune-armv7ahfb-neon} armv7ahfb-neon-vfpv4"
+PACKAGE_EXTRA_ARCHS:tune-armv7athfb-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7athfb-neon} armv7ahfb-neon-vfpv4 armv7at2hfb-neon-vfpv4"
diff --git a/meta/conf/machine/include/arm/arch-armv7ve.inc b/meta/conf/machine/include/arm/arch-armv7ve.inc
index d9d92f612b5..b40c2ca8adb 100644
--- a/meta/conf/machine/include/arm/arch-armv7ve.inc
+++ b/meta/conf/machine/include/arm/arch-armv7ve.inc
@@ -9,156 +9,156 @@ require conf/machine/include/arm/arch-armv7a.inc
 
 # Little Endian base configs
 AVAILTUNES += "armv7ve armv7vet armv7ve-vfpv3d16 armv7vet-vfpv3d16 armv7ve-vfpv3 armv7vet-vfpv3 armv7ve-vfpv4d16 armv7vet-vfpv4d16 armv7ve-neon armv7vet-neon armv7ve-neon-vfpv4 armv7vet-neon-vfpv4"
-ARMPKGARCH_tune-armv7ve             ?= "armv7ve"
-ARMPKGARCH_tune-armv7vet            ?= "armv7ve"
-ARMPKGARCH_tune-armv7ve-vfpv3d16    ?= "armv7ve"
-ARMPKGARCH_tune-armv7vet-vfpv3d16   ?= "armv7ve"
-ARMPKGARCH_tune-armv7ve-vfpv3       ?= "armv7ve"
-ARMPKGARCH_tune-armv7vet-vfpv3      ?= "armv7ve"
-ARMPKGARCH_tune-armv7ve-vfpv4d16    ?= "armv7ve"
-ARMPKGARCH_tune-armv7vet-vfpv4d16   ?= "armv7ve"
-ARMPKGARCH_tune-armv7ve-neon        ?= "armv7ve"
-ARMPKGARCH_tune-armv7vet-neon       ?= "armv7ve"
-ARMPKGARCH_tune-armv7ve-neon-vfpv4  ?= "armv7ve"
-ARMPKGARCH_tune-armv7vet-neon-vfpv4 ?= "armv7ve"
-TUNE_FEATURES_tune-armv7ve             = "arm armv7ve vfp"
-TUNE_FEATURES_tune-armv7vet            = "${TUNE_FEATURES_tune-armv7ve} thumb"
-TUNE_FEATURES_tune-armv7ve-vfpv3d16    = "${TUNE_FEATURES_tune-armv7ve} vfpv3d16"
-TUNE_FEATURES_tune-armv7vet-vfpv3d16   = "${TUNE_FEATURES_tune-armv7vet} vfpv3d16"
-TUNE_FEATURES_tune-armv7ve-vfpv3       = "${TUNE_FEATURES_tune-armv7ve-vfpv3d16} vfpv3"
-TUNE_FEATURES_tune-armv7vet-vfpv3      = "${TUNE_FEATURES_tune-armv7vet-vfpv3d16} vfpv3"
-TUNE_FEATURES_tune-armv7ve-vfpv4d16    = "${TUNE_FEATURES_tune-armv7ve} vfpv4d16"
-TUNE_FEATURES_tune-armv7vet-vfpv4d16   = "${TUNE_FEATURES_tune-armv7vet} vfpv4d16"
-TUNE_FEATURES_tune-armv7ve-neon        = "${TUNE_FEATURES_tune-armv7ve} neon"
-TUNE_FEATURES_tune-armv7vet-neon       = "${TUNE_FEATURES_tune-armv7vet} neon"
-TUNE_FEATURES_tune-armv7ve-neon-vfpv4  = "${TUNE_FEATURES_tune-armv7ve-neon} vfpv4"
-TUNE_FEATURES_tune-armv7vet-neon-vfpv4 = "${TUNE_FEATURES_tune-armv7vet-neon} vfpv4"
-PACKAGE_EXTRA_ARCHS_tune-armv7ve             = "${PACKAGE_EXTRA_ARCHS_tune-armv7a} armv7ve armv7ve-vfp"
-PACKAGE_EXTRA_ARCHS_tune-armv7vet            = "${PACKAGE_EXTRA_ARCHS_tune-armv7at} armv7ve armv7ve-vfp armv7vet2-vfp"
-PACKAGE_EXTRA_ARCHS_tune-armv7ve-vfpv3d16    = "${PACKAGE_EXTRA_ARCHS_tune-armv7ve} armv7ve-vfpv3d16"
-PACKAGE_EXTRA_ARCHS_tune-armv7vet-vfpv3d16   = "${PACKAGE_EXTRA_ARCHS_tune-armv7vet} armv7ve-vfpv3d16 armv7vet2-vfpv3d16"
-PACKAGE_EXTRA_ARCHS_tune-armv7ve-vfpv3       = "${PACKAGE_EXTRA_ARCHS_tune-armv7ve-vfpv3d16} armv7ve-vfpv3"
-PACKAGE_EXTRA_ARCHS_tune-armv7vet-vfpv3      = "${PACKAGE_EXTRA_ARCHS_tune-armv7vet-vfpv3d16} armv7ve-vfpv3 armv7vet2-vfpv3"
-PACKAGE_EXTRA_ARCHS_tune-armv7ve-vfpv4d16    = "${PACKAGE_EXTRA_ARCHS_tune-armv7ve}  armv7ve-vfpv4d16"
-PACKAGE_EXTRA_ARCHS_tune-armv7vet-vfpv4d16   = "${PACKAGE_EXTRA_ARCHS_tune-armv7vet} armv7ve-vfpv4d16 armv7vet2-vfpv4d16"
-PACKAGE_EXTRA_ARCHS_tune-armv7ve-neon        = "${PACKAGE_EXTRA_ARCHS_tune-armv7ve} armv7ve-neon"
-PACKAGE_EXTRA_ARCHS_tune-armv7vet-neon       = "${PACKAGE_EXTRA_ARCHS_tune-armv7vet} armv7ve-neon armv7vet2-neon"
-PACKAGE_EXTRA_ARCHS_tune-armv7ve-neon-vfpv4  = "${PACKAGE_EXTRA_ARCHS_tune-armv7ve-neon} armv7ve-neon-vfpv4"
-PACKAGE_EXTRA_ARCHS_tune-armv7vet-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS_tune-armv7vet-neon} armv7ve-neon-vfpv4 armv7vet2-neon-vfpv4"
+ARMPKGARCH:tune-armv7ve             ?= "armv7ve"
+ARMPKGARCH:tune-armv7vet            ?= "armv7ve"
+ARMPKGARCH:tune-armv7ve-vfpv3d16    ?= "armv7ve"
+ARMPKGARCH:tune-armv7vet-vfpv3d16   ?= "armv7ve"
+ARMPKGARCH:tune-armv7ve-vfpv3       ?= "armv7ve"
+ARMPKGARCH:tune-armv7vet-vfpv3      ?= "armv7ve"
+ARMPKGARCH:tune-armv7ve-vfpv4d16    ?= "armv7ve"
+ARMPKGARCH:tune-armv7vet-vfpv4d16   ?= "armv7ve"
+ARMPKGARCH:tune-armv7ve-neon        ?= "armv7ve"
+ARMPKGARCH:tune-armv7vet-neon       ?= "armv7ve"
+ARMPKGARCH:tune-armv7ve-neon-vfpv4  ?= "armv7ve"
+ARMPKGARCH:tune-armv7vet-neon-vfpv4 ?= "armv7ve"
+TUNE_FEATURES:tune-armv7ve             = "arm armv7ve vfp"
+TUNE_FEATURES:tune-armv7vet            = "${TUNE_FEATURES:tune-armv7ve} thumb"
+TUNE_FEATURES:tune-armv7ve-vfpv3d16    = "${TUNE_FEATURES:tune-armv7ve} vfpv3d16"
+TUNE_FEATURES:tune-armv7vet-vfpv3d16   = "${TUNE_FEATURES:tune-armv7vet} vfpv3d16"
+TUNE_FEATURES:tune-armv7ve-vfpv3       = "${TUNE_FEATURES:tune-armv7ve-vfpv3d16} vfpv3"
+TUNE_FEATURES:tune-armv7vet-vfpv3      = "${TUNE_FEATURES:tune-armv7vet-vfpv3d16} vfpv3"
+TUNE_FEATURES:tune-armv7ve-vfpv4d16    = "${TUNE_FEATURES:tune-armv7ve} vfpv4d16"
+TUNE_FEATURES:tune-armv7vet-vfpv4d16   = "${TUNE_FEATURES:tune-armv7vet} vfpv4d16"
+TUNE_FEATURES:tune-armv7ve-neon        = "${TUNE_FEATURES:tune-armv7ve} neon"
+TUNE_FEATURES:tune-armv7vet-neon       = "${TUNE_FEATURES:tune-armv7vet} neon"
+TUNE_FEATURES:tune-armv7ve-neon-vfpv4  = "${TUNE_FEATURES:tune-armv7ve-neon} vfpv4"
+TUNE_FEATURES:tune-armv7vet-neon-vfpv4 = "${TUNE_FEATURES:tune-armv7vet-neon} vfpv4"
+PACKAGE_EXTRA_ARCHS:tune-armv7ve             = "${PACKAGE_EXTRA_ARCHS:tune-armv7a} armv7ve armv7ve-vfp"
+PACKAGE_EXTRA_ARCHS:tune-armv7vet            = "${PACKAGE_EXTRA_ARCHS:tune-armv7at} armv7ve armv7ve-vfp armv7vet2-vfp"
+PACKAGE_EXTRA_ARCHS:tune-armv7ve-vfpv3d16    = "${PACKAGE_EXTRA_ARCHS:tune-armv7ve} armv7ve-vfpv3d16"
+PACKAGE_EXTRA_ARCHS:tune-armv7vet-vfpv3d16   = "${PACKAGE_EXTRA_ARCHS:tune-armv7vet} armv7ve-vfpv3d16 armv7vet2-vfpv3d16"
+PACKAGE_EXTRA_ARCHS:tune-armv7ve-vfpv3       = "${PACKAGE_EXTRA_ARCHS:tune-armv7ve-vfpv3d16} armv7ve-vfpv3"
+PACKAGE_EXTRA_ARCHS:tune-armv7vet-vfpv3      = "${PACKAGE_EXTRA_ARCHS:tune-armv7vet-vfpv3d16} armv7ve-vfpv3 armv7vet2-vfpv3"
+PACKAGE_EXTRA_ARCHS:tune-armv7ve-vfpv4d16    = "${PACKAGE_EXTRA_ARCHS:tune-armv7ve}  armv7ve-vfpv4d16"
+PACKAGE_EXTRA_ARCHS:tune-armv7vet-vfpv4d16   = "${PACKAGE_EXTRA_ARCHS:tune-armv7vet} armv7ve-vfpv4d16 armv7vet2-vfpv4d16"
+PACKAGE_EXTRA_ARCHS:tune-armv7ve-neon        = "${PACKAGE_EXTRA_ARCHS:tune-armv7ve} armv7ve-neon"
+PACKAGE_EXTRA_ARCHS:tune-armv7vet-neon       = "${PACKAGE_EXTRA_ARCHS:tune-armv7vet} armv7ve-neon armv7vet2-neon"
+PACKAGE_EXTRA_ARCHS:tune-armv7ve-neon-vfpv4  = "${PACKAGE_EXTRA_ARCHS:tune-armv7ve-neon} armv7ve-neon-vfpv4"
+PACKAGE_EXTRA_ARCHS:tune-armv7vet-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vet-neon} armv7ve-neon-vfpv4 armv7vet2-neon-vfpv4"
 
 # HF Tunes
 AVAILTUNES += "armv7vehf armv7vethf armv7vehf-vfpv3d16 armv7vethf-vfpv3d16 armv7vehf-vfpv3 armv7vethf-vfpv3 armv7vehf-vfpv4d16 armv7vethf-vfpv4d16 armv7vehf-neon armv7vethf-neon armv7vehf-neon-vfpv4 armv7vethf-neon-vfpv4"
-ARMPKGARCH_tune-armv7vehf             ?= "armv7ve"
-ARMPKGARCH_tune-armv7vethf            ?= "armv7ve"
-ARMPKGARCH_tune-armv7vehf-vfpv3d16    ?= "armv7ve"
-ARMPKGARCH_tune-armv7vethf-vfpv3d16   ?= "armv7ve"
-ARMPKGARCH_tune-armv7vehf-vfpv3       ?= "armv7ve"
-ARMPKGARCH_tune-armv7vethf-vfpv3      ?= "armv7ve"
-ARMPKGARCH_tune-armv7vehf-vfpv4d16    ?= "armv7ve"
-ARMPKGARCH_tune-armv7vethf-vfpv4d16   ?= "armv7ve"
-ARMPKGARCH_tune-armv7vehf-neon        ?= "armv7ve"
-ARMPKGARCH_tune-armv7vethf-neon       ?= "armv7ve"
-ARMPKGARCH_tune-armv7vehf-neon-vfpv4  ?= "armv7ve"
-ARMPKGARCH_tune-armv7vethf-neon-vfpv4 ?= "armv7ve"
-TUNE_FEATURES_tune-armv7vehf             = "${TUNE_FEATURES_tune-armv7ve} callconvention-hard"
-TUNE_FEATURES_tune-armv7vethf            = "${TUNE_FEATURES_tune-armv7vet} callconvention-hard"
-TUNE_FEATURES_tune-armv7vehf-vfpv3d16    = "${TUNE_FEATURES_tune-armv7ve-vfpv3d16} callconvention-hard"
-TUNE_FEATURES_tune-armv7vethf-vfpv3d16   = "${TUNE_FEATURES_tune-armv7vet-vfpv3d16} callconvention-hard"
-TUNE_FEATURES_tune-armv7vehf-vfpv3       = "${TUNE_FEATURES_tune-armv7ve-vfpv3} callconvention-hard"
-TUNE_FEATURES_tune-armv7vethf-vfpv3      = "${TUNE_FEATURES_tune-armv7vet-vfpv3} callconvention-hard"
-TUNE_FEATURES_tune-armv7vehf-vfpv4d16    = "${TUNE_FEATURES_tune-armv7ve-vfpv4d16} callconvention-hard"
-TUNE_FEATURES_tune-armv7vethf-vfpv4d16   = "${TUNE_FEATURES_tune-armv7vet-vfpv4d16} callconvention-hard"
-TUNE_FEATURES_tune-armv7vehf-neon        = "${TUNE_FEATURES_tune-armv7ve-neon} callconvention-hard"
-TUNE_FEATURES_tune-armv7vethf-neon       = "${TUNE_FEATURES_tune-armv7vet-neon} callconvention-hard"
-TUNE_FEATURES_tune-armv7vehf-neon-vfpv4  = "${TUNE_FEATURES_tune-armv7ve-neon-vfpv4} callconvention-hard"
-TUNE_FEATURES_tune-armv7vethf-neon-vfpv4 = "${TUNE_FEATURES_tune-armv7vet-neon-vfpv4} callconvention-hard"
-PACKAGE_EXTRA_ARCHS_tune-armv7vehf             = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf} armv7vehf-vfp"
-PACKAGE_EXTRA_ARCHS_tune-armv7vethf            = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf} armv7vehf-vfp armv7vet2hf-vfp"
-PACKAGE_EXTRA_ARCHS_tune-armv7vehf-vfpv3d16    = "${PACKAGE_EXTRA_ARCHS_tune-armv7vehf} armv7vehf-vfpv3d16"
-PACKAGE_EXTRA_ARCHS_tune-armv7vethf-vfpv3d16   = "${PACKAGE_EXTRA_ARCHS_tune-armv7vethf} armv7vehf-vfpv3d16 armv7vet2hf-vfpv3d16"
-PACKAGE_EXTRA_ARCHS_tune-armv7vehf-vfpv3       = "${PACKAGE_EXTRA_ARCHS_tune-armv7vehf-vfpv3d16} armv7vehf-vfpv3"
-PACKAGE_EXTRA_ARCHS_tune-armv7vethf-vfpv3      = "${PACKAGE_EXTRA_ARCHS_tune-armv7vethf-vfpv3d16} armv7vehf-vfpv3 armv7vet2hf-vfpv3"
-PACKAGE_EXTRA_ARCHS_tune-armv7vehf-vfpv4d16    = "${PACKAGE_EXTRA_ARCHS_tune-armv7vehf} armv7vehf-vfpv4d16"
-PACKAGE_EXTRA_ARCHS_tune-armv7vethf-vfpv4d16   = "${PACKAGE_EXTRA_ARCHS_tune-armv7vethf} armv7vehf-vfpv4d16 armv7vet2hf-vfpv4d16"
-PACKAGE_EXTRA_ARCHS_tune-armv7vehf-neon        = "${PACKAGE_EXTRA_ARCHS_tune-armv7vehf} armv7vehf-neon"
-PACKAGE_EXTRA_ARCHS_tune-armv7vethf-neon       = "${PACKAGE_EXTRA_ARCHS_tune-armv7vethf} armv7vehf-neon armv7vet2hf-neon"
-PACKAGE_EXTRA_ARCHS_tune-armv7vehf-neon-vfpv4  = "${PACKAGE_EXTRA_ARCHS_tune-armv7vehf-neon} armv7vehf-neon-vfpv4"
-PACKAGE_EXTRA_ARCHS_tune-armv7vethf-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS_tune-armv7vethf-neon} armv7vehf-neon-vfpv4 armv7vet2hf-neon-vfpv4"
+ARMPKGARCH:tune-armv7vehf             ?= "armv7ve"
+ARMPKGARCH:tune-armv7vethf            ?= "armv7ve"
+ARMPKGARCH:tune-armv7vehf-vfpv3d16    ?= "armv7ve"
+ARMPKGARCH:tune-armv7vethf-vfpv3d16   ?= "armv7ve"
+ARMPKGARCH:tune-armv7vehf-vfpv3       ?= "armv7ve"
+ARMPKGARCH:tune-armv7vethf-vfpv3      ?= "armv7ve"
+ARMPKGARCH:tune-armv7vehf-vfpv4d16    ?= "armv7ve"
+ARMPKGARCH:tune-armv7vethf-vfpv4d16   ?= "armv7ve"
+ARMPKGARCH:tune-armv7vehf-neon        ?= "armv7ve"
+ARMPKGARCH:tune-armv7vethf-neon       ?= "armv7ve"
+ARMPKGARCH:tune-armv7vehf-neon-vfpv4  ?= "armv7ve"
+ARMPKGARCH:tune-armv7vethf-neon-vfpv4 ?= "armv7ve"
+TUNE_FEATURES:tune-armv7vehf             = "${TUNE_FEATURES:tune-armv7ve} callconvention-hard"
+TUNE_FEATURES:tune-armv7vethf            = "${TUNE_FEATURES:tune-armv7vet} callconvention-hard"
+TUNE_FEATURES:tune-armv7vehf-vfpv3d16    = "${TUNE_FEATURES:tune-armv7ve-vfpv3d16} callconvention-hard"
+TUNE_FEATURES:tune-armv7vethf-vfpv3d16   = "${TUNE_FEATURES:tune-armv7vet-vfpv3d16} callconvention-hard"
+TUNE_FEATURES:tune-armv7vehf-vfpv3       = "${TUNE_FEATURES:tune-armv7ve-vfpv3} callconvention-hard"
+TUNE_FEATURES:tune-armv7vethf-vfpv3      = "${TUNE_FEATURES:tune-armv7vet-vfpv3} callconvention-hard"
+TUNE_FEATURES:tune-armv7vehf-vfpv4d16    = "${TUNE_FEATURES:tune-armv7ve-vfpv4d16} callconvention-hard"
+TUNE_FEATURES:tune-armv7vethf-vfpv4d16   = "${TUNE_FEATURES:tune-armv7vet-vfpv4d16} callconvention-hard"
+TUNE_FEATURES:tune-armv7vehf-neon        = "${TUNE_FEATURES:tune-armv7ve-neon} callconvention-hard"
+TUNE_FEATURES:tune-armv7vethf-neon       = "${TUNE_FEATURES:tune-armv7vet-neon} callconvention-hard"
+TUNE_FEATURES:tune-armv7vehf-neon-vfpv4  = "${TUNE_FEATURES:tune-armv7ve-neon-vfpv4} callconvention-hard"
+TUNE_FEATURES:tune-armv7vethf-neon-vfpv4 = "${TUNE_FEATURES:tune-armv7vet-neon-vfpv4} callconvention-hard"
+PACKAGE_EXTRA_ARCHS:tune-armv7vehf             = "${PACKAGE_EXTRA_ARCHS:tune-armv7ahf} armv7vehf-vfp"
+PACKAGE_EXTRA_ARCHS:tune-armv7vethf            = "${PACKAGE_EXTRA_ARCHS:tune-armv7athf} armv7vehf-vfp armv7vet2hf-vfp"
+PACKAGE_EXTRA_ARCHS:tune-armv7vehf-vfpv3d16    = "${PACKAGE_EXTRA_ARCHS:tune-armv7vehf} armv7vehf-vfpv3d16"
+PACKAGE_EXTRA_ARCHS:tune-armv7vethf-vfpv3d16   = "${PACKAGE_EXTRA_ARCHS:tune-armv7vethf} armv7vehf-vfpv3d16 armv7vet2hf-vfpv3d16"
+PACKAGE_EXTRA_ARCHS:tune-armv7vehf-vfpv3       = "${PACKAGE_EXTRA_ARCHS:tune-armv7vehf-vfpv3d16} armv7vehf-vfpv3"
+PACKAGE_EXTRA_ARCHS:tune-armv7vethf-vfpv3      = "${PACKAGE_EXTRA_ARCHS:tune-armv7vethf-vfpv3d16} armv7vehf-vfpv3 armv7vet2hf-vfpv3"
+PACKAGE_EXTRA_ARCHS:tune-armv7vehf-vfpv4d16    = "${PACKAGE_EXTRA_ARCHS:tune-armv7vehf} armv7vehf-vfpv4d16"
+PACKAGE_EXTRA_ARCHS:tune-armv7vethf-vfpv4d16   = "${PACKAGE_EXTRA_ARCHS:tune-armv7vethf} armv7vehf-vfpv4d16 armv7vet2hf-vfpv4d16"
+PACKAGE_EXTRA_ARCHS:tune-armv7vehf-neon        = "${PACKAGE_EXTRA_ARCHS:tune-armv7vehf} armv7vehf-neon"
+PACKAGE_EXTRA_ARCHS:tune-armv7vethf-neon       = "${PACKAGE_EXTRA_ARCHS:tune-armv7vethf} armv7vehf-neon armv7vet2hf-neon"
+PACKAGE_EXTRA_ARCHS:tune-armv7vehf-neon-vfpv4  = "${PACKAGE_EXTRA_ARCHS:tune-armv7vehf-neon} armv7vehf-neon-vfpv4"
+PACKAGE_EXTRA_ARCHS:tune-armv7vethf-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vethf-neon} armv7vehf-neon-vfpv4 armv7vet2hf-neon-vfpv4"
 
 # Big Endian
 AVAILTUNES += "armv7veb armv7vetb armv7veb-vfpv3d16 armv7vetb-vfpv3d16 armv7veb-vfpv3 armv7vetb-vfpv3 armv7veb-vfpv4d16 armv7vetb-vfpv4d16 armv7veb-neon armv7vetb-neon armv7veb-neon-vfpv4 armv7vetb-neon-vfpv4"
-ARMPKGARCH_tune-armv7veb             ?= "armv7ve"
-ARMPKGARCH_tune-armv7vetb            ?= "armv7ve"
-ARMPKGARCH_tune-armv7veb-vfpv3d16    ?= "armv7ve"
-ARMPKGARCH_tune-armv7vetb-vfpv3d16   ?= "armv7ve"
-ARMPKGARCH_tune-armv7veb-vfpv3       ?= "armv7ve"
-ARMPKGARCH_tune-armv7vetb-vfpv3      ?= "armv7ve"
-ARMPKGARCH_tune-armv7veb-vfpv4d16    ?= "armv7ve"
-ARMPKGARCH_tune-armv7vetb-vfpv4d16   ?= "armv7ve"
-ARMPKGARCH_tune-armv7veb-neon        ?= "armv7ve"
-ARMPKGARCH_tune-armv7vetb-neon       ?= "armv7ve"
-ARMPKGARCH_tune-armv7veb-neon-vfpv4  ?= "armv7ve"
-ARMPKGARCH_tune-armv7vetb-neon-vfpv4 ?= "armv7ve"
-TUNE_FEATURES_tune-armv7veb             = "${TUNE_FEATURES_tune-armv7ve} bigendian"
-TUNE_FEATURES_tune-armv7vetb            = "${TUNE_FEATURES_tune-armv7vet} bigendian"
-TUNE_FEATURES_tune-armv7veb-vfpv3d16    = "${TUNE_FEATURES_tune-armv7ve-vfpv3d16} bigendian"
-TUNE_FEATURES_tune-armv7vetb-vfpv3d16   = "${TUNE_FEATURES_tune-armv7vet-vfpv3d16} bigendian"
-TUNE_FEATURES_tune-armv7veb-vfpv3       = "${TUNE_FEATURES_tune-armv7ve-vfpv3} bigendian"
-TUNE_FEATURES_tune-armv7vetb-vfpv3      = "${TUNE_FEATURES_tune-armv7vet-vfpv3} bigendian"
-TUNE_FEATURES_tune-armv7veb-vfpv4d16    = "${TUNE_FEATURES_tune-armv7ve-vfpv4d16} bigendian"
-TUNE_FEATURES_tune-armv7vetb-vfpv4d16   = "${TUNE_FEATURES_tune-armv7vet-vfpv4d16} bigendian"
-TUNE_FEATURES_tune-armv7veb-neon        = "${TUNE_FEATURES_tune-armv7ve-neon} bigendian"
-TUNE_FEATURES_tune-armv7vetb-neon       = "${TUNE_FEATURES_tune-armv7vet-neon} bigendian"
-TUNE_FEATURES_tune-armv7veb-neon-vfpv4  = "${TUNE_FEATURES_tune-armv7ve-neon-vfpv4} bigendian"
-TUNE_FEATURES_tune-armv7vetb-neon-vfpv4 = "${TUNE_FEATURES_tune-armv7vet-neon-vfpv4} bigendian"
-PACKAGE_EXTRA_ARCHS_tune-armv7veb             = "${PACKAGE_EXTRA_ARCHS_tune-armv7ab} armv7veb-vfp"
-PACKAGE_EXTRA_ARCHS_tune-armv7vetb            = "${PACKAGE_EXTRA_ARCHS_tune-armv7atb} armv7veb-vfp armv7vet2b-vfp"
-PACKAGE_EXTRA_ARCHS_tune-armv7veb-vfpv3d16    = "${PACKAGE_EXTRA_ARCHS_tune-armv7veb} armv7veb-vfpv3d16"
-PACKAGE_EXTRA_ARCHS_tune-armv7vetb-vfpv3d16   = "${PACKAGE_EXTRA_ARCHS_tune-armv7vetb} armv7veb-vfpv3d16 armv7vet2b-vfpv3d16"
-PACKAGE_EXTRA_ARCHS_tune-armv7veb-vfpv3       = "${PACKAGE_EXTRA_ARCHS_tune-armv7veb-vfpv3d16} armv7veb-vfpv3"
-PACKAGE_EXTRA_ARCHS_tune-armv7vetb-vfpv3      = "${PACKAGE_EXTRA_ARCHS_tune-armv7vetb-vfpv3d16} armv7veb-vfpv3 armv7vet2b-vfpv3"
-PACKAGE_EXTRA_ARCHS_tune-armv7veb-vfpv4d16    = "${PACKAGE_EXTRA_ARCHS_tune-armv7veb} armv7veb-vfpv4d16"
-PACKAGE_EXTRA_ARCHS_tune-armv7vetb-vfpv4d16   = "${PACKAGE_EXTRA_ARCHS_tune-armv7vetb} armv7veb-vfpv4d16 armv7vet2b-vfpv4d16"
-PACKAGE_EXTRA_ARCHS_tune-armv7veb-neon        = "${PACKAGE_EXTRA_ARCHS_tune-armv7veb} armv7veb-neon"
-PACKAGE_EXTRA_ARCHS_tune-armv7vetb-neon       = "${PACKAGE_EXTRA_ARCHS_tune-armv7vetb} armv7veb-neon armv7vet2b-neon"
-PACKAGE_EXTRA_ARCHS_tune-armv7veb-neon-vfpv4  = "${PACKAGE_EXTRA_ARCHS_tune-armv7veb-neon} armv7veb-neon-vfpv4"
-PACKAGE_EXTRA_ARCHS_tune-armv7vetb-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS_tune-armv7vetb-neon} armv7veb-neon-vfpv4 armv7vet2b-neon-vfpv4"
+ARMPKGARCH:tune-armv7veb             ?= "armv7ve"
+ARMPKGARCH:tune-armv7vetb            ?= "armv7ve"
+ARMPKGARCH:tune-armv7veb-vfpv3d16    ?= "armv7ve"
+ARMPKGARCH:tune-armv7vetb-vfpv3d16   ?= "armv7ve"
+ARMPKGARCH:tune-armv7veb-vfpv3       ?= "armv7ve"
+ARMPKGARCH:tune-armv7vetb-vfpv3      ?= "armv7ve"
+ARMPKGARCH:tune-armv7veb-vfpv4d16    ?= "armv7ve"
+ARMPKGARCH:tune-armv7vetb-vfpv4d16   ?= "armv7ve"
+ARMPKGARCH:tune-armv7veb-neon        ?= "armv7ve"
+ARMPKGARCH:tune-armv7vetb-neon       ?= "armv7ve"
+ARMPKGARCH:tune-armv7veb-neon-vfpv4  ?= "armv7ve"
+ARMPKGARCH:tune-armv7vetb-neon-vfpv4 ?= "armv7ve"
+TUNE_FEATURES:tune-armv7veb             = "${TUNE_FEATURES:tune-armv7ve} bigendian"
+TUNE_FEATURES:tune-armv7vetb            = "${TUNE_FEATURES:tune-armv7vet} bigendian"
+TUNE_FEATURES:tune-armv7veb-vfpv3d16    = "${TUNE_FEATURES:tune-armv7ve-vfpv3d16} bigendian"
+TUNE_FEATURES:tune-armv7vetb-vfpv3d16   = "${TUNE_FEATURES:tune-armv7vet-vfpv3d16} bigendian"
+TUNE_FEATURES:tune-armv7veb-vfpv3       = "${TUNE_FEATURES:tune-armv7ve-vfpv3} bigendian"
+TUNE_FEATURES:tune-armv7vetb-vfpv3      = "${TUNE_FEATURES:tune-armv7vet-vfpv3} bigendian"
+TUNE_FEATURES:tune-armv7veb-vfpv4d16    = "${TUNE_FEATURES:tune-armv7ve-vfpv4d16} bigendian"
+TUNE_FEATURES:tune-armv7vetb-vfpv4d16   = "${TUNE_FEATURES:tune-armv7vet-vfpv4d16} bigendian"
+TUNE_FEATURES:tune-armv7veb-neon        = "${TUNE_FEATURES:tune-armv7ve-neon} bigendian"
+TUNE_FEATURES:tune-armv7vetb-neon       = "${TUNE_FEATURES:tune-armv7vet-neon} bigendian"
+TUNE_FEATURES:tune-armv7veb-neon-vfpv4  = "${TUNE_FEATURES:tune-armv7ve-neon-vfpv4} bigendian"
+TUNE_FEATURES:tune-armv7vetb-neon-vfpv4 = "${TUNE_FEATURES:tune-armv7vet-neon-vfpv4} bigendian"
+PACKAGE_EXTRA_ARCHS:tune-armv7veb             = "${PACKAGE_EXTRA_ARCHS:tune-armv7ab} armv7veb-vfp"
+PACKAGE_EXTRA_ARCHS:tune-armv7vetb            = "${PACKAGE_EXTRA_ARCHS:tune-armv7atb} armv7veb-vfp armv7vet2b-vfp"
+PACKAGE_EXTRA_ARCHS:tune-armv7veb-vfpv3d16    = "${PACKAGE_EXTRA_ARCHS:tune-armv7veb} armv7veb-vfpv3d16"
+PACKAGE_EXTRA_ARCHS:tune-armv7vetb-vfpv3d16   = "${PACKAGE_EXTRA_ARCHS:tune-armv7vetb} armv7veb-vfpv3d16 armv7vet2b-vfpv3d16"
+PACKAGE_EXTRA_ARCHS:tune-armv7veb-vfpv3       = "${PACKAGE_EXTRA_ARCHS:tune-armv7veb-vfpv3d16} armv7veb-vfpv3"
+PACKAGE_EXTRA_ARCHS:tune-armv7vetb-vfpv3      = "${PACKAGE_EXTRA_ARCHS:tune-armv7vetb-vfpv3d16} armv7veb-vfpv3 armv7vet2b-vfpv3"
+PACKAGE_EXTRA_ARCHS:tune-armv7veb-vfpv4d16    = "${PACKAGE_EXTRA_ARCHS:tune-armv7veb} armv7veb-vfpv4d16"
+PACKAGE_EXTRA_ARCHS:tune-armv7vetb-vfpv4d16   = "${PACKAGE_EXTRA_ARCHS:tune-armv7vetb} armv7veb-vfpv4d16 armv7vet2b-vfpv4d16"
+PACKAGE_EXTRA_ARCHS:tune-armv7veb-neon        = "${PACKAGE_EXTRA_ARCHS:tune-armv7veb} armv7veb-neon"
+PACKAGE_EXTRA_ARCHS:tune-armv7vetb-neon       = "${PACKAGE_EXTRA_ARCHS:tune-armv7vetb} armv7veb-neon armv7vet2b-neon"
+PACKAGE_EXTRA_ARCHS:tune-armv7veb-neon-vfpv4  = "${PACKAGE_EXTRA_ARCHS:tune-armv7veb-neon} armv7veb-neon-vfpv4"
+PACKAGE_EXTRA_ARCHS:tune-armv7vetb-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vetb-neon} armv7veb-neon-vfpv4 armv7vet2b-neon-vfpv4"
 
 # Big Endian + HF
 AVAILTUNES += "armv7vehfb armv7vethfb armv7vehfb-vfpv3d16 armv7vethfb-vfpv3d16 armv7vehfb-vfpv3 armv7vethfb-vfpv3 armv7vehfb-vfpv4d16 armv7vethfb-vfpv4d16 armv7vehfb-neon armv7vethfb-neon armv7vehfb-neon-vfpv4 armv7vethfb-neon-vfpv4"
-ARMPKGARCH_tune-armv7vehfb             ?= "armv7ve"
-ARMPKGARCH_tune-armv7vethfb            ?= "armv7ve"
-ARMPKGARCH_tune-armv7vehfb-vfpv3d16    ?= "armv7ve"
-ARMPKGARCH_tune-armv7vethfb-vfpv3d16   ?= "armv7ve"
-ARMPKGARCH_tune-armv7vehfb-vfpv3       ?= "armv7ve"
-ARMPKGARCH_tune-armv7vethfb-vfpv3      ?= "armv7ve"
-ARMPKGARCH_tune-armv7vehfb-vfpv4d16    ?= "armv7ve"
-ARMPKGARCH_tune-armv7vethfb-vfpv4d16   ?= "armv7ve"
-ARMPKGARCH_tune-armv7vehfb-neon        ?= "armv7ve"
-ARMPKGARCH_tune-armv7vethfb-neon       ?= "armv7ve"
-ARMPKGARCH_tune-armv7vehfb-neon-vfpv4  ?= "armv7ve"
-ARMPKGARCH_tune-armv7vethfb-neon-vfpv4 ?= "armv7ve"
-TUNE_FEATURES_tune-armv7vehfb             = "${TUNE_FEATURES_tune-armv7vehf} bigendian"
-TUNE_FEATURES_tune-armv7vethfb            = "${TUNE_FEATURES_tune-armv7vethf} bigendian"
-TUNE_FEATURES_tune-armv7vehfb-vfpv3d16    = "${TUNE_FEATURES_tune-armv7vehf-vfpv3d16} bigendian"
-TUNE_FEATURES_tune-armv7vethfb-vfpv3d16   = "${TUNE_FEATURES_tune-armv7vethf-vfpv3d16} bigendian"
-TUNE_FEATURES_tune-armv7vehfb-vfpv3       = "${TUNE_FEATURES_tune-armv7vehf-vfpv3} bigendian"
-TUNE_FEATURES_tune-armv7vethfb-vfpv3      = "${TUNE_FEATURES_tune-armv7vethf-vfpv3} bigendian"
-TUNE_FEATURES_tune-armv7vehfb-vfpv4d16    = "${TUNE_FEATURES_tune-armv7vehf-vfpv4d16} bigendian"
-TUNE_FEATURES_tune-armv7vethfb-vfpv4d16   = "${TUNE_FEATURES_tune-armv7vethf-vfpv4d16} bigendian"
-TUNE_FEATURES_tune-armv7vehfb-neon        = "${TUNE_FEATURES_tune-armv7vehf-neon} bigendian"
-TUNE_FEATURES_tune-armv7vethfb-neon       = "${TUNE_FEATURES_tune-armv7vethf-neon} bigendian"
-TUNE_FEATURES_tune-armv7vehfb-neon-vfpv4  = "${TUNE_FEATURES_tune-armv7vehf-neon-vfpv4} bigendian"
-TUNE_FEATURES_tune-armv7vethfb-neon-vfpv4 = "${TUNE_FEATURES_tune-armv7vethf-neon-vfpv4} bigendian"
-PACKAGE_EXTRA_ARCHS_tune-armv7vehfb             = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahfb} armv7vehfb-vfp"
-PACKAGE_EXTRA_ARCHS_tune-armv7vethfb            = "${PACKAGE_EXTRA_ARCHS_tune-armv7athfb} armv7vehfb-vfp armv7vet2hfb-vfp"
-PACKAGE_EXTRA_ARCHS_tune-armv7vehfb-vfpv3d16    = "${PACKAGE_EXTRA_ARCHS_tune-armv7vehfb} armv7vehfb-vfpv3d16"
-PACKAGE_EXTRA_ARCHS_tune-armv7vethfb-vfpv3d16   = "${PACKAGE_EXTRA_ARCHS_tune-armv7vethfb} armv7vehfb-vfpv3d16 armv7vet2hfb-vfpv3d16"
-PACKAGE_EXTRA_ARCHS_tune-armv7vehfb-vfpv3       = "${PACKAGE_EXTRA_ARCHS_tune-armv7vehfb-vfpv3d16} armv7vehfb-vfpv3"
-PACKAGE_EXTRA_ARCHS_tune-armv7vethfb-vfpv3      = "${PACKAGE_EXTRA_ARCHS_tune-armv7vethfb-vfpv3d16} armv7vehfb-vfpv3 armv7vet2hfb-vfpv3"
-PACKAGE_EXTRA_ARCHS_tune-armv7vehfb-vfpv4d16    = "${PACKAGE_EXTRA_ARCHS_tune-armv7vehfb} armv7vehfb-vfpv4d16"
-PACKAGE_EXTRA_ARCHS_tune-armv7vethfb-vfpv4d16   = "${PACKAGE_EXTRA_ARCHS_tune-armv7vethfb} armv7vehfb-vfpv4d16 armv7vet2hfb-vfpv4d16"
-PACKAGE_EXTRA_ARCHS_tune-armv7vehfb-neon        = "${PACKAGE_EXTRA_ARCHS_tune-armv7vehfb} armv7vehfb-neon"
-PACKAGE_EXTRA_ARCHS_tune-armv7vethfb-neon       = "${PACKAGE_EXTRA_ARCHS_tune-armv7vethfb} armv7vehfb-neon armv7vet2hfb-neon"
-PACKAGE_EXTRA_ARCHS_tune-armv7vehfb-neon-vfpv4  = "${PACKAGE_EXTRA_ARCHS_tune-armv7vehfb-neon} armv7vehfb-neon-vfpv4"
-PACKAGE_EXTRA_ARCHS_tune-armv7vethfb-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS_tune-armv7vethfb-neon} armv7vehfb-neon-vfpv4 armv7vet2hfb-neon-vfpv4"
+ARMPKGARCH:tune-armv7vehfb             ?= "armv7ve"
+ARMPKGARCH:tune-armv7vethfb            ?= "armv7ve"
+ARMPKGARCH:tune-armv7vehfb-vfpv3d16    ?= "armv7ve"
+ARMPKGARCH:tune-armv7vethfb-vfpv3d16   ?= "armv7ve"
+ARMPKGARCH:tune-armv7vehfb-vfpv3       ?= "armv7ve"
+ARMPKGARCH:tune-armv7vethfb-vfpv3      ?= "armv7ve"
+ARMPKGARCH:tune-armv7vehfb-vfpv4d16    ?= "armv7ve"
+ARMPKGARCH:tune-armv7vethfb-vfpv4d16   ?= "armv7ve"
+ARMPKGARCH:tune-armv7vehfb-neon        ?= "armv7ve"
+ARMPKGARCH:tune-armv7vethfb-neon       ?= "armv7ve"
+ARMPKGARCH:tune-armv7vehfb-neon-vfpv4  ?= "armv7ve"
+ARMPKGARCH:tune-armv7vethfb-neon-vfpv4 ?= "armv7ve"
+TUNE_FEATURES:tune-armv7vehfb             = "${TUNE_FEATURES:tune-armv7vehf} bigendian"
+TUNE_FEATURES:tune-armv7vethfb            = "${TUNE_FEATURES:tune-armv7vethf} bigendian"
+TUNE_FEATURES:tune-armv7vehfb-vfpv3d16    = "${TUNE_FEATURES:tune-armv7vehf-vfpv3d16} bigendian"
+TUNE_FEATURES:tune-armv7vethfb-vfpv3d16   = "${TUNE_FEATURES:tune-armv7vethf-vfpv3d16} bigendian"
+TUNE_FEATURES:tune-armv7vehfb-vfpv3       = "${TUNE_FEATURES:tune-armv7vehf-vfpv3} bigendian"
+TUNE_FEATURES:tune-armv7vethfb-vfpv3      = "${TUNE_FEATURES:tune-armv7vethf-vfpv3} bigendian"
+TUNE_FEATURES:tune-armv7vehfb-vfpv4d16    = "${TUNE_FEATURES:tune-armv7vehf-vfpv4d16} bigendian"
+TUNE_FEATURES:tune-armv7vethfb-vfpv4d16   = "${TUNE_FEATURES:tune-armv7vethf-vfpv4d16} bigendian"
+TUNE_FEATURES:tune-armv7vehfb-neon        = "${TUNE_FEATURES:tune-armv7vehf-neon} bigendian"
+TUNE_FEATURES:tune-armv7vethfb-neon       = "${TUNE_FEATURES:tune-armv7vethf-neon} bigendian"
+TUNE_FEATURES:tune-armv7vehfb-neon-vfpv4  = "${TUNE_FEATURES:tune-armv7vehf-neon-vfpv4} bigendian"
+TUNE_FEATURES:tune-armv7vethfb-neon-vfpv4 = "${TUNE_FEATURES:tune-armv7vethf-neon-vfpv4} bigendian"
+PACKAGE_EXTRA_ARCHS:tune-armv7vehfb             = "${PACKAGE_EXTRA_ARCHS:tune-armv7ahfb} armv7vehfb-vfp"
+PACKAGE_EXTRA_ARCHS:tune-armv7vethfb            = "${PACKAGE_EXTRA_ARCHS:tune-armv7athfb} armv7vehfb-vfp armv7vet2hfb-vfp"
+PACKAGE_EXTRA_ARCHS:tune-armv7vehfb-vfpv3d16    = "${PACKAGE_EXTRA_ARCHS:tune-armv7vehfb} armv7vehfb-vfpv3d16"
+PACKAGE_EXTRA_ARCHS:tune-armv7vethfb-vfpv3d16   = "${PACKAGE_EXTRA_ARCHS:tune-armv7vethfb} armv7vehfb-vfpv3d16 armv7vet2hfb-vfpv3d16"
+PACKAGE_EXTRA_ARCHS:tune-armv7vehfb-vfpv3       = "${PACKAGE_EXTRA_ARCHS:tune-armv7vehfb-vfpv3d16} armv7vehfb-vfpv3"
+PACKAGE_EXTRA_ARCHS:tune-armv7vethfb-vfpv3      = "${PACKAGE_EXTRA_ARCHS:tune-armv7vethfb-vfpv3d16} armv7vehfb-vfpv3 armv7vet2hfb-vfpv3"
+PACKAGE_EXTRA_ARCHS:tune-armv7vehfb-vfpv4d16    = "${PACKAGE_EXTRA_ARCHS:tune-armv7vehfb} armv7vehfb-vfpv4d16"
+PACKAGE_EXTRA_ARCHS:tune-armv7vethfb-vfpv4d16   = "${PACKAGE_EXTRA_ARCHS:tune-armv7vethfb} armv7vehfb-vfpv4d16 armv7vet2hfb-vfpv4d16"
+PACKAGE_EXTRA_ARCHS:tune-armv7vehfb-neon        = "${PACKAGE_EXTRA_ARCHS:tune-armv7vehfb} armv7vehfb-neon"
+PACKAGE_EXTRA_ARCHS:tune-armv7vethfb-neon       = "${PACKAGE_EXTRA_ARCHS:tune-armv7vethfb} armv7vehfb-neon armv7vet2hfb-neon"
+PACKAGE_EXTRA_ARCHS:tune-armv7vehfb-neon-vfpv4  = "${PACKAGE_EXTRA_ARCHS:tune-armv7vehfb-neon} armv7vehfb-neon-vfpv4"
+PACKAGE_EXTRA_ARCHS:tune-armv7vethfb-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vethfb-neon} armv7vehfb-neon-vfpv4 armv7vet2hfb-neon-vfpv4"
diff --git a/meta/conf/machine/include/arm/arch-armv8-2a.inc b/meta/conf/machine/include/arm/arch-armv8-2a.inc
index 4129689cf97..c84b1ecf246 100644
--- a/meta/conf/machine/include/arm/arch-armv8-2a.inc
+++ b/meta/conf/machine/include/arm/arch-armv8-2a.inc
@@ -9,11 +9,11 @@ require conf/machine/include/arm/arch-armv8a.inc
 
 # Little Endian base configs
 AVAILTUNES += "armv8-2a armv8-2a-crypto"
-ARMPKGARCH_tune-armv8-2a                    ?= "armv8-2a"
-ARMPKGARCH_tune-armv8-2a-crypto             ?= "armv8-2a"
-TUNE_FEATURES_tune-armv8-2a                  = "aarch64 armv8-2a"
-TUNE_FEATURES_tune-armv8-2a-crypto           = "${TUNE_FEATURES_tune-armv8-2a} crypto"
-PACKAGE_EXTRA_ARCHS_tune-armv8-2a            = "${PACKAGE_EXTRA_ARCHS_tune-armv8a} armv8-2a"
-PACKAGE_EXTRA_ARCHS_tune-armv8-2a-crypto     = "${PACKAGE_EXTRA_ARCHS_tune-armv8-2a} armv8-2a-crypto"
-BASE_LIB_tune-armv8-2a                       = "lib64"
-BASE_LIB_tune-armv8-2a-crypto                = "lib64"
+ARMPKGARCH:tune-armv8-2a                    ?= "armv8-2a"
+ARMPKGARCH:tune-armv8-2a-crypto             ?= "armv8-2a"
+TUNE_FEATURES:tune-armv8-2a                  = "aarch64 armv8-2a"
+TUNE_FEATURES:tune-armv8-2a-crypto           = "${TUNE_FEATURES:tune-armv8-2a} crypto"
+PACKAGE_EXTRA_ARCHS:tune-armv8-2a            = "${PACKAGE_EXTRA_ARCHS:tune-armv8a} armv8-2a"
+PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto     = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a} armv8-2a-crypto"
+BASE_LIB:tune-armv8-2a                       = "lib64"
+BASE_LIB:tune-armv8-2a-crypto                = "lib64"
diff --git a/meta/conf/machine/include/arm/arch-armv8a.inc b/meta/conf/machine/include/arm/arch-armv8a.inc
index 6e92bdb7a42..819dffbeba6 100644
--- a/meta/conf/machine/include/arm/arch-armv8a.inc
+++ b/meta/conf/machine/include/arm/arch-armv8a.inc
@@ -12,19 +12,19 @@ require conf/machine/include/arm/arch-arm64.inc
 
 # Little Endian base configs
 AVAILTUNES += "armv8a armv8a-crc armv8a-crc-crypto armv8a-crypto"
-ARMPKGARCH_tune-armv8a                    ?= "armv8a"
-ARMPKGARCH_tune-armv8a-crc                ?= "armv8a"
-ARMPKGARCH_tune-armv8a-crypto             ?= "armv8a"
-ARMPKGARCH_tune-armv8a-crc-crypto         ?= "armv8a"
-TUNE_FEATURES_tune-armv8a                  = "aarch64 armv8a"
-TUNE_FEATURES_tune-armv8a-crc              = "${TUNE_FEATURES_tune-armv8a} crc"
-TUNE_FEATURES_tune-armv8a-crypto           = "${TUNE_FEATURES_tune-armv8a} crypto"
-TUNE_FEATURES_tune-armv8a-crc-crypto       = "${TUNE_FEATURES_tune-armv8a-crc} crypto"
-PACKAGE_EXTRA_ARCHS_tune-armv8a            = "aarch64 armv8a"
-PACKAGE_EXTRA_ARCHS_tune-armv8a-crc        = "${PACKAGE_EXTRA_ARCHS_tune-armv8a} armv8a-crc"
-PACKAGE_EXTRA_ARCHS_tune-armv8a-crypto     = "${PACKAGE_EXTRA_ARCHS_tune-armv8a} armv8a-crypto"
-PACKAGE_EXTRA_ARCHS_tune-armv8a-crc-crypto = "${PACKAGE_EXTRA_ARCHS_tune-armv8a-crc} armv8a-crypto armv8a-crc-crypto"
-BASE_LIB_tune-armv8a                       = "lib64"
-BASE_LIB_tune-armv8a-crc                   = "lib64"
-BASE_LIB_tune-armv8a-crypto                = "lib64"
-BASE_LIB_tune-armv8a-crc-crypto            = "lib64"
+ARMPKGARCH:tune-armv8a                    ?= "armv8a"
+ARMPKGARCH:tune-armv8a-crc                ?= "armv8a"
+ARMPKGARCH:tune-armv8a-crypto             ?= "armv8a"
+ARMPKGARCH:tune-armv8a-crc-crypto         ?= "armv8a"
+TUNE_FEATURES:tune-armv8a                  = "aarch64 armv8a"
+TUNE_FEATURES:tune-armv8a-crc              = "${TUNE_FEATURES:tune-armv8a} crc"
+TUNE_FEATURES:tune-armv8a-crypto           = "${TUNE_FEATURES:tune-armv8a} crypto"
+TUNE_FEATURES:tune-armv8a-crc-crypto       = "${TUNE_FEATURES:tune-armv8a-crc} crypto"
+PACKAGE_EXTRA_ARCHS:tune-armv8a            = "aarch64 armv8a"
+PACKAGE_EXTRA_ARCHS:tune-armv8a-crc        = "${PACKAGE_EXTRA_ARCHS:tune-armv8a} armv8a-crc"
+PACKAGE_EXTRA_ARCHS:tune-armv8a-crypto     = "${PACKAGE_EXTRA_ARCHS:tune-armv8a} armv8a-crypto"
+PACKAGE_EXTRA_ARCHS:tune-armv8a-crc-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc} armv8a-crypto armv8a-crc-crypto"
+BASE_LIB:tune-armv8a                       = "lib64"
+BASE_LIB:tune-armv8a-crc                   = "lib64"
+BASE_LIB:tune-armv8a-crypto                = "lib64"
+BASE_LIB:tune-armv8a-crc-crypto            = "lib64"
diff --git a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa65.inc b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa65.inc
index 427e58947f7..c7e86887b56 100644
--- a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa65.inc
+++ b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa65.inc
@@ -10,7 +10,7 @@ require conf/machine/include/arm/arch-armv8-2a.inc
 
 # Little Endian base configs
 AVAILTUNES                                         += "cortexa65"
-ARMPKGARCH_tune-cortexa65                           = "cortexa65"
-TUNE_FEATURES_tune-cortexa65                        = "${TUNE_FEATURES_tune-armv8-2a-crypto} cortexa65"
-PACKAGE_EXTRA_ARCHS_tune-cortexa65                  = "${PACKAGE_EXTRA_ARCHS_tune-armv8-2a-crypto} cortexa65"
-BASE_LIB_tune-cortexa65                             = "lib64"
+ARMPKGARCH:tune-cortexa65                           = "cortexa65"
+TUNE_FEATURES:tune-cortexa65                        = "${TUNE_FEATURES:tune-armv8-2a-crypto} cortexa65"
+PACKAGE_EXTRA_ARCHS:tune-cortexa65                  = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} cortexa65"
+BASE_LIB:tune-cortexa65                             = "lib64"
diff --git a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa65ae.inc b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa65ae.inc
index aea47d07789..dad6d1b174f 100644
--- a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa65ae.inc
+++ b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa65ae.inc
@@ -10,7 +10,7 @@ require conf/machine/include/arm/arch-armv8-2a.inc
 
 # Little Endian base configs
 AVAILTUNES                                         += "cortexa65ae"
-ARMPKGARCH_tune-cortexa65ae                         = "cortexa65ae"
-TUNE_FEATURES_tune-cortexa65ae                      = "${TUNE_FEATURES_tune-armv8-2a-crypto} cortexa65ae"
-PACKAGE_EXTRA_ARCHS_tune-cortexa65ae                = "${PACKAGE_EXTRA_ARCHS_tune-armv8-2a-crypto} cortexa65ae"
-BASE_LIB_tune-cortexa65ae                           = "lib64"
+ARMPKGARCH:tune-cortexa65ae                         = "cortexa65ae"
+TUNE_FEATURES:tune-cortexa65ae                      = "${TUNE_FEATURES:tune-armv8-2a-crypto} cortexa65ae"
+PACKAGE_EXTRA_ARCHS:tune-cortexa65ae                = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} cortexa65ae"
+BASE_LIB:tune-cortexa65ae                           = "lib64"
diff --git a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa75-cortexa55.inc b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa75-cortexa55.inc
index 9c45fe9c961..3a47e8278d2 100644
--- a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa75-cortexa55.inc
+++ b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa75-cortexa55.inc
@@ -10,11 +10,11 @@ TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "cortexa75-cortexa55", " -
 require conf/machine/include/arm/arch-armv8-2a.inc
 
 AVAILTUNES                                         += "cortexa75-cortexa55 cortexa75-cortexa55-crypto"
-ARMPKGARCH_tune-cortexa75-cortexa55                 = "cortexa75-cortexa55"
-ARMPKGARCH_tune-cortexa75-cortexa55-crypto          = "cortexa75-cortexa55-crypto"
-TUNE_FEATURES_tune-cortexa75-cortexa55              = "${TUNE_FEATURES_tune-armv8-2a} cortexa75-cortexa55"
-TUNE_FEATURES_tune-cortexa75-cortexa55-crypto       = "${TUNE_FEATURES_tune-cortexa75-cortexa55} crypto"
-PACKAGE_EXTRA_ARCHS_tune-cortexa75-cortexa55        = "${PACKAGE_EXTRA_ARCHS_tune-armv8-2a} cortexa75-cortexa55"
-PACKAGE_EXTRA_ARCHS_tune-cortexa75-cortexa55-crypto = "${PACKAGE_EXTRA_ARCHS_tune-armv8-2a-crypto} cortexa75-cortexa55 cortexa75-cortexa55-crypto"
-BASE_LIB_tune-cortexa75-cortexa55                   = "lib64"
-BASE_LIB_tune-cortexa75-cortexa55-crypto            = "lib64"
+ARMPKGARCH:tune-cortexa75-cortexa55                 = "cortexa75-cortexa55"
+ARMPKGARCH:tune-cortexa75-cortexa55-crypto          = "cortexa75-cortexa55-crypto"
+TUNE_FEATURES:tune-cortexa75-cortexa55              = "${TUNE_FEATURES:tune-armv8-2a} cortexa75-cortexa55"
+TUNE_FEATURES:tune-cortexa75-cortexa55-crypto       = "${TUNE_FEATURES:tune-cortexa75-cortexa55} crypto"
+PACKAGE_EXTRA_ARCHS:tune-cortexa75-cortexa55        = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a} cortexa75-cortexa55"
+PACKAGE_EXTRA_ARCHS:tune-cortexa75-cortexa55-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} cortexa75-cortexa55 cortexa75-cortexa55-crypto"
+BASE_LIB:tune-cortexa75-cortexa55                   = "lib64"
+BASE_LIB:tune-cortexa75-cortexa55-crypto            = "lib64"
diff --git a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa75.inc b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa75.inc
index d019450da7b..2d9a1159f1a 100644
--- a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa75.inc
+++ b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa75.inc
@@ -10,7 +10,7 @@ require conf/machine/include/arm/arch-armv8-2a.inc
 
 # Little Endian base configs
 AVAILTUNES                                         += "cortexa75"
-ARMPKGARCH_tune-cortexa75                           = "cortexa75"
-TUNE_FEATURES_tune-cortexa75                        = "${TUNE_FEATURES_tune-armv8-2a-crypto} cortexa75"
-PACKAGE_EXTRA_ARCHS_tune-cortexa75                  = "${PACKAGE_EXTRA_ARCHS_tune-armv8-2a-crypto} cortexa75"
-BASE_LIB_tune-cortexa75                             = "lib64"
+ARMPKGARCH:tune-cortexa75                           = "cortexa75"
+TUNE_FEATURES:tune-cortexa75                        = "${TUNE_FEATURES:tune-armv8-2a-crypto} cortexa75"
+PACKAGE_EXTRA_ARCHS:tune-cortexa75                  = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} cortexa75"
+BASE_LIB:tune-cortexa75                             = "lib64"
diff --git a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa76-cortexa55.inc b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa76-cortexa55.inc
index cae8ffed745..f4c99ad6bbc 100644
--- a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa76-cortexa55.inc
+++ b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa76-cortexa55.inc
@@ -10,11 +10,11 @@ TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "cortexa76-cortexa55", " -
 require conf/machine/include/arm/arch-armv8-2a.inc
 
 AVAILTUNES                                         += "cortexa76-cortexa55 cortexa76-cortexa55-crypto"
-ARMPKGARCH_tune-cortexa76-cortexa55                 = "cortexa76-cortexa55"
-ARMPKGARCH_tune-cortexa76-cortexa55-crypto          = "cortexa76-cortexa55-crypto"
-TUNE_FEATURES_tune-cortexa76-cortexa55              = "${TUNE_FEATURES_tune-armv8-2a} cortexa76-cortexa55"
-TUNE_FEATURES_tune-cortexa76-cortexa55-crypto       = "${TUNE_FEATURES_tune-cortexa76-cortexa55} crypto"
-PACKAGE_EXTRA_ARCHS_tune-cortexa76-cortexa55        = "${PACKAGE_EXTRA_ARCHS_tune-armv8-2a} cortexa76-cortexa55"
-PACKAGE_EXTRA_ARCHS_tune-cortexa76-cortexa55-crypto = "${PACKAGE_EXTRA_ARCHS_tune-armv8-2a-crypto} cortexa76-cortexa55 cortexa76-cortexa55-crypto"
-BASE_LIB_tune-cortexa76-cortexa55                   = "lib64"
-BASE_LIB_tune-cortexa76-cortexa55-crypto            = "lib64"
+ARMPKGARCH:tune-cortexa76-cortexa55                 = "cortexa76-cortexa55"
+ARMPKGARCH:tune-cortexa76-cortexa55-crypto          = "cortexa76-cortexa55-crypto"
+TUNE_FEATURES:tune-cortexa76-cortexa55              = "${TUNE_FEATURES:tune-armv8-2a} cortexa76-cortexa55"
+TUNE_FEATURES:tune-cortexa76-cortexa55-crypto       = "${TUNE_FEATURES:tune-cortexa76-cortexa55} crypto"
+PACKAGE_EXTRA_ARCHS:tune-cortexa76-cortexa55        = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a} cortexa76-cortexa55"
+PACKAGE_EXTRA_ARCHS:tune-cortexa76-cortexa55-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} cortexa76-cortexa55 cortexa76-cortexa55-crypto"
+BASE_LIB:tune-cortexa76-cortexa55                   = "lib64"
+BASE_LIB:tune-cortexa76-cortexa55-crypto            = "lib64"
diff --git a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa76.inc b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa76.inc
index ae3661a0c42..0dfdb8c5e48 100644
--- a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa76.inc
+++ b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa76.inc
@@ -10,7 +10,7 @@ require conf/machine/include/arm/arch-armv8-2a.inc
 
 # Little Endian base configs
 AVAILTUNES                                         += "cortexa76"
-ARMPKGARCH_tune-cortexa76                           = "cortexa76"
-TUNE_FEATURES_tune-cortexa76                        = "${TUNE_FEATURES_tune-armv8-2a-crypto} cortexa76"
-PACKAGE_EXTRA_ARCHS_tune-cortexa76                  = "${PACKAGE_EXTRA_ARCHS_tune-armv8-2a-crypto} cortexa76"
-BASE_LIB_tune-cortexa76                             = "lib64"
+ARMPKGARCH:tune-cortexa76                           = "cortexa76"
+TUNE_FEATURES:tune-cortexa76                        = "${TUNE_FEATURES:tune-armv8-2a-crypto} cortexa76"
+PACKAGE_EXTRA_ARCHS:tune-cortexa76                  = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} cortexa76"
+BASE_LIB:tune-cortexa76                             = "lib64"
diff --git a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa76ae.inc b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa76ae.inc
index 8d5a0ef5e21..b2863dca682 100644
--- a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa76ae.inc
+++ b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa76ae.inc
@@ -10,7 +10,7 @@ require conf/machine/include/arm/arch-armv8-2a.inc
 
 # Little Endian base configs
 AVAILTUNES                                         += "cortexa76ae"
-ARMPKGARCH_tune-cortexa76ae                         = "cortexa76ae"
-TUNE_FEATURES_tune-cortexa76ae                      = "${TUNE_FEATURES_tune-armv8-2a-crypto} cortexa76ae"
-PACKAGE_EXTRA_ARCHS_tune-cortexa76ae                = "${PACKAGE_EXTRA_ARCHS_tune-armv8-2a-crypto} cortexa76ae"
-BASE_LIB_tune-cortexa76ae                           = "lib64"
+ARMPKGARCH:tune-cortexa76ae                         = "cortexa76ae"
+TUNE_FEATURES:tune-cortexa76ae                      = "${TUNE_FEATURES:tune-armv8-2a-crypto} cortexa76ae"
+PACKAGE_EXTRA_ARCHS:tune-cortexa76ae                = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} cortexa76ae"
+BASE_LIB:tune-cortexa76ae                           = "lib64"
diff --git a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa77.inc b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa77.inc
index 048fa319e20..654b1f6323d 100644
--- a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa77.inc
+++ b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa77.inc
@@ -10,7 +10,7 @@ require conf/machine/include/arm/arch-armv8-2a.inc
 
 # Little Endian base configs
 AVAILTUNES                                         += "cortexa77"
-ARMPKGARCH_tune-cortexa77                           = "cortexa77"
-TUNE_FEATURES_tune-cortexa77                        = "${TUNE_FEATURES_tune-armv8-2a-crypto} cortexa77"
-PACKAGE_EXTRA_ARCHS_tune-cortexa77                  = "${PACKAGE_EXTRA_ARCHS_tune-armv8-2a-crypto} cortexa77"
-BASE_LIB_tune-cortexa77                             = "lib64"
+ARMPKGARCH:tune-cortexa77                           = "cortexa77"
+TUNE_FEATURES:tune-cortexa77                        = "${TUNE_FEATURES:tune-armv8-2a-crypto} cortexa77"
+PACKAGE_EXTRA_ARCHS:tune-cortexa77                  = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} cortexa77"
+BASE_LIB:tune-cortexa77                             = "lib64"
diff --git a/meta/conf/machine/include/arm/armv8-2a/tune-neoversee1.inc b/meta/conf/machine/include/arm/armv8-2a/tune-neoversee1.inc
index b82c9acb6c4..15ed595bdea 100644
--- a/meta/conf/machine/include/arm/armv8-2a/tune-neoversee1.inc
+++ b/meta/conf/machine/include/arm/armv8-2a/tune-neoversee1.inc
@@ -10,7 +10,7 @@ require conf/machine/include/arm/arch-armv8-2a.inc
 
 # Little Endian base configs
 AVAILTUNES                                         += "neoversee1"
-ARMPKGARCH_tune-neoversee1                          = "neoversee1"
-TUNE_FEATURES_tune-neoversee1                       = "${TUNE_FEATURES_tune-armv8-2a-crypto} neoversee1"
-PACKAGE_EXTRA_ARCHS_tune-neoversee1                 = "${PACKAGE_EXTRA_ARCHS_tune-armv8-2a-crypto} neoversee1"
-BASE_LIB_tune-neoversee1                            = "lib64"
+ARMPKGARCH:tune-neoversee1                          = "neoversee1"
+TUNE_FEATURES:tune-neoversee1                       = "${TUNE_FEATURES:tune-armv8-2a-crypto} neoversee1"
+PACKAGE_EXTRA_ARCHS:tune-neoversee1                 = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} neoversee1"
+BASE_LIB:tune-neoversee1                            = "lib64"
diff --git a/meta/conf/machine/include/arm/armv8-2a/tune-neoversen1.inc b/meta/conf/machine/include/arm/armv8-2a/tune-neoversen1.inc
index 6c6e889c0f2..9d181ef4d5d 100644
--- a/meta/conf/machine/include/arm/armv8-2a/tune-neoversen1.inc
+++ b/meta/conf/machine/include/arm/armv8-2a/tune-neoversen1.inc
@@ -11,7 +11,7 @@ require conf/machine/include/arm/arch-armv8-2a.inc
 
 # Little Endian base configs
 AVAILTUNES                                         += "neoversen1"
-ARMPKGARCH_tune-neoversen1                          = "neoversen1"
-TUNE_FEATURES_tune-neoversen1                       = "${TUNE_FEATURES_tune-armv8-2a-crypto} neoversen1"
-PACKAGE_EXTRA_ARCHS_tune-neoversen1                 = "${PACKAGE_EXTRA_ARCHS_tune-armv8-2a-crypto} neoversen1"
-BASE_LIB_tune-neoversen1                            = "lib64"
+ARMPKGARCH:tune-neoversen1                          = "neoversen1"
+TUNE_FEATURES:tune-neoversen1                       = "${TUNE_FEATURES:tune-armv8-2a-crypto} neoversen1"
+PACKAGE_EXTRA_ARCHS:tune-neoversen1                 = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} neoversen1"
+BASE_LIB:tune-neoversen1                            = "lib64"
diff --git a/meta/conf/machine/include/arm/armv8-2a/tune-octeontx2.inc b/meta/conf/machine/include/arm/armv8-2a/tune-octeontx2.inc
index f873b9517e2..2cac70ea525 100644
--- a/meta/conf/machine/include/arm/armv8-2a/tune-octeontx2.inc
+++ b/meta/conf/machine/include/arm/armv8-2a/tune-octeontx2.inc
@@ -7,7 +7,7 @@ require conf/machine/include/arm/arch-armv8-2a.inc
 
 # Little Endian base configs
 AVAILTUNES += "octeontx2"
-ARMPKGARCH_tune-octeontx2             = "octeontx2"
-TUNE_FEATURES_tune-octeontx2          = "${TUNE_FEATURES_tune-armv8-2a-crypto} octeontx2"
-PACKAGE_EXTRA_ARCHS_tune-octeontx2    = "${PACKAGE_EXTRA_ARCHS_tune-armv8-2a-crypto} octeontx2"
-BASE_LIB_tune-octeontx2               = "lib64"
+ARMPKGARCH:tune-octeontx2             = "octeontx2"
+TUNE_FEATURES:tune-octeontx2          = "${TUNE_FEATURES:tune-armv8-2a-crypto} octeontx2"
+PACKAGE_EXTRA_ARCHS:tune-octeontx2    = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} octeontx2"
+BASE_LIB:tune-octeontx2               = "lib64"
diff --git a/meta/conf/machine/include/arm/armv8a/tune-cortexa34.inc b/meta/conf/machine/include/arm/armv8a/tune-cortexa34.inc
index f7d4c87df8a..55dd845b005 100644
--- a/meta/conf/machine/include/arm/armv8a/tune-cortexa34.inc
+++ b/meta/conf/machine/include/arm/armv8a/tune-cortexa34.inc
@@ -10,11 +10,11 @@ require conf/machine/include/arm/arch-armv8a.inc
 
 # Little Endian base configs
 AVAILTUNES                                += "cortexa34 cortexa34-crypto"
-ARMPKGARCH_tune-cortexa34                  = "cortexa34"
-ARMPKGARCH_tune-cortexa34-crypto           = "cortexa34"
-TUNE_FEATURES_tune-cortexa34               = "${TUNE_FEATURES_tune-armv8a-crc} cortexa34"
-TUNE_FEATURES_tune-cortexa34-crypto        = "${TUNE_FEATURES_tune-cortexa34} crypto"
-PACKAGE_EXTRA_ARCHS_tune-cortexa34         = "${PACKAGE_EXTRA_ARCHS_tune-armv8a-crc} cortexa34"
-PACKAGE_EXTRA_ARCHS_tune-cortexa34-crypto  = "${PACKAGE_EXTRA_ARCHS_tune-armv8a-crc-crypto} cortexa34 cortexa34-crypto"
-BASE_LIB_tune-cortexa34                    = "lib64"
-BASE_LIB_tune-cortexa34-crypto             = "lib64"
+ARMPKGARCH:tune-cortexa34                  = "cortexa34"
+ARMPKGARCH:tune-cortexa34-crypto           = "cortexa34"
+TUNE_FEATURES:tune-cortexa34               = "${TUNE_FEATURES:tune-armv8a-crc} cortexa34"
+TUNE_FEATURES:tune-cortexa34-crypto        = "${TUNE_FEATURES:tune-cortexa34} crypto"
+PACKAGE_EXTRA_ARCHS:tune-cortexa34         = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc} cortexa34"
+PACKAGE_EXTRA_ARCHS:tune-cortexa34-crypto  = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc-crypto} cortexa34 cortexa34-crypto"
+BASE_LIB:tune-cortexa34                    = "lib64"
+BASE_LIB:tune-cortexa34-crypto             = "lib64"
diff --git a/meta/conf/machine/include/arm/armv8a/tune-cortexa73-cortexa35.inc b/meta/conf/machine/include/arm/armv8a/tune-cortexa73-cortexa35.inc
index 927296c2223..869670bf0cf 100644
--- a/meta/conf/machine/include/arm/armv8a/tune-cortexa73-cortexa35.inc
+++ b/meta/conf/machine/include/arm/armv8a/tune-cortexa73-cortexa35.inc
@@ -11,11 +11,11 @@ require conf/machine/include/arm/arch-armv8a.inc
 
 # cortexa73.cortexa35 implies crc support
 AVAILTUNES                                          += "cortexa73-cortexa35 cortexa73-cortexa35-crypto"
-ARMPKGARCH_tune-cortexa73-cortexa35                  = "cortexa73-cortexa35"
-ARMPKGARCH_tune-cortexa73-cortexa35-crypto           = "cortexa73-cortexa35-crypto"
-TUNE_FEATURES_tune-cortexa73-cortexa35               = "${TUNE_FEATURES_tune-armv8a-crc} cortexa73-cortexa35"
-TUNE_FEATURES_tune-cortexa73-cortexa35-crypto        = "${TUNE_FEATURES_tune-cortexa73-cortexa35} crypto"
-PACKAGE_EXTRA_ARCHS_tune-cortexa73-cortexa35         = "${PACKAGE_EXTRA_ARCHS_tune-armv8a-crc} cortexa73-cortexa35"
-PACKAGE_EXTRA_ARCHS_tune-cortexa73-cortexa35-crypto  = "${PACKAGE_EXTRA_ARCHS_tune-armv8a-crc-crypto} cortexa73-cortexa35 cortexa73-cortexa35-crypto"
-BASE_LIB_tune-cortexa73-cortexa35                    = "lib64"
-BASE_LIB_tune-cortexa73-cortexa35-crypto             = "lib64"
+ARMPKGARCH:tune-cortexa73-cortexa35                  = "cortexa73-cortexa35"
+ARMPKGARCH:tune-cortexa73-cortexa35-crypto           = "cortexa73-cortexa35-crypto"
+TUNE_FEATURES:tune-cortexa73-cortexa35               = "${TUNE_FEATURES:tune-armv8a-crc} cortexa73-cortexa35"
+TUNE_FEATURES:tune-cortexa73-cortexa35-crypto        = "${TUNE_FEATURES:tune-cortexa73-cortexa35} crypto"
+PACKAGE_EXTRA_ARCHS:tune-cortexa73-cortexa35         = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc} cortexa73-cortexa35"
+PACKAGE_EXTRA_ARCHS:tune-cortexa73-cortexa35-crypto  = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc-crypto} cortexa73-cortexa35 cortexa73-cortexa35-crypto"
+BASE_LIB:tune-cortexa73-cortexa35                    = "lib64"
+BASE_LIB:tune-cortexa73-cortexa35-crypto             = "lib64"
diff --git a/meta/conf/machine/include/arm/armv8a/tune-cortexa73.inc b/meta/conf/machine/include/arm/armv8a/tune-cortexa73.inc
index ed2deb96b0c..fc91dafb1d8 100644
--- a/meta/conf/machine/include/arm/armv8a/tune-cortexa73.inc
+++ b/meta/conf/machine/include/arm/armv8a/tune-cortexa73.inc
@@ -10,7 +10,7 @@ require conf/machine/include/arm/arch-armv8a.inc
 
 # Little Endian base configs
 AVAILTUNES                                += "cortexa73"
-ARMPKGARCH_tune-cortexa73                  = "cortexa73"
-TUNE_FEATURES_tune-cortexa73               = "${TUNE_FEATURES_tune-armv8a-crc-crypto} cortexa73"
-PACKAGE_EXTRA_ARCHS_tune-cortexa73         = "${PACKAGE_EXTRA_ARCHS_tune-armv8a-crc-crypto} cortexa73"
-BASE_LIB_tune-cortexa73                    = "lib64"
+ARMPKGARCH:tune-cortexa73                  = "cortexa73"
+TUNE_FEATURES:tune-cortexa73               = "${TUNE_FEATURES:tune-armv8a-crc-crypto} cortexa73"
+PACKAGE_EXTRA_ARCHS:tune-cortexa73         = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc-crypto} cortexa73"
+BASE_LIB:tune-cortexa73                    = "lib64"
diff --git a/meta/conf/machine/include/arm/feature-arm-thumb.inc b/meta/conf/machine/include/arm/feature-arm-thumb.inc
index bae169da3af..1c9a118160a 100644
--- a/meta/conf/machine/include/arm/feature-arm-thumb.inc
+++ b/meta/conf/machine/include/arm/feature-arm-thumb.inc
@@ -22,9 +22,9 @@ python () {
 TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'thumb', ' -m${ARM_M_OPT}', '', d)}"
 
 ARM_THUMB_SUFFIX = "t2"
-ARM_THUMB_SUFFIX_armv4 = "t"
-ARM_THUMB_SUFFIX_armv5 = "t"
-ARM_THUMB_SUFFIX_armv6 = "t"
+ARM_THUMB_SUFFIX:armv4 = "t"
+ARM_THUMB_SUFFIX:armv5 = "t"
+ARM_THUMB_SUFFIX:armv6 = "t"
 
 # Add suffix from ARM_THUMB_SUFFIX only if after all this we still set ARM_M_OPT to thumb
 ARMPKGSFX_THUMB .= "${@bb.utils.contains('TUNE_FEATURES', 'thumb', '${ARM_THUMB_SUFFIX}', '', d) if d.getVar('ARM_M_OPT') == 'thumb' else ''}"
diff --git a/meta/conf/machine/include/m68k/arch-m68k.inc b/meta/conf/machine/include/m68k/arch-m68k.inc
index 3ff8a3a5b5a..3f0f2ff57eb 100644
--- a/meta/conf/machine/include/m68k/arch-m68k.inc
+++ b/meta/conf/machine/include/m68k/arch-m68k.inc
@@ -5,4 +5,4 @@ DEFAULTTUNE ?= "m68k"
 # Architecture name
 TUNE_ARCH = "m68k"
 
-TUNE_PKGARCH = "${TUNE_PKGARCH_tune-${DEFAULTTUNE}}"
+TUNE_PKGARCH = "${TUNE_PKGARCH:tune-${DEFAULTTUNE}}"
diff --git a/meta/conf/machine/include/mips/README b/meta/conf/machine/include/mips/README
index f36e87b45ab..77448c51908 100644
--- a/meta/conf/machine/include/mips/README
+++ b/meta/conf/machine/include/mips/README
@@ -23,7 +23,7 @@ scheme.  The scheme is: <mips variant>[-nf][-n32]
 
 TUNE_PKGARCH is defined as:
 
-${MIPSPKGSFX_VARIANT_tune-${DEFAULTTUNE}}${MIPSPKGSFX_FPU}${MIPSPKGSFX_ABI}
+${MIPSPKGSFX_VARIANT:tune-${DEFAULTTUNE}}${MIPSPKGSFX_FPU}${MIPSPKGSFX_ABI}
 
 The following is a list of MIPS specific variables:
 
@@ -35,7 +35,7 @@ defined as "el".
 MIPSPKGSFX_ENDIAN2 - For bigendian hardware this is "eb", otherwise it's
 defined as "el".
 
-MIPSPKGSFX_VARIANT_tune-<tune> - In the default tunings it is set to the
+MIPSPKGSFX_VARIANT:tune-<tune> - In the default tunings it is set to the
 same value as TUNE_ARCH.  In custom, optimized tunings, the value should
 be modified to more precisely describe the tuning.
 
diff --git a/meta/conf/machine/include/mips/arch-mips.inc b/meta/conf/machine/include/mips/arch-mips.inc
index cb1a4c443c8..e48ddd2d6b4 100644
--- a/meta/conf/machine/include/mips/arch-mips.inc
+++ b/meta/conf/machine/include/mips/arch-mips.inc
@@ -21,7 +21,7 @@ ABIEXTENSION .= "${@bb.utils.filter('TUNE_FEATURES', 'n32', d)}"
 TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'n32', ' -mabi=n32', '', d)}"
 
 # user mode qemu doesn't support mips64 n32: "Invalid ELF image for this architecture"
-MACHINE_FEATURES_BACKFILL_CONSIDERED_append = " ${@bb.utils.contains('TUNE_FEATURES', 'n32', 'qemu-usermode', '', d)}"
+MACHINE_FEATURES_BACKFILL_CONSIDERED:append = " ${@bb.utils.contains('TUNE_FEATURES', 'n32', 'qemu-usermode', '', d)}"
 
 TUNEVALID[n64] = "MIPS64 n64 ABI"
 TUNECONFLICTS[n64] = "o32 n32"
@@ -49,7 +49,7 @@ MIPSPKGSFX_64R6 = "${@bb.utils.contains('TUNE_FEATURES', 'mipsisa64r6', 'isa', '
 MIPSPKGSFX_32R6 = "${@bb.utils.contains('TUNE_FEATURES', 'mipsisa32r6', 'isa32', '', d)}"
 
 TUNE_ARCH = "mips${MIPSPKGSFX_32R6}${MIPSPKGSFX_64R6}${MIPSPKGSFX_BYTE}${MIPSPKGSFX_R6}${MIPSPKGSFX_ENDIAN}"
-TUNE_PKGARCH = "${MIPSPKGSFX_VARIANT_tune-${DEFAULTTUNE}}${MIPSPKGSFX_FPU}${MIPSPKGSFX_ABI}"
+TUNE_PKGARCH = "${MIPSPKGSFX_VARIANT:tune-${DEFAULTTUNE}}${MIPSPKGSFX_FPU}${MIPSPKGSFX_ABI}"
 
 # Various Global Machine Overrides
 MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'n64', 'mipsarchn64${MIPSPKGSFX_ENDIAN2}:', '', d)}"
@@ -64,88 +64,88 @@ MACHINEOVERRIDES =. "mipsarch:"
 
 # Base tunes
 AVAILTUNES += "mips mips64-n32 mips64 mipsel mips64el-n32 mips64el mips-nf mips64-nf-n32 mips64-nf mipsel-nf mips64el-nf-n32 mips64el-nf"
-TUNE_FEATURES_tune-mips = "o32 bigendian fpu-hard"
-BASE_LIB_tune-mips = "lib"
-MIPSPKGSFX_VARIANT_tune-mips = "${TUNE_ARCH}"
-PACKAGE_EXTRA_ARCHS_tune-mips = "mips"
-
-TUNE_FEATURES_tune-mips64-n32 = "n32 bigendian fpu-hard"
-BASE_LIB_tune-mips64-n32 = "lib32"
-MIPSPKGSFX_VARIANT_tune-mips64-n32 = "${TUNE_ARCH}"
-PACKAGE_EXTRA_ARCHS_tune-mips64-n32 = "mips64-n32"
-
-TUNE_FEATURES_tune-mips64 = "n64 bigendian fpu-hard"
-BASE_LIB_tune-mips64 = "lib64"
-MIPSPKGSFX_VARIANT_tune-mips64 = "${TUNE_ARCH}"
-PACKAGE_EXTRA_ARCHS_tune-mips64 = "mips64"
-
-TUNE_FEATURES_tune-mipsel = "o32 fpu-hard"
-BASE_LIB_tune-mipsel = "lib"
-MIPSPKGSFX_VARIANT_tune-mipsel = "${TUNE_ARCH}"
-PACKAGE_EXTRA_ARCHS_tune-mipsel = "mipsel"
-
-TUNE_FEATURES_tune-mips64el-n32 = "n32 fpu-hard"
-BASE_LIB_tune-mips64el-n32 = "lib32"
-MIPSPKGSFX_VARIANT_tune-mips64el-n32 = "${TUNE_ARCH}"
-PACKAGE_EXTRA_ARCHS_tune-mips64el-n32 = "mips64el-n32"
-
-TUNE_FEATURES_tune-mips64el = "n64 fpu-hard"
-BASE_LIB_tune-mips64el = "lib64"
-MIPSPKGSFX_VARIANT_tune-mips64el = "${TUNE_ARCH}"
-PACKAGE_EXTRA_ARCHS_tune-mips64el = "mips64el"
-
-TUNE_FEATURES_tune-mips-nf = "o32 bigendian"
-BASE_LIB_tune-mips-nf = "lib"
-MIPSPKGSFX_VARIANT_tune-mips-nf = "${TUNE_ARCH}"
-PACKAGE_EXTRA_ARCHS_tune-mips-nf = "mips-nf"
-
-TUNE_FEATURES_tune-mips64-nf-n32 = "n32 bigendian"
-BASE_LIB_tune-mips64-nf-n32 = "lib32"
-MIPSPKGSFX_VARIANT_tune-mips64-nf-n32 = "${TUNE_ARCH}"
-PACKAGE_EXTRA_ARCHS_tune-mips64-nf-n32 = "mips64-nf-n32"
-
-TUNE_FEATURES_tune-mips64-nf = "n64 bigendian"
-BASE_LIB_tune-mips64-nf = "lib64"
-MIPSPKGSFX_VARIANT_tune-mips64-nf = "${TUNE_ARCH}"
-PACKAGE_EXTRA_ARCHS_tune-mips64-nf = "mips64-nf"
-
-TUNE_FEATURES_tune-mipsel-nf = "o32"
-BASE_LIB_tune-mipsel-nf = "lib"
-MIPSPKGSFX_VARIANT_tune-mipsel-nf = "${TUNE_ARCH}"
-PACKAGE_EXTRA_ARCHS_tune-mipsel-nf = "mipsel-nf"
-
-TUNE_FEATURES_tune-mips64el-nf-n32 = "n32"
-BASE_LIB_tune-mips64el-nf-n32 = "lib32"
-MIPSPKGSFX_VARIANT_tune-mips64el-nf-n32 = "${TUNE_ARCH}"
-PACKAGE_EXTRA_ARCHS_tune-mips64el-nf-n32 = "mips64el-nf-n32"
-
-TUNE_FEATURES_tune-mips64el-nf = "n64"
-BASE_LIB_tune-mips64el-nf = "lib64"
-MIPSPKGSFX_VARIANT_tune-mips64el-nf = "${TUNE_ARCH}"
-PACKAGE_EXTRA_ARCHS_tune-mips64el-nf = "mips64el-nf"
+TUNE_FEATURES:tune-mips = "o32 bigendian fpu-hard"
+BASE_LIB:tune-mips = "lib"
+MIPSPKGSFX_VARIANT:tune-mips = "${TUNE_ARCH}"
+PACKAGE_EXTRA_ARCHS:tune-mips = "mips"
+
+TUNE_FEATURES:tune-mips64-n32 = "n32 bigendian fpu-hard"
+BASE_LIB:tune-mips64-n32 = "lib32"
+MIPSPKGSFX_VARIANT:tune-mips64-n32 = "${TUNE_ARCH}"
+PACKAGE_EXTRA_ARCHS:tune-mips64-n32 = "mips64-n32"
+
+TUNE_FEATURES:tune-mips64 = "n64 bigendian fpu-hard"
+BASE_LIB:tune-mips64 = "lib64"
+MIPSPKGSFX_VARIANT:tune-mips64 = "${TUNE_ARCH}"
+PACKAGE_EXTRA_ARCHS:tune-mips64 = "mips64"
+
+TUNE_FEATURES:tune-mipsel = "o32 fpu-hard"
+BASE_LIB:tune-mipsel = "lib"
+MIPSPKGSFX_VARIANT:tune-mipsel = "${TUNE_ARCH}"
+PACKAGE_EXTRA_ARCHS:tune-mipsel = "mipsel"
+
+TUNE_FEATURES:tune-mips64el-n32 = "n32 fpu-hard"
+BASE_LIB:tune-mips64el-n32 = "lib32"
+MIPSPKGSFX_VARIANT:tune-mips64el-n32 = "${TUNE_ARCH}"
+PACKAGE_EXTRA_ARCHS:tune-mips64el-n32 = "mips64el-n32"
+
+TUNE_FEATURES:tune-mips64el = "n64 fpu-hard"
+BASE_LIB:tune-mips64el = "lib64"
+MIPSPKGSFX_VARIANT:tune-mips64el = "${TUNE_ARCH}"
+PACKAGE_EXTRA_ARCHS:tune-mips64el = "mips64el"
+
+TUNE_FEATURES:tune-mips-nf = "o32 bigendian"
+BASE_LIB:tune-mips-nf = "lib"
+MIPSPKGSFX_VARIANT:tune-mips-nf = "${TUNE_ARCH}"
+PACKAGE_EXTRA_ARCHS:tune-mips-nf = "mips-nf"
+
+TUNE_FEATURES:tune-mips64-nf-n32 = "n32 bigendian"
+BASE_LIB:tune-mips64-nf-n32 = "lib32"
+MIPSPKGSFX_VARIANT:tune-mips64-nf-n32 = "${TUNE_ARCH}"
+PACKAGE_EXTRA_ARCHS:tune-mips64-nf-n32 = "mips64-nf-n32"
+
+TUNE_FEATURES:tune-mips64-nf = "n64 bigendian"
+BASE_LIB:tune-mips64-nf = "lib64"
+MIPSPKGSFX_VARIANT:tune-mips64-nf = "${TUNE_ARCH}"
+PACKAGE_EXTRA_ARCHS:tune-mips64-nf = "mips64-nf"
+
+TUNE_FEATURES:tune-mipsel-nf = "o32"
+BASE_LIB:tune-mipsel-nf = "lib"
+MIPSPKGSFX_VARIANT:tune-mipsel-nf = "${TUNE_ARCH}"
+PACKAGE_EXTRA_ARCHS:tune-mipsel-nf = "mipsel-nf"
+
+TUNE_FEATURES:tune-mips64el-nf-n32 = "n32"
+BASE_LIB:tune-mips64el-nf-n32 = "lib32"
+MIPSPKGSFX_VARIANT:tune-mips64el-nf-n32 = "${TUNE_ARCH}"
+PACKAGE_EXTRA_ARCHS:tune-mips64el-nf-n32 = "mips64el-nf-n32"
+
+TUNE_FEATURES:tune-mips64el-nf = "n64"
+BASE_LIB:tune-mips64el-nf = "lib64"
+MIPSPKGSFX_VARIANT:tune-mips64el-nf = "${TUNE_ARCH}"
+PACKAGE_EXTRA_ARCHS:tune-mips64el-nf = "mips64el-nf"
 
 # MIPS 64 + o32
 AVAILTUNES += "mips64-o32 mips64el-o32"
 
-TUNE_FEATURES_tune-mips64-o32 = "o32 bigendian fpu-hard"
-BASE_LIB_tune-mips64-o32 = "lib"
-MIPSPKGSFX_VARIANT_tune-mips64-o32 = "${TUNE_ARCH}"
-PACKAGE_EXTRA_ARCHS_tune-mips64-o32 = "mips mips64-o32"
+TUNE_FEATURES:tune-mips64-o32 = "o32 bigendian fpu-hard"
+BASE_LIB:tune-mips64-o32 = "lib"
+MIPSPKGSFX_VARIANT:tune-mips64-o32 = "${TUNE_ARCH}"
+PACKAGE_EXTRA_ARCHS:tune-mips64-o32 = "mips mips64-o32"
 
-TUNE_FEATURES_tune-mips64el-o32 = "o32 fpu-hard"
-BASE_LIB_tune-mips64el-o32 = "lib"
-MIPSPKGSFX_VARIANT_tune-mips64el-o32 = "${TUNE_ARCH}"
-PACKAGE_EXTRA_ARCHS_tune-mips64el-o32 = "mipsel mips64el-o32"
+TUNE_FEATURES:tune-mips64el-o32 = "o32 fpu-hard"
+BASE_LIB:tune-mips64el-o32 = "lib"
+MIPSPKGSFX_VARIANT:tune-mips64el-o32 = "${TUNE_ARCH}"
+PACKAGE_EXTRA_ARCHS:tune-mips64el-o32 = "mipsel mips64el-o32"
 
 # MIPS 64 o32 and Soft Float
 AVAILTUNES += "mips64-nf-o32 mips64el-nf-o32"
 
-TUNE_FEATURES_tune-mips64-nf-o32 = "o32 bigendian"
-BASE_LIB_tune-mips64-nf-o32 = "lib"
-MIPSPKGSFX_VARIANT_tune-mips64-nf-o32 = "${TUNE_ARCH}"
-PACKAGE_EXTRA_ARCHS_tune-mips64-nf-o32 = "mips-nf mips64-nf-o32"
+TUNE_FEATURES:tune-mips64-nf-o32 = "o32 bigendian"
+BASE_LIB:tune-mips64-nf-o32 = "lib"
+MIPSPKGSFX_VARIANT:tune-mips64-nf-o32 = "${TUNE_ARCH}"
+PACKAGE_EXTRA_ARCHS:tune-mips64-nf-o32 = "mips-nf mips64-nf-o32"
 
-TUNE_FEATURES_tune-mips64el-nf-o32 = "o32"
-BASE_LIB_tune-mips64el-nf-o32 = "lib"
-MIPSPKGSFX_VARIANT_tune-mips64el-nf-o32 = "${TUNE_ARCH}"
-PACKAGE_EXTRA_ARCHS_tune-mips64el-nf-o32 = "mipsel-nf mips64el-nf-o32"
+TUNE_FEATURES:tune-mips64el-nf-o32 = "o32"
+BASE_LIB:tune-mips64el-nf-o32 = "lib"
+MIPSPKGSFX_VARIANT:tune-mips64el-nf-o32 = "${TUNE_ARCH}"
+PACKAGE_EXTRA_ARCHS:tune-mips64el-nf-o32 = "mipsel-nf mips64el-nf-o32"
diff --git a/meta/conf/machine/include/mips/tune-mips-24k.inc b/meta/conf/machine/include/mips/tune-mips-24k.inc
index 828acd42e33..ed6566587d6 100644
--- a/meta/conf/machine/include/mips/tune-mips-24k.inc
+++ b/meta/conf/machine/include/mips/tune-mips-24k.inc
@@ -16,36 +16,36 @@ AVAILTUNES += "mips32r2-24kc   mips32r2-24kec   mips32r2-24kec-m16"
 AVAILTUNES += "mips32r2el-24kc mips32r2el-24kec mips32r2el-24kec-m16"
 
 # big endian: kc, kc+dsp=kec, kc+dsp+mips16e=kec-m16
-TUNE_FEATURES_tune-mips32r2-24kc = "${TUNE_FEATURES_tune-mips32r2-nf} 24kc"
-TUNE_FEATURES_tune-mips32r2-24kec = "${TUNE_FEATURES_tune-mips32r2-nf} 24kec"
-TUNE_FEATURES_tune-mips32r2-24kec-m16 = "${TUNE_FEATURES_tune-mips32r2-24kec} mips16e"
+TUNE_FEATURES:tune-mips32r2-24kc = "${TUNE_FEATURES:tune-mips32r2-nf} 24kc"
+TUNE_FEATURES:tune-mips32r2-24kec = "${TUNE_FEATURES:tune-mips32r2-nf} 24kec"
+TUNE_FEATURES:tune-mips32r2-24kec-m16 = "${TUNE_FEATURES:tune-mips32r2-24kec} mips16e"
 
-MIPSPKGSFX_VARIANT_tune-mips32r2-24kc = "mips32r2-24kc"
-PACKAGE_EXTRA_ARCHS_tune-mips32r2-24kc = "${PACKAGE_EXTRA_ARCHS_tune-mips32r2-nf} mips32r2-24kc-nf"
+MIPSPKGSFX_VARIANT:tune-mips32r2-24kc = "mips32r2-24kc"
+PACKAGE_EXTRA_ARCHS:tune-mips32r2-24kc = "${PACKAGE_EXTRA_ARCHS:tune-mips32r2-nf} mips32r2-24kc-nf"
 QEMU_EXTRAOPTIONS_mips32r2-24kc-nf = " -cpu 24Kc"
 
-MIPSPKGSFX_VARIANT_tune-mips32r2-24kec = "mips32r2-24kec"
-PACKAGE_EXTRA_ARCHS_tune-mips32r2-24kec = "${PACKAGE_EXTRA_ARCHS_tune-mips32r2-24kc} mips32r2-24kec-nf"
+MIPSPKGSFX_VARIANT:tune-mips32r2-24kec = "mips32r2-24kec"
+PACKAGE_EXTRA_ARCHS:tune-mips32r2-24kec = "${PACKAGE_EXTRA_ARCHS:tune-mips32r2-24kc} mips32r2-24kec-nf"
 QEMU_EXTRAOPTIONS_mips32r2-24kec-nf = " -cpu 24KEc"
 
-MIPSPKGSFX_VARIANT_tune-mips32r2-24kec-m16 = "mips32r2-24kec${MIPSPKGSFX_MIPS16E}"
-PACKAGE_EXTRA_ARCHS_tune-mips32r2-24kec-m16 = "${PACKAGE_EXTRA_ARCHS_tune-mips32r2-24kec} mips32r2-24kec-m16-nf"
+MIPSPKGSFX_VARIANT:tune-mips32r2-24kec-m16 = "mips32r2-24kec${MIPSPKGSFX_MIPS16E}"
+PACKAGE_EXTRA_ARCHS:tune-mips32r2-24kec-m16 = "${PACKAGE_EXTRA_ARCHS:tune-mips32r2-24kec} mips32r2-24kec-m16-nf"
 QEMU_EXTRAOPTIONS_mips32r2-24kec-m16-nf = " -cpu 24KEc"
 
 
 # little endian: kc, kc+dsp=kec, kc+dsp+mips16e=kec-m16
-TUNE_FEATURES_tune-mips32r2el-24kc = "${TUNE_FEATURES_tune-mips32r2el-nf} 24kc"
-TUNE_FEATURES_tune-mips32r2el-24kec = "${TUNE_FEATURES_tune-mips32r2el-nf} 24kec"
-TUNE_FEATURES_tune-mips32r2el-24kec-m16 = "${TUNE_FEATURES_tune-mips32r2el-24kec} mips16e"
+TUNE_FEATURES:tune-mips32r2el-24kc = "${TUNE_FEATURES:tune-mips32r2el-nf} 24kc"
+TUNE_FEATURES:tune-mips32r2el-24kec = "${TUNE_FEATURES:tune-mips32r2el-nf} 24kec"
+TUNE_FEATURES:tune-mips32r2el-24kec-m16 = "${TUNE_FEATURES:tune-mips32r2el-24kec} mips16e"
 
-MIPSPKGSFX_VARIANT_tune-mips32r2el-24kc = "mips32r2el-24kc"
-PACKAGE_EXTRA_ARCHS_tune-mips32r2el-24kc = "${PACKAGE_EXTRA_ARCHS_tune-mips32r2el-nf} mips32r2el-24kc-nf"
+MIPSPKGSFX_VARIANT:tune-mips32r2el-24kc = "mips32r2el-24kc"
+PACKAGE_EXTRA_ARCHS:tune-mips32r2el-24kc = "${PACKAGE_EXTRA_ARCHS:tune-mips32r2el-nf} mips32r2el-24kc-nf"
 QEMU_EXTRAOPTIONS_mips32r2el-24kc-nf = " -cpu 24Kc"
 
-MIPSPKGSFX_VARIANT_tune-mips32r2el-24kec = "mips32r2el-24kec"
-PACKAGE_EXTRA_ARCHS_tune-mips32r2el-24kec = "${PACKAGE_EXTRA_ARCHS_tune-mips32r2el-24kc} mips32r2el-24kec-nf"
+MIPSPKGSFX_VARIANT:tune-mips32r2el-24kec = "mips32r2el-24kec"
+PACKAGE_EXTRA_ARCHS:tune-mips32r2el-24kec = "${PACKAGE_EXTRA_ARCHS:tune-mips32r2el-24kc} mips32r2el-24kec-nf"
 QEMU_EXTRAOPTIONS_mips32r2el-24kec-nf = " -cpu 24KEc"
 
-MIPSPKGSFX_VARIANT_tune-mips32r2el-24kec-m16 = "mips32r2el-24kec${MIPSPKGSFX_MIPS16E}"
-PACKAGE_EXTRA_ARCHS_tune-mips32r2el-24kec-m16 = "${PACKAGE_EXTRA_ARCHS_tune-mips32r2el-24kec} mips32r2el-24kec-m16-nf"
+MIPSPKGSFX_VARIANT:tune-mips32r2el-24kec-m16 = "mips32r2el-24kec${MIPSPKGSFX_MIPS16E}"
+PACKAGE_EXTRA_ARCHS:tune-mips32r2el-24kec-m16 = "${PACKAGE_EXTRA_ARCHS:tune-mips32r2el-24kec} mips32r2el-24kec-m16-nf"
 QEMU_EXTRAOPTIONS_mips32r2el-24kec-m16-nf = " -cpu 24KEc"
diff --git a/meta/conf/machine/include/mips/tune-mips-74k.inc b/meta/conf/machine/include/mips/tune-mips-74k.inc
index 94afee34bd8..988cfaef6e9 100644
--- a/meta/conf/machine/include/mips/tune-mips-74k.inc
+++ b/meta/conf/machine/include/mips/tune-mips-74k.inc
@@ -13,25 +13,25 @@ AVAILTUNES += "mips32r2-74kc mips32r2-74kc-m16"
 AVAILTUNES += "mips32r2el-74kc mips32r2el-74kc-m16"
 
 # big endian: kc+dsp2=kc, kc+dsp2+mips16e=kc-m16
-TUNE_FEATURES_tune-mips32r2-74kc = "${TUNE_FEATURES_tune-mips32r2-nf} 74kc"
-TUNE_FEATURES_tune-mips32r2-74kc-m16 = "${TUNE_FEATURES_tune-mips32r2-74kc} mips16e"
+TUNE_FEATURES:tune-mips32r2-74kc = "${TUNE_FEATURES:tune-mips32r2-nf} 74kc"
+TUNE_FEATURES:tune-mips32r2-74kc-m16 = "${TUNE_FEATURES:tune-mips32r2-74kc} mips16e"
 
-MIPSPKGSFX_VARIANT_tune-mips32r2-74kc = "mips32r2-74kc"
-PACKAGE_EXTRA_ARCHS_tune-mips32r2-74kc = "${PACKAGE_EXTRA_ARCHS_tune-mips32r2-nf} mips32r2-74kc-nf"
+MIPSPKGSFX_VARIANT:tune-mips32r2-74kc = "mips32r2-74kc"
+PACKAGE_EXTRA_ARCHS:tune-mips32r2-74kc = "${PACKAGE_EXTRA_ARCHS:tune-mips32r2-nf} mips32r2-74kc-nf"
 QEMU_EXTRAOPTIONS_mips32r2-74kc-nf = " -cpu 24Kc"
 
-MIPSPKGSFX_VARIANT_tune-mips32r2-74kc-m16 = "mips32r2-74kc${MIPSPKGSFX_MIPS16E}"
-PACKAGE_EXTRA_ARCHS_tune-mips32r2-74kc-m16 = "${PACKAGE_EXTRA_ARCHS_tune-mips32r2-74kc} mips32r2-74kc-m16-nf"
+MIPSPKGSFX_VARIANT:tune-mips32r2-74kc-m16 = "mips32r2-74kc${MIPSPKGSFX_MIPS16E}"
+PACKAGE_EXTRA_ARCHS:tune-mips32r2-74kc-m16 = "${PACKAGE_EXTRA_ARCHS:tune-mips32r2-74kc} mips32r2-74kc-m16-nf"
 QEMU_EXTRAOPTIONS_mips32r2-74kc-m16-nf = " -cpu 24KEc"
 
 # little endian: kc+dsp2=kc, kc+dsp2+mips16e=kc-m16
-TUNE_FEATURES_tune-mips32r2el-74kc = "${TUNE_FEATURES_tune-mips32r2el-nf} 74kc"
-TUNE_FEATURES_tune-mips32r2el-74kc-m16 = "${TUNE_FEATURES_tune-mips32r2el-74kc} mips16e"
+TUNE_FEATURES:tune-mips32r2el-74kc = "${TUNE_FEATURES:tune-mips32r2el-nf} 74kc"
+TUNE_FEATURES:tune-mips32r2el-74kc-m16 = "${TUNE_FEATURES:tune-mips32r2el-74kc} mips16e"
 
-MIPSPKGSFX_VARIANT_tune-mips32r2el-74kc = "mips32r2el-74kc"
-PACKAGE_EXTRA_ARCHS_tune-mips32r2el-74kc = "${PACKAGE_EXTRA_ARCHS_tune-mips32r2el-nf} mips32r2el-74kc-nf"
+MIPSPKGSFX_VARIANT:tune-mips32r2el-74kc = "mips32r2el-74kc"
+PACKAGE_EXTRA_ARCHS:tune-mips32r2el-74kc = "${PACKAGE_EXTRA_ARCHS:tune-mips32r2el-nf} mips32r2el-74kc-nf"
 QEMU_EXTRAOPTIONS_mips32r2el-74kc-nf = " -cpu 24Kc"
 
-MIPSPKGSFX_VARIANT_tune-mips32r2el-74kc-m16 = "mips32r2el-74kc${MIPSPKGSFX_MIPS16E}"
-PACKAGE_EXTRA_ARCHS_tune-mips32r2el-74kc-m16 = "${PACKAGE_EXTRA_ARCHS_tune-mips32r2el-74kc} mips32r2el-74kc-m16-nf"
+MIPSPKGSFX_VARIANT:tune-mips32r2el-74kc-m16 = "mips32r2el-74kc${MIPSPKGSFX_MIPS16E}"
+PACKAGE_EXTRA_ARCHS:tune-mips32r2el-74kc-m16 = "${PACKAGE_EXTRA_ARCHS:tune-mips32r2el-74kc} mips32r2el-74kc-m16-nf"
 QEMU_EXTRAOPTIONS_mips32r2el-74kc-m16-nf = " -cpu 24KEc"
diff --git a/meta/conf/machine/include/powerpc/README b/meta/conf/machine/include/powerpc/README
index e87fb5082c5..e813d21818d 100644
--- a/meta/conf/machine/include/powerpc/README
+++ b/meta/conf/machine/include/powerpc/README
@@ -12,6 +12,6 @@ May of the PowerPC package archictures are based on legacy Linux names.
 However, a general naming scheme should be similar to: ppc[64][<family>][-nf].
 (Note: the default package architectures are "powerpc" and "powerpc64".)
 
-TUNE_PKGARCH is defined as TUNE_PKGARCH_tune-${DEFAULTTUNE}.  All 
-PowerPC tunings are required to define TUNE_PKGARCH_tune-<tune>.
+TUNE_PKGARCH is defined as TUNE_PKGARCH:tune-${DEFAULTTUNE}.  All 
+PowerPC tunings are required to define TUNE_PKGARCH:tune-<tune>.
 
diff --git a/meta/conf/machine/include/powerpc/arch-powerpc.inc b/meta/conf/machine/include/powerpc/arch-powerpc.inc
index ef18e9ac8bd..be687e2df7c 100644
--- a/meta/conf/machine/include/powerpc/arch-powerpc.inc
+++ b/meta/conf/machine/include/powerpc/arch-powerpc.inc
@@ -5,7 +5,7 @@
 
 DEFAULTTUNE ?= "powerpc"
 
-TUNE_PKGARCH = "${TUNE_PKGARCH_tune-${DEFAULTTUNE}}"
+TUNE_PKGARCH = "${TUNE_PKGARCH:tune-${DEFAULTTUNE}}"
 ABIEXTENSION ?= ""
 
 # Endian
@@ -30,22 +30,22 @@ TUNEVALID[altivec] = "Altivec"
 # Basic tune definitions
 AVAILTUNES += "powerpc powerpc-nf powerpcle powerpcle-nf" 
 
-TUNE_FEATURES_tune-powerpc-nf = "m32 fpu-soft bigendian"
-BASE_LIB_tune-powerpc-nf = "lib"
-TUNE_PKGARCH_tune-powerpc-nf = "powerpc-nf"
-PACKAGE_EXTRA_ARCHS_tune-powerpc-nf = "powerpc-nf"
-
-TUNE_FEATURES_tune-powerpc = "m32 fpu-hard bigendian"
-BASE_LIB_tune-powerpc = "lib"
-TUNE_PKGARCH_tune-powerpc = "powerpc"
-PACKAGE_EXTRA_ARCHS_tune-powerpc = "powerpc"
-
-TUNE_FEATURES_tune-powerpcle-nf = "m32 fpu-soft"
-BASE_LIB_tune-powerpcle-nf = "lib"
-TUNE_PKGARCH_tune-powerpcle-nf = "powerpcle-nf"
-PACKAGE_EXTRA_ARCHS_tune-powerpcle-nf = "powerpcle-nf"
-
-TUNE_FEATURES_tune-powerpcle = "m32 fpu-hard"
-BASE_LIB_tune-powerpcle = "lib"
-TUNE_PKGARCH_tune-powerpcle = "powerpcle"
-PACKAGE_EXTRA_ARCHS_tune-powerpcle = "powerpcle"
+TUNE_FEATURES:tune-powerpc-nf = "m32 fpu-soft bigendian"
+BASE_LIB:tune-powerpc-nf = "lib"
+TUNE_PKGARCH:tune-powerpc-nf = "powerpc-nf"
+PACKAGE_EXTRA_ARCHS:tune-powerpc-nf = "powerpc-nf"
+
+TUNE_FEATURES:tune-powerpc = "m32 fpu-hard bigendian"
+BASE_LIB:tune-powerpc = "lib"
+TUNE_PKGARCH:tune-powerpc = "powerpc"
+PACKAGE_EXTRA_ARCHS:tune-powerpc = "powerpc"
+
+TUNE_FEATURES:tune-powerpcle-nf = "m32 fpu-soft"
+BASE_LIB:tune-powerpcle-nf = "lib"
+TUNE_PKGARCH:tune-powerpcle-nf = "powerpcle-nf"
+PACKAGE_EXTRA_ARCHS:tune-powerpcle-nf = "powerpcle-nf"
+
+TUNE_FEATURES:tune-powerpcle = "m32 fpu-hard"
+BASE_LIB:tune-powerpcle = "lib"
+TUNE_PKGARCH:tune-powerpcle = "powerpcle"
+PACKAGE_EXTRA_ARCHS:tune-powerpcle = "powerpcle"
diff --git a/meta/conf/machine/include/powerpc/arch-powerpc64.inc b/meta/conf/machine/include/powerpc/arch-powerpc64.inc
index 467abc5faa1..2533151869b 100644
--- a/meta/conf/machine/include/powerpc/arch-powerpc64.inc
+++ b/meta/conf/machine/include/powerpc/arch-powerpc64.inc
@@ -12,12 +12,12 @@ TUNE_CCARGS .= "${@['', ' -mabi=elfv2']['libc-musl' in d.getVar('OVERRIDES').spl
 
 AVAILTUNES += "powerpc64 powerpc64le"
 
-TUNE_FEATURES_tune-powerpc64 = "m64 fpu-hard bigendian"
-BASE_LIB_tune-powerpc64 = "lib64"
-TUNE_PKGARCH_tune-powerpc64 = "powerpc64"
-PACKAGE_EXTRA_ARCHS_tune-powerpc64 = "powerpc64"
+TUNE_FEATURES:tune-powerpc64 = "m64 fpu-hard bigendian"
+BASE_LIB:tune-powerpc64 = "lib64"
+TUNE_PKGARCH:tune-powerpc64 = "powerpc64"
+PACKAGE_EXTRA_ARCHS:tune-powerpc64 = "powerpc64"
 
-TUNE_FEATURES_tune-powerpc64le = "m64 fpu-hard"
-BASE_LIB_tune-powerpc64le = "lib64"
-TUNE_PKGARCH_tune-powerpc64le = "powerpc64le"
-PACKAGE_EXTRA_ARCHS_tune-powerpc64le = "powerpc64le"
+TUNE_FEATURES:tune-powerpc64le = "m64 fpu-hard"
+BASE_LIB:tune-powerpc64le = "lib64"
+TUNE_PKGARCH:tune-powerpc64le = "powerpc64le"
+PACKAGE_EXTRA_ARCHS:tune-powerpc64le = "powerpc64le"
diff --git a/meta/conf/machine/include/qemu.inc b/meta/conf/machine/include/qemu.inc
index 7d0a6fe458e..c7136da7116 100644
--- a/meta/conf/machine/include/qemu.inc
+++ b/meta/conf/machine/include/qemu.inc
@@ -16,7 +16,7 @@ MACHINEOVERRIDES =. "qemuall:"
 IMAGE_FSTYPES += "tar.bz2 ext4"
 
 # Don't include kernels in standard images
-RDEPENDS_${KERNEL_PACKAGE_NAME}-base = ""
+RDEPENDS:${KERNEL_PACKAGE_NAME}-base = ""
 
 # Use a common kernel recipe for all QEMU machines
 PREFERRED_PROVIDER_virtual/kernel ??= "linux-yocto"
@@ -24,7 +24,7 @@ PREFERRED_PROVIDER_virtual/kernel ??= "linux-yocto"
 EXTRA_IMAGEDEPENDS += "qemu-system-native qemu-helper-native"
 
 # Provide the nfs server kernel module for all qemu images
-KERNEL_FEATURES_append_pn-linux-yocto = " features/nfsd/nfsd-enable.scc"
-KERNEL_FEATURES_append_pn-linux-yocto-rt = " features/nfsd/nfsd-enable.scc"
+KERNEL_FEATURES:append:pn-linux-yocto = " features/nfsd/nfsd-enable.scc"
+KERNEL_FEATURES:append:pn-linux-yocto-rt = " features/nfsd/nfsd-enable.scc"
 
 IMAGE_CLASSES += "qemuboot"
diff --git a/meta/conf/machine/include/qemuboot-x86.inc b/meta/conf/machine/include/qemuboot-x86.inc
index a2dcdc6d5ac..d3b91070a85 100644
--- a/meta/conf/machine/include/qemuboot-x86.inc
+++ b/meta/conf/machine/include/qemuboot-x86.inc
@@ -1,11 +1,11 @@
 # For runqemu
 IMAGE_CLASSES += "qemuboot"
 QB_SMP = "-smp 4"
-QB_CPU_x86 = "-cpu IvyBridge -machine q35"
-QB_CPU_KVM_x86 = "-cpu IvyBridge -machine q35"
+QB_CPU:x86 = "-cpu IvyBridge -machine q35"
+QB_CPU_KVM:x86 = "-cpu IvyBridge -machine q35"
 
-QB_CPU_x86-64 = "-cpu IvyBridge -machine q35"
-QB_CPU_KVM_x86-64 = "-cpu IvyBridge -machine q35"
+QB_CPU:x86-64 = "-cpu IvyBridge -machine q35"
+QB_CPU_KVM:x86-64 = "-cpu IvyBridge -machine q35"
 
 QB_AUDIO_DRV = "alsa"
 QB_AUDIO_OPT = "-soundhw ac97,es1370"
diff --git a/meta/conf/machine/include/riscv/arch-riscv.inc b/meta/conf/machine/include/riscv/arch-riscv.inc
index eae2b887780..e5611a12a66 100644
--- a/meta/conf/machine/include/riscv/arch-riscv.inc
+++ b/meta/conf/machine/include/riscv/arch-riscv.inc
@@ -2,12 +2,12 @@
 
 DEFAULTTUNE ?= "riscv64"
 
-TUNE_ARCH = "${TUNE_ARCH_tune-${DEFAULTTUNE}}"
-TUNE_PKGARCH = "${TUNE_PKGARCH_tune-${DEFAULTTUNE}}"
-TUNE_CCARGS_append = "${@bb.utils.contains('TUNE_FEATURES', 'riscv64nf', ' -mabi=lp64', ' ', d)}"
-TUNE_CCARGS_append = "${@bb.utils.contains('TUNE_FEATURES', 'riscv32nf', ' -mabi=ilp32', ' ', d)}"
+TUNE_ARCH = "${TUNE_ARCH:tune-${DEFAULTTUNE}}"
+TUNE_PKGARCH = "${TUNE_PKGARCH:tune-${DEFAULTTUNE}}"
+TUNE_CCARGS:append = "${@bb.utils.contains('TUNE_FEATURES', 'riscv64nf', ' -mabi=lp64', ' ', d)}"
+TUNE_CCARGS:append = "${@bb.utils.contains('TUNE_FEATURES', 'riscv32nf', ' -mabi=ilp32', ' ', d)}"
 
 # Fix: ld: unrecognized option '--hash-style=sysv'
-LINKER_HASH_STYLE_libc-newlib = ""
+LINKER_HASH_STYLE:libc-newlib = ""
 # Fix: ld: unrecognized option '--hash-style=gnu'
-LINKER_HASH_STYLE_libc-baremetal = ""
+LINKER_HASH_STYLE:libc-baremetal = ""
diff --git a/meta/conf/machine/include/riscv/qemuriscv.inc b/meta/conf/machine/include/riscv/qemuriscv.inc
index 20e2d465a10..14eaf5d64a2 100644
--- a/meta/conf/machine/include/riscv/qemuriscv.inc
+++ b/meta/conf/machine/include/riscv/qemuriscv.inc
@@ -22,8 +22,8 @@ EXTRA_IMAGEDEPENDS += "opensbi"
 RISCV_SBI_PLAT ?= "generic"
 RISCV_SBI_PAYLOAD ?= "${KERNEL_IMAGETYPE}-${MACHINE}.bin"
 
-UBOOT_ENTRYPOINT_riscv32 = "0x80400000"
-UBOOT_ENTRYPOINT_riscv64 = "0x80200000"
+UBOOT_ENTRYPOINT:riscv32 = "0x80400000"
+UBOOT_ENTRYPOINT:riscv64 = "0x80200000"
 
 # qemuboot options
 QB_SMP = "-smp 4"
diff --git a/meta/conf/machine/include/riscv/tune-riscv.inc b/meta/conf/machine/include/riscv/tune-riscv.inc
index 028548bf56f..cc2896f277b 100644
--- a/meta/conf/machine/include/riscv/tune-riscv.inc
+++ b/meta/conf/machine/include/riscv/tune-riscv.inc
@@ -11,23 +11,23 @@ TUNEVALID[bigendian] = "Big endian mode"
 AVAILTUNES += "riscv64 riscv32 riscv64nf riscv32nf"
 
 # Default
-TUNE_FEATURES_tune-riscv64 = "riscv64"
-TUNE_ARCH_tune-riscv64 = "riscv64"
-TUNE_PKGARCH_tune-riscv64 = "riscv64"
-PACKAGE_EXTRA_ARCHS_tune-riscv64 = "riscv64"
+TUNE_FEATURES:tune-riscv64 = "riscv64"
+TUNE_ARCH:tune-riscv64 = "riscv64"
+TUNE_PKGARCH:tune-riscv64 = "riscv64"
+PACKAGE_EXTRA_ARCHS:tune-riscv64 = "riscv64"
 
-TUNE_FEATURES_tune-riscv32 = "riscv32"
-TUNE_ARCH_tune-riscv32 = "riscv32"
-TUNE_PKGARCH_tune-riscv32 = "riscv32"
-PACKAGE_EXTRA_ARCHS_tune-riscv32 = "riscv32"
+TUNE_FEATURES:tune-riscv32 = "riscv32"
+TUNE_ARCH:tune-riscv32 = "riscv32"
+TUNE_PKGARCH:tune-riscv32 = "riscv32"
+PACKAGE_EXTRA_ARCHS:tune-riscv32 = "riscv32"
 
 # No float
-TUNE_FEATURES_tune-riscv64nf = "${TUNE_FEATURES_tune-riscv64} riscv64nf"
-TUNE_ARCH_tune-riscv64nf = "riscv64"
-TUNE_PKGARCH_tune-riscv64nf = "riscv64nf"
-PACKAGE_EXTRA_ARCHS_tune-riscv64nf = "riscv64nf"
-
-TUNE_FEATURES_tune-riscv32nf = "${TUNE_FEATURES_tune-riscv32} riscv32nf"
-TUNE_ARCH_tune-riscv32nf = "riscv32"
-TUNE_PKGARCH_tune-riscv32nf = "riscv32nf"
-PACKAGE_EXTRA_ARCHS_tune-riscv32nf = "riscv32nf"
+TUNE_FEATURES:tune-riscv64nf = "${TUNE_FEATURES:tune-riscv64} riscv64nf"
+TUNE_ARCH:tune-riscv64nf = "riscv64"
+TUNE_PKGARCH:tune-riscv64nf = "riscv64nf"
+PACKAGE_EXTRA_ARCHS:tune-riscv64nf = "riscv64nf"
+
+TUNE_FEATURES:tune-riscv32nf = "${TUNE_FEATURES:tune-riscv32} riscv32nf"
+TUNE_ARCH:tune-riscv32nf = "riscv32"
+TUNE_PKGARCH:tune-riscv32nf = "riscv32nf"
+PACKAGE_EXTRA_ARCHS:tune-riscv32nf = "riscv32nf"
diff --git a/meta/conf/machine/include/sh/README b/meta/conf/machine/include/sh/README
index b351acdd28e..87d48b927b1 100644
--- a/meta/conf/machine/include/sh/README
+++ b/meta/conf/machine/include/sh/README
@@ -5,7 +5,7 @@ Both big endian and little endian are defined for SH.
 
 Experimental -- SH tunings have not been validated.
 
-The TUNE_ARCH is defined as ${TUNE_ARCH_tune-${DEFAULTTUNE}}.
+The TUNE_ARCH is defined as ${TUNE_ARCH:tune-${DEFAULTTUNE}}.
 
-The TUNE_PKGARCH is defind as ${TUNE_PKGARCH_tune-${DEFAULTTUNE}}.
+The TUNE_PKGARCH is defind as ${TUNE_PKGARCH:tune-${DEFAULTTUNE}}.
 
diff --git a/meta/conf/machine/include/sh/arch-sh.inc b/meta/conf/machine/include/sh/arch-sh.inc
index bdfbf52ca10..9d70e8511d7 100644
--- a/meta/conf/machine/include/sh/arch-sh.inc
+++ b/meta/conf/machine/include/sh/arch-sh.inc
@@ -2,8 +2,8 @@
 
 DEFAULTTUNE ?= "sh"
 
-TUNE_ARCH = "${TUNE_ARCH_tune-${DEFAULTTUNE}}"
-TUNE_PKGARCH = "${TUNE_PKGARCH_tune-${DEFAULTTUNE}}"
+TUNE_ARCH = "${TUNE_ARCH:tune-${DEFAULTTUNE}}"
+TUNE_PKGARCH = "${TUNE_PKGARCH:tune-${DEFAULTTUNE}}"
 
 TUNEVALID[bigendian] = "Enabled big-endian mode."
 TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'bigendian', ' -mb', ' -ml', d)}"
diff --git a/meta/conf/machine/include/tune-arm1136jf-s.inc b/meta/conf/machine/include/tune-arm1136jf-s.inc
index 2bb8c7c154d..b848580948d 100644
--- a/meta/conf/machine/include/tune-arm1136jf-s.inc
+++ b/meta/conf/machine/include/tune-arm1136jf-s.inc
@@ -7,10 +7,10 @@ TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'arm1136jfs', ' -mcpu=arm1
 MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'arm1136jfs', 'armv6:', '', d)}"
 
 AVAILTUNES += "arm1136jfs arm1136jfshf"
-ARMPKGARCH_tune-arm1136jfs = "arm1136jfs"
-ARMPKGARCH_tune-arm1136jfshf = "arm1136jfs"
+ARMPKGARCH:tune-arm1136jfs = "arm1136jfs"
+ARMPKGARCH:tune-arm1136jfshf = "arm1136jfs"
 # mcpu is used so don't use armv6 as we don't want march
-TUNE_FEATURES_tune-arm1136jfs = "arm vfp arm1136jfs"
-TUNE_FEATURES_tune-arm1136jfshf = "${TUNE_FEATURES_tune-arm1136jfs} callconvention-hard"
-PACKAGE_EXTRA_ARCHS_tune-arm1136jfs = "${PACKAGE_EXTRA_ARCHS_tune-armv6} arm1136jfs-vfp"
-PACKAGE_EXTRA_ARCHS_tune-arm1136jfshf = "${PACKAGE_EXTRA_ARCHS_tune-armv6hf} arm1136jfshf-vfp"
+TUNE_FEATURES:tune-arm1136jfs = "arm vfp arm1136jfs"
+TUNE_FEATURES:tune-arm1136jfshf = "${TUNE_FEATURES:tune-arm1136jfs} callconvention-hard"
+PACKAGE_EXTRA_ARCHS:tune-arm1136jfs = "${PACKAGE_EXTRA_ARCHS:tune-armv6} arm1136jfs-vfp"
+PACKAGE_EXTRA_ARCHS:tune-arm1136jfshf = "${PACKAGE_EXTRA_ARCHS:tune-armv6hf} arm1136jfshf-vfp"
diff --git a/meta/conf/machine/include/tune-arm1176jz-s.inc b/meta/conf/machine/include/tune-arm1176jz-s.inc
index a74781f5e66..21d77f081e5 100644
--- a/meta/conf/machine/include/tune-arm1176jz-s.inc
+++ b/meta/conf/machine/include/tune-arm1176jz-s.inc
@@ -7,11 +7,11 @@ TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'arm1176jzs', ' -mcpu=arm1
 MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'arm1176jzs', 'armv6:', '', d)}"
 
 AVAILTUNES += "arm1176jzs"
-ARMPKGARCH_tune-arm1176jzs = "arm1176jzs"
-TUNE_FEATURES_tune-arm1176jzs = "arm thumb arm1176jzs"
-PACKAGE_EXTRA_ARCHS_tune-arm1176jzs = "${PACKAGE_EXTRA_ARCHS_tune-armv6t-novfp} arm1176jzs arm1176jzst"
+ARMPKGARCH:tune-arm1176jzs = "arm1176jzs"
+TUNE_FEATURES:tune-arm1176jzs = "arm thumb arm1176jzs"
+PACKAGE_EXTRA_ARCHS:tune-arm1176jzs = "${PACKAGE_EXTRA_ARCHS:tune-armv6t-novfp} arm1176jzs arm1176jzst"
 
 AVAILTUNES += "arm1176jzs-be"
-ARMPKGARCH_tune-arm1176jzs-be = "${ARMPKGARCH_tune-arm1176jzs}"
-TUNE_FEATURES_tune-arm1176jzs-be = "${TUNE_FEATURES_tune-arm1176jzs} bigendian"
-PACKAGE_EXTRA_ARCHS_tune-arm1176jzs-be = "${PACKAGE_EXTRA_ARCHS_tune-armv6tb-novfp} arm1176jzsb arm1176jzstb"
+ARMPKGARCH:tune-arm1176jzs-be = "${ARMPKGARCH:tune-arm1176jzs}"
+TUNE_FEATURES:tune-arm1176jzs-be = "${TUNE_FEATURES:tune-arm1176jzs} bigendian"
+PACKAGE_EXTRA_ARCHS:tune-arm1176jzs-be = "${PACKAGE_EXTRA_ARCHS:tune-armv6tb-novfp} arm1176jzsb arm1176jzstb"
diff --git a/meta/conf/machine/include/tune-arm920t.inc b/meta/conf/machine/include/tune-arm920t.inc
index 62a1a7e8588..8a615792dfb 100644
--- a/meta/conf/machine/include/tune-arm920t.inc
+++ b/meta/conf/machine/include/tune-arm920t.inc
@@ -7,7 +7,7 @@ TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'arm920t', ' -mcpu=arm920t
 MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'arm920t', 'armv4:', '', d)}"
 
 AVAILTUNES += "arm920t"
-ARMPKGARCH_tune-arm920t = "arm920t"
+ARMPKGARCH:tune-arm920t = "arm920t"
 # mcpu is used so don't use armv4t as we don't want march
-TUNE_FEATURES_tune-arm920t = "arm thumb arm920t"
-PACKAGE_EXTRA_ARCHS_tune-arm920t = "${PACKAGE_EXTRA_ARCHS_tune-armv4t} arm920t arm920tt"
+TUNE_FEATURES:tune-arm920t = "arm thumb arm920t"
+PACKAGE_EXTRA_ARCHS:tune-arm920t = "${PACKAGE_EXTRA_ARCHS:tune-armv4t} arm920t arm920tt"
diff --git a/meta/conf/machine/include/tune-arm926ejs.inc b/meta/conf/machine/include/tune-arm926ejs.inc
index 5f090ba2f87..84c50848686 100644
--- a/meta/conf/machine/include/tune-arm926ejs.inc
+++ b/meta/conf/machine/include/tune-arm926ejs.inc
@@ -7,7 +7,7 @@ TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'arm926ejs', ' -mcpu=arm92
 MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'arm926ejs', 'armv5:', '', d)}"
 
 AVAILTUNES += "arm926ejs"
-ARMPKGARCH_tune-arm926ejs = "arm926ejs"
+ARMPKGARCH:tune-arm926ejs = "arm926ejs"
 # mcpu is used so don't use armv5te as we don't want march
-TUNE_FEATURES_tune-arm926ejs = "arm thumb dsp arm926ejs"
-PACKAGE_EXTRA_ARCHS_tune-arm926ejs = "${PACKAGE_EXTRA_ARCHS_tune-armv5te} arm926ejste arm926ejse"
+TUNE_FEATURES:tune-arm926ejs = "arm thumb dsp arm926ejs"
+PACKAGE_EXTRA_ARCHS:tune-arm926ejs = "${PACKAGE_EXTRA_ARCHS:tune-armv5te} arm926ejste arm926ejse"
diff --git a/meta/conf/machine/include/tune-arm9tdmi.inc b/meta/conf/machine/include/tune-arm9tdmi.inc
index 8a46f8e5dfb..5ab286b5767 100644
--- a/meta/conf/machine/include/tune-arm9tdmi.inc
+++ b/meta/conf/machine/include/tune-arm9tdmi.inc
@@ -7,7 +7,7 @@ TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'arm9tdmi', ' -mcpu=arm9td
 MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'arm9tdmi', 'armv4:', '', d)}"
 
 AVAILTUNES += "arm9tdmi"
-ARMPKGARCH_tune-arm9tdmi = "arm9tdmi"
+ARMPKGARCH:tune-arm9tdmi = "arm9tdmi"
 # mcpu is used so don't use armv4t as we don't want march
-TUNE_FEATURES_tune-arm9tdmi = "arm thumb arm9tdmi"
-PACKAGE_EXTRA_ARCHS_tune-arm9tdmi = "${PACKAGE_EXTRA_ARCHS_tune-armv4t} arm9tdmi arm9tdmit"
+TUNE_FEATURES:tune-arm9tdmi = "arm thumb arm9tdmi"
+PACKAGE_EXTRA_ARCHS:tune-arm9tdmi = "${PACKAGE_EXTRA_ARCHS:tune-armv4t} arm9tdmi arm9tdmit"
diff --git a/meta/conf/machine/include/tune-c3.inc b/meta/conf/machine/include/tune-c3.inc
index 1b272b2505f..afae82541d7 100644
--- a/meta/conf/machine/include/tune-c3.inc
+++ b/meta/conf/machine/include/tune-c3.inc
@@ -5,8 +5,8 @@ TUNECONFLICTS[c3] = "m64 mx32"
 TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'c3', ' -march=c3 -mtune=c3', '', d)}"
 
 AVAILTUNES += "c3"
-TUNE_FEATURES_tune-c3 = "${TUNE_FEATURES_tune-x86} c3"
-BASE_LIBS_tune-c3 = "${BASE_LIB_tune-x86}"
+TUNE_FEATURES:tune-c3 = "${TUNE_FEATURES:tune-x86} c3"
+BASE_LIBS:tune-c3 = "${BASE_LIB:tune-x86}"
 # The following should likely be something other then i586...
-TUNE_PKGARCH_tune-c3 = "i586"
-PACKAGE_EXTRA_ARCHS_tune-c3 = "${PACKAGE_EXTRA_ARCHS_tune-x86} i386 i486 i586"
+TUNE_PKGARCH:tune-c3 = "i586"
+PACKAGE_EXTRA_ARCHS:tune-c3 = "${PACKAGE_EXTRA_ARCHS:tune-x86} i386 i486 i586"
diff --git a/meta/conf/machine/include/tune-core2.inc b/meta/conf/machine/include/tune-core2.inc
index ddde719bde6..a551cad4d56 100644
--- a/meta/conf/machine/include/tune-core2.inc
+++ b/meta/conf/machine/include/tune-core2.inc
@@ -17,22 +17,22 @@ TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'core2', ' -march=core2 -m
 
 # Extra tune selections
 AVAILTUNES += "core2-32"
-TUNE_FEATURES_tune-core2-32 = "${TUNE_FEATURES_tune-x86} core2"
-BASE_LIB_tune-core2-32 = "lib"
-TUNE_PKGARCH_tune-core2-32 = "core2-32"
-PACKAGE_EXTRA_ARCHS_tune-core2-32 = "${PACKAGE_EXTRA_ARCHS_tune-i686} core2-32"
+TUNE_FEATURES:tune-core2-32 = "${TUNE_FEATURES:tune-x86} core2"
+BASE_LIB:tune-core2-32 = "lib"
+TUNE_PKGARCH:tune-core2-32 = "core2-32"
+PACKAGE_EXTRA_ARCHS:tune-core2-32 = "${PACKAGE_EXTRA_ARCHS:tune-i686} core2-32"
 QEMU_EXTRAOPTIONS_core2-32 = " -cpu n270"
 
 AVAILTUNES += "core2-64"
-TUNE_FEATURES_tune-core2-64 = "${TUNE_FEATURES_tune-x86-64} core2"
-BASE_LIB_tune-core2-64 = "lib64"
-TUNE_PKGARCH_tune-core2-64 = "core2-64"
-PACKAGE_EXTRA_ARCHS_tune-core2-64 = "${PACKAGE_EXTRA_ARCHS_tune-x86-64} core2-64"
+TUNE_FEATURES:tune-core2-64 = "${TUNE_FEATURES:tune-x86-64} core2"
+BASE_LIB:tune-core2-64 = "lib64"
+TUNE_PKGARCH:tune-core2-64 = "core2-64"
+PACKAGE_EXTRA_ARCHS:tune-core2-64 = "${PACKAGE_EXTRA_ARCHS:tune-x86-64} core2-64"
 QEMU_EXTRAOPTIONS_core2-64 = " -cpu core2duo"
 
 AVAILTUNES += "core2-64-x32"
-TUNE_FEATURES_tune-core2-64-x32 = "${TUNE_FEATURES_tune-x86-64-x32} core2"
-BASE_LIB_tune-core2-64-x32 = "libx32"
-TUNE_PKGARCH_tune-core2-64-x32 = "core2-64-x32"
-PACKAGE_EXTRA_ARCHS_tune-core2-64-x32 = "${PACKAGE_EXTRA_ARCHS_tune-x86-64-x32} core2-64-x32"
+TUNE_FEATURES:tune-core2-64-x32 = "${TUNE_FEATURES:tune-x86-64-x32} core2"
+BASE_LIB:tune-core2-64-x32 = "libx32"
+TUNE_PKGARCH:tune-core2-64-x32 = "core2-64-x32"
+PACKAGE_EXTRA_ARCHS:tune-core2-64-x32 = "${PACKAGE_EXTRA_ARCHS:tune-x86-64-x32} core2-64-x32"
 QEMU_EXTRAOPTIONS_core2-64-x32 = " -cpu core2duo"
diff --git a/meta/conf/machine/include/tune-corei7.inc b/meta/conf/machine/include/tune-corei7.inc
index d06af47b86a..bf1ac7a93b3 100644
--- a/meta/conf/machine/include/tune-corei7.inc
+++ b/meta/conf/machine/include/tune-corei7.inc
@@ -17,22 +17,22 @@ TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'corei7', ' -march=nehalem
 
 # Extra tune selections
 AVAILTUNES += "corei7-32"
-TUNE_FEATURES_tune-corei7-32 = "${TUNE_FEATURES_tune-x86} corei7"
-BASE_LIB_tune-corei7-32 = "lib"
-TUNE_PKGARCH_tune-corei7-32 = "corei7-32"
-PACKAGE_EXTRA_ARCHS_tune-corei7-32 = "${PACKAGE_EXTRA_ARCHS_tune-core2-32} corei7-32"
+TUNE_FEATURES:tune-corei7-32 = "${TUNE_FEATURES:tune-x86} corei7"
+BASE_LIB:tune-corei7-32 = "lib"
+TUNE_PKGARCH:tune-corei7-32 = "corei7-32"
+PACKAGE_EXTRA_ARCHS:tune-corei7-32 = "${PACKAGE_EXTRA_ARCHS:tune-core2-32} corei7-32"
 QEMU_EXTRAOPTIONS_corei7-32 = " -cpu Nehalem,check=false"
 
 AVAILTUNES += "corei7-64"
-TUNE_FEATURES_tune-corei7-64 = "${TUNE_FEATURES_tune-x86-64} corei7"
-BASE_LIB_tune-corei7-64 = "lib64"
-TUNE_PKGARCH_tune-corei7-64 = "corei7-64"
-PACKAGE_EXTRA_ARCHS_tune-corei7-64 = "${PACKAGE_EXTRA_ARCHS_tune-core2-64} corei7-64"
+TUNE_FEATURES:tune-corei7-64 = "${TUNE_FEATURES:tune-x86-64} corei7"
+BASE_LIB:tune-corei7-64 = "lib64"
+TUNE_PKGARCH:tune-corei7-64 = "corei7-64"
+PACKAGE_EXTRA_ARCHS:tune-corei7-64 = "${PACKAGE_EXTRA_ARCHS:tune-core2-64} corei7-64"
 QEMU_EXTRAOPTIONS_corei7-64 = " -cpu Nehalem,check=false"
 
 AVAILTUNES += "corei7-64-x32"
-TUNE_FEATURES_tune-corei7-64-x32 = "${TUNE_FEATURES_tune-x86-64-x32} corei7"
-BASE_LIB_tune-corei7-64-x32 = "libx32"
-TUNE_PKGARCH_tune-corei7-64-x32 = "corei7-64-x32"
-PACKAGE_EXTRA_ARCHS_tune-corei7-64-x32 = "${PACKAGE_EXTRA_ARCHS_tune-core2-64-x32} corei7-64-x32"
+TUNE_FEATURES:tune-corei7-64-x32 = "${TUNE_FEATURES:tune-x86-64-x32} corei7"
+BASE_LIB:tune-corei7-64-x32 = "libx32"
+TUNE_PKGARCH:tune-corei7-64-x32 = "corei7-64-x32"
+PACKAGE_EXTRA_ARCHS:tune-corei7-64-x32 = "${PACKAGE_EXTRA_ARCHS:tune-core2-64-x32} corei7-64-x32"
 QEMU_EXTRAOPTIONS_corei7-64-x32 = " -cpu Nehalem,check=false"
diff --git a/meta/conf/machine/include/tune-cortex-m0.inc b/meta/conf/machine/include/tune-cortex-m0.inc
index a59c8af9414..aadc5326cec 100644
--- a/meta/conf/machine/include/tune-cortex-m0.inc
+++ b/meta/conf/machine/include/tune-cortex-m0.inc
@@ -5,7 +5,7 @@ TUNEVALID[cortexm0] = "Enable Cortex-M0 specific processor optimizations"
 TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexm0', ' -mcpu=cortex-m0', '', d)}"
 AVAILTUNES += "cortexm0"
 
-ARMPKGARCH_tune-cortexm0 = "cortexm0"
-TUNE_FEATURES_tune-cortexm0 = "${TUNE_FEATURES_tune-armv6m} cortexm0"
+ARMPKGARCH:tune-cortexm0 = "cortexm0"
+TUNE_FEATURES:tune-cortexm0 = "${TUNE_FEATURES:tune-armv6m} cortexm0"
 
-PACKAGE_EXTRA_ARCHS_tune-cortexm0 = "${PACKAGE_EXTRA_ARCHS_tune-armv6m} cortexm0"
+PACKAGE_EXTRA_ARCHS:tune-cortexm0 = "${PACKAGE_EXTRA_ARCHS:tune-armv6m} cortexm0"
diff --git a/meta/conf/machine/include/tune-cortex-m0plus.inc b/meta/conf/machine/include/tune-cortex-m0plus.inc
index 1c7512b0612..a3cf3f0bd2c 100644
--- a/meta/conf/machine/include/tune-cortex-m0plus.inc
+++ b/meta/conf/machine/include/tune-cortex-m0plus.inc
@@ -5,7 +5,7 @@ TUNEVALID[cortexm0-plus] = "Enable Cortex-M0 Plus specific processor optimizatio
 TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexm0-plus', ' -mcpu=cortex-m0plus', '', d)}"
 AVAILTUNES += "cortexm0-plus"
 
-ARMPKGARCH_tune-cortexm0-plus = "cortexm0-plus"
-TUNE_FEATURES_tune-cortexm0-plus = "${TUNE_FEATURES_tune-armv6m} cortexm0-plus"
+ARMPKGARCH:tune-cortexm0-plus = "cortexm0-plus"
+TUNE_FEATURES:tune-cortexm0-plus = "${TUNE_FEATURES:tune-armv6m} cortexm0-plus"
 
-PACKAGE_EXTRA_ARCHS_tune-cortexm0-plus = "${PACKAGE_EXTRA_ARCHS_tune-armv6m} cortexm0-plus"
+PACKAGE_EXTRA_ARCHS:tune-cortexm0-plus = "${PACKAGE_EXTRA_ARCHS:tune-armv6m} cortexm0-plus"
diff --git a/meta/conf/machine/include/tune-cortexa15.inc b/meta/conf/machine/include/tune-cortexa15.inc
index 0457c2d9fa8..66bc124dc0b 100644
--- a/meta/conf/machine/include/tune-cortexa15.inc
+++ b/meta/conf/machine/include/tune-cortexa15.inc
@@ -8,44 +8,44 @@ MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'cortexa15', 'armv7ve
 
 # Little Endian base configs
 AVAILTUNES += "cortexa15 cortexa15t cortexa15-neon cortexa15t-neon cortexa15-neon-vfpv4 cortexa15t-neon-vfpv4"
-ARMPKGARCH_tune-cortexa15             = "cortexa15"
-ARMPKGARCH_tune-cortexa15t            = "cortexa15"
-ARMPKGARCH_tune-cortexa15-neon        = "cortexa15"
-ARMPKGARCH_tune-cortexa15t-neon       = "cortexa15"
-ARMPKGARCH_tune-cortexa15-neon-vfpv4  = "cortexa15"
-ARMPKGARCH_tune-cortexa15t-neon-vfpv4 = "cortexa15"
+ARMPKGARCH:tune-cortexa15             = "cortexa15"
+ARMPKGARCH:tune-cortexa15t            = "cortexa15"
+ARMPKGARCH:tune-cortexa15-neon        = "cortexa15"
+ARMPKGARCH:tune-cortexa15t-neon       = "cortexa15"
+ARMPKGARCH:tune-cortexa15-neon-vfpv4  = "cortexa15"
+ARMPKGARCH:tune-cortexa15t-neon-vfpv4 = "cortexa15"
 # mcpu is used so don't use armv7ve as we don't want march
-TUNE_FEATURES_tune-cortexa15             = "arm vfp cortexa15"
-TUNE_FEATURES_tune-cortexa15t            = "${TUNE_FEATURES_tune-cortexa15} thumb"
-TUNE_FEATURES_tune-cortexa15-neon        = "${TUNE_FEATURES_tune-cortexa15} neon"
-TUNE_FEATURES_tune-cortexa15t-neon       = "${TUNE_FEATURES_tune-cortexa15-neon} thumb"
-TUNE_FEATURES_tune-cortexa15-neon-vfpv4  = "${TUNE_FEATURES_tune-cortexa15-neon} vfpv4"
-TUNE_FEATURES_tune-cortexa15t-neon-vfpv4 = "${TUNE_FEATURES_tune-cortexa15-neon-vfpv4} thumb"
-PACKAGE_EXTRA_ARCHS_tune-cortexa15             = "${PACKAGE_EXTRA_ARCHS_tune-armv7ve} cortexa15-vfp"
-PACKAGE_EXTRA_ARCHS_tune-cortexa15t            = "${PACKAGE_EXTRA_ARCHS_tune-armv7vet} cortexa15-vfp cortexa15t2-vfp"
-PACKAGE_EXTRA_ARCHS_tune-cortexa15-neon        = "${PACKAGE_EXTRA_ARCHS_tune-armv7ve-neon} cortexa15-vfp cortexa15-neon"
-PACKAGE_EXTRA_ARCHS_tune-cortexa15t-neon       = "${PACKAGE_EXTRA_ARCHS_tune-armv7vet-neon} cortexa15-vfp cortexa15-neon cortexa15t2-vfp cortexa15t2-neon"
-PACKAGE_EXTRA_ARCHS_tune-cortexa15-neon-vfpv4  = "${PACKAGE_EXTRA_ARCHS_tune-armv7ve-neon-vfpv4} cortexa15-vfp cortexa15-neon cortexa15-neon-vfpv4"
-PACKAGE_EXTRA_ARCHS_tune-cortexa15t-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS_tune-armv7vet-neon-vfpv4} cortexa15-vfp cortexa15-neon cortexa15-neon-vfpv4 cortexa15t2-vfp cortexa15t2-neon cortexa15t2-neon-vfpv4"
+TUNE_FEATURES:tune-cortexa15             = "arm vfp cortexa15"
+TUNE_FEATURES:tune-cortexa15t            = "${TUNE_FEATURES:tune-cortexa15} thumb"
+TUNE_FEATURES:tune-cortexa15-neon        = "${TUNE_FEATURES:tune-cortexa15} neon"
+TUNE_FEATURES:tune-cortexa15t-neon       = "${TUNE_FEATURES:tune-cortexa15-neon} thumb"
+TUNE_FEATURES:tune-cortexa15-neon-vfpv4  = "${TUNE_FEATURES:tune-cortexa15-neon} vfpv4"
+TUNE_FEATURES:tune-cortexa15t-neon-vfpv4 = "${TUNE_FEATURES:tune-cortexa15-neon-vfpv4} thumb"
+PACKAGE_EXTRA_ARCHS:tune-cortexa15             = "${PACKAGE_EXTRA_ARCHS:tune-armv7ve} cortexa15-vfp"
+PACKAGE_EXTRA_ARCHS:tune-cortexa15t            = "${PACKAGE_EXTRA_ARCHS:tune-armv7vet} cortexa15-vfp cortexa15t2-vfp"
+PACKAGE_EXTRA_ARCHS:tune-cortexa15-neon        = "${PACKAGE_EXTRA_ARCHS:tune-armv7ve-neon} cortexa15-vfp cortexa15-neon"
+PACKAGE_EXTRA_ARCHS:tune-cortexa15t-neon       = "${PACKAGE_EXTRA_ARCHS:tune-armv7vet-neon} cortexa15-vfp cortexa15-neon cortexa15t2-vfp cortexa15t2-neon"
+PACKAGE_EXTRA_ARCHS:tune-cortexa15-neon-vfpv4  = "${PACKAGE_EXTRA_ARCHS:tune-armv7ve-neon-vfpv4} cortexa15-vfp cortexa15-neon cortexa15-neon-vfpv4"
+PACKAGE_EXTRA_ARCHS:tune-cortexa15t-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vet-neon-vfpv4} cortexa15-vfp cortexa15-neon cortexa15-neon-vfpv4 cortexa15t2-vfp cortexa15t2-neon cortexa15t2-neon-vfpv4"
 
 # HF Tunes
 AVAILTUNES += "cortexa15hf cortexa15thf cortexa15hf-neon cortexa15thf-neon cortexa15hf-neon-vfpv4 cortexa15thf-neon-vfpv4"
-ARMPKGARCH_tune-cortexa15hf             = "cortexa15"
-ARMPKGARCH_tune-cortexa15thf            = "cortexa15"
-ARMPKGARCH_tune-cortexa15hf-neon        = "cortexa15"
-ARMPKGARCH_tune-cortexa15thf-neon       = "cortexa15"
-ARMPKGARCH_tune-cortexa15hf-neon-vfpv4  = "cortexa15"
-ARMPKGARCH_tune-cortexa15thf-neon-vfpv4 = "cortexa15"
+ARMPKGARCH:tune-cortexa15hf             = "cortexa15"
+ARMPKGARCH:tune-cortexa15thf            = "cortexa15"
+ARMPKGARCH:tune-cortexa15hf-neon        = "cortexa15"
+ARMPKGARCH:tune-cortexa15thf-neon       = "cortexa15"
+ARMPKGARCH:tune-cortexa15hf-neon-vfpv4  = "cortexa15"
+ARMPKGARCH:tune-cortexa15thf-neon-vfpv4 = "cortexa15"
 # mcpu is used so don't use armv7ve as we don't want march
-TUNE_FEATURES_tune-cortexa15hf             = "${TUNE_FEATURES_tune-cortexa15} callconvention-hard"
-TUNE_FEATURES_tune-cortexa15thf            = "${TUNE_FEATURES_tune-cortexa15t} callconvention-hard"
-TUNE_FEATURES_tune-cortexa15hf-neon        = "${TUNE_FEATURES_tune-cortexa15-neon} callconvention-hard"
-TUNE_FEATURES_tune-cortexa15thf-neon       = "${TUNE_FEATURES_tune-cortexa15t-neon} callconvention-hard"
-TUNE_FEATURES_tune-cortexa15hf-neon-vfpv4  = "${TUNE_FEATURES_tune-cortexa15-neon-vfpv4} callconvention-hard"
-TUNE_FEATURES_tune-cortexa15thf-neon-vfpv4 = "${TUNE_FEATURES_tune-cortexa15t-neon-vfpv4} callconvention-hard"
-PACKAGE_EXTRA_ARCHS_tune-cortexa15hf             = "${PACKAGE_EXTRA_ARCHS_tune-armv7vehf} cortexa15hf-vfp"
-PACKAGE_EXTRA_ARCHS_tune-cortexa15thf            = "${PACKAGE_EXTRA_ARCHS_tune-armv7vethf} cortexa15hf-vfp cortexa15t2hf-vfp"
-PACKAGE_EXTRA_ARCHS_tune-cortexa15hf-neon        = "${PACKAGE_EXTRA_ARCHS_tune-armv7vehf-neon} cortexa15hf-vfp cortexa15hf-neon"
-PACKAGE_EXTRA_ARCHS_tune-cortexa15thf-neon       = "${PACKAGE_EXTRA_ARCHS_tune-armv7vethf-neon} cortexa15hf-vfp cortexa15hf-neon cortexa15t2hf-vfp cortexa15t2hf-neon"
-PACKAGE_EXTRA_ARCHS_tune-cortexa15hf-neon-vfpv4  = "${PACKAGE_EXTRA_ARCHS_tune-armv7vehf-neon-vfpv4} cortexa15hf-vfp cortexa15hf-neon cortexa15hf-neon-vfpv4"
-PACKAGE_EXTRA_ARCHS_tune-cortexa15thf-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS_tune-armv7vethf-neon-vfpv4} cortexa15hf-vfp cortexa15hf-neon cortexa15hf-neon-vfpv4 cortexa15t2hf-vfp cortexa15t2hf-neon cortexa15t2hf-neon-vfpv4"
+TUNE_FEATURES:tune-cortexa15hf             = "${TUNE_FEATURES:tune-cortexa15} callconvention-hard"
+TUNE_FEATURES:tune-cortexa15thf            = "${TUNE_FEATURES:tune-cortexa15t} callconvention-hard"
+TUNE_FEATURES:tune-cortexa15hf-neon        = "${TUNE_FEATURES:tune-cortexa15-neon} callconvention-hard"
+TUNE_FEATURES:tune-cortexa15thf-neon       = "${TUNE_FEATURES:tune-cortexa15t-neon} callconvention-hard"
+TUNE_FEATURES:tune-cortexa15hf-neon-vfpv4  = "${TUNE_FEATURES:tune-cortexa15-neon-vfpv4} callconvention-hard"
+TUNE_FEATURES:tune-cortexa15thf-neon-vfpv4 = "${TUNE_FEATURES:tune-cortexa15t-neon-vfpv4} callconvention-hard"
+PACKAGE_EXTRA_ARCHS:tune-cortexa15hf             = "${PACKAGE_EXTRA_ARCHS:tune-armv7vehf} cortexa15hf-vfp"
+PACKAGE_EXTRA_ARCHS:tune-cortexa15thf            = "${PACKAGE_EXTRA_ARCHS:tune-armv7vethf} cortexa15hf-vfp cortexa15t2hf-vfp"
+PACKAGE_EXTRA_ARCHS:tune-cortexa15hf-neon        = "${PACKAGE_EXTRA_ARCHS:tune-armv7vehf-neon} cortexa15hf-vfp cortexa15hf-neon"
+PACKAGE_EXTRA_ARCHS:tune-cortexa15thf-neon       = "${PACKAGE_EXTRA_ARCHS:tune-armv7vethf-neon} cortexa15hf-vfp cortexa15hf-neon cortexa15t2hf-vfp cortexa15t2hf-neon"
+PACKAGE_EXTRA_ARCHS:tune-cortexa15hf-neon-vfpv4  = "${PACKAGE_EXTRA_ARCHS:tune-armv7vehf-neon-vfpv4} cortexa15hf-vfp cortexa15hf-neon cortexa15hf-neon-vfpv4"
+PACKAGE_EXTRA_ARCHS:tune-cortexa15thf-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vethf-neon-vfpv4} cortexa15hf-vfp cortexa15hf-neon cortexa15hf-neon-vfpv4 cortexa15t2hf-vfp cortexa15t2hf-neon cortexa15t2hf-neon-vfpv4"
diff --git a/meta/conf/machine/include/tune-cortexa17.inc b/meta/conf/machine/include/tune-cortexa17.inc
index 6a2107f653d..324673d4400 100644
--- a/meta/conf/machine/include/tune-cortexa17.inc
+++ b/meta/conf/machine/include/tune-cortexa17.inc
@@ -8,44 +8,44 @@ MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'cortexa17', 'armv7ve
 
 # Little Endian base configs
 AVAILTUNES += "cortexa17 cortexa17t cortexa17-neon cortexa17t-neon cortexa17-neon-vfpv4 cortexa17t-neon-vfpv4"
-ARMPKGARCH_tune-cortexa17             = "cortexa17"
-ARMPKGARCH_tune-cortexa17t            = "cortexa17"
-ARMPKGARCH_tune-cortexa17-neon        = "cortexa17"
-ARMPKGARCH_tune-cortexa17t-neon       = "cortexa17"
-ARMPKGARCH_tune-cortexa17-neon-vfpv4  = "cortexa17"
-ARMPKGARCH_tune-cortexa17t-neon-vfpv4 = "cortexa17"
+ARMPKGARCH:tune-cortexa17             = "cortexa17"
+ARMPKGARCH:tune-cortexa17t            = "cortexa17"
+ARMPKGARCH:tune-cortexa17-neon        = "cortexa17"
+ARMPKGARCH:tune-cortexa17t-neon       = "cortexa17"
+ARMPKGARCH:tune-cortexa17-neon-vfpv4  = "cortexa17"
+ARMPKGARCH:tune-cortexa17t-neon-vfpv4 = "cortexa17"
 # mcpu is used so don't use armv7ve as we don't want march
-TUNE_FEATURES_tune-cortexa17             = "arm vfp cortexa17"
-TUNE_FEATURES_tune-cortexa17t            = "${TUNE_FEATURES_tune-cortexa17} thumb"
-TUNE_FEATURES_tune-cortexa17-neon        = "${TUNE_FEATURES_tune-cortexa17} neon"
-TUNE_FEATURES_tune-cortexa17t-neon       = "${TUNE_FEATURES_tune-cortexa17-neon} thumb"
-TUNE_FEATURES_tune-cortexa17-neon-vfpv4  = "${TUNE_FEATURES_tune-cortexa17-neon} vfpv4"
-TUNE_FEATURES_tune-cortexa17t-neon-vfpv4 = "${TUNE_FEATURES_tune-cortexa17-neon-vfpv4} thumb"
-PACKAGE_EXTRA_ARCHS_tune-cortexa17             = "${PACKAGE_EXTRA_ARCHS_tune-armv7ve} cortexa17-vfp"
-PACKAGE_EXTRA_ARCHS_tune-cortexa17t            = "${PACKAGE_EXTRA_ARCHS_tune-armv7vet} cortexa17-vfp cortexa17t2-vfp"
-PACKAGE_EXTRA_ARCHS_tune-cortexa17-neon        = "${PACKAGE_EXTRA_ARCHS_tune-armv7ve-neon} cortexa17-vfp cortexa17-neon"
-PACKAGE_EXTRA_ARCHS_tune-cortexa17t-neon       = "${PACKAGE_EXTRA_ARCHS_tune-armv7vet-neon} cortexa17-vfp cortexa17-neon cortexa17t2-vfp cortexa17t2-neon"
-PACKAGE_EXTRA_ARCHS_tune-cortexa17-neon-vfpv4  = "${PACKAGE_EXTRA_ARCHS_tune-armv7ve-neon-vfpv4} cortexa17-vfp cortexa17-neon cortexa17-neon-vfpv4"
-PACKAGE_EXTRA_ARCHS_tune-cortexa17t-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS_tune-armv7vet-neon-vfpv4} cortexa17-vfp cortexa17-neon cortexa17-neon-vfpv4 cortexa17t2-vfp cortexa17t2-neon cortexa17t2-neon-vfpv4"
+TUNE_FEATURES:tune-cortexa17             = "arm vfp cortexa17"
+TUNE_FEATURES:tune-cortexa17t            = "${TUNE_FEATURES:tune-cortexa17} thumb"
+TUNE_FEATURES:tune-cortexa17-neon        = "${TUNE_FEATURES:tune-cortexa17} neon"
+TUNE_FEATURES:tune-cortexa17t-neon       = "${TUNE_FEATURES:tune-cortexa17-neon} thumb"
+TUNE_FEATURES:tune-cortexa17-neon-vfpv4  = "${TUNE_FEATURES:tune-cortexa17-neon} vfpv4"
+TUNE_FEATURES:tune-cortexa17t-neon-vfpv4 = "${TUNE_FEATURES:tune-cortexa17-neon-vfpv4} thumb"
+PACKAGE_EXTRA_ARCHS:tune-cortexa17             = "${PACKAGE_EXTRA_ARCHS:tune-armv7ve} cortexa17-vfp"
+PACKAGE_EXTRA_ARCHS:tune-cortexa17t            = "${PACKAGE_EXTRA_ARCHS:tune-armv7vet} cortexa17-vfp cortexa17t2-vfp"
+PACKAGE_EXTRA_ARCHS:tune-cortexa17-neon        = "${PACKAGE_EXTRA_ARCHS:tune-armv7ve-neon} cortexa17-vfp cortexa17-neon"
+PACKAGE_EXTRA_ARCHS:tune-cortexa17t-neon       = "${PACKAGE_EXTRA_ARCHS:tune-armv7vet-neon} cortexa17-vfp cortexa17-neon cortexa17t2-vfp cortexa17t2-neon"
+PACKAGE_EXTRA_ARCHS:tune-cortexa17-neon-vfpv4  = "${PACKAGE_EXTRA_ARCHS:tune-armv7ve-neon-vfpv4} cortexa17-vfp cortexa17-neon cortexa17-neon-vfpv4"
+PACKAGE_EXTRA_ARCHS:tune-cortexa17t-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vet-neon-vfpv4} cortexa17-vfp cortexa17-neon cortexa17-neon-vfpv4 cortexa17t2-vfp cortexa17t2-neon cortexa17t2-neon-vfpv4"
 
 # HF Tunes
 AVAILTUNES += "cortexa17hf cortexa17thf cortexa17hf-neon cortexa17thf-neon cortexa17hf-neon-vfpv4 cortexa17thf-neon-vfpv4"
-ARMPKGARCH_tune-cortexa17hf             = "cortexa17"
-ARMPKGARCH_tune-cortexa17thf            = "cortexa17"
-ARMPKGARCH_tune-cortexa17hf-neon        = "cortexa17"
-ARMPKGARCH_tune-cortexa17thf-neon       = "cortexa17"
-ARMPKGARCH_tune-cortexa17hf-neon-vfpv4  = "cortexa17"
-ARMPKGARCH_tune-cortexa17thf-neon-vfpv4 = "cortexa17"
+ARMPKGARCH:tune-cortexa17hf             = "cortexa17"
+ARMPKGARCH:tune-cortexa17thf            = "cortexa17"
+ARMPKGARCH:tune-cortexa17hf-neon        = "cortexa17"
+ARMPKGARCH:tune-cortexa17thf-neon       = "cortexa17"
+ARMPKGARCH:tune-cortexa17hf-neon-vfpv4  = "cortexa17"
+ARMPKGARCH:tune-cortexa17thf-neon-vfpv4 = "cortexa17"
 # mcpu is used so don't use armv7ve as we don't want march
-TUNE_FEATURES_tune-cortexa17hf             = "${TUNE_FEATURES_tune-cortexa17} callconvention-hard"
-TUNE_FEATURES_tune-cortexa17thf            = "${TUNE_FEATURES_tune-cortexa17t} callconvention-hard"
-TUNE_FEATURES_tune-cortexa17hf-neon        = "${TUNE_FEATURES_tune-cortexa17-neon} callconvention-hard"
-TUNE_FEATURES_tune-cortexa17thf-neon       = "${TUNE_FEATURES_tune-cortexa17t-neon} callconvention-hard"
-TUNE_FEATURES_tune-cortexa17hf-neon-vfpv4  = "${TUNE_FEATURES_tune-cortexa17-neon-vfpv4} callconvention-hard"
-TUNE_FEATURES_tune-cortexa17thf-neon-vfpv4 = "${TUNE_FEATURES_tune-cortexa17t-neon-vfpv4} callconvention-hard"
-PACKAGE_EXTRA_ARCHS_tune-cortexa17hf             = "${PACKAGE_EXTRA_ARCHS_tune-armv7vehf} cortexa17hf-vfp"
-PACKAGE_EXTRA_ARCHS_tune-cortexa17thf            = "${PACKAGE_EXTRA_ARCHS_tune-armv7vethf} cortexa17hf-vfp cortexa17t2hf-vfp"
-PACKAGE_EXTRA_ARCHS_tune-cortexa17hf-neon        = "${PACKAGE_EXTRA_ARCHS_tune-armv7vehf-neon} cortexa17hf-vfp cortexa17hf-neon"
-PACKAGE_EXTRA_ARCHS_tune-cortexa17thf-neon       = "${PACKAGE_EXTRA_ARCHS_tune-armv7vethf-neon} cortexa17hf-vfp cortexa17hf-neon cortexa17t2hf-vfp cortexa17t2hf-neon"
-PACKAGE_EXTRA_ARCHS_tune-cortexa17hf-neon-vfpv4  = "${PACKAGE_EXTRA_ARCHS_tune-armv7vehf-neon-vfpv4} cortexa17hf-vfp cortexa17hf-neon cortexa17hf-neon-vfpv4"
-PACKAGE_EXTRA_ARCHS_tune-cortexa17thf-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS_tune-armv7vethf-neon-vfpv4} cortexa17hf-vfp cortexa17hf-neon cortexa17hf-neon-vfpv4 cortexa17t2hf-vfp cortexa17t2hf-neon cortexa17t2hf-neon-vfpv4"
+TUNE_FEATURES:tune-cortexa17hf             = "${TUNE_FEATURES:tune-cortexa17} callconvention-hard"
+TUNE_FEATURES:tune-cortexa17thf            = "${TUNE_FEATURES:tune-cortexa17t} callconvention-hard"
+TUNE_FEATURES:tune-cortexa17hf-neon        = "${TUNE_FEATURES:tune-cortexa17-neon} callconvention-hard"
+TUNE_FEATURES:tune-cortexa17thf-neon       = "${TUNE_FEATURES:tune-cortexa17t-neon} callconvention-hard"
+TUNE_FEATURES:tune-cortexa17hf-neon-vfpv4  = "${TUNE_FEATURES:tune-cortexa17-neon-vfpv4} callconvention-hard"
+TUNE_FEATURES:tune-cortexa17thf-neon-vfpv4 = "${TUNE_FEATURES:tune-cortexa17t-neon-vfpv4} callconvention-hard"
+PACKAGE_EXTRA_ARCHS:tune-cortexa17hf             = "${PACKAGE_EXTRA_ARCHS:tune-armv7vehf} cortexa17hf-vfp"
+PACKAGE_EXTRA_ARCHS:tune-cortexa17thf            = "${PACKAGE_EXTRA_ARCHS:tune-armv7vethf} cortexa17hf-vfp cortexa17t2hf-vfp"
+PACKAGE_EXTRA_ARCHS:tune-cortexa17hf-neon        = "${PACKAGE_EXTRA_ARCHS:tune-armv7vehf-neon} cortexa17hf-vfp cortexa17hf-neon"
+PACKAGE_EXTRA_ARCHS:tune-cortexa17thf-neon       = "${PACKAGE_EXTRA_ARCHS:tune-armv7vethf-neon} cortexa17hf-vfp cortexa17hf-neon cortexa17t2hf-vfp cortexa17t2hf-neon"
+PACKAGE_EXTRA_ARCHS:tune-cortexa17hf-neon-vfpv4  = "${PACKAGE_EXTRA_ARCHS:tune-armv7vehf-neon-vfpv4} cortexa17hf-vfp cortexa17hf-neon cortexa17hf-neon-vfpv4"
+PACKAGE_EXTRA_ARCHS:tune-cortexa17thf-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vethf-neon-vfpv4} cortexa17hf-vfp cortexa17hf-neon cortexa17hf-neon-vfpv4 cortexa17t2hf-vfp cortexa17t2hf-neon cortexa17t2hf-neon-vfpv4"
diff --git a/meta/conf/machine/include/tune-cortexa32.inc b/meta/conf/machine/include/tune-cortexa32.inc
index b9ae2b1c57b..c7b01a29065 100644
--- a/meta/conf/machine/include/tune-cortexa32.inc
+++ b/meta/conf/machine/include/tune-cortexa32.inc
@@ -7,11 +7,11 @@ require conf/machine/include/arm/arch-armv8a.inc
 
 # Little Endian base configs
 AVAILTUNES += "cortexa32 cortexa32-crypto"
-ARMPKGARCH_tune-cortexa32             = "cortexa32"
-ARMPKGARCH_tune-cortexa32-crypto      = "cortexa32"
-TUNE_FEATURES_tune-cortexa32          = "armv8a cortexa32 crc callconvention-hard neon"
-TUNE_FEATURES_tune-cortexa32-crypto   = "${TUNE_FEATURES_tune-cortexa32} crypto"
-PACKAGE_EXTRA_ARCHS_tune-cortexa32             = "${PACKAGE_EXTRA_ARCHS_tune-armv8a-crc} cortexa32 cortexa32hf-neon"
-PACKAGE_EXTRA_ARCHS_tune-cortexa32-crypto      = "${PACKAGE_EXTRA_ARCHS_tune-armv8a-crc-crypto} cortexa32 cortexa32hf-neon cortexa32hf-neon-crypto"
-BASE_LIB_tune-cortexa32               = "lib"
-BASE_LIB_tune-cortexa32-crypto        = "lib"
+ARMPKGARCH:tune-cortexa32             = "cortexa32"
+ARMPKGARCH:tune-cortexa32-crypto      = "cortexa32"
+TUNE_FEATURES:tune-cortexa32          = "armv8a cortexa32 crc callconvention-hard neon"
+TUNE_FEATURES:tune-cortexa32-crypto   = "${TUNE_FEATURES:tune-cortexa32} crypto"
+PACKAGE_EXTRA_ARCHS:tune-cortexa32             = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc} cortexa32 cortexa32hf-neon"
+PACKAGE_EXTRA_ARCHS:tune-cortexa32-crypto      = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc-crypto} cortexa32 cortexa32hf-neon cortexa32hf-neon-crypto"
+BASE_LIB:tune-cortexa32               = "lib"
+BASE_LIB:tune-cortexa32-crypto        = "lib"
diff --git a/meta/conf/machine/include/tune-cortexa35.inc b/meta/conf/machine/include/tune-cortexa35.inc
index cb3ad4c11ea..33afb193863 100644
--- a/meta/conf/machine/include/tune-cortexa35.inc
+++ b/meta/conf/machine/include/tune-cortexa35.inc
@@ -7,11 +7,11 @@ require conf/machine/include/arm/arch-armv8a.inc
 
 # Little Endian base configs
 AVAILTUNES += "cortexa35 cortexa35-crypto"
-ARMPKGARCH_tune-cortexa35             = "cortexa35"
-ARMPKGARCH_tune-cortexa35-crypto      = "cortexa35"
-TUNE_FEATURES_tune-cortexa35          = "${TUNE_FEATURES_tune-armv8a-crc} cortexa35"
-TUNE_FEATURES_tune-cortexa35-crypto   = "${TUNE_FEATURES_tune-cortexa35} crypto"
-PACKAGE_EXTRA_ARCHS_tune-cortexa35             = "${PACKAGE_EXTRA_ARCHS_tune-armv8a-crc} cortexa35"
-PACKAGE_EXTRA_ARCHS_tune-cortexa35-crypto      = "${PACKAGE_EXTRA_ARCHS_tune-armv8a-crc-crypto} cortexa35 cortexa35-crypto"
-BASE_LIB_tune-cortexa35               = "lib64"
-BASE_LIB_tune-cortexa35-crypto        = "lib64"
+ARMPKGARCH:tune-cortexa35             = "cortexa35"
+ARMPKGARCH:tune-cortexa35-crypto      = "cortexa35"
+TUNE_FEATURES:tune-cortexa35          = "${TUNE_FEATURES:tune-armv8a-crc} cortexa35"
+TUNE_FEATURES:tune-cortexa35-crypto   = "${TUNE_FEATURES:tune-cortexa35} crypto"
+PACKAGE_EXTRA_ARCHS:tune-cortexa35             = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc} cortexa35"
+PACKAGE_EXTRA_ARCHS:tune-cortexa35-crypto      = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc-crypto} cortexa35 cortexa35-crypto"
+BASE_LIB:tune-cortexa35               = "lib64"
+BASE_LIB:tune-cortexa35-crypto        = "lib64"
diff --git a/meta/conf/machine/include/tune-cortexa5.inc b/meta/conf/machine/include/tune-cortexa5.inc
index 923b758c41d..817eb166d6e 100644
--- a/meta/conf/machine/include/tune-cortexa5.inc
+++ b/meta/conf/machine/include/tune-cortexa5.inc
@@ -8,44 +8,44 @@ MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'cortexa5', 'armv7a:'
 
 # Little Endian base configs
 AVAILTUNES += "cortexa5 cortexa5t cortexa5-neon cortexa5t-neon cortexa5-neon-vfpv4 cortexa5t-neon-vfpv4"
-ARMPKGARCH_tune-cortexa5             = "cortexa5"
-ARMPKGARCH_tune-cortexa5t            = "cortexa5"
-ARMPKGARCH_tune-cortexa5-neon        = "cortexa5"
-ARMPKGARCH_tune-cortexa5t-neon       = "cortexa5"
-ARMPKGARCH_tune-cortexa5-neon-vfpv4  = "cortexa5"
-ARMPKGARCH_tune-cortexa5t-neon-vfpv4 = "cortexa5"
+ARMPKGARCH:tune-cortexa5             = "cortexa5"
+ARMPKGARCH:tune-cortexa5t            = "cortexa5"
+ARMPKGARCH:tune-cortexa5-neon        = "cortexa5"
+ARMPKGARCH:tune-cortexa5t-neon       = "cortexa5"
+ARMPKGARCH:tune-cortexa5-neon-vfpv4  = "cortexa5"
+ARMPKGARCH:tune-cortexa5t-neon-vfpv4 = "cortexa5"
 # mcpu is used so don't use armv7a as we don't want march
-TUNE_FEATURES_tune-cortexa5             = "arm vfp cortexa5"
-TUNE_FEATURES_tune-cortexa5t            = "${TUNE_FEATURES_tune-cortexa5} thumb"
-TUNE_FEATURES_tune-cortexa5-neon        = "${TUNE_FEATURES_tune-cortexa5} neon"
-TUNE_FEATURES_tune-cortexa5t-neon       = "${TUNE_FEATURES_tune-cortexa5-neon} thumb"
-TUNE_FEATURES_tune-cortexa5-neon-vfpv4  = "${TUNE_FEATURES_tune-cortexa5-neon} vfpv4"
-TUNE_FEATURES_tune-cortexa5t-neon-vfpv4 = "${TUNE_FEATURES_tune-cortexa5-neon-vfpv4} thumb"
-PACKAGE_EXTRA_ARCHS_tune-cortexa5             = "${PACKAGE_EXTRA_ARCHS_tune-armv7a} cortexa5-vfp"
-PACKAGE_EXTRA_ARCHS_tune-cortexa5t            = "${PACKAGE_EXTRA_ARCHS_tune-armv7at} cortexa5-vfp cortexa5t2-vfp"
-PACKAGE_EXTRA_ARCHS_tune-cortexa5-neon        = "${PACKAGE_EXTRA_ARCHS_tune-armv7a-neon} cortexa5-vfp cortexa5-neon"
-PACKAGE_EXTRA_ARCHS_tune-cortexa5t-neon       = "${PACKAGE_EXTRA_ARCHS_tune-armv7at-neon} cortexa5-vfp cortexa5-neon cortexa5t2-vfp cortexa5t2-neon"
-PACKAGE_EXTRA_ARCHS_tune-cortexa5-neon-vfpv4  = "${PACKAGE_EXTRA_ARCHS_tune-armv7a-neon-vfpv4} cortexa5-vfp cortexa5-neon cortexa5-neon-vfpv4"
-PACKAGE_EXTRA_ARCHS_tune-cortexa5t-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS_tune-armv7at-neon-vfpv4} cortexa5-vfp cortexa5-neon cortexa5-neon-vfpv4 cortexa5t2-vfp cortexa5t2-neon cortexa5t2-neon-vfpv4"
+TUNE_FEATURES:tune-cortexa5             = "arm vfp cortexa5"
+TUNE_FEATURES:tune-cortexa5t            = "${TUNE_FEATURES:tune-cortexa5} thumb"
+TUNE_FEATURES:tune-cortexa5-neon        = "${TUNE_FEATURES:tune-cortexa5} neon"
+TUNE_FEATURES:tune-cortexa5t-neon       = "${TUNE_FEATURES:tune-cortexa5-neon} thumb"
+TUNE_FEATURES:tune-cortexa5-neon-vfpv4  = "${TUNE_FEATURES:tune-cortexa5-neon} vfpv4"
+TUNE_FEATURES:tune-cortexa5t-neon-vfpv4 = "${TUNE_FEATURES:tune-cortexa5-neon-vfpv4} thumb"
+PACKAGE_EXTRA_ARCHS:tune-cortexa5             = "${PACKAGE_EXTRA_ARCHS:tune-armv7a} cortexa5-vfp"
+PACKAGE_EXTRA_ARCHS:tune-cortexa5t            = "${PACKAGE_EXTRA_ARCHS:tune-armv7at} cortexa5-vfp cortexa5t2-vfp"
+PACKAGE_EXTRA_ARCHS:tune-cortexa5-neon        = "${PACKAGE_EXTRA_ARCHS:tune-armv7a-neon} cortexa5-vfp cortexa5-neon"
+PACKAGE_EXTRA_ARCHS:tune-cortexa5t-neon       = "${PACKAGE_EXTRA_ARCHS:tune-armv7at-neon} cortexa5-vfp cortexa5-neon cortexa5t2-vfp cortexa5t2-neon"
+PACKAGE_EXTRA_ARCHS:tune-cortexa5-neon-vfpv4  = "${PACKAGE_EXTRA_ARCHS:tune-armv7a-neon-vfpv4} cortexa5-vfp cortexa5-neon cortexa5-neon-vfpv4"
+PACKAGE_EXTRA_ARCHS:tune-cortexa5t-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7at-neon-vfpv4} cortexa5-vfp cortexa5-neon cortexa5-neon-vfpv4 cortexa5t2-vfp cortexa5t2-neon cortexa5t2-neon-vfpv4"
 
 # HF Tunes
 AVAILTUNES += "cortexa5hf cortexa5thf cortexa5hf-neon cortexa5thf-neon cortexa5hf-neon-vfpv4 cortexa5thf-neon-vfpv4"
-ARMPKGARCH_tune-cortexa5hf             = "cortexa5"
-ARMPKGARCH_tune-cortexa5thf            = "cortexa5"
-ARMPKGARCH_tune-cortexa5hf-neon        = "cortexa5"
-ARMPKGARCH_tune-cortexa5thf-neon       = "cortexa5"
-ARMPKGARCH_tune-cortexa5hf-neon-vfpv4  = "cortexa5"
-ARMPKGARCH_tune-cortexa5thf-neon-vfpv4 = "cortexa5"
+ARMPKGARCH:tune-cortexa5hf             = "cortexa5"
+ARMPKGARCH:tune-cortexa5thf            = "cortexa5"
+ARMPKGARCH:tune-cortexa5hf-neon        = "cortexa5"
+ARMPKGARCH:tune-cortexa5thf-neon       = "cortexa5"
+ARMPKGARCH:tune-cortexa5hf-neon-vfpv4  = "cortexa5"
+ARMPKGARCH:tune-cortexa5thf-neon-vfpv4 = "cortexa5"
 # mcpu is used so don't use armv7a as we don't want march
-TUNE_FEATURES_tune-cortexa5hf             = "${TUNE_FEATURES_tune-cortexa5} callconvention-hard"
-TUNE_FEATURES_tune-cortexa5thf            = "${TUNE_FEATURES_tune-cortexa5t} callconvention-hard"
-TUNE_FEATURES_tune-cortexa5hf-neon        = "${TUNE_FEATURES_tune-cortexa5-neon} callconvention-hard"
-TUNE_FEATURES_tune-cortexa5thf-neon       = "${TUNE_FEATURES_tune-cortexa5t-neon} callconvention-hard"
-TUNE_FEATURES_tune-cortexa5hf-neon-vfpv4  = "${TUNE_FEATURES_tune-cortexa5-neon-vfpv4} callconvention-hard"
-TUNE_FEATURES_tune-cortexa5thf-neon-vfpv4 = "${TUNE_FEATURES_tune-cortexa5t-neon-vfpv4} callconvention-hard"
-PACKAGE_EXTRA_ARCHS_tune-cortexa5hf             = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf} cortexa5hf-vfp"
-PACKAGE_EXTRA_ARCHS_tune-cortexa5thf            = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf} cortexa5hf-vfp cortexa5t2hf-vfp"
-PACKAGE_EXTRA_ARCHS_tune-cortexa5hf-neon        = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf-neon} cortexa5hf-vfp cortexa5hf-neon"
-PACKAGE_EXTRA_ARCHS_tune-cortexa5thf-neon       = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf-neon} cortexa5hf-vfp cortexa5hf-neon cortexa5t2hf-vfp cortexa5t2hf-neon"
-PACKAGE_EXTRA_ARCHS_tune-cortexa5hf-neon-vfpv4  = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf-neon-vfpv4} cortexa5hf-vfp cortexa5hf-neon cortexa5hf-neon-vfpv4"
-PACKAGE_EXTRA_ARCHS_tune-cortexa5thf-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf-neon-vfpv4} cortexa5hf-vfp cortexa5hf-neon cortexa5hf-neon-vfpv4 cortexa5t2hf-vfp cortexa5t2hf-neon cortexa5t2hf-neon-vfpv4"
+TUNE_FEATURES:tune-cortexa5hf             = "${TUNE_FEATURES:tune-cortexa5} callconvention-hard"
+TUNE_FEATURES:tune-cortexa5thf            = "${TUNE_FEATURES:tune-cortexa5t} callconvention-hard"
+TUNE_FEATURES:tune-cortexa5hf-neon        = "${TUNE_FEATURES:tune-cortexa5-neon} callconvention-hard"
+TUNE_FEATURES:tune-cortexa5thf-neon       = "${TUNE_FEATURES:tune-cortexa5t-neon} callconvention-hard"
+TUNE_FEATURES:tune-cortexa5hf-neon-vfpv4  = "${TUNE_FEATURES:tune-cortexa5-neon-vfpv4} callconvention-hard"
+TUNE_FEATURES:tune-cortexa5thf-neon-vfpv4 = "${TUNE_FEATURES:tune-cortexa5t-neon-vfpv4} callconvention-hard"
+PACKAGE_EXTRA_ARCHS:tune-cortexa5hf             = "${PACKAGE_EXTRA_ARCHS:tune-armv7ahf} cortexa5hf-vfp"
+PACKAGE_EXTRA_ARCHS:tune-cortexa5thf            = "${PACKAGE_EXTRA_ARCHS:tune-armv7athf} cortexa5hf-vfp cortexa5t2hf-vfp"
+PACKAGE_EXTRA_ARCHS:tune-cortexa5hf-neon        = "${PACKAGE_EXTRA_ARCHS:tune-armv7ahf-neon} cortexa5hf-vfp cortexa5hf-neon"
+PACKAGE_EXTRA_ARCHS:tune-cortexa5thf-neon       = "${PACKAGE_EXTRA_ARCHS:tune-armv7athf-neon} cortexa5hf-vfp cortexa5hf-neon cortexa5t2hf-vfp cortexa5t2hf-neon"
+PACKAGE_EXTRA_ARCHS:tune-cortexa5hf-neon-vfpv4  = "${PACKAGE_EXTRA_ARCHS:tune-armv7ahf-neon-vfpv4} cortexa5hf-vfp cortexa5hf-neon cortexa5hf-neon-vfpv4"
+PACKAGE_EXTRA_ARCHS:tune-cortexa5thf-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7athf-neon-vfpv4} cortexa5hf-vfp cortexa5hf-neon cortexa5hf-neon-vfpv4 cortexa5t2hf-vfp cortexa5t2hf-neon cortexa5t2hf-neon-vfpv4"
diff --git a/meta/conf/machine/include/tune-cortexa53.inc b/meta/conf/machine/include/tune-cortexa53.inc
index 7f8863a2fa7..a534ad358d8 100644
--- a/meta/conf/machine/include/tune-cortexa53.inc
+++ b/meta/conf/machine/include/tune-cortexa53.inc
@@ -7,11 +7,11 @@ require conf/machine/include/arm/arch-armv8a.inc
 
 # Little Endian base configs
 AVAILTUNES += "cortexa53 cortexa53-crypto"
-ARMPKGARCH_tune-cortexa53             = "cortexa53"
-ARMPKGARCH_tune-cortexa53-crypto      = "cortexa53-crypto"
-TUNE_FEATURES_tune-cortexa53          = "${TUNE_FEATURES_tune-armv8a-crc} cortexa53"
-TUNE_FEATURES_tune-cortexa53-crypto   = "${TUNE_FEATURES_tune-cortexa53} crypto"
-PACKAGE_EXTRA_ARCHS_tune-cortexa53             = "${PACKAGE_EXTRA_ARCHS_tune-armv8a-crc} cortexa53"
-PACKAGE_EXTRA_ARCHS_tune-cortexa53-crypto      = "${PACKAGE_EXTRA_ARCHS_tune-armv8a-crc-crypto} cortexa53 cortexa53-crypto"
-BASE_LIB_tune-cortexa53               = "lib64"
-BASE_LIB_tune-cortexa53-crypto        = "lib64"
+ARMPKGARCH:tune-cortexa53             = "cortexa53"
+ARMPKGARCH:tune-cortexa53-crypto      = "cortexa53-crypto"
+TUNE_FEATURES:tune-cortexa53          = "${TUNE_FEATURES:tune-armv8a-crc} cortexa53"
+TUNE_FEATURES:tune-cortexa53-crypto   = "${TUNE_FEATURES:tune-cortexa53} crypto"
+PACKAGE_EXTRA_ARCHS:tune-cortexa53             = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc} cortexa53"
+PACKAGE_EXTRA_ARCHS:tune-cortexa53-crypto      = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc-crypto} cortexa53 cortexa53-crypto"
+BASE_LIB:tune-cortexa53               = "lib64"
+BASE_LIB:tune-cortexa53-crypto        = "lib64"
diff --git a/meta/conf/machine/include/tune-cortexa55.inc b/meta/conf/machine/include/tune-cortexa55.inc
index e9629738f32..d130b4b90ad 100644
--- a/meta/conf/machine/include/tune-cortexa55.inc
+++ b/meta/conf/machine/include/tune-cortexa55.inc
@@ -7,7 +7,7 @@ require conf/machine/include/arm/arch-armv8-2a.inc
 
 # Little Endian base configs
 AVAILTUNES += "cortexa55"
-ARMPKGARCH_tune-cortexa55             = "cortexa55"
-TUNE_FEATURES_tune-cortexa55          = "${TUNE_FEATURES_tune-armv8-2a-crypto} cortexa55"
-PACKAGE_EXTRA_ARCHS_tune-cortexa55    = "${PACKAGE_EXTRA_ARCHS_tune-armv8-2a-crypto} cortexa55"
-BASE_LIB_tune-cortexa55               = "lib64"
+ARMPKGARCH:tune-cortexa55             = "cortexa55"
+TUNE_FEATURES:tune-cortexa55          = "${TUNE_FEATURES:tune-armv8-2a-crypto} cortexa55"
+PACKAGE_EXTRA_ARCHS:tune-cortexa55    = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} cortexa55"
+BASE_LIB:tune-cortexa55               = "lib64"
diff --git a/meta/conf/machine/include/tune-cortexa57-cortexa53.inc b/meta/conf/machine/include/tune-cortexa57-cortexa53.inc
index d329d6199fa..7de671a2e5d 100644
--- a/meta/conf/machine/include/tune-cortexa57-cortexa53.inc
+++ b/meta/conf/machine/include/tune-cortexa57-cortexa53.inc
@@ -8,7 +8,7 @@ require conf/machine/include/arm/arch-armv8a.inc
 
 # Little Endian base configs
 AVAILTUNES += "cortexa57-cortexa53"
-ARMPKGARCH_tune-cortexa57-cortexa53 = "cortexa57-cortexa53"
-TUNE_FEATURES_tune-cortexa57-cortexa53 = "${TUNE_FEATURES_tune-armv8a-crc} cortexa57-cortexa53"
-PACKAGE_EXTRA_ARCHS_tune-cortexa57-cortexa53 = "${PACKAGE_EXTRA_ARCHS_tune-armv8a-crc} cortexa57-cortexa53"
-BASE_LIB_tune-cortexa57-cortexa53 = "lib64"
+ARMPKGARCH:tune-cortexa57-cortexa53 = "cortexa57-cortexa53"
+TUNE_FEATURES:tune-cortexa57-cortexa53 = "${TUNE_FEATURES:tune-armv8a-crc} cortexa57-cortexa53"
+PACKAGE_EXTRA_ARCHS:tune-cortexa57-cortexa53 = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc} cortexa57-cortexa53"
+BASE_LIB:tune-cortexa57-cortexa53 = "lib64"
diff --git a/meta/conf/machine/include/tune-cortexa57.inc b/meta/conf/machine/include/tune-cortexa57.inc
index 91fa6685f5e..37650d8798c 100644
--- a/meta/conf/machine/include/tune-cortexa57.inc
+++ b/meta/conf/machine/include/tune-cortexa57.inc
@@ -7,11 +7,11 @@ require conf/machine/include/arm/arch-armv8a.inc
 
 # Little Endian base configs
 AVAILTUNES += "cortexa57 cortexa57-crypto"
-ARMPKGARCH_tune-cortexa57             = "cortexa57"
-ARMPKGARCH_tune-cortexa57-crypto      = "cortexa57-crypto"
-TUNE_FEATURES_tune-cortexa57          = "${TUNE_FEATURES_tune-armv8a-crc} cortexa57"
-TUNE_FEATURES_tune-cortexa57-crypto   = "${TUNE_FEATURES_tune-cortexa57} crypto"
-PACKAGE_EXTRA_ARCHS_tune-cortexa57             = "${PACKAGE_EXTRA_ARCHS_tune-armv8a-crc} cortexa57"
-PACKAGE_EXTRA_ARCHS_tune-cortexa57-crypto      = "${PACKAGE_EXTRA_ARCHS_tune-armv8a-crc-crypto} cortexa57 cortexa57-crypto"
-BASE_LIB_tune-cortexa57               = "lib64"
-BASE_LIB_tune-cortexa57-crypto        = "lib64"
+ARMPKGARCH:tune-cortexa57             = "cortexa57"
+ARMPKGARCH:tune-cortexa57-crypto      = "cortexa57-crypto"
+TUNE_FEATURES:tune-cortexa57          = "${TUNE_FEATURES:tune-armv8a-crc} cortexa57"
+TUNE_FEATURES:tune-cortexa57-crypto   = "${TUNE_FEATURES:tune-cortexa57} crypto"
+PACKAGE_EXTRA_ARCHS:tune-cortexa57             = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc} cortexa57"
+PACKAGE_EXTRA_ARCHS:tune-cortexa57-crypto      = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc-crypto} cortexa57 cortexa57-crypto"
+BASE_LIB:tune-cortexa57               = "lib64"
+BASE_LIB:tune-cortexa57-crypto        = "lib64"
diff --git a/meta/conf/machine/include/tune-cortexa7.inc b/meta/conf/machine/include/tune-cortexa7.inc
index 05081dcbd81..5384369b599 100644
--- a/meta/conf/machine/include/tune-cortexa7.inc
+++ b/meta/conf/machine/include/tune-cortexa7.inc
@@ -8,44 +8,44 @@ MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'cortexa7', 'armv7ve:
 
 # Little Endian base configs
 AVAILTUNES += "cortexa7 cortexa7t cortexa7-neon cortexa7t-neon cortexa7-neon-vfpv4 cortexa7t-neon-vfpv4"
-ARMPKGARCH_tune-cortexa7             = "cortexa7"
-ARMPKGARCH_tune-cortexa7t            = "cortexa7"
-ARMPKGARCH_tune-cortexa7-neon        = "cortexa7"
-ARMPKGARCH_tune-cortexa7t-neon       = "cortexa7"
-ARMPKGARCH_tune-cortexa7-neon-vfpv4  = "cortexa7"
-ARMPKGARCH_tune-cortexa7t-neon-vfpv4 = "cortexa7"
+ARMPKGARCH:tune-cortexa7             = "cortexa7"
+ARMPKGARCH:tune-cortexa7t            = "cortexa7"
+ARMPKGARCH:tune-cortexa7-neon        = "cortexa7"
+ARMPKGARCH:tune-cortexa7t-neon       = "cortexa7"
+ARMPKGARCH:tune-cortexa7-neon-vfpv4  = "cortexa7"
+ARMPKGARCH:tune-cortexa7t-neon-vfpv4 = "cortexa7"
 # mcpu is used so don't use armv7ve as we don't want march
-TUNE_FEATURES_tune-cortexa7             = "arm vfp cortexa7"
-TUNE_FEATURES_tune-cortexa7t            = "${TUNE_FEATURES_tune-cortexa7} thumb"
-TUNE_FEATURES_tune-cortexa7-neon        = "${TUNE_FEATURES_tune-cortexa7} neon"
-TUNE_FEATURES_tune-cortexa7t-neon       = "${TUNE_FEATURES_tune-cortexa7-neon} thumb"
-TUNE_FEATURES_tune-cortexa7-neon-vfpv4  = "${TUNE_FEATURES_tune-cortexa7-neon} vfpv4"
-TUNE_FEATURES_tune-cortexa7t-neon-vfpv4 = "${TUNE_FEATURES_tune-cortexa7-neon-vfpv4} thumb"
-PACKAGE_EXTRA_ARCHS_tune-cortexa7             = "${PACKAGE_EXTRA_ARCHS_tune-armv7ve} cortexa7-vfp"
-PACKAGE_EXTRA_ARCHS_tune-cortexa7t            = "${PACKAGE_EXTRA_ARCHS_tune-armv7vet} cortexa7-vfp cortexa7t2-vfp"
-PACKAGE_EXTRA_ARCHS_tune-cortexa7-neon        = "${PACKAGE_EXTRA_ARCHS_tune-armv7ve-neon} cortexa7-vfp cortexa7-neon"
-PACKAGE_EXTRA_ARCHS_tune-cortexa7t-neon       = "${PACKAGE_EXTRA_ARCHS_tune-armv7vet-neon} cortexa7-vfp cortexa7-neon cortexa7t2-vfp cortexa7t2-neon"
-PACKAGE_EXTRA_ARCHS_tune-cortexa7-neon-vfpv4  = "${PACKAGE_EXTRA_ARCHS_tune-armv7ve-neon-vfpv4} cortexa7-vfp cortexa7-neon cortexa7-neon-vfpv4"
-PACKAGE_EXTRA_ARCHS_tune-cortexa7t-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS_tune-armv7vet-neon-vfpv4} cortexa7-vfp cortexa7-neon cortexa7-neon-vfpv4 cortexa7t2-vfp cortexa7t2-neon cortexa7t2-neon-vfpv4"
+TUNE_FEATURES:tune-cortexa7             = "arm vfp cortexa7"
+TUNE_FEATURES:tune-cortexa7t            = "${TUNE_FEATURES:tune-cortexa7} thumb"
+TUNE_FEATURES:tune-cortexa7-neon        = "${TUNE_FEATURES:tune-cortexa7} neon"
+TUNE_FEATURES:tune-cortexa7t-neon       = "${TUNE_FEATURES:tune-cortexa7-neon} thumb"
+TUNE_FEATURES:tune-cortexa7-neon-vfpv4  = "${TUNE_FEATURES:tune-cortexa7-neon} vfpv4"
+TUNE_FEATURES:tune-cortexa7t-neon-vfpv4 = "${TUNE_FEATURES:tune-cortexa7-neon-vfpv4} thumb"
+PACKAGE_EXTRA_ARCHS:tune-cortexa7             = "${PACKAGE_EXTRA_ARCHS:tune-armv7ve} cortexa7-vfp"
+PACKAGE_EXTRA_ARCHS:tune-cortexa7t            = "${PACKAGE_EXTRA_ARCHS:tune-armv7vet} cortexa7-vfp cortexa7t2-vfp"
+PACKAGE_EXTRA_ARCHS:tune-cortexa7-neon        = "${PACKAGE_EXTRA_ARCHS:tune-armv7ve-neon} cortexa7-vfp cortexa7-neon"
+PACKAGE_EXTRA_ARCHS:tune-cortexa7t-neon       = "${PACKAGE_EXTRA_ARCHS:tune-armv7vet-neon} cortexa7-vfp cortexa7-neon cortexa7t2-vfp cortexa7t2-neon"
+PACKAGE_EXTRA_ARCHS:tune-cortexa7-neon-vfpv4  = "${PACKAGE_EXTRA_ARCHS:tune-armv7ve-neon-vfpv4} cortexa7-vfp cortexa7-neon cortexa7-neon-vfpv4"
+PACKAGE_EXTRA_ARCHS:tune-cortexa7t-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vet-neon-vfpv4} cortexa7-vfp cortexa7-neon cortexa7-neon-vfpv4 cortexa7t2-vfp cortexa7t2-neon cortexa7t2-neon-vfpv4"
 
 # HF Tunes
 AVAILTUNES += "cortexa7hf cortexa7thf cortexa7hf-neon cortexa7thf-neon cortexa7hf-neon-vfpv4 cortexa7thf-neon-vfpv4"
-ARMPKGARCH_tune-cortexa7hf             = "cortexa7"
-ARMPKGARCH_tune-cortexa7thf            = "cortexa7"
-ARMPKGARCH_tune-cortexa7hf-neon        = "cortexa7"
-ARMPKGARCH_tune-cortexa7thf-neon       = "cortexa7"
-ARMPKGARCH_tune-cortexa7hf-neon-vfpv4  = "cortexa7"
-ARMPKGARCH_tune-cortexa7thf-neon-vfpv4 = "cortexa7"
+ARMPKGARCH:tune-cortexa7hf             = "cortexa7"
+ARMPKGARCH:tune-cortexa7thf            = "cortexa7"
+ARMPKGARCH:tune-cortexa7hf-neon        = "cortexa7"
+ARMPKGARCH:tune-cortexa7thf-neon       = "cortexa7"
+ARMPKGARCH:tune-cortexa7hf-neon-vfpv4  = "cortexa7"
+ARMPKGARCH:tune-cortexa7thf-neon-vfpv4 = "cortexa7"
 # mcpu is used so don't use armv7ve as we don't want march
-TUNE_FEATURES_tune-cortexa7hf             = "${TUNE_FEATURES_tune-cortexa7} callconvention-hard"
-TUNE_FEATURES_tune-cortexa7thf            = "${TUNE_FEATURES_tune-cortexa7t} callconvention-hard"
-TUNE_FEATURES_tune-cortexa7hf-neon        = "${TUNE_FEATURES_tune-cortexa7-neon} callconvention-hard"
-TUNE_FEATURES_tune-cortexa7thf-neon       = "${TUNE_FEATURES_tune-cortexa7t-neon} callconvention-hard"
-TUNE_FEATURES_tune-cortexa7hf-neon-vfpv4  = "${TUNE_FEATURES_tune-cortexa7-neon-vfpv4} callconvention-hard"
-TUNE_FEATURES_tune-cortexa7thf-neon-vfpv4 = "${TUNE_FEATURES_tune-cortexa7t-neon-vfpv4} callconvention-hard"
-PACKAGE_EXTRA_ARCHS_tune-cortexa7hf             = "${PACKAGE_EXTRA_ARCHS_tune-armv7vehf} cortexa7hf-vfp"
-PACKAGE_EXTRA_ARCHS_tune-cortexa7thf            = "${PACKAGE_EXTRA_ARCHS_tune-armv7vethf} cortexa7hf-vfp cortexa7t2hf-vfp"
-PACKAGE_EXTRA_ARCHS_tune-cortexa7hf-neon        = "${PACKAGE_EXTRA_ARCHS_tune-armv7vehf-neon} cortexa7hf-vfp cortexa7hf-neon"
-PACKAGE_EXTRA_ARCHS_tune-cortexa7thf-neon       = "${PACKAGE_EXTRA_ARCHS_tune-armv7vethf-neon} cortexa7hf-vfp cortexa7hf-neon cortexa7t2hf-vfp cortexa7t2hf-neon"
-PACKAGE_EXTRA_ARCHS_tune-cortexa7hf-neon-vfpv4  = "${PACKAGE_EXTRA_ARCHS_tune-armv7vehf-neon-vfpv4} cortexa7hf-vfp cortexa7hf-neon cortexa7hf-neon-vfpv4"
-PACKAGE_EXTRA_ARCHS_tune-cortexa7thf-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS_tune-armv7vethf-neon-vfpv4} cortexa7hf-vfp cortexa7hf-neon cortexa7hf-neon-vfpv4 cortexa7t2hf-vfp cortexa7t2hf-neon cortexa7t2hf-neon-vfpv4"
+TUNE_FEATURES:tune-cortexa7hf             = "${TUNE_FEATURES:tune-cortexa7} callconvention-hard"
+TUNE_FEATURES:tune-cortexa7thf            = "${TUNE_FEATURES:tune-cortexa7t} callconvention-hard"
+TUNE_FEATURES:tune-cortexa7hf-neon        = "${TUNE_FEATURES:tune-cortexa7-neon} callconvention-hard"
+TUNE_FEATURES:tune-cortexa7thf-neon       = "${TUNE_FEATURES:tune-cortexa7t-neon} callconvention-hard"
+TUNE_FEATURES:tune-cortexa7hf-neon-vfpv4  = "${TUNE_FEATURES:tune-cortexa7-neon-vfpv4} callconvention-hard"
+TUNE_FEATURES:tune-cortexa7thf-neon-vfpv4 = "${TUNE_FEATURES:tune-cortexa7t-neon-vfpv4} callconvention-hard"
+PACKAGE_EXTRA_ARCHS:tune-cortexa7hf             = "${PACKAGE_EXTRA_ARCHS:tune-armv7vehf} cortexa7hf-vfp"
+PACKAGE_EXTRA_ARCHS:tune-cortexa7thf            = "${PACKAGE_EXTRA_ARCHS:tune-armv7vethf} cortexa7hf-vfp cortexa7t2hf-vfp"
+PACKAGE_EXTRA_ARCHS:tune-cortexa7hf-neon        = "${PACKAGE_EXTRA_ARCHS:tune-armv7vehf-neon} cortexa7hf-vfp cortexa7hf-neon"
+PACKAGE_EXTRA_ARCHS:tune-cortexa7thf-neon       = "${PACKAGE_EXTRA_ARCHS:tune-armv7vethf-neon} cortexa7hf-vfp cortexa7hf-neon cortexa7t2hf-vfp cortexa7t2hf-neon"
+PACKAGE_EXTRA_ARCHS:tune-cortexa7hf-neon-vfpv4  = "${PACKAGE_EXTRA_ARCHS:tune-armv7vehf-neon-vfpv4} cortexa7hf-vfp cortexa7hf-neon cortexa7hf-neon-vfpv4"
+PACKAGE_EXTRA_ARCHS:tune-cortexa7thf-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vethf-neon-vfpv4} cortexa7hf-vfp cortexa7hf-neon cortexa7hf-neon-vfpv4 cortexa7t2hf-vfp cortexa7t2hf-neon cortexa7t2hf-neon-vfpv4"
diff --git a/meta/conf/machine/include/tune-cortexa72-cortexa53.inc b/meta/conf/machine/include/tune-cortexa72-cortexa53.inc
index 98e8ebacff7..a77ef59d62d 100644
--- a/meta/conf/machine/include/tune-cortexa72-cortexa53.inc
+++ b/meta/conf/machine/include/tune-cortexa72-cortexa53.inc
@@ -8,12 +8,12 @@ require conf/machine/include/arm/arch-armv8a.inc
 
 # cortexa72.cortexa53 implies crc support
 AVAILTUNES += "cortexa72-cortexa53 cortexa72-cortexa53-crypto"
-ARMPKGARCH_tune-cortexa72-cortexa53                  = "cortexa72-cortexa53"
-ARMPKGARCH_tune-cortexa72-cortexa53-crypto           = "cortexa72-cortexa53-crypto"
-TUNE_FEATURES_tune-cortexa72-cortexa53               = "${TUNE_FEATURES_tune-armv8a-crc} cortexa72-cortexa53"
-TUNE_FEATURES_tune-cortexa72-cortexa53-crypto        = "${TUNE_FEATURES_tune-cortexa72-cortexa53} crypto"
-PACKAGE_EXTRA_ARCHS_tune-cortexa72-cortexa53         = "${PACKAGE_EXTRA_ARCHS_tune-armv8a-crc}        cortexa72-cortexa53"
-PACKAGE_EXTRA_ARCHS_tune-cortexa72-cortexa53-crypto  = "${PACKAGE_EXTRA_ARCHS_tune-armv8a-crc-crypto} cortexa72-cortexa53 cortexa72-cortexa53-crypto"
-BASE_LIB_tune-cortexa72-cortexa53                    = "lib64"
-BASE_LIB_tune-cortexa72-cortexa53-crypto             = "lib64"
+ARMPKGARCH:tune-cortexa72-cortexa53                  = "cortexa72-cortexa53"
+ARMPKGARCH:tune-cortexa72-cortexa53-crypto           = "cortexa72-cortexa53-crypto"
+TUNE_FEATURES:tune-cortexa72-cortexa53               = "${TUNE_FEATURES:tune-armv8a-crc} cortexa72-cortexa53"
+TUNE_FEATURES:tune-cortexa72-cortexa53-crypto        = "${TUNE_FEATURES:tune-cortexa72-cortexa53} crypto"
+PACKAGE_EXTRA_ARCHS:tune-cortexa72-cortexa53         = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc}        cortexa72-cortexa53"
+PACKAGE_EXTRA_ARCHS:tune-cortexa72-cortexa53-crypto  = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc-crypto} cortexa72-cortexa53 cortexa72-cortexa53-crypto"
+BASE_LIB:tune-cortexa72-cortexa53                    = "lib64"
+BASE_LIB:tune-cortexa72-cortexa53-crypto             = "lib64"
 
diff --git a/meta/conf/machine/include/tune-cortexa72.inc b/meta/conf/machine/include/tune-cortexa72.inc
index b3f68ab6e3b..2a510bd45bd 100644
--- a/meta/conf/machine/include/tune-cortexa72.inc
+++ b/meta/conf/machine/include/tune-cortexa72.inc
@@ -7,7 +7,7 @@ require conf/machine/include/arm/arch-armv8a.inc
 
 # Little Endian base configs
 AVAILTUNES += "cortexa72"
-ARMPKGARCH_tune-cortexa72             = "cortexa72"
-TUNE_FEATURES_tune-cortexa72          = "${TUNE_FEATURES_tune-armv8a-crc-crypto} cortexa72"
-PACKAGE_EXTRA_ARCHS_tune-cortexa72    = "${PACKAGE_EXTRA_ARCHS_tune-armv8a-crc-crypto} cortexa72"
-BASE_LIB_tune-cortexa72               = "lib64"
+ARMPKGARCH:tune-cortexa72             = "cortexa72"
+TUNE_FEATURES:tune-cortexa72          = "${TUNE_FEATURES:tune-armv8a-crc-crypto} cortexa72"
+PACKAGE_EXTRA_ARCHS:tune-cortexa72    = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc-crypto} cortexa72"
+BASE_LIB:tune-cortexa72               = "lib64"
diff --git a/meta/conf/machine/include/tune-cortexa73-cortexa53.inc b/meta/conf/machine/include/tune-cortexa73-cortexa53.inc
index 3750f0762d2..9cebffd54dd 100644
--- a/meta/conf/machine/include/tune-cortexa73-cortexa53.inc
+++ b/meta/conf/machine/include/tune-cortexa73-cortexa53.inc
@@ -8,12 +8,12 @@ require conf/machine/include/arm/arch-armv8a.inc
 
 # cortexa73.cortexa53 implies crc support
 AVAILTUNES += "cortexa73-cortexa53 cortexa73-cortexa53-crypto"
-ARMPKGARCH_tune-cortexa73-cortexa53                  = "cortexa73-cortexa53"
-ARMPKGARCH_tune-cortexa73-cortexa53-crypto           = "cortexa73-cortexa53-crypto"
-TUNE_FEATURES_tune-cortexa73-cortexa53               = "${TUNE_FEATURES_tune-armv8a-crc} cortexa73-cortexa53"
-TUNE_FEATURES_tune-cortexa73-cortexa53-crypto        = "${TUNE_FEATURES_tune-cortexa73-cortexa53} crypto"
-PACKAGE_EXTRA_ARCHS_tune-cortexa73-cortexa53         = "${PACKAGE_EXTRA_ARCHS_tune-armv8a-crc}        cortexa73-cortexa53"
-PACKAGE_EXTRA_ARCHS_tune-cortexa73-cortexa53-crypto  = "${PACKAGE_EXTRA_ARCHS_tune-armv8a-crc-crypto} cortexa73-cortexa53 cortexa73-cortexa53-crypto"
-BASE_LIB_tune-cortexa73-cortexa53                    = "lib64"
-BASE_LIB_tune-cortexa73-cortexa53-crypto             = "lib64"
+ARMPKGARCH:tune-cortexa73-cortexa53                  = "cortexa73-cortexa53"
+ARMPKGARCH:tune-cortexa73-cortexa53-crypto           = "cortexa73-cortexa53-crypto"
+TUNE_FEATURES:tune-cortexa73-cortexa53               = "${TUNE_FEATURES:tune-armv8a-crc} cortexa73-cortexa53"
+TUNE_FEATURES:tune-cortexa73-cortexa53-crypto        = "${TUNE_FEATURES:tune-cortexa73-cortexa53} crypto"
+PACKAGE_EXTRA_ARCHS:tune-cortexa73-cortexa53         = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc}        cortexa73-cortexa53"
+PACKAGE_EXTRA_ARCHS:tune-cortexa73-cortexa53-crypto  = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc-crypto} cortexa73-cortexa53 cortexa73-cortexa53-crypto"
+BASE_LIB:tune-cortexa73-cortexa53                    = "lib64"
+BASE_LIB:tune-cortexa73-cortexa53-crypto             = "lib64"
 
diff --git a/meta/conf/machine/include/tune-cortexa8.inc b/meta/conf/machine/include/tune-cortexa8.inc
index f27bfb8d67b..e27002a29a6 100644
--- a/meta/conf/machine/include/tune-cortexa8.inc
+++ b/meta/conf/machine/include/tune-cortexa8.inc
@@ -8,32 +8,32 @@ MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'cortexa8', 'armv7a:'
 
 # Little Endian base configs
 AVAILTUNES += "cortexa8 cortexa8t cortexa8-neon cortexa8t-neon"
-ARMPKGARCH_tune-cortexa8             = "cortexa8"
-ARMPKGARCH_tune-cortexa8t            = "cortexa8"
-ARMPKGARCH_tune-cortexa8-neon        = "cortexa8"
-ARMPKGARCH_tune-cortexa8t-neon       = "cortexa8"
+ARMPKGARCH:tune-cortexa8             = "cortexa8"
+ARMPKGARCH:tune-cortexa8t            = "cortexa8"
+ARMPKGARCH:tune-cortexa8-neon        = "cortexa8"
+ARMPKGARCH:tune-cortexa8t-neon       = "cortexa8"
 # mcpu is used so don't use armv7a as we don't want march
-TUNE_FEATURES_tune-cortexa8             = "arm vfp cortexa8"
-TUNE_FEATURES_tune-cortexa8t            = "${TUNE_FEATURES_tune-cortexa8} thumb"
-TUNE_FEATURES_tune-cortexa8-neon        = "${TUNE_FEATURES_tune-cortexa8} neon"
-TUNE_FEATURES_tune-cortexa8t-neon       = "${TUNE_FEATURES_tune-cortexa8-neon} thumb"
-PACKAGE_EXTRA_ARCHS_tune-cortexa8             = "${PACKAGE_EXTRA_ARCHS_tune-armv7a} cortexa8-vfp"
-PACKAGE_EXTRA_ARCHS_tune-cortexa8t            = "${PACKAGE_EXTRA_ARCHS_tune-armv7at} cortexa8-vfp cortexa8t2-vfp"
-PACKAGE_EXTRA_ARCHS_tune-cortexa8-neon        = "${PACKAGE_EXTRA_ARCHS_tune-armv7a-neon} cortexa8-vfp cortexa8-neon"
-PACKAGE_EXTRA_ARCHS_tune-cortexa8t-neon       = "${PACKAGE_EXTRA_ARCHS_tune-armv7at-neon} cortexa8-vfp cortexa8-neon cortexa8t2-vfp cortexa8t2-neon"
+TUNE_FEATURES:tune-cortexa8             = "arm vfp cortexa8"
+TUNE_FEATURES:tune-cortexa8t            = "${TUNE_FEATURES:tune-cortexa8} thumb"
+TUNE_FEATURES:tune-cortexa8-neon        = "${TUNE_FEATURES:tune-cortexa8} neon"
+TUNE_FEATURES:tune-cortexa8t-neon       = "${TUNE_FEATURES:tune-cortexa8-neon} thumb"
+PACKAGE_EXTRA_ARCHS:tune-cortexa8             = "${PACKAGE_EXTRA_ARCHS:tune-armv7a} cortexa8-vfp"
+PACKAGE_EXTRA_ARCHS:tune-cortexa8t            = "${PACKAGE_EXTRA_ARCHS:tune-armv7at} cortexa8-vfp cortexa8t2-vfp"
+PACKAGE_EXTRA_ARCHS:tune-cortexa8-neon        = "${PACKAGE_EXTRA_ARCHS:tune-armv7a-neon} cortexa8-vfp cortexa8-neon"
+PACKAGE_EXTRA_ARCHS:tune-cortexa8t-neon       = "${PACKAGE_EXTRA_ARCHS:tune-armv7at-neon} cortexa8-vfp cortexa8-neon cortexa8t2-vfp cortexa8t2-neon"
 
 # HF Tunes
 AVAILTUNES += "cortexa8hf cortexa8thf cortexa8hf-neon cortexa8thf-neon"
-ARMPKGARCH_tune-cortexa8hf             = "cortexa8"
-ARMPKGARCH_tune-cortexa8thf            = "cortexa8"
-ARMPKGARCH_tune-cortexa8hf-neon        = "cortexa8"
-ARMPKGARCH_tune-cortexa8thf-neon       = "cortexa8"
+ARMPKGARCH:tune-cortexa8hf             = "cortexa8"
+ARMPKGARCH:tune-cortexa8thf            = "cortexa8"
+ARMPKGARCH:tune-cortexa8hf-neon        = "cortexa8"
+ARMPKGARCH:tune-cortexa8thf-neon       = "cortexa8"
 # mcpu is used so don't use armv7a as we don't want march
-TUNE_FEATURES_tune-cortexa8hf             = "${TUNE_FEATURES_tune-cortexa8} callconvention-hard"
-TUNE_FEATURES_tune-cortexa8thf            = "${TUNE_FEATURES_tune-cortexa8t} callconvention-hard"
-TUNE_FEATURES_tune-cortexa8hf-neon        = "${TUNE_FEATURES_tune-cortexa8-neon} callconvention-hard"
-TUNE_FEATURES_tune-cortexa8thf-neon       = "${TUNE_FEATURES_tune-cortexa8t-neon} callconvention-hard"
-PACKAGE_EXTRA_ARCHS_tune-cortexa8hf             = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf} cortexa8hf-vfp"
-PACKAGE_EXTRA_ARCHS_tune-cortexa8thf            = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf} cortexa8hf-vfp cortexa8t2hf-vfp"
-PACKAGE_EXTRA_ARCHS_tune-cortexa8hf-neon        = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf-neon} cortexa8hf-vfp cortexa8hf-neon"
-PACKAGE_EXTRA_ARCHS_tune-cortexa8thf-neon       = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf-neon} cortexa8hf-vfp cortexa8hf-neon cortexa8t2hf-vfp cortexa8t2hf-neon"
+TUNE_FEATURES:tune-cortexa8hf             = "${TUNE_FEATURES:tune-cortexa8} callconvention-hard"
+TUNE_FEATURES:tune-cortexa8thf            = "${TUNE_FEATURES:tune-cortexa8t} callconvention-hard"
+TUNE_FEATURES:tune-cortexa8hf-neon        = "${TUNE_FEATURES:tune-cortexa8-neon} callconvention-hard"
+TUNE_FEATURES:tune-cortexa8thf-neon       = "${TUNE_FEATURES:tune-cortexa8t-neon} callconvention-hard"
+PACKAGE_EXTRA_ARCHS:tune-cortexa8hf             = "${PACKAGE_EXTRA_ARCHS:tune-armv7ahf} cortexa8hf-vfp"
+PACKAGE_EXTRA_ARCHS:tune-cortexa8thf            = "${PACKAGE_EXTRA_ARCHS:tune-armv7athf} cortexa8hf-vfp cortexa8t2hf-vfp"
+PACKAGE_EXTRA_ARCHS:tune-cortexa8hf-neon        = "${PACKAGE_EXTRA_ARCHS:tune-armv7ahf-neon} cortexa8hf-vfp cortexa8hf-neon"
+PACKAGE_EXTRA_ARCHS:tune-cortexa8thf-neon       = "${PACKAGE_EXTRA_ARCHS:tune-armv7athf-neon} cortexa8hf-vfp cortexa8hf-neon cortexa8t2hf-vfp cortexa8t2hf-neon"
diff --git a/meta/conf/machine/include/tune-cortexa9.inc b/meta/conf/machine/include/tune-cortexa9.inc
index 0eb8f3b9d36..d046a11a513 100644
--- a/meta/conf/machine/include/tune-cortexa9.inc
+++ b/meta/conf/machine/include/tune-cortexa9.inc
@@ -8,48 +8,48 @@ MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'cortexa9', 'armv7a:'
 
 # Little Endian base configs
 AVAILTUNES += "cortexa9 cortexa9t cortexa9-neon cortexa9t-neon"
-ARMPKGARCH_tune-cortexa9             = "cortexa9"
-ARMPKGARCH_tune-cortexa9t            = "cortexa9"
-ARMPKGARCH_tune-cortexa9-neon        = "cortexa9"
-ARMPKGARCH_tune-cortexa9t-neon       = "cortexa9"
+ARMPKGARCH:tune-cortexa9             = "cortexa9"
+ARMPKGARCH:tune-cortexa9t            = "cortexa9"
+ARMPKGARCH:tune-cortexa9-neon        = "cortexa9"
+ARMPKGARCH:tune-cortexa9t-neon       = "cortexa9"
 # mcpu is used so don't use armv7a as we don't want march
-TUNE_FEATURES_tune-cortexa9             = "arm vfp cortexa9"
-TUNE_FEATURES_tune-cortexa9t            = "${TUNE_FEATURES_tune-cortexa9} thumb"
-TUNE_FEATURES_tune-cortexa9-neon        = "${TUNE_FEATURES_tune-cortexa9} neon"
-TUNE_FEATURES_tune-cortexa9t-neon       = "${TUNE_FEATURES_tune-cortexa9-neon} thumb"
-PACKAGE_EXTRA_ARCHS_tune-cortexa9             = "${PACKAGE_EXTRA_ARCHS_tune-armv7a} cortexa9-vfp"
-PACKAGE_EXTRA_ARCHS_tune-cortexa9t            = "${PACKAGE_EXTRA_ARCHS_tune-armv7at} cortexa9-vfp cortexa9t2-vfp"
-PACKAGE_EXTRA_ARCHS_tune-cortexa9-neon        = "${PACKAGE_EXTRA_ARCHS_tune-armv7a-neon} cortexa9-vfp cortexa9-neon"
-PACKAGE_EXTRA_ARCHS_tune-cortexa9t-neon       = "${PACKAGE_EXTRA_ARCHS_tune-armv7at-neon} cortexa9-vfp cortexa9-neon cortexa9t2-vfp cortexa9t2-neon"
+TUNE_FEATURES:tune-cortexa9             = "arm vfp cortexa9"
+TUNE_FEATURES:tune-cortexa9t            = "${TUNE_FEATURES:tune-cortexa9} thumb"
+TUNE_FEATURES:tune-cortexa9-neon        = "${TUNE_FEATURES:tune-cortexa9} neon"
+TUNE_FEATURES:tune-cortexa9t-neon       = "${TUNE_FEATURES:tune-cortexa9-neon} thumb"
+PACKAGE_EXTRA_ARCHS:tune-cortexa9             = "${PACKAGE_EXTRA_ARCHS:tune-armv7a} cortexa9-vfp"
+PACKAGE_EXTRA_ARCHS:tune-cortexa9t            = "${PACKAGE_EXTRA_ARCHS:tune-armv7at} cortexa9-vfp cortexa9t2-vfp"
+PACKAGE_EXTRA_ARCHS:tune-cortexa9-neon        = "${PACKAGE_EXTRA_ARCHS:tune-armv7a-neon} cortexa9-vfp cortexa9-neon"
+PACKAGE_EXTRA_ARCHS:tune-cortexa9t-neon       = "${PACKAGE_EXTRA_ARCHS:tune-armv7at-neon} cortexa9-vfp cortexa9-neon cortexa9t2-vfp cortexa9t2-neon"
 
 # HF Tunes
 AVAILTUNES += "cortexa9hf cortexa9thf cortexa9hf-neon cortexa9thf-neon"
-ARMPKGARCH_tune-cortexa9hf             = "cortexa9"
-ARMPKGARCH_tune-cortexa9thf            = "cortexa9"
-ARMPKGARCH_tune-cortexa9hf-neon        = "cortexa9"
-ARMPKGARCH_tune-cortexa9thf-neon       = "cortexa9"
+ARMPKGARCH:tune-cortexa9hf             = "cortexa9"
+ARMPKGARCH:tune-cortexa9thf            = "cortexa9"
+ARMPKGARCH:tune-cortexa9hf-neon        = "cortexa9"
+ARMPKGARCH:tune-cortexa9thf-neon       = "cortexa9"
 # mcpu is used so don't use armv7a as we don't want march
-TUNE_FEATURES_tune-cortexa9hf             = "${TUNE_FEATURES_tune-cortexa9} callconvention-hard"
-TUNE_FEATURES_tune-cortexa9thf            = "${TUNE_FEATURES_tune-cortexa9t} callconvention-hard"
-TUNE_FEATURES_tune-cortexa9hf-neon        = "${TUNE_FEATURES_tune-cortexa9-neon} callconvention-hard"
-TUNE_FEATURES_tune-cortexa9thf-neon       = "${TUNE_FEATURES_tune-cortexa9t-neon} callconvention-hard"
-PACKAGE_EXTRA_ARCHS_tune-cortexa9hf             = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf} cortexa9hf-vfp"
-PACKAGE_EXTRA_ARCHS_tune-cortexa9thf            = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf} cortexa9hf-vfp cortexa9t2hf-vfp"
-PACKAGE_EXTRA_ARCHS_tune-cortexa9hf-neon        = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf-neon} cortexa9hf-vfp cortexa9hf-neon"
-PACKAGE_EXTRA_ARCHS_tune-cortexa9thf-neon       = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf-neon} cortexa9hf-vfp cortexa9hf-neon cortexa9t2hf-vfp cortexa9t2hf-neon"
+TUNE_FEATURES:tune-cortexa9hf             = "${TUNE_FEATURES:tune-cortexa9} callconvention-hard"
+TUNE_FEATURES:tune-cortexa9thf            = "${TUNE_FEATURES:tune-cortexa9t} callconvention-hard"
+TUNE_FEATURES:tune-cortexa9hf-neon        = "${TUNE_FEATURES:tune-cortexa9-neon} callconvention-hard"
+TUNE_FEATURES:tune-cortexa9thf-neon       = "${TUNE_FEATURES:tune-cortexa9t-neon} callconvention-hard"
+PACKAGE_EXTRA_ARCHS:tune-cortexa9hf             = "${PACKAGE_EXTRA_ARCHS:tune-armv7ahf} cortexa9hf-vfp"
+PACKAGE_EXTRA_ARCHS:tune-cortexa9thf            = "${PACKAGE_EXTRA_ARCHS:tune-armv7athf} cortexa9hf-vfp cortexa9t2hf-vfp"
+PACKAGE_EXTRA_ARCHS:tune-cortexa9hf-neon        = "${PACKAGE_EXTRA_ARCHS:tune-armv7ahf-neon} cortexa9hf-vfp cortexa9hf-neon"
+PACKAGE_EXTRA_ARCHS:tune-cortexa9thf-neon       = "${PACKAGE_EXTRA_ARCHS:tune-armv7athf-neon} cortexa9hf-vfp cortexa9hf-neon cortexa9t2hf-vfp cortexa9t2hf-neon"
 
 # VFPv3 Tunes
 AVAILTUNES += "cortexa9-vfpv3 cortexa9t-vfpv3 cortexa9hf-vfpv3 cortexa9thf-vfpv3"
-ARMPKGARCH_tune-cortexa9-vfpv3          = "cortexa9"
-ARMPKGARCH_tune-cortexa9t-vfpv3         = "cortexa9"
-ARMPKGARCH_tune-cortexa9hf-vfpv3        = "cortexa9"
-ARMPKGARCH_tune-cortexa9thf-vfpv3       = "cortexa9"
+ARMPKGARCH:tune-cortexa9-vfpv3          = "cortexa9"
+ARMPKGARCH:tune-cortexa9t-vfpv3         = "cortexa9"
+ARMPKGARCH:tune-cortexa9hf-vfpv3        = "cortexa9"
+ARMPKGARCH:tune-cortexa9thf-vfpv3       = "cortexa9"
 # mcpu is used so don't use armv7a as we don't want march
-TUNE_FEATURES_tune-cortexa9-vfpv3           = "${TUNE_FEATURES_tune-cortexa9} vfpv3"
-TUNE_FEATURES_tune-cortexa9t-vfpv3          = "${TUNE_FEATURES_tune-cortexa9t} vfpv3"
-TUNE_FEATURES_tune-cortexa9hf-vfpv3         = "${TUNE_FEATURES_tune-cortexa9hf} vfpv3"
-TUNE_FEATURES_tune-cortexa9thf-vfpv3        = "${TUNE_FEATURES_tune-cortexa9thf} vfpv3"
-PACKAGE_EXTRA_ARCHS_tune-cortexa9-vfpv3           = "${PACKAGE_EXTRA_ARCHS_tune-armv7a-vfpv3} cortexa9-vfp cortexa9-vfpv3"
-PACKAGE_EXTRA_ARCHS_tune-cortexa9t-vfpv3          = "${PACKAGE_EXTRA_ARCHS_tune-armv7at-vfpv3} cortexa9-vfp cortexa9-vfpv3 cortexa9t2-vfp cortexa9t2-vfpv3"
-PACKAGE_EXTRA_ARCHS_tune-cortexa9hf-vfpv3         = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf-vfpv3} cortexa9hf-vfp cortexa9hf-vfpv3"
-PACKAGE_EXTRA_ARCHS_tune-cortexa9thf-vfpv3        = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf-vfpv3} cortexa9hf-vfp cortexa9hf-vfpv3 cortexa9t2hf-vfp cortexa9t2hf-vfpv3"
+TUNE_FEATURES:tune-cortexa9-vfpv3           = "${TUNE_FEATURES:tune-cortexa9} vfpv3"
+TUNE_FEATURES:tune-cortexa9t-vfpv3          = "${TUNE_FEATURES:tune-cortexa9t} vfpv3"
+TUNE_FEATURES:tune-cortexa9hf-vfpv3         = "${TUNE_FEATURES:tune-cortexa9hf} vfpv3"
+TUNE_FEATURES:tune-cortexa9thf-vfpv3        = "${TUNE_FEATURES:tune-cortexa9thf} vfpv3"
+PACKAGE_EXTRA_ARCHS:tune-cortexa9-vfpv3           = "${PACKAGE_EXTRA_ARCHS:tune-armv7a-vfpv3} cortexa9-vfp cortexa9-vfpv3"
+PACKAGE_EXTRA_ARCHS:tune-cortexa9t-vfpv3          = "${PACKAGE_EXTRA_ARCHS:tune-armv7at-vfpv3} cortexa9-vfp cortexa9-vfpv3 cortexa9t2-vfp cortexa9t2-vfpv3"
+PACKAGE_EXTRA_ARCHS:tune-cortexa9hf-vfpv3         = "${PACKAGE_EXTRA_ARCHS:tune-armv7ahf-vfpv3} cortexa9hf-vfp cortexa9hf-vfpv3"
+PACKAGE_EXTRA_ARCHS:tune-cortexa9thf-vfpv3        = "${PACKAGE_EXTRA_ARCHS:tune-armv7athf-vfpv3} cortexa9hf-vfp cortexa9hf-vfpv3 cortexa9t2hf-vfp cortexa9t2hf-vfpv3"
diff --git a/meta/conf/machine/include/tune-ep9312.inc b/meta/conf/machine/include/tune-ep9312.inc
index 5e1a0e5791d..0d481d38881 100644
--- a/meta/conf/machine/include/tune-ep9312.inc
+++ b/meta/conf/machine/include/tune-ep9312.inc
@@ -7,6 +7,6 @@ TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'ep9312', ' -march=ep9312
 MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'ep9312', 'armv4:', '', d)}"
 
 AVAILTUNES += "ep9312"
-ARMPKGARCH_tune-ep9312 = "ep9312"
-TUNE_FEATURES_tune-ep9312 = "thumb ep9312"
-PACKAGE_EXTRA_ARCHS_tune-ep9312 = "${PACKAGE_EXTRA_ARCHS_tune-armv4t} ep9312t"
+ARMPKGARCH:tune-ep9312 = "ep9312"
+TUNE_FEATURES:tune-ep9312 = "thumb ep9312"
+PACKAGE_EXTRA_ARCHS:tune-ep9312 = "${PACKAGE_EXTRA_ARCHS:tune-armv4t} ep9312t"
diff --git a/meta/conf/machine/include/tune-i586-nlp.inc b/meta/conf/machine/include/tune-i586-nlp.inc
index 88e59038fa3..ecfbf9f1b27 100644
--- a/meta/conf/machine/include/tune-i586-nlp.inc
+++ b/meta/conf/machine/include/tune-i586-nlp.inc
@@ -13,7 +13,7 @@ TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'i586-nlp', ' -march=i586
 
 # Quark tune feature
 AVAILTUNES = "i586-nlp-32"
-TUNE_FEATURES_tune-i586-nlp-32 = "${TUNE_FEATURES_tune-x86} i586-nlp"
-BASE_LIB_tune-i586-nlp-32 = "lib"
-TUNE_PKGARCH_tune-i586-nlp-32 = "i586-nlp-32"
-PACKAGE_EXTRA_ARCHS_tune-i586-nlp-32 = "i586-nlp-32"
+TUNE_FEATURES:tune-i586-nlp-32 = "${TUNE_FEATURES:tune-x86} i586-nlp"
+BASE_LIB:tune-i586-nlp-32 = "lib"
+TUNE_PKGARCH:tune-i586-nlp-32 = "i586-nlp-32"
+PACKAGE_EXTRA_ARCHS:tune-i586-nlp-32 = "i586-nlp-32"
diff --git a/meta/conf/machine/include/tune-i586.inc b/meta/conf/machine/include/tune-i586.inc
index 1ab17bd4023..b1299e9e913 100644
--- a/meta/conf/machine/include/tune-i586.inc
+++ b/meta/conf/machine/include/tune-i586.inc
@@ -8,7 +8,7 @@ TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'i586', ' -march=i586', ''
 
 # Extra tune selections
 AVAILTUNES += "i586"
-TUNE_FEATURES_tune-i586 = "${TUNE_FEATURES_tune-x86} i586"
-BASE_LIB_tune-i586 = "lib"
-TUNE_PKGARCH_tune-i586 = "i586"
-PACKAGE_EXTRA_ARCHS_tune-i586 = "${PACKAGE_EXTRA_ARCHS_tune-x86} i586"
+TUNE_FEATURES:tune-i586 = "${TUNE_FEATURES:tune-x86} i586"
+BASE_LIB:tune-i586 = "lib"
+TUNE_PKGARCH:tune-i586 = "i586"
+PACKAGE_EXTRA_ARCHS:tune-i586 = "${PACKAGE_EXTRA_ARCHS:tune-x86} i586"
diff --git a/meta/conf/machine/include/tune-i686.inc b/meta/conf/machine/include/tune-i686.inc
index bdb47992090..3feb4df8ba2 100644
--- a/meta/conf/machine/include/tune-i686.inc
+++ b/meta/conf/machine/include/tune-i686.inc
@@ -21,7 +21,7 @@ TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'i686', ' -march=i686', ''
 
 # Extra tune selections
 AVAILTUNES += "i686"
-TUNE_FEATURES_tune-i686 = "${TUNE_FEATURES_tune-x86} i686"
-BASE_LIB_tune-i686 = "lib"
-TUNE_PKGARCH_tune-i686 = "i686"
-PACKAGE_EXTRA_ARCHS_tune-i686 = "${PACKAGE_EXTRA_ARCHS_tune-i586} i686"
+TUNE_FEATURES:tune-i686 = "${TUNE_FEATURES:tune-x86} i686"
+BASE_LIB:tune-i686 = "lib"
+TUNE_PKGARCH:tune-i686 = "i686"
+PACKAGE_EXTRA_ARCHS:tune-i686 = "${PACKAGE_EXTRA_ARCHS:tune-i586} i686"
diff --git a/meta/conf/machine/include/tune-iwmmxt.inc b/meta/conf/machine/include/tune-iwmmxt.inc
index 81ff4c9ae20..c584b47d180 100644
--- a/meta/conf/machine/include/tune-iwmmxt.inc
+++ b/meta/conf/machine/include/tune-iwmmxt.inc
@@ -10,6 +10,6 @@ TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'iwmmxt', ' -mcpu=iwmmxt',
 MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'iwmmxt', 'armv5:', '', d)}"
 
 AVAILTUNES += "iwmmxt"
-ARMPKGARCH_tune-iwmmxt = "iwmmxt"
-TUNE_FEATURES_tune-iwmmxt = "thumb iwmmxt"
-PACKAGE_EXTRA_ARCHS_tune-iwmmxt = "${PACKAGE_EXTRA_ARCHS_tune-armv5te} iwmmxt iwmmxtt"
+ARMPKGARCH:tune-iwmmxt = "iwmmxt"
+TUNE_FEATURES:tune-iwmmxt = "thumb iwmmxt"
+PACKAGE_EXTRA_ARCHS:tune-iwmmxt = "${PACKAGE_EXTRA_ARCHS:tune-armv5te} iwmmxt iwmmxtt"
diff --git a/meta/conf/machine/include/tune-mcf5441x.inc b/meta/conf/machine/include/tune-mcf5441x.inc
index 11a41a7c5df..7eefce03cbe 100644
--- a/meta/conf/machine/include/tune-mcf5441x.inc
+++ b/meta/conf/machine/include/tune-mcf5441x.inc
@@ -6,8 +6,8 @@ TUNEVALID[mcf5441x] = "Enable coldfire specific processor optimizations"
 TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'mcf5441x', ' -mcpu=54418', '', d)}"
 
 AVAILTUNES += "mcf5441x"
-TUNE_FEATURES_tune-mcf5441x = "mcf5441x"
-TUNE_ARCH_tune-mcf5441x = "mcf5441x"
-TUNE_PKGARCH_tune-mcf5441x = "mcf5441x"
-PACKAGE_EXTRA_ARCHS_tune-mcf5441x = "m68k mcf5441x"
+TUNE_FEATURES:tune-mcf5441x = "mcf5441x"
+TUNE_ARCH:tune-mcf5441x = "mcf5441x"
+TUNE_PKGARCH:tune-mcf5441x = "mcf5441x"
+PACKAGE_EXTRA_ARCHS:tune-mcf5441x = "m68k mcf5441x"
 
diff --git a/meta/conf/machine/include/tune-microblaze.inc b/meta/conf/machine/include/tune-microblaze.inc
index 41f0afe668b..11f7233cf40 100644
--- a/meta/conf/machine/include/tune-microblaze.inc
+++ b/meta/conf/machine/include/tune-microblaze.inc
@@ -3,6 +3,6 @@ DEFAULTTUNE ?= "microblaze"
 require conf/machine/include/microblaze/arch-microblaze.inc
 
 AVAILTUNES += "microblaze"
-TUNE_FEATURES_tune-microblaze = "microblaze"
-PACKAGE_EXTRA_ARCHS_tune-microblaze = "${TUNE_PKGARCH}"
+TUNE_FEATURES:tune-microblaze = "microblaze"
+PACKAGE_EXTRA_ARCHS:tune-microblaze = "${TUNE_PKGARCH}"
 
diff --git a/meta/conf/machine/include/tune-mips32.inc b/meta/conf/machine/include/tune-mips32.inc
index a90c0f059d0..820087f59dc 100644
--- a/meta/conf/machine/include/tune-mips32.inc
+++ b/meta/conf/machine/include/tune-mips32.inc
@@ -9,21 +9,21 @@ TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'mips32', ' -march=mips32'
 # Base Tunes (Hard Float)
 AVAILTUNES += "mips32 mips32el"
 
-TUNE_FEATURES_tune-mips32 = "${TUNE_FEATURES_tune-mips} mips32"
-MIPSPKGSFX_VARIANT_tune-mips32 = "mips32"
-PACKAGE_EXTRA_ARCHS_tune-mips32 = "mips mips32"
+TUNE_FEATURES:tune-mips32 = "${TUNE_FEATURES:tune-mips} mips32"
+MIPSPKGSFX_VARIANT:tune-mips32 = "mips32"
+PACKAGE_EXTRA_ARCHS:tune-mips32 = "mips mips32"
 
-TUNE_FEATURES_tune-mips32el = "${TUNE_FEATURES_tune-mipsel} mips32"
-MIPSPKGSFX_VARIANT_tune-mips32el = "mips32el"
-PACKAGE_EXTRA_ARCHS_tune-mips32el = "mipsel mips32el"
+TUNE_FEATURES:tune-mips32el = "${TUNE_FEATURES:tune-mipsel} mips32"
+MIPSPKGSFX_VARIANT:tune-mips32el = "mips32el"
+PACKAGE_EXTRA_ARCHS:tune-mips32el = "mipsel mips32el"
 
 # Soft Float
 AVAILTUNES += "mips32-nf mips32el-nf"
 
-TUNE_FEATURES_tune-mips32-nf = "${TUNE_FEATURES_tune-mips-nf} mips32"
-MIPSPKGSFX_VARIANT_tune-mips32-nf = "mips32"
-PACKAGE_EXTRA_ARCHS_tune-mips32-nf = "mips-nf mips32-nf"
+TUNE_FEATURES:tune-mips32-nf = "${TUNE_FEATURES:tune-mips-nf} mips32"
+MIPSPKGSFX_VARIANT:tune-mips32-nf = "mips32"
+PACKAGE_EXTRA_ARCHS:tune-mips32-nf = "mips-nf mips32-nf"
 
-TUNE_FEATURES_tune-mips32el-nf = "${TUNE_FEATURES_tune-mipsel-nf} mips32"
-MIPSPKGSFX_VARIANT_tune-mips32el-nf = "mips32el"
-PACKAGE_EXTRA_ARCHS_tune-mips32el-nf = "mipsel-nf mips32el-nf"
+TUNE_FEATURES:tune-mips32el-nf = "${TUNE_FEATURES:tune-mipsel-nf} mips32"
+MIPSPKGSFX_VARIANT:tune-mips32el-nf = "mips32el"
+PACKAGE_EXTRA_ARCHS:tune-mips32el-nf = "mipsel-nf mips32el-nf"
diff --git a/meta/conf/machine/include/tune-mips32r2.inc b/meta/conf/machine/include/tune-mips32r2.inc
index 14473ca8312..e7f6753d3d1 100644
--- a/meta/conf/machine/include/tune-mips32r2.inc
+++ b/meta/conf/machine/include/tune-mips32r2.inc
@@ -9,21 +9,21 @@ TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'mips32r2', ' -march=mips3
 # Base Tunes (Hard Float)
 AVAILTUNES += "mips32r2 mips32r2el"
 
-TUNE_FEATURES_tune-mips32r2 = "${TUNE_FEATURES_tune-mips} mips32r2"
-MIPSPKGSFX_VARIANT_tune-mips32r2 = "mips32r2"
-PACKAGE_EXTRA_ARCHS_tune-mips32r2 = "mips mips32 mips32r2"
+TUNE_FEATURES:tune-mips32r2 = "${TUNE_FEATURES:tune-mips} mips32r2"
+MIPSPKGSFX_VARIANT:tune-mips32r2 = "mips32r2"
+PACKAGE_EXTRA_ARCHS:tune-mips32r2 = "mips mips32 mips32r2"
 
-TUNE_FEATURES_tune-mips32r2el = "${TUNE_FEATURES_tune-mipsel} mips32r2"
-MIPSPKGSFX_VARIANT_tune-mips32r2el = "mips32r2el"
-PACKAGE_EXTRA_ARCHS_tune-mips32r2el = "mipsel mips32el mips32r2el"
+TUNE_FEATURES:tune-mips32r2el = "${TUNE_FEATURES:tune-mipsel} mips32r2"
+MIPSPKGSFX_VARIANT:tune-mips32r2el = "mips32r2el"
+PACKAGE_EXTRA_ARCHS:tune-mips32r2el = "mipsel mips32el mips32r2el"
 
 # Soft Float
 AVAILTUNES += "mips32r2-nf mips32r2el-nf"
 
-TUNE_FEATURES_tune-mips32r2-nf = "${TUNE_FEATURES_tune-mips-nf} mips32r2"
-MIPSPKGSFX_VARIANT_tune-mips32r2-nf = "mips32r2"
-PACKAGE_EXTRA_ARCHS_tune-mips32r2-nf = "mips-nf mips32-nf mips32r2-nf"
+TUNE_FEATURES:tune-mips32r2-nf = "${TUNE_FEATURES:tune-mips-nf} mips32r2"
+MIPSPKGSFX_VARIANT:tune-mips32r2-nf = "mips32r2"
+PACKAGE_EXTRA_ARCHS:tune-mips32r2-nf = "mips-nf mips32-nf mips32r2-nf"
 
-TUNE_FEATURES_tune-mips32r2el-nf = "${TUNE_FEATURES_tune-mipsel-nf} mips32r2"
-MIPSPKGSFX_VARIANT_tune-mips32r2el-nf = "mips32r2el"
-PACKAGE_EXTRA_ARCHS_tune-mips32r2el-nf = "mipsel-nf mips32el-nf mips32r2el-nf"
+TUNE_FEATURES:tune-mips32r2el-nf = "${TUNE_FEATURES:tune-mipsel-nf} mips32r2"
+MIPSPKGSFX_VARIANT:tune-mips32r2el-nf = "mips32r2el"
+PACKAGE_EXTRA_ARCHS:tune-mips32r2el-nf = "mipsel-nf mips32el-nf mips32r2el-nf"
diff --git a/meta/conf/machine/include/tune-mips32r6.inc b/meta/conf/machine/include/tune-mips32r6.inc
index 44369cb59c3..9904cc0b113 100644
--- a/meta/conf/machine/include/tune-mips32r6.inc
+++ b/meta/conf/machine/include/tune-mips32r6.inc
@@ -9,21 +9,21 @@ TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'mipsisa32r6', ' -march=mi
 # Base Tunes (Hard Float)
 AVAILTUNES += "mipsisa32r6 mipsisa32r6el"
 
-TUNE_FEATURES_tune-mipsisa32r6 = "o32 bigendian mipsisa32r6 fpu-hard r6"
-MIPSPKGSFX_VARIANT_tune-mipsisa32r6 = "${TUNE_ARCH}"
-PACKAGE_EXTRA_ARCHS_tune-mipsisa32r6 = "mipsisa32r6"
+TUNE_FEATURES:tune-mipsisa32r6 = "o32 bigendian mipsisa32r6 fpu-hard r6"
+MIPSPKGSFX_VARIANT:tune-mipsisa32r6 = "${TUNE_ARCH}"
+PACKAGE_EXTRA_ARCHS:tune-mipsisa32r6 = "mipsisa32r6"
 
-TUNE_FEATURES_tune-mipsisa32r6el = "o32 fpu-hard mipsisa32r6 r6"
-MIPSPKGSFX_VARIANT_tune-mipsisa32r6el = "${TUNE_ARCH}"
-PACKAGE_EXTRA_ARCHS_tune-mipsisa32r6el = "mipsisa32r6el"
+TUNE_FEATURES:tune-mipsisa32r6el = "o32 fpu-hard mipsisa32r6 r6"
+MIPSPKGSFX_VARIANT:tune-mipsisa32r6el = "${TUNE_ARCH}"
+PACKAGE_EXTRA_ARCHS:tune-mipsisa32r6el = "mipsisa32r6el"
 
 # Soft Float
 AVAILTUNES += "mipsisa32r6-nf mipsisa32r6el-nf"
 
-TUNE_FEATURES_tune-mipsisa32r6-nf = "o32 bigendian mipsisa32r6 r6"
-MIPSPKGSFX_VARIANT_tune-mipsisa32r6-nf = "${TUNE_ARCH}"
-PACKAGE_EXTRA_ARCHS_tune-mipsisa32r6-nf = "mipsisa32r6-nf"
+TUNE_FEATURES:tune-mipsisa32r6-nf = "o32 bigendian mipsisa32r6 r6"
+MIPSPKGSFX_VARIANT:tune-mipsisa32r6-nf = "${TUNE_ARCH}"
+PACKAGE_EXTRA_ARCHS:tune-mipsisa32r6-nf = "mipsisa32r6-nf"
 
-TUNE_FEATURES_tune-mipsisa32r6el-nf = "o32 mipsisa32r6 r6"
-MIPSPKGSFX_VARIANT_tune-mipsisa32r6el-nf = "${TUNE_ARCH}"
-PACKAGE_EXTRA_ARCHS_tune-mipsisa32r6el-nf = "mipsisa32r6el-nf"
+TUNE_FEATURES:tune-mipsisa32r6el-nf = "o32 mipsisa32r6 r6"
+MIPSPKGSFX_VARIANT:tune-mipsisa32r6el-nf = "${TUNE_ARCH}"
+PACKAGE_EXTRA_ARCHS:tune-mipsisa32r6el-nf = "mipsisa32r6el-nf"
diff --git a/meta/conf/machine/include/tune-mips64r2.inc b/meta/conf/machine/include/tune-mips64r2.inc
index 75d7535add1..6337abb09f1 100644
--- a/meta/conf/machine/include/tune-mips64r2.inc
+++ b/meta/conf/machine/include/tune-mips64r2.inc
@@ -8,77 +8,77 @@ TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'mips64r2', ' -march=mips6
 # Base tunes
 AVAILTUNES += "mips64r2 mips64r2el"
 
-TUNE_FEATURES_tune-mips64r2 = "${TUNE_FEATURES_tune-mips64} mips64r2"
-BASE_LIB_tune-mips64r2 = "lib64"
-MIPSPKGSFX_VARIANT_tune-mips64r2 = "mips64r2"
-PACKAGE_EXTRA_ARCHS_tune-mips64r2 = "mips64 mips64r2"
+TUNE_FEATURES:tune-mips64r2 = "${TUNE_FEATURES:tune-mips64} mips64r2"
+BASE_LIB:tune-mips64r2 = "lib64"
+MIPSPKGSFX_VARIANT:tune-mips64r2 = "mips64r2"
+PACKAGE_EXTRA_ARCHS:tune-mips64r2 = "mips64 mips64r2"
 
-TUNE_FEATURES_tune-mips64r2el = "${TUNE_FEATURES_tune-mips64el} mips64r2"
-BASE_LIB_tune-mips64r2el = "lib64"
-MIPSPKGSFX_VARIANT_tune-mips64r2el = "mips64r2el"
-PACKAGE_EXTRA_ARCHS_tune-mips64r2el = "mips64el mips64r2el"
+TUNE_FEATURES:tune-mips64r2el = "${TUNE_FEATURES:tune-mips64el} mips64r2"
+BASE_LIB:tune-mips64r2el = "lib64"
+MIPSPKGSFX_VARIANT:tune-mips64r2el = "mips64r2el"
+PACKAGE_EXTRA_ARCHS:tune-mips64r2el = "mips64el mips64r2el"
 
 # MIPS 64r2 Soft Float
 AVAILTUNES += "mips64r2-nf mips64r2el-nf"
 
-TUNE_FEATURES_tune-mips64r2-nf = "${TUNE_FEATURES_tune-mips64-nf} mips64r2"
-BASE_LIB_tune-mips64r2-nf = "lib64"
-MIPSPKGSFX_VARIANT_tune-mips64r2-nf = "${TUNE_ARCH}"
-PACKAGE_EXTRA_ARCHS_tune-mips64r2-nf = "mips64-nf mips64r2-nf"
+TUNE_FEATURES:tune-mips64r2-nf = "${TUNE_FEATURES:tune-mips64-nf} mips64r2"
+BASE_LIB:tune-mips64r2-nf = "lib64"
+MIPSPKGSFX_VARIANT:tune-mips64r2-nf = "${TUNE_ARCH}"
+PACKAGE_EXTRA_ARCHS:tune-mips64r2-nf = "mips64-nf mips64r2-nf"
 
-TUNE_FEATURES_tune-mips64r2el-nf = "${TUNE_FEATURES_tune-mips64el-nf} mips64r2"
-BASE_LIB_tune-mips64r2el-nf = "lib64"
-MIPSPKGSFX_VARIANT_tune-mips64r2el-nf = "${TUNE_ARCH}"
-PACKAGE_EXTRA_ARCHS_tune-mips64r2el-nf = "mips64el-nf mips64r2el-nf"
+TUNE_FEATURES:tune-mips64r2el-nf = "${TUNE_FEATURES:tune-mips64el-nf} mips64r2"
+BASE_LIB:tune-mips64r2el-nf = "lib64"
+MIPSPKGSFX_VARIANT:tune-mips64r2el-nf = "${TUNE_ARCH}"
+PACKAGE_EXTRA_ARCHS:tune-mips64r2el-nf = "mips64el-nf mips64r2el-nf"
 
 # MIPS 64r2 n32
 AVAILTUNES += "mips64r2-n32 mips64r2el-n32"
 
-TUNE_FEATURES_tune-mips64r2-n32 = "${TUNE_FEATURES_tune-mips64-n32} mips64r2"
-BASE_LIB_tune-mips64r2-n32 = "lib32"
-MIPSPKGSFX_VARIANT_tune-mips64r2-n32 = "${TUNE_ARCH}"
-PACKAGE_EXTRA_ARCHS_tune-mips64r2-n32 = "mips64-n32 mips64r2-n32"
+TUNE_FEATURES:tune-mips64r2-n32 = "${TUNE_FEATURES:tune-mips64-n32} mips64r2"
+BASE_LIB:tune-mips64r2-n32 = "lib32"
+MIPSPKGSFX_VARIANT:tune-mips64r2-n32 = "${TUNE_ARCH}"
+PACKAGE_EXTRA_ARCHS:tune-mips64r2-n32 = "mips64-n32 mips64r2-n32"
 
-TUNE_FEATURES_tune-mips64r2el-n32 = "${TUNE_FEATURES_tune-mips64el-n32} mips64r2"
-BASE_LIB_tune-mips64r2el-n32 = "lib32"
-MIPSPKGSFX_VARIANT_tune-mips64r2el-n32 = "${TUNE_ARCH}"
-PACKAGE_EXTRA_ARCHS_tune-mips64r2el-n32 = "mips64el-n32 mips64r2el-n32"
+TUNE_FEATURES:tune-mips64r2el-n32 = "${TUNE_FEATURES:tune-mips64el-n32} mips64r2"
+BASE_LIB:tune-mips64r2el-n32 = "lib32"
+MIPSPKGSFX_VARIANT:tune-mips64r2el-n32 = "${TUNE_ARCH}"
+PACKAGE_EXTRA_ARCHS:tune-mips64r2el-n32 = "mips64el-n32 mips64r2el-n32"
 
 # MIPS 64r2 n32 and Soft Float
 AVAILTUNES += "mips64r2-nf-n32 mips64r2el-nf-n32"
 
-TUNE_FEATURES_tune-mips64r2-nf-n32 = "${TUNE_FEATURES_tune-mips64-nf-n32} mips64r2"
-BASE_LIB_tune-mips64r2-nf-n32 = "lib32"
-MIPSPKGSFX_VARIANT_tune-mips64r2-nf-n32 = "${TUNE_ARCH}"
-PACKAGE_EXTRA_ARCHS_tune-mips64r2-nf-n32 = "mips64-nf-n32 mips64r2-nf-n32"
+TUNE_FEATURES:tune-mips64r2-nf-n32 = "${TUNE_FEATURES:tune-mips64-nf-n32} mips64r2"
+BASE_LIB:tune-mips64r2-nf-n32 = "lib32"
+MIPSPKGSFX_VARIANT:tune-mips64r2-nf-n32 = "${TUNE_ARCH}"
+PACKAGE_EXTRA_ARCHS:tune-mips64r2-nf-n32 = "mips64-nf-n32 mips64r2-nf-n32"
 
-TUNE_FEATURES_tune-mips64r2el-nf-n32 = "${TUNE_FEATURES_tune-mips64el-nf-n32} mips64r2"
-BASE_LIB_tune-mips64r2el-nf-n32 = "lib32"
-MIPSPKGSFX_VARIANT_tune-mips64r2el-nf-n32 = "${TUNE_ARCH}"
-PACKAGE_EXTRA_ARCHS_tune-mips64r2el-nf-n32 = "mips64el-nf-n32 mips64r2el-nf-n32"
+TUNE_FEATURES:tune-mips64r2el-nf-n32 = "${TUNE_FEATURES:tune-mips64el-nf-n32} mips64r2"
+BASE_LIB:tune-mips64r2el-nf-n32 = "lib32"
+MIPSPKGSFX_VARIANT:tune-mips64r2el-nf-n32 = "${TUNE_ARCH}"
+PACKAGE_EXTRA_ARCHS:tune-mips64r2el-nf-n32 = "mips64el-nf-n32 mips64r2el-nf-n32"
 
 # MIPS 64r2 o32
 AVAILTUNES += "mips64r2-o32 mips64r2el-o32"
 
-TUNE_FEATURES_tune-mips64r2-o32 = "${TUNE_FEATURES_tune-mips64-o32} mips64r2"
-BASE_LIB_tune-mips64r2-o32 = "lib"
-MIPSPKGSFX_VARIANT_tune-mips64r2-o32 = "${TUNE_ARCH}"
-PACKAGE_EXTRA_ARCHS_tune-mips64r2-o32 = "mips mips64-o32 mips64r2-o32"
+TUNE_FEATURES:tune-mips64r2-o32 = "${TUNE_FEATURES:tune-mips64-o32} mips64r2"
+BASE_LIB:tune-mips64r2-o32 = "lib"
+MIPSPKGSFX_VARIANT:tune-mips64r2-o32 = "${TUNE_ARCH}"
+PACKAGE_EXTRA_ARCHS:tune-mips64r2-o32 = "mips mips64-o32 mips64r2-o32"
 
-TUNE_FEATURES_tune-mips64r2el-o32 = "${TUNE_FEATURES_tune-mips64el-o32} mips64r2"
-BASE_LIB_tune-mips64r2el-o32 = "lib"
-MIPSPKGSFX_VARIANT_tune-mips64r2el-o32 = "${TUNE_ARCH}"
-PACKAGE_EXTRA_ARCHS_tune-mips64r2el-o32 = "mipsel mips64el-o32 mips64r2el-o32"
+TUNE_FEATURES:tune-mips64r2el-o32 = "${TUNE_FEATURES:tune-mips64el-o32} mips64r2"
+BASE_LIB:tune-mips64r2el-o32 = "lib"
+MIPSPKGSFX_VARIANT:tune-mips64r2el-o32 = "${TUNE_ARCH}"
+PACKAGE_EXTRA_ARCHS:tune-mips64r2el-o32 = "mipsel mips64el-o32 mips64r2el-o32"
 
 # MIPS 64r2 o32 and Soft Float
 AVAILTUNES += "mips64r2-nf-o32 mips64r2el-nf-o32"
 
-TUNE_FEATURES_tune-mips64r2-nf-o32 = "${TUNE_FEATURES_tune-mips64-nf-o32} mips64r2"
-BASE_LIB_tune-mips64r2-nf-o32 = "lib"
-MIPSPKGSFX_VARIANT_tune-mips64r2-nf-o32 = "${TUNE_ARCH}"
-PACKAGE_EXTRA_ARCHS_tune-mips64r2-nf-o32 = "mips-nf mips64r2-nf-o32"
+TUNE_FEATURES:tune-mips64r2-nf-o32 = "${TUNE_FEATURES:tune-mips64-nf-o32} mips64r2"
+BASE_LIB:tune-mips64r2-nf-o32 = "lib"
+MIPSPKGSFX_VARIANT:tune-mips64r2-nf-o32 = "${TUNE_ARCH}"
+PACKAGE_EXTRA_ARCHS:tune-mips64r2-nf-o32 = "mips-nf mips64r2-nf-o32"
 
-TUNE_FEATURES_tune-mips64r2el-nf-o32 = "${TUNE_FEATURES_tune-mips64el-nf-o32} mips64r2"
-BASE_LIB_tune-mips64r2el-nf-o32 = "lib"
-MIPSPKGSFX_VARIANT_tune-mips64r2el-nf-o32 = "${TUNE_ARCH}"
-PACKAGE_EXTRA_ARCHS_tune-mips64r2el-nf-o32 = "mipsel-nf mips64r2el-nf-o32"
+TUNE_FEATURES:tune-mips64r2el-nf-o32 = "${TUNE_FEATURES:tune-mips64el-nf-o32} mips64r2"
+BASE_LIB:tune-mips64r2el-nf-o32 = "lib"
+MIPSPKGSFX_VARIANT:tune-mips64r2el-nf-o32 = "${TUNE_ARCH}"
+PACKAGE_EXTRA_ARCHS:tune-mips64r2el-nf-o32 = "mipsel-nf mips64r2el-nf-o32"
diff --git a/meta/conf/machine/include/tune-mips64r6.inc b/meta/conf/machine/include/tune-mips64r6.inc
index e53239a38bb..b4a7e9ef1b0 100644
--- a/meta/conf/machine/include/tune-mips64r6.inc
+++ b/meta/conf/machine/include/tune-mips64r6.inc
@@ -8,51 +8,51 @@ TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'mipsisa64r6', ' -march=mi
 # Base Tunes
 AVAILTUNES += "mipsisa64r6 mipsisa64r6el"
 
-TUNE_FEATURES_tune-mipsisa64r6 = "bigendian fpu-hard n64 mipsisa64r6 r6"
-MIPSPKGSFX_VARIANT_tune-mipsisa64r6 = "${TUNE_ARCH}"
-BASE_LIB_tune-mipsisa64r6 = "lib64"
-PACKAGE_EXTRA_ARCHS_tune-mipsisa64r6 = "mipsisa64r6"
+TUNE_FEATURES:tune-mipsisa64r6 = "bigendian fpu-hard n64 mipsisa64r6 r6"
+MIPSPKGSFX_VARIANT:tune-mipsisa64r6 = "${TUNE_ARCH}"
+BASE_LIB:tune-mipsisa64r6 = "lib64"
+PACKAGE_EXTRA_ARCHS:tune-mipsisa64r6 = "mipsisa64r6"
 
-TUNE_FEATURES_tune-mipsisa64r6el = "fpu-hard r6 n64 mipsisa64r6"
-MIPSPKGSFX_VARIANT_tune-mipsisa64r6el = "${TUNE_ARCH}"
-BASE_LIB_tune-mipsisa64r6el = "lib64"
-PACKAGE_EXTRA_ARCHS_tune-mipsisa64r6el = "mipsisa64r6el"
+TUNE_FEATURES:tune-mipsisa64r6el = "fpu-hard r6 n64 mipsisa64r6"
+MIPSPKGSFX_VARIANT:tune-mipsisa64r6el = "${TUNE_ARCH}"
+BASE_LIB:tune-mipsisa64r6el = "lib64"
+PACKAGE_EXTRA_ARCHS:tune-mipsisa64r6el = "mipsisa64r6el"
 
 # Soft Float
 AVAILTUNES += "mipsisa64r6-nf mipsisa64r6el-nf"
 
-TUNE_FEATURES_tune-mipsisa64r6-nf = "bigendian r6 n64 mipsisa64r6"
-MIPSPKGSFX_VARIANT_tune-mipsisa64r6-nf = "${TUNE_ARCH}"
-BASE_LIB_tune-mipsisa64r6-nf = "lib64"
-PACKAGE_EXTRA_ARCHS_tune-mipsisa64r6-nf = "mipsisa64r6-nf"
+TUNE_FEATURES:tune-mipsisa64r6-nf = "bigendian r6 n64 mipsisa64r6"
+MIPSPKGSFX_VARIANT:tune-mipsisa64r6-nf = "${TUNE_ARCH}"
+BASE_LIB:tune-mipsisa64r6-nf = "lib64"
+PACKAGE_EXTRA_ARCHS:tune-mipsisa64r6-nf = "mipsisa64r6-nf"
 
-TUNE_FEATURES_tune-mipsisa64r6el-nf = "r6 n64 mipsisa64r6"
-MIPSPKGSFX_VARIANT_tune-mipsisa64r6el-nf = "${TUNE_ARCH}"
-BASE_LIB_tune-mipsisa64r6el-nf = "lib64"
-PACKAGE_EXTRA_ARCHS_tune-mipsisa64r6el-nf = "mipsisa64r6el-nf"
+TUNE_FEATURES:tune-mipsisa64r6el-nf = "r6 n64 mipsisa64r6"
+MIPSPKGSFX_VARIANT:tune-mipsisa64r6el-nf = "${TUNE_ARCH}"
+BASE_LIB:tune-mipsisa64r6el-nf = "lib64"
+PACKAGE_EXTRA_ARCHS:tune-mipsisa64r6el-nf = "mipsisa64r6el-nf"
 
 # MIPS 64r6 n32
 AVAILTUNES += "mipsisa64r6-n32 mipsisa64r6el-n32"
 
-TUNE_FEATURES_tune-mipsisa64r6-n32 = "bigendian fpu-hard r6 n32 mipsisa64r6"
-BASE_LIB_tune-mipsisa64r6-n32 = "lib32"
-MIPSPKGSFX_VARIANT_tune-mipsisa64r6-n32 = "${TUNE_ARCH}"
-PACKAGE_EXTRA_ARCHS_tune-mipsisa64r6-n32 = "mipsisa64r6-n32"
+TUNE_FEATURES:tune-mipsisa64r6-n32 = "bigendian fpu-hard r6 n32 mipsisa64r6"
+BASE_LIB:tune-mipsisa64r6-n32 = "lib32"
+MIPSPKGSFX_VARIANT:tune-mipsisa64r6-n32 = "${TUNE_ARCH}"
+PACKAGE_EXTRA_ARCHS:tune-mipsisa64r6-n32 = "mipsisa64r6-n32"
 
-TUNE_FEATURES_tune-mipsisa64r6el-n32 = "fpu-hard r6 n32 mipsisa64r6"
-BASE_LIB_tune-mipsisa64r6el-n32 = "lib32"
-MIPSPKGSFX_VARIANT_tune-mipsisa64r6el-n32 = "${TUNE_ARCH}"
-PACKAGE_EXTRA_ARCHS_tune-mipsisa64r6el-n32 = "mipsisa64r6el-n32"
+TUNE_FEATURES:tune-mipsisa64r6el-n32 = "fpu-hard r6 n32 mipsisa64r6"
+BASE_LIB:tune-mipsisa64r6el-n32 = "lib32"
+MIPSPKGSFX_VARIANT:tune-mipsisa64r6el-n32 = "${TUNE_ARCH}"
+PACKAGE_EXTRA_ARCHS:tune-mipsisa64r6el-n32 = "mipsisa64r6el-n32"
 
 # MIPS 64r6 n32 and Soft Float
 AVAILTUNES += "mipsisa64r6-nf-n32 mipsisa64r6el-nf-n32"
 
-TUNE_FEATURES_tune-mipsisa64r6-nf-n32 = "bigendian r6 n32 mipsisa64r6"
-BASE_LIB_tune-mipsisa64r6-nf-n32 = "lib32"
-MIPSPKGSFX_VARIANT_tune-mipsisa64r6-nf-n32 = "${TUNE_ARCH}"
-PACKAGE_EXTRA_ARCHS_tune-mipsisa64r6-nf-n32 = "mipsisa64r6-nf-n32"
+TUNE_FEATURES:tune-mipsisa64r6-nf-n32 = "bigendian r6 n32 mipsisa64r6"
+BASE_LIB:tune-mipsisa64r6-nf-n32 = "lib32"
+MIPSPKGSFX_VARIANT:tune-mipsisa64r6-nf-n32 = "${TUNE_ARCH}"
+PACKAGE_EXTRA_ARCHS:tune-mipsisa64r6-nf-n32 = "mipsisa64r6-nf-n32"
 
-TUNE_FEATURES_tune-mipsisa64r6el-nf-n32 = "r6 n32 mipsisa64r6"
-BASE_LIB_tune-mipsisa64r6el-nf-n32 = "lib32"
-MIPSPKGSFX_VARIANT_tune-mipsisa64r6el-nf-n32 = "${TUNE_ARCH}"
-PACKAGE_EXTRA_ARCHS_tune-mipsisa64r6el-nf-n32 = "mipsisa64r6el-nf-n32"
+TUNE_FEATURES:tune-mipsisa64r6el-nf-n32 = "r6 n32 mipsisa64r6"
+BASE_LIB:tune-mipsisa64r6el-nf-n32 = "lib32"
+MIPSPKGSFX_VARIANT:tune-mipsisa64r6el-nf-n32 = "${TUNE_ARCH}"
+PACKAGE_EXTRA_ARCHS:tune-mipsisa64r6el-nf-n32 = "mipsisa64r6el-nf-n32"
diff --git a/meta/conf/machine/include/tune-octeon.inc b/meta/conf/machine/include/tune-octeon.inc
index b5deb8fd889..455c6a2f334 100644
--- a/meta/conf/machine/include/tune-octeon.inc
+++ b/meta/conf/machine/include/tune-octeon.inc
@@ -7,26 +7,26 @@ AVAILTUNES += "octeon2 octeon2_64 octeon3 octeon3_64"
 TUNEVALID[octeon2] = "Enable optimization related to octeon2 support"
 TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'octeon2', ' -march=octeon2 ', '',d)}"
 
-TUNE_FEATURES_tune-octeon2 = "${TUNE_FEATURES_tune-mips64-n32} octeon2"
-BASE_LIB_tune-octeon2 = "lib32"
-MIPSPKGSFX_VARIANT_tune-octeon2 = "octeon2"
-PACKAGE_EXTRA_ARCHS_tune-octeon2 = "mips64-n32 octeon2-n32"
+TUNE_FEATURES:tune-octeon2 = "${TUNE_FEATURES:tune-mips64-n32} octeon2"
+BASE_LIB:tune-octeon2 = "lib32"
+MIPSPKGSFX_VARIANT:tune-octeon2 = "octeon2"
+PACKAGE_EXTRA_ARCHS:tune-octeon2 = "mips64-n32 octeon2-n32"
 
-TUNE_FEATURES_tune-octeon2_64 = "${TUNE_FEATURES_tune-mips64} octeon2"
-BASE_LIB_tune-octeon2_64 = "lib64"
-MIPSPKGSFX_VARIANT_tune-octeon2_64 = "octeon2_64"
-PACKAGE_EXTRA_ARCHS_tune-octeon2_64 = "mips64 octeon2_64"
+TUNE_FEATURES:tune-octeon2_64 = "${TUNE_FEATURES:tune-mips64} octeon2"
+BASE_LIB:tune-octeon2_64 = "lib64"
+MIPSPKGSFX_VARIANT:tune-octeon2_64 = "octeon2_64"
+PACKAGE_EXTRA_ARCHS:tune-octeon2_64 = "mips64 octeon2_64"
 
 
 TUNEVALID[octeon3] = "Enable optimization related to octeon3 support"
 TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'octeon3', ' -march=octeon3 ', '',d)}"
 
-TUNE_FEATURES_tune-octeon3 = "${TUNE_FEATURES_tune-mips64-n32} octeon3"
-BASE_LIB_tune-octeon3 = "lib32"
-MIPSPKGSFX_VARIANT_tune-octeon3 = "octeon3"
-PACKAGE_EXTRA_ARCHS_tune-octeon3 = "mips64-n32 octeon3-n32"
+TUNE_FEATURES:tune-octeon3 = "${TUNE_FEATURES:tune-mips64-n32} octeon3"
+BASE_LIB:tune-octeon3 = "lib32"
+MIPSPKGSFX_VARIANT:tune-octeon3 = "octeon3"
+PACKAGE_EXTRA_ARCHS:tune-octeon3 = "mips64-n32 octeon3-n32"
 
-TUNE_FEATURES_tune-octeon3_64 = "${TUNE_FEATURES_tune-mips64} octeon3"
-BASE_LIB_tune-octeon3_64 = "lib64"
-MIPSPKGSFX_VARIANT_tune-octeon3_64 = "octeon3_64"
-PACKAGE_EXTRA_ARCHS_tune-octeon3_64 = "mips64 octeon3_64"
+TUNE_FEATURES:tune-octeon3_64 = "${TUNE_FEATURES:tune-mips64} octeon3"
+BASE_LIB:tune-octeon3_64 = "lib64"
+MIPSPKGSFX_VARIANT:tune-octeon3_64 = "octeon3_64"
+PACKAGE_EXTRA_ARCHS:tune-octeon3_64 = "mips64 octeon3_64"
diff --git a/meta/conf/machine/include/tune-power5.inc b/meta/conf/machine/include/tune-power5.inc
index 48c33fb2731..e70e4012176 100644
--- a/meta/conf/machine/include/tune-power5.inc
+++ b/meta/conf/machine/include/tune-power5.inc
@@ -6,19 +6,19 @@ TUNEVALID[power5] = "Enable IBM Power5 specific processor optimizations"
 TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'power5', ' -mcpu=power5', '', d)}"
 
 AVAILTUNES += "ppcp5 ppc64p5"
-TUNE_FEATURES_tune-ppcp5 = "m32 fpu-hard power5 altivec bigendian"
-BASE_LIB_tune-ppcp5 = "lib"
-TUNE_PKGARCH_tune-ppcp5 = "ppcp5"
-PACKAGE_EXTRA_ARCHS_tune-ppcp5 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc} ppcp5"
+TUNE_FEATURES:tune-ppcp5 = "m32 fpu-hard power5 altivec bigendian"
+BASE_LIB:tune-ppcp5 = "lib"
+TUNE_PKGARCH:tune-ppcp5 = "ppcp5"
+PACKAGE_EXTRA_ARCHS:tune-ppcp5 = "${PACKAGE_EXTRA_ARCHS:tune-powerpc} ppcp5"
 
-TUNE_FEATURES_tune-ppc64p5 = "m64 fpu-hard power5 altivec bigendian"
-BASE_LIB_tune-ppc64p5 = "lib64"
-TUNE_PKGARCH_tune-ppc64p5 = "ppc64p5"
-PACKAGE_EXTRA_ARCHS_tune-ppc64p5 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc64} ppc64p5"
+TUNE_FEATURES:tune-ppc64p5 = "m64 fpu-hard power5 altivec bigendian"
+BASE_LIB:tune-ppc64p5 = "lib64"
+TUNE_PKGARCH:tune-ppc64p5 = "ppc64p5"
+PACKAGE_EXTRA_ARCHS:tune-ppc64p5 = "${PACKAGE_EXTRA_ARCHS:tune-powerpc64} ppc64p5"
 
 # glibc configure options to get power5 specific library
-GLIBC_EXTRA_OECONF_powerpc64 += "${@bb.utils.contains('TUNE_FEATURES', 'power5', '--with-cpu=power5', '', d)}"
-GLIBC_EXTRA_OECONF_powerpc += "${@bb.utils.contains('TUNE_FEATURES', 'power5', '--with-cpu=power5', '', d)}"
+GLIBC_EXTRA_OECONF:powerpc64 += "${@bb.utils.contains('TUNE_FEATURES', 'power5', '--with-cpu=power5', '', d)}"
+GLIBC_EXTRA_OECONF:powerpc += "${@bb.utils.contains('TUNE_FEATURES', 'power5', '--with-cpu=power5', '', d)}"
 
 # QEMU usermode fails with invalid instruction error
-MACHINE_FEATURES_BACKFILL_CONSIDERED_append = "${@bb.utils.contains('TUNE_FEATURES', 'power5', ' qemu-usermode', '', d)}"
+MACHINE_FEATURES_BACKFILL_CONSIDERED:append = "${@bb.utils.contains('TUNE_FEATURES', 'power5', ' qemu-usermode', '', d)}"
diff --git a/meta/conf/machine/include/tune-power6.inc b/meta/conf/machine/include/tune-power6.inc
index b7086602178..eaf89515cad 100644
--- a/meta/conf/machine/include/tune-power6.inc
+++ b/meta/conf/machine/include/tune-power6.inc
@@ -6,19 +6,19 @@ TUNEVALID[power6] = "Enable IBM Power6 specific processor optimizations"
 TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'power6', ' -mcpu=power6', '', d)}"
 
 AVAILTUNES += "ppcp6 ppc64p6"
-TUNE_FEATURES_tune-ppcp6 = "m32 fpu-hard power6 altivec bigendian"
-BASE_LIB_tune-ppcp6 = "lib"
-TUNE_PKGARCH_tune-ppcp6 = "ppcp6"
-PACKAGE_EXTRA_ARCHS_tune-ppcp6 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc} ppcp6"
+TUNE_FEATURES:tune-ppcp6 = "m32 fpu-hard power6 altivec bigendian"
+BASE_LIB:tune-ppcp6 = "lib"
+TUNE_PKGARCH:tune-ppcp6 = "ppcp6"
+PACKAGE_EXTRA_ARCHS:tune-ppcp6 = "${PACKAGE_EXTRA_ARCHS:tune-powerpc} ppcp6"
 
-TUNE_FEATURES_tune-ppc64p6 = "m64 fpu-hard power6 altivec bigendian"
-BASE_LIB_tune-ppc64p6 = "lib64"
-TUNE_PKGARCH_tune-ppc64p6 = "ppc64p6"
-PACKAGE_EXTRA_ARCHS_tune-ppc64p6 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc64} ppc64p6"
+TUNE_FEATURES:tune-ppc64p6 = "m64 fpu-hard power6 altivec bigendian"
+BASE_LIB:tune-ppc64p6 = "lib64"
+TUNE_PKGARCH:tune-ppc64p6 = "ppc64p6"
+PACKAGE_EXTRA_ARCHS:tune-ppc64p6 = "${PACKAGE_EXTRA_ARCHS:tune-powerpc64} ppc64p6"
 
 # glibc configure options to get power6 specific library
-GLIBC_EXTRA_OECONF_powerpc64 += "${@bb.utils.contains('TUNE_FEATURES', 'power6', '--with-cpu=power6', '', d)}"
-GLIBC_EXTRA_OECONF_powerpc += "${@bb.utils.contains('TUNE_FEATURES', 'power6', '--with-cpu=power6', '', d)}"
+GLIBC_EXTRA_OECONF:powerpc64 += "${@bb.utils.contains('TUNE_FEATURES', 'power6', '--with-cpu=power6', '', d)}"
+GLIBC_EXTRA_OECONF:powerpc += "${@bb.utils.contains('TUNE_FEATURES', 'power6', '--with-cpu=power6', '', d)}"
 
 # QEMU usermode fails with invalid instruction error
-MACHINE_FEATURES_BACKFILL_CONSIDERED_append = "${@bb.utils.contains('TUNE_FEATURES', 'power6', ' qemu-usermode', '', d)}"
+MACHINE_FEATURES_BACKFILL_CONSIDERED:append = "${@bb.utils.contains('TUNE_FEATURES', 'power6', ' qemu-usermode', '', d)}"
diff --git a/meta/conf/machine/include/tune-power7.inc b/meta/conf/machine/include/tune-power7.inc
index e976cc04675..4531ddd85f4 100644
--- a/meta/conf/machine/include/tune-power7.inc
+++ b/meta/conf/machine/include/tune-power7.inc
@@ -6,19 +6,19 @@ TUNEVALID[power7] = "Enable IBM Power7 specific processor optimizations"
 TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'power7', ' -mcpu=power7', '', d)}"
 
 AVAILTUNES += "ppcp7 ppc64p7"
-TUNE_FEATURES_tune-ppcp7 = "m32 fpu-hard power7 altivec bigendian"
-BASE_LIB_tune-ppcp7 = "lib"
-TUNE_PKGARCH_tune-ppcp7 = "ppcp7"
-PACKAGE_EXTRA_ARCHS_tune-ppcp7 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc} ppcp7"
+TUNE_FEATURES:tune-ppcp7 = "m32 fpu-hard power7 altivec bigendian"
+BASE_LIB:tune-ppcp7 = "lib"
+TUNE_PKGARCH:tune-ppcp7 = "ppcp7"
+PACKAGE_EXTRA_ARCHS:tune-ppcp7 = "${PACKAGE_EXTRA_ARCHS:tune-powerpc} ppcp7"
 
-TUNE_FEATURES_tune-ppc64p7 = "m64 fpu-hard power7 altivec bigendian"
-BASE_LIB_tune-ppc64p7 = "lib64"
-TUNE_PKGARCH_tune-ppc64p7 = "ppc64p7"
-PACKAGE_EXTRA_ARCHS_tune-ppc64p7 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc64} ppc64p7"
+TUNE_FEATURES:tune-ppc64p7 = "m64 fpu-hard power7 altivec bigendian"
+BASE_LIB:tune-ppc64p7 = "lib64"
+TUNE_PKGARCH:tune-ppc64p7 = "ppc64p7"
+PACKAGE_EXTRA_ARCHS:tune-ppc64p7 = "${PACKAGE_EXTRA_ARCHS:tune-powerpc64} ppc64p7"
 
 # glibc configure options to get power7 specific library
-GLIBC_EXTRA_OECONF_powerpc64 += "${@bb.utils.contains('TUNE_FEATURES', 'power7', '--with-cpu=power7', '', d)}"
-GLIBC_EXTRA_OECONF_powerpc += "${@bb.utils.contains('TUNE_FEATURES', 'power7', '--with-cpu=power7', '', d)}"
+GLIBC_EXTRA_OECONF:powerpc64 += "${@bb.utils.contains('TUNE_FEATURES', 'power7', '--with-cpu=power7', '', d)}"
+GLIBC_EXTRA_OECONF:powerpc += "${@bb.utils.contains('TUNE_FEATURES', 'power7', '--with-cpu=power7', '', d)}"
 
 # QEMU usermode fails with invalid instruction error
-MACHINE_FEATURES_BACKFILL_CONSIDERED_append = "${@bb.utils.contains('TUNE_FEATURES', 'power7', ' qemu-usermode', '', d)}"
+MACHINE_FEATURES_BACKFILL_CONSIDERED:append = "${@bb.utils.contains('TUNE_FEATURES', 'power7', ' qemu-usermode', '', d)}"
diff --git a/meta/conf/machine/include/tune-power9.inc b/meta/conf/machine/include/tune-power9.inc
index 401b73744fe..6744731f8e5 100644
--- a/meta/conf/machine/include/tune-power9.inc
+++ b/meta/conf/machine/include/tune-power9.inc
@@ -7,25 +7,25 @@ TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'power9', ' -mcpu=power9',
 
 AVAILTUNES += "ppcp9 ppc64p9 ppcp9le ppc64p9le"
 
-TUNE_FEATURES_tune-ppcp9 = "m32 fpu-hard power9 altivec bigendian"
-BASE_LIB_tune-ppcp9 = "lib"
-TUNE_PKGARCH_tune-ppcp9 = "ppcp9"
-PACKAGE_EXTRA_ARCHS_tune-ppcp9 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc} ppcp9"
-
-TUNE_FEATURES_tune-ppc64p9 = "m64 fpu-hard power9 altivec bigendian"
-BASE_LIB_tune-ppc64p9 = "lib64"
-TUNE_PKGARCH_tune-ppc64p9 = "ppc64p9"
-PACKAGE_EXTRA_ARCHS_tune-ppc64p9 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc64} ppc64p9"
-
-TUNE_FEATURES_tune-ppcp9le = "m32 fpu-hard power9 altivec"
-BASE_LIB_tune-ppcp9le = "lib"
-TUNE_PKGARCH_tune-ppcp9le = "ppcp9le"
-PACKAGE_EXTRA_ARCHS_tune-ppcp9le = "${PACKAGE_EXTRA_ARCHS_tune-powerpcle} ppcp9le"
-
-TUNE_FEATURES_tune-ppc64p9le = "m64 fpu-hard power9 altivec"
-BASE_LIB_tune-ppc64p9le = "lib64"
-TUNE_PKGARCH_tune-ppc64p9le = "ppc64p9le"
-PACKAGE_EXTRA_ARCHS_tune-ppc64p9le = "${PACKAGE_EXTRA_ARCHS_tune-powerpc64le} ppc64p9le"
+TUNE_FEATURES:tune-ppcp9 = "m32 fpu-hard power9 altivec bigendian"
+BASE_LIB:tune-ppcp9 = "lib"
+TUNE_PKGARCH:tune-ppcp9 = "ppcp9"
+PACKAGE_EXTRA_ARCHS:tune-ppcp9 = "${PACKAGE_EXTRA_ARCHS:tune-powerpc} ppcp9"
+
+TUNE_FEATURES:tune-ppc64p9 = "m64 fpu-hard power9 altivec bigendian"
+BASE_LIB:tune-ppc64p9 = "lib64"
+TUNE_PKGARCH:tune-ppc64p9 = "ppc64p9"
+PACKAGE_EXTRA_ARCHS:tune-ppc64p9 = "${PACKAGE_EXTRA_ARCHS:tune-powerpc64} ppc64p9"
+
+TUNE_FEATURES:tune-ppcp9le = "m32 fpu-hard power9 altivec"
+BASE_LIB:tune-ppcp9le = "lib"
+TUNE_PKGARCH:tune-ppcp9le = "ppcp9le"
+PACKAGE_EXTRA_ARCHS:tune-ppcp9le = "${PACKAGE_EXTRA_ARCHS:tune-powerpcle} ppcp9le"
+
+TUNE_FEATURES:tune-ppc64p9le = "m64 fpu-hard power9 altivec"
+BASE_LIB:tune-ppc64p9le = "lib64"
+TUNE_PKGARCH:tune-ppc64p9le = "ppc64p9le"
+PACKAGE_EXTRA_ARCHS:tune-ppc64p9le = "${PACKAGE_EXTRA_ARCHS:tune-powerpc64le} ppc64p9le"
 
 # glibc configure options to get power9 specific library
 GLIBC_EXTRA_OECONF += "${@bb.utils.contains('TUNE_FEATURES', 'power9', '--with-cpu=power9', '', d)}"
diff --git a/meta/conf/machine/include/tune-ppc476.inc b/meta/conf/machine/include/tune-ppc476.inc
index 31eecc435c9..54152cb9414 100644
--- a/meta/conf/machine/include/tune-ppc476.inc
+++ b/meta/conf/machine/include/tune-ppc476.inc
@@ -6,9 +6,9 @@ TUNEVALID[ppc476] = "Enable ppc476 specific processor optimizations"
 TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'ppc476', ' -mcpu=476', '', d)}"
 
 AVAILTUNES += "ppc476"
-TUNE_FEATURES_tune-ppc476 = "m32 fpu-hard ppc476 bigendian"
-TUNE_PKGARCH_tune-ppc476 = "ppc476"
-PACKAGE_EXTRA_ARCHS_tune-ppc476 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc} ppc476"
+TUNE_FEATURES:tune-ppc476 = "m32 fpu-hard ppc476 bigendian"
+TUNE_PKGARCH:tune-ppc476 = "ppc476"
+PACKAGE_EXTRA_ARCHS:tune-ppc476 = "${PACKAGE_EXTRA_ARCHS:tune-powerpc} ppc476"
 
 # glibc configure options to get 476 specific library (for sqrt)
 GLIBC_EXTRA_OECONF += "${@bb.utils.contains('TUNE_FEATURES', 'ppc476', '-with-cpu=476', '', d)}"
diff --git a/meta/conf/machine/include/tune-ppc603e.inc b/meta/conf/machine/include/tune-ppc603e.inc
index b110f13870c..8beec00f24f 100644
--- a/meta/conf/machine/include/tune-ppc603e.inc
+++ b/meta/conf/machine/include/tune-ppc603e.inc
@@ -6,9 +6,9 @@ TUNEVALID[ppc603e] = "Enable ppc603e specific processor optimizations"
 TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'ppc603e', ' -mcpu=603e', '', d)}"
 
 AVAILTUNES += "ppc603e"
-TUNE_FEATURES_tune-ppc603e = "m32 fpu-hard ppc603e bigendian"
-TUNE_PKGARCH_tune-ppc603e = "ppc603e"
-PACKAGE_EXTRA_ARCHS_tune-ppc603e = "${PACKAGE_EXTRA_ARCHS_tune-powerpc} ppc603e"
+TUNE_FEATURES:tune-ppc603e = "m32 fpu-hard ppc603e bigendian"
+TUNE_PKGARCH:tune-ppc603e = "ppc603e"
+PACKAGE_EXTRA_ARCHS:tune-ppc603e = "${PACKAGE_EXTRA_ARCHS:tune-powerpc} ppc603e"
 
 # glibc configure options to get 603e specific library (for sqrt)
 GLIBC_EXTRA_OECONF += "${@bb.utils.contains('TUNE_FEATURES', 'ppc603e', '-with-cpu=603e', '', d)}"
diff --git a/meta/conf/machine/include/tune-ppc7400.inc b/meta/conf/machine/include/tune-ppc7400.inc
index 92d902994b8..1e2c9fc2ce0 100644
--- a/meta/conf/machine/include/tune-ppc7400.inc
+++ b/meta/conf/machine/include/tune-ppc7400.inc
@@ -6,9 +6,9 @@ TUNEVALID[ppc7400] = "Enable ppc7400 specific processor optimizations"
 TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'ppc7400', ' -mcpu=7400 -mno-spe', '', d)}"
 
 AVAILTUNES += "ppc7400"
-TUNE_FEATURES_tune-ppc7400 = "m32 fpu-hard ppc7400 altivec bigendian"
-TUNE_PKGARCH_tune-ppc7400 = "ppc7400"
-PACKAGE_EXTRA_ARCHS_tune-ppc7400 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc} ppc7400"
+TUNE_FEATURES:tune-ppc7400 = "m32 fpu-hard ppc7400 altivec bigendian"
+TUNE_PKGARCH:tune-ppc7400 = "ppc7400"
+PACKAGE_EXTRA_ARCHS:tune-ppc7400 = "${PACKAGE_EXTRA_ARCHS:tune-powerpc} ppc7400"
 
 # glibc configure options to get 7400 specific library (for sqrt)
 #GLIBC_EXTRA_OECONF += "${@bb.utils.contains('TUNE_FEATURES', 'ppc7400', '--with-cpu=power4', '', d)}"
diff --git a/meta/conf/machine/include/tune-ppce300c2.inc b/meta/conf/machine/include/tune-ppce300c2.inc
index 6adeb4bdec1..90171c76d5c 100644
--- a/meta/conf/machine/include/tune-ppce300c2.inc
+++ b/meta/conf/machine/include/tune-ppce300c2.inc
@@ -6,6 +6,6 @@ TUNEVALID[ppce300c2] = "Enable ppce300c2 specific processor optimizations"
 TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'ppce300c2', ' -mcpu=e300c2', '', d)}"
 
 AVAILTUNES += "ppce300c2"
-TUNE_FEATURES_tune-ppce300c2 = "m32 fpu-soft ppce300c2 bigendian"
-TUNE_PKGARCH_tune-ppce300c2 = "ppce300c2"
-PACKAGE_EXTRA_ARCHS_tune-ppce300c2 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc-nf} ppce300c2"
+TUNE_FEATURES:tune-ppce300c2 = "m32 fpu-soft ppce300c2 bigendian"
+TUNE_PKGARCH:tune-ppce300c2 = "ppce300c2"
+PACKAGE_EXTRA_ARCHS:tune-ppce300c2 = "${PACKAGE_EXTRA_ARCHS:tune-powerpc-nf} ppce300c2"
diff --git a/meta/conf/machine/include/tune-ppce300c3.inc b/meta/conf/machine/include/tune-ppce300c3.inc
index a3d836c50c9..b74b6ad9767 100644
--- a/meta/conf/machine/include/tune-ppce300c3.inc
+++ b/meta/conf/machine/include/tune-ppce300c3.inc
@@ -6,9 +6,9 @@ AVAILTUNES += "ppce300c3 ppce300c3-nf"
 
 # hard-float
 TUNEVALID[ppce300c3] = "Enable ppce300c3 specific processor optimizations"
-TUNE_FEATURES_tune-ppce300c3 = "${TUNE_FEATURES_tune-powerpc} ppce300c3"
-TUNE_PKGARCH_tune-ppce300c3 = "ppce300c3"
-PACKAGE_EXTRA_ARCHS_tune-ppce300c3 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc} ppce300c3"
+TUNE_FEATURES:tune-ppce300c3 = "${TUNE_FEATURES:tune-powerpc} ppce300c3"
+TUNE_PKGARCH:tune-ppce300c3 = "ppce300c3"
+PACKAGE_EXTRA_ARCHS:tune-ppce300c3 = "${PACKAGE_EXTRA_ARCHS:tune-powerpc} ppce300c3"
 TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'ppce300c3', ' -mcpu=e300c3', '', d)}"
 
 # glibc config options to make use of e300c3 (603e) specific sqrt/sqrtf routines
@@ -16,8 +16,8 @@ GLIBC_EXTRA_OECONF += "${@bb.utils.contains('TUNE_FEATURES', 'ppce300c3', '--wit
 
 # soft-float
 TUNEVALID[ppce300c3-nf] = "Enable ppce300c3 specific processor optimizations (no fpu)"
-TUNE_FEATURES_tune-ppce300c3-nf = "${TUNE_FEATURES_tune-powerpc-nf} ppce300c3-nf"
-TUNE_PKGARCH_tune-ppce300c3-nf = "ppce300c3-nf"
-PACKAGE_EXTRA_ARCHS_tune-ppce300c3-nf = "${PACKAGE_EXTRA_ARCHS_tune-powerpc-nf} ppce300c3-nf"
+TUNE_FEATURES:tune-ppce300c3-nf = "${TUNE_FEATURES:tune-powerpc-nf} ppce300c3-nf"
+TUNE_PKGARCH:tune-ppce300c3-nf = "ppce300c3-nf"
+PACKAGE_EXTRA_ARCHS:tune-ppce300c3-nf = "${PACKAGE_EXTRA_ARCHS:tune-powerpc-nf} ppce300c3-nf"
 TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'ppce300c3-nf', ' -mcpu=e300c3', '', d)}"
 
diff --git a/meta/conf/machine/include/tune-ppce500.inc b/meta/conf/machine/include/tune-ppce500.inc
index abf81b90c44..aceab321b78 100644
--- a/meta/conf/machine/include/tune-ppce500.inc
+++ b/meta/conf/machine/include/tune-ppce500.inc
@@ -15,6 +15,6 @@ SPEABIEXTENSION = "${@bb.utils.filter('TUNE_FEATURES', 'spe', d)}"
 ABIEXTENSION .= "${SPEABIEXTENSION}"
 
 AVAILTUNES += "ppce500"
-TUNE_FEATURES_tune-ppce500 = "m32 spe ppce500 bigendian"
-TUNE_PKGARCH_tune-ppce500 = "ppce500"
-PACKAGE_EXTRA_ARCHS_tune-ppce500 = "ppce500"
+TUNE_FEATURES:tune-ppce500 = "m32 spe ppce500 bigendian"
+TUNE_PKGARCH:tune-ppce500 = "ppce500"
+PACKAGE_EXTRA_ARCHS:tune-ppce500 = "ppce500"
diff --git a/meta/conf/machine/include/tune-ppce500mc.inc b/meta/conf/machine/include/tune-ppce500mc.inc
index 9f8a1728041..e3524a10ca5 100644
--- a/meta/conf/machine/include/tune-ppce500mc.inc
+++ b/meta/conf/machine/include/tune-ppce500mc.inc
@@ -6,9 +6,9 @@ TUNEVALID[ppce500mc] = "Enable ppce500mc specific processor optimizations"
 TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'ppce500mc', ' -mcpu=e500mc', '', d)}"
 
 AVAILTUNES += "ppce500mc"
-TUNE_FEATURES_tune-ppce500mc = "m32 fpu-hard ppce500mc bigendian"
-TUNE_PKGARCH_tune-ppce500mc = "ppce500mc"
-PACKAGE_EXTRA_ARCHS_tune-ppce500mc = "${PACKAGE_EXTRA_ARCHS_tune-powerpc} ppce500mc"
+TUNE_FEATURES:tune-ppce500mc = "m32 fpu-hard ppce500mc bigendian"
+TUNE_PKGARCH:tune-ppce500mc = "ppce500mc"
+PACKAGE_EXTRA_ARCHS:tune-ppce500mc = "${PACKAGE_EXTRA_ARCHS:tune-powerpc} ppce500mc"
 
 # glibc configure options to get e500mc specific library (for sqrt)
 GLIBC_EXTRA_OECONF += "${@bb.utils.contains('TUNE_FEATURES', 'ppce500mc', '-with-cpu=e500mc', '', d)}"
diff --git a/meta/conf/machine/include/tune-ppce500v2.inc b/meta/conf/machine/include/tune-ppce500v2.inc
index f6c7c176236..461164d818f 100644
--- a/meta/conf/machine/include/tune-ppce500v2.inc
+++ b/meta/conf/machine/include/tune-ppce500v2.inc
@@ -15,6 +15,6 @@ SPEABIEXTENSION = "${@bb.utils.filter('TUNE_FEATURES', 'spe', d)}"
 ABIEXTENSION .= "${SPEABIEXTENSION}"
 
 AVAILTUNES += "ppce500v2"
-TUNE_FEATURES_tune-ppce500v2 = "m32 ppce500v2 bigendian"
-TUNE_PKGARCH_tune-ppce500v2 = "ppce500v2"
-PACKAGE_EXTRA_ARCHS_tune-ppce500v2 = "ppce500v2"
+TUNE_FEATURES:tune-ppce500v2 = "m32 ppce500v2 bigendian"
+TUNE_PKGARCH:tune-ppce500v2 = "ppce500v2"
+PACKAGE_EXTRA_ARCHS:tune-ppce500v2 = "ppce500v2"
diff --git a/meta/conf/machine/include/tune-ppce5500.inc b/meta/conf/machine/include/tune-ppce5500.inc
index acc6a50fcaa..2cf7b1737ce 100644
--- a/meta/conf/machine/include/tune-ppce5500.inc
+++ b/meta/conf/machine/include/tune-ppce5500.inc
@@ -6,18 +6,18 @@ TUNEVALID[e5500] = "Enable Freescale e5500 specific processor optimizations"
 TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'e5500', ' -mcpu=e5500', '', d)}"
 
 AVAILTUNES += "ppce5500 ppc64e5500"
-TUNE_FEATURES_tune-ppce5500 = "m32 fpu-hard e5500 bigendian"
-BASE_LIB_tune-ppce5500 = "lib"
-TUNE_PKGARCH_tune-ppce5500 = "ppce5500"
-PACKAGE_EXTRA_ARCHS_tune-ppce5500 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc} ppce5500"
+TUNE_FEATURES:tune-ppce5500 = "m32 fpu-hard e5500 bigendian"
+BASE_LIB:tune-ppce5500 = "lib"
+TUNE_PKGARCH:tune-ppce5500 = "ppce5500"
+PACKAGE_EXTRA_ARCHS:tune-ppce5500 = "${PACKAGE_EXTRA_ARCHS:tune-powerpc} ppce5500"
 
-TUNE_FEATURES_tune-ppc64e5500 = "m64 fpu-hard e5500 bigendian"
-BASE_LIB_tune-ppc64e5500 = "lib64"
-TUNE_PKGARCH_tune-ppc64e5500 = "ppc64e5500"
-PACKAGE_EXTRA_ARCHS_tune-ppc64e5500 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc64} ppc64e5500"
+TUNE_FEATURES:tune-ppc64e5500 = "m64 fpu-hard e5500 bigendian"
+BASE_LIB:tune-ppc64e5500 = "lib64"
+TUNE_PKGARCH:tune-ppc64e5500 = "ppc64e5500"
+PACKAGE_EXTRA_ARCHS:tune-ppc64e5500 = "${PACKAGE_EXTRA_ARCHS:tune-powerpc64} ppc64e5500"
 
 # glibc configure options to get e5500 specific library (for sqrt)
 GLIBC_EXTRA_OECONF += "${@bb.utils.contains('TUNE_FEATURES', 'e5500', '--with-cpu=e5500', '', d)}"
 
 # QEMU usermode fails with invalid instruction error (YOCTO: #10304)
-MACHINE_FEATURES_BACKFILL_CONSIDERED_append = "${@bb.utils.contains('TUNE_FEATURES', 'e5500', ' qemu-usermode', '', d)}"
+MACHINE_FEATURES_BACKFILL_CONSIDERED:append = "${@bb.utils.contains('TUNE_FEATURES', 'e5500', ' qemu-usermode', '', d)}"
diff --git a/meta/conf/machine/include/tune-ppce6500.inc b/meta/conf/machine/include/tune-ppce6500.inc
index d12d218d06e..e78de350ad0 100644
--- a/meta/conf/machine/include/tune-ppce6500.inc
+++ b/meta/conf/machine/include/tune-ppce6500.inc
@@ -6,19 +6,19 @@ TUNEVALID[e6500] = "Enable Freescale e6500 specific processor optimizations"
 TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'e6500', ' -mcpu=e6500', '', d)}"
 
 AVAILTUNES += "ppce6500 ppc64e6500"
-TUNE_FEATURES_tune-ppce6500 = "m32 fpu-hard e6500 altivec bigendian"
-BASE_LIB_tune-ppce6500 = "lib"
-TUNE_PKGARCH_tune-ppce6500 = "ppce6500"
-PACKAGE_EXTRA_ARCHS_tune-ppce6500 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc} ppce6500"
+TUNE_FEATURES:tune-ppce6500 = "m32 fpu-hard e6500 altivec bigendian"
+BASE_LIB:tune-ppce6500 = "lib"
+TUNE_PKGARCH:tune-ppce6500 = "ppce6500"
+PACKAGE_EXTRA_ARCHS:tune-ppce6500 = "${PACKAGE_EXTRA_ARCHS:tune-powerpc} ppce6500"
 
-TUNE_FEATURES_tune-ppc64e6500 = "m64 fpu-hard e6500 altivec bigendian"
-BASE_LIB_tune-ppc64e6500 = "lib64"
-TUNE_PKGARCH_tune-ppc64e6500 = "ppc64e6500"
-PACKAGE_EXTRA_ARCHS_tune-ppc64e6500 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc64} ppc64e6500"
+TUNE_FEATURES:tune-ppc64e6500 = "m64 fpu-hard e6500 altivec bigendian"
+BASE_LIB:tune-ppc64e6500 = "lib64"
+TUNE_PKGARCH:tune-ppc64e6500 = "ppc64e6500"
+PACKAGE_EXTRA_ARCHS:tune-ppc64e6500 = "${PACKAGE_EXTRA_ARCHS:tune-powerpc64} ppc64e6500"
 
 # glibc configure options to get e6500 specific library
-GLIBC_EXTRA_OECONF_powerpc64 += "${@bb.utils.contains('TUNE_FEATURES', 'e6500', '--with-cpu=e6500', '', d)}"
-GLIBC_EXTRA_OECONF_powerpc += "${@bb.utils.contains('TUNE_FEATURES', 'e6500', '--with-cpu=e6500', '', d)}"
+GLIBC_EXTRA_OECONF:powerpc64 += "${@bb.utils.contains('TUNE_FEATURES', 'e6500', '--with-cpu=e6500', '', d)}"
+GLIBC_EXTRA_OECONF:powerpc += "${@bb.utils.contains('TUNE_FEATURES', 'e6500', '--with-cpu=e6500', '', d)}"
 
 # QEMU usermode fails with invalid instruction error (YOCTO: #10304)
-MACHINE_FEATURES_BACKFILL_CONSIDERED_append = "${@bb.utils.contains('TUNE_FEATURES', 'e6500', ' qemu-usermode', '', d)}"
+MACHINE_FEATURES_BACKFILL_CONSIDERED:append = "${@bb.utils.contains('TUNE_FEATURES', 'e6500', ' qemu-usermode', '', d)}"
diff --git a/meta/conf/machine/include/tune-sh3.inc b/meta/conf/machine/include/tune-sh3.inc
index 80df9a0b615..77d0b71fc47 100644
--- a/meta/conf/machine/include/tune-sh3.inc
+++ b/meta/conf/machine/include/tune-sh3.inc
@@ -6,12 +6,12 @@ TUNEVALID[sh3] = "Enable SH3 optimizations"
 TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'sh3', ' -m3', '', d)}"
 
 AVAILTUNES += "sh3 sh3eb"
-TUNE_FEATURES_tune-sh3 = "sh3"
-TUNE_ARCH_tune-sh3 = "sh3"
-TUNE_PKGARCH_tune-sh3 = "sh3"
-PACKAGE_EXTRA_ARCHS_tune-sh3 = "sh sh3"
+TUNE_FEATURES:tune-sh3 = "sh3"
+TUNE_ARCH:tune-sh3 = "sh3"
+TUNE_PKGARCH:tune-sh3 = "sh3"
+PACKAGE_EXTRA_ARCHS:tune-sh3 = "sh sh3"
 
-TUNE_FEATURES_tune-sh3eb = "sh3 bigendian"
-TUNE_ARCH_tune-sh3eb = "sh3eb"
-TUNE_PKGARCH_tune-sh3eb = "sh3eb"
-PACKAGE_EXTRA_ARCHS_tune-sh3eb = "sheb sh3eb"
+TUNE_FEATURES:tune-sh3eb = "sh3 bigendian"
+TUNE_ARCH:tune-sh3eb = "sh3eb"
+TUNE_PKGARCH:tune-sh3eb = "sh3eb"
+PACKAGE_EXTRA_ARCHS:tune-sh3eb = "sheb sh3eb"
diff --git a/meta/conf/machine/include/tune-sh4.inc b/meta/conf/machine/include/tune-sh4.inc
index 4160c30e1a4..e21ede36c4b 100644
--- a/meta/conf/machine/include/tune-sh4.inc
+++ b/meta/conf/machine/include/tune-sh4.inc
@@ -13,22 +13,22 @@ TUNEVALID[sh4a] = "Enable SH4a optimizations"
 TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'sh4a', ' -m4a', '', d)}"
 
 AVAILTUNES += "sh4 sh4eb sh4a sh4aeb"
-TUNE_FEATURES_tune-sh4 = "sh4"
-TUNE_ARCH_tune-sh4 = "sh4"
-TUNE_PKGARCH_tune-sh4 = "sh4"
-PACKAGE_EXTRA_ARCHS_tune-sh4 = "sh sh4"
+TUNE_FEATURES:tune-sh4 = "sh4"
+TUNE_ARCH:tune-sh4 = "sh4"
+TUNE_PKGARCH:tune-sh4 = "sh4"
+PACKAGE_EXTRA_ARCHS:tune-sh4 = "sh sh4"
 
-TUNE_FEATURES_tune-sh4eb = "sh4 bigendian"
-TUNE_ARCH_tune-sh4eb = "sh4eb"
-TUNE_PKGARCH_tune-sh4eb = "sh4eb"
-PACKAGE_EXTRA_ARCHS_tune-sh4eb = "sheb sh4eb"
+TUNE_FEATURES:tune-sh4eb = "sh4 bigendian"
+TUNE_ARCH:tune-sh4eb = "sh4eb"
+TUNE_PKGARCH:tune-sh4eb = "sh4eb"
+PACKAGE_EXTRA_ARCHS:tune-sh4eb = "sheb sh4eb"
 
-TUNE_FEATURES_tune-sh4a = "sh4a"
-TUNE_ARCH_tune-sh4a = "sh4"
-TUNE_PKGARCH_tune-sh4a = "sh4a"
-PACKAGE_EXTRA_ARCHS_tune-sh4a = "sh sh4 sh4a"
+TUNE_FEATURES:tune-sh4a = "sh4a"
+TUNE_ARCH:tune-sh4a = "sh4"
+TUNE_PKGARCH:tune-sh4a = "sh4a"
+PACKAGE_EXTRA_ARCHS:tune-sh4a = "sh sh4 sh4a"
 
-TUNE_FEATURES_tune-sh4aeb = "sh4a bigendian"
-TUNE_ARCH_tune-sh4aeb = "sh4eb"
-TUNE_PKGARCH_tune-sh4aeb = "sh4aeb"
-PACKAGE_EXTRA_ARCHS_tune-sh4aeb = "sheb sh4eb sh4aeb"
+TUNE_FEATURES:tune-sh4aeb = "sh4a bigendian"
+TUNE_ARCH:tune-sh4aeb = "sh4eb"
+TUNE_PKGARCH:tune-sh4aeb = "sh4aeb"
+PACKAGE_EXTRA_ARCHS:tune-sh4aeb = "sheb sh4eb sh4aeb"
diff --git a/meta/conf/machine/include/tune-strongarm1100.inc b/meta/conf/machine/include/tune-strongarm1100.inc
index 94799658434..6f5033bbc12 100644
--- a/meta/conf/machine/include/tune-strongarm1100.inc
+++ b/meta/conf/machine/include/tune-strongarm1100.inc
@@ -7,6 +7,6 @@ TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'strongarm', ' -mcpu=stron
 MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'strongarm', 'armv4:', '', d)}"
 
 AVAILTUNES += "strongarm"
-ARMPKGARCH_tune-strongarm = "strongarm"
-TUNE_FEATURES_tune-strongarm = "arm strongarm"
-PACKAGE_EXTRA_ARCHS_tune-strongarm = "${PACKAGE_EXTRA_ARCHS_tune-armv4} strongarm"
+ARMPKGARCH:tune-strongarm = "strongarm"
+TUNE_FEATURES:tune-strongarm = "arm strongarm"
+PACKAGE_EXTRA_ARCHS:tune-strongarm = "${PACKAGE_EXTRA_ARCHS:tune-armv4} strongarm"
diff --git a/meta/conf/machine/include/tune-thunderx.inc b/meta/conf/machine/include/tune-thunderx.inc
index d1aaf4891e6..7bc6282be88 100644
--- a/meta/conf/machine/include/tune-thunderx.inc
+++ b/meta/conf/machine/include/tune-thunderx.inc
@@ -7,13 +7,13 @@ TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'thunderx', ' -mcpu=thunde
 
 require conf/machine/include/arm/arch-armv8a.inc
 
-ARMPKGARCH_tune-thunderx ?= "thunderx"
-ARMPKGARCH_tune-thunderx_be ?= "thunderx"
+ARMPKGARCH:tune-thunderx ?= "thunderx"
+ARMPKGARCH:tune-thunderx_be ?= "thunderx"
 
-TUNE_FEATURES_tune-thunderx = "${TUNE_FEATURES_tune-aarch64} thunderx"
-TUNE_FEATURES_tune-thunderx_be = "${TUNE_FEATURES_tune-thunderx} bigendian"
-BASE_LIB_tune-thunderx = "lib64"
-BASE_LIB_tune-thunderx_be = "lib64"
+TUNE_FEATURES:tune-thunderx = "${TUNE_FEATURES:tune-aarch64} thunderx"
+TUNE_FEATURES:tune-thunderx_be = "${TUNE_FEATURES:tune-thunderx} bigendian"
+BASE_LIB:tune-thunderx = "lib64"
+BASE_LIB:tune-thunderx_be = "lib64"
 
-PACKAGE_EXTRA_ARCHS_tune-thunderx = "${PACKAGE_EXTRA_ARCHS_tune-armv8a-crc-crypto} thunderx"
-PACKAGE_EXTRA_ARCHS_tune-thunderx_be = "aarch64_be thunderx_be"
+PACKAGE_EXTRA_ARCHS:tune-thunderx = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc-crypto} thunderx"
+PACKAGE_EXTRA_ARCHS:tune-thunderx_be = "aarch64_be thunderx_be"
diff --git a/meta/conf/machine/include/tune-xscale.inc b/meta/conf/machine/include/tune-xscale.inc
index aeac3652840..cc67dcd304d 100644
--- a/meta/conf/machine/include/tune-xscale.inc
+++ b/meta/conf/machine/include/tune-xscale.inc
@@ -7,13 +7,13 @@ TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'xscale', ' -mcpu=xscale',
 MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'xscale', 'armv5:', '', d)}"
 
 AVAILTUNES += "xscale"
-ARMPKGARCH_tune-xscale = "xscale"
+ARMPKGARCH:tune-xscale = "xscale"
 # mcpu is used so don't use armv5te as we don't want march
-TUNE_FEATURES_tune-xscale = "arm thumb dsp xscale"
-PACKAGE_EXTRA_ARCHS_tune-xscale = "${PACKAGE_EXTRA_ARCHS_tune-armv5te} xscale xscalet xscalee xscalete"
+TUNE_FEATURES:tune-xscale = "arm thumb dsp xscale"
+PACKAGE_EXTRA_ARCHS:tune-xscale = "${PACKAGE_EXTRA_ARCHS:tune-armv5te} xscale xscalet xscalee xscalete"
 
 AVAILTUNES += "xscale-be"
-ARMPKGARCH_tune-xscale-be = "xscale"
+ARMPKGARCH:tune-xscale-be = "xscale"
 # mcpu is used so don't use armv5te as we don't want march
-TUNE_FEATURES_tune-xscale-be = "${TUNE_FEATURES_tune-xscale} bigendian"
-PACKAGE_EXTRA_ARCHS_tune-xscale-be = "${PACKAGE_EXTRA_ARCHS_tune-armv5teb} xscaleb xscaletb xscaleeb xscaleteb"
+TUNE_FEATURES:tune-xscale-be = "${TUNE_FEATURES:tune-xscale} bigendian"
+PACKAGE_EXTRA_ARCHS:tune-xscale-be = "${PACKAGE_EXTRA_ARCHS:tune-armv5teb} xscaleb xscaletb xscaleeb xscaleteb"
diff --git a/meta/conf/machine/include/x86/README b/meta/conf/machine/include/x86/README
index 2b6c46c7eb6..05aee533a71 100644
--- a/meta/conf/machine/include/x86/README
+++ b/meta/conf/machine/include/x86/README
@@ -14,7 +14,7 @@ X86ARCH64 - This is the 64-bit architecture GNU canonical arch, TUNE_ARCH.
 
 The TUNE_PKGARCH is defined as follows:
 
-TUNE_PKGARCH = ${TUNE_PKGARCH_tune-${DEFAULTTUNE}}
+TUNE_PKGARCH = ${TUNE_PKGARCH:tune-${DEFAULTTUNE}}
 
 The package architecture for 32-bit targets is historical and generally
 set to to match the core compatible processor type, i.e. i386.
diff --git a/meta/conf/machine/include/x86/arch-x86.inc b/meta/conf/machine/include/x86/arch-x86.inc
index 2edb360b7d9..28742e794d6 100644
--- a/meta/conf/machine/include/x86/arch-x86.inc
+++ b/meta/conf/machine/include/x86/arch-x86.inc
@@ -7,7 +7,7 @@ TARGET_FPU ?= ""
 X86ARCH32 ?= "i586"
 X86ARCH64 ?= "x86_64"
 
-TUNE_PKGARCH = "${TUNE_PKGARCH_tune-${DEFAULTTUNE}}"
+TUNE_PKGARCH = "${TUNE_PKGARCH:tune-${DEFAULTTUNE}}"
 
 # ELF32 ABI
 TUNEVALID[m32] = "IA32 ELF32 standard ABI"
@@ -25,7 +25,7 @@ TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'mx32', ' -mx32', '', d)}"
 TUNE_LDARGS += "${@bb.utils.contains('TUNE_FEATURES', 'mx32', '-m elf32_x86_64', '', d)}"
 TUNE_ASARGS += "${@bb.utils.contains('TUNE_FEATURES', 'mx32', '-x32', '', d)}"
 # user mode qemu doesn't support x32
-MACHINE_FEATURES_BACKFILL_CONSIDERED_append = " ${@bb.utils.contains('TUNE_FEATURES', 'mx32', 'qemu-usermode', '', d)}"
+MACHINE_FEATURES_BACKFILL_CONSIDERED:append = " ${@bb.utils.contains('TUNE_FEATURES', 'mx32', 'qemu-usermode', '', d)}"
 MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'mx32', 'x86-x32:', '', d)}"
 
 # ELF64 ABI
@@ -36,19 +36,19 @@ TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'm64', ' -m64', '', d)}"
 
 # Default Tune configurations
 AVAILTUNES += "x86"
-TUNE_FEATURES_tune-x86 = "m32"
-BASE_LIB_tune-x86 = "lib"
-TUNE_PKGARCH_tune-x86 = "x86"
-PACKAGE_EXTRA_ARCHS_tune-x86 = "${TUNE_PKGARCH_tune-x86}"
+TUNE_FEATURES:tune-x86 = "m32"
+BASE_LIB:tune-x86 = "lib"
+TUNE_PKGARCH:tune-x86 = "x86"
+PACKAGE_EXTRA_ARCHS:tune-x86 = "${TUNE_PKGARCH:tune-x86}"
 
 AVAILTUNES += "x86-64"
-TUNE_FEATURES_tune-x86-64 = "m64"
-BASE_LIB_tune-x86-64 = "lib64"
-TUNE_PKGARCH_tune-x86-64 = "x86_64"
-PACKAGE_EXTRA_ARCHS_tune-x86-64 = "${TUNE_PKGARCH_tune-x86-64}"
+TUNE_FEATURES:tune-x86-64 = "m64"
+BASE_LIB:tune-x86-64 = "lib64"
+TUNE_PKGARCH:tune-x86-64 = "x86_64"
+PACKAGE_EXTRA_ARCHS:tune-x86-64 = "${TUNE_PKGARCH:tune-x86-64}"
 
 AVAILTUNES += "x86-64-x32"
-TUNE_FEATURES_tune-x86-64-x32 = "mx32"
-BASE_LIB_tune-x86-64-x32 = "libx32"
-TUNE_PKGARCH_tune-x86-64-x32 = "x86_64_x32"
-PACKAGE_EXTRA_ARCHS_tune-x86-64-x32 = "${TUNE_PKGARCH_tune-x86-64-x32}"
+TUNE_FEATURES:tune-x86-64-x32 = "mx32"
+BASE_LIB:tune-x86-64-x32 = "libx32"
+TUNE_PKGARCH:tune-x86-64-x32 = "x86_64_x32"
+PACKAGE_EXTRA_ARCHS:tune-x86-64-x32 = "${TUNE_PKGARCH:tune-x86-64-x32}"
diff --git a/meta/conf/machine/qemuarm.conf b/meta/conf/machine/qemuarm.conf
index 34fcde698c1..f893f1a76a0 100644
--- a/meta/conf/machine/qemuarm.conf
+++ b/meta/conf/machine/qemuarm.conf
@@ -7,7 +7,7 @@ require conf/machine/include/qemu.inc
 
 KERNEL_IMAGETYPE = "zImage"
 
-UBOOT_MACHINE ?= "qemu_arm_defconfig"
+UBOOT_MACHINE ?= "qemu:arm_defconfig"
 
 SERIAL_CONSOLES ?= "115200;ttyAMA0 115200;hvc0"
 SERIAL_CONSOLES_CHECK = "${SERIAL_CONSOLES}"
@@ -31,4 +31,4 @@ QB_ROOTFS_OPT = "-drive id=disk0,file=@ROOTFS@,if=none,format=raw -device virtio
 QB_SERIAL_OPT = "-device virtio-serial-device -chardev null,id=virtcon -device virtconsole,chardev=virtcon"
 QB_TCPSERIAL_OPT = "-device virtio-serial-device -chardev socket,id=virtcon,port=@PORT@,host=127.0.0.1 -device virtconsole,chardev=virtcon"
 
-KMACHINE_qemuarm = "qemuarma15"
+KMACHINE:qemuarm = "qemuarma15"
diff --git a/meta/conf/machine/qemuarm64.conf b/meta/conf/machine/qemuarm64.conf
index 150a0744ebf..3dcb0d1b1ef 100644
--- a/meta/conf/machine/qemuarm64.conf
+++ b/meta/conf/machine/qemuarm64.conf
@@ -7,7 +7,7 @@ require conf/machine/include/qemu.inc
 
 KERNEL_IMAGETYPE = "Image"
 
-UBOOT_MACHINE ?= "qemu_arm64_defconfig"
+UBOOT_MACHINE ?= "qemu:arm64_defconfig"
 
 SERIAL_CONSOLES ?= "115200;ttyAMA0 115200;hvc0"
 SERIAL_CONSOLES_CHECK = "${SERIAL_CONSOLES}"
diff --git a/meta/conf/machine/qemuarmv5.conf b/meta/conf/machine/qemuarmv5.conf
index 7050bae0885..7650c2f4a2c 100644
--- a/meta/conf/machine/qemuarmv5.conf
+++ b/meta/conf/machine/qemuarmv5.conf
@@ -17,4 +17,4 @@ QB_OPT_APPEND = "-usb -device usb-tablet"
 PREFERRED_VERSION_linux-yocto ??= "5.10%"
 QB_DTB = "${@oe.utils.version_less_or_equal('PREFERRED_VERSION_linux-yocto', '4.7', '', 'zImage-versatile-pb.dtb', d)}"
 
-KMACHINE_qemuarmv5 = "qemuarm"
+KMACHINE:qemuarmv5 = "qemuarm"
diff --git a/meta/conf/multilib.conf b/meta/conf/multilib.conf
index d231107f8b0..8a8db582df4 100644
--- a/meta/conf/multilib.conf
+++ b/meta/conf/multilib.conf
@@ -1,5 +1,5 @@
 
-baselib = "${@d.getVar('BASE_LIB_tune-' + (d.getVar('DEFAULTTUNE') or 'INVALID')) or d.getVar('BASELIB')}"
+baselib = "${@d.getVar('BASE_LIB:tune-' + (d.getVar('DEFAULTTUNE') or 'INVALID')) or d.getVar('BASELIB')}"
 
 MULTILIB_VARIANTS = "${@extend_variants(d,'MULTILIBS','multilib')}"
 MULTILIB_SAVE_VARNAME = "DEFAULTTUNE TARGET_ARCH TARGET_SYS TARGET_VENDOR"
@@ -9,15 +9,15 @@ MULTILIBS ??= "multilib:lib32"
 STAGING_DIR_HOST = "${WORKDIR}/${MLPREFIX}recipe-sysroot"
 STAGING_DIR_TARGET = "${WORKDIR}/${MLPREFIX}recipe-sysroot"
 RECIPE_SYSROOT = "${WORKDIR}/${MLPREFIX}recipe-sysroot"
-RECIPE_SYSROOT_class-native = "${WORKDIR}/recipe-sysroot"
+RECIPE_SYSROOT:class-native = "${WORKDIR}/recipe-sysroot"
 
 INHERIT += "multilib_global"
 
-BBCLASSEXTEND_append = " ${MULTILIBS}"
+BBCLASSEXTEND:append = " ${MULTILIBS}"
 
 MULTILIB_GLOBAL_VARIANTS ?= "lib32 lib64 libx32"
 
-OPKG_ARGS_append = " --force-maintainer --force-overwrite"
+OPKG_ARGS:append = " --force-maintainer --force-overwrite"
 
 # When multilib is enabled, allarch recipes will be installed into the MACHINE
 # sysroot, not MLPREFIXMACHINE.  This means that anything using pkg-config to
diff --git a/meta/lib/oe/package_manager/__init__.py b/meta/lib/oe/package_manager/__init__.py
index de5916d7d82..8f7b60e0770 100644
--- a/meta/lib/oe/package_manager/__init__.py
+++ b/meta/lib/oe/package_manager/__init__.py
@@ -90,7 +90,7 @@ def opkg_query(cmd_output):
 
 def failed_postinsts_abort(pkgs, log_path):
     bb.fatal("""Postinstall scriptlets of %s have failed. If the intention is to defer them to first boot,
-then please place them into pkg_postinst_ontarget_${PN} ().
+then please place them into pkg_postinst_ontarget:${PN} ().
 Deferring to first boot via 'exit 1' is no longer supported.
 Details of the failure are in %s.""" %(pkgs, log_path))
 
diff --git a/meta/lib/oe/package_manager/deb/__init__.py b/meta/lib/oe/package_manager/deb/__init__.py
index a4b6b6f6472..9f112ae25b3 100644
--- a/meta/lib/oe/package_manager/deb/__init__.py
+++ b/meta/lib/oe/package_manager/deb/__init__.py
@@ -422,7 +422,7 @@ class DpkgPM(OpkgDpkgPM):
         multilib_variants = self.d.getVar("MULTILIB_VARIANTS");
         for variant in multilib_variants.split():
             localdata = bb.data.createCopy(self.d)
-            variant_tune = localdata.getVar("DEFAULTTUNE_virtclass-multilib-" + variant, False)
+            variant_tune = localdata.getVar("DEFAULTTUNE:virtclass-multilib-" + variant, False)
             orig_arch = localdata.getVar("DPKG_ARCH")
             localdata.setVar("DEFAULTTUNE", variant_tune)
             variant_arch = localdata.getVar("DPKG_ARCH")
diff --git a/meta/lib/oe/packagedata.py b/meta/lib/oe/packagedata.py
index a82085a7920..22261d271eb 100644
--- a/meta/lib/oe/packagedata.py
+++ b/meta/lib/oe/packagedata.py
@@ -19,7 +19,7 @@ def read_pkgdatafile(fn):
         import re
         with open(fn, 'r') as f:
             lines = f.readlines()
-        r = re.compile("([^:]+):\s*(.*)")
+        r = re.compile("(^.+?):\s+(.*)")
         for l in lines:
             m = r.match(l)
             if m:
diff --git a/meta/lib/oe/recipeutils.py b/meta/lib/oe/recipeutils.py
index 407d1688946..a66bb92823b 100644
--- a/meta/lib/oe/recipeutils.py
+++ b/meta/lib/oe/recipeutils.py
@@ -414,7 +414,7 @@ def copy_recipe_files(d, tgt_dir, whole_dir=False, download=True, all_variants=F
 
     fetch_urls(d)
     if all_variants:
-        # Get files for other variants e.g. in the case of a SRC_URI_append
+        # Get files for other variants e.g. in the case of a SRC_URI:append
         localdata = bb.data.createCopy(d)
         variants = (localdata.getVar('BBCLASSEXTEND') or '').split()
         if variants:
@@ -753,7 +753,7 @@ def bbappend_recipe(rd, destlayerdir, srcfiles, install=None, wildcardver=False,
 
     destsubdir = rd.getVar('PN')
     if srcfiles:
-        bbappendlines.append(('FILESEXTRAPATHS_prepend', ':=', '${THISDIR}/${PN}:'))
+        bbappendlines.append(('FILESEXTRAPATHS:prepend', ':=', '${THISDIR}/${PN}:'))
 
     appendoverride = ''
     if machine:
@@ -772,7 +772,7 @@ def bbappend_recipe(rd, destlayerdir, srcfiles, install=None, wildcardver=False,
                 # FIXME do we care if the entry is added by another bbappend that might go away?
                 if not srcurientry in rd.getVar('SRC_URI').split():
                     if machine:
-                        appendline('SRC_URI_append%s' % appendoverride, '=', ' ' + srcurientry)
+                        appendline('SRC_URI:append%s' % appendoverride, '=', ' ' + srcurientry)
                     else:
                         appendline('SRC_URI', '+=', srcurientry)
             copyfiles[newfile] = srcfile
@@ -786,7 +786,7 @@ def bbappend_recipe(rd, destlayerdir, srcfiles, install=None, wildcardver=False,
                         instfunclines.append(instdirline)
                     instfunclines.append('install -m %s ${WORKDIR}/%s ${D}%s' % (perms, os.path.basename(srcfile), instdestpath))
         if instfunclines:
-            bbappendlines.append(('do_install_append%s()' % appendoverride, '', instfunclines))
+            bbappendlines.append(('do_install:append%s()' % appendoverride, '', instfunclines))
 
     if redirect_output:
         bb.note('Writing append file %s (dry-run)' % appendpath)
@@ -804,15 +804,15 @@ def bbappend_recipe(rd, destlayerdir, srcfiles, install=None, wildcardver=False,
         extvars = {'destsubdir': destsubdir}
 
         def appendfile_varfunc(varname, origvalue, op, newlines):
-            if varname == 'FILESEXTRAPATHS_prepend':
+            if varname == 'FILESEXTRAPATHS:prepend':
                 if origvalue.startswith('${THISDIR}/'):
-                    popline('FILESEXTRAPATHS_prepend')
+                    popline('FILESEXTRAPATHS:prepend')
                     extvars['destsubdir'] = rd.expand(origvalue.split('${THISDIR}/', 1)[1].rstrip(':'))
             elif varname == 'PACKAGE_ARCH':
                 if machine:
                     popline('PACKAGE_ARCH')
                     return (machine, None, 4, False)
-            elif varname.startswith('do_install_append'):
+            elif varname.startswith('do_install:append'):
                 func = popline(varname)
                 if func:
                     instfunclines = [line.strip() for line in origvalue.strip('\n').splitlines()]
@@ -824,7 +824,7 @@ def bbappend_recipe(rd, destlayerdir, srcfiles, install=None, wildcardver=False,
                 splitval = split_var_value(origvalue, assignment=False)
                 changed = False
                 removevar = varname
-                if varname in ['SRC_URI', 'SRC_URI_append%s' % appendoverride]:
+                if varname in ['SRC_URI', 'SRC_URI:append%s' % appendoverride]:
                     removevar = 'SRC_URI'
                     line = popline(varname)
                     if line:
diff --git a/meta/lib/oe/sstatesig.py b/meta/lib/oe/sstatesig.py
index 47f3ca4efb7..f460c50c105 100644
--- a/meta/lib/oe/sstatesig.py
+++ b/meta/lib/oe/sstatesig.py
@@ -59,7 +59,7 @@ def sstate_rundepfilter(siggen, fn, recipename, task, dep, depname, dataCaches):
         return False
 
     # Kernel modules are well namespaced. We don't want to depend on the kernel's checksum
-    # if we're just doing an RRECOMMENDS_xxx = "kernel-module-*", not least because the checksum
+    # if we're just doing an RRECOMMENDS:xxx = "kernel-module-*", not least because the checksum
     # is machine specific.
     # Therefore if we're not a kernel or a module recipe (inheriting the kernel classes)
     # and we reccomend a kernel-module, we exclude the dependency.
diff --git a/meta/lib/oeqa/files/testresults/testresults.json b/meta/lib/oeqa/files/testresults/testresults.json
index 1a621556188..86e5e412afa 100644
--- a/meta/lib/oeqa/files/testresults/testresults.json
+++ b/meta/lib/oeqa/files/testresults/testresults.json
@@ -1,5 +1,5 @@
 {
-    "runtime_core-image-minimal_qemuarm_20181225195701": {
+    "runtime_core-image-minimal:qemuarm_20181225195701": {
         "configuration": {
             "DISTRO": "poky",
             "HOST_DISTRO": "ubuntu-16.04",
diff --git a/meta/lib/oeqa/manual/build-appliance.json b/meta/lib/oeqa/manual/build-appliance.json
index 70f8c72c9bb..82a556e93e8 100644
--- a/meta/lib/oeqa/manual/build-appliance.json
+++ b/meta/lib/oeqa/manual/build-appliance.json
@@ -48,7 +48,7 @@
                     "expected_results": ""
                 },
                 "3": {
-                    "action": "Install a new package to the image, for example, acpid. Set the following line in conf/local.conf: IMAGE_INSTALL_append = \" acpid\"",
+                    "action": "Install a new package to the image, for example, acpid. Set the following line in conf/local.conf: IMAGE_INSTALL:append = \" acpid\"",
                     "expected_results": ""
                 },
                 "4": {
diff --git a/meta/lib/oeqa/manual/sdk.json b/meta/lib/oeqa/manual/sdk.json
index 434982f7f5e..21d892d26d9 100644
--- a/meta/lib/oeqa/manual/sdk.json
+++ b/meta/lib/oeqa/manual/sdk.json
@@ -26,7 +26,7 @@
                     "expected_results": "Expect both qemu to boot up successfully."
                 }
             },
-            "summary": "test_install_cross_toolchain_can_run_multiple_qemu_for_x86"
+            "summary": "test_install_cross_toolchain_can_run_multiple_qemu_for:x86"
         }
     }
 ]
\ No newline at end of file
diff --git a/meta/lib/oeqa/manual/toaster-managed-mode.json b/meta/lib/oeqa/manual/toaster-managed-mode.json
index 40eda6446d4..d8bbbece4a2 100644
--- a/meta/lib/oeqa/manual/toaster-managed-mode.json
+++ b/meta/lib/oeqa/manual/toaster-managed-mode.json
@@ -186,7 +186,7 @@
           "expected_results": ""
         },
         "7": {
-          "action": "IMAGE_INSTALL_append: \n\t- check that the \"change\" icon is present (represented by a pen icon) \n\t- click on the \"change\" icon and check that the variable becomes a text field, populated with the current value of the variable.  \n\n\t- check that the save button is disabled when the text field is empty \n\t- insert test in the text field (for example \"package1\") and hit save; be aware that there is no input validation for this variable \n\t- check that a new \"delete\" icon(a trashcan) has appeared next to the pen icon \n\t- check that clicking on the trashcan icon resets the value to \"Not set\" and makes the trashcan icon dissapear  \n\n",
+          "action": "IMAGE_INSTALL:append: \n\t- check that the \"change\" icon is present (represented by a pen icon) \n\t- click on the \"change\" icon and check that the variable becomes a text field, populated with the current value of the variable.  \n\n\t- check that the save button is disabled when the text field is empty \n\t- insert test in the text field (for example \"package1\") and hit save; be aware that there is no input validation for this variable \n\t- check that a new \"delete\" icon(a trashcan) has appeared next to the pen icon \n\t- check that clicking on the trashcan icon resets the value to \"Not set\" and makes the trashcan icon dissapear  \n\n",
           "expected_results": ""
         },
         "8": {
@@ -1574,7 +1574,7 @@
           "expected_results": "Open bitbake variables page. \n\n\t"
         },
         "5": {
-          "action": "Click on change button for IMAGE_INSTALL_append and add a variable (ex: acpid). \n\n",
+          "action": "Click on change button for IMAGE_INSTALL:append and add a variable (ex: acpid). \n\n",
           "expected_results": "Variable added. \n\n\t"
         },
         "6": {
@@ -1590,7 +1590,7 @@
           "expected_results": "You should get results for ssh packages."
         }
       },
-      "summary": "Test_IMAGE_INSTALL_append_variable"
+      "summary": "Test_IMAGE_INSTALL:append_variable"
     }
   },
   {
diff --git a/meta/lib/oeqa/runtime/cases/ksample.py b/meta/lib/oeqa/runtime/cases/ksample.py
index a9a1620ebd4..4d12d1d07d9 100644
--- a/meta/lib/oeqa/runtime/cases/ksample.py
+++ b/meta/lib/oeqa/runtime/cases/ksample.py
@@ -10,7 +10,7 @@ from oeqa.core.decorator.depends import OETestDepends
 from oeqa.core.decorator.data import skipIfNotFeature
 
 # need some kernel fragments
-# echo "KERNEL_FEATURES_append += \" features\/kernel\-sample\/kernel\-sample.scc\"" >> local.conf
+# echo "KERNEL_FEATURES:append += \" features\/kernel\-sample\/kernel\-sample.scc\"" >> local.conf
 class KSample(OERuntimeTestCase):
     def cmd_and_check(self, cmd='', match_string=''):
         status, output = self.target.run(cmd)
diff --git a/meta/lib/oeqa/runtime/cases/skeletoninit.py b/meta/lib/oeqa/runtime/cases/skeletoninit.py
index 4779cd6bb4e..a12f1e9aaee 100644
--- a/meta/lib/oeqa/runtime/cases/skeletoninit.py
+++ b/meta/lib/oeqa/runtime/cases/skeletoninit.py
@@ -4,7 +4,7 @@
 
 # This test should cover https://bugzilla.yoctoproject.org/tr_show_case.cgi?case_id=284
 # testcase. Image under test must have meta-skeleton layer in bblayers and
-# IMAGE_INSTALL_append = " service" in local.conf
+# IMAGE_INSTALL:append = " service" in local.conf
 from oeqa.runtime.case import OERuntimeTestCase
 from oeqa.core.decorator.depends import OETestDepends
 from oeqa.core.decorator.data import skipIfDataVar
diff --git a/meta/lib/oeqa/sdkext/testsdk.py b/meta/lib/oeqa/sdkext/testsdk.py
index ffd185ec55f..6b564fa455c 100644
--- a/meta/lib/oeqa/sdkext/testsdk.py
+++ b/meta/lib/oeqa/sdkext/testsdk.py
@@ -70,7 +70,7 @@ class TestSDKExt(TestSDKBase):
                 f.write('SSTATE_MIRRORS += " \\n file://.* file://%s/PATH"\n' % test_data.get('SSTATE_DIR'))
                 f.write('SOURCE_MIRROR_URL = "file://%s"\n' % test_data.get('DL_DIR'))
                 f.write('INHERIT += "own-mirrors"\n')
-                f.write('PREMIRRORS_prepend = " git://git.yoctoproject.org/.* git://%s/git2/git.yoctoproject.org.BASENAME \\n "\n' % test_data.get('DL_DIR'))
+                f.write('PREMIRRORS:prepend = " git://git.yoctoproject.org/.* git://%s/git2/git.yoctoproject.org.BASENAME \\n "\n' % test_data.get('DL_DIR'))
 
             # We need to do this in case we have a minimal SDK
             subprocess.check_output(". %s > /dev/null; devtool sdk-install meta-extsdk-toolchain" % \
diff --git a/meta/lib/oeqa/selftest/cases/bbtests.py b/meta/lib/oeqa/selftest/cases/bbtests.py
index 79390acc0dd..8831de60658 100644
--- a/meta/lib/oeqa/selftest/cases/bbtests.py
+++ b/meta/lib/oeqa/selftest/cases/bbtests.py
@@ -70,8 +70,8 @@ class BitbakeTests(OESelftestTestCase):
 
     def test_invalid_patch(self):
         # This patch should fail to apply.
-        self.write_recipeinc('man-db', 'FILESEXTRAPATHS_prepend := "${THISDIR}/files:"\nSRC_URI += "file://0001-Test-patch-here.patch"')
-        self.write_config("INHERIT_remove = \"report-error\"")
+        self.write_recipeinc('man-db', 'FILESEXTRAPATHS:prepend := "${THISDIR}/files:"\nSRC_URI += "file://0001-Test-patch-here.patch"')
+        self.write_config("INHERIT:remove = \"report-error\"")
         result = bitbake('man-db -c patch', ignore_status=True)
         self.delete_recipeinc('man-db')
         bitbake('-cclean man-db')
@@ -139,7 +139,7 @@ class BitbakeTests(OESelftestTestCase):
         self.write_recipeinc('man-db', data)
         self.write_config("""DL_DIR = \"${TOPDIR}/download-selftest\"
 SSTATE_DIR = \"${TOPDIR}/download-selftest\"
-INHERIT_remove = \"report-error\"
+INHERIT:remove = \"report-error\"
 """)
         self.track_for_cleanup(os.path.join(self.builddir, "download-selftest"))
 
@@ -213,7 +213,7 @@ SSTATE_DIR = \"${TOPDIR}/download-selftest\"
     def test_continue(self):
         self.write_config("""DL_DIR = \"${TOPDIR}/download-selftest\"
 SSTATE_DIR = \"${TOPDIR}/download-selftest\"
-INHERIT_remove = \"report-error\"
+INHERIT:remove = \"report-error\"
 """)
         self.track_for_cleanup(os.path.join(self.builddir, "download-selftest"))
         self.write_recipeinc('man-db',"\ndo_fail_task () {\nexit 1 \n}\n\naddtask do_fail_task before do_fetch\n" )
diff --git a/meta/lib/oeqa/selftest/cases/buildoptions.py b/meta/lib/oeqa/selftest/cases/buildoptions.py
index 754b77defdc..be49322f9c2 100644
--- a/meta/lib/oeqa/selftest/cases/buildoptions.py
+++ b/meta/lib/oeqa/selftest/cases/buildoptions.py
@@ -78,9 +78,9 @@ class SanityOptionsTest(OESelftestTestCase):
 
     def test_options_warnqa_errorqa_switch(self):
 
-        self.write_config("INHERIT_remove = \"report-error\"")
+        self.write_config("INHERIT:remove = \"report-error\"")
         if "packages-list" not in get_bb_var("ERROR_QA"):
-            self.append_config("ERROR_QA_append = \" packages-list\"")
+            self.append_config("ERROR_QA:append = \" packages-list\"")
 
         self.write_recipeinc('xcursor-transparent-theme', 'PACKAGES += \"${PN}-dbg\"')
         self.add_command_to_tearDown('bitbake -c clean xcursor-transparent-theme')
@@ -90,8 +90,8 @@ class SanityOptionsTest(OESelftestTestCase):
         self.assertTrue(line and line.startswith("ERROR:"), msg=res.output)
         self.assertEqual(res.status, 1, msg = "bitbake reported exit code %s. It should have been 1. Bitbake output: %s" % (str(res.status), res.output))
         self.write_recipeinc('xcursor-transparent-theme', 'PACKAGES += \"${PN}-dbg\"')
-        self.append_config('ERROR_QA_remove = "packages-list"')
-        self.append_config('WARN_QA_append = " packages-list"')
+        self.append_config('ERROR_QA:remove = "packages-list"')
+        self.append_config('WARN_QA:append = " packages-list"')
         res = bitbake("xcursor-transparent-theme -f -c package")
         self.delete_recipeinc('xcursor-transparent-theme')
         line = self.getline(res, "QA Issue: xcursor-transparent-theme-dbg is listed in PACKAGES multiple times, this leads to packaging errors.")
@@ -168,7 +168,7 @@ class ToolchainOptions(OESelftestTestCase):
         Test that Fortran works by building a Hello, World binary.
         """
 
-        features = 'FORTRAN_forcevariable = ",fortran"\n'
+        features = 'FORTRAN:forcevariable = ",fortran"\n'
         self.write_config(features)
         bitbake('fortran-helloworld')
 
diff --git a/meta/lib/oeqa/selftest/cases/containerimage.py b/meta/lib/oeqa/selftest/cases/containerimage.py
index 79cc8a0f2e8..b92e520bc2b 100644
--- a/meta/lib/oeqa/selftest/cases/containerimage.py
+++ b/meta/lib/oeqa/selftest/cases/containerimage.py
@@ -43,7 +43,7 @@ PACKAGE_CLASSES = "package_ipk"
 IMAGE_FEATURES = ""
 IMAGE_BUILDINFO_FILE = ""
 INIT_MANAGER = "sysvinit"
-IMAGE_INSTALL_remove = "ssh-pregen-hostkeys"
+IMAGE_INSTALL:remove = "ssh-pregen-hostkeys"
 
 """)
 
diff --git a/meta/lib/oeqa/selftest/cases/devtool.py b/meta/lib/oeqa/selftest/cases/devtool.py
index 3385546e8e0..c6dbf50e687 100644
--- a/meta/lib/oeqa/selftest/cases/devtool.py
+++ b/meta/lib/oeqa/selftest/cases/devtool.py
@@ -975,7 +975,7 @@ class DevtoolUpdateTests(DevtoolBase):
         self.assertExists(patchfile, 'Patch file not created')
 
         # Check bbappend contents
-        expectedlines = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n',
+        expectedlines = ['FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"\n',
                          '\n',
                          'SRC_URI += "file://0001-Add-our-custom-version.patch"\n',
                          '\n']
@@ -990,7 +990,7 @@ class DevtoolUpdateTests(DevtoolBase):
         result = runCmd('git reset HEAD^', cwd=tempsrcdir)
         result = runCmd('devtool update-recipe %s -a %s' % (testrecipe, templayerdir))
         self.assertNotExists(patchfile, 'Patch file not deleted')
-        expectedlines2 = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n',
+        expectedlines2 = ['FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"\n',
                          '\n']
         with open(bbappendfile, 'r') as f:
             self.assertEqual(expectedlines2, f.readlines())
diff --git a/meta/lib/oeqa/selftest/cases/distrodata.py b/meta/lib/oeqa/selftest/cases/distrodata.py
index 0ad6e1ef91a..4a45855d27c 100644
--- a/meta/lib/oeqa/selftest/cases/distrodata.py
+++ b/meta/lib/oeqa/selftest/cases/distrodata.py
@@ -110,7 +110,7 @@ The following recipes do not have a DESCRIPTION. Please add an entry for DESCRIP
 
             missing_recipes = []
             recipes = []
-            prefix = "RECIPE_MAINTAINER_pn-"
+            prefix = "RECIPE_MAINTAINER:pn-"
 
             # We could have used all_recipes() here, but this method will find
             # every recipe if we ever move to setting RECIPE_MAINTAINER in recipe files
diff --git a/meta/lib/oeqa/selftest/cases/efibootpartition.py b/meta/lib/oeqa/selftest/cases/efibootpartition.py
index a61cf9bcb30..3203a7b71d0 100644
--- a/meta/lib/oeqa/selftest/cases/efibootpartition.py
+++ b/meta/lib/oeqa/selftest/cases/efibootpartition.py
@@ -26,11 +26,11 @@ class GenericEFITest(OESelftestTestCase):
         self.write_config(self,
 """
 EFI_PROVIDER = "%s"
-IMAGE_FSTYPES_pn-%s_append = " wic"
+IMAGE_FSTYPES:pn-%s_append = " wic"
 MACHINE = "%s"
-MACHINE_FEATURES_append = " efi"
+MACHINE_FEATURES:append = " efi"
 WKS_FILE = "efi-bootdisk.wks.in"
-IMAGE_INSTALL_append = " grub-efi systemd-boot kernel-image-bzimage"
+IMAGE_INSTALL:append = " grub-efi systemd-boot kernel-image-bzimage"
 """
 % (self.efi_provider, self.image, self.machine))
         if not self.recipes_built:
diff --git a/meta/lib/oeqa/selftest/cases/fetch.py b/meta/lib/oeqa/selftest/cases/fetch.py
index cd15f651291..9aa91e59c13 100644
--- a/meta/lib/oeqa/selftest/cases/fetch.py
+++ b/meta/lib/oeqa/selftest/cases/fetch.py
@@ -24,8 +24,8 @@ class Fetch(OESelftestTestCase):
         # No mirrors, should use git to fetch successfully
         features = """
 DL_DIR = "%s"
-MIRRORS_forcevariable = ""
-PREMIRRORS_forcevariable = ""
+MIRRORS:forcevariable = ""
+PREMIRRORS:forcevariable = ""
 """ % dldir
         self.write_config(features)
         oe.path.remove(dldir, recurse=True)
@@ -35,8 +35,8 @@ PREMIRRORS_forcevariable = ""
         features = """
 DL_DIR = "%s"
 GIT_PROXY_COMMAND = "false"
-MIRRORS_forcevariable = ""
-PREMIRRORS_forcevariable = ""
+MIRRORS:forcevariable = ""
+PREMIRRORS:forcevariable = ""
 """ % dldir
         self.write_config(features)
         oe.path.remove(dldir, recurse=True)
@@ -47,7 +47,7 @@ PREMIRRORS_forcevariable = ""
         features = """
 DL_DIR = "%s"
 GIT_PROXY_COMMAND = "false"
-MIRRORS_forcevariable = "git://.*/.* http://downloads.yoctoproject.org/mirror/sources/"
+MIRRORS:forcevariable = "git://.*/.* http://downloads.yoctoproject.org/mirror/sources/"
 """ % dldir
         self.write_config(features)
         oe.path.remove(dldir, recurse=True)
diff --git a/meta/lib/oeqa/selftest/cases/glibc.py b/meta/lib/oeqa/selftest/cases/glibc.py
index c687f6ef93a..be9792330a6 100644
--- a/meta/lib/oeqa/selftest/cases/glibc.py
+++ b/meta/lib/oeqa/selftest/cases/glibc.py
@@ -24,7 +24,7 @@ class GlibcSelfTestBase(OESelftestTestCase, OEPTestResultTestCase):
             features.append('TOOLCHAIN_TEST_HOST_USER = "root"')
             features.append('TOOLCHAIN_TEST_HOST_PORT = "22"')
             # force single threaded test execution
-            features.append('EGLIBCPARALLELISM_task-check_pn-glibc-testsuite = "PARALLELMFLAGS="-j1""')
+            features.append('EGLIBCPARALLELISM_task-check:pn-glibc-testsuite = "PARALLELMFLAGS="-j1""')
         self.write_config("\n".join(features))
 
         bitbake("glibc-testsuite -c check")
diff --git a/meta/lib/oeqa/selftest/cases/imagefeatures.py b/meta/lib/oeqa/selftest/cases/imagefeatures.py
index 2de22d34042..12902add94f 100644
--- a/meta/lib/oeqa/selftest/cases/imagefeatures.py
+++ b/meta/lib/oeqa/selftest/cases/imagefeatures.py
@@ -229,7 +229,7 @@ USERADD_GID_TABLES += "files/static-group"
     def test_no_busybox_base_utils(self):
         config = """
 # Enable wayland
-DISTRO_FEATURES_append += "pam opengl wayland"
+DISTRO_FEATURES:append += "pam opengl wayland"
 
 # Switch to systemd
 DISTRO_FEATURES += "systemd"
diff --git a/meta/lib/oeqa/selftest/cases/incompatible_lic.py b/meta/lib/oeqa/selftest/cases/incompatible_lic.py
index 152da6332ab..93be434650a 100644
--- a/meta/lib/oeqa/selftest/cases/incompatible_lic.py
+++ b/meta/lib/oeqa/selftest/cases/incompatible_lic.py
@@ -85,8 +85,8 @@ class IncompatibleLicenseTests(OESelftestTestCase):
 class IncompatibleLicensePerImageTests(OESelftestTestCase):
     def default_config(self):
         return """
-IMAGE_INSTALL_append = " bash"
-INCOMPATIBLE_LICENSE_pn-core-image-minimal = "GPL-3.0 LGPL-3.0"
+IMAGE_INSTALL:append = " bash"
+INCOMPATIBLE_LICENSE:pn-core-image-minimal = "GPL-3.0 LGPL-3.0"
 """
 
     def test_bash_default(self):
@@ -118,17 +118,17 @@ INCOMPATIBLE_LICENSE_pn-core-image-minimal = "GPL-3.0 LGPL-3.0"
 class NoGPL3InImagesTests(OESelftestTestCase):
     def test_core_image_minimal(self):
         self.write_config("""
-INCOMPATIBLE_LICENSE_pn-core-image-minimal = "GPL-3.0 LGPL-3.0"
+INCOMPATIBLE_LICENSE:pn-core-image-minimal = "GPL-3.0 LGPL-3.0"
 """)
         bitbake('core-image-minimal')
 
     def test_core_image_full_cmdline(self):
         self.write_config("""
 INHERIT += "testimage"\n
-INCOMPATIBLE_LICENSE_pn-core-image-full-cmdline = "GPL-3.0 LGPL-3.0"\n
-RDEPENDS_packagegroup-core-full-cmdline-utils_remove = "bash bc coreutils cpio ed findutils gawk grep mc mc-fish mc-helpers mc-helpers-perl sed tar time"\n
-RDEPENDS_packagegroup-core-full-cmdline-dev-utils_remove = "diffutils m4 make patch"\n
-RDEPENDS_packagegroup-core-full-cmdline-multiuser_remove = "gzip"\n
+INCOMPATIBLE_LICENSE:pn-core-image-full-cmdline = "GPL-3.0 LGPL-3.0"\n
+RDEPENDS:packagegroup-core-full-cmdline-utils:remove = "bash bc coreutils cpio ed findutils gawk grep mc mc-fish mc-helpers mc-helpers-perl sed tar time"\n
+RDEPENDS:packagegroup-core-full-cmdline-dev-utils:remove = "diffutils m4 make patch"\n
+RDEPENDS:packagegroup-core-full-cmdline-multiuser:remove = "gzip"\n
 """)
         bitbake('core-image-full-cmdline')
         bitbake('-c testimage core-image-full-cmdline')
diff --git a/meta/lib/oeqa/selftest/cases/kerneldevelopment.py b/meta/lib/oeqa/selftest/cases/kerneldevelopment.py
index a61876ee61a..b1623a18854 100644
--- a/meta/lib/oeqa/selftest/cases/kerneldevelopment.py
+++ b/meta/lib/oeqa/selftest/cases/kerneldevelopment.py
@@ -58,7 +58,7 @@ class KernelDev(OESelftestTestCase):
         recipe_append = os.path.join(self.recipeskernel_dir, 'linux-yocto_%.bbappend')
         with open(recipe_append, 'w+') as fh:
             fh.write('SRC_URI += "file://%s"\n' % patch_name)
-            fh.write('FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"')
+            fh.write('FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"')
 
         runCmd('bitbake virtual/kernel -c clean')
         runCmd('bitbake virtual/kernel -c patch')
diff --git a/meta/lib/oeqa/selftest/cases/layerappend.py b/meta/lib/oeqa/selftest/cases/layerappend.py
index 05e9426fc68..dadc7c5d28c 100644
--- a/meta/lib/oeqa/selftest/cases/layerappend.py
+++ b/meta/lib/oeqa/selftest/cases/layerappend.py
@@ -30,20 +30,20 @@ python do_build() {
 addtask build
 """
     append = """
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
 
-SRC_URI_append = " file://appendtest.txt"
+SRC_URI:append = " file://appendtest.txt"
 
-sysroot_stage_all_append() {
+sysroot_stage_all:append() {
 	install -m 644 ${WORKDIR}/appendtest.txt ${SYSROOT_DESTDIR}/
 }
 
 """
 
     append2 = """
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
 
-SRC_URI_append = " file://appendtest.txt"
+SRC_URI:append = " file://appendtest.txt"
 """
     layerappend = ''
 
diff --git a/meta/lib/oeqa/selftest/cases/lic_checksum.py b/meta/lib/oeqa/selftest/cases/lic_checksum.py
index bae935d697c..91021ac3350 100644
--- a/meta/lib/oeqa/selftest/cases/lic_checksum.py
+++ b/meta/lib/oeqa/selftest/cases/lic_checksum.py
@@ -21,7 +21,7 @@ class LicenseTests(OESelftestTestCase):
         os.close(lic_file)
         self.track_for_cleanup(lic_path)
 
-        self.write_config("INHERIT_remove = \"report-error\"")
+        self.write_config("INHERIT:remove = \"report-error\"")
 
         self.write_recipeinc('emptytest', """
 INHIBIT_DEFAULT_DEPS = "1"
diff --git a/meta/lib/oeqa/selftest/cases/multiconfig.py b/meta/lib/oeqa/selftest/cases/multiconfig.py
index 39b92f24391..baae9b456f5 100644
--- a/meta/lib/oeqa/selftest/cases/multiconfig.py
+++ b/meta/lib/oeqa/selftest/cases/multiconfig.py
@@ -17,7 +17,7 @@ class MultiConfig(OESelftestTestCase):
         """
 
         config = """
-IMAGE_INSTALL_append_pn-core-image-full-cmdline = " multiconfig-image-packager-tiny multiconfig-image-packager-musl"
+IMAGE_INSTALL:append:pn-core-image-full-cmdline = " multiconfig-image-packager-tiny multiconfig-image-packager-musl"
 BBMULTICONFIG = "tiny musl"
 """
         self.write_config(config)
@@ -52,7 +52,7 @@ TMPDIR = "${TOPDIR}/tmp-mc-tiny"
         self.write_config(config)
 
         testconfig = textwrap.dedent('''\
-                MCTESTVAR_append = "1"
+                MCTESTVAR:append = "1"
                 ''')
         self.write_config(testconfig, 'test')
 
@@ -64,7 +64,7 @@ TMPDIR = "${TOPDIR}/tmp-mc-tiny"
         self.assertIn('MCTESTVAR=test1', result.output.splitlines())
 
         testconfig = textwrap.dedent('''\
-                MCTESTVAR_append = "2"
+                MCTESTVAR:append = "2"
                 ''')
         self.write_config(testconfig, 'test')
 
diff --git a/meta/lib/oeqa/selftest/cases/overlayfs.py b/meta/lib/oeqa/selftest/cases/overlayfs.py
index f679a71182d..0184d52494a 100644
--- a/meta/lib/oeqa/selftest/cases/overlayfs.py
+++ b/meta/lib/oeqa/selftest/cases/overlayfs.py
@@ -27,7 +27,7 @@ OVERLAYFS_MOUNT_POINT[mnt-overlay] = "/mnt/overlay"
         """
 
         config = """
-IMAGE_INSTALL_append = " overlayfs-user"
+IMAGE_INSTALL:append = " overlayfs-user"
 """
         overlayfs_recipe_append = """
 inherit overlayfs
@@ -50,7 +50,7 @@ inherit overlayfs
         """
 
         config = """
-IMAGE_INSTALL_append = " overlayfs-user"
+IMAGE_INSTALL:append = " overlayfs-user"
 DISTRO_FEATURES += "systemd overlayfs"
 """
 
@@ -71,7 +71,7 @@ DISTRO_FEATURES += "systemd overlayfs"
         """
 
         config = """
-IMAGE_INSTALL_append = " overlayfs-user"
+IMAGE_INSTALL:append = " overlayfs-user"
 DISTRO_FEATURES += "systemd overlayfs"
 """
 
@@ -89,7 +89,7 @@ DISTRO_FEATURES += "systemd overlayfs"
         """
 
         config = """
-IMAGE_INSTALL_append = " overlayfs-user"
+IMAGE_INSTALL:append = " overlayfs-user"
 DISTRO_FEATURES += "systemd overlayfs"
 """
 
@@ -113,22 +113,22 @@ OVERLAYFS_MOUNT_POINT[usr-share-overlay] = "/usr/share/overlay"
         """
 
         config = """
-IMAGE_INSTALL_append = " overlayfs-user systemd-machine-units"
+IMAGE_INSTALL:append = " overlayfs-user systemd-machine-units"
 DISTRO_FEATURES += "systemd overlayfs"
 
 # Use systemd as init manager
 VIRTUAL-RUNTIME_init_manager = "systemd"
 
 # enable overlayfs in the kernel
-KERNEL_EXTRA_FEATURES_append = " features/overlayfs/overlayfs.scc"
+KERNEL_EXTRA_FEATURES:append = " features/overlayfs/overlayfs.scc"
 """
 
         systemd_machine_unit_append = """
-SYSTEMD_SERVICE_${PN} += " \
+SYSTEMD_SERVICE:${PN} += " \
     mnt-overlay.mount \
 "
 
-do_install_append() {
+do_install:append() {
     install -d ${D}${systemd_system_unitdir}
     cat <<EOT > ${D}${systemd_system_unitdir}/mnt-overlay.mount
 [Unit]
diff --git a/meta/lib/oeqa/selftest/cases/package.py b/meta/lib/oeqa/selftest/cases/package.py
index 7166c3991f3..cebbb4f3f49 100644
--- a/meta/lib/oeqa/selftest/cases/package.py
+++ b/meta/lib/oeqa/selftest/cases/package.py
@@ -116,9 +116,9 @@ class PackageTests(OESelftestTestCase):
 
     # Verify gdb to read symbols from separated debug hardlink file correctly
     def test_gdb_hardlink_debug(self):
-        features = 'IMAGE_INSTALL_append = " selftest-hardlink"\n'
-        features += 'IMAGE_INSTALL_append = " selftest-hardlink-dbg"\n'
-        features += 'IMAGE_INSTALL_append = " selftest-hardlink-gdb"\n'
+        features = 'IMAGE_INSTALL:append = " selftest-hardlink"\n'
+        features += 'IMAGE_INSTALL:append = " selftest-hardlink-dbg"\n'
+        features += 'IMAGE_INSTALL:append = " selftest-hardlink-gdb"\n'
         self.write_config(features)
         bitbake("core-image-minimal")
 
@@ -151,7 +151,7 @@ class PackageTests(OESelftestTestCase):
 
     def test_preserve_ownership(self):
         import os, stat, oe.cachedpath
-        features = 'IMAGE_INSTALL_append = " selftest-chown"\n'
+        features = 'IMAGE_INSTALL:append = " selftest-chown"\n'
         self.write_config(features)
         bitbake("core-image-minimal")
 
diff --git a/meta/lib/oeqa/selftest/cases/prservice.py b/meta/lib/oeqa/selftest/cases/prservice.py
index 578b2b4dd9c..10158ca7c2e 100644
--- a/meta/lib/oeqa/selftest/cases/prservice.py
+++ b/meta/lib/oeqa/selftest/cases/prservice.py
@@ -40,7 +40,7 @@ class BitbakePrTests(OESelftestTestCase):
         return str(stamps[0])
 
     def increment_package_pr(self, package_name):
-        inc_data = "do_package_append() {\n    bb.build.exec_func('do_test_prserv', d)\n}\ndo_test_prserv() {\necho \"The current date is: %s\" > ${PKGDESTWORK}/${PN}.datestamp\n}" % datetime.datetime.now()
+        inc_data = "do_package:append() {\n    bb.build.exec_func('do_test_prserv', d)\n}\ndo_test_prserv() {\necho \"The current date is: %s\" > ${PKGDESTWORK}/${PN}.datestamp\n}" % datetime.datetime.now()
         self.write_recipeinc(package_name, inc_data)
         res = bitbake(package_name, ignore_status=True)
         self.delete_recipeinc(package_name)
diff --git a/meta/lib/oeqa/selftest/cases/recipetool.py b/meta/lib/oeqa/selftest/cases/recipetool.py
index f0685d37182..3b99417e841 100644
--- a/meta/lib/oeqa/selftest/cases/recipetool.py
+++ b/meta/lib/oeqa/selftest/cases/recipetool.py
@@ -94,7 +94,7 @@ class RecipetoolTests(RecipetoolBase):
 
     def test_recipetool_appendfile_basic(self):
         # Basic test
-        expectedlines = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n',
+        expectedlines = ['FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"\n',
                         '\n']
         _, output = self._try_recipetool_appendfile('base-files', '/etc/motd', self.testfile, '', expectedlines, ['motd'])
         self.assertNotIn('WARNING: ', output)
@@ -112,11 +112,11 @@ class RecipetoolTests(RecipetoolBase):
         # Need a test file - should be executable
         testfile2 = os.path.join(self.corebase, 'oe-init-build-env')
         testfile2name = os.path.basename(testfile2)
-        expectedlines = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n',
+        expectedlines = ['FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"\n',
                          '\n',
                          'SRC_URI += "file://%s"\n' % testfile2name,
                          '\n',
-                         'do_install_append() {\n',
+                         'do_install:append() {\n',
                          '    install -d ${D}${base_bindir}\n',
                          '    install -m 0755 ${WORKDIR}/%s ${D}${base_bindir}/ls\n' % testfile2name,
                          '}\n']
@@ -138,11 +138,11 @@ class RecipetoolTests(RecipetoolBase):
 
     def test_recipetool_appendfile_add(self):
         # Try arbitrary file add to a recipe
-        expectedlines = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n',
+        expectedlines = ['FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"\n',
                          '\n',
                          'SRC_URI += "file://testfile"\n',
                          '\n',
-                         'do_install_append() {\n',
+                         'do_install:append() {\n',
                          '    install -d ${D}${datadir}\n',
                          '    install -m 0644 ${WORKDIR}/testfile ${D}${datadir}/something\n',
                          '}\n']
@@ -151,13 +151,13 @@ class RecipetoolTests(RecipetoolBase):
         # (so we're testing that, plus modifying an existing bbappend)
         testfile2 = os.path.join(self.corebase, 'oe-init-build-env')
         testfile2name = os.path.basename(testfile2)
-        expectedlines = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n',
+        expectedlines = ['FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"\n',
                          '\n',
                          'SRC_URI += "file://testfile \\\n',
                          '            file://%s \\\n' % testfile2name,
                          '            "\n',
                          '\n',
-                         'do_install_append() {\n',
+                         'do_install:append() {\n',
                          '    install -d ${D}${datadir}\n',
                          '    install -m 0644 ${WORKDIR}/testfile ${D}${datadir}/something\n',
                          '    install -m 0755 ${WORKDIR}/%s ${D}${datadir}/scriptname\n' % testfile2name,
@@ -166,11 +166,11 @@ class RecipetoolTests(RecipetoolBase):
 
     def test_recipetool_appendfile_add_bindir(self):
         # Try arbitrary file add to a recipe, this time to a location such that should be installed as executable
-        expectedlines = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n',
+        expectedlines = ['FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"\n',
                          '\n',
                          'SRC_URI += "file://testfile"\n',
                          '\n',
-                         'do_install_append() {\n',
+                         'do_install:append() {\n',
                          '    install -d ${D}${bindir}\n',
                          '    install -m 0755 ${WORKDIR}/testfile ${D}${bindir}/selftest-recipetool-testbin\n',
                          '}\n']
@@ -179,13 +179,13 @@ class RecipetoolTests(RecipetoolBase):
 
     def test_recipetool_appendfile_add_machine(self):
         # Try arbitrary file add to a recipe, this time to a location such that should be installed as executable
-        expectedlines = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n',
+        expectedlines = ['FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"\n',
                          '\n',
                          'PACKAGE_ARCH = "${MACHINE_ARCH}"\n',
                          '\n',
-                         'SRC_URI_append_mymachine = " file://testfile"\n',
+                         'SRC_URI:append_mymachine = " file://testfile"\n',
                          '\n',
-                         'do_install_append_mymachine() {\n',
+                         'do_install:append_mymachine() {\n',
                          '    install -d ${D}${datadir}\n',
                          '    install -m 0644 ${WORKDIR}/testfile ${D}${datadir}/something\n',
                          '}\n']
@@ -194,32 +194,32 @@ class RecipetoolTests(RecipetoolBase):
 
     def test_recipetool_appendfile_orig(self):
         # A file that's in SRC_URI and in do_install with the same name
-        expectedlines = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n',
+        expectedlines = ['FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"\n',
                          '\n']
         _, output = self._try_recipetool_appendfile('selftest-recipetool-appendfile', '/usr/share/selftest-replaceme-orig', self.testfile, '', expectedlines, ['selftest-replaceme-orig'])
         self.assertNotIn('WARNING: ', output)
 
     def test_recipetool_appendfile_todir(self):
         # A file that's in SRC_URI and in do_install with destination directory rather than file
-        expectedlines = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n',
+        expectedlines = ['FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"\n',
                          '\n']
         _, output = self._try_recipetool_appendfile('selftest-recipetool-appendfile', '/usr/share/selftest-replaceme-todir', self.testfile, '', expectedlines, ['selftest-replaceme-todir'])
         self.assertNotIn('WARNING: ', output)
 
     def test_recipetool_appendfile_renamed(self):
         # A file that's in SRC_URI with a different name to the destination file
-        expectedlines = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n',
+        expectedlines = ['FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"\n',
                          '\n']
         _, output = self._try_recipetool_appendfile('selftest-recipetool-appendfile', '/usr/share/selftest-replaceme-renamed', self.testfile, '', expectedlines, ['file1'])
         self.assertNotIn('WARNING: ', output)
 
     def test_recipetool_appendfile_subdir(self):
         # A file that's in SRC_URI in a subdir
-        expectedlines = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n',
+        expectedlines = ['FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"\n',
                          '\n',
                          'SRC_URI += "file://testfile"\n',
                          '\n',
-                         'do_install_append() {\n',
+                         'do_install:append() {\n',
                          '    install -d ${D}${datadir}\n',
                          '    install -m 0644 ${WORKDIR}/testfile ${D}${datadir}/selftest-replaceme-subdir\n',
                          '}\n']
@@ -228,25 +228,25 @@ class RecipetoolTests(RecipetoolBase):
 
     def test_recipetool_appendfile_inst_glob(self):
         # A file that's in do_install as a glob
-        expectedlines = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n',
+        expectedlines = ['FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"\n',
                          '\n']
         _, output = self._try_recipetool_appendfile('selftest-recipetool-appendfile', '/usr/share/selftest-replaceme-inst-globfile', self.testfile, '', expectedlines, ['selftest-replaceme-inst-globfile'])
         self.assertNotIn('WARNING: ', output)
 
     def test_recipetool_appendfile_inst_todir_glob(self):
         # A file that's in do_install as a glob with destination as a directory
-        expectedlines = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n',
+        expectedlines = ['FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"\n',
                          '\n']
         _, output = self._try_recipetool_appendfile('selftest-recipetool-appendfile', '/usr/share/selftest-replaceme-inst-todir-globfile', self.testfile, '', expectedlines, ['selftest-replaceme-inst-todir-globfile'])
         self.assertNotIn('WARNING: ', output)
 
     def test_recipetool_appendfile_patch(self):
         # A file that's added by a patch in SRC_URI
-        expectedlines = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n',
+        expectedlines = ['FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"\n',
                          '\n',
                          'SRC_URI += "file://testfile"\n',
                          '\n',
-                         'do_install_append() {\n',
+                         'do_install:append() {\n',
                          '    install -d ${D}${sysconfdir}\n',
                          '    install -m 0644 ${WORKDIR}/testfile ${D}${sysconfdir}/selftest-replaceme-patched\n',
                          '}\n']
@@ -260,11 +260,11 @@ class RecipetoolTests(RecipetoolBase):
 
     def test_recipetool_appendfile_script(self):
         # Now, a file that's in SRC_URI but installed by a script (so no mention in do_install)
-        expectedlines = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n',
+        expectedlines = ['FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"\n',
                          '\n',
                          'SRC_URI += "file://testfile"\n',
                          '\n',
-                         'do_install_append() {\n',
+                         'do_install:append() {\n',
                          '    install -d ${D}${datadir}\n',
                          '    install -m 0644 ${WORKDIR}/testfile ${D}${datadir}/selftest-replaceme-scripted\n',
                          '}\n']
@@ -273,7 +273,7 @@ class RecipetoolTests(RecipetoolBase):
 
     def test_recipetool_appendfile_inst_func(self):
         # A file that's installed from a function called by do_install
-        expectedlines = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n',
+        expectedlines = ['FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"\n',
                          '\n']
         _, output = self._try_recipetool_appendfile('selftest-recipetool-appendfile', '/usr/share/selftest-replaceme-inst-func', self.testfile, '', expectedlines, ['selftest-replaceme-inst-func'])
         self.assertNotIn('WARNING: ', output)
@@ -283,11 +283,11 @@ class RecipetoolTests(RecipetoolBase):
         # First try without specifying recipe
         self._try_recipetool_appendfile_fail('/usr/share/selftest-replaceme-postinst', self.testfile, ['File /usr/share/selftest-replaceme-postinst may be written out in a pre/postinstall script of the following recipes:', 'selftest-recipetool-appendfile'])
         # Now specify recipe
-        expectedlines = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n',
+        expectedlines = ['FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"\n',
                          '\n',
                          'SRC_URI += "file://testfile"\n',
                          '\n',
-                         'do_install_append() {\n',
+                         'do_install:append() {\n',
                          '    install -d ${D}${datadir}\n',
                          '    install -m 0644 ${WORKDIR}/testfile ${D}${datadir}/selftest-replaceme-postinst\n',
                          '}\n']
@@ -430,10 +430,10 @@ class RecipetoolTests(RecipetoolBase):
         urls.append('npmsw://${THISDIR}/${BPN}/npm-shrinkwrap.json')
         checkvars['SRC_URI'] = set(urls)
         checkvars['S'] = '${WORKDIR}/npm'
-        checkvars['LICENSE_${PN}'] = 'MIT'
-        checkvars['LICENSE_${PN}-base64'] = 'Unknown'
-        checkvars['LICENSE_${PN}-accepts'] = 'MIT'
-        checkvars['LICENSE_${PN}-inherits'] = 'ISC'
+        checkvars['LICENSE:${PN}'] = 'MIT'
+        checkvars['LICENSE:${PN}-base64'] = 'Unknown'
+        checkvars['LICENSE:${PN}-accepts'] = 'MIT'
+        checkvars['LICENSE:${PN}-inherits'] = 'ISC'
         inherits = ['npm']
         self._test_recipe_contents(recipefile, checkvars, inherits)
 
@@ -620,7 +620,7 @@ class RecipetoolAppendsrcBase(RecipetoolBase):
             else:
                 destpath = '.' + os.sep
 
-        expectedlines = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n',
+        expectedlines = ['FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"\n',
                          '\n']
         if has_src_uri:
             uri = 'file://%s' % filename
diff --git a/meta/lib/oeqa/selftest/cases/recipeutils.py b/meta/lib/oeqa/selftest/cases/recipeutils.py
index 747870383b6..97edad88b57 100644
--- a/meta/lib/oeqa/selftest/cases/recipeutils.py
+++ b/meta/lib/oeqa/selftest/cases/recipeutils.py
@@ -52,7 +52,7 @@ class RecipeUtilsTests(OESelftestTestCase):
 +SRC_URI[md5sum] = "aaaaaa"
  SRC_URI[sha256sum] = "ac6894d876e45878faae493b0cf61d0e28ec417334448ac0a6ea2229d8343051"
  
- RDEPENDS_${PN} += "${PYTHON_PN}-threading"
+ RDEPENDS:${PN} += "${PYTHON_PN}-threading"
 """
         patchlines = []
         for f in patches:
@@ -80,7 +80,7 @@ class RecipeUtilsTests(OESelftestTestCase):
  
 -SRC_URI += "file://somefile"
 -
- SRC_URI_append = " file://anotherfile"
+ SRC_URI:append = " file://anotherfile"
 """
         patchlines = []
         for f in patches:
@@ -105,7 +105,7 @@ class RecipeUtilsTests(OESelftestTestCase):
  
 -SRC_URI += "file://somefile"
 -
--SRC_URI_append = " file://anotherfile"
+-SRC_URI:append = " file://anotherfile"
 """
         patchlines = []
         for f in patches:
diff --git a/meta/lib/oeqa/selftest/cases/reproducible.py b/meta/lib/oeqa/selftest/cases/reproducible.py
index a62757399b9..910ef0d301a 100644
--- a/meta/lib/oeqa/selftest/cases/reproducible.py
+++ b/meta/lib/oeqa/selftest/cases/reproducible.py
@@ -220,7 +220,7 @@ class ReproducibleTests(OESelftestTestCase):
             INHIBIT_PACKAGE_STRIP = "1"
             TMPDIR = "{tmpdir}"
             LICENSE_FLAGS_WHITELIST = "commercial"
-            DISTRO_FEATURES_append = ' systemd pam'
+            DISTRO_FEATURES:append = ' systemd pam'
             USERADDEXTENSION = "useradd-staticids"
             USERADD_ERROR_DYNAMIC = "skip"
             USERADD_UID_TABLES += "files/static-passwd"
diff --git a/meta/lib/oeqa/selftest/cases/runtime_test.py b/meta/lib/oeqa/selftest/cases/runtime_test.py
index d0c24407226..4cfec94d85b 100644
--- a/meta/lib/oeqa/selftest/cases/runtime_test.py
+++ b/meta/lib/oeqa/selftest/cases/runtime_test.py
@@ -120,7 +120,7 @@ class TestImage(OESelftestTestCase):
             self.skipTest('core-image-full-cmdline not buildable for poky-tiny')
 
         features = 'INHERIT += "testimage"\n'
-        features += 'IMAGE_INSTALL_append = " libssl"\n'
+        features += 'IMAGE_INSTALL:append = " libssl"\n'
         features += 'TEST_SUITES = "ping ssh selftest"\n'
         self.write_config(features)
 
@@ -186,14 +186,14 @@ class TestImage(OESelftestTestCase):
         qemu_distrofeatures = get_bb_var('DISTRO_FEATURES', 'qemu-system-native')
         features = 'INHERIT += "testimage"\n'
         if 'gtk+' not in qemu_packageconfig:
-            features += 'PACKAGECONFIG_append_pn-qemu-system-native = " gtk+"\n'
+            features += 'PACKAGECONFIG:append:pn-qemu-system-native = " gtk+"\n'
         if 'sdl' not in qemu_packageconfig:
-            features += 'PACKAGECONFIG_append_pn-qemu-system-native = " sdl"\n'
+            features += 'PACKAGECONFIG:append:pn-qemu-system-native = " sdl"\n'
         if 'opengl' not in qemu_distrofeatures:
-            features += 'DISTRO_FEATURES_append = " opengl"\n'
+            features += 'DISTRO_FEATURES:append = " opengl"\n'
         features += 'TEST_SUITES = "ping ssh virgl"\n'
-        features += 'IMAGE_FEATURES_append = " ssh-server-dropbear"\n'
-        features += 'IMAGE_INSTALL_append = " kmscube"\n'
+        features += 'IMAGE_FEATURES:append = " ssh-server-dropbear"\n'
+        features += 'IMAGE_INSTALL:append = " kmscube"\n'
         features_gtk = features + 'TEST_RUNQEMUPARAMS = "gtk gl"\n'
         self.write_config(features_gtk)
         bitbake('core-image-minimal')
@@ -225,10 +225,10 @@ class TestImage(OESelftestTestCase):
         qemu_distrofeatures = get_bb_var('DISTRO_FEATURES', 'qemu-system-native')
         features = 'INHERIT += "testimage"\n'
         if 'opengl' not in qemu_distrofeatures:
-            features += 'DISTRO_FEATURES_append = " opengl"\n'
+            features += 'DISTRO_FEATURES:append = " opengl"\n'
         features += 'TEST_SUITES = "ping ssh virgl"\n'
-        features += 'IMAGE_FEATURES_append = " ssh-server-dropbear"\n'
-        features += 'IMAGE_INSTALL_append = " kmscube"\n'
+        features += 'IMAGE_FEATURES:append = " ssh-server-dropbear"\n'
+        features += 'IMAGE_INSTALL:append = " kmscube"\n'
         features += 'TEST_RUNQEMUPARAMS = "egl-headless"\n'
         self.write_config(features)
         bitbake('core-image-minimal')
@@ -254,7 +254,7 @@ class Postinst(OESelftestTestCase):
                 features += 'IMAGE_FEATURES += "package-management empty-root-password"\n'
                 features += 'PACKAGE_CLASSES = "%s"\n' % classes
                 if init_manager == "systemd":
-                    features += 'DISTRO_FEATURES_append = " systemd"\n'
+                    features += 'DISTRO_FEATURES:append = " systemd"\n'
                     features += 'VIRTUAL-RUNTIME_init_manager = "systemd"\n'
                     features += 'DISTRO_FEATURES_BACKFILL_CONSIDERED = "sysvinit"\n'
                     features += 'VIRTUAL-RUNTIME_initscripts = ""\n'
@@ -371,14 +371,14 @@ TEST_SERVER_IP = "192.168.7.1"
 TEST_TARGET_IP = "192.168.7.2"
 
 EXTRA_IMAGE_FEATURES += "tools-profile dbg-pkgs"
-IMAGE_FEATURES_append = " ssh-server-dropbear"
+IMAGE_FEATURES:append = " ssh-server-dropbear"
 
 # enables kernel debug symbols
-KERNEL_EXTRA_FEATURES_append = " features/debug/debug-kernel.scc"
-KERNEL_EXTRA_FEATURES_append = " features/systemtap/systemtap.scc"
+KERNEL_EXTRA_FEATURES:append = " features/debug/debug-kernel.scc"
+KERNEL_EXTRA_FEATURES:append = " features/systemtap/systemtap.scc"
 
 # add systemtap run-time into target image if it is not there yet
-IMAGE_INSTALL_append = " systemtap-runtime"
+IMAGE_INSTALL:append = " systemtap-runtime"
 """
 
         def test_crosstap_helloworld(self):
diff --git a/meta/lib/oeqa/selftest/cases/signing.py b/meta/lib/oeqa/selftest/cases/signing.py
index a28c7eb19a1..af7a0b8b458 100644
--- a/meta/lib/oeqa/selftest/cases/signing.py
+++ b/meta/lib/oeqa/selftest/cases/signing.py
@@ -145,7 +145,7 @@ class Signing(OESelftestTestCase):
         feature += 'GPG_PATH = "%s"\n' % self.gpg_dir
         feature += 'SSTATE_DIR = "%s"\n' % sstatedir
         # Any mirror might have partial sstate without .sig files, triggering failures
-        feature += 'SSTATE_MIRRORS_forcevariable = ""\n'
+        feature += 'SSTATE_MIRRORS:forcevariable = ""\n'
 
         self.write_config(feature)
 
@@ -206,7 +206,7 @@ class LockedSignatures(OESelftestTestCase):
         # Use uuid so hash equivalance server isn't triggered
         recipe_append_file = test_recipe + '_' + get_bb_var('PV', test_recipe) + '.bbappend'
         recipe_append_path = os.path.join(templayerdir, 'recipes-test', test_recipe, recipe_append_file)
-        feature = 'SUMMARY_${PN} = "test locked signature%s"\n' % uuid.uuid4()
+        feature = 'SUMMARY:${PN} = "test locked signature%s"\n' % uuid.uuid4()
 
         os.mkdir(os.path.join(templayerdir, 'recipes-test'))
         os.mkdir(os.path.join(templayerdir, 'recipes-test', test_recipe))
diff --git a/meta/lib/oeqa/selftest/cases/sstatetests.py b/meta/lib/oeqa/selftest/cases/sstatetests.py
index 9db2a0bb44e..17a15455065 100644
--- a/meta/lib/oeqa/selftest/cases/sstatetests.py
+++ b/meta/lib/oeqa/selftest/cases/sstatetests.py
@@ -174,7 +174,7 @@ class SStateTests(SStateBase):
 
         # If buildhistory is enabled, we need to disable version-going-backwards
         # QA checks for this test. It may report errors otherwise.
-        self.append_config('ERROR_QA_remove = "version-going-backwards"')
+        self.append_config('ERROR_QA:remove = "version-going-backwards"')
 
         # For not this only checks if random sstate tasks are handled correctly as a group.
         # In the future we should add control over what tasks we check for.
@@ -360,7 +360,7 @@ TCLIBCAPPEND = \"\"
 MACHINE = \"qemux86-64\"
 require conf/multilib.conf
 MULTILIBS = \"multilib:lib32\"
-DEFAULTTUNE_virtclass-multilib-lib32 = \"x86\"
+DEFAULTTUNE:virtclass-multilib-lib32 = \"x86\"
 BB_SIGNATURE_HANDLER = "OEBasicHash"
 """
         configB = """
@@ -414,7 +414,7 @@ TCLIBCAPPEND = \"\"
 MACHINE = \"qemux86\"
 require conf/multilib.conf
 MULTILIBS = "multilib:lib32"
-DEFAULTTUNE_virtclass-multilib-lib32 = "x86"
+DEFAULTTUNE:virtclass-multilib-lib32 = "x86"
 BB_SIGNATURE_HANDLER = "OEBasicHash"
 """)
         self.track_for_cleanup(self.topdir + "/tmp-sstatesamehash")
@@ -425,7 +425,7 @@ TCLIBCAPPEND = \"\"
 MACHINE = \"qemux86copy\"
 require conf/multilib.conf
 MULTILIBS = "multilib:lib32"
-DEFAULTTUNE_virtclass-multilib-lib32 = "x86"
+DEFAULTTUNE:virtclass-multilib-lib32 = "x86"
 BB_SIGNATURE_HANDLER = "OEBasicHash"
 """)
         self.track_for_cleanup(self.topdir + "/tmp-sstatesamehash2")
@@ -462,7 +462,7 @@ TCLIBCAPPEND = \"\"
 MACHINE = \"qemux86\"
 require conf/multilib.conf
 MULTILIBS = "multilib:lib32"
-DEFAULTTUNE_virtclass-multilib-lib32 = "x86"
+DEFAULTTUNE:virtclass-multilib-lib32 = "x86"
 BB_SIGNATURE_HANDLER = "OEBasicHash"
 """)
         self.track_for_cleanup(self.topdir + "/tmp-sstatesamehash")
@@ -503,7 +503,7 @@ PARALLEL_MAKE = "-j 1"
 DL_DIR = "${TOPDIR}/download1"
 TIME = "111111"
 DATE = "20161111"
-INHERIT_remove = "buildstats-summary buildhistory uninative"
+INHERIT:remove = "buildstats-summary buildhistory uninative"
 http_proxy = ""
 BB_SIGNATURE_HANDLER = "OEBasicHash"
 """)
@@ -519,7 +519,7 @@ DL_DIR = "${TOPDIR}/download2"
 TIME = "222222"
 DATE = "20161212"
 # Always remove uninative as we're changing proxies
-INHERIT_remove = "uninative"
+INHERIT:remove = "uninative"
 INHERIT += "buildstats-summary buildhistory"
 http_proxy = "http://example.com/"
 BB_SIGNATURE_HANDLER = "OEBasicHash"
diff --git a/meta/lib/oeqa/selftest/cases/sysroot.py b/meta/lib/oeqa/selftest/cases/sysroot.py
index 6e34927c909..79ab45235da 100644
--- a/meta/lib/oeqa/selftest/cases/sysroot.py
+++ b/meta/lib/oeqa/selftest/cases/sysroot.py
@@ -24,14 +24,14 @@ class SysrootTests(OESelftestTestCase):
         self.write_config("""
 PREFERRED_PROVIDER_virtual/sysroot-test = "sysroot-test-arch1"
 MACHINE = "qemux86"
-TESTSTRING_pn-sysroot-test-arch1 = "%s"
-TESTSTRING_pn-sysroot-test-arch2 = "%s"
+TESTSTRING:pn-sysroot-test-arch1 = "%s"
+TESTSTRING:pn-sysroot-test-arch2 = "%s"
 """ % (uuid1, uuid2))
         bitbake("sysroot-test")
         self.write_config("""
 PREFERRED_PROVIDER_virtual/sysroot-test = "sysroot-test-arch2"
 MACHINE = "qemux86copy"
-TESTSTRING_pn-sysroot-test-arch1 = "%s"
-TESTSTRING_pn-sysroot-test-arch2 = "%s"
+TESTSTRING:pn-sysroot-test-arch1 = "%s"
+TESTSTRING:pn-sysroot-test-arch2 = "%s"
 """ % (uuid1, uuid2))
         bitbake("sysroot-test")
diff --git a/meta/lib/oeqa/selftest/cases/tinfoil.py b/meta/lib/oeqa/selftest/cases/tinfoil.py
index a51c6048d36..51092805d8f 100644
--- a/meta/lib/oeqa/selftest/cases/tinfoil.py
+++ b/meta/lib/oeqa/selftest/cases/tinfoil.py
@@ -173,8 +173,8 @@ class TinfoilTests(OESelftestTestCase):
             self.assertEqual(value, 'origvalue', 'Variable renamed using config_data.renameVar() does not appear with new name')
             # Test overrides
             tinfoil.config_data.setVar('TESTVAR', 'original')
-            tinfoil.config_data.setVar('TESTVAR_overrideone', 'one')
-            tinfoil.config_data.setVar('TESTVAR_overridetwo', 'two')
+            tinfoil.config_data.setVar('TESTVAR:overrideone', 'one')
+            tinfoil.config_data.setVar('TESTVAR:overridetwo', 'two')
             tinfoil.config_data.appendVar('OVERRIDES', ':overrideone')
             value = tinfoil.config_data.getVar('TESTVAR')
             self.assertEqual(value, 'one', 'Variable overrides not functioning correctly')
diff --git a/meta/lib/oeqa/selftest/cases/wic.py b/meta/lib/oeqa/selftest/cases/wic.py
index a11e2d07810..32044e74d09 100644
--- a/meta/lib/oeqa/selftest/cases/wic.py
+++ b/meta/lib/oeqa/selftest/cases/wic.py
@@ -189,8 +189,8 @@ class Wic(WicTestCase):
     def test_iso_image(self):
         """Test creation of hybrid iso image with legacy and EFI boot"""
         config = 'INITRAMFS_IMAGE = "core-image-minimal-initramfs"\n'\
-                 'MACHINE_FEATURES_append = " efi"\n'\
-                 'DEPENDS_pn-core-image-minimal += "syslinux"\n'
+                 'MACHINE_FEATURES:append = " efi"\n'\
+                 'DEPENDS:pn-core-image-minimal += "syslinux"\n'
         self.append_config(config)
         bitbake('core-image-minimal core-image-minimal-initramfs')
         self.remove_config(config)
@@ -216,7 +216,7 @@ class Wic(WicTestCase):
     @only_for_arch(['i586', 'i686', 'x86_64'])
     def test_bootloader_config(self):
         """Test creation of directdisk-bootloader-config image"""
-        config = 'DEPENDS_pn-core-image-minimal += "syslinux"\n'
+        config = 'DEPENDS:pn-core-image-minimal += "syslinux"\n'
         self.append_config(config)
         bitbake('core-image-minimal')
         self.remove_config(config)
@@ -227,7 +227,7 @@ class Wic(WicTestCase):
     @only_for_arch(['i586', 'i686', 'x86_64'])
     def test_systemd_bootdisk(self):
         """Test creation of systemd-bootdisk image"""
-        config = 'MACHINE_FEATURES_append = " efi"\n'
+        config = 'MACHINE_FEATURES:append = " efi"\n'
         self.append_config(config)
         bitbake('core-image-minimal')
         self.remove_config(config)
@@ -259,7 +259,7 @@ class Wic(WicTestCase):
         """Test default output location"""
         for fname in glob("directdisk-*.direct"):
             os.remove(fname)
-        config = 'DEPENDS_pn-core-image-minimal += "syslinux"\n'
+        config = 'DEPENDS:pn-core-image-minimal += "syslinux"\n'
         self.append_config(config)
         bitbake('core-image-minimal')
         self.remove_config(config)
@@ -757,7 +757,7 @@ class Wic2(WicTestCase):
     def test_wic_image_type(self):
         """Test building wic images by bitbake"""
         config = 'IMAGE_FSTYPES += "wic"\nWKS_FILE = "wic-image-minimal"\n'\
-                 'MACHINE_FEATURES_append = " efi"\n'
+                 'MACHINE_FEATURES:append = " efi"\n'
         self.append_config(config)
         self.assertEqual(0, bitbake('wic-image-minimal').status)
         self.remove_config(config)
@@ -777,7 +777,7 @@ class Wic2(WicTestCase):
     def test_qemu(self):
         """Test wic-image-minimal under qemu"""
         config = 'IMAGE_FSTYPES += "wic"\nWKS_FILE = "wic-image-minimal"\n'\
-                 'MACHINE_FEATURES_append = " efi"\n'
+                 'MACHINE_FEATURES:append = " efi"\n'
         self.append_config(config)
         self.assertEqual(0, bitbake('wic-image-minimal').status)
         self.remove_config(config)
diff --git a/meta/recipes-bsp/acpid/acpid.inc b/meta/recipes-bsp/acpid/acpid.inc
index 1e43e7a9db0..f48e519088f 100644
--- a/meta/recipes-bsp/acpid/acpid.inc
+++ b/meta/recipes-bsp/acpid/acpid.inc
@@ -22,9 +22,9 @@ inherit autotools update-rc.d systemd
 INITSCRIPT_NAME = "acpid"
 INITSCRIPT_PARAMS = "defaults"
 
-SYSTEMD_SERVICE_${PN} = "acpid.service"
+SYSTEMD_SERVICE:${PN} = "acpid.service"
 
-do_install_append () {
+do_install:append () {
 	install -d ${D}${sysconfdir}/init.d
 	sed -e 's,/usr/sbin,${sbindir},g' ${WORKDIR}/init > ${D}${sysconfdir}/init.d/acpid
 	chmod 755 ${D}${sysconfdir}/init.d/acpid
diff --git a/meta/recipes-bsp/alsa-state/alsa-state.bb b/meta/recipes-bsp/alsa-state/alsa-state.bb
index cec2272c80c..df546633f1b 100644
--- a/meta/recipes-bsp/alsa-state/alsa-state.bb
+++ b/meta/recipes-bsp/alsa-state/alsa-state.bb
@@ -49,15 +49,15 @@ do_install() {
 
 PACKAGES += "alsa-states"
 
-RRECOMMENDS_alsa-state = "alsa-states"
+RRECOMMENDS:alsa-state = "alsa-states"
 
-RDEPENDS_${PN} = "alsa-utils-alsactl"
-FILES_${PN} = "${sysconfdir}/init.d ${sysconfdir}/asound.conf"
-CONFFILES_${PN} = "${sysconfdir}/asound.conf"
+RDEPENDS:${PN} = "alsa-utils-alsactl"
+FILES:${PN} = "${sysconfdir}/init.d ${sysconfdir}/asound.conf"
+CONFFILES:${PN} = "${sysconfdir}/asound.conf"
 
-FILES_alsa-states = "${localstatedir}/lib/alsa/*.state"
+FILES:alsa-states = "${localstatedir}/lib/alsa/*.state"
 
-pkg_postinst_${PN}() {
+pkg_postinst:${PN}() {
 	if test -z "$D"
 	then
 		if test -x ${sbindir}/alsactl
diff --git a/meta/recipes-bsp/apmd/apmd_3.2.2-15.bb b/meta/recipes-bsp/apmd/apmd_3.2.2-15.bb
index 82c2649340e..5368abfda63 100644
--- a/meta/recipes-bsp/apmd/apmd_3.2.2-15.bb
+++ b/meta/recipes-bsp/apmd/apmd_3.2.2-15.bb
@@ -36,7 +36,7 @@ inherit update-rc.d systemd
 INITSCRIPT_NAME = "apmd"
 INITSCRIPT_PARAMS = "defaults"
 
-SYSTEMD_SERVICE_${PN} = "apmd.service"
+SYSTEMD_SERVICE:${PN} = "apmd.service"
 SYSTEMD_AUTO_ENABLE = "disable"
 
 EXTRA_OEMAKE = "-e MAKEFLAGS="
@@ -81,5 +81,5 @@ do_install() {
 
 PACKAGES =+ "libapm apm"
 
-FILES_libapm = "${libdir}/libapm${SOLIBS}"
-FILES_apm = "${bindir}/apm*"
+FILES:libapm = "${libdir}/libapm${SOLIBS}"
+FILES:apm = "${bindir}/apm*"
diff --git a/meta/recipes-bsp/efivar/efivar_37.bb b/meta/recipes-bsp/efivar/efivar_37.bb
index 5bf121ff6e1..b11f1539a2d 100644
--- a/meta/recipes-bsp/efivar/efivar_37.bb
+++ b/meta/recipes-bsp/efivar/efivar_37.bb
@@ -22,7 +22,7 @@ export CCLD_FOR_BUILD = "${BUILD_CCLD}"
 # enforce BFD.
 LDFLAGS += "-fuse-ld=bfd"
 
-do_compile_prepend() {
+do_compile:prepend() {
     # Remove when https://github.com/rhboot/efivar/issues/130 is fixed
     oe_runmake \
         CFLAGS="${BUILD_CFLAGS}" \
@@ -36,6 +36,6 @@ do_install() {
 
 BBCLASSEXTEND = "native"
 
-RRECOMMENDS_${PN}_class-target = "kernel-module-efivarfs"
+RRECOMMENDS:${PN}:class-target = "kernel-module-efivarfs"
 
 CLEANBROKEN = "1"
diff --git a/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.13.bb b/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.13.bb
index fa9886037cc..ef3061c067e 100644
--- a/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.13.bb
+++ b/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.13.bb
@@ -22,9 +22,9 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/files/${BP}.tar.bz2 \
 SRC_URI[sha256sum] = "2fccf715279c46ee69c4859186af8150d07a13f4d19876e5459cd65be82d3b7d"
 
 COMPATIBLE_HOST = "(x86_64.*|i.86.*|aarch64.*|arm.*)-linux"
-COMPATIBLE_HOST_armv4 = 'null'
+COMPATIBLE_HOST:armv4 = 'null'
 
-do_configure_linux-gnux32_prepend() {
+do_configure:linux-gnux32:prepend() {
 	cp ${STAGING_INCDIR}/gnu/stubs-x32.h ${STAGING_INCDIR}/gnu/stubs-64.h
 	cp ${STAGING_INCDIR}/bits/long-double-32.h ${STAGING_INCDIR}/bits/long-double-64.h
 }
@@ -48,18 +48,18 @@ do_install() {
         oe_runmake install INSTALLROOT="${D}"
 }
 
-FILES_${PN} += "${libdir}/*.lds"
+FILES:${PN} += "${libdir}/*.lds"
 
 # 64-bit binaries are expected for EFI when targeting X32
-INSANE_SKIP_${PN}-dev_append_linux-gnux32 = " arch"
-INSANE_SKIP_${PN}-dev_append_linux-muslx32 = " arch"
+INSANE_SKIP:${PN}-dev:append:linux-gnux32 = " arch"
+INSANE_SKIP:${PN}-dev:append:linux-muslx32 = " arch"
 
 BBCLASSEXTEND = "native"
 
 # It doesn't support sse, its make.defaults sets:
 # CFLAGS += -mno-mmx -mno-sse
 # So also remove -mfpmath=sse from TUNE_CCARGS
-TUNE_CCARGS_remove = "-mfpmath=sse"
+TUNE_CCARGS:remove = "-mfpmath=sse"
 
 python () {
     ccargs = d.getVar('TUNE_CCARGS').split()
diff --git a/meta/recipes-bsp/grub/grub-bootconf_1.00.bb b/meta/recipes-bsp/grub/grub-bootconf_1.00.bb
index 572580313b2..151e601fd20 100644
--- a/meta/recipes-bsp/grub/grub-bootconf_1.00.bb
+++ b/meta/recipes-bsp/grub/grub-bootconf_1.00.bb
@@ -5,7 +5,7 @@ DESCRIPTION = "Grub might require different configuration file for \
 different machines."
 HOMEPAGE = "https://www.gnu.org/software/grub/manual/grub/grub.html#Configuration"
 
-RPROVIDES_${PN} += "virtual/grub-bootconf"
+RPROVIDES:${PN} += "virtual/grub-bootconf"
 
 inherit grub-efi-cfg
 
@@ -29,4 +29,4 @@ do_install() {
 	install grub-bootconf ${D}${EFI_FILES_PATH}/grub.cfg
 }
 
-FILES_${PN} = "${EFI_FILES_PATH}/grub.cfg"
+FILES:${PN} = "${EFI_FILES_PATH}/grub.cfg"
diff --git a/meta/recipes-bsp/grub/grub-efi_2.06.bb b/meta/recipes-bsp/grub/grub-efi_2.06.bb
index 287845c5070..96e9df88b6f 100644
--- a/meta/recipes-bsp/grub/grub-efi_2.06.bb
+++ b/meta/recipes-bsp/grub/grub-efi_2.06.bb
@@ -4,8 +4,8 @@ require conf/image-uefi.conf
 
 GRUBPLATFORM = "efi"
 
-DEPENDS_append = " grub-native"
-RDEPENDS_${PN} = "grub-common virtual/grub-bootconf"
+DEPENDS:append = " grub-native"
+RDEPENDS:${PN} = "grub-common virtual/grub-bootconf"
 
 SRC_URI += " \
            file://cfg \
@@ -79,13 +79,13 @@ do_deploy() {
 
 addtask deploy after do_install before do_build
 
-FILES_${PN} = "${libdir}/grub/${GRUB_TARGET}-efi \
+FILES:${PN} = "${libdir}/grub/${GRUB_TARGET}-efi \
                ${datadir}/grub \
                ${EFI_FILES_PATH}/${GRUB_IMAGE} \
                "
 
 # 64-bit binaries are expected for the bootloader with an x32 userland
-INSANE_SKIP_${PN}_append_linux-gnux32 = " arch"
-INSANE_SKIP_${PN}-dbg_append_linux-gnux32 = " arch"
-INSANE_SKIP_${PN}_append_linux-muslx32 = " arch"
-INSANE_SKIP_${PN}-dbg_append_linux-muslx32 = " arch"
+INSANE_SKIP:${PN}:append:linux-gnux32 = " arch"
+INSANE_SKIP:${PN}-dbg:append:linux-gnux32 = " arch"
+INSANE_SKIP:${PN}:append:linux-muslx32 = " arch"
+INSANE_SKIP:${PN}-dbg:append:linux-muslx32 = " arch"
diff --git a/meta/recipes-bsp/grub/grub2.inc b/meta/recipes-bsp/grub/grub2.inc
index 19294760c45..bb791347dcd 100644
--- a/meta/recipes-bsp/grub/grub2.inc
+++ b/meta/recipes-bsp/grub/grub2.inc
@@ -30,21 +30,21 @@ CVE_CHECK_WHITELIST += "CVE-2019-14865"
 DEPENDS = "flex-native bison-native gettext-native"
 
 COMPATIBLE_HOST = '(x86_64.*|i.86.*|arm.*|aarch64.*|riscv.*)-(linux.*|freebsd.*)'
-COMPATIBLE_HOST_armv7a = 'null'
-COMPATIBLE_HOST_armv7ve = 'null'
+COMPATIBLE_HOST:armv7a = 'null'
+COMPATIBLE_HOST:armv7ve = 'null'
 
 # configure.ac has code to set this automagically from the target tuple
 # but the OE freeform one (core2-foo-bar-linux) don't work with that.
 
-GRUBPLATFORM_arm = "efi"
-GRUBPLATFORM_aarch64 = "efi"
-GRUBPLATFORM_riscv32 = "efi"
-GRUBPLATFORM_riscv64 = "efi"
+GRUBPLATFORM:arm = "efi"
+GRUBPLATFORM:aarch64 = "efi"
+GRUBPLATFORM:riscv32 = "efi"
+GRUBPLATFORM:riscv64 = "efi"
 GRUBPLATFORM ??= "pc"
 
 inherit autotools gettext texinfo pkgconfig
 
-CFLAGS_remove = "-O2"
+CFLAGS:remove = "-O2"
 
 EXTRA_OECONF = "--with-platform=${GRUBPLATFORM} \
                 --disable-grub-mkfont \
@@ -70,7 +70,7 @@ BUILD_LDFLAGS = ""
 
 export PYTHON = "python3"
 
-do_configure_prepend() {
+do_configure:prepend() {
 	cd ${S}
 	FROM_BOOTSTRAP=1 ${S}/autogen.sh
 	cd ${B}
diff --git a/meta/recipes-bsp/grub/grub_2.06.bb b/meta/recipes-bsp/grub/grub_2.06.bb
index d4e09faa408..05d462785c1 100644
--- a/meta/recipes-bsp/grub/grub_2.06.bb
+++ b/meta/recipes-bsp/grub/grub_2.06.bb
@@ -1,24 +1,24 @@
 require grub2.inc
 
-RDEPENDS_${PN}-common += "${PN}-editenv"
-RDEPENDS_${PN} += "${PN}-common"
-RDEPENDS_${PN}_class-native = ""
+RDEPENDS:${PN}-common += "${PN}-editenv"
+RDEPENDS:${PN} += "${PN}-common"
+RDEPENDS:${PN}:class-native = ""
 
-RPROVIDES_${PN}-editenv += "${PN}-efi-editenv"
+RPROVIDES:${PN}-editenv += "${PN}-efi-editenv"
 
-PROVIDES_append_class-native = " grub-efi-native"
+PROVIDES:append:class-native = " grub-efi-native"
 
 PACKAGES =+ "${PN}-editenv ${PN}-common"
-FILES_${PN}-editenv = "${bindir}/grub-editenv"
-FILES_${PN}-common = " \
+FILES:${PN}-editenv = "${bindir}/grub-editenv"
+FILES:${PN}-common = " \
     ${bindir} \
     ${sysconfdir} \
     ${sbindir} \
     ${datadir}/grub \
 "
-ALLOW_EMPTY_${PN} = "1"
+ALLOW_EMPTY:${PN} = "1"
 
-do_install_append () {
+do_install:append () {
     # Avoid conflicts with the EFI package for systems such as arm64 where we
     # need to build grub and grub-efi but only EFI is supported by removing EFI
     # from this package.
@@ -35,7 +35,7 @@ do_install_append () {
         {} +
 }
 
-INSANE_SKIP_${PN} = "arch"
-INSANE_SKIP_${PN}-dbg = "arch"
+INSANE_SKIP:${PN} = "arch"
+INSANE_SKIP:${PN}-dbg = "arch"
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-bsp/keymaps/keymaps_1.0.bb b/meta/recipes-bsp/keymaps/keymaps_1.0.bb
index 24b13f920fa..091bcc60911 100644
--- a/meta/recipes-bsp/keymaps/keymaps_1.0.bb
+++ b/meta/recipes-bsp/keymaps/keymaps_1.0.bb
@@ -2,7 +2,7 @@ SUMMARY = "Keyboard maps"
 DESCRIPTION = "Keymaps and initscript to set the keymap on bootup."
 SECTION = "base"
 
-RDEPENDS_${PN} = "kbd"
+RDEPENDS:${PN} = "kbd"
 
 LICENSE = "GPLv2"
 LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
@@ -37,8 +37,8 @@ do_install () {
     fi
 }
 
-PACKAGE_WRITE_DEPS_append = " ${@bb.utils.contains('DISTRO_FEATURES','systemd sysvinit','systemd-systemctl-native','',d)}"
-pkg_postinst_${PN} () {
+PACKAGE_WRITE_DEPS:append = " ${@bb.utils.contains('DISTRO_FEATURES','systemd sysvinit','systemd-systemctl-native','',d)}"
+pkg_postinst:${PN} () {
 	if ${@bb.utils.contains('DISTRO_FEATURES','systemd sysvinit','true','false',d)}; then
 		if [ -n "$D" ]; then
 			OPTS="--root=$D"
@@ -47,4 +47,4 @@ pkg_postinst_${PN} () {
 	fi
 }
 
-ALLOW_EMPTY_${PN} = "1"
+ALLOW_EMPTY:${PN} = "1"
diff --git a/meta/recipes-bsp/lrzsz/lrzsz_0.12.20.bb b/meta/recipes-bsp/lrzsz/lrzsz_0.12.20.bb
index 54c431eeb35..5f383319e2f 100644
--- a/meta/recipes-bsp/lrzsz/lrzsz_0.12.20.bb
+++ b/meta/recipes-bsp/lrzsz/lrzsz_0.12.20.bb
@@ -38,7 +38,7 @@ inherit update-alternatives
 
 ALTERNATIVE_PRIORITY = "100"
 
-ALTERNATIVE_${PN} = "rz rx rb sz sx sb"
+ALTERNATIVE:${PN} = "rz rx rb sz sx sb"
 
 ALTERNATIVE_TARGET[rz] = "${bindir}/lrz"
 ALTERNATIVE_TARGET[rx] = "${bindir}/lrz"
diff --git a/meta/recipes-bsp/opensbi/opensbi_0.9.bb b/meta/recipes-bsp/opensbi/opensbi_0.9.bb
index 5fee52136d9..cb9f346dc05 100644
--- a/meta/recipes-bsp/opensbi/opensbi_0.9.bb
+++ b/meta/recipes-bsp/opensbi/opensbi_0.9.bb
@@ -17,13 +17,13 @@ S = "${WORKDIR}/git"
 
 EXTRA_OEMAKE += "PLATFORM=${RISCV_SBI_PLAT} I=${D} FW_PIC=n"
 # If RISCV_SBI_PAYLOAD is set then include it as a payload
-EXTRA_OEMAKE_append = " ${@riscv_get_extra_oemake_image(d)}"
-EXTRA_OEMAKE_append = " ${@riscv_get_extra_oemake_fdt(d)}"
+EXTRA_OEMAKE:append = " ${@riscv_get_extra_oemake_image(d)}"
+EXTRA_OEMAKE:append = " ${@riscv_get_extra_oemake_fdt(d)}"
 
 # Required if specifying a custom payload
 do_compile[depends] += "${@riscv_get_do_compile_depends(d)}"
 
-do_install_append() {
+do_install:append() {
 	# 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
@@ -39,9 +39,9 @@ do_deploy () {
 
 addtask deploy before do_build after do_install
 
-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.*"
+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/meta/recipes-bsp/pciutils/pciutils_3.7.0.bb b/meta/recipes-bsp/pciutils/pciutils_3.7.0.bb
index 4f0edc01ed5..3afa5215972 100644
--- a/meta/recipes-bsp/pciutils/pciutils_3.7.0.bb
+++ b/meta/recipes-bsp/pciutils/pciutils_3.7.0.bb
@@ -52,8 +52,8 @@ do_install () {
 }
 
 PACKAGES =+ "${PN}-ids libpci"
-FILES_${PN}-ids = "${datadir}/pci.ids*"
-FILES_libpci = "${libdir}/libpci.so.*"
-SUMMARY_${PN}-ids = "PCI utilities - device ID database"
-DESCRIPTION_${PN}-ids = "Package providing the PCI device ID database for pciutils."
-RDEPENDS_${PN} += "${PN}-ids"
+FILES:${PN}-ids = "${datadir}/pci.ids*"
+FILES:libpci = "${libdir}/libpci.so.*"
+SUMMARY:${PN}-ids = "PCI utilities - device ID database"
+DESCRIPTION:${PN}-ids = "Package providing the PCI device ID database for pciutils."
+RDEPENDS:${PN} += "${PN}-ids"
diff --git a/meta/recipes-bsp/pm-utils/pm-utils_1.4.1.bb b/meta/recipes-bsp/pm-utils/pm-utils_1.4.1.bb
index cac09101c42..0f6d3ff7cb1 100644
--- a/meta/recipes-bsp/pm-utils/pm-utils_1.4.1.bb
+++ b/meta/recipes-bsp/pm-utils/pm-utils_1.4.1.bb
@@ -17,11 +17,11 @@ inherit pkgconfig autotools manpages
 
 PACKAGECONFIG[manpages] = "--enable-doc, --disable-doc, libxslt-native xmlto-native"
 
-RDEPENDS_${PN} = "grep bash"
+RDEPENDS:${PN} = "grep bash"
 
-do_configure_prepend () {
+do_configure:prepend () {
 	( cd ${S}; autoreconf -f -i -s )
 }
 
-FILES_${PN} += "${libdir}/${BPN}/*"
-FILES_${PN}-dbg += "${datadir}/doc/pm-utils/README.debugging"
+FILES:${PN} += "${libdir}/${BPN}/*"
+FILES:${PN}-dbg += "${datadir}/doc/pm-utils/README.debugging"
diff --git a/meta/recipes-bsp/u-boot/libubootenv_0.3.2.bb b/meta/recipes-bsp/u-boot/libubootenv_0.3.2.bb
index 488a9df7920..ce14bc48aa5 100644
--- a/meta/recipes-bsp/u-boot/libubootenv_0.3.2.bb
+++ b/meta/recipes-bsp/u-boot/libubootenv_0.3.2.bb
@@ -21,6 +21,6 @@ EXTRA_OECMAKE = "-DCMAKE_BUILD_TYPE=Release"
 
 DEPENDS = "zlib"
 PROVIDES += "u-boot-fw-utils"
-RPROVIDES_${PN}-bin += "u-boot-fw-utils"
+RPROVIDES:${PN}-bin += "u-boot-fw-utils"
 
 BBCLASSEXTEND = "native"
diff --git a/meta/recipes-bsp/u-boot/u-boot-tools.inc b/meta/recipes-bsp/u-boot/u-boot-tools.inc
index 4ed936a70d3..7eda6a0897a 100644
--- a/meta/recipes-bsp/u-boot/u-boot-tools.inc
+++ b/meta/recipes-bsp/u-boot/u-boot-tools.inc
@@ -2,25 +2,25 @@ SUMMARY = "U-Boot bootloader tools"
 DEPENDS += "openssl"
 
 PROVIDES = "${MLPREFIX}u-boot-mkimage ${MLPREFIX}u-boot-mkenvimage"
-PROVIDES_class-native = "u-boot-mkimage-native u-boot-mkenvimage-native"
+PROVIDES:class-native = "u-boot-mkimage-native u-boot-mkenvimage-native"
 
 PACKAGES += "${PN}-mkimage ${PN}-mkenvimage"
 
 # Required for backward compatibility with "u-boot-mkimage-xxx.bb"
-RPROVIDES_${PN}-mkimage = "u-boot-mkimage"
-RREPLACES_${PN}-mkimage = "u-boot-mkimage"
-RCONFLICTS_${PN}-mkimage = "u-boot-mkimage"
+RPROVIDES:${PN}-mkimage = "u-boot-mkimage"
+RREPLACES:${PN}-mkimage = "u-boot-mkimage"
+RCONFLICTS:${PN}-mkimage = "u-boot-mkimage"
 
-EXTRA_OEMAKE_class-target = 'CROSS_COMPILE="${TARGET_PREFIX}" CC="${CC} ${CFLAGS} ${LDFLAGS}" HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" STRIP=true V=1'
-EXTRA_OEMAKE_class-native = 'CC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" STRIP=true V=1'
-EXTRA_OEMAKE_class-nativesdk = 'CROSS_COMPILE="${HOST_PREFIX}" CC="${CC} ${CFLAGS} ${LDFLAGS}" HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" STRIP=true V=1'
+EXTRA_OEMAKE:class-target = 'CROSS_COMPILE="${TARGET_PREFIX}" CC="${CC} ${CFLAGS} ${LDFLAGS}" HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" STRIP=true V=1'
+EXTRA_OEMAKE:class-native = 'CC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" STRIP=true V=1'
+EXTRA_OEMAKE:class-nativesdk = 'CROSS_COMPILE="${HOST_PREFIX}" CC="${CC} ${CFLAGS} ${LDFLAGS}" HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" STRIP=true V=1'
 
 SED_CONFIG_EFI = '-e "s/CONFIG_EFI_LOADER=.*/# CONFIG_EFI_LOADER is not set/"'
-SED_CONFIG_EFI_x86 = ''
-SED_CONFIG_EFI_x86-64 = ''
-SED_CONFIG_EFI_arm = ''
-SED_CONFIG_EFI_armeb = ''
-SED_CONFIG_EFI_aarch64 = ''
+SED_CONFIG_EFI:x86 = ''
+SED_CONFIG_EFI:x86-64 = ''
+SED_CONFIG_EFI:arm = ''
+SED_CONFIG_EFI:armeb = ''
+SED_CONFIG_EFI:aarch64 = ''
 
 do_compile () {
 	# Yes, this is crazy. If you build on a system with git < 2.14 from scratch, the tree will
@@ -68,14 +68,14 @@ do_install () {
 	ln -sf uboot-fit_check_sign ${D}${bindir}/fit_check_sign
 }
 
-ALLOW_EMPTY_${PN} = "1"
-FILES_${PN} = ""
-FILES_${PN}-mkimage = "${bindir}/uboot-mkimage ${bindir}/mkimage ${bindir}/uboot-dumpimage ${bindir}/dumpimage ${bindir}/uboot-fit_check_sign ${bindir}/fit_check_sign"
-FILES_${PN}-mkenvimage = "${bindir}/uboot-mkenvimage ${bindir}/mkenvimage"
+ALLOW_EMPTY:${PN} = "1"
+FILES:${PN} = ""
+FILES:${PN}-mkimage = "${bindir}/uboot-mkimage ${bindir}/mkimage ${bindir}/uboot-dumpimage ${bindir}/dumpimage ${bindir}/uboot-fit_check_sign ${bindir}/fit_check_sign"
+FILES:${PN}-mkenvimage = "${bindir}/uboot-mkenvimage ${bindir}/mkenvimage"
 
-RDEPENDS_${PN}-mkimage += "dtc"
-RDEPENDS_${PN} += "${PN}-mkimage ${PN}-mkenvimage"
-RDEPENDS_${PN}_class-native = ""
+RDEPENDS:${PN}-mkimage += "dtc"
+RDEPENDS:${PN} += "${PN}-mkimage ${PN}-mkenvimage"
+RDEPENDS:${PN}:class-native = ""
 
 BBCLASSEXTEND = "native nativesdk"
 
diff --git a/meta/recipes-bsp/u-boot/u-boot-tools_2021.07.bb b/meta/recipes-bsp/u-boot/u-boot-tools_2021.07.bb
index 4e90081911a..d0c0f30a98e 100644
--- a/meta/recipes-bsp/u-boot/u-boot-tools_2021.07.bb
+++ b/meta/recipes-bsp/u-boot/u-boot-tools_2021.07.bb
@@ -1,4 +1,4 @@
 require u-boot-common.inc
 require u-boot-tools.inc
 
-SRC_URI_append = " file://0001-tools-image-host-fix-wrong-return-value.patch"
+SRC_URI:append = " file://0001-tools-image-host-fix-wrong-return-value.patch"
diff --git a/meta/recipes-bsp/u-boot/u-boot.inc b/meta/recipes-bsp/u-boot/u-boot.inc
index 8ccc532f7eb..4340b17cb63 100644
--- a/meta/recipes-bsp/u-boot/u-boot.inc
+++ b/meta/recipes-bsp/u-boot/u-boot.inc
@@ -212,15 +212,15 @@ do_install () {
 
 PACKAGE_BEFORE_PN += "${PN}-env"
 
-RPROVIDES_${PN}-env += "u-boot-default-env"
-ALLOW_EMPTY_${PN}-env = "1"
-FILES_${PN}-env = " \
+RPROVIDES:${PN}-env += "u-boot-default-env"
+ALLOW_EMPTY:${PN}-env = "1"
+FILES:${PN}-env = " \
     ${@ '${sysconfdir}/${UBOOT_INITIAL_ENV}*' if d.getVar('UBOOT_INITIAL_ENV') else ''} \
     ${sysconfdir}/fw_env.config \
 "
 
-FILES_${PN} = "/boot ${datadir}"
-RDEPENDS_${PN} += "${PN}-env"
+FILES:${PN} = "/boot ${datadir}"
+RDEPENDS:${PN} += "${PN}-env"
 
 do_deploy () {
     if [ -n "${UBOOT_CONFIG}" ]
diff --git a/meta/recipes-bsp/u-boot/u-boot_2021.07.bb b/meta/recipes-bsp/u-boot/u-boot_2021.07.bb
index bbbc99bf8d1..c8dbe477e04 100644
--- a/meta/recipes-bsp/u-boot/u-boot_2021.07.bb
+++ b/meta/recipes-bsp/u-boot/u-boot_2021.07.bb
@@ -1,6 +1,6 @@
 require u-boot-common.inc
 require u-boot.inc
 
-SRC_URI_append = " file://0001-riscv32-Use-double-float-ABI-for-rv32.patch"
+SRC_URI:append = " file://0001-riscv32-Use-double-float-ABI-for-rv32.patch"
 
 DEPENDS += "bc-native dtc-native python3-setuptools-native"
diff --git a/meta/recipes-bsp/usbutils/usbutils_013.bb b/meta/recipes-bsp/usbutils/usbutils_013.bb
index 51f909b7957..db64a487594 100644
--- a/meta/recipes-bsp/usbutils/usbutils_013.bb
+++ b/meta/recipes-bsp/usbutils/usbutils_013.bb
@@ -16,15 +16,15 @@ SRC_URI[sha256sum] = "efdfd5403dbdd7412de6bb897d5fbaae65ef3eb4332032c0e1f2162166
 
 inherit autotools pkgconfig update-alternatives
 
-ALTERNATIVE_${PN} = "lsusb"
+ALTERNATIVE:${PN} = "lsusb"
 ALTERNATIVE_PRIORITY = "100"
 
 # The binaries are mostly GPLv2+ apart from lsusb.py which is GPLv2 or v3.
-LICENSE_${PN} = "GPLv2+"
-LICENSE_${PN}-python = "GPLv2 | GPLv3"
+LICENSE:${PN} = "GPLv2+"
+LICENSE:${PN}-python = "GPLv2 | GPLv3"
 
-RRECOMMENDS_${PN} = "udev-hwdb"
+RRECOMMENDS:${PN} = "udev-hwdb"
 
 PACKAGE_BEFORE_PN =+ "${PN}-python"
-FILES_${PN}-python += "${bindir}/lsusb.py"
-RDEPENDS_${PN}-python = "python3-core"
+FILES:${PN}-python += "${bindir}/lsusb.py"
+RDEPENDS:${PN}-python = "python3-core"
diff --git a/meta/recipes-bsp/v86d/v86d_0.1.10.bb b/meta/recipes-bsp/v86d/v86d_0.1.10.bb
index e614de0c481..b011276f47f 100644
--- a/meta/recipes-bsp/v86d/v86d_0.1.10.bb
+++ b/meta/recipes-bsp/v86d/v86d_0.1.10.bb
@@ -7,7 +7,7 @@ LICENSE = "GPLv2"
 LIC_FILES_CHKSUM = "file://README;md5=94ac1971e4f2309dc322d598e7b1f7dd"
 
 DEPENDS = "virtual/kernel"
-RRECOMMENDS_${PN} = "kernel-module-uvesafb"
+RRECOMMENDS:${PN} = "kernel-module-uvesafb"
 PR = "r2"
 
 SRC_URI = "http://snapshot.debian.org/archive/debian/20110427T035506Z/pool/main/v/${BPN}/${BPN}_${PV}.orig.tar.gz \
diff --git a/meta/recipes-connectivity/avahi/avahi_0.8.bb b/meta/recipes-connectivity/avahi/avahi_0.8.bb
index 79ce669a3e7..934044d5da0 100644
--- a/meta/recipes-connectivity/avahi/avahi_0.8.bb
+++ b/meta/recipes-connectivity/avahi/avahi_0.8.bb
@@ -69,16 +69,16 @@ EXTRA_OECONF = "--with-avahi-priv-access-group=adm \
 EXTRA_OECONF_SYSVINIT = "${@bb.utils.contains('DISTRO_FEATURES','sysvinit','--with-distro=debian','--with-distro=none',d)}"
 EXTRA_OECONF_SYSTEMD = "${@bb.utils.contains('DISTRO_FEATURES','systemd','--with-systemdsystemunitdir=${systemd_unitdir}/system/','--without-systemdsystemunitdir',d)}"
 
-do_configure_prepend() {
+do_configure:prepend() {
     # This m4 file will get in the way of our introspection.m4 with special cross-compilation fixes
     rm "${S}/common/introspection.m4" || true
 }
 
-do_compile_prepend() {
+do_compile:prepend() {
     export GIR_EXTRA_LIBS_PATH="${B}/avahi-gobject/.libs:${B}/avahi-common/.libs:${B}/avahi-client/.libs:${B}/avahi-glib/.libs"
 }
 
-RRECOMMENDS_${PN}_append_libc-glibc = " libnss-mdns"
+RRECOMMENDS:${PN}:append:libc-glibc = " libnss-mdns"
 
 do_install() {
 	autotools_do_install
@@ -95,41 +95,41 @@ do_install() {
 
 PACKAGES =+ "${@bb.utils.contains("PACKAGECONFIG", "libdns_sd", "libavahi-compat-libdnssd", "", d)}"
 
-FILES_libavahi-compat-libdnssd = "${libdir}/libdns_sd.so.*"
+FILES:libavahi-compat-libdnssd = "${libdir}/libdns_sd.so.*"
 
-RPROVIDES_libavahi-compat-libdnssd = "libdns-sd"
+RPROVIDES:libavahi-compat-libdnssd = "libdns-sd"
 
 inherit update-rc.d systemd useradd
 
 PACKAGES =+ "libavahi-gobject avahi-daemon libavahi-common libavahi-core libavahi-client avahi-dnsconfd libavahi-glib avahi-autoipd avahi-utils avahi-discover avahi-ui"
 
-FILES_avahi-ui = "${libdir}/libavahi-ui*.so.*"
-FILES_avahi-discover = "${datadir}/applications/avahi-discover.desktop \
+FILES:avahi-ui = "${libdir}/libavahi-ui*.so.*"
+FILES:avahi-discover = "${datadir}/applications/avahi-discover.desktop \
                         ${datadir}/avahi/interfaces/avahi-discover.ui \
                         ${bindir}/avahi-discover-standalone \
                         "
 
-LICENSE_libavahi-gobject = "LGPLv2.1+"
-LICENSE_avahi-daemon = "LGPLv2.1+"
-LICENSE_libavahi-common = "LGPLv2.1+"
-LICENSE_libavahi-core = "LGPLv2.1+"
-LICENSE_libavahi-client = "LGPLv2.1+"
-LICENSE_avahi-dnsconfd = "LGPLv2.1+"
-LICENSE_libavahi-glib = "LGPLv2.1+"
-LICENSE_avahi-autoipd = "LGPLv2.1+"
-LICENSE_avahi-utils = "LGPLv2.1+"
+LICENSE:libavahi-gobject = "LGPLv2.1+"
+LICENSE:avahi-daemon = "LGPLv2.1+"
+LICENSE:libavahi-common = "LGPLv2.1+"
+LICENSE:libavahi-core = "LGPLv2.1+"
+LICENSE:libavahi-client = "LGPLv2.1+"
+LICENSE:avahi-dnsconfd = "LGPLv2.1+"
+LICENSE:libavahi-glib = "LGPLv2.1+"
+LICENSE:avahi-autoipd = "LGPLv2.1+"
+LICENSE:avahi-utils = "LGPLv2.1+"
 
 # As avahi doesn't put any files into PN, clear the files list to avoid problems
 # if extra libraries appear.
-FILES_${PN} = ""
-FILES_avahi-autoipd = "${sbindir}/avahi-autoipd \
+FILES:${PN} = ""
+FILES:avahi-autoipd = "${sbindir}/avahi-autoipd \
                        ${sysconfdir}/avahi/avahi-autoipd.action \
                        ${sysconfdir}/dhcp/*/avahi-autoipd \
                        ${sysconfdir}/udhcpc.d/00avahi-autoipd \
                        ${sysconfdir}/udhcpc.d/99avahi-autoipd"
-FILES_libavahi-common = "${libdir}/libavahi-common.so.*"
-FILES_libavahi-core = "${libdir}/libavahi-core.so.* ${libdir}/girepository-1.0/AvahiCore*.typelib"
-FILES_avahi-daemon = "${sbindir}/avahi-daemon \
+FILES:libavahi-common = "${libdir}/libavahi-common.so.*"
+FILES:libavahi-core = "${libdir}/libavahi-core.so.* ${libdir}/girepository-1.0/AvahiCore*.typelib"
+FILES:avahi-daemon = "${sbindir}/avahi-daemon \
                       ${sysconfdir}/avahi/avahi-daemon.conf \
                       ${sysconfdir}/avahi/hosts \
                       ${sysconfdir}/avahi/services \
@@ -139,44 +139,44 @@ FILES_avahi-daemon = "${sbindir}/avahi-daemon \
                       ${datadir}/avahi/avahi-service.dtd \
                       ${datadir}/avahi/service-types \
                       ${datadir}/dbus-1/system-services"
-FILES_libavahi-client = "${libdir}/libavahi-client.so.*"
-FILES_avahi-dnsconfd = "${sbindir}/avahi-dnsconfd \
+FILES:libavahi-client = "${libdir}/libavahi-client.so.*"
+FILES:avahi-dnsconfd = "${sbindir}/avahi-dnsconfd \
                         ${sysconfdir}/avahi/avahi-dnsconfd.action \
                         ${sysconfdir}/init.d/avahi-dnsconfd"
-FILES_libavahi-glib = "${libdir}/libavahi-glib.so.*"
-FILES_libavahi-gobject = "${libdir}/libavahi-gobject.so.*  ${libdir}/girepository-1.0/Avahi*.typelib"
-FILES_avahi-utils = "${bindir}/avahi-* ${bindir}/b* ${datadir}/applications/b*"
+FILES:libavahi-glib = "${libdir}/libavahi-glib.so.*"
+FILES:libavahi-gobject = "${libdir}/libavahi-gobject.so.*  ${libdir}/girepository-1.0/Avahi*.typelib"
+FILES:avahi-utils = "${bindir}/avahi-* ${bindir}/b* ${datadir}/applications/b*"
 
-RDEPENDS_${PN}-dev = "avahi-daemon (= ${EXTENDPKGV}) libavahi-core (= ${EXTENDPKGV})"
-RDEPENDS_${PN}-dev += "${@["", " libavahi-client (= ${EXTENDPKGV})"][bb.utils.contains('PACKAGECONFIG', 'dbus', 1, 0, d)]}"
-RDEPENDS_${PN}-dnsconfd = "${PN}-daemon"
+RDEPENDS:${PN}-dev = "avahi-daemon (= ${EXTENDPKGV}) libavahi-core (= ${EXTENDPKGV})"
+RDEPENDS:${PN}-dev += "${@["", " libavahi-client (= ${EXTENDPKGV})"][bb.utils.contains('PACKAGECONFIG', 'dbus', 1, 0, d)]}"
+RDEPENDS:${PN}-dnsconfd = "${PN}-daemon"
 
-RRECOMMENDS_avahi-daemon_append_libc-glibc = " libnss-mdns"
+RRECOMMENDS:avahi-daemon:append:libc-glibc = " libnss-mdns"
 
-CONFFILES_avahi-daemon = "${sysconfdir}/avahi/avahi-daemon.conf"
+CONFFILES:avahi-daemon = "${sysconfdir}/avahi/avahi-daemon.conf"
 
 USERADD_PACKAGES = "avahi-daemon avahi-autoipd"
-USERADD_PARAM_avahi-daemon = "--system --home /run/avahi-daemon \
+USERADD_PARAM:avahi-daemon = "--system --home /run/avahi-daemon \
                               --no-create-home --shell /bin/false \
                               --user-group avahi"
 
-USERADD_PARAM_avahi-autoipd = "--system --home /run/avahi-autoipd \
+USERADD_PARAM:avahi-autoipd = "--system --home /run/avahi-autoipd \
                               --no-create-home --shell /bin/false \
                               --user-group \
                               -c \"Avahi autoip daemon\" \
                               avahi-autoipd"
 
 INITSCRIPT_PACKAGES = "avahi-daemon avahi-dnsconfd"
-INITSCRIPT_NAME_avahi-daemon = "avahi-daemon"
-INITSCRIPT_PARAMS_avahi-daemon = "defaults 21 19"
-INITSCRIPT_NAME_avahi-dnsconfd = "avahi-dnsconfd"
-INITSCRIPT_PARAMS_avahi-dnsconfd = "defaults 22 19"
+INITSCRIPT_NAME:avahi-daemon = "avahi-daemon"
+INITSCRIPT_PARAMS:avahi-daemon = "defaults 21 19"
+INITSCRIPT_NAME:avahi-dnsconfd = "avahi-dnsconfd"
+INITSCRIPT_PARAMS:avahi-dnsconfd = "defaults 22 19"
 
 SYSTEMD_PACKAGES = "${PN}-daemon ${PN}-dnsconfd"
-SYSTEMD_SERVICE_${PN}-daemon = "avahi-daemon.service"
-SYSTEMD_SERVICE_${PN}-dnsconfd = "avahi-dnsconfd.service"
+SYSTEMD_SERVICE:${PN}-daemon = "avahi-daemon.service"
+SYSTEMD_SERVICE:${PN}-dnsconfd = "avahi-dnsconfd.service"
 
-do_install_append() {
+do_install:append() {
 	install -d ${D}${sysconfdir}/udhcpc.d
 	install ${WORKDIR}/00avahi-autoipd ${D}${sysconfdir}/udhcpc.d
 	install ${WORKDIR}/99avahi-autoipd ${D}${sysconfdir}/udhcpc.d
@@ -184,7 +184,7 @@ do_install_append() {
 
 # At the time the postinst runs, dbus might not be setup so only restart if running 
 # Don't exit early, because update-rc.d needs to run subsequently.
-pkg_postinst_avahi-daemon () {
+pkg_postinst:avahi-daemon () {
 if [ -z "$D" ]; then
 	killall -q -HUP dbus-daemon || true
 fi
diff --git a/meta/recipes-connectivity/bind/bind_9.16.18.bb b/meta/recipes-connectivity/bind/bind_9.16.18.bb
index e7a1c5d9e9f..353178ea0d0 100644
--- a/meta/recipes-connectivity/bind/bind_9.16.18.bb
+++ b/meta/recipes-connectivity/bind/bind_9.16.18.bb
@@ -44,7 +44,7 @@ EXTRA_OECONF = " --with-libtool --disable-devpoll --disable-auto-validation --en
                  --sysconfdir=${sysconfdir}/bind \
                  --with-openssl=${STAGING_DIR_HOST}${prefix} \
                "
-LDFLAGS_append = " -lz"
+LDFLAGS:append = " -lz"
 
 inherit ${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3native distutils3-base', '', d)}
 
@@ -52,15 +52,15 @@ inherit ${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3native distutil
 REMOVE_LIBTOOL_LA = "0"
 
 USERADD_PACKAGES = "${PN}"
-USERADD_PARAM_${PN} = "--system --home ${localstatedir}/cache/bind --no-create-home \
+USERADD_PARAM:${PN} = "--system --home ${localstatedir}/cache/bind --no-create-home \
                        --user-group bind"
 
 INITSCRIPT_NAME = "bind"
 INITSCRIPT_PARAMS = "defaults"
 
-SYSTEMD_SERVICE_${PN} = "named.service"
+SYSTEMD_SERVICE:${PN} = "named.service"
 
-do_install_append() {
+do_install:append() {
 
 	install -d -o bind "${D}${localstatedir}/cache/bind"
 	install -d "${D}${sysconfdir}/bind"
@@ -94,7 +94,7 @@ do_install_append() {
     oe_multilib_header isc/platform.h
 }
 
-CONFFILES_${PN} = " \
+CONFFILES:${PN} = " \
 	${sysconfdir}/bind/named.conf \
 	${sysconfdir}/bind/named.conf.local \
 	${sysconfdir}/bind/named.conf.options \
@@ -105,25 +105,25 @@ CONFFILES_${PN} = " \
 	${sysconfdir}/bind/db.root \
 	"
 
-ALTERNATIVE_${PN}-utils = "nslookup"
+ALTERNATIVE:${PN}-utils = "nslookup"
 ALTERNATIVE_LINK_NAME[nslookup] = "${bindir}/nslookup"
 ALTERNATIVE_PRIORITY = "100"
 
 PACKAGE_BEFORE_PN += "${PN}-utils"
-FILES_${PN}-utils = "${bindir}/host ${bindir}/dig ${bindir}/mdig ${bindir}/nslookup ${bindir}/nsupdate"
-FILES_${PN}-dev += "${bindir}/isc-config.h"
-FILES_${PN} += "${sbindir}/generate-rndc-key.sh"
+FILES:${PN}-utils = "${bindir}/host ${bindir}/dig ${bindir}/mdig ${bindir}/nslookup ${bindir}/nsupdate"
+FILES:${PN}-dev += "${bindir}/isc-config.h"
+FILES:${PN} += "${sbindir}/generate-rndc-key.sh"
 
 PACKAGE_BEFORE_PN += "${PN}-libs"
 # special arrangement below due to
 # https://github.com/isc-projects/bind9/commit/0e25af628cd776f98c04fc4cc59048f5448f6c88
 FILES_SOLIBSDEV = "${libdir}/*[!0-9].so ${libdir}/libbind9.so"
-FILES_${PN}-libs = "${libdir}/named/*.so* ${libdir}/*-${PV}.so"
-FILES_${PN}-staticdev += "${libdir}/*.la"
+FILES:${PN}-libs = "${libdir}/named/*.so* ${libdir}/*-${PV}.so"
+FILES:${PN}-staticdev += "${libdir}/*.la"
 
 PACKAGE_BEFORE_PN += "${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3-bind', '', d)}"
-FILES_python3-bind = "${sbindir}/dnssec-coverage ${sbindir}/dnssec-checkds \
+FILES:python3-bind = "${sbindir}/dnssec-coverage ${sbindir}/dnssec-checkds \
                 ${sbindir}/dnssec-keymgr ${PYTHON_SITEPACKAGES_DIR}"
 
-RDEPENDS_${PN}-dev = ""
-RDEPENDS_python3-bind = "python3-core python3-ply"
+RDEPENDS:${PN}-dev = ""
+RDEPENDS:python3-bind = "python3-core python3-ply"
diff --git a/meta/recipes-connectivity/bluez5/bluez5.inc b/meta/recipes-connectivity/bluez5/bluez5.inc
index f2d9a4f9378..68f3b586b82 100644
--- a/meta/recipes-connectivity/bluez5/bluez5.inc
+++ b/meta/recipes-connectivity/bluez5/bluez5.inc
@@ -8,9 +8,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e \
                     file://src/main.c;beginline=1;endline=24;md5=0ad83ca0dc37ab08af448777c581e7ac"
 DEPENDS = "dbus glib-2.0"
 PROVIDES += "bluez-hcidump"
-RPROVIDES_${PN} += "bluez-hcidump"
+RPROVIDES:${PN} += "bluez-hcidump"
 
-RCONFLICTS_${PN} = "bluez4"
+RCONFLICTS:${PN} = "bluez4"
 
 PACKAGECONFIG ??= "obex-profiles \
     readline \
@@ -79,7 +79,7 @@ NOINST_TOOLS = " \
     ${@bb.utils.contains('PACKAGECONFIG', 'tools', '${NOINST_TOOLS_BT}', '', d)} \
 "
 
-do_install_append() {
+do_install:append() {
 	install -d ${D}${INIT_D_DIR}
 	install -m 0755 ${WORKDIR}/init ${D}${INIT_D_DIR}/bluetooth
 
@@ -107,25 +107,25 @@ do_install_append() {
 
 PACKAGES =+ "${PN}-testtools ${PN}-obex ${PN}-noinst-tools"
 
-FILES_${PN} += " \
+FILES:${PN} += " \
     ${libdir}/bluetooth/plugins/*.so \
     ${systemd_unitdir}/ ${datadir}/dbus-1 \
     ${libdir}/cups \
 "
-FILES_${PN}-dev += " \
+FILES:${PN}-dev += " \
     ${libdir}/bluetooth/plugins/*.la \
 "
 
-FILES_${PN}-obex = "${libexecdir}/bluetooth/obexd \
+FILES:${PN}-obex = "${libexecdir}/bluetooth/obexd \
                     ${exec_prefix}/lib/systemd/user/obex.service \
                     ${systemd_system_unitdir}/obex.service \
                     ${sysconfdir}/systemd/system/multi-user.target.wants/obex.service \
                     ${datadir}/dbus-1/services/org.bluez.obex.service \
                     ${sysconfdir}/dbus-1/system.d/obexd.conf \
                    "
-SYSTEMD_SERVICE_${PN}-obex = "obex.service"
+SYSTEMD_SERVICE:${PN}-obex = "obex.service"
 
-FILES_${PN}-testtools = "${libdir}/bluez/test/*"
+FILES:${PN}-testtools = "${libdir}/bluez/test/*"
 
 def get_noinst_tools_paths (d, bb, tools):
     s = list()
@@ -135,14 +135,14 @@ def get_noinst_tools_paths (d, bb, tools):
         s.append("%s/%s" % (bindir, f))
     return "\n".join(s)
 
-FILES_${PN}-noinst-tools = "${@get_noinst_tools_paths(d, bb, d.getVar('NOINST_TOOLS'))}"
+FILES:${PN}-noinst-tools = "${@get_noinst_tools_paths(d, bb, d.getVar('NOINST_TOOLS'))}"
 
-RDEPENDS_${PN}-testtools += "python3-core python3-dbus"
-RDEPENDS_${PN}-testtools += "${@bb.utils.contains('GI_DATA_ENABLED', 'True', 'python3-pygobject', '', d)}"
+RDEPENDS:${PN}-testtools += "python3-core python3-dbus"
+RDEPENDS:${PN}-testtools += "${@bb.utils.contains('GI_DATA_ENABLED', 'True', 'python3-pygobject', '', d)}"
 
-SYSTEMD_SERVICE_${PN} = "${@bb.utils.contains('PACKAGECONFIG', 'systemd', 'bluetooth.service', '', d)}"
+SYSTEMD_SERVICE:${PN} = "${@bb.utils.contains('PACKAGECONFIG', 'systemd', 'bluetooth.service', '', d)}"
 INITSCRIPT_PACKAGES = "${PN}"
-INITSCRIPT_NAME_${PN} = "bluetooth"
+INITSCRIPT_NAME:${PN} = "bluetooth"
 
 do_compile_ptest() {
 	oe_runmake buildtests
@@ -153,4 +153,4 @@ do_install_ptest() {
 	rm -f ${D}${PTEST_PATH}/unit/*.o
 }
 
-RDEPENDS_${PN}-ptest_append_libc-glibc = " glibc-gconv-utf-16"
+RDEPENDS:${PN}-ptest:append:libc-glibc = " glibc-gconv-utf-16"
diff --git a/meta/recipes-connectivity/connman/connman-conf.bb b/meta/recipes-connectivity/connman/connman-conf.bb
index 85fee09258d..006f976997e 100644
--- a/meta/recipes-connectivity/connman/connman-conf.bb
+++ b/meta/recipes-connectivity/connman/connman-conf.bb
@@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0-only;m
 
 inherit systemd
 
-SRC_URI_append_qemuall = " file://wired.config \
+SRC_URI:append:qemuall = " file://wired.config \
                            file://wired-setup \
                            file://wired-connection.service \
 "
@@ -16,7 +16,7 @@ S = "${WORKDIR}"
 
 PACKAGE_ARCH = "${MACHINE_ARCH}"
 
-FILES_${PN} = "${localstatedir}/* ${datadir}/*"
+FILES:${PN} = "${localstatedir}/* ${datadir}/*"
 
 do_install() {
     #Configure Wired network interface in case of qemu* machines
@@ -33,4 +33,4 @@ do_install() {
     fi
 }
 
-SYSTEMD_SERVICE_${PN}_qemuall = "wired-connection.service"
+SYSTEMD_SERVICE:${PN}:qemuall = "wired-connection.service"
diff --git a/meta/recipes-connectivity/connman/connman-gnome_0.7.bb b/meta/recipes-connectivity/connman/connman-gnome_0.7.bb
index af986c4eab3..55c687968fe 100644
--- a/meta/recipes-connectivity/connman/connman-gnome_0.7.bb
+++ b/meta/recipes-connectivity/connman/connman-gnome_0.7.bb
@@ -23,8 +23,8 @@ S = "${WORKDIR}/git"
 inherit autotools-brokensep gtk-icon-cache pkgconfig features_check
 ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
 
-RDEPENDS_${PN} = "connman"
+RDEPENDS:${PN} = "connman"
 
-do_install_append() {
+do_install:append() {
     install -m 0644 ${WORKDIR}/images/* ${D}/usr/share/icons/hicolor/22x22/apps/
 }
diff --git a/meta/recipes-connectivity/connman/connman.inc b/meta/recipes-connectivity/connman/connman.inc
index 776bbfbff23..856bb9ee17c 100644
--- a/meta/recipes-connectivity/connman/connman.inc
+++ b/meta/recipes-connectivity/connman/connman.inc
@@ -34,7 +34,7 @@ PACKAGECONFIG ??= "wispr iptables client\
 
 # If you want ConnMan to support VPN, add following statement into
 # local.conf or distro config
-# PACKAGECONFIG_append_pn-connman = " openvpn vpnc l2tp pptp"
+# PACKAGECONFIG:append:pn-connman = " openvpn vpnc l2tp pptp"
 
 PACKAGECONFIG[systemd] = "--with-systemdunitdir=${systemd_unitdir}/system/ --with-tmpfilesdir=${sysconfdir}/tmpfiles.d/,--with-systemdunitdir='' --with-tmpfilesdir=''"
 PACKAGECONFIG[wifi] = "--enable-wifi, --disable-wifi, wpa-supplicant, wpa-supplicant"
@@ -64,16 +64,16 @@ python __anonymous () {
     d.setVar('SYSTEMD_PACKAGES', systemd_packages)
 }
 
-SYSTEMD_SERVICE_${PN} = "connman.service"
-SYSTEMD_SERVICE_${PN}-vpn = "connman-vpn.service"
-SYSTEMD_SERVICE_${PN}-wait-online = "connman-wait-online.service"
+SYSTEMD_SERVICE:${PN} = "connman.service"
+SYSTEMD_SERVICE:${PN}-vpn = "connman-vpn.service"
+SYSTEMD_SERVICE:${PN}-wait-online = "connman-wait-online.service"
 
 ALTERNATIVE_PRIORITY = "100"
-ALTERNATIVE_${PN} = "${@bb.utils.contains('DISTRO_FEATURES','systemd','resolv-conf','',d)}"
+ALTERNATIVE:${PN} = "${@bb.utils.contains('DISTRO_FEATURES','systemd','resolv-conf','',d)}"
 ALTERNATIVE_TARGET[resolv-conf] = "${@bb.utils.contains('DISTRO_FEATURES','systemd','${sysconfdir}/resolv-conf.connman','',d)}"
 ALTERNATIVE_LINK_NAME[resolv-conf] = "${@bb.utils.contains('DISTRO_FEATURES','systemd','${sysconfdir}/resolv.conf','',d)}"
 
-do_install_append() {
+do_install:append() {
 	if ${@bb.utils.contains('DISTRO_FEATURES','sysvinit','true','false',d)}; then
 		install -d ${D}${sysconfdir}/init.d
 		install -m 0755 ${WORKDIR}/connman ${D}${sysconfdir}/init.d/connman
@@ -100,7 +100,7 @@ do_install_append() {
 }
 
 # These used to be plugins, but now they are core
-RPROVIDES_${PN} = "\
+RPROVIDES:${PN} = "\
 	connman-plugin-loopback \
 	connman-plugin-ethernet \
 	${@bb.utils.contains('PACKAGECONFIG', 'bluetooth','connman-plugin-bluetooth', '', d)} \
@@ -108,7 +108,7 @@ RPROVIDES_${PN} = "\
 	${@bb.utils.contains('PACKAGECONFIG', '3g','connman-plugin-ofono', '', d)} \
 	"
 
-RDEPENDS_${PN} = "\
+RDEPENDS:${PN} = "\
 	dbus \
 	"
 
@@ -119,11 +119,11 @@ def add_rdepends(bb, d, file, pkg, depmap, multilib_prefix, add_insane_skip):
     if plugintype in depmap:
         rdepends = map(lambda x: multilib_prefix + x, \
                        depmap[plugintype].split())
-        d.setVar("RDEPENDS_%s" % pkg, " ".join(rdepends))
+        d.setVar("RDEPENDS:%s" % pkg, " ".join(rdepends))
     if add_insane_skip:
-        d.appendVar("INSANE_SKIP_%s" % pkg, "dev-so")
+        d.appendVar("INSANE_SKIP:%s" % pkg, "dev-so")
 
-python populate_packages_prepend() {
+python populate_packages:prepend() {
     depmap = dict(pppd="ppp")
     multilib_prefix = (d.getVar("MLPREFIX") or "")
 
@@ -144,72 +144,72 @@ python populate_packages_prepend() {
 
 PACKAGES =+ "${PN}-tools ${PN}-tests ${PN}-client"
 
-FILES_${PN}-tools = "${bindir}/wispr"
-RDEPENDS_${PN}-tools ="${PN}"
+FILES:${PN}-tools = "${bindir}/wispr"
+RDEPENDS:${PN}-tools ="${PN}"
 
-FILES_${PN}-tests = "${bindir}/*-test"
+FILES:${PN}-tests = "${bindir}/*-test"
 
-FILES_${PN}-client = "${bindir}/connmanctl"
-RDEPENDS_${PN}-client ="${PN}"
+FILES:${PN}-client = "${bindir}/connmanctl"
+RDEPENDS:${PN}-client ="${PN}"
 
-FILES_${PN} = "${bindir}/* ${sbindir}/* ${libexecdir}/* ${libdir}/lib*.so.* \
+FILES:${PN} = "${bindir}/* ${sbindir}/* ${libexecdir}/* ${libdir}/lib*.so.* \
             ${libdir}/connman/plugins \
             ${sysconfdir} ${sharedstatedir} ${localstatedir} ${datadir} \
             ${base_bindir}/* ${base_sbindir}/* ${base_libdir}/*.so* ${datadir}/${PN} \
             ${datadir}/dbus-1/system-services/* \
             ${sysconfdir}/tmpfiles.d/connman_resolvconf.conf"
 
-FILES_${PN}-dev += "${libdir}/connman/*/*.la"
+FILES:${PN}-dev += "${libdir}/connman/*/*.la"
 
 PACKAGES =+ "${PN}-vpn ${PN}-wait-online"
 
-SUMMARY_${PN}-vpn = "A daemon for managing VPN connections within embedded devices"
-DESCRIPTION_${PN}-vpn = "The ConnMan VPN provides a daemon for \
+SUMMARY:${PN}-vpn = "A daemon for managing VPN connections within embedded devices"
+DESCRIPTION:${PN}-vpn = "The ConnMan VPN provides a daemon for \
 managing VPN connections within embedded devices running the Linux \
 operating system.  The connman-vpnd handles all the VPN connections \
 and starts/stops VPN client processes when necessary. The connman-vpnd \
 provides a DBus API for managing VPN connections. All the different \
 VPN technogies are implemented using plug-ins."
-FILES_${PN}-vpn += "${sbindir}/connman-vpnd \
+FILES:${PN}-vpn += "${sbindir}/connman-vpnd \
                     ${sysconfdir}/dbus-1/system.d/connman-vpn-dbus.conf \
                     ${datadir}/dbus-1/system-services/net.connman.vpn.service \
                     ${systemd_unitdir}/system/connman-vpn.service"
 
-SUMMARY_${PN}-wait-online = "A program that will return once ConnMan has connected to a network"
-DESCRIPTION_${PN}-wait-online = "A service that can be enabled so that \
+SUMMARY:${PN}-wait-online = "A program that will return once ConnMan has connected to a network"
+DESCRIPTION:${PN}-wait-online = "A service that can be enabled so that \
 the system waits until a network connection is established."
-FILES_${PN}-wait-online += "${sbindir}/connmand-wait-online \
+FILES:${PN}-wait-online += "${sbindir}/connmand-wait-online \
                             ${systemd_unitdir}/system/connman-wait-online.service"
 
-SUMMARY_${PN}-plugin-vpn-openvpn = "An OpenVPN plugin for ConnMan VPN"
-DESCRIPTION_${PN}-plugin-vpn-openvpn = "The ConnMan OpenVPN plugin uses openvpn client \
+SUMMARY:${PN}-plugin-vpn-openvpn = "An OpenVPN plugin for ConnMan VPN"
+DESCRIPTION:${PN}-plugin-vpn-openvpn = "The ConnMan OpenVPN plugin uses openvpn client \
 to create a VPN connection to OpenVPN server."
-FILES_${PN}-plugin-vpn-openvpn += "${libdir}/connman/scripts/openvpn-script \
+FILES:${PN}-plugin-vpn-openvpn += "${libdir}/connman/scripts/openvpn-script \
                                    ${libdir}/connman/plugins-vpn/openvpn.so"
-RDEPENDS_${PN}-plugin-vpn-openvpn += "${PN}-vpn"
-RRECOMMENDS_${PN} += "${@bb.utils.contains('PACKAGECONFIG','openvpn','${PN}-plugin-vpn-openvpn', '', d)}"
+RDEPENDS:${PN}-plugin-vpn-openvpn += "${PN}-vpn"
+RRECOMMENDS:${PN} += "${@bb.utils.contains('PACKAGECONFIG','openvpn','${PN}-plugin-vpn-openvpn', '', d)}"
 
-SUMMARY_${PN}-plugin-vpn-vpnc = "A vpnc plugin for ConnMan VPN"
-DESCRIPTION_${PN}-plugin-vpn-vpnc = "The ConnMan vpnc plugin uses vpnc client \
+SUMMARY:${PN}-plugin-vpn-vpnc = "A vpnc plugin for ConnMan VPN"
+DESCRIPTION:${PN}-plugin-vpn-vpnc = "The ConnMan vpnc plugin uses vpnc client \
 to create a VPN connection to Cisco3000 VPN Concentrator."
-FILES_${PN}-plugin-vpn-vpnc += "${libdir}/connman/scripts/openconnect-script \
+FILES:${PN}-plugin-vpn-vpnc += "${libdir}/connman/scripts/openconnect-script \
                                 ${libdir}/connman/plugins-vpn/vpnc.so \
                                 ${libdir}/connman/scripts/vpn-script"
-RDEPENDS_${PN}-plugin-vpn-vpnc += "${PN}-vpn"
-RRECOMMENDS_${PN} += "${@bb.utils.contains('PACKAGECONFIG','vpnc','${PN}-plugin-vpn-vpnc', '', d)}"
+RDEPENDS:${PN}-plugin-vpn-vpnc += "${PN}-vpn"
+RRECOMMENDS:${PN} += "${@bb.utils.contains('PACKAGECONFIG','vpnc','${PN}-plugin-vpn-vpnc', '', d)}"
 
-SUMMARY_${PN}-plugin-vpn-l2tp = "A L2TP plugin for ConnMan VPN"
-DESCRIPTION_${PN}-plugin-vpn-l2tp = "The ConnMan L2TP plugin uses xl2tpd daemon \
+SUMMARY:${PN}-plugin-vpn-l2tp = "A L2TP plugin for ConnMan VPN"
+DESCRIPTION:${PN}-plugin-vpn-l2tp = "The ConnMan L2TP plugin uses xl2tpd daemon \
 to create a VPN connection to L2TP server."
-FILES_${PN}-plugin-vpn-l2tp += "${libdir}/connman/scripts/libppp-plugin.so* \
+FILES:${PN}-plugin-vpn-l2tp += "${libdir}/connman/scripts/libppp-plugin.so* \
                                 ${libdir}/connman/plugins-vpn/l2tp.so"
-RDEPENDS_${PN}-plugin-vpn-l2tp += "${PN}-vpn"
-RRECOMMENDS_${PN} += "${@bb.utils.contains('PACKAGECONFIG','l2tp','${PN}-plugin-vpn-l2tp', '', d)}"
+RDEPENDS:${PN}-plugin-vpn-l2tp += "${PN}-vpn"
+RRECOMMENDS:${PN} += "${@bb.utils.contains('PACKAGECONFIG','l2tp','${PN}-plugin-vpn-l2tp', '', d)}"
 
-SUMMARY_${PN}-plugin-vpn-pptp = "A PPTP plugin for ConnMan VPN"
-DESCRIPTION_${PN}-plugin-vpn-pptp = "The ConnMan PPTP plugin uses pptp-linux client \
+SUMMARY:${PN}-plugin-vpn-pptp = "A PPTP plugin for ConnMan VPN"
+DESCRIPTION:${PN}-plugin-vpn-pptp = "The ConnMan PPTP plugin uses pptp-linux client \
 to create a VPN connection to PPTP server."
-FILES_${PN}-plugin-vpn-pptp += "${libdir}/connman/scripts/libppp-plugin.so* \
+FILES:${PN}-plugin-vpn-pptp += "${libdir}/connman/scripts/libppp-plugin.so* \
                                 ${libdir}/connman/plugins-vpn/pptp.so"
-RDEPENDS_${PN}-plugin-vpn-pptp += "${PN}-vpn"
-RRECOMMENDS_${PN} += "${@bb.utils.contains('PACKAGECONFIG','pptp','${PN}-plugin-vpn-pptp', '', d)}"
+RDEPENDS:${PN}-plugin-vpn-pptp += "${PN}-vpn"
+RRECOMMENDS:${PN} += "${@bb.utils.contains('PACKAGECONFIG','pptp','${PN}-plugin-vpn-pptp', '', d)}"
diff --git a/meta/recipes-connectivity/connman/connman_1.40.bb b/meta/recipes-connectivity/connman/connman_1.40.bb
index 15d105e2bdb..edb23a12679 100644
--- a/meta/recipes-connectivity/connman/connman_1.40.bb
+++ b/meta/recipes-connectivity/connman/connman_1.40.bb
@@ -7,9 +7,9 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/network/${BPN}/${BP}.tar.xz \
            file://no-version-scripts.patch \
            "
 
-SRC_URI_append_libc-musl = " file://0002-resolve-musl-does-not-implement-res_ninit.patch"
+SRC_URI:append:libc-musl = " file://0002-resolve-musl-does-not-implement-res_ninit.patch"
 
 SRC_URI[sha256sum] = "1a57ae7ce234aa3a1744aac3be5c2121d98dce999440ef8ab9cc4edfd5edcb12"
 
-RRECOMMENDS_${PN} = "connman-conf"
-RCONFLICTS_${PN} = "networkmanager"
+RRECOMMENDS:${PN} = "connman-conf"
+RCONFLICTS:${PN} = "networkmanager"
diff --git a/meta/recipes-connectivity/dhcpcd/dhcpcd_9.4.0.bb b/meta/recipes-connectivity/dhcpcd/dhcpcd_9.4.0.bb
index 5be480eb03f..4e9a367d96e 100644
--- a/meta/recipes-connectivity/dhcpcd/dhcpcd_9.4.0.bb
+++ b/meta/recipes-connectivity/dhcpcd/dhcpcd_9.4.0.bb
@@ -22,7 +22,7 @@ SRC_URI[sha256sum] = "41a69297f380bf15ee8f94f73154f8c2bca7157a087c0d5aca8de000ba
 
 inherit pkgconfig autotools-brokensep systemd useradd
 
-SYSTEMD_SERVICE_${PN} = "dhcpcd.service"
+SYSTEMD_SERVICE:${PN} = "dhcpcd.service"
 
 PACKAGECONFIG ?= "udev ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
 
@@ -44,9 +44,9 @@ EXTRA_OECONF = "--enable-ipv4 \
                "
 
 USERADD_PACKAGES = "${PN}"
-USERADD_PARAM_${PN} = "--system -d ${localstatedir}/lib/${BPN} -M -s /bin/false -U dhcpcd"
+USERADD_PARAM:${PN} = "--system -d ${localstatedir}/lib/${BPN} -M -s /bin/false -U dhcpcd"
 
-do_install_append () {
+do_install:append () {
     # install systemd unit files
     install -d ${D}${systemd_unitdir}/system
     install -m 0644 ${WORKDIR}/dhcpcd*.service ${D}${systemd_unitdir}/system
@@ -55,4 +55,4 @@ do_install_append () {
     chown dhcpcd:dhcpcd ${D}${localstatedir}/lib/${BPN}
 }
 
-FILES_${PN}-dbg += "${libdir}/dhcpcd/dev/.debug"
+FILES:${PN}-dbg += "${libdir}/dhcpcd/dev/.debug"
diff --git a/meta/recipes-connectivity/inetutils/inetutils_2.0.bb b/meta/recipes-connectivity/inetutils/inetutils_2.0.bb
index a4d05b05420..4b25f9c0b51 100644
--- a/meta/recipes-connectivity/inetutils/inetutils_2.0.bb
+++ b/meta/recipes-connectivity/inetutils/inetutils_2.0.bb
@@ -47,10 +47,10 @@ EXTRA_OECONF = "--with-ncurses-include-dir=${STAGING_INCDIR} \
 "
 
 # These are horrible for security, disable them
-EXTRA_OECONF_append = " --disable-rsh --disable-rshd --disable-rcp \
+EXTRA_OECONF:append = " --disable-rsh --disable-rshd --disable-rcp \
         --disable-rlogin --disable-rlogind --disable-rexec --disable-rexecd"
 
-do_configure_prepend () {
+do_configure:prepend () {
     export HELP2MAN='true'
     cp ${STAGING_DATADIR_NATIVE}/gettext/config.rpath ${S}/build-aux/config.rpath
     install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S}
@@ -58,7 +58,7 @@ do_configure_prepend () {
     rm -f ${S}/glob/configure*
 }
 
-do_install_append () {
+do_install:append () {
     install -m 0755 -d ${D}${base_sbindir}
     install -m 0755 -d ${D}${sbindir}
     install -m 0755 -d ${D}${sysconfdir}/xinetd.d
@@ -114,34 +114,34 @@ PACKAGES =+ "${PN}-tftpd-dbg ${PN}-telnetd-dbg ${PN}-rshd-dbg"
 NOAUTOPACKAGEDEBUG = "1"
 
 ALTERNATIVE_PRIORITY = "79"
-ALTERNATIVE_${PN} = "whois dnsdomainname"
+ALTERNATIVE:${PN} = "whois dnsdomainname"
 ALTERNATIVE_LINK_NAME[uucpd]  = "${sbindir}/in.uucpd"
 ALTERNATIVE_LINK_NAME[dnsdomainname]  = "${base_bindir}/dnsdomainname"
 
 ALTERNATIVE_PRIORITY_${PN}-logger = "60"
-ALTERNATIVE_${PN}-logger = "logger"
-ALTERNATIVE_${PN}-syslogd = "syslogd"
+ALTERNATIVE:${PN}-logger = "logger"
+ALTERNATIVE:${PN}-syslogd = "syslogd"
 ALTERNATIVE_LINK_NAME[syslogd]  = "${base_sbindir}/syslogd"
 
-ALTERNATIVE_${PN}-ftp = "ftp"
-ALTERNATIVE_${PN}-ftpd = "ftpd"
-ALTERNATIVE_${PN}-tftp = "tftp"
-ALTERNATIVE_${PN}-tftpd = "tftpd"
+ALTERNATIVE:${PN}-ftp = "ftp"
+ALTERNATIVE:${PN}-ftpd = "ftpd"
+ALTERNATIVE:${PN}-tftp = "tftp"
+ALTERNATIVE:${PN}-tftpd = "tftpd"
 ALTERNATIVE_LINK_NAME[tftpd] = "${sbindir}/tftpd"
 ALTERNATIVE_TARGET[tftpd]  = "${sbindir}/in.tftpd"
 
-ALTERNATIVE_${PN}-telnet = "telnet"
-ALTERNATIVE_${PN}-telnetd = "telnetd"
+ALTERNATIVE:${PN}-telnet = "telnet"
+ALTERNATIVE:${PN}-telnetd = "telnetd"
 ALTERNATIVE_LINK_NAME[telnetd] = "${sbindir}/telnetd"
 ALTERNATIVE_TARGET[telnetd] = "${sbindir}/in.telnetd"
 
-ALTERNATIVE_${PN}-inetd= "inetd"
-ALTERNATIVE_${PN}-traceroute = "traceroute"
+ALTERNATIVE:${PN}-inetd= "inetd"
+ALTERNATIVE:${PN}-traceroute = "traceroute"
 
-ALTERNATIVE_${PN}-hostname = "hostname"
+ALTERNATIVE:${PN}-hostname = "hostname"
 ALTERNATIVE_LINK_NAME[hostname]  = "${base_bindir}/hostname"
 
-ALTERNATIVE_${PN}-doc = "hostname.1 dnsdomainname.1 logger.1 syslogd.8 \
+ALTERNATIVE:${PN}-doc = "hostname.1 dnsdomainname.1 logger.1 syslogd.8 \
                          tftpd.8 tftp.1 telnetd.8"
 ALTERNATIVE_LINK_NAME[hostname.1] = "${mandir}/man1/hostname.1"
 ALTERNATIVE_LINK_NAME[dnsdomainname.1] = "${mandir}/man1/dnsdomainname.1"
@@ -151,62 +151,62 @@ ALTERNATIVE_LINK_NAME[telnetd.8] = "${mandir}/man8/telnetd.8"
 ALTERNATIVE_LINK_NAME[tftpd.8] = "${mandir}/man8/tftpd.8"
 ALTERNATIVE_LINK_NAME[tftp.1] = "${mandir}/man1/tftp.1"
 
-ALTERNATIVE_${PN}-ifconfig = "ifconfig"
+ALTERNATIVE:${PN}-ifconfig = "ifconfig"
 ALTERNATIVE_LINK_NAME[ifconfig]  = "${base_sbindir}/ifconfig"
 
-ALTERNATIVE_${PN}-ping = "ping"
+ALTERNATIVE:${PN}-ping = "ping"
 ALTERNATIVE_LINK_NAME[ping]   = "${base_bindir}/ping"
 
-ALTERNATIVE_${PN}-ping6 = "${@bb.utils.filter('PACKAGECONFIG', 'ping6', d)}"
+ALTERNATIVE:${PN}-ping6 = "${@bb.utils.filter('PACKAGECONFIG', 'ping6', d)}"
 ALTERNATIVE_LINK_NAME[ping6]  = "${base_bindir}/ping6"
 
 
-FILES_${PN}-dbg += "${base_bindir}/.debug ${base_sbindir}/.debug ${bindir}/.debug ${sbindir}/.debug"
-FILES_${PN}-ping = "${base_bindir}/ping.${BPN}"
-FILES_${PN}-ping6 = "${base_bindir}/ping6.${BPN}"
-FILES_${PN}-hostname = "${base_bindir}/hostname.${BPN}"
-FILES_${PN}-ifconfig = "${base_sbindir}/ifconfig.${BPN}"
-FILES_${PN}-traceroute = "${bindir}/traceroute.${BPN}"
-FILES_${PN}-logger = "${bindir}/logger.${BPN}"
+FILES:${PN}-dbg += "${base_bindir}/.debug ${base_sbindir}/.debug ${bindir}/.debug ${sbindir}/.debug"
+FILES:${PN}-ping = "${base_bindir}/ping.${BPN}"
+FILES:${PN}-ping6 = "${base_bindir}/ping6.${BPN}"
+FILES:${PN}-hostname = "${base_bindir}/hostname.${BPN}"
+FILES:${PN}-ifconfig = "${base_sbindir}/ifconfig.${BPN}"
+FILES:${PN}-traceroute = "${bindir}/traceroute.${BPN}"
+FILES:${PN}-logger = "${bindir}/logger.${BPN}"
 
-FILES_${PN}-syslogd = "${base_sbindir}/syslogd.${BPN}"
-RCONFLICTS_${PN}-syslogd = "rsyslog busybox-syslog sysklogd syslog-ng"
+FILES:${PN}-syslogd = "${base_sbindir}/syslogd.${BPN}"
+RCONFLICTS:${PN}-syslogd = "rsyslog busybox-syslog sysklogd syslog-ng"
 
-FILES_${PN}-ftp = "${bindir}/ftp.${BPN}"
+FILES:${PN}-ftp = "${bindir}/ftp.${BPN}"
 
-FILES_${PN}-tftp = "${bindir}/tftp.${BPN}"
-FILES_${PN}-telnet = "${bindir}/telnet.${BPN}"
+FILES:${PN}-tftp = "${bindir}/tftp.${BPN}"
+FILES:${PN}-telnet = "${bindir}/telnet.${BPN}"
 
 # We make us of RCONFLICTS / RPROVIDES here rather than using the normal
 # alternatives method as this leads to packaging QA issues when using
 # musl as that library does not provide what these applications need to
 # build.
-FILES_${PN}-rsh = "${bindir}/rsh ${bindir}/rlogin ${bindir}/rexec ${bindir}/rcp"
-RCONFLICTS_${PN}-rsh += "netkit-rsh-client"
-RPROVIDES_${PN}-rsh = "rsh"
+FILES:${PN}-rsh = "${bindir}/rsh ${bindir}/rlogin ${bindir}/rexec ${bindir}/rcp"
+RCONFLICTS:${PN}-rsh += "netkit-rsh-client"
+RPROVIDES:${PN}-rsh = "rsh"
 
-FILES_${PN}-rshd = "${sbindir}/in.rshd ${sbindir}/in.rlogind ${sbindir}/in.rexecd \
+FILES:${PN}-rshd = "${sbindir}/in.rshd ${sbindir}/in.rlogind ${sbindir}/in.rexecd \
                     ${sysconfdir}/xinetd.d/rsh ${sysconfdir}/xinetd.d/rlogin ${sysconfdir}/xinetd.d/rexec"
-FILES_${PN}-rshd-dbg = "${sbindir}/.debug/in.rshd ${sbindir}/.debug/in.rlogind ${sbindir}/.debug/in.rexecd"
-RDEPENDS_${PN}-rshd += "xinetd tcp-wrappers"
-RCONFLICTS_${PN}-rshd += "netkit-rshd-server"
-RPROVIDES_${PN}-rshd = "rshd"
+FILES:${PN}-rshd-dbg = "${sbindir}/.debug/in.rshd ${sbindir}/.debug/in.rlogind ${sbindir}/.debug/in.rexecd"
+RDEPENDS:${PN}-rshd += "xinetd tcp-wrappers"
+RCONFLICTS:${PN}-rshd += "netkit-rshd-server"
+RPROVIDES:${PN}-rshd = "rshd"
 
-FILES_${PN}-ftpd = "${bindir}/ftpd.${BPN}"
-FILES_${PN}-ftpd-dbg = "${bindir}/.debug/ftpd.${BPN}"
-RDEPENDS_${PN}-ftpd += "xinetd"
+FILES:${PN}-ftpd = "${bindir}/ftpd.${BPN}"
+FILES:${PN}-ftpd-dbg = "${bindir}/.debug/ftpd.${BPN}"
+RDEPENDS:${PN}-ftpd += "xinetd"
 
-FILES_${PN}-tftpd = "${sbindir}/in.tftpd ${sysconfdir}/xinetd.d/tftpd"
-FILES_${PN}-tftpd-dbg = "${sbindir}/.debug/in.tftpd"
-RCONFLICTS_${PN}-tftpd += "netkit-tftpd"
-RDEPENDS_${PN}-tftpd += "xinetd"
+FILES:${PN}-tftpd = "${sbindir}/in.tftpd ${sysconfdir}/xinetd.d/tftpd"
+FILES:${PN}-tftpd-dbg = "${sbindir}/.debug/in.tftpd"
+RCONFLICTS:${PN}-tftpd += "netkit-tftpd"
+RDEPENDS:${PN}-tftpd += "xinetd"
 
-FILES_${PN}-telnetd = "${sbindir}/in.telnetd ${sysconfdir}/xinetd.d/telnet"
-FILES_${PN}-telnetd-dbg = "${sbindir}/.debug/in.telnetd"
-RCONFLICTS_${PN}-telnetd += "netkit-telnet"
-RPROVIDES_${PN}-telnetd = "telnetd"
-RDEPENDS_${PN}-telnetd += "xinetd"
+FILES:${PN}-telnetd = "${sbindir}/in.telnetd ${sysconfdir}/xinetd.d/telnet"
+FILES:${PN}-telnetd-dbg = "${sbindir}/.debug/in.telnetd"
+RCONFLICTS:${PN}-telnetd += "netkit-telnet"
+RPROVIDES:${PN}-telnetd = "telnetd"
+RDEPENDS:${PN}-telnetd += "xinetd"
 
-FILES_${PN}-inetd = "${bindir}/inetd.${BPN}"
+FILES:${PN}-inetd = "${bindir}/inetd.${BPN}"
 
-RDEPENDS_${PN} = "xinetd"
+RDEPENDS:${PN} = "xinetd"
diff --git a/meta/recipes-connectivity/iproute2/iproute2.inc b/meta/recipes-connectivity/iproute2/iproute2.inc
index 6c8eea67997..3f070d67993 100644
--- a/meta/recipes-connectivity/iproute2/iproute2.inc
+++ b/meta/recipes-connectivity/iproute2/iproute2.inc
@@ -32,7 +32,7 @@ EXTRA_OEMAKE = "\
     LIBDIR='${libdir}' \
 "
 
-do_configure_append () {
+do_configure:append () {
     sh configure ${STAGING_INCDIR}
     # Explicitly disable ATM support
     sed -i -e '/TC_CONFIG_ATM/d' config.mk
@@ -47,7 +47,7 @@ do_install () {
 }
 
 # The .so files in iproute2-tc are modules, not traditional libraries
-INSANE_SKIP_${PN}-tc = "dev-so"
+INSANE_SKIP:${PN}-tc = "dev-so"
 
 IPROUTE2_PACKAGES =+ "\
     ${PN}-devlink \
@@ -64,28 +64,28 @@ IPROUTE2_PACKAGES =+ "\
 "
 
 PACKAGE_BEFORE_PN = "${IPROUTE2_PACKAGES}"
-RDEPENDS_${PN} += "${PN}-ip"
+RDEPENDS:${PN} += "${PN}-ip"
 
-FILES_${PN}-tc = "${base_sbindir}/tc* \
+FILES:${PN}-tc = "${base_sbindir}/tc* \
                   ${libdir}/tc/*.so"
-FILES_${PN}-lnstat = "${base_sbindir}/lnstat \
+FILES:${PN}-lnstat = "${base_sbindir}/lnstat \
                       ${base_sbindir}/ctstat \
                       ${base_sbindir}/rtstat"
-FILES_${PN}-ifstat = "${base_sbindir}/ifstat"
-FILES_${PN}-ip = "${base_sbindir}/ip.${PN} ${sysconfdir}/iproute2"
-FILES_${PN}-genl = "${base_sbindir}/genl"
-FILES_${PN}-rtacct = "${base_sbindir}/rtacct"
-FILES_${PN}-nstat = "${base_sbindir}/nstat"
-FILES_${PN}-ss = "${base_sbindir}/ss"
-FILES_${PN}-tipc = "${base_sbindir}/tipc"
-FILES_${PN}-devlink = "${base_sbindir}/devlink"
-FILES_${PN}-rdma = "${base_sbindir}/rdma"
+FILES:${PN}-ifstat = "${base_sbindir}/ifstat"
+FILES:${PN}-ip = "${base_sbindir}/ip.${PN} ${sysconfdir}/iproute2"
+FILES:${PN}-genl = "${base_sbindir}/genl"
+FILES:${PN}-rtacct = "${base_sbindir}/rtacct"
+FILES:${PN}-nstat = "${base_sbindir}/nstat"
+FILES:${PN}-ss = "${base_sbindir}/ss"
+FILES:${PN}-tipc = "${base_sbindir}/tipc"
+FILES:${PN}-devlink = "${base_sbindir}/devlink"
+FILES:${PN}-rdma = "${base_sbindir}/rdma"
 
-ALTERNATIVE_${PN}-ip = "ip"
+ALTERNATIVE:${PN}-ip = "ip"
 ALTERNATIVE_TARGET[ip] = "${base_sbindir}/ip.${BPN}"
 ALTERNATIVE_LINK_NAME[ip] = "${base_sbindir}/ip"
 ALTERNATIVE_PRIORITY = "100"
 
-ALTERNATIVE_${PN}-tc = "tc"
+ALTERNATIVE:${PN}-tc = "tc"
 ALTERNATIVE_LINK_NAME[tc] = "${base_sbindir}/tc"
 ALTERNATIVE_PRIORITY_${PN}-tc = "100"
diff --git a/meta/recipes-connectivity/iproute2/iproute2_5.13.0.bb b/meta/recipes-connectivity/iproute2/iproute2_5.13.0.bb
index b117637e36c..44575bd50c8 100644
--- a/meta/recipes-connectivity/iproute2/iproute2_5.13.0.bb
+++ b/meta/recipes-connectivity/iproute2/iproute2_5.13.0.bb
@@ -8,4 +8,4 @@ SRC_URI[sha256sum] = "72a2e53774cac9e65f7b617deebb2059f87e8960d6e9713e4d788cea96
 
 # CFLAGS are computed in Makefile and reference CCOPTS
 #
-EXTRA_OEMAKE_append = " CCOPTS='${CFLAGS}'"
+EXTRA_OEMAKE:append = " CCOPTS='${CFLAGS}'"
diff --git a/meta/recipes-connectivity/kea/kea_1.8.2.bb b/meta/recipes-connectivity/kea/kea_1.8.2.bb
index fe10d90620d..f1bbbc49e73 100644
--- a/meta/recipes-connectivity/kea/kea_1.8.2.bb
+++ b/meta/recipes-connectivity/kea/kea_1.8.2.bb
@@ -28,24 +28,24 @@ inherit autotools systemd update-rc.d upstream-version-is-even
 INITSCRIPT_NAME = "kea-dhcp4-server"
 INITSCRIPT_PARAMS = "defaults 30"
 
-SYSTEMD_SERVICE_${PN} = "kea-dhcp4.service kea-dhcp6.service kea-dhcp-ddns.service"
+SYSTEMD_SERVICE:${PN} = "kea-dhcp4.service kea-dhcp6.service kea-dhcp-ddns.service"
 SYSTEMD_AUTO_ENABLE = "disable"
 
-DEBUG_OPTIMIZATION_remove_mips = " -Og"
-DEBUG_OPTIMIZATION_append_mips = " -O"
-BUILD_OPTIMIZATION_remove_mips = " -Og"
-BUILD_OPTIMIZATION_append_mips = " -O"
+DEBUG_OPTIMIZATION:remove:mips = " -Og"
+DEBUG_OPTIMIZATION:append:mips = " -O"
+BUILD_OPTIMIZATION:remove:mips = " -Og"
+BUILD_OPTIMIZATION:append:mips = " -O"
 
-DEBUG_OPTIMIZATION_remove_mipsel = " -Og"
-DEBUG_OPTIMIZATION_append_mipsel = " -O"
-BUILD_OPTIMIZATION_remove_mipsel = " -Og"
-BUILD_OPTIMIZATION_append_mipsel = " -O"
+DEBUG_OPTIMIZATION:remove:mipsel = " -Og"
+DEBUG_OPTIMIZATION:append:mipsel = " -O"
+BUILD_OPTIMIZATION:remove:mipsel = " -Og"
+BUILD_OPTIMIZATION:append:mipsel = " -O"
 
 EXTRA_OECONF = "--with-boost-libs=-lboost_system \
                 --with-log4cplus=${STAGING_DIR_TARGET}${prefix} \
                 --with-openssl=${STAGING_DIR_TARGET}${prefix}"
 
-do_configure_prepend() {
+do_configure:prepend() {
     # replace abs_top_builddir to avoid introducing the build path
     # don't expand the abs_top_builddir on the target as the abs_top_builddir is meanlingless on the target
     find ${S} -type f -name *.sh.in | xargs sed -i  "s:@abs_top_builddir@:@abs_top_builddir_placeholder@:g"
@@ -53,11 +53,11 @@ do_configure_prepend() {
 }
 
 # patch out build host paths for reproducibility
-do_compile_prepend_class-target() {
+do_compile:prepend:class-target() {
         sed -i -e "s,${WORKDIR},,g" ${B}/config.report
 }
 
-do_install_append() {
+do_install:append() {
     install -d ${D}${sysconfdir}/init.d
     install -d ${D}${systemd_system_unitdir}
 
@@ -68,13 +68,13 @@ do_install_append() {
            ${D}${systemd_system_unitdir}/kea-dhcp*service ${D}${sbindir}/keactrl
 }
 
-do_install_append() {
+do_install:append() {
     rm -rf "${D}${localstatedir}"
 }
 
-CONFFILES_${PN} = "${sysconfdir}/kea/keactrl.conf"
+CONFFILES:${PN} = "${sysconfdir}/kea/keactrl.conf"
 
-FILES_${PN}-staticdev += "${libdir}/kea/hooks/*.a ${libdir}/hooks/*.a"
-FILES_${PN} += "${libdir}/hooks/*.so"
+FILES:${PN}-staticdev += "${libdir}/kea/hooks/*.a ${libdir}/hooks/*.a"
+FILES:${PN} += "${libdir}/hooks/*.so"
 
 PARALLEL_MAKEINST = ""
diff --git a/meta/recipes-connectivity/libnss-mdns/libnss-mdns_0.15.1.bb b/meta/recipes-connectivity/libnss-mdns/libnss-mdns_0.15.1.bb
index f3b64174c44..e455a60bd5e 100644
--- a/meta/recipes-connectivity/libnss-mdns/libnss-mdns_0.15.1.bb
+++ b/meta/recipes-connectivity/libnss-mdns/libnss-mdns_0.15.1.bb
@@ -17,13 +17,13 @@ S = "${WORKDIR}/git"
 
 inherit autotools pkgconfig
 
-COMPATIBLE_HOST_libc-musl = 'null'
+COMPATIBLE_HOST:libc-musl = 'null'
 
 EXTRA_OECONF = "--libdir=${base_libdir}"
 
-RDEPENDS_${PN} = "avahi-daemon"
+RDEPENDS:${PN} = "avahi-daemon"
 
-pkg_postinst_${PN} () {
+pkg_postinst:${PN} () {
 	sed '
 		/^hosts:/ !b
 		/\<mdns\(4\|6\)\?\(_minimal\)\?\>/ b
@@ -31,7 +31,7 @@ pkg_postinst_${PN} () {
 		' -i $D${sysconfdir}/nsswitch.conf
 }
 
-pkg_prerm_${PN} () {
+pkg_prerm:${PN} () {
 	sed '
 		/^hosts:/ !b
 		s/[[:blank:]]\+mdns\(4\|6\)\?\(_minimal\( \[NOTFOUND=return\]\)\?\)\?//g
diff --git a/meta/recipes-connectivity/libpcap/libpcap_1.10.1.bb b/meta/recipes-connectivity/libpcap/libpcap_1.10.1.bb
index f528595c949..9a8c46e0ef5 100644
--- a/meta/recipes-connectivity/libpcap/libpcap_1.10.1.bb
+++ b/meta/recipes-connectivity/libpcap/libpcap_1.10.1.bb
@@ -34,7 +34,7 @@ PACKAGECONFIG[dbus] = "--enable-dbus,--disable-dbus,dbus"
 PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
 PACKAGECONFIG[libnl] = "--with-libnl,--without-libnl,libnl"
 
-do_configure_prepend () {
+do_configure:prepend () {
     #remove hardcoded references to /usr/include
     sed 's|\([ "^'\''I]\+\)/usr/include/|\1${STAGING_INCDIR}/|g' -i ${S}/configure.ac
 }
diff --git a/meta/recipes-connectivity/neard/neard_0.16.bb b/meta/recipes-connectivity/neard/neard_0.16.bb
index 7c124a3c0bc..d55cf6a3771 100644
--- a/meta/recipes-connectivity/neard/neard_0.16.bb
+++ b/meta/recipes-connectivity/neard/neard_0.16.bb
@@ -27,7 +27,7 @@ PACKAGECONFIG[systemd] = "--enable-systemd --with-systemdsystemunitdir=${systemd
 EXTRA_OECONF += "--enable-tools"
 
 # This would copy neard start-stop shell and test scripts
-do_install_append() {
+do_install:append() {
 	if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
 		install -d ${D}${sysconfdir}/init.d/
 		sed "s:@installpath@:${libexecdir}/nfc:" ${WORKDIR}/neard.in \
@@ -36,10 +36,10 @@ do_install_append() {
 	fi
 }
 
-RDEPENDS_${PN} = "dbus"
+RDEPENDS:${PN} = "dbus"
 
 # Bluez & Wifi are not mandatory except for handover
-RRECOMMENDS_${PN} = "\
+RRECOMMENDS:${PN} = "\
                      ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez5', '', d)} \
                      ${@bb.utils.contains('DISTRO_FEATURES', 'wifi','wpa-supplicant', '', d)} \
                     "
@@ -47,4 +47,4 @@ RRECOMMENDS_${PN} = "\
 INITSCRIPT_NAME = "neard"
 INITSCRIPT_PARAMS = "defaults 64"
 
-SYSTEMD_SERVICE_${PN} = "neard.service"
+SYSTEMD_SERVICE:${PN} = "neard.service"
diff --git a/meta/recipes-connectivity/nfs-utils/nfs-utils_2.5.4.bb b/meta/recipes-connectivity/nfs-utils/nfs-utils_2.5.4.bb
index 5500a9249f6..495ce4e542c 100644
--- a/meta/recipes-connectivity/nfs-utils/nfs-utils_2.5.4.bb
+++ b/meta/recipes-connectivity/nfs-utils/nfs-utils_2.5.4.bb
@@ -9,13 +9,13 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=95f3a93a5c3c7888de623b46ea085a84"
 
 # util-linux for libblkid
 DEPENDS = "libcap libevent util-linux sqlite3 libtirpc"
-RDEPENDS_${PN} = "${PN}-client"
-RRECOMMENDS_${PN} = "kernel-module-nfsd"
+RDEPENDS:${PN} = "${PN}-client"
+RRECOMMENDS:${PN} = "kernel-module-nfsd"
 
 inherit useradd
 
 USERADD_PACKAGES = "${PN}-client"
-USERADD_PARAM_${PN}-client = "--system  --home-dir /var/lib/nfs \
+USERADD_PARAM:${PN}-client = "--system  --home-dir /var/lib/nfs \
 			      --shell /bin/false --user-group rpcuser"
 
 SRC_URI = "${KERNELORG_MIRROR}/linux/utils/nfs-utils/${PV}/nfs-utils-${PV}.tar.xz \
@@ -39,14 +39,14 @@ SRC_URI[sha256sum] = "51997d94e4c8bcef5456dd36a9ccc38e231207c4e9b6a9a2c108841e6a
 INITSCRIPT_PACKAGES = "${PN} ${PN}-client"
 INITSCRIPT_NAME = "nfsserver"
 INITSCRIPT_PARAMS = "defaults"
-INITSCRIPT_NAME_${PN}-client = "nfscommon"
-INITSCRIPT_PARAMS_${PN}-client = "defaults 19 21"
+INITSCRIPT_NAME:${PN}-client = "nfscommon"
+INITSCRIPT_PARAMS:${PN}-client = "defaults 19 21"
 
 inherit autotools-brokensep update-rc.d systemd pkgconfig
 
 SYSTEMD_PACKAGES = "${PN} ${PN}-client"
-SYSTEMD_SERVICE_${PN} = "nfs-server.service nfs-mountd.service"
-SYSTEMD_SERVICE_${PN}-client = "nfs-statd.service"
+SYSTEMD_SERVICE:${PN} = "nfs-server.service nfs-mountd.service"
+SYSTEMD_SERVICE:${PN}-client = "nfs-statd.service"
 
 # --enable-uuid is need for cross-compiling
 EXTRA_OECONF = "--with-statduser=rpcuser \
@@ -62,7 +62,7 @@ EXTRA_OECONF = "--with-statduser=rpcuser \
 PACKAGECONFIG ??= "tcp-wrappers \
     ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \
 "
-PACKAGECONFIG_remove_libc-musl = "tcp-wrappers"
+PACKAGECONFIG:remove:libc-musl = "tcp-wrappers"
 PACKAGECONFIG[tcp-wrappers] = "--with-tcp-wrappers,--without-tcp-wrappers,tcp-wrappers"
 PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
 # libdevmapper is available in meta-oe
@@ -72,13 +72,13 @@ PACKAGECONFIG[nfsv4] = "--enable-nfsv4,--disable-nfsv4,keyutils,python3-core"
 
 PACKAGES =+ "${PN}-client ${PN}-mount ${PN}-stats"
 
-CONFFILES_${PN}-client += "${localstatedir}/lib/nfs/etab \
+CONFFILES:${PN}-client += "${localstatedir}/lib/nfs/etab \
 			   ${localstatedir}/lib/nfs/rmtab \
 			   ${localstatedir}/lib/nfs/xtab \
 			   ${localstatedir}/lib/nfs/statd/state \
 			   ${sysconfdir}/nfsmount.conf"
 
-FILES_${PN}-client = "${sbindir}/*statd \
+FILES:${PN}-client = "${sbindir}/*statd \
 		      ${sbindir}/rpc.idmapd ${sbindir}/sm-notify \
 		      ${sbindir}/showmount ${sbindir}/nfsstat \
 		      ${localstatedir}/lib/nfs \
@@ -86,32 +86,32 @@ FILES_${PN}-client = "${sbindir}/*statd \
 		      ${sysconfdir}/nfsmount.conf \
 		      ${sysconfdir}/init.d/nfscommon \
 		      ${systemd_unitdir}/system/nfs-statd.service"
-RDEPENDS_${PN}-client = "${PN}-mount rpcbind"
+RDEPENDS:${PN}-client = "${PN}-mount rpcbind"
 
-FILES_${PN}-mount = "${base_sbindir}/*mount.nfs*"
+FILES:${PN}-mount = "${base_sbindir}/*mount.nfs*"
 
-FILES_${PN}-stats = "${sbindir}/mountstats ${sbindir}/nfsiostat ${sbindir}/nfsdclnts"
-RDEPENDS_${PN}-stats = "python3-core"
+FILES:${PN}-stats = "${sbindir}/mountstats ${sbindir}/nfsiostat ${sbindir}/nfsdclnts"
+RDEPENDS:${PN}-stats = "python3-core"
 
-FILES_${PN}-staticdev += "${libdir}/libnfsidmap/*.a"
+FILES:${PN}-staticdev += "${libdir}/libnfsidmap/*.a"
 
-FILES_${PN} += "${systemd_unitdir} ${libdir}/libnfsidmap/"
+FILES:${PN} += "${systemd_unitdir} ${libdir}/libnfsidmap/"
 
-do_configure_prepend() {
+do_configure:prepend() {
 	sed -i -e 's,sbindir = /sbin,sbindir = ${base_sbindir},g' \
 		${S}/utils/mount/Makefile.am
 }
 
 # Make clean needed because the package comes with
 # precompiled 64-bit objects that break the build
-do_compile_prepend() {
+do_compile:prepend() {
 	make clean
 }
 
 # Works on systemd only
 HIGH_RLIMIT_NOFILE ??= "4096"
 
-do_install_append () {
+do_install:append () {
 	install -d ${D}${sysconfdir}/init.d
 	install -m 0755 ${WORKDIR}/nfsserver ${D}${sysconfdir}/init.d/nfsserver
 	install -m 0755 ${WORKDIR}/nfscommon ${D}${sysconfdir}/init.d/nfscommon
diff --git a/meta/recipes-connectivity/ofono/ofono_1.32.bb b/meta/recipes-connectivity/ofono/ofono_1.32.bb
index f3d875b204d..c3db52d944e 100644
--- a/meta/recipes-connectivity/ofono/ofono_1.32.bb
+++ b/meta/recipes-connectivity/ofono/ofono_1.32.bb
@@ -19,7 +19,7 @@ inherit autotools pkgconfig update-rc.d systemd gobject-introspection-data
 
 INITSCRIPT_NAME = "ofono"
 INITSCRIPT_PARAMS = "defaults 22"
-SYSTEMD_SERVICE_${PN} = "ofono.service"
+SYSTEMD_SERVICE:${PN} = "ofono.service"
 
 PACKAGECONFIG ??= "\
     ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \
@@ -30,26 +30,26 @@ PACKAGECONFIG[bluez] = "--enable-bluetooth, --disable-bluetooth, bluez5"
 
 EXTRA_OECONF += "--enable-test --enable-external-ell"
 
-do_configure_prepend() {
+do_configure:prepend() {
     bbnote "Removing bundled ell from ${S}/ell to prevent including it"
     rm -rf ${S}/ell
 }
 
-do_install_append() {
+do_install:append() {
     install -d ${D}${sysconfdir}/init.d/
     install -m 0755 ${WORKDIR}/ofono ${D}${sysconfdir}/init.d/ofono
 }
 
 PACKAGES =+ "${PN}-tests"
 
-FILES_${PN} += "${systemd_unitdir}"
-FILES_${PN}-tests = "${libdir}/${BPN}/test"
+FILES:${PN} += "${systemd_unitdir}"
+FILES:${PN}-tests = "${libdir}/${BPN}/test"
 
-RDEPENDS_${PN} += "dbus"
-RDEPENDS_${PN}-tests = "\
+RDEPENDS:${PN} += "dbus"
+RDEPENDS:${PN}-tests = "\
     python3-core \
     python3-dbus \
     ${@bb.utils.contains('GI_DATA_ENABLED', 'True', 'python3-pygobject', '', d)} \
 "
 
-RRECOMMENDS_${PN} += "kernel-module-tun mobile-broadband-provider-info"
+RRECOMMENDS:${PN} += "kernel-module-tun mobile-broadband-provider-info"
diff --git a/meta/recipes-connectivity/openssh/openssh_8.6p1.bb b/meta/recipes-connectivity/openssh/openssh_8.6p1.bb
index e8f041c58c1..093214cbfce 100644
--- a/meta/recipes-connectivity/openssh/openssh_8.6p1.bb
+++ b/meta/recipes-connectivity/openssh/openssh_8.6p1.bb
@@ -42,13 +42,13 @@ PAM_SRC_URI = "file://sshd"
 inherit manpages useradd update-rc.d update-alternatives systemd
 
 USERADD_PACKAGES = "${PN}-sshd"
-USERADD_PARAM_${PN}-sshd = "--system --no-create-home --home-dir /var/run/sshd --shell /bin/false --user-group sshd"
+USERADD_PARAM:${PN}-sshd = "--system --no-create-home --home-dir /var/run/sshd --shell /bin/false --user-group sshd"
 INITSCRIPT_PACKAGES = "${PN}-sshd"
-INITSCRIPT_NAME_${PN}-sshd = "sshd"
-INITSCRIPT_PARAMS_${PN}-sshd = "defaults 9"
+INITSCRIPT_NAME:${PN}-sshd = "sshd"
+INITSCRIPT_PARAMS:${PN}-sshd = "defaults 9"
 
 SYSTEMD_PACKAGES = "${PN}-sshd"
-SYSTEMD_SERVICE_${PN}-sshd = "sshd.socket"
+SYSTEMD_SERVICE:${PN}-sshd = "sshd.socket"
 
 inherit autotools-brokensep ptest
 
@@ -74,7 +74,7 @@ EXTRA_OECONF = "'LOGIN_PROGRAM=${base_bindir}/login' \
                 "
 
 # musl doesn't implement wtmp/utmp and logwtmp
-EXTRA_OECONF_append_libc-musl = " --disable-wtmp --disable-lastlog"
+EXTRA_OECONF:append:libc-musl = " --disable-wtmp --disable-lastlog"
 
 # Since we do not depend on libbsd, we do not want configure to use it
 # just because it finds libutil.h.  But, specifying --disable-libutil
@@ -87,7 +87,7 @@ CACHED_CONFIGUREVARS += "ac_cv_path_PATH_PASSWD_PROG=${bindir}/passwd"
 # We don't want to depend on libblockfile
 CACHED_CONFIGUREVARS += "ac_cv_header_maillock_h=no"
 
-do_configure_prepend () {
+do_configure:prepend () {
 	export LD="${CC}"
 	install -m 0644 ${WORKDIR}/sshd_config ${B}/
 	install -m 0644 ${WORKDIR}/ssh_config ${B}/
@@ -100,7 +100,7 @@ do_compile_ptest() {
                    regress/check-perm regress/mkdtemp
 }
 
-do_install_append () {
+do_install:append () {
 	if [ "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" ]; then
 		install -D -m 0644 ${WORKDIR}/sshd ${D}${sysconfdir}/pam.d/sshd
 		sed -i -e 's:#UsePAM no:UsePAM yes:' ${D}${sysconfdir}/ssh/sshd_config
@@ -147,39 +147,39 @@ do_install_ptest () {
 	cp -r regress ${D}${PTEST_PATH}
 }
 
-ALLOW_EMPTY_${PN} = "1"
+ALLOW_EMPTY:${PN} = "1"
 
 PACKAGES =+ "${PN}-keygen ${PN}-scp ${PN}-ssh ${PN}-sshd ${PN}-sftp ${PN}-misc ${PN}-sftp-server"
-FILES_${PN}-scp = "${bindir}/scp.${BPN}"
-FILES_${PN}-ssh = "${bindir}/ssh.${BPN} ${sysconfdir}/ssh/ssh_config"
-FILES_${PN}-sshd = "${sbindir}/sshd ${sysconfdir}/init.d/sshd ${systemd_unitdir}/system"
-FILES_${PN}-sshd += "${sysconfdir}/ssh/moduli ${sysconfdir}/ssh/sshd_config ${sysconfdir}/ssh/sshd_config_readonly ${sysconfdir}/default/volatiles/99_sshd ${sysconfdir}/pam.d/sshd"
-FILES_${PN}-sshd += "${libexecdir}/${BPN}/sshd_check_keys"
-FILES_${PN}-sftp = "${bindir}/sftp"
-FILES_${PN}-sftp-server = "${libexecdir}/sftp-server"
-FILES_${PN}-misc = "${bindir}/ssh* ${libexecdir}/ssh*"
-FILES_${PN}-keygen = "${bindir}/ssh-keygen"
-
-RDEPENDS_${PN} += "${PN}-scp ${PN}-ssh ${PN}-sshd ${PN}-keygen"
-RDEPENDS_${PN}-sshd += "${PN}-keygen ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam-plugin-keyinit pam-plugin-loginuid', '', d)}"
-RRECOMMENDS_${PN}-sshd_append_class-target = "\
+FILES:${PN}-scp = "${bindir}/scp.${BPN}"
+FILES:${PN}-ssh = "${bindir}/ssh.${BPN} ${sysconfdir}/ssh/ssh_config"
+FILES:${PN}-sshd = "${sbindir}/sshd ${sysconfdir}/init.d/sshd ${systemd_unitdir}/system"
+FILES:${PN}-sshd += "${sysconfdir}/ssh/moduli ${sysconfdir}/ssh/sshd_config ${sysconfdir}/ssh/sshd_config_readonly ${sysconfdir}/default/volatiles/99_sshd ${sysconfdir}/pam.d/sshd"
+FILES:${PN}-sshd += "${libexecdir}/${BPN}/sshd_check_keys"
+FILES:${PN}-sftp = "${bindir}/sftp"
+FILES:${PN}-sftp-server = "${libexecdir}/sftp-server"
+FILES:${PN}-misc = "${bindir}/ssh* ${libexecdir}/ssh*"
+FILES:${PN}-keygen = "${bindir}/ssh-keygen"
+
+RDEPENDS:${PN} += "${PN}-scp ${PN}-ssh ${PN}-sshd ${PN}-keygen"
+RDEPENDS:${PN}-sshd += "${PN}-keygen ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam-plugin-keyinit pam-plugin-loginuid', '', d)}"
+RRECOMMENDS:${PN}-sshd:append:class-target = "\
     ${@bb.utils.filter('PACKAGECONFIG', 'rng-tools', d)} \
 "
 
 # gdb would make attach-ptrace test pass rather than skip but not worth the build dependencies
-RDEPENDS_${PN}-ptest += "${PN}-sftp ${PN}-misc ${PN}-sftp-server make sed sudo coreutils"
+RDEPENDS:${PN}-ptest += "${PN}-sftp ${PN}-misc ${PN}-sftp-server make sed sudo coreutils"
 
-RPROVIDES_${PN}-ssh = "ssh"
-RPROVIDES_${PN}-sshd = "sshd"
+RPROVIDES:${PN}-ssh = "ssh"
+RPROVIDES:${PN}-sshd = "sshd"
 
-RCONFLICTS_${PN} = "dropbear"
-RCONFLICTS_${PN}-sshd = "dropbear"
+RCONFLICTS:${PN} = "dropbear"
+RCONFLICTS:${PN}-sshd = "dropbear"
 
-CONFFILES_${PN}-sshd = "${sysconfdir}/ssh/sshd_config"
-CONFFILES_${PN}-ssh = "${sysconfdir}/ssh/ssh_config"
+CONFFILES:${PN}-sshd = "${sysconfdir}/ssh/sshd_config"
+CONFFILES:${PN}-ssh = "${sysconfdir}/ssh/ssh_config"
 
 ALTERNATIVE_PRIORITY = "90"
-ALTERNATIVE_${PN}-scp = "scp"
-ALTERNATIVE_${PN}-ssh = "ssh"
+ALTERNATIVE:${PN}-scp = "scp"
+ALTERNATIVE:${PN}-ssh = "ssh"
 
 BBCLASSEXTEND += "nativesdk"
diff --git a/meta/recipes-connectivity/openssl/openssl_1.1.1k.bb b/meta/recipes-connectivity/openssl/openssl_1.1.1k.bb
index e518cb6a02e..09afa27ac1f 100644
--- a/meta/recipes-connectivity/openssl/openssl_1.1.1k.bb
+++ b/meta/recipes-connectivity/openssl/openssl_1.1.1k.bb
@@ -19,11 +19,11 @@ SRC_URI = "http://www.openssl.org/source/openssl-${PV}.tar.gz \
            file://reproducible.patch \
            "
 
-SRC_URI_append_class-nativesdk = " \
+SRC_URI:append:class-nativesdk = " \
            file://environment.d-openssl.sh \
            "
 
-SRC_URI_append_riscv32 = " \
+SRC_URI:append:riscv32 = " \
            file://0003-Add-support-for-io_pgetevents_time64-syscall.patch \
            file://0004-Fixup-support-for-io_pgetevents_time64-syscall.patch \
            "
@@ -34,8 +34,8 @@ inherit lib_package multilib_header multilib_script ptest
 MULTILIB_SCRIPTS = "${PN}-bin:${bindir}/c_rehash"
 
 PACKAGECONFIG ?= ""
-PACKAGECONFIG_class-native = ""
-PACKAGECONFIG_class-nativesdk = ""
+PACKAGECONFIG:class-native = ""
+PACKAGECONFIG:class-nativesdk = ""
 
 PACKAGECONFIG[cryptodev-linux] = "enable-devcryptoeng,disable-devcryptoeng,cryptodev-linux,,cryptodev-module"
 PACKAGECONFIG[no-tls1] = "no-tls1"
@@ -47,17 +47,17 @@ do_configure[cleandirs] = "${B}"
 #| ./libcrypto.so: undefined reference to `getcontext'
 #| ./libcrypto.so: undefined reference to `setcontext'
 #| ./libcrypto.so: undefined reference to `makecontext'
-EXTRA_OECONF_append_libc-musl = " no-async"
-EXTRA_OECONF_append_libc-musl_powerpc64 = " no-asm"
+EXTRA_OECONF:append:libc-musl = " no-async"
+EXTRA_OECONF:append:libc-musl:powerpc64 = " no-asm"
 
 # adding devrandom prevents openssl from using getrandom() which is not available on older glibc versions
 # (native versions can be built with newer glibc, but then relocated onto a system with older glibc)
-EXTRA_OECONF_class-native = "--with-rand-seed=os,devrandom"
-EXTRA_OECONF_class-nativesdk = "--with-rand-seed=os,devrandom"
+EXTRA_OECONF:class-native = "--with-rand-seed=os,devrandom"
+EXTRA_OECONF:class-nativesdk = "--with-rand-seed=os,devrandom"
 
 # Relying on hardcoded built-in paths causes openssl-native to not be relocateable from sstate.
-CFLAGS_append_class-native = " -DOPENSSLDIR=/not/builtin -DENGINESDIR=/not/builtin"
-CFLAGS_append_class-nativesdk = " -DOPENSSLDIR=/not/builtin -DENGINESDIR=/not/builtin"
+CFLAGS:append:class-native = " -DOPENSSLDIR=/not/builtin -DENGINESDIR=/not/builtin"
+CFLAGS:append:class-nativesdk = " -DOPENSSLDIR=/not/builtin -DENGINESDIR=/not/builtin"
 
 # Disable deprecated crypto algorithms
 # Retained for compatibilty
@@ -170,7 +170,7 @@ do_install () {
 	ln -sf ${@oe.path.relative('${libdir}/ssl-1.1', '${sysconfdir}/ssl/openssl.cnf')} ${D}${libdir}/ssl-1.1/openssl.cnf
 }
 
-do_install_append_class-native () {
+do_install:append:class-native () {
 	create_wrapper ${D}${bindir}/openssl \
 	    OPENSSL_CONF=${libdir}/ssl-1.1/openssl.cnf \
 	    SSL_CERT_DIR=${libdir}/ssl-1.1/certs \
@@ -178,7 +178,7 @@ do_install_append_class-native () {
 	    OPENSSL_ENGINES=${libdir}/engines-1.1
 }
 
-do_install_append_class-nativesdk () {
+do_install:append:class-nativesdk () {
 	mkdir -p ${D}${SDKPATHNATIVE}/environment-setup.d
 	install -m 644 ${WORKDIR}/environment.d-openssl.sh ${D}${SDKPATHNATIVE}/environment-setup.d/openssl.sh
 	sed 's|/usr/lib/ssl/|/usr/lib/ssl-1.1/|g' -i ${D}${SDKPATHNATIVE}/environment-setup.d/openssl.sh
@@ -217,25 +217,25 @@ do_install_ptest () {
 
 PACKAGES =+ "libcrypto libssl openssl-conf ${PN}-engines ${PN}-misc"
 
-FILES_libcrypto = "${libdir}/libcrypto${SOLIBS}"
-FILES_libssl = "${libdir}/libssl${SOLIBS}"
-FILES_openssl-conf = "${sysconfdir}/ssl/openssl.cnf \
+FILES:libcrypto = "${libdir}/libcrypto${SOLIBS}"
+FILES:libssl = "${libdir}/libssl${SOLIBS}"
+FILES:openssl-conf = "${sysconfdir}/ssl/openssl.cnf \
                       ${libdir}/ssl-1.1/openssl.cnf* \
                       "
-FILES_${PN}-engines = "${libdir}/engines-1.1"
+FILES:${PN}-engines = "${libdir}/engines-1.1"
 # ${prefix} comes from what we pass into --prefix at configure time (which is used for INSTALLTOP)
-FILES_${PN}-engines_append_mingw32_class-nativesdk = " ${prefix}${libdir}/engines-1_1"
-FILES_${PN}-misc = "${libdir}/ssl-1.1/misc ${bindir}/c_rehash"
-FILES_${PN} =+ "${libdir}/ssl-1.1/*"
-FILES_${PN}_append_class-nativesdk = " ${SDKPATHNATIVE}/environment-setup.d/openssl.sh"
+FILES:${PN}-engines:append:mingw32:class-nativesdk = " ${prefix}${libdir}/engines-1_1"
+FILES:${PN}-misc = "${libdir}/ssl-1.1/misc ${bindir}/c_rehash"
+FILES:${PN} =+ "${libdir}/ssl-1.1/*"
+FILES:${PN}:append:class-nativesdk = " ${SDKPATHNATIVE}/environment-setup.d/openssl.sh"
 
-CONFFILES_openssl-conf = "${sysconfdir}/ssl/openssl.cnf"
+CONFFILES:openssl-conf = "${sysconfdir}/ssl/openssl.cnf"
 
-RRECOMMENDS_libcrypto += "openssl-conf"
-RDEPENDS_${PN}-misc = "perl"
-RDEPENDS_${PN}-ptest += "openssl-bin perl perl-modules bash"
+RRECOMMENDS:libcrypto += "openssl-conf"
+RDEPENDS:${PN}-misc = "perl"
+RDEPENDS:${PN}-ptest += "openssl-bin perl perl-modules bash"
 
-RDEPENDS_${PN}-bin += "openssl-conf"
+RDEPENDS:${PN}-bin += "openssl-conf"
 
 BBCLASSEXTEND = "native nativesdk"
 
diff --git a/meta/recipes-connectivity/ppp-dialin/ppp-dialin_0.1.bb b/meta/recipes-connectivity/ppp-dialin/ppp-dialin_0.1.bb
index b0097aa4803..8a6c297cb0d 100644
--- a/meta/recipes-connectivity/ppp-dialin/ppp-dialin_0.1.bb
+++ b/meta/recipes-connectivity/ppp-dialin/ppp-dialin_0.1.bb
@@ -2,7 +2,7 @@ SUMMARY = "Enables PPP dial-in through a serial connection"
 SECTION = "console/network"
 DESCRIPTION = "PPP dail-in provides a point to point protocol (PPP), so that other computers can dial up to it and access connected networks."
 DEPENDS = "ppp"
-RDEPENDS_${PN} = "ppp"
+RDEPENDS:${PN} = "ppp"
 PR = "r8"
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
@@ -23,6 +23,6 @@ do_install() {
 }
 
 USERADD_PACKAGES = "${PN}"
-USERADD_PARAM_${PN} = "--system --home /dev/null \
+USERADD_PARAM:${PN} = "--system --home /dev/null \
                        --no-create-home --shell ${sbindir}/ppp-dialin \
                        --no-user-group --gid nogroup ppp"
diff --git a/meta/recipes-connectivity/ppp/ppp_2.4.9.bb b/meta/recipes-connectivity/ppp/ppp_2.4.9.bb
index a78992fa5e3..6e5cfc8f912 100644
--- a/meta/recipes-connectivity/ppp/ppp_2.4.9.bb
+++ b/meta/recipes-connectivity/ppp/ppp_2.4.9.bb
@@ -43,7 +43,7 @@ do_configure () {
 	oe_runconf
 }
 
-do_install_append () {
+do_install:append () {
 	make install-etcppp ETCDIR=${D}/${sysconfdir}/ppp
 	mkdir -p ${D}${bindir}/ ${D}${sysconfdir}/init.d
 	mkdir -p ${D}${sysconfdir}/ppp/ip-up.d/
@@ -68,29 +68,29 @@ do_install_append () {
 	chmod u+s ${D}${sbindir}/pppd
 }
 
-do_install_append_libc-musl () {
+do_install:append:libc-musl () {
 	install -Dm 0644 ${S}/include/net/ppp_defs.h ${D}${includedir}/net/ppp_defs.h
 }
 
-CONFFILES_${PN} = "${sysconfdir}/ppp/pap-secrets ${sysconfdir}/ppp/chap-secrets ${sysconfdir}/ppp/options"
+CONFFILES:${PN} = "${sysconfdir}/ppp/pap-secrets ${sysconfdir}/ppp/chap-secrets ${sysconfdir}/ppp/options"
 PACKAGES =+ "${PN}-oa ${PN}-oe ${PN}-radius ${PN}-winbind ${PN}-minconn ${PN}-password ${PN}-l2tp ${PN}-tools"
-FILES_${PN}        = "${sysconfdir} ${bindir} ${sbindir}/chat ${sbindir}/pppd ${systemd_unitdir}/system/ppp@.service"
-FILES_${PN}-oa       = "${libdir}/pppd/${PV}/pppoatm.so"
-FILES_${PN}-oe       = "${sbindir}/pppoe-discovery ${libdir}/pppd/${PV}/*pppoe.so"
-FILES_${PN}-radius   = "${libdir}/pppd/${PV}/radius.so ${libdir}/pppd/${PV}/radattr.so ${libdir}/pppd/${PV}/radrealms.so"
-FILES_${PN}-winbind  = "${libdir}/pppd/${PV}/winbind.so"
-FILES_${PN}-minconn  = "${libdir}/pppd/${PV}/minconn.so"
-FILES_${PN}-password = "${libdir}/pppd/${PV}/pass*.so"
-FILES_${PN}-l2tp     = "${libdir}/pppd/${PV}/*l2tp.so"
-FILES_${PN}-tools    = "${sbindir}/pppstats ${sbindir}/pppdump"
-SUMMARY_${PN}-oa       = "Plugin for PPP for PPP-over-ATM support"
-SUMMARY_${PN}-oe       = "Plugin for PPP for PPP-over-Ethernet support"
-SUMMARY_${PN}-radius   = "Plugin for PPP for RADIUS support"
-SUMMARY_${PN}-winbind  = "Plugin for PPP to authenticate against Samba or Windows"
-SUMMARY_${PN}-minconn  = "Plugin for PPP to set a delay before the idle timeout applies"
-SUMMARY_${PN}-password = "Plugin for PPP to get passwords via a pipe"
-SUMMARY_${PN}-l2tp     = "Plugin for PPP for l2tp support"
-SUMMARY_${PN}-tools    = "Additional tools for the PPP package"
+FILES:${PN}        = "${sysconfdir} ${bindir} ${sbindir}/chat ${sbindir}/pppd ${systemd_unitdir}/system/ppp@.service"
+FILES:${PN}-oa       = "${libdir}/pppd/${PV}/pppoatm.so"
+FILES:${PN}-oe       = "${sbindir}/pppoe-discovery ${libdir}/pppd/${PV}/*pppoe.so"
+FILES:${PN}-radius   = "${libdir}/pppd/${PV}/radius.so ${libdir}/pppd/${PV}/radattr.so ${libdir}/pppd/${PV}/radrealms.so"
+FILES:${PN}-winbind  = "${libdir}/pppd/${PV}/winbind.so"
+FILES:${PN}-minconn  = "${libdir}/pppd/${PV}/minconn.so"
+FILES:${PN}-password = "${libdir}/pppd/${PV}/pass*.so"
+FILES:${PN}-l2tp     = "${libdir}/pppd/${PV}/*l2tp.so"
+FILES:${PN}-tools    = "${sbindir}/pppstats ${sbindir}/pppdump"
+SUMMARY:${PN}-oa       = "Plugin for PPP for PPP-over-ATM support"
+SUMMARY:${PN}-oe       = "Plugin for PPP for PPP-over-Ethernet support"
+SUMMARY:${PN}-radius   = "Plugin for PPP for RADIUS support"
+SUMMARY:${PN}-winbind  = "Plugin for PPP to authenticate against Samba or Windows"
+SUMMARY:${PN}-minconn  = "Plugin for PPP to set a delay before the idle timeout applies"
+SUMMARY:${PN}-password = "Plugin for PPP to get passwords via a pipe"
+SUMMARY:${PN}-l2tp     = "Plugin for PPP for l2tp support"
+SUMMARY:${PN}-tools    = "Additional tools for the PPP package"
 
 # Ignore compatibility symlink rp-pppoe.so->pppoe.so
-INSANE_SKIP_${PN}-oe += "dev-so"
+INSANE_SKIP:${PN}-oe += "dev-so"
diff --git a/meta/recipes-connectivity/resolvconf/resolvconf_1.87.bb b/meta/recipes-connectivity/resolvconf/resolvconf_1.87.bb
index 6df96b699ca..f57abe36195 100644
--- a/meta/recipes-connectivity/resolvconf/resolvconf_1.87.bb
+++ b/meta/recipes-connectivity/resolvconf/resolvconf_1.87.bb
@@ -9,7 +9,7 @@ LICENSE = "GPLv2+"
 LIC_FILES_CHKSUM = "file://COPYING;md5=c93c0550bd3173f4504b2cbd8991e50b"
 AUTHOR = "Thomas Hood"
 HOMEPAGE = "http://packages.debian.org/resolvconf"
-RDEPENDS_${PN} = "bash"
+RDEPENDS:${PN} = "bash"
 
 SRC_URI = "git://salsa.debian.org/debian/resolvconf.git;protocol=https;branch=unstable \
            file://fix-path-for-busybox.patch \
@@ -55,7 +55,7 @@ do_install () {
 	install -m 0644 man/resolvconf.8 ${D}${mandir}/man8/
 }
 
-pkg_postinst_${PN} () {
+pkg_postinst:${PN} () {
 	if [ -z "$D" ]; then
 		if command -v systemd-tmpfiles >/dev/null; then
 			systemd-tmpfiles --create ${sysconfdir}/tmpfiles.d/resolvconf.conf
@@ -65,4 +65,4 @@ pkg_postinst_${PN} () {
 	fi
 }
 
-FILES_${PN} += "${base_libdir}/${BPN}"
+FILES:${PN} += "${base_libdir}/${BPN}"
diff --git a/meta/recipes-connectivity/socat/socat_1.7.4.1.bb b/meta/recipes-connectivity/socat/socat_1.7.4.1.bb
index 5a13af91bc5..1ad5f15b930 100644
--- a/meta/recipes-connectivity/socat/socat_1.7.4.1.bb
+++ b/meta/recipes-connectivity/socat/socat_1.7.4.1.bb
@@ -29,15 +29,15 @@ TERMBITS_SHIFTS ?= "sc_cv_sys_crdly_shift=9 \
                     sc_cv_sys_tabdly_shift=11 \
                     sc_cv_sys_csize_shift=4"
 
-TERMBITS_SHIFTS_powerpc = "sc_cv_sys_crdly_shift=12 \
+TERMBITS_SHIFTS:powerpc = "sc_cv_sys_crdly_shift=12 \
                            sc_cv_sys_tabdly_shift=10 \
                            sc_cv_sys_csize_shift=8"
 
-TERMBITS_SHIFTS_powerpc64 = "sc_cv_sys_crdly_shift=12 \
+TERMBITS_SHIFTS:powerpc64 = "sc_cv_sys_crdly_shift=12 \
                              sc_cv_sys_tabdly_shift=10 \
                              sc_cv_sys_csize_shift=8"
 
-PACKAGECONFIG_class-target ??= "tcp-wrappers readline openssl"
+PACKAGECONFIG:class-target ??= "tcp-wrappers readline openssl"
 PACKAGECONFIG ??= "readline openssl"
 PACKAGECONFIG[tcp-wrappers] = "--enable-libwrap,--disable-libwrap,tcp-wrappers"
 PACKAGECONFIG[readline] = "--enable-readline,--disable-readline,readline"
@@ -45,7 +45,7 @@ PACKAGECONFIG[openssl] = "--enable-openssl,--disable-openssl,openssl"
 
 CFLAGS += "-fcommon"
 
-do_install_prepend () {
+do_install:prepend () {
     mkdir -p ${D}${bindir}
     install -d ${D}${bindir} ${D}${mandir}/man1
 }
diff --git a/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.9.bb b/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.9.bb
index 16c59185227..309bb4aea55 100644
--- a/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.9.bb
+++ b/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.9.bb
@@ -8,7 +8,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=279b4f5abb9c153c285221855ddb78cc \
                     file://README;beginline=1;endline=56;md5=e7d3dbb01f75f0b9799e192731d1e1ff \
                     file://wpa_supplicant/wpa_supplicant.c;beginline=1;endline=12;md5=0a8b56d3543498b742b9c0e94cc2d18b"
 DEPENDS = "dbus libnl"
-RRECOMMENDS_${PN} = "wpa-supplicant-passphrase wpa-supplicant-cli"
+RRECOMMENDS:${PN} = "wpa-supplicant-passphrase wpa-supplicant-cli"
 
 PACKAGECONFIG ??= "openssl"
 PACKAGECONFIG[gnutls] = ",,gnutls libgcrypt"
@@ -16,7 +16,7 @@ PACKAGECONFIG[openssl] = ",,openssl"
 
 inherit pkgconfig systemd
 
-SYSTEMD_SERVICE_${PN} = "wpa_supplicant.service"
+SYSTEMD_SERVICE:${PN} = "wpa_supplicant.service"
 SYSTEMD_AUTO_ENABLE = "disable"
 
 SRC_URI = "http://w1.fi/releases/wpa_supplicant-${PV}.tar.gz  \
@@ -41,11 +41,11 @@ CVE_PRODUCT = "wpa_supplicant"
 
 S = "${WORKDIR}/wpa_supplicant-${PV}"
 
-PACKAGES_prepend = "wpa-supplicant-passphrase wpa-supplicant-cli "
-FILES_wpa-supplicant-passphrase = "${bindir}/wpa_passphrase"
-FILES_wpa-supplicant-cli = "${sbindir}/wpa_cli"
-FILES_${PN} += "${datadir}/dbus-1/system-services/* ${systemd_system_unitdir}/*"
-CONFFILES_${PN} += "${sysconfdir}/wpa_supplicant.conf"
+PACKAGES:prepend = "wpa-supplicant-passphrase wpa-supplicant-cli "
+FILES:wpa-supplicant-passphrase = "${bindir}/wpa_passphrase"
+FILES:wpa-supplicant-cli = "${sbindir}/wpa_cli"
+FILES:${PN} += "${datadir}/dbus-1/system-services/* ${systemd_system_unitdir}/*"
+CONFFILES:${PN} += "${sysconfdir}/wpa_supplicant.conf"
 
 do_configure () {
 	${MAKE} -C wpa_supplicant clean
@@ -108,7 +108,7 @@ do_install () {
 	install -m 0644 ${WORKDIR}/99_wpa_supplicant ${D}/etc/default/volatiles
 }
 
-pkg_postinst_wpa-supplicant () {
+pkg_postinst:wpa-supplicant () {
 	# If we're offline, we don't need to do this.
 	if [ "x$D" = "x" ]; then
 		killall -q -HUP dbus-daemon || true
diff --git a/meta/recipes-core/base-files/base-files_3.0.14.bb b/meta/recipes-core/base-files/base-files_3.0.14.bb
index 94299431f61..032827a0d06 100644
--- a/meta/recipes-core/base-files/base-files_3.0.14.bb
+++ b/meta/recipes-core/base-files/base-files_3.0.14.bb
@@ -28,7 +28,7 @@ S = "${WORKDIR}"
 
 INHIBIT_DEFAULT_DEPS = "1"
 
-docdir_append = "/${P}"
+docdir:append = "/${P}"
 dirs1777 = "/tmp ${localstatedir}/volatile/tmp"
 dirs2775 = ""
 dirs555 = "/sys /proc"
@@ -64,7 +64,7 @@ conffiles = "${sysconfdir}/debian_version ${sysconfdir}/host.conf \
 # hostnames.
 #
 # The hostname can be changed outside of this recipe by using
-# hostname_pn-base-files = "my-host-name".
+# hostname:pn-base-files = "my-host-name".
 hostname = "${MACHINE}"
 
 BASEFILESISSUEINSTALL ?= "do_install_basefilesissue"
@@ -77,7 +77,7 @@ BASEFILESISSUEINSTALL ?= "do_install_basefilesissue"
 # Otherwise the directory creation will fail and we will have circular symbolic
 # links.
 # 
-pkg_preinst_${PN} () {
+pkg_preinst:${PN} () {
     #!/bin/sh -e
     if [ x"$D" = "x" ]; then
         if [ -h "/var/lock" ]; then
@@ -139,7 +139,7 @@ do_install () {
 	fi
 }
 
-do_install_append_libc-glibc () {
+do_install:append:libc-glibc () {
 	install -m 0644 ${WORKDIR}/nsswitch.conf ${D}${sysconfdir}/nsswitch.conf
 }
 
@@ -162,7 +162,7 @@ do_install_basefilesissue () {
 }
 do_install_basefilesissue[vardepsexclude] += "DATE"
 
-do_install_append_linuxstdbase() {
+do_install:append:linuxstdbase() {
 	for d in ${dirs755-lsb}; do
                 install -m 0755 -d ${D}$d
         done
@@ -175,10 +175,10 @@ do_install_append_linuxstdbase() {
 SYSROOT_DIRS += "${sysconfdir}/skel"
 
 PACKAGES = "${PN}-doc ${PN} ${PN}-dev ${PN}-dbg"
-FILES_${PN} = "/"
-FILES_${PN}-doc = "${docdir} ${datadir}/common-licenses"
+FILES:${PN} = "/"
+FILES:${PN}-doc = "${docdir} ${datadir}/common-licenses"
 
 PACKAGE_ARCH = "${MACHINE_ARCH}"
 
-CONFFILES_${PN} = "${sysconfdir}/fstab ${@['', '${sysconfdir}/hostname ${sysconfdir}/hosts'][(d.getVar('hostname') != '')]} ${sysconfdir}/shells"
-CONFFILES_${PN} += "${sysconfdir}/motd ${sysconfdir}/nsswitch.conf ${sysconfdir}/profile"
+CONFFILES:${PN} = "${sysconfdir}/fstab ${@['', '${sysconfdir}/hostname ${sysconfdir}/hosts'][(d.getVar('hostname') != '')]} ${sysconfdir}/shells"
+CONFFILES:${PN} += "${sysconfdir}/motd ${sysconfdir}/nsswitch.conf ${sysconfdir}/profile"
diff --git a/meta/recipes-core/base-passwd/base-passwd_3.5.29.bb b/meta/recipes-core/base-passwd/base-passwd_3.5.29.bb
index 65b3cd778d6..2926a377c6f 100644
--- a/meta/recipes-core/base-passwd/base-passwd_3.5.29.bb
+++ b/meta/recipes-core/base-passwd/base-passwd_3.5.29.bb
@@ -73,7 +73,7 @@ base_passwd_tweaksysroot () {
 	chmod 0755 $dest
 }
 
-python populate_packages_prepend() {
+python populate_packages:prepend() {
     # Add in the preinst function for ${PN}
     # We have to do this here as prior to this, passwd/group.master
     # would be unavailable. We need to create these files at preinst
@@ -98,17 +98,17 @@ if [ ! -e $D${sysconfdir}/group ]; then
 """ + group + """EOF
 fi
 """
-    d.setVar(d.expand('pkg_preinst_${PN}'), preinst)
+    d.setVar(d.expand('pkg_preinst:${PN}'), preinst)
 }
 
 addtask do_package after do_populate_sysroot
 
-ALLOW_EMPTY_${PN} = "1"
+ALLOW_EMPTY:${PN} = "1"
 
 PACKAGES =+ "${PN}-update"
-FILES_${PN}-update = "${sbindir}/* ${datadir}/${PN}"
+FILES:${PN}-update = "${sbindir}/* ${datadir}/${PN}"
 
-pkg_postinst_${PN}-update () {
+pkg_postinst:${PN}-update () {
 #!/bin/sh
 if [ -n "$D" ]; then
 	exit 0
diff --git a/meta/recipes-core/busybox/busybox-inittab_1.33.0.bb b/meta/recipes-core/busybox/busybox-inittab_1.33.0.bb
index 3804f4f7b2d..be8c06323ce 100644
--- a/meta/recipes-core/busybox/busybox-inittab_1.33.0.bb
+++ b/meta/recipes-core/busybox/busybox-inittab_1.33.0.bb
@@ -45,14 +45,14 @@ EOF
 
 }
 
-pkg_postinst_${PN} () {
+pkg_postinst:${PN} () {
 # run this on host and on target
 if [ "${SERIAL_CONSOLES_CHECK}" = "" ]; then
        exit 0
 fi
 }
 
-pkg_postinst_ontarget_${PN} () {
+pkg_postinst_ontarget:${PN} () {
 # run this on the target
 if [ -e /proc/consoles ]; then
         tmp="${SERIAL_CONSOLES_CHECK}"
@@ -76,10 +76,10 @@ fi
 # Set PACKAGE_ARCH appropriately.
 PACKAGE_ARCH = "${MACHINE_ARCH}"
 
-FILES_${PN} = "${sysconfdir}/inittab"
-CONFFILES_${PN} = "${sysconfdir}/inittab"
+FILES:${PN} = "${sysconfdir}/inittab"
+CONFFILES:${PN} = "${sysconfdir}/inittab"
 
-RCONFLICTS_${PN} = "sysvinit-inittab"
+RCONFLICTS:${PN} = "sysvinit-inittab"
 
 USE_VT ?= "1"
 SYSVINIT_ENABLED_GETTYS ?= "1"
diff --git a/meta/recipes-core/busybox/busybox.inc b/meta/recipes-core/busybox/busybox.inc
index 47fcb593025..d85e2a3d7ad 100644
--- a/meta/recipes-core/busybox/busybox.inc
+++ b/meta/recipes-core/busybox/busybox.inc
@@ -23,39 +23,39 @@ EXTRA_OEMAKE = "CC='${CC}' LD='${CCLD}' V=1 ARCH=${TARGET_ARCH} CROSS_COMPILE=${
 
 PACKAGES =+ "${PN}-httpd ${PN}-udhcpd ${PN}-udhcpc ${PN}-syslog ${PN}-mdev ${PN}-hwclock"
 
-FILES_${PN}-httpd = "${sysconfdir}/init.d/busybox-httpd /srv/www"
-FILES_${PN}-syslog = "${sysconfdir}/init.d/syslog* ${sysconfdir}/syslog-startup.conf* ${sysconfdir}/syslog.conf* ${systemd_unitdir}/system/syslog.service ${sysconfdir}/default/busybox-syslog"
-FILES_${PN}-mdev = "${sysconfdir}/init.d/mdev ${sysconfdir}/mdev.conf ${sysconfdir}/mdev/*"
-FILES_${PN}-udhcpd = "${sysconfdir}/init.d/busybox-udhcpd"
-FILES_${PN}-udhcpc = "${sysconfdir}/udhcpc.d ${datadir}/udhcpc"
-FILES_${PN}-hwclock = "${sysconfdir}/init.d/hwclock.sh"
+FILES:${PN}-httpd = "${sysconfdir}/init.d/busybox-httpd /srv/www"
+FILES:${PN}-syslog = "${sysconfdir}/init.d/syslog* ${sysconfdir}/syslog-startup.conf* ${sysconfdir}/syslog.conf* ${systemd_unitdir}/system/syslog.service ${sysconfdir}/default/busybox-syslog"
+FILES:${PN}-mdev = "${sysconfdir}/init.d/mdev ${sysconfdir}/mdev.conf ${sysconfdir}/mdev/*"
+FILES:${PN}-udhcpd = "${sysconfdir}/init.d/busybox-udhcpd"
+FILES:${PN}-udhcpc = "${sysconfdir}/udhcpc.d ${datadir}/udhcpc"
+FILES:${PN}-hwclock = "${sysconfdir}/init.d/hwclock.sh"
 
 INITSCRIPT_PACKAGES = "${PN}-httpd ${PN}-syslog ${PN}-udhcpd ${PN}-mdev ${PN}-hwclock"
 
-INITSCRIPT_NAME_${PN}-httpd = "busybox-httpd"
-INITSCRIPT_NAME_${PN}-hwclock = "hwclock.sh"
-INITSCRIPT_NAME_${PN}-mdev = "mdev"
-INITSCRIPT_PARAMS_${PN}-mdev = "start 04 S ."
-INITSCRIPT_NAME_${PN}-syslog = "syslog"
-INITSCRIPT_NAME_${PN}-udhcpd = "busybox-udhcpd"
+INITSCRIPT_NAME:${PN}-httpd = "busybox-httpd"
+INITSCRIPT_NAME:${PN}-hwclock = "hwclock.sh"
+INITSCRIPT_NAME:${PN}-mdev = "mdev"
+INITSCRIPT_PARAMS:${PN}-mdev = "start 04 S ."
+INITSCRIPT_NAME:${PN}-syslog = "syslog"
+INITSCRIPT_NAME:${PN}-udhcpd = "busybox-udhcpd"
 
 SYSTEMD_PACKAGES = "${PN}-syslog"
-SYSTEMD_SERVICE_${PN}-syslog = "${@bb.utils.contains('SRC_URI', 'file://syslog.cfg', 'busybox-syslog.service', '', d)}"
+SYSTEMD_SERVICE:${PN}-syslog = "${@bb.utils.contains('SRC_URI', 'file://syslog.cfg', 'busybox-syslog.service', '', d)}"
 
-RDEPENDS_${PN}-syslog = "busybox"
-CONFFILES_${PN}-syslog = "${sysconfdir}/syslog-startup.conf"
-RCONFLICTS_${PN}-syslog = "rsyslog sysklogd syslog-ng"
+RDEPENDS:${PN}-syslog = "busybox"
+CONFFILES:${PN}-syslog = "${sysconfdir}/syslog-startup.conf"
+RCONFLICTS:${PN}-syslog = "rsyslog sysklogd syslog-ng"
 
-CONFFILES_${PN}-mdev = "${sysconfdir}/mdev.conf"
+CONFFILES:${PN}-mdev = "${sysconfdir}/mdev.conf"
 
-RRECOMMENDS_${PN} = "${PN}-udhcpc"
+RRECOMMENDS:${PN} = "${PN}-udhcpc"
 
-RDEPENDS_${PN} = "${@["", "busybox-inittab"][(d.getVar('VIRTUAL-RUNTIME_init_manager') == 'busybox')]}"
+RDEPENDS:${PN} = "${@["", "busybox-inittab"][(d.getVar('VIRTUAL-RUNTIME_init_manager') == 'busybox')]}"
 
 inherit cml1 systemd update-rc.d ptest
 
 # busybox's unzip test case needs zip command, which busybox itself does not provide
-RDEPENDS_${PN}-ptest = "zip"
+RDEPENDS:${PN}-ptest = "zip"
 
 # internal helper
 def busybox_cfg(feature, tokens, cnf, rem):
@@ -97,12 +97,12 @@ DO_IPv6 := "${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 1, 0, d)}"
 
 python () {
   if "${OE_DEL}":
-    d.setVar('configmangle_append', "${OE_DEL}" + "\n")
+    d.setVar('configmangle:append', "${OE_DEL}" + "\n")
   if "${OE_FEATURES}":
-    d.setVar('configmangle_append',
+    d.setVar('configmangle:append',
                    "/^### DISTRO FEATURES$/a\\\n%s\n\n" %
                    ("\\n".join((d.expand("${OE_FEATURES}").split("\n")))))
-  d.setVar('configmangle_append',
+  d.setVar('configmangle:append',
                  "/^### CROSS$/a\\\n%s\n" %
                   ("\\n".join(["CONFIG_EXTRA_CFLAGS=\"${CFLAGS} ${HOST_CC_ARCH}\""
                         ])
@@ -356,7 +356,7 @@ inherit update-alternatives
 
 ALTERNATIVE_PRIORITY = "50"
 
-python do_package_prepend () {
+python do_package:prepend () {
     # We need to load the full set of busybox provides from the /etc/busybox.links
     # Use this to see the update-alternatives with the right information
 
@@ -373,9 +373,9 @@ python do_package_prepend () {
             if alt_name == '[':
                 alt_name = 'lbracket'
             if alt_name == 'klogd' or alt_name == 'syslogd':
-                d.appendVar('ALTERNATIVE_%s-syslog' % (pn), ' ' + alt_name)
+                d.appendVar('ALTERNATIVE:%s-syslog' % (pn), ' ' + alt_name)
             else:
-                d.appendVar('ALTERNATIVE_%s' % (pn), ' ' + alt_name)
+                d.appendVar('ALTERNATIVE:%s' % (pn), ' ' + alt_name)
             d.setVarFlag('ALTERNATIVE_LINK_NAME', alt_name, alt_link_name)
             if os.path.exists('%s%s' % (dvar, target)):
                 d.setVarFlag('ALTERNATIVE_TARGET', alt_name, target)
@@ -395,7 +395,7 @@ python do_package_prepend () {
 # These symlinks will later be updated by update-alternatives calls.
 # The update-alternatives.bbclass' postinst script runs firstly before other
 # postinst, but this part of code needs run firstly, so add this funtion.
-python populate_packages_updatealternatives_append() {
+python populate_packages_updatealternatives:append() {
     postinst = """
 test -n 2 > /dev/null || alias test='busybox test'
 if test "x$D" = "x"; then
@@ -422,10 +422,10 @@ if grep -q "^${base_bindir}/bash$" $D${sysconfdir}/busybox.links*; then
 fi
 
 """
-    d.prependVar('pkg_postinst_%s' % pkg, postinst)
+    d.prependVar('pkg_postinst:%s' % pkg, postinst)
 }
 
-pkg_postinst_${PN}_prepend () {
+pkg_postinst:${PN}:prepend () {
         # Need path to saved utils, but they may have be removed on upgrade of busybox
         # Only use shell to get paths. Also capture if busybox was saved.
         BUSYBOX=""
@@ -441,7 +441,7 @@ pkg_postinst_${PN}_prepend () {
         fi
 }
 
-pkg_postinst_${PN}_append () {
+pkg_postinst:${PN}:append () {
         # If busybox exists in the remove directory it is because it was the only shell left.
         if [ "x$D" = "x" ] ; then
            if [ "x$BUSYBOX" != "x" ] ; then
@@ -451,7 +451,7 @@ pkg_postinst_${PN}_append () {
         fi
 } 
 
-pkg_prerm_${PN} () {
+pkg_prerm:${PN} () {
 	# This is so you can make busybox commit suicide - removing busybox with no other packages
 	# providing its files, this will make update-alternatives work, but the update-rc.d part
 	# for syslog, httpd and/or udhcpd will fail if there is no other package providing sh
@@ -481,7 +481,7 @@ pkg_prerm_${PN} () {
         fi
 }
 
-pkg_postrm_${PN} () {
+pkg_postrm:${PN} () {
         # Add path to remove dir in case we removed our only grep
         if [ "x$D" = "x" ] ; then
            for busybox_rmdir in /tmp/busyboxrm-*; do
@@ -496,7 +496,7 @@ pkg_postrm_${PN} () {
 	fi
 }
 
-pkg_prerm_${PN}-syslog () {
+pkg_prerm:${PN}-syslog () {
 	# remove syslog
 	if test "x$D" = "x"; then
 		if test "$1" = "upgrade" -o "$1" = "remove"; then
@@ -505,4 +505,4 @@ pkg_prerm_${PN}-syslog () {
 	fi
 }
 
-RPROVIDES_${PN} += "${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', '/bin/sh /bin/ash', '', d)}"
+RPROVIDES:${PN} += "${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', '/bin/sh /bin/ash', '', d)}"
diff --git a/meta/recipes-core/busybox/busybox_1.33.1.bb b/meta/recipes-core/busybox/busybox_1.33.1.bb
index 4c2bc1106db..1e3e34e2a44 100644
--- a/meta/recipes-core/busybox/busybox_1.33.1.bb
+++ b/meta/recipes-core/busybox/busybox_1.33.1.bb
@@ -50,6 +50,6 @@ SRC_URI = "https://busybox.net/downloads/busybox-${PV}.tar.bz2;name=tarball \
            file://0001-gen_build_files-Use-C-locale-when-calling-sed-on-glo.patch \
            file://0001-mktemp-add-tmpdir-option.patch \
            "
-SRC_URI_append_libc-musl = " file://musl.cfg "
+SRC_URI:append:libc-musl = " file://musl.cfg "
 
 SRC_URI[tarball.sha256sum] = "12cec6bd2b16d8a9446dd16130f2b92982f1819f6e1c5f5887b6db03f5660d28"
diff --git a/meta/recipes-core/coreutils/coreutils_8.32.bb b/meta/recipes-core/coreutils/coreutils_8.32.bb
index dd271d4968c..f82572ed520 100644
--- a/meta/recipes-core/coreutils/coreutils_8.32.bb
+++ b/meta/recipes-core/coreutils/coreutils_8.32.bb
@@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464 \
                     file://src/ls.c;beginline=1;endline=15;md5=b7d80abf5b279320fb0e4b1007ed108b \
                     "
 DEPENDS = "gmp libcap"
-DEPENDS_class-native = ""
+DEPENDS:class-native = ""
 
 inherit autotools gettext texinfo
 
@@ -31,21 +31,21 @@ SRC_URI[sha256sum] = "4458d8de7849df44ccab15e16b1548b285224dbba5f08fac070c1c0e0b
 # runcon is not really a sandbox command, use `runcon ... setsid ...` to avoid this particular issue.
 CVE_CHECK_WHITELIST += "CVE-2016-2781"
 
-EXTRA_OECONF_class-native = "--without-gmp"
-EXTRA_OECONF_class-target = "--enable-install-program=arch,hostname --libexecdir=${libdir}"
-EXTRA_OECONF_class-nativesdk = "--enable-install-program=arch,hostname"
+EXTRA_OECONF:class-native = "--without-gmp"
+EXTRA_OECONF:class-target = "--enable-install-program=arch,hostname --libexecdir=${libdir}"
+EXTRA_OECONF:class-nativesdk = "--enable-install-program=arch,hostname"
 
 # acl and xattr are not default features
 #
-PACKAGECONFIG_class-target ??= "\
+PACKAGECONFIG:class-target ??= "\
     ${@bb.utils.filter('DISTRO_FEATURES', 'acl xattr', d)} \
 "
 
 # The lib/oe/path.py requires xattr
-PACKAGECONFIG_class-native ??= "xattr"
+PACKAGECONFIG:class-native ??= "xattr"
 
 # oe-core builds need xattr support
-PACKAGECONFIG_class-nativesdk ??= "xattr"
+PACKAGECONFIG:class-nativesdk ??= "xattr"
 
 # with, without, depends, rdepends
 #
@@ -71,16 +71,16 @@ sbindir_progs= "chroot"
 # 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 += "${@bb.utils.contains('PACKAGECONFIG', 'single-binary', '', 'coreutils-stdbuf', d)}"
+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 += "${@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)}"
+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
@@ -89,20 +89,20 @@ RPROVIDES_coreutils += "${@bb.utils.contains('PACKAGECONFIG', 'single-binary', '
 acpaths = "-I ./m4"
 
 # Deal with a separate builddir failure if src doesn't exist when creating version.c/version.h
-do_compile_prepend () {
+do_compile:prepend () {
 	mkdir -p ${B}/src
 }
 
-do_install_class-native() {
+do_install:class-native() {
 	autotools_do_install
 	# remove groups to fix conflict with shadow-native
 	rm -f ${D}${STAGING_BINDIR_NATIVE}/groups
 	# The return is a must since native doesn't need the
-	# do_install_append() in the below.
+	# do_install:append() in the below.
 	return
 }
 
-do_install_append() {
+do_install:append() {
 	for i in df mktemp nice printenv base64; do mv ${D}${bindir}/$i ${D}${bindir}/$i.${BPN}; done
 
 	install -d ${D}${base_bindir}
@@ -122,8 +122,8 @@ inherit update-alternatives
 ALTERNATIVE_PRIORITY = "100"
 # Make hostname's priority higher than busybox but lower than net-tools
 ALTERNATIVE_PRIORITY[hostname] = "90"
-ALTERNATIVE_${PN} = "lbracket ${bindir_progs} ${base_bindir_progs} ${sbindir_progs} base32 base64 nice printenv mktemp df"
-ALTERNATIVE_${PN}-doc = "base64.1 nice.1 mktemp.1 df.1 groups.1 kill.1 uptime.1 stat.1 hostname.1"
+ALTERNATIVE:${PN} = "lbracket ${bindir_progs} ${base_bindir_progs} ${sbindir_progs} base32 base64 nice printenv mktemp df"
+ALTERNATIVE:${PN}-doc = "base64.1 nice.1 mktemp.1 df.1 groups.1 kill.1 uptime.1 stat.1 hostname.1"
 
 ALTERNATIVE_LINK_NAME[hostname.1] = "${mandir}/man1/hostname.1"
 
@@ -166,12 +166,12 @@ BBCLASSEXTEND = "native nativesdk"
 
 inherit ptest
 
-RDEPENDS_${PN}-ptest += "bash findutils gawk liberror-perl make perl perl-modules python3-core sed shadow"
+RDEPENDS:${PN}-ptest += "bash findutils gawk liberror-perl make perl perl-modules python3-core sed shadow"
 
 # -dev automatic dependencies fails as we don't want libmodule-build-perl-dev, its too heavy
 # may need tweaking if DEPENDS changes
-RRECOMMENDS_coreutils-dev[nodeprrecs] = "1"
-RRECOMMENDS_coreutils-dev = "acl-dev attr-dev gmp-dev libcap-dev bash-dev findutils-dev gawk-dev shadow-dev"
+RRECOMMENDS:coreutils-dev[nodeprrecs] = "1"
+RRECOMMENDS:coreutils-dev = "acl-dev attr-dev gmp-dev libcap-dev bash-dev findutils-dev gawk-dev shadow-dev"
 
 do_install_ptest () {
     install -d ${D}${PTEST_PATH}/tests
@@ -206,7 +206,7 @@ do_install_ptest () {
     sed -i s:@libdir@:${libdir}:g ${D}${PTEST_PATH}/run-ptest
 }
 
-FILES_${PN}-ptest += "${bindir}/getlimits"
+FILES:${PN}-ptest += "${bindir}/getlimits"
 
 # These are specific to Opensuse
 CVE_WHITELIST += "CVE-2013-0221 CVE-2013-0222 CVE-2013-0223"
diff --git a/meta/recipes-core/dbus/dbus-glib_0.112.bb b/meta/recipes-core/dbus/dbus-glib_0.112.bb
index 003c3accc38..a03b2addfdc 100644
--- a/meta/recipes-core/dbus/dbus-glib_0.112.bb
+++ b/meta/recipes-core/dbus/dbus-glib_0.112.bb
@@ -8,7 +8,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=c31c73c1d8f5d06784b2ccd22e42d641 \
 SECTION = "base"
 
 DEPENDS = "expat glib-2.0 virtual/libintl dbus-glib-native dbus"
-DEPENDS_class-native = "glib-2.0-native dbus-native"
+DEPENDS:class-native = "glib-2.0-native dbus-native"
 
 SRC_URI = "https://dbus.freedesktop.org/releases/dbus-glib/dbus-glib-${PV}.tar.gz \
            file://no-examples.patch \
@@ -24,16 +24,16 @@ inherit autotools pkgconfig gettext bash-completion gtk-doc
 PACKAGECONFIG ??= ""
 PACKAGECONFIG[tests] = "--enable-tests,,,"
 
-EXTRA_OECONF_class-target = "--with-dbus-binding-tool=${STAGING_BINDIR_NATIVE}/dbus-binding-tool"
+EXTRA_OECONF:class-target = "--with-dbus-binding-tool=${STAGING_BINDIR_NATIVE}/dbus-binding-tool"
 
 PACKAGES += "${PN}-tests"
 
-FILES_${PN} = "${libdir}/lib*${SOLIBS}"
-FILES_${PN}-bash-completion += "${libexecdir}/dbus-bash-completion-helper"
-FILES_${PN}-dev += "${libdir}/dbus-1.0/include ${bindir}/dbus-glib-tool"
-FILES_${PN}-dev += "${bindir}/dbus-binding-tool"
+FILES:${PN} = "${libdir}/lib*${SOLIBS}"
+FILES:${PN}-bash-completion += "${libexecdir}/dbus-bash-completion-helper"
+FILES:${PN}-dev += "${libdir}/dbus-1.0/include ${bindir}/dbus-glib-tool"
+FILES:${PN}-dev += "${bindir}/dbus-binding-tool"
 
-RDEPENDS_${PN}-tests += "dbus-x11"
-FILES_${PN}-tests = "${datadir}/${BPN}/tests"
+RDEPENDS:${PN}-tests += "dbus-x11"
+FILES:${PN}-tests = "${datadir}/${BPN}/tests"
 
 BBCLASSEXTEND = "native"
diff --git a/meta/recipes-core/dbus/dbus-test_1.12.20.bb b/meta/recipes-core/dbus/dbus-test_1.12.20.bb
index 755c841bad6..11b84cec959 100644
--- a/meta/recipes-core/dbus/dbus-test_1.12.20.bb
+++ b/meta/recipes-core/dbus/dbus-test_1.12.20.bb
@@ -10,7 +10,7 @@ SRC_URI += "file://run-ptest \
 
 DEPENDS = "dbus glib-2.0"
 
-RDEPENDS_${PN}-dev = ""
+RDEPENDS:${PN}-dev = ""
 
 S="${WORKDIR}/dbus-${PV}"
 FILESEXTRAPATHS =. "${FILE_DIRNAME}/dbus:"
@@ -58,7 +58,7 @@ do_install_ptest() {
         sed -i -e 's;@PTEST_PATH@;${PTEST_PATH};g'  ${D}${PTEST_PATH}/run-ptest
 }
 
-RDEPENDS_${PN}-ptest += "bash make dbus"
+RDEPENDS:${PN}-ptest += "bash make dbus"
 RDEPENDS_${PN}-ptest_remove = "${PN}"
 
-PRIVATE_LIBS_${PN}-ptest = "libdbus-1.so.3"
+PRIVATE_LIBS:${PN}-ptest = "libdbus-1.so.3"
diff --git a/meta/recipes-core/dbus/dbus.inc b/meta/recipes-core/dbus/dbus.inc
index dcbcc0a9d63..b2374764930 100644
--- a/meta/recipes-core/dbus/dbus.inc
+++ b/meta/recipes-core/dbus/dbus.inc
@@ -19,14 +19,14 @@ EXTRA_OECONF = "--disable-xml-docs \
                 --enable-largefile \
                 --with-system-socket=/run/dbus/system_bus_socket \
                 "
-EXTRA_OECONF_append_class-target = " SYSTEMCTL=${base_bindir}/systemctl"
-EXTRA_OECONF_append_class-native = " --disable-selinux"
+EXTRA_OECONF:append:class-target = " SYSTEMCTL=${base_bindir}/systemctl"
+EXTRA_OECONF:append:class-native = " --disable-selinux"
 
 PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd x11', d)} \
                    user-session \
                   "
-PACKAGECONFIG_class-native = ""
-PACKAGECONFIG_class-nativesdk = ""
+PACKAGECONFIG:class-native = ""
+PACKAGECONFIG:class-nativesdk = ""
 
 PACKAGECONFIG[systemd] = "--enable-systemd --with-systemdsystemunitdir=${systemd_system_unitdir},--disable-systemd --without-systemdsystemunitdir,systemd"
 PACKAGECONFIG[x11] = "--with-x --enable-x11-autolaunch,--without-x --disable-x11-autolaunch, virtual/libx11 libsm"
diff --git a/meta/recipes-core/dbus/dbus_1.12.20.bb b/meta/recipes-core/dbus/dbus_1.12.20.bb
index 2f6da675100..48947209d93 100644
--- a/meta/recipes-core/dbus/dbus_1.12.20.bb
+++ b/meta/recipes-core/dbus/dbus_1.12.20.bb
@@ -7,10 +7,10 @@ require dbus.inc
 
 DEPENDS = "expat virtual/libintl autoconf-archive"
 PACKAGES += "${@bb.utils.contains('DISTRO_FEATURES', 'ptest', '${PN}-ptest', '', d)}"
-ALLOW_EMPTY_dbus-ptest = "1"
-RDEPENDS_dbus-ptest_class-target = "dbus-test-ptest"
-RDEPENDS_${PN} += "${PN}-common ${PN}-tools"
-RDEPENDS_${PN}_class-native = ""
+ALLOW_EMPTY:dbus-ptest = "1"
+RDEPENDS:dbus-ptest:class-target = "dbus-test-ptest"
+RDEPENDS:${PN} += "${PN}-common ${PN}-tools"
+RDEPENDS:${PN}:class-native = ""
 
 inherit useradd update-rc.d
 
@@ -25,22 +25,22 @@ python __anonymous() {
 PACKAGES =+ "${PN}-lib ${PN}-common ${PN}-tools"
 
 USERADD_PACKAGES = "dbus-common"
-USERADD_PARAM_dbus-common = "--system --home ${localstatedir}/lib/dbus \
+USERADD_PARAM:dbus-common = "--system --home ${localstatedir}/lib/dbus \
                              --no-create-home --shell /bin/false \
                              --user-group messagebus"
 
-CONFFILES_${PN} = "${sysconfdir}/dbus-1/system.conf ${sysconfdir}/dbus-1/session.conf"
+CONFFILES:${PN} = "${sysconfdir}/dbus-1/system.conf ${sysconfdir}/dbus-1/session.conf"
 
-DEBIANNAME_${PN} = "dbus-1"
+DEBIANNAME:${PN} = "dbus-1"
 
 OLDPKGNAME = "dbus-x11"
-OLDPKGNAME_class-nativesdk = ""
+OLDPKGNAME:class-nativesdk = ""
 
 # for compatibility
-RPROVIDES_${PN} = "${OLDPKGNAME}"
-RREPLACES_${PN} += "${OLDPKGNAME}"
+RPROVIDES:${PN} = "${OLDPKGNAME}"
+RREPLACES:${PN} += "${OLDPKGNAME}"
 
-FILES_${PN} = "${bindir}/dbus-daemon* \
+FILES:${PN} = "${bindir}/dbus-daemon* \
                ${bindir}/dbus-cleanup-sockets \
                ${bindir}/dbus-launch \
                ${bindir}/dbus-run-session \
@@ -51,7 +51,7 @@ FILES_${PN} = "${bindir}/dbus-daemon* \
                ${systemd_user_unitdir} \
                ${nonarch_libdir}/tmpfiles.d/dbus.conf \
 "
-FILES_${PN}-common = "${sysconfdir}/dbus-1 \
+FILES:${PN}-common = "${sysconfdir}/dbus-1 \
                       ${datadir}/dbus-1/services \
                       ${datadir}/dbus-1/system-services \
                       ${datadir}/dbus-1/session.d \
@@ -64,17 +64,17 @@ FILES_${PN}-common = "${sysconfdir}/dbus-1 \
                       ${systemd_user_unitdir}/sockets.target.wants \
                       ${nonarch_libdir}/sysusers.d/dbus.conf \
 "
-FILES_${PN}-tools = "${bindir}/dbus-uuidgen \
+FILES:${PN}-tools = "${bindir}/dbus-uuidgen \
                      ${bindir}/dbus-send \
                      ${bindir}/dbus-monitor \
                      ${bindir}/dbus-update-activation-environment \
 "
-FILES_${PN}-lib = "${libdir}/lib*.so.*"
-RRECOMMENDS_${PN}-lib = "${PN}"
-FILES_${PN}-dev += "${libdir}/dbus-1.0/include ${bindir}/dbus-test-tool ${datadir}/xml/dbus-1"
+FILES:${PN}-lib = "${libdir}/lib*.so.*"
+RRECOMMENDS:${PN}-lib = "${PN}"
+FILES:${PN}-dev += "${libdir}/dbus-1.0/include ${bindir}/dbus-test-tool ${datadir}/xml/dbus-1"
 
 PACKAGE_WRITE_DEPS += "${@bb.utils.contains('DISTRO_FEATURES','systemd sysvinit','systemd-systemctl-native','',d)}"
-pkg_postinst_dbus() {
+pkg_postinst:dbus() {
 	# If both systemd and sysvinit are enabled, mask the dbus-1 init script
         if ${@bb.utils.contains('DISTRO_FEATURES','systemd sysvinit','true','false',d)}; then
 		if [ -n "$D" ]; then
@@ -130,7 +130,7 @@ do_install() {
 	rm -rf ${D}${localstatedir}/run
 }
 
-do_install_class-native() {
+do_install:class-native() {
 	autotools_do_install
 
 	# dbus-launch has no X support so lets not install it in case the host
@@ -138,7 +138,7 @@ do_install_class-native() {
 	rm -f ${D}${bindir}/dbus-launch
 }
 
-do_install_class-nativesdk() {
+do_install:class-nativesdk() {
 	autotools_do_install
 
 	# dbus-launch has no X support so lets not install it in case the host
@@ -150,4 +150,4 @@ do_install_class-nativesdk() {
 }
 BBCLASSEXTEND = "native nativesdk"
 
-INSANE_SKIP_${PN}-ptest += "build-deps"
+INSANE_SKIP:${PN}-ptest += "build-deps"
diff --git a/meta/recipes-core/dropbear/dropbear.inc b/meta/recipes-core/dropbear/dropbear.inc
index ed3ef3384ac..b5f3778abec 100644
--- a/meta/recipes-core/dropbear/dropbear.inc
+++ b/meta/recipes-core/dropbear/dropbear.inc
@@ -9,8 +9,8 @@ LICENSE = "MIT & BSD-3-Clause & BSD-2-Clause & PD"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=25cf44512b7bc8966a48b6b1a9b7605f"
 
 DEPENDS = "zlib virtual/crypt"
-RPROVIDES_${PN} = "ssh sshd"
-RCONFLICTS_${PN} = "openssh-sshd openssh"
+RPROVIDES:${PN} = "ssh sshd"
+RCONFLICTS:${PN} = "openssh-sshd openssh"
 
 DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
 
@@ -33,7 +33,7 @@ PAM_PLUGINS = "libpam-runtime \
 	pam-plugin-permit \
 	pam-plugin-unix \
 	"
-RDEPENDS_${PN} += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_PLUGINS}', '', d)}"
+RDEPENDS:${PN} += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_PLUGINS}', '', d)}"
 
 inherit autotools update-rc.d systemd
 
@@ -42,7 +42,7 @@ CVE_PRODUCT = "dropbear_ssh"
 INITSCRIPT_NAME = "dropbear"
 INITSCRIPT_PARAMS = "defaults 10"
 
-SYSTEMD_SERVICE_${PN} = "dropbear.socket"
+SYSTEMD_SERVICE:${PN} = "dropbear.socket"
 
 SBINCOMMANDS = "dropbear dropbearkey dropbearconvert"
 BINCOMMANDS = "dbclient ssh scp"
@@ -60,7 +60,7 @@ EXTRA_OECONF += "\
 EXTRA_OECONF += "--disable-harden"
 
 # musl does not implement wtmp/logwtmp APIs
-EXTRA_OECONF_append_libc-musl = " --disable-wtmp --disable-lastlog"
+EXTRA_OECONF:append:libc-musl = " --disable-wtmp --disable-lastlog"
 
 do_install() {
 	install -d ${D}${sysconfdir} \
@@ -110,11 +110,11 @@ do_install() {
 inherit update-alternatives
 
 ALTERNATIVE_PRIORITY = "20"
-ALTERNATIVE_${PN} = "${@bb.utils.filter('BINCOMMANDS', 'scp ssh', d)}"
+ALTERNATIVE:${PN} = "${@bb.utils.filter('BINCOMMANDS', 'scp ssh', d)}"
 
 ALTERNATIVE_TARGET = "${sbindir}/dropbearmulti"
 
-pkg_postrm_append_${PN} () {
+pkg_postrm:append_${PN} () {
   if [ -f "${sysconfdir}/dropbear/dropbear_rsa_host_key" ]; then
         rm ${sysconfdir}/dropbear/dropbear_rsa_host_key
   fi
@@ -123,4 +123,4 @@ pkg_postrm_append_${PN} () {
   fi
 }
 
-FILES_${PN} += "${bindir}"
+FILES:${PN} += "${bindir}"
diff --git a/meta/recipes-core/ell/ell_0.41.bb b/meta/recipes-core/ell/ell_0.41.bb
index 5fd3077bc37..f6da957b51b 100644
--- a/meta/recipes-core/ell/ell_0.41.bb
+++ b/meta/recipes-core/ell/ell_0.41.bb
@@ -19,6 +19,6 @@ SRC_URI = "https://mirrors.edge.kernel.org/pub/linux/libs/${BPN}/${BPN}-${PV}.ta
            "
 SRC_URI[sha256sum] = "4e8dba6c53cf152dbd0fd1dc3d4c7b04abf79e20a948895f85943e586870505c"
 
-do_configure_prepend () {
+do_configure:prepend () {
     mkdir -p ${S}/build-aux
 }
diff --git a/meta/recipes-core/expat/expat_2.4.1.bb b/meta/recipes-core/expat/expat_2.4.1.bb
index 451158a5d3c..555dd0d6011 100644
--- a/meta/recipes-core/expat/expat_2.4.1.bb
+++ b/meta/recipes-core/expat/expat_2.4.1.bb
@@ -13,13 +13,13 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/expat/expat-${PV}.tar.bz2 \
 
 SRC_URI[sha256sum] = "2f9b6a580b94577b150a7d5617ad4643a4301a6616ff459307df3e225bcfbf40"
 
-EXTRA_OECMAKE_class-native += "-DEXPAT_BUILD_DOCS=OFF"
+EXTRA_OECMAKE:class-native += "-DEXPAT_BUILD_DOCS=OFF"
 
-RDEPENDS_${PN}-ptest += "bash"
+RDEPENDS:${PN}-ptest += "bash"
 
 inherit cmake lib_package ptest
 
-do_install_ptest_class-target() {
+do_install_ptest:class-target() {
 	install -m 755 ${B}/tests/* ${D}${PTEST_PATH}
 }
 
diff --git a/meta/recipes-core/gettext/gettext_0.21.bb b/meta/recipes-core/gettext/gettext_0.21.bb
index b86e8d8381e..4247b487ab2 100644
--- a/meta/recipes-core/gettext/gettext_0.21.bb
+++ b/meta/recipes-core/gettext/gettext_0.21.bb
@@ -9,10 +9,10 @@ LICENSE = "GPLv3+ & LGPL-2.1+"
 LIC_FILES_CHKSUM = "file://COPYING;md5=c678957b0c8e964aa6c70fd77641a71e"
 
 DEPENDS = "gettext-native virtual/libiconv"
-DEPENDS_class-native = "gettext-minimal-native"
+DEPENDS:class-native = "gettext-minimal-native"
 PROVIDES = "virtual/libintl virtual/gettext"
-PROVIDES_class-native = "virtual/gettext-native"
-RCONFLICTS_${PN} = "proxy-libintl"
+PROVIDES:class-native = "virtual/gettext-native"
+RCONFLICTS:${PN} = "proxy-libintl"
 SRC_URI = "${GNU_MIRROR}/gettext/gettext-${PV}.tar.gz \
            file://parallel.patch \
            file://use-pkgconfig.patch \
@@ -39,7 +39,7 @@ EXTRA_OECONF += "--without-lispdir \
                  --without-git \
                  --cache-file=${B}/config.cache \
                 "
-EXTRA_OECONF_append_class-target = " \
+EXTRA_OECONF:append:class-target = " \
                  --with-bisonlocaledir=${datadir}/locale \
                  gt_cv_locale_fr_utf8=fr_FR \
                  gt_cv_locale_fr=fr_FR.ISO-8859-1 \
@@ -48,8 +48,8 @@ EXTRA_OECONF_append_class-target = " \
 "
 
 PACKAGECONFIG ??= "croco glib libxml"
-PACKAGECONFIG_class-native = ""
-PACKAGECONFIG_class-nativesdk = ""
+PACKAGECONFIG:class-native = ""
+PACKAGECONFIG:class-nativesdk = ""
 
 PACKAGECONFIG[croco] = "--without-included-libcroco,--with-included-libcroco,libcroco"
 PACKAGECONFIG[glib] = "--without-included-glib,--with-included-glib,glib-2.0"
@@ -62,7 +62,7 @@ PACKAGECONFIG[msgcat-curses] = "--with-libncurses-prefix=${STAGING_LIBDIR}/..,--
 acpaths = '-I ${S}/gettext-runtime/m4 \
            -I ${S}/gettext-tools/m4'
 
-do_install_append_libc-musl () {
+do_install:append:libc-musl () {
 	rm -f ${D}${libdir}/charset.alias
 	rm -f ${D}${includedir}/libintl.h
 	rm -f ${D}${libdir}/libintl.la
@@ -79,29 +79,29 @@ do_install_append_libc-musl () {
 # 4       KiB /ep93xx/libgcc-s-dev_4.2.2-r2_ep93xx.ipk
 
 PACKAGES =+ "libgettextlib libgettextsrc"
-FILES_libgettextlib = "${libdir}/libgettextlib-*.so*"
-FILES_libgettextsrc = "${libdir}/libgettextsrc-*.so*"
+FILES:libgettextlib = "${libdir}/libgettextlib-*.so*"
+FILES:libgettextsrc = "${libdir}/libgettextsrc-*.so*"
 
 PACKAGES =+ "gettext-runtime gettext-runtime-dev gettext-runtime-doc"
 
-FILES_${PN} += "${libdir}/${BPN}/*"
+FILES:${PN} += "${libdir}/${BPN}/*"
 
 # The its/Makefile.am has defined:
 # itsdir = $(pkgdatadir)$(PACKAGE_SUFFIX)/its
 # not itsdir = $(pkgdatadir), so use wildcard to match the version.
-FILES_${PN} += "${datadir}/${BPN}-*/*"
+FILES:${PN} += "${datadir}/${BPN}-*/*"
 
-FILES_gettext-runtime = "${bindir}/gettext \
+FILES:gettext-runtime = "${bindir}/gettext \
                          ${bindir}/ngettext \
                          ${bindir}/envsubst \
                          ${bindir}/gettext.sh \
                          ${libdir}/libasprintf.so* \
                          ${libdir}/GNU.Gettext.dll \
                         "
-FILES_gettext-runtime-dev += "${libdir}/libasprintf.a \
+FILES:gettext-runtime-dev += "${libdir}/libasprintf.a \
                       ${includedir}/autosprintf.h \
                      "
-FILES_gettext-runtime-doc = "${mandir}/man1/gettext.* \
+FILES:gettext-runtime-doc = "${mandir}/man1/gettext.* \
                              ${mandir}/man1/ngettext.* \
                              ${mandir}/man1/envsubst.* \
                              ${mandir}/man1/.* \
@@ -116,11 +116,11 @@ FILES_gettext-runtime-doc = "${mandir}/man1/gettext.* \
                              ${infodir}/autosprintf.info \
                             "
 
-do_install_append() {
+do_install:append() {
     rm -f ${D}${libdir}/preloadable_libintl.so
 }
 
-do_install_append_class-native () {
+do_install:append:class-native () {
 	rm ${D}${datadir}/aclocal/*
 	rm ${D}${datadir}/gettext/config.rpath
 	rm ${D}${datadir}/gettext/po/Makefile.in.in
@@ -174,8 +174,8 @@ do_install_ptest() {
     fi
 }
 
-RDEPENDS_${PN}-ptest += "make xz"
-RDEPENDS_${PN}-ptest_append_libc-glibc = "\
+RDEPENDS:${PN}-ptest += "make xz"
+RDEPENDS:${PN}-ptest:append:libc-glibc = "\
     glibc-gconv-big5 \
     glibc-charmap-big5 \
     glibc-gconv-cp1251 \
@@ -196,12 +196,12 @@ RDEPENDS_${PN}-ptest_append_libc-glibc = "\
     locale-base-fr-fr \
 "
 
-RRECOMMENDS_${PN}-ptest_append_libc-glibc = "\
+RRECOMMENDS:${PN}-ptest:append:libc-glibc = "\
     locale-base-de-de.iso-8859-1 \
     locale-base-fr-fr.iso-8859-1 \
 "
 
-INSANE_SKIP_${PN}-ptest += "ldflags"
-INSANE_SKIP_${PN}-ptest += "rpaths"
+INSANE_SKIP:${PN}-ptest += "ldflags"
+INSANE_SKIP:${PN}-ptest += "rpaths"
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-core/glib-2.0/glib-2.0_2.68.3.bb b/meta/recipes-core/glib-2.0/glib-2.0_2.68.3.bb
index cbce6eae611..c71dc812021 100644
--- a/meta/recipes-core/glib-2.0/glib-2.0_2.68.3.bb
+++ b/meta/recipes-core/glib-2.0/glib-2.0_2.68.3.bb
@@ -20,7 +20,7 @@ SRC_URI = "${GNOME_MIRROR}/glib/${SHRT_VER}/glib-${PV}.tar.xz \
            file://time-test.patch \
            file://0001-correctly-use-3-parameters-for-close_range.patch \
            "
-SRC_URI_append_class-native = " file://relocate-modules.patch"
+SRC_URI:append:class-native = " file://relocate-modules.patch"
 
 SRC_URI[sha256sum] = "e7e1a3c20c026109c45c9ec4a31d8dcebc22e86c69486993e565817d64be3138"
 
diff --git a/meta/recipes-core/glib-2.0/glib.inc b/meta/recipes-core/glib-2.0/glib.inc
index 71777bc459f..4859d28097d 100644
--- a/meta/recipes-core/glib-2.0/glib.inc
+++ b/meta/recipes-core/glib-2.0/glib.inc
@@ -30,7 +30,7 @@ LEAD_SONAME = "libglib-2.0.*"
 
 inherit meson gettext gtk-doc pkgconfig ptest-gnome upstream-version-is-even bash-completion gio-module-cache manpages
 
-DEPENDS_append_class-target = "${@' gtk-doc' if d.getVar('GTKDOC_ENABLED') == 'True' else ''}"
+DEPENDS:append:class-target = "${@' gtk-doc' if d.getVar('GTKDOC_ENABLED') == 'True' else ''}"
 
 GTKDOC_MESON_OPTION = "gtk_doc"
 
@@ -48,55 +48,55 @@ PACKAGECONFIG[tests] = "-Dinstalled_tests=true,-Dinstalled_tests=false,dbus"
 
 EXTRA_OEMESON = "-Ddtrace=false -Dfam=false -Dsystemtap=false -Dselinux=disabled"
 
-do_configure_prepend() {
+do_configure:prepend() {
 	sed -i -e '1s,#!.*,#!${USRBINPATH}/env python3,' ${S}/gio/gdbus-2.0/codegen/gdbus-codegen.in
 }
 
-FILES_${PN} = "${libdir}/lib*${SOLIBS} \
+FILES:${PN} = "${libdir}/lib*${SOLIBS} \
                ${libdir}/gio \
                ${libexecdir}/*gio-querymodules \
                ${datadir}/glib-2.0/schemas"
 
-FILES_${PN}-utils += "${bindir}/glib-genmarshal \
+FILES:${PN}-utils += "${bindir}/glib-genmarshal \
                       ${bindir}/glib-gettextize \
                       ${bindir}/glib-mkenums \
                       ${bindir}/glib-compile-resources"
 
-FILES_${PN}-dev += "${libdir}/glib-2.0/include \
+FILES:${PN}-dev += "${libdir}/glib-2.0/include \
                     ${libdir}/gio/modules/lib*${SOLIBSDEV} \
                     ${libdir}/gio/modules/*.la \
                     ${datadir}/glib-2.0/gettext/po/Makefile.in.in \
                     ${datadir}/glib-2.0/schemas/gschema.dtd \
                     ${datadir}/glib-2.0/valgrind/glib.supp \
                     ${datadir}/gettext/its"
-FILES_${PN}-dbg += "${datadir}/glib-2.0/gdb ${datadir}/gdb"
-FILES_${PN}-codegen = "${datadir}/glib-2.0/codegen/*.py \
+FILES:${PN}-dbg += "${datadir}/glib-2.0/gdb ${datadir}/gdb"
+FILES:${PN}-codegen = "${datadir}/glib-2.0/codegen/*.py \
                        ${bindir}/gdbus-codegen"
-FILES_${PN}-utils = "${bindir}/*"
+FILES:${PN}-utils = "${bindir}/*"
 
 SHAREDMIMEDEP = "shared-mime-info"
-SHAREDMIMEDEP_class-native = ""
+SHAREDMIMEDEP:class-native = ""
 # When cross compiling for Windows we don't want to include this
-SHAREDMIMEDEP_mingw32 = ""
+SHAREDMIMEDEP:mingw32 = ""
 
-RRECOMMENDS_${PN} += "${SHAREDMIMEDEP}"
+RRECOMMENDS:${PN} += "${SHAREDMIMEDEP}"
 
-ARM_INSTRUCTION_SET_armv4 = "arm"
-ARM_INSTRUCTION_SET_armv5 = "arm"
+ARM_INSTRUCTION_SET:armv4 = "arm"
+ARM_INSTRUCTION_SET:armv5 = "arm"
 # Valgrind runtime detection works using hand-written assembly, which
 # doesn't support mips16e
-CPPFLAGS_append_class-target_mips16e = " -DNVALGRIND=1"
+CPPFLAGS:append:class-target:mips16e = " -DNVALGRIND=1"
 
 # GLib generally requires gettext to be present so for USE_NLS to yes.  For
 # native builds as i18n is disabled globally we have to add a gettext-native dependency.
-USE_NLS_class-target = "yes"
-USE_NLS_class-nativesdk = "yes"
-DEPENDS_append_class-native = " gettext-native"
+USE_NLS:class-target = "yes"
+USE_NLS:class-nativesdk = "yes"
+DEPENDS:append:class-native = " gettext-native"
 
 EXEEXT = ""
-EXEEXT_mingw32 = ".exe"
+EXEEXT:mingw32 = ".exe"
 
-do_install_append () {
+do_install:append () {
 	if [ -f ${D}${bindir}/gtester-report ]; then
 		sed ${D}${bindir}/gtester-report -i -e '1s|^#!.*|#!/usr/bin/env python3|'
 	fi
@@ -118,7 +118,7 @@ do_install_append () {
         mkdir -p ${D}${libdir}/gio/modules
 }
 
-do_install_append_class-target () {
+do_install:append:class-target () {
 	# Tests are only installed on targets, not native builds.  Separating this out
 	# keeps glib-2.0-native from depending on DISTRO_FEATURES
 	if [ -f ${D}${datadir}/installed-tests/glib/gdbus-serialization.test ]; then
@@ -134,18 +134,18 @@ do_install_append_class-target () {
 }
 
 # As we do not build python3 for windows, makes no sense to ship the script that's using it
-do_install_append_mingw32() {
+do_install:append:mingw32() {
         rm -f ${D}${bindir}/gtester-report
 }
 
 CODEGEN_PYTHON_RDEPENDS = "python3 python3-distutils python3-xml"
-CODEGEN_PYTHON_RDEPENDS_mingw32 = ""
+CODEGEN_PYTHON_RDEPENDS:mingw32 = ""
 
-RDEPENDS_${PN}-codegen += "${CODEGEN_PYTHON_RDEPENDS}"
+RDEPENDS:${PN}-codegen += "${CODEGEN_PYTHON_RDEPENDS}"
 
-RDEPENDS_${PN}-ptest += "${PN}-utils"
+RDEPENDS:${PN}-ptest += "${PN}-utils"
 
-RDEPENDS_${PN}-ptest += "\
+RDEPENDS:${PN}-ptest += "\
             coreutils \
             libgcc \
             dbus \
@@ -170,7 +170,7 @@ RDEPENDS_${PN}-ptest += "\
             ${PN}-codegen \
            "
 
-RDEPENDS_${PN}-ptest_append_libc-glibc = "\
+RDEPENDS:${PN}-ptest:append:libc-glibc = "\
             glibc-gconv-utf-16 \
             glibc-charmap-utf-8 \
             glibc-gconv-cp1255 \
diff --git a/meta/recipes-core/glib-networking/glib-networking_2.68.1.bb b/meta/recipes-core/glib-networking/glib-networking_2.68.1.bb
index fac04087d1d..9a8ff38dbd7 100644
--- a/meta/recipes-core/glib-networking/glib-networking_2.68.1.bb
+++ b/meta/recipes-core/glib-networking/glib-networking_2.68.1.bb
@@ -25,14 +25,14 @@ inherit gnomebase gettext upstream-version-is-even gio-module-cache ptest-gnome
 
 SRC_URI += "file://run-ptest"
 
-FILES_${PN} += "\
+FILES:${PN} += "\
                 ${libdir}/gio/modules/libgio*.so \
                 ${datadir}/dbus-1/services/ \
                 ${systemd_user_unitdir} \
                 "
-FILES_${PN}-dev += "${libdir}/gio/modules/libgio*.la"
-FILES_${PN}-staticdev += "${libdir}/gio/modules/libgio*.a"
+FILES:${PN}-dev += "${libdir}/gio/modules/libgio*.la"
+FILES:${PN}-staticdev += "${libdir}/gio/modules/libgio*.a"
 
-RDEPENDS_${PN}-ptest += "bash"
+RDEPENDS:${PN}-ptest += "bash"
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-core/glibc/glibc-common.inc b/meta/recipes-core/glibc/glibc-common.inc
index 41ff7e9a19e..782b2605cc1 100644
--- a/meta/recipes-core/glibc/glibc-common.inc
+++ b/meta/recipes-core/glibc/glibc-common.inc
@@ -13,13 +13,13 @@ CVE_PRODUCT = "glibc"
 
 INHIBIT_DEFAULT_DEPS = "1"
 
-ARM_INSTRUCTION_SET_armv4 = "arm"
-ARM_INSTRUCTION_SET_armv5 = "arm"
-ARM_INSTRUCTION_SET_armv6 = "arm"
+ARM_INSTRUCTION_SET:armv4 = "arm"
+ARM_INSTRUCTION_SET:armv5 = "arm"
+ARM_INSTRUCTION_SET:armv6 = "arm"
 #
 # We will skip parsing glibc when target system C library selection is not glibc
 # this helps in easing out parsing for non-glibc system libraries
 #
-COMPATIBLE_HOST_libc-musl_class-target = "null"
+COMPATIBLE_HOST:libc-musl:class-target = "null"
 
 PV = "2.33"
diff --git a/meta/recipes-core/glibc/glibc-ld.inc b/meta/recipes-core/glibc/glibc-ld.inc
index 041ffbb9cb7..da8fcc430b1 100644
--- a/meta/recipes-core/glibc/glibc-ld.inc
+++ b/meta/recipes-core/glibc/glibc-ld.inc
@@ -16,5 +16,5 @@ def glibc_dl_info(d):
 
 EGLIBC_KNOWN_INTERPRETER_NAMES = "${@glibc_dl_info(d)['ldconfig']}"
 RTLDLIST = "${@glibc_dl_info(d)['lddrewrite']}"
-RTLDLIST_class-nativesdk = "${base_libdir}/${@bb.utils.contains('SDK_ARCH', 'x86_64', 'ld-linux-x86-64.so.2', 'ld-linux.so.2', d)}"
+RTLDLIST:class-nativesdk = "${base_libdir}/${@bb.utils.contains('SDK_ARCH', 'x86_64', 'ld-linux-x86-64.so.2', 'ld-linux.so.2', d)}"
 glibc_dl_info[vardepsexclude] = "OVERRIDES"
diff --git a/meta/recipes-core/glibc/glibc-locale.inc b/meta/recipes-core/glibc/glibc-locale.inc
index ef06389ff94..b8de7d3192e 100644
--- a/meta/recipes-core/glibc/glibc-locale.inc
+++ b/meta/recipes-core/glibc/glibc-locale.inc
@@ -9,7 +9,7 @@ LOCALEBASEPN = "${MLPREFIX}glibc"
 # ERROR: objcopy failed with exit code 127 (cmd was 'i586-webos-linux-objcopy' --only-keep-debug 'glibc-locale/2.17-r0/package/usr/lib/gconv/IBM1166.so' 'glibc-locale/2.17-r0/package/usr/lib/gconv/.debug/IBM1166.so')
 # ERROR: Function failed: split_and_strip_files
 BINUTILSDEP = "virtual/${MLPREFIX}${TARGET_PREFIX}binutils:do_populate_sysroot"
-BINUTILSDEP_class-nativesdk = "virtual/${TARGET_PREFIX}binutils-crosssdk:do_populate_sysroot"
+BINUTILSDEP:class-nativesdk = "virtual/${TARGET_PREFIX}binutils-crosssdk:do_populate_sysroot"
 do_package[depends] += "${BINUTILSDEP}"
 
 DEPENDS += "virtual/libc"
@@ -21,7 +21,7 @@ DEPENDS += "virtual/libc"
 
 # default to disabled
 ENABLE_BINARY_LOCALE_GENERATION ?= "0"
-ENABLE_BINARY_LOCALE_GENERATION_pn-nativesdk-glibc-locale = "1"
+ENABLE_BINARY_LOCALE_GENERATION:pn-nativesdk-glibc-locale = "1"
 
 #enable locale generation on these arches
 # BINARY_LOCALE_ARCHES is a space separated list of regular expressions
@@ -40,32 +40,32 @@ PACKAGES_DYNAMIC = "^locale-base-.* \
                     ^${MLPREFIX}glibc-gconv$"
 
 # Create a glibc-binaries package
-ALLOW_EMPTY_${BPN}-binaries = "1"
+ALLOW_EMPTY:${BPN}-binaries = "1"
 PACKAGES += "${BPN}-binaries"
-RRECOMMENDS_${BPN}-binaries =  "${@" ".join([p for p in d.getVar('PACKAGES').split() if p.find("glibc-binary") != -1])}"
+RRECOMMENDS:${BPN}-binaries =  "${@" ".join([p for p in d.getVar('PACKAGES').split() if p.find("glibc-binary") != -1])}"
 
 # Create a glibc-charmaps package
-ALLOW_EMPTY_${BPN}-charmaps = "1"
+ALLOW_EMPTY:${BPN}-charmaps = "1"
 PACKAGES += "${BPN}-charmaps"
-RRECOMMENDS_${BPN}-charmaps =  "${@" ".join([p for p in d.getVar('PACKAGES').split() if p.find("glibc-charmap") != -1])}"
+RRECOMMENDS:${BPN}-charmaps =  "${@" ".join([p for p in d.getVar('PACKAGES').split() if p.find("glibc-charmap") != -1])}"
 
 # Create a glibc-gconvs package
-ALLOW_EMPTY_${BPN}-gconvs = "1"
+ALLOW_EMPTY:${BPN}-gconvs = "1"
 PACKAGES += "${BPN}-gconvs"
-RRECOMMENDS_${BPN}-gconvs =  "${@" ".join([p for p in d.getVar('PACKAGES').split() if p.find("glibc-gconv") != -1])}"
+RRECOMMENDS:${BPN}-gconvs =  "${@" ".join([p for p in d.getVar('PACKAGES').split() if p.find("glibc-gconv") != -1])}"
 
 # Create a glibc-localedatas package
-ALLOW_EMPTY_${BPN}-localedatas = "1"
+ALLOW_EMPTY:${BPN}-localedatas = "1"
 PACKAGES += "${BPN}-localedatas"
-RRECOMMENDS_${BPN}-localedatas =  "${@" ".join([p for p in d.getVar('PACKAGES').split() if p.find("glibc-localedata") != -1])}"
+RRECOMMENDS:${BPN}-localedatas =  "${@" ".join([p for p in d.getVar('PACKAGES').split() if p.find("glibc-localedata") != -1])}"
 
-DESCRIPTION_localedef = "glibc: compile locale definition files"
+DESCRIPTION:localedef = "glibc: compile locale definition files"
 
 # glibc-gconv is dynamically added into PACKAGES, thus
-# FILES_glibc-gconv will not be automatically extended in multilib.
-# Explicitly add ${MLPREFIX} for FILES_glibc-gconv.
-FILES_${MLPREFIX}glibc-gconv = "${libdir}/gconv/*"
-FILES_localedef = "${bindir}/localedef"
+# FILES:glibc-gconv will not be automatically extended in multilib.
+# Explicitly add ${MLPREFIX} for FILES:glibc-gconv.
+FILES:${MLPREFIX}glibc-gconv = "${libdir}/gconv/*"
+FILES:localedef = "${bindir}/localedef"
 
 LOCALETREESRC = "${COMPONENTS_DIR}/${PACKAGE_ARCH}/glibc-stash-locale"
 
diff --git a/meta/recipes-core/glibc/glibc-mtrace.inc b/meta/recipes-core/glibc/glibc-mtrace.inc
index ef9d60ec239..734a566562f 100644
--- a/meta/recipes-core/glibc/glibc-mtrace.inc
+++ b/meta/recipes-core/glibc/glibc-mtrace.inc
@@ -2,8 +2,8 @@ require glibc-collateral.inc
 
 SUMMARY = "mtrace utility provided by glibc"
 DESCRIPTION = "mtrace utility provided by glibc"
-RDEPENDS_${PN} = "perl"
-RPROVIDES_${PN} = "libc-mtrace"
+RDEPENDS:${PN} = "perl"
+RPROVIDES:${PN} = "libc-mtrace"
 
 SRC = "${COMPONENTS_DIR}/${PACKAGE_ARCH}/glibc-stash-locale/scripts"
 
diff --git a/meta/recipes-core/glibc/glibc-package.inc b/meta/recipes-core/glibc/glibc-package.inc
index 92e5dbac61f..4bf5038fc00 100644
--- a/meta/recipes-core/glibc/glibc-package.inc
+++ b/meta/recipes-core/glibc/glibc-package.inc
@@ -3,67 +3,67 @@ INHIBIT_SYSROOT_STRIP = "1"
 PACKAGES = "${PN}-dbg catchsegv sln nscd ldconfig ldd tzcode glibc-thread-db ${PN}-pic libcidn libmemusage libnss-db libsegfault ${PN}-pcprofile libsotruss ${PN} ${PN}-utils glibc-extra-nss ${PN}-dev ${PN}-staticdev ${PN}-doc ${PN}-src"
 
 # The ld.so in this glibc supports the GNU_HASH
-RPROVIDES_${PN} = "eglibc rtld(GNU_HASH)"
-RPROVIDES_${PN}-utils = "eglibc-utils"
-RPROVIDES_${PN}-mtrace = "eglibc-mtrace libc-mtrace"
-RPROVIDES_${PN}-pic = "eglibc-pic"
-RPROVIDES_${PN}-dev = "eglibc-dev libc6-dev virtual-libc-dev"
-RPROVIDES_${PN}-staticdev = "eglibc-staticdev"
-RPROVIDES_${PN}-doc = "eglibc-doc"
-RPROVIDES_glibc-extra-nss = "eglibc-extra-nss"
-RPROVIDES_glibc-thread-db = "eglibc-thread-db"
-RPROVIDES_${PN}-pcprofile = "eglibc-pcprofile"
-RPROVIDES_${PN}-dbg = "eglibc-dbg"
+RPROVIDES:${PN} = "eglibc rtld(GNU_HASH)"
+RPROVIDES:${PN}-utils = "eglibc-utils"
+RPROVIDES:${PN}-mtrace = "eglibc-mtrace libc-mtrace"
+RPROVIDES:${PN}-pic = "eglibc-pic"
+RPROVIDES:${PN}-dev = "eglibc-dev libc6-dev virtual-libc-dev"
+RPROVIDES:${PN}-staticdev = "eglibc-staticdev"
+RPROVIDES:${PN}-doc = "eglibc-doc"
+RPROVIDES:glibc-extra-nss = "eglibc-extra-nss"
+RPROVIDES:glibc-thread-db = "eglibc-thread-db"
+RPROVIDES:${PN}-pcprofile = "eglibc-pcprofile"
+RPROVIDES:${PN}-dbg = "eglibc-dbg"
 libc_baselibs = "${base_libdir}/libc.so.* ${base_libdir}/libc-*.so ${base_libdir}/libm*.so.* ${base_libdir}/libm-*.so ${base_libdir}/libmvec-*.so ${base_libdir}/ld*.so.* ${base_libdir}/ld-*.so ${base_libdir}/libpthread*.so.* ${base_libdir}/libpthread-*.so ${base_libdir}/libresolv*.so.* ${base_libdir}/libresolv-*.so ${base_libdir}/librt*.so.* ${base_libdir}/librt-*.so ${base_libdir}/libutil*.so.* ${base_libdir}/libutil-*.so ${base_libdir}/libnsl*.so.* ${base_libdir}/libnsl-*.so ${base_libdir}/libnss_files*.so.* ${base_libdir}/libnss_files-*.so ${base_libdir}/libnss_compat*.so.* ${base_libdir}/libnss_compat-*.so ${base_libdir}/libnss_dns*.so.* ${base_libdir}/libnss_dns-*.so ${base_libdir}/libdl*.so.* ${base_libdir}/libdl-*.so ${base_libdir}/libanl*.so.* ${base_libdir}/libanl-*.so ${base_libdir}/libBrokenLocale*.so.* ${base_libdir}/libBrokenLocale-*.so"
 ARCH_DYNAMIC_LOADER = ""
 # The aarch64 ABI says the dynamic linker -must- be
 # /lib/ld-linux-aarch64{,_be}.so.1. With usrmerge, that may mean that
 # we need to install it in /usr/lib.
-ARCH_DYNAMIC_LOADER_aarch64 = "ld-linux-${TARGET_ARCH}.so.1"
-libc_baselibs_append = " ${@oe.utils.conditional('ARCH_DYNAMIC_LOADER', '', '', '${root_prefix}/lib/${ARCH_DYNAMIC_LOADER}', d)}"
-INSANE_SKIP_${PN}_append_aarch64 = " libdir"
-
-FILES_${PN} = "${libc_baselibs} ${libexecdir}/* ${sysconfdir}/ld.so.conf"
-RRECOMMENDS_${PN} = "${@bb.utils.contains('DISTRO_FEATURES', 'ldconfig', '${MLPREFIX}ldconfig', '', d)}"
-FILES_ldconfig = "${base_sbindir}/ldconfig"
-FILES_ldd = "${bindir}/ldd"
-FILES_libsegfault = "${base_libdir}/libSegFault*"
-FILES_libcidn = "${base_libdir}/libcidn-*.so ${base_libdir}/libcidn.so.*"
-FILES_libmemusage = "${base_libdir}/libmemusage.so"
-FILES_libnss-db = "${base_libdir}/libnss_db.so.* ${base_libdir}/libnss_db-*.so ${localstatedir}/db/Makefile ${localstatedir}/db/makedbs.sh"
-RDEPENDS_libnss-db = "${PN}-utils"
-FILES_glibc-extra-nss = "${base_libdir}/libnss_*-*.so ${base_libdir}/libnss_*.so.*"
-FILES_sln = "${base_sbindir}/sln"
-FILES_${PN}-pic = "${libdir}/*_pic.a ${libdir}/*_pic.map ${libdir}/libc_pic/*.o"
-FILES_libsotruss = "${libdir}/audit/sotruss-lib.so"
+ARCH_DYNAMIC_LOADER:aarch64 = "ld-linux-${TARGET_ARCH}.so.1"
+libc_baselibs:append = " ${@oe.utils.conditional('ARCH_DYNAMIC_LOADER', '', '', '${root_prefix}/lib/${ARCH_DYNAMIC_LOADER}', d)}"
+INSANE_SKIP:${PN}:append:aarch64 = " libdir"
+
+FILES:${PN} = "${libc_baselibs} ${libexecdir}/* ${sysconfdir}/ld.so.conf"
+RRECOMMENDS:${PN} = "${@bb.utils.contains('DISTRO_FEATURES', 'ldconfig', '${MLPREFIX}ldconfig', '', d)}"
+FILES:ldconfig = "${base_sbindir}/ldconfig"
+FILES:ldd = "${bindir}/ldd"
+FILES:libsegfault = "${base_libdir}/libSegFault*"
+FILES:libcidn = "${base_libdir}/libcidn-*.so ${base_libdir}/libcidn.so.*"
+FILES:libmemusage = "${base_libdir}/libmemusage.so"
+FILES:libnss-db = "${base_libdir}/libnss_db.so.* ${base_libdir}/libnss_db-*.so ${localstatedir}/db/Makefile ${localstatedir}/db/makedbs.sh"
+RDEPENDS:libnss-db = "${PN}-utils"
+FILES:glibc-extra-nss = "${base_libdir}/libnss_*-*.so ${base_libdir}/libnss_*.so.*"
+FILES:sln = "${base_sbindir}/sln"
+FILES:${PN}-pic = "${libdir}/*_pic.a ${libdir}/*_pic.map ${libdir}/libc_pic/*.o"
+FILES:libsotruss = "${libdir}/audit/sotruss-lib.so"
 FILES_SOLIBSDEV = "${libdir}/lib*${SOLIBSDEV}"
-FILES_${PN}-dev += "${libdir}/*_nonshared.a ${base_libdir}/*_nonshared.a ${base_libdir}/*.o ${datadir}/aclocal"
-RDEPENDS_${PN}-dev = "linux-libc-headers-dev"
-FILES_${PN}-staticdev += "${libdir}/*.a ${base_libdir}/*.a"
-FILES_nscd = "${sbindir}/nscd* ${sysconfdir}/init.d/nscd ${systemd_unitdir}/system/nscd* ${sysconfdir}/tmpfiles.d/nscd.conf \
+FILES:${PN}-dev += "${libdir}/*_nonshared.a ${base_libdir}/*_nonshared.a ${base_libdir}/*.o ${datadir}/aclocal"
+RDEPENDS:${PN}-dev = "linux-libc-headers-dev"
+FILES:${PN}-staticdev += "${libdir}/*.a ${base_libdir}/*.a"
+FILES:nscd = "${sbindir}/nscd* ${sysconfdir}/init.d/nscd ${systemd_unitdir}/system/nscd* ${sysconfdir}/tmpfiles.d/nscd.conf \
               ${sysconfdir}/nscd.conf ${sysconfdir}/default/volatiles/98_nscd ${localstatedir}/db/nscd"
-FILES_${PN}-mtrace = "${bindir}/mtrace"
-FILES_tzcode = "${bindir}/tzselect ${sbindir}/zic ${bindir}/zdump"
-FILES_${PN}-utils = "${bindir}/* ${sbindir}/*"
-FILES_catchsegv = "${bindir}/catchsegv"
-RDEPENDS_catchsegv = "libsegfault"
-FILES_${PN}-pcprofile = "${base_libdir}/libpcprofile.so"
-FILES_glibc-thread-db = "${base_libdir}/libthread_db.so.* ${base_libdir}/libthread_db-*.so"
-RPROVIDES_${PN}-dev += "libc-dev"
-RPROVIDES_${PN}-staticdev += "libc-staticdev"
-
-SUMMARY_sln = "The static ln"
-DESCRIPTION_sln = "Similar to the 'ln' utility, but statically linked.  sln is useful to make symbolic links to dynamic libraries if the dynamic linking system, for some reason, is not functional."
-SUMMARY_nscd = "Name service cache daemon"
-DESCRIPTION_nscd = "nscd, name service cache daemon, caches name service lookups for the passwd, group and hosts information.  It can damatically improvide performance with remote, such as NIS or NIS+, name services."
-SUMMARY_glibc-extra-nss = "hesiod, NIS and NIS+ nss libraries"
-DESCRIPTION_glibc-extra-nss = "glibc: nis, nisplus and hesiod search services."
-SUMMARY_ldd = "print shared library dependencies"
-DESCRIPTION_ldd = "${bindir}/ldd prints shared library dependencies for each program or shared library specified on the command line."
-SUMMARY_${PN}-utils = "Miscellaneous utilities provided by glibc"
-DESCRIPTION_${PN}-utils = "Miscellaneous utilities including getconf, iconv, locale, gencat, ..."
-DESCRIPTION_libsotruss = "Library to support sotruss which traces calls through PLTs"
-DESCRIPTION_tzcode = "tzcode, timezone zoneinfo utils -- zic, zdump, tzselect"
+FILES:${PN}-mtrace = "${bindir}/mtrace"
+FILES:tzcode = "${bindir}/tzselect ${sbindir}/zic ${bindir}/zdump"
+FILES:${PN}-utils = "${bindir}/* ${sbindir}/*"
+FILES:catchsegv = "${bindir}/catchsegv"
+RDEPENDS:catchsegv = "libsegfault"
+FILES:${PN}-pcprofile = "${base_libdir}/libpcprofile.so"
+FILES:glibc-thread-db = "${base_libdir}/libthread_db.so.* ${base_libdir}/libthread_db-*.so"
+RPROVIDES:${PN}-dev += "libc-dev"
+RPROVIDES:${PN}-staticdev += "libc-staticdev"
+
+SUMMARY:sln = "The static ln"
+DESCRIPTION:sln = "Similar to the 'ln' utility, but statically linked.  sln is useful to make symbolic links to dynamic libraries if the dynamic linking system, for some reason, is not functional."
+SUMMARY:nscd = "Name service cache daemon"
+DESCRIPTION:nscd = "nscd, name service cache daemon, caches name service lookups for the passwd, group and hosts information.  It can damatically improvide performance with remote, such as NIS or NIS+, name services."
+SUMMARY:glibc-extra-nss = "hesiod, NIS and NIS+ nss libraries"
+DESCRIPTION:glibc-extra-nss = "glibc: nis, nisplus and hesiod search services."
+SUMMARY:ldd = "print shared library dependencies"
+DESCRIPTION:ldd = "${bindir}/ldd prints shared library dependencies for each program or shared library specified on the command line."
+SUMMARY:${PN}-utils = "Miscellaneous utilities provided by glibc"
+DESCRIPTION:${PN}-utils = "Miscellaneous utilities including getconf, iconv, locale, gencat, ..."
+DESCRIPTION:libsotruss = "Library to support sotruss which traces calls through PLTs"
+DESCRIPTION:tzcode = "tzcode, timezone zoneinfo utils -- zic, zdump, tzselect"
 
 inherit multilib_header
 
@@ -125,7 +125,7 @@ def get_libc_fpu_setting(bb, d):
         return "--without-fp"
     return ""
 
-do_install_append_class-target() {
+do_install:append:class-target() {
 	if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
 		install -d ${D}${sysconfdir}/tmpfiles.d
 		echo "d /run/nscd 755 root root -" \
@@ -139,15 +139,15 @@ do_install_append_class-target() {
 	fi
 
 }
-do_install_append_aarch64 () {
+do_install:append:aarch64 () {
 	do_install_armmultilib
 }
 
-do_install_append_arm () {
+do_install:append:arm () {
 	do_install_armmultilib
 }
 
-do_install_append_armeb () {
+do_install:append:armeb () {
 	do_install_armmultilib
 }
 
@@ -252,26 +252,26 @@ stash_locale_package_cleanup() {
 	stash_locale_cleanup ${PKGD}
 }
 
-python populate_packages_prepend () {
+python populate_packages:prepend () {
     if d.getVar('DEBIAN_NAMES'):
         pkgs = d.getVar('PACKAGES').split()
         bpn = d.getVar('BPN')
         prefix = d.getVar('MLPREFIX') or ""
         # Set the base package...
-        d.setVar('PKG_' + prefix + bpn, prefix + 'libc6')
+        d.setVar('PKG:' + prefix + bpn, prefix + 'libc6')
         libcprefix = prefix + bpn + '-'
         for p in pkgs:
             # And all the subpackages.
             if p.startswith(libcprefix):
                 renamed = p.replace(bpn, 'libc6', 1)
-                d.setVar('PKG_' + p, renamed)
+                d.setVar('PKG:' + p, renamed)
         # For backward compatibility with old -dbg package
-        d.appendVar('RPROVIDES_' + libcprefix + 'dbg', ' ' + prefix + 'libc-dbg')
-        d.appendVar('RCONFLICTS_' + libcprefix + 'dbg', ' ' + prefix + 'libc-dbg')
-        d.appendVar('RREPLACES_' + libcprefix + 'dbg', ' ' + prefix + 'libc-dbg')
+        d.appendVar('RPROVIDES:' + libcprefix + 'dbg', ' ' + prefix + 'libc-dbg')
+        d.appendVar('RCONFLICTS:' + libcprefix + 'dbg', ' ' + prefix + 'libc-dbg')
+        d.appendVar('RREPLACES:' + libcprefix + 'dbg', ' ' + prefix + 'libc-dbg')
 }
 
-pkg_postinst_nscd () {
+pkg_postinst:nscd () {
 	if [ -z "$D" ]; then
 		if command -v systemd-tmpfiles >/dev/null; then
 			systemd-tmpfiles --create ${sysconfdir}/tmpfiles.d/nscd.conf
@@ -280,7 +280,7 @@ pkg_postinst_nscd () {
 		fi
 	fi
 }
-CONFFILES_nscd="${sysconfdir}/nscd.conf"
+CONFFILES:nscd="${sysconfdir}/nscd.conf"
 
 SYSTEMD_PACKAGES = "nscd"
-SYSTEMD_SERVICE_nscd = "nscd.service"
+SYSTEMD_SERVICE:nscd = "nscd.service"
diff --git a/meta/recipes-core/glibc/glibc-scripts.inc b/meta/recipes-core/glibc/glibc-scripts.inc
index 14a14e45126..47216ae7d73 100644
--- a/meta/recipes-core/glibc/glibc-scripts.inc
+++ b/meta/recipes-core/glibc/glibc-scripts.inc
@@ -2,7 +2,7 @@ require glibc-collateral.inc
 
 SUMMARY = "utility scripts provided by glibc"
 DESCRIPTION = "utility scripts provided by glibc"
-RDEPENDS_${PN} = "bash glibc-mtrace"
+RDEPENDS:${PN} = "bash glibc-mtrace"
 
 SRC = "${COMPONENTS_DIR}/${PACKAGE_ARCH}/glibc-stash-locale/scripts"
 
@@ -17,7 +17,7 @@ do_install() {
 
 # sotruss script requires sotruss-lib.so (given by libsotruss package), 
 # to produce trace of the library calls.
-RDEPENDS_${PN} += "libsotruss"
+RDEPENDS:${PN} += "libsotruss"
 
 # Don't scan for CVEs as glibc will be scanned
 CVE_PRODUCT = ""
diff --git a/meta/recipes-core/glibc/glibc-testsuite_2.33.bb b/meta/recipes-core/glibc/glibc-testsuite_2.33.bb
index 659d3132fa6..72aa332171d 100644
--- a/meta/recipes-core/glibc/glibc-testsuite_2.33.bb
+++ b/meta/recipes-core/glibc/glibc-testsuite_2.33.bb
@@ -3,7 +3,7 @@ require glibc_${PV}.bb
 EXCLUDE_FROM_WORLD = "1"
 
 # handle PN differences
-FILESEXTRAPATHS_prepend := "${THISDIR}/glibc:"
+FILESEXTRAPATHS:prepend := "${THISDIR}/glibc:"
 
 # strip provides
 PROVIDES = ""
@@ -20,7 +20,7 @@ python () {
 DEPENDS += "glibc-locale libgcc gcc-runtime"
 
 # remove the initial depends
-DEPENDS_remove = "libgcc-initial"
+DEPENDS:remove = "libgcc-initial"
 
 inherit qemu
 
diff --git a/meta/recipes-core/glibc/glibc.inc b/meta/recipes-core/glibc/glibc.inc
index 7d143063776..04e6db99b9f 100644
--- a/meta/recipes-core/glibc/glibc.inc
+++ b/meta/recipes-core/glibc/glibc.inc
@@ -24,10 +24,10 @@ CACHED_CONFIGUREVARS += " \
 "
 
 # ifunc doesn't appear to work on mips, casuses libbfd assertion failures
-CACHED_CONFIGUREVARS_append_mipsarch = " libc_cv_ld_gnu_indirect_function=no"
+CACHED_CONFIGUREVARS:append:mipsarch = " libc_cv_ld_gnu_indirect_function=no"
 
 GLIBC_EXTRA_OECONF ?= ""
-GLIBC_EXTRA_OECONF_class-nativesdk = ""
+GLIBC_EXTRA_OECONF:class-nativesdk = ""
 
 # glibc uses PARALLELMFLAGS variable to pass parallel build info so transfer
 # PARALLEL_MAKE into PARALLELMFLAGS and empty out PARALLEL_MAKE
@@ -41,12 +41,12 @@ PARALLEL_MAKE = ""
 # ensure make uses /bin/bash
 EXTRA_OEMAKE += "SHELL=/bin/bash"
 
-do_configure_prepend() {
+do_configure:prepend() {
 	sed -e "s#@BASH@#/bin/sh#" -i ${S}/elf/ldd.bash.in
 }
 
 # Enable backtrace from abort()
-do_configure_append_arm () {
+do_configure:append:arm () {
 	echo "CFLAGS-abort.c = -fasynchronous-unwind-tables" >> ${B}/configparms
 	echo "CFLAGS-raise.c = -fasynchronous-unwind-tables" >> ${B}/configparms
 }
diff --git a/meta/recipes-core/glibc/glibc_2.33.bb b/meta/recipes-core/glibc/glibc_2.33.bb
index 925efe8cc62..4d33e5f5d9f 100644
--- a/meta/recipes-core/glibc/glibc_2.33.bb
+++ b/meta/recipes-core/glibc/glibc_2.33.bb
@@ -19,7 +19,7 @@ CVE_CHECK_WHITELIST += "CVE-2019-1010025"
 DEPENDS += "gperf-native bison-native make-native"
 
 NATIVESDKFIXES ?= ""
-NATIVESDKFIXES_class-nativesdk = "\
+NATIVESDKFIXES:class-nativesdk = "\
            file://0003-nativesdk-glibc-Look-for-host-system-ld.so.cache-as-.patch \
            file://0004-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch \
            file://0005-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch \
@@ -89,14 +89,14 @@ EXTRA_OECONF = "--enable-kernel=${OLDEST_KERNEL} \
 
 EXTRA_OECONF += "${@get_libc_fpu_setting(bb, d)}"
 
-EXTRA_OECONF_append_x86 = " --enable-cet"
-EXTRA_OECONF_append_x86-64 = " --enable-cet"
+EXTRA_OECONF:append:x86 = " --enable-cet"
+EXTRA_OECONF:append:x86-64 = " --enable-cet"
 
 PACKAGECONFIG ??= "nscd memory-tagging"
 PACKAGECONFIG[nscd] = "--enable-nscd,--disable-nscd"
 PACKAGECONFIG[memory-tagging] = "--enable-memory-tagging,--disable-memory-tagging"
 
-do_patch_append() {
+do_patch:append() {
     bb.build.exec_func('do_fix_readlib_c', d)
 }
 
diff --git a/meta/recipes-core/ifupdown/ifupdown_0.8.36.bb b/meta/recipes-core/ifupdown/ifupdown_0.8.36.bb
index 0daf50acab5..1d01701b8f5 100644
--- a/meta/recipes-core/ifupdown/ifupdown_0.8.36.bb
+++ b/meta/recipes-core/ifupdown/ifupdown_0.8.36.bb
@@ -51,7 +51,7 @@ do_install_ptest () {
 }
 
 ALTERNATIVE_PRIORITY = "100"
-ALTERNATIVE_${PN} = "ifup ifdown"
+ALTERNATIVE:${PN} = "ifup ifdown"
 
 ALTERNATIVE_LINK_NAME[ifup] = "${base_sbindir}/ifup"
 ALTERNATIVE_LINK_NAME[ifdown] = "${base_sbindir}/ifdown"
diff --git a/meta/recipes-core/images/build-appliance-image_15.0.0.bb b/meta/recipes-core/images/build-appliance-image_15.0.0.bb
index 1176311ff94..17e06a0569d 100644
--- a/meta/recipes-core/images/build-appliance-image_15.0.0.bb
+++ b/meta/recipes-core/images/build-appliance-image_15.0.0.bb
@@ -34,7 +34,7 @@ SRC_URI = "git://git.yoctoproject.org/poky \
 RECIPE_NO_UPDATE_REASON = "Recipe is recursive and handled as part of the release process"
 BA_INCLUDE_SOURCES ??= "0"
 
-IMAGE_CMD_ext4_append () {
+IMAGE_CMD:ext4:append () {
 	# We don't need to reserve much space for root, 0.5% is more than enough
 	tune2fs -m 0.5 ${IMGDEPLOYDIR}/${IMAGE_NAME}.rootfs.ext4
 }
diff --git a/meta/recipes-core/images/core-image-minimal.bb b/meta/recipes-core/images/core-image-minimal.bb
index 19f27f83950..84343adcd8e 100644
--- a/meta/recipes-core/images/core-image-minimal.bb
+++ b/meta/recipes-core/images/core-image-minimal.bb
@@ -9,4 +9,4 @@ LICENSE = "MIT"
 inherit core-image
 
 IMAGE_ROOTFS_SIZE ?= "8192"
-IMAGE_ROOTFS_EXTRA_SPACE_append = "${@bb.utils.contains("DISTRO_FEATURES", "systemd", " + 4096", "", d)}"
+IMAGE_ROOTFS_EXTRA_SPACE:append = "${@bb.utils.contains("DISTRO_FEATURES", "systemd", " + 4096", "", d)}"
diff --git a/meta/recipes-core/init-ifupdown/init-ifupdown_1.0.bb b/meta/recipes-core/init-ifupdown/init-ifupdown_1.0.bb
index b6fc8a4d419..741da324d03 100644
--- a/meta/recipes-core/init-ifupdown/init-ifupdown_1.0.bb
+++ b/meta/recipes-core/init-ifupdown/init-ifupdown_1.0.bb
@@ -29,13 +29,13 @@ do_install () {
 	install -m 0755 ${WORKDIR}/nfsroot ${D}${sysconfdir}/network/if-pre-up.d
 }
 
-do_install_append_qemuall () {
+do_install:append:qemuall () {
 	# Disable network manager on machines that commonly do NFS booting
 	touch ${D}${sysconfdir}/network/nm-disabled-eth0
 }
 
 PACKAGE_ARCH = "${MACHINE_ARCH}"
-RDEPENDS_${PN} = "netbase"
-RCONFLICTS_${PN} = "netbase (< 1:5.0)"
+RDEPENDS:${PN} = "netbase"
+RCONFLICTS:${PN} = "netbase (< 1:5.0)"
 
-CONFFILES_${PN} = "${sysconfdir}/network/interfaces"
+CONFFILES:${PN} = "${sysconfdir}/network/interfaces"
diff --git a/meta/recipes-core/initrdscripts/initramfs-boot_1.0.bb b/meta/recipes-core/initrdscripts/initramfs-boot_1.0.bb
index 29ec5ec2ff4..ab460ac797a 100644
--- a/meta/recipes-core/initrdscripts/initramfs-boot_1.0.bb
+++ b/meta/recipes-core/initrdscripts/initramfs-boot_1.0.bb
@@ -18,4 +18,4 @@ do_install() {
 
 inherit allarch
 
-FILES_${PN} += "/init /dev/console"
+FILES:${PN} += "/init /dev/console"
diff --git a/meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb b/meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb
index fe24215b465..9e8c1dc3abb 100644
--- a/meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb
+++ b/meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb
@@ -1,8 +1,8 @@
 SUMMARY = "Modular initramfs system"
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
-RDEPENDS_${PN} += "${VIRTUAL-RUNTIME_base-utils}"
-RRECOMMENDS_${PN} = "${VIRTUAL-RUNTIME_base-utils-syslog}"
+RDEPENDS:${PN} += "${VIRTUAL-RUNTIME_base-utils}"
+RRECOMMENDS:${PN} = "${VIRTUAL-RUNTIME_base-utils-syslog}"
 
 PR = "r4"
 
@@ -66,7 +66,7 @@ PACKAGES = "${PN}-base \
             initramfs-module-lvm \
            "
 
-FILES_${PN}-base = "/init /init.d/99-finish /dev"
+FILES:${PN}-base = "/init /init.d/99-finish /dev"
 
 # 99-finish in base depends on some other module which mounts
 # the rootfs, like 90-rootfs. To replace that default, use
@@ -74,36 +74,36 @@ FILES_${PN}-base = "/init /init.d/99-finish /dev"
 # initramfs recipe and install something else, or install
 # something that runs earlier (for example, a 89-my-rootfs)
 # and mounts the rootfs. Then 90-rootfs will proceed immediately.
-RRECOMMENDS_${PN}-base += "initramfs-module-rootfs"
+RRECOMMENDS:${PN}-base += "initramfs-module-rootfs"
 
-SUMMARY_initramfs-module-exec = "initramfs support for easy execution of applications"
-RDEPENDS_initramfs-module-exec = "${PN}-base"
-FILES_initramfs-module-exec = "/init.d/89-exec"
+SUMMARY:initramfs-module-exec = "initramfs support for easy execution of applications"
+RDEPENDS:initramfs-module-exec = "${PN}-base"
+FILES:initramfs-module-exec = "/init.d/89-exec"
 
-SUMMARY_initramfs-module-mdev = "initramfs support for mdev"
-RDEPENDS_initramfs-module-mdev = "${PN}-base busybox-mdev"
-FILES_initramfs-module-mdev = "/init.d/01-mdev"
+SUMMARY:initramfs-module-mdev = "initramfs support for mdev"
+RDEPENDS:initramfs-module-mdev = "${PN}-base busybox-mdev"
+FILES:initramfs-module-mdev = "/init.d/01-mdev"
 
-SUMMARY_initramfs-module-udev = "initramfs support for udev"
-RDEPENDS_initramfs-module-udev = "${PN}-base udev"
-FILES_initramfs-module-udev = "/init.d/01-udev"
+SUMMARY:initramfs-module-udev = "initramfs support for udev"
+RDEPENDS:initramfs-module-udev = "${PN}-base udev"
+FILES:initramfs-module-udev = "/init.d/01-udev"
 
-SUMMARY_initramfs-module-e2fs = "initramfs support for ext4/ext3/ext2 filesystems"
-RDEPENDS_initramfs-module-e2fs = "${PN}-base"
-FILES_initramfs-module-e2fs = "/init.d/10-e2fs"
+SUMMARY:initramfs-module-e2fs = "initramfs support for ext4/ext3/ext2 filesystems"
+RDEPENDS:initramfs-module-e2fs = "${PN}-base"
+FILES:initramfs-module-e2fs = "/init.d/10-e2fs"
 
-SUMMARY_initramfs-module-nfsrootfs = "initramfs support for locating and mounting the root partition via nfs"
-RDEPENDS_initramfs-module-nfsrootfs = "${PN}-base"
-FILES_initramfs-module-nfsrootfs = "/init.d/85-nfsrootfs"
+SUMMARY:initramfs-module-nfsrootfs = "initramfs support for locating and mounting the root partition via nfs"
+RDEPENDS:initramfs-module-nfsrootfs = "${PN}-base"
+FILES:initramfs-module-nfsrootfs = "/init.d/85-nfsrootfs"
 
-SUMMARY_initramfs-module-rootfs = "initramfs support for locating and mounting the root partition"
-RDEPENDS_initramfs-module-rootfs = "${PN}-base"
-FILES_initramfs-module-rootfs = "/init.d/90-rootfs"
+SUMMARY:initramfs-module-rootfs = "initramfs support for locating and mounting the root partition"
+RDEPENDS:initramfs-module-rootfs = "${PN}-base"
+FILES:initramfs-module-rootfs = "/init.d/90-rootfs"
 
-SUMMARY_initramfs-module-debug = "initramfs dynamic debug support"
-RDEPENDS_initramfs-module-debug = "${PN}-base"
-FILES_initramfs-module-debug = "/init.d/00-debug"
+SUMMARY:initramfs-module-debug = "initramfs dynamic debug support"
+RDEPENDS:initramfs-module-debug = "${PN}-base"
+FILES:initramfs-module-debug = "/init.d/00-debug"
 
-SUMMARY_initramfs-module-lvm = "initramfs lvm rootfs support"
-RDEPENDS_initramfs-module-lvm = "${PN}-base"
-FILES_initramfs-module-lvm = "/init.d/09-lvm"
+SUMMARY:initramfs-module-lvm = "initramfs lvm rootfs support"
+RDEPENDS:initramfs-module-lvm = "${PN}-base"
+FILES:initramfs-module-lvm = "/init.d/09-lvm"
diff --git a/meta/recipes-core/initrdscripts/initramfs-live-boot-tiny_1.0.bb b/meta/recipes-core/initrdscripts/initramfs-live-boot-tiny_1.0.bb
index 7a9a8ecae26..59a530506a9 100644
--- a/meta/recipes-core/initrdscripts/initramfs-live-boot-tiny_1.0.bb
+++ b/meta/recipes-core/initrdscripts/initramfs-live-boot-tiny_1.0.bb
@@ -2,7 +2,7 @@ SUMMARY = "Live image init script"
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
 DEPENDS = "virtual/kernel"
-RDEPENDS_${PN} = "busybox-mdev"
+RDEPENDS:${PN} = "busybox-mdev"
 SRC_URI = "file://init-live.sh"
 
 PR = "r12"
@@ -15,7 +15,7 @@ do_install() {
         mknod -m 622 ${D}/dev/console c 5 1
 }
 
-FILES_${PN} += " /init /dev "
+FILES:${PN} += " /init /dev "
 
 # Due to kernel dependency
 PACKAGE_ARCH = "${MACHINE_ARCH}"
diff --git a/meta/recipes-core/initrdscripts/initramfs-live-boot_1.0.bb b/meta/recipes-core/initrdscripts/initramfs-live-boot_1.0.bb
index 57b30254a62..8f56d7ab90e 100644
--- a/meta/recipes-core/initrdscripts/initramfs-live-boot_1.0.bb
+++ b/meta/recipes-core/initrdscripts/initramfs-live-boot_1.0.bb
@@ -2,7 +2,7 @@ SUMMARY = "Live image init script"
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
 DEPENDS = "virtual/kernel"
-RDEPENDS_${PN} = "udev udev-extraconf"
+RDEPENDS:${PN} = "udev udev-extraconf"
 SRC_URI = "file://init-live.sh"
 
 PR = "r12"
@@ -15,7 +15,7 @@ do_install() {
         mknod -m 622 ${D}/dev/console c 5 1
 }
 
-FILES_${PN} += " /init /dev "
+FILES:${PN} += " /init /dev "
 
 # Due to kernel dependency
 PACKAGE_ARCH = "${MACHINE_ARCH}"
diff --git a/meta/recipes-core/initrdscripts/initramfs-live-install-efi-testfs_1.0.bb b/meta/recipes-core/initrdscripts/initramfs-live-install-efi-testfs_1.0.bb
index c03bd2d7656..495eccbeda1 100644
--- a/meta/recipes-core/initrdscripts/initramfs-live-install-efi-testfs_1.0.bb
+++ b/meta/recipes-core/initrdscripts/initramfs-live-install-efi-testfs_1.0.bb
@@ -3,7 +3,7 @@ LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
 SRC_URI = "file://init-install-efi-testfs.sh"
 
-RDEPENDS_${PN} = "parted e2fsprogs-mke2fs dosfstools"
+RDEPENDS:${PN} = "parted e2fsprogs-mke2fs dosfstools"
 
 S = "${WORKDIR}"
 
@@ -12,5 +12,5 @@ do_install() {
 }
 
 INHIBIT_DEFAULT_DEPS = "1"
-FILES_${PN} = " /install-efi.sh "
+FILES:${PN} = " /install-efi.sh "
 COMPATIBLE_HOST = "(i.86|x86_64).*-linux"
diff --git a/meta/recipes-core/initrdscripts/initramfs-live-install-efi_1.0.bb b/meta/recipes-core/initrdscripts/initramfs-live-install-efi_1.0.bb
index cc842ae8b71..ecbd567d6ca 100644
--- a/meta/recipes-core/initrdscripts/initramfs-live-install-efi_1.0.bb
+++ b/meta/recipes-core/initrdscripts/initramfs-live-install-efi_1.0.bb
@@ -5,8 +5,8 @@ SRC_URI = "file://init-install-efi.sh"
 
 PR = "r1"
 
-RDEPENDS_${PN} = "parted e2fsprogs-mke2fs dosfstools util-linux-blkid ${VIRTUAL-RUNTIME_base-utils}"
-RRECOMMENDS_${PN} = "${VIRTUAL-RUNTIME_base-utils-syslog}"
+RDEPENDS:${PN} = "parted e2fsprogs-mke2fs dosfstools util-linux-blkid ${VIRTUAL-RUNTIME_base-utils}"
+RRECOMMENDS:${PN} = "${VIRTUAL-RUNTIME_base-utils-syslog}"
 
 S = "${WORKDIR}"
 
@@ -20,6 +20,6 @@ do_install() {
 #inherit allarch
 INHIBIT_DEFAULT_DEPS = "1"
 
-FILES_${PN} = " /install-efi.sh "
+FILES:${PN} = " /install-efi.sh "
 
 COMPATIBLE_HOST = "(i.86.*|x86_64.*|aarch64.*)-linux"
diff --git a/meta/recipes-core/initrdscripts/initramfs-live-install-testfs_1.0.bb b/meta/recipes-core/initrdscripts/initramfs-live-install-testfs_1.0.bb
index 937bfd4d389..d347e323b36 100644
--- a/meta/recipes-core/initrdscripts/initramfs-live-install-testfs_1.0.bb
+++ b/meta/recipes-core/initrdscripts/initramfs-live-install-testfs_1.0.bb
@@ -3,7 +3,7 @@ LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
 SRC_URI = "file://init-install-testfs.sh"
 
-RDEPENDS_${PN} = "grub parted e2fsprogs-mke2fs"
+RDEPENDS:${PN} = "grub parted e2fsprogs-mke2fs"
 
 S = "${WORKDIR}"
 
@@ -12,5 +12,5 @@ do_install() {
 }
 
 INHIBIT_DEFAULT_DEPS = "1"
-FILES_${PN} = " /install.sh "
+FILES:${PN} = " /install.sh "
 COMPATIBLE_HOST = "(i.86|x86_64).*-linux"
diff --git a/meta/recipes-core/initrdscripts/initramfs-live-install_1.0.bb b/meta/recipes-core/initrdscripts/initramfs-live-install_1.0.bb
index 48fc0c4a769..674d49ecdf9 100644
--- a/meta/recipes-core/initrdscripts/initramfs-live-install_1.0.bb
+++ b/meta/recipes-core/initrdscripts/initramfs-live-install_1.0.bb
@@ -7,8 +7,8 @@ PR = "r9"
 
 S = "${WORKDIR}"
 
-RDEPENDS_${PN} = "grub parted e2fsprogs-mke2fs util-linux-blkid ${VIRTUAL-RUNTIME_base-utils}"
-RRECOMMENDS_${PN} = "${VIRTUAL-RUNTIME_base-utils-syslog}"
+RDEPENDS:${PN} = "grub parted e2fsprogs-mke2fs util-linux-blkid ${VIRTUAL-RUNTIME_base-utils}"
+RRECOMMENDS:${PN} = "${VIRTUAL-RUNTIME_base-utils-syslog}"
 
 do_install() {
         install -m 0755 ${WORKDIR}/init-install.sh ${D}/install.sh
@@ -20,6 +20,6 @@ do_install() {
 #inherit allarch
 INHIBIT_DEFAULT_DEPS = "1"
 
-FILES_${PN} = " /install.sh "
+FILES:${PN} = " /install.sh "
 
 COMPATIBLE_HOST = "(i.86.*|x86_64.*|aarch64.*)-linux"
diff --git a/meta/recipes-core/initrdscripts/initramfs-module-install-efi_1.0.bb b/meta/recipes-core/initrdscripts/initramfs-module-install-efi_1.0.bb
index 523138cff36..fb194845554 100644
--- a/meta/recipes-core/initrdscripts/initramfs-module-install-efi_1.0.bb
+++ b/meta/recipes-core/initrdscripts/initramfs-module-install-efi_1.0.bb
@@ -1,8 +1,8 @@
 SUMMARY = "initramfs-framework module for EFI installation option"
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
-RDEPENDS_${PN} = "initramfs-framework-base parted e2fsprogs-mke2fs dosfstools util-linux-blkid ${VIRTUAL-RUNTIME_base-utils}"
-RRECOMMENDS_${PN} = "${VIRTUAL-RUNTIME_base-utils-syslog}"
+RDEPENDS:${PN} = "initramfs-framework-base parted e2fsprogs-mke2fs dosfstools util-linux-blkid ${VIRTUAL-RUNTIME_base-utils}"
+RRECOMMENDS:${PN} = "${VIRTUAL-RUNTIME_base-utils-syslog}"
 
 PR = "r4"
 
@@ -15,4 +15,4 @@ do_install() {
     install -m 0755 ${WORKDIR}/init-install-efi.sh ${D}/init.d/install-efi.sh
 }
 
-FILES_${PN} = "/init.d/install-efi.sh"
+FILES:${PN} = "/init.d/install-efi.sh"
diff --git a/meta/recipes-core/initrdscripts/initramfs-module-install_1.0.bb b/meta/recipes-core/initrdscripts/initramfs-module-install_1.0.bb
index 56898e824f3..4d48d54e9ec 100644
--- a/meta/recipes-core/initrdscripts/initramfs-module-install_1.0.bb
+++ b/meta/recipes-core/initrdscripts/initramfs-module-install_1.0.bb
@@ -1,13 +1,13 @@
 SUMMARY = "initramfs-framework module for installation option"
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
-RDEPENDS_${PN} = "initramfs-framework-base grub parted e2fsprogs-mke2fs util-linux-blkid ${VIRTUAL-RUNTIME_base-utils}"
-RRECOMMENDS_${PN} = "${VIRTUAL-RUNTIME_base-utils-syslog}"
+RDEPENDS:${PN} = "initramfs-framework-base grub parted e2fsprogs-mke2fs util-linux-blkid ${VIRTUAL-RUNTIME_base-utils}"
+RRECOMMENDS:${PN} = "${VIRTUAL-RUNTIME_base-utils-syslog}"
 
 # The same restriction as grub
 COMPATIBLE_HOST = '(x86_64.*|i.86.*|arm.*|aarch64.*)-(linux.*|freebsd.*)'
-COMPATIBLE_HOST_armv7a = 'null'
-COMPATIBLE_HOST_armv7ve = 'null'
+COMPATIBLE_HOST:armv7a = 'null'
+COMPATIBLE_HOST:armv7ve = 'null'
 
 PR = "r1"
 
@@ -20,4 +20,4 @@ do_install() {
     install -m 0755 ${WORKDIR}/init-install.sh ${D}/init.d/install.sh
 }
 
-FILES_${PN} = "/init.d/install.sh"
+FILES:${PN} = "/init.d/install.sh"
diff --git a/meta/recipes-core/initrdscripts/initramfs-module-setup-live_1.0.bb b/meta/recipes-core/initrdscripts/initramfs-module-setup-live_1.0.bb
index 4d2fe9dd2b3..d8ce024b831 100644
--- a/meta/recipes-core/initrdscripts/initramfs-module-setup-live_1.0.bb
+++ b/meta/recipes-core/initrdscripts/initramfs-module-setup-live_1.0.bb
@@ -1,13 +1,13 @@
 SUMMARY = "initramfs-framework module for live booting"
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
-RDEPENDS_${PN} = "initramfs-framework-base udev-extraconf"
+RDEPENDS:${PN} = "initramfs-framework-base udev-extraconf"
 
 PR = "r4"
 
 inherit allarch
 
-FILESEXTRAPATHS_prepend := "${THISDIR}/initramfs-framework:"
+FILESEXTRAPATHS:prepend := "${THISDIR}/initramfs-framework:"
 SRC_URI = "file://setup-live"
 
 S = "${WORKDIR}"
@@ -17,4 +17,4 @@ do_install() {
     install -m 0755 ${WORKDIR}/setup-live ${D}/init.d/80-setup-live
 }
 
-FILES_${PN} = "/init.d/80-setup-live"
+FILES:${PN} = "/init.d/80-setup-live"
diff --git a/meta/recipes-core/initscripts/init-system-helpers_1.60.bb b/meta/recipes-core/initscripts/init-system-helpers_1.60.bb
index 33977e66c10..165f37c070c 100644
--- a/meta/recipes-core/initscripts/init-system-helpers_1.60.bb
+++ b/meta/recipes-core/initscripts/init-system-helpers_1.60.bb
@@ -32,10 +32,10 @@ do_install() {
 
 PACKAGES += "${PN}-invoke-rc.d ${PN}-service"
 
-FILES_${PN} = ""
-FILES_${PN}-invoke-rc.d = "${sbindir}/invoke-rc.d"
-FILES_${PN}-service = "${sbindir}/service"
+FILES:${PN} = ""
+FILES:${PN}-invoke-rc.d = "${sbindir}/invoke-rc.d"
+FILES:${PN}-service = "${sbindir}/service"
 
-ALLOW_EMPTY_${PN} = "1"
+ALLOW_EMPTY:${PN} = "1"
 
-RRECOMMENDS_${PN} += "${PN}-invoke-rc.d ${PN}-service"
+RRECOMMENDS:${PN} += "${PN}-invoke-rc.d ${PN}-service"
diff --git a/meta/recipes-core/initscripts/initscripts_1.0.bb b/meta/recipes-core/initscripts/initscripts_1.0.bb
index 65f9c0ae8d3..e4c48132202 100644
--- a/meta/recipes-core/initscripts/initscripts_1.0.bb
+++ b/meta/recipes-core/initscripts/initscripts_1.0.bb
@@ -39,25 +39,25 @@ SRC_URI = "file://functions \
 
 S = "${WORKDIR}"
 
-SRC_URI_append_arm = " file://alignment.sh"
-SRC_URI_append_armeb = " file://alignment.sh"
+SRC_URI:append:arm = " file://alignment.sh"
+SRC_URI:append:armeb = " file://alignment.sh"
 
 KERNEL_VERSION = ""
 
-DEPENDS_append = " update-rc.d-native"
-PACKAGE_WRITE_DEPS_append = " ${@bb.utils.contains('DISTRO_FEATURES','systemd','systemd-systemctl-native','',d)}"
+DEPENDS:append = " update-rc.d-native"
+PACKAGE_WRITE_DEPS:append = " ${@bb.utils.contains('DISTRO_FEATURES','systemd','systemd-systemctl-native','',d)}"
 
 PACKAGES =+ "${PN}-functions ${PN}-sushell"
-RDEPENDS_${PN} = "initd-functions \
+RDEPENDS:${PN} = "initd-functions \
                   ${@bb.utils.contains('DISTRO_FEATURES','selinux','${PN}-sushell','',d)} \
                   init-system-helpers-service \
 		 "
 # Recommend pn-functions so that it will be a preferred default provider for initd-functions
-RRECOMMENDS_${PN} = "${PN}-functions"
-RPROVIDES_${PN}-functions = "initd-functions"
-RCONFLICTS_${PN}-functions = "lsbinitscripts"
-FILES_${PN}-functions = "${sysconfdir}/init.d/functions*"
-FILES_${PN}-sushell = "${base_sbindir}/sushell"
+RRECOMMENDS:${PN} = "${PN}-functions"
+RPROVIDES:${PN}-functions = "initd-functions"
+RCONFLICTS:${PN}-functions = "lsbinitscripts"
+FILES:${PN}-functions = "${sysconfdir}/init.d/functions*"
+FILES:${PN}-sushell = "${base_sbindir}/sushell"
 
 HALTARGS ?= "-d -f"
 
@@ -170,7 +170,7 @@ MASKED_SCRIPTS = " \
   sysfs \
   urandom"
 
-pkg_postinst_${PN} () {
+pkg_postinst:${PN} () {
 	if type systemctl >/dev/null 2>/dev/null; then
 		if [ -n "$D" ]; then
 			OPTS="--root=$D"
@@ -186,4 +186,4 @@ pkg_postinst_${PN} () {
     fi
 }
 
-CONFFILES_${PN} += "${sysconfdir}/init.d/checkroot.sh"
+CONFFILES:${PN} += "${sysconfdir}/init.d/checkroot.sh"
diff --git a/meta/recipes-core/kbd/kbd_2.4.0.bb b/meta/recipes-core/kbd/kbd_2.4.0.bb
index b557d691b5b..7cb45eff779 100644
--- a/meta/recipes-core/kbd/kbd_2.4.0.bb
+++ b/meta/recipes-core/kbd/kbd_2.4.0.bb
@@ -9,9 +9,9 @@ inherit autotools gettext pkgconfig
 
 DEPENDS += "flex-native"
 
-RREPLACES_${PN} = "console-tools"
-RPROVIDES_${PN} = "console-tools"
-RCONFLICTS_${PN} = "console-tools"
+RREPLACES:${PN} = "console-tools"
+RPROVIDES:${PN} = "console-tools"
+RCONFLICTS:${PN} = "console-tools"
 
 SRC_URI = "${KERNELORG_MIRROR}/linux/utils/${BPN}/${BP}.tar.xz \
            "
@@ -25,12 +25,12 @@ PACKAGECONFIG[pam] = "--enable-vlock, --disable-vlock, libpam,"
 
 PACKAGES += "${PN}-consolefonts ${PN}-keymaps ${PN}-unimaps ${PN}-consoletrans"
 
-FILES_${PN}-consolefonts = "${datadir}/consolefonts"
-FILES_${PN}-consoletrans = "${datadir}/consoletrans"
-FILES_${PN}-keymaps = "${datadir}/keymaps"
-FILES_${PN}-unimaps = "${datadir}/unimaps"
+FILES:${PN}-consolefonts = "${datadir}/consolefonts"
+FILES:${PN}-consoletrans = "${datadir}/consoletrans"
+FILES:${PN}-keymaps = "${datadir}/keymaps"
+FILES:${PN}-unimaps = "${datadir}/unimaps"
 
-do_install_append () {
+do_install:append () {
     if [ ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'yes', '', d)} = yes ] \
     && [ -f ${D}${sysconfdir}/pam.d/vlock ]; then
         mv -f ${D}${sysconfdir}/pam.d/vlock ${D}${sysconfdir}/pam.d/vlock.kbd
@@ -39,7 +39,7 @@ do_install_append () {
 
 inherit update-alternatives
 
-ALTERNATIVE_${PN} = "chvt deallocvt fgconsole openvt showkey \
+ALTERNATIVE:${PN} = "chvt deallocvt fgconsole openvt showkey \
                      ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'vlock','', d)}"
 ALTERNATIVE_PRIORITY = "100"
 
diff --git a/meta/recipes-core/libcgroup/libcgroup_0.41.bb b/meta/recipes-core/libcgroup/libcgroup_0.41.bb
index 92d7261b0da..400f96f17f9 100644
--- a/meta/recipes-core/libcgroup/libcgroup_0.41.bb
+++ b/meta/recipes-core/libcgroup/libcgroup_0.41.bb
@@ -13,24 +13,24 @@ DEPENDS = "bison-native flex-native"
 
 SRC_URI = "${SOURCEFORGE_MIRROR}/project/libcg/${BPN}/v0.41/${BPN}-${PV}.tar.bz2 \
            file://CVE-2018-14348.patch"
-SRC_URI_append_libc-musl = " file://musl-decls-compat.patch"
+SRC_URI:append:libc-musl = " file://musl-decls-compat.patch"
 
 SRC_URI[md5sum] = "3dea9d50b8a5b73ff0bf1cdcb210f63f"
 SRC_URI[sha256sum] = "e4e38bdc7ef70645ce33740ddcca051248d56b53283c0dc6d404e17706f6fb51"
 
 UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/libcg/files/libcgroup/"
 
-DEPENDS_append_libc-musl = " fts "
-EXTRA_OEMAKE_append_libc-musl = " LIBS=-lfts"
+DEPENDS:append:libc-musl = " fts "
+EXTRA_OEMAKE:append:libc-musl = " LIBS=-lfts"
 
 PACKAGECONFIG = "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}"
 PACKAGECONFIG[pam] = "--enable-pam-module-dir=${base_libdir}/security --enable-pam=yes,--enable-pam=no,libpam"
 
 PACKAGES =+ "cgroups-pam-plugin"
-FILES_cgroups-pam-plugin = "${base_libdir}/security/pam_cgroup.so*"
-FILES_${PN}-dev += "${base_libdir}/security/*.la"
+FILES:cgroups-pam-plugin = "${base_libdir}/security/pam_cgroup.so*"
+FILES:${PN}-dev += "${base_libdir}/security/*.la"
 
-do_install_append() {
+do_install:append() {
 	# Moving libcgroup to base_libdir
 	if [ ! ${D}${libdir} -ef ${D}${base_libdir} ]; then
 		mkdir -p ${D}/${base_libdir}/
diff --git a/meta/recipes-core/libxcrypt/libxcrypt-compat_4.4.23.bb b/meta/recipes-core/libxcrypt/libxcrypt-compat_4.4.23.bb
index ba74eb1f94d..ec9f9f4fa34 100644
--- a/meta/recipes-core/libxcrypt/libxcrypt-compat_4.4.23.bb
+++ b/meta/recipes-core/libxcrypt/libxcrypt-compat_4.4.23.bb
@@ -10,7 +10,7 @@ EXCLUDE_FROM_WORLD = "1"
 
 API = "--enable-obsolete-api"
 
-do_install_append () {
+do_install:append () {
 	rm -rf ${D}${includedir}
 	rm -rf ${D}${libdir}/pkgconfig
 	rm -rf ${D}${datadir}
diff --git a/meta/recipes-core/libxcrypt/libxcrypt.inc b/meta/recipes-core/libxcrypt/libxcrypt.inc
index 79a2aa49d6d..d9b3a7d6737 100644
--- a/meta/recipes-core/libxcrypt/libxcrypt.inc
+++ b/meta/recipes-core/libxcrypt/libxcrypt.inc
@@ -17,7 +17,7 @@ SRC_URI += "file://fix_cflags_handling.patch"
 
 PROVIDES = "virtual/crypt"
 
-FILES_${PN} = "${libdir}/libcrypt*.so.* \
+FILES:${PN} = "${libdir}/libcrypt*.so.* \
                ${libdir}/libcrypt-*.so \
                ${libdir}/libowcrypt*.so.* \
                ${libdir}/libowcrypt-*.so \
@@ -27,7 +27,7 @@ S = "${WORKDIR}/git"
 
 BUILD_CPPFLAGS = "-I${STAGING_INCDIR_NATIVE}"
 TARGET_CPPFLAGS = "-I${STAGING_DIR_TARGET}${includedir} -Wno-error"
-CPPFLAGS_append_class-nativesdk = " -Wno-error"
+CPPFLAGS:append:class-nativesdk = " -Wno-error"
 
 API = "--disable-obsolete-api"
 EXTRA_OECONF += "${API}"
diff --git a/meta/recipes-core/libxml/libxml2_2.9.12.bb b/meta/recipes-core/libxml/libxml2_2.9.12.bb
index 2d1e92966ff..3105889c16a 100644
--- a/meta/recipes-core/libxml/libxml2_2.9.12.bb
+++ b/meta/recipes-core/libxml/libxml2_2.9.12.bb
@@ -38,11 +38,11 @@ inherit autotools pkgconfig binconfig-disabled ptest
 
 inherit ${@bb.utils.contains('PACKAGECONFIG', 'python', 'python3native', '', d)}
 
-RDEPENDS_${PN}-ptest += "bash make ${@bb.utils.contains('PACKAGECONFIG', 'python', 'libgcc python3-core python3-logging python3-shell  python3-stringold python3-threading python3-unittest ${PN}-python', '', d)}"
+RDEPENDS:${PN}-ptest += "bash make ${@bb.utils.contains('PACKAGECONFIG', 'python', 'libgcc python3-core python3-logging python3-shell  python3-stringold python3-threading python3-unittest ${PN}-python', '', d)}"
 
-RDEPENDS_${PN}-python += "${@bb.utils.contains('PACKAGECONFIG', 'python', 'python3-core', '', d)}"
+RDEPENDS:${PN}-python += "${@bb.utils.contains('PACKAGECONFIG', 'python', 'python3-core', '', d)}"
 
-RDEPENDS_${PN}-ptest_append_libc-glibc = " glibc-gconv-ebcdic-us \
+RDEPENDS:${PN}-ptest:append:libc-glibc = " glibc-gconv-ebcdic-us \
                                            glibc-gconv-ibm1141 \
                                            glibc-gconv-iso8859-5 \
                                            glibc-gconv-euc-jp \
@@ -53,25 +53,25 @@ export PYTHON_SITE_PACKAGES="${PYTHON_SITEPACKAGES_DIR}"
 
 # WARNING: zlib is required for RPM use
 EXTRA_OECONF = "--without-debug --without-legacy --with-catalog --without-docbook --with-c14n --without-lzma --with-fexceptions"
-EXTRA_OECONF_class-native = "--without-legacy --without-docbook --with-c14n --without-lzma --with-zlib"
-EXTRA_OECONF_class-nativesdk = "--without-legacy --without-docbook --with-c14n --without-lzma --with-zlib"
-EXTRA_OECONF_linuxstdbase = "--with-debug --with-legacy --with-docbook --with-c14n --without-lzma --with-zlib"
+EXTRA_OECONF:class-native = "--without-legacy --without-docbook --with-c14n --without-lzma --with-zlib"
+EXTRA_OECONF:class-nativesdk = "--without-legacy --without-docbook --with-c14n --without-lzma --with-zlib"
+EXTRA_OECONF:linuxstdbase = "--with-debug --with-legacy --with-docbook --with-c14n --without-lzma --with-zlib"
 
-python populate_packages_prepend () {
+python populate_packages:prepend () {
     # autonamer would call this libxml2-2, but we don't want that
     if d.getVar('DEBIAN_NAMES'):
-        d.setVar('PKG_libxml2', '${MLPREFIX}libxml2')
+        d.setVar('PKG:libxml2', '${MLPREFIX}libxml2')
 }
 
 PACKAGE_BEFORE_PN += "${PN}-utils"
 PACKAGES += "${PN}-python"
 
-FILES_${PN}-staticdev += "${PYTHON_SITEPACKAGES_DIR}/*.a"
-FILES_${PN}-dev += "${libdir}/xml2Conf.sh"
-FILES_${PN}-utils = "${bindir}/*"
-FILES_${PN}-python = "${PYTHON_SITEPACKAGES_DIR}"
+FILES:${PN}-staticdev += "${PYTHON_SITEPACKAGES_DIR}/*.a"
+FILES:${PN}-dev += "${libdir}/xml2Conf.sh"
+FILES:${PN}-utils = "${bindir}/*"
+FILES:${PN}-python = "${PYTHON_SITEPACKAGES_DIR}"
 
-do_configure_prepend () {
+do_configure:prepend () {
 	# executables take longer to package: these should not be executable
 	find ${S}/xmlconf/ -type f -exec chmod -x {} \+
 }
@@ -101,7 +101,7 @@ do_install_ptest () {
 	    {} +
 }
 
-do_install_append_class-native () {
+do_install:append:class-native () {
 	# Docs are not needed in the native case
 	rm ${D}${datadir}/gtk-doc -rf
 }
diff --git a/meta/recipes-core/meta/buildtools-tarball.bb b/meta/recipes-core/meta/buildtools-tarball.bb
index b5dae176bfd..9775430d4bf 100644
--- a/meta/recipes-core/meta/buildtools-tarball.bb
+++ b/meta/recipes-core/meta/buildtools-tarball.bb
@@ -61,7 +61,7 @@ do_populate_sdk[stamp-extra-info] = "${PACKAGE_ARCH}"
 
 REAL_MULTIMACH_TARGET_SYS = "none"
 
-create_sdk_files_append () {
+create_sdk_files:append () {
 	rm -f ${SDK_OUTPUT}/${SDKPATH}/site-config-*
 	rm -f ${SDK_OUTPUT}/${SDKPATH}/environment-setup-*
 	rm -f ${SDK_OUTPUT}/${SDKPATH}/version-*
diff --git a/meta/recipes-core/meta/dummy-sdk-package.inc b/meta/recipes-core/meta/dummy-sdk-package.inc
index bedde2965ca..bd26e39ad3b 100644
--- a/meta/recipes-core/meta/dummy-sdk-package.inc
+++ b/meta/recipes-core/meta/dummy-sdk-package.inc
@@ -13,7 +13,7 @@ python() {
     d.setVar('PACKAGE_ARCH', '${DUMMYARCH}')
 }
 
-ALLOW_EMPTY_${PN} = "1"
+ALLOW_EMPTY:${PN} = "1"
 
 PR[vardeps] += "DUMMYPROVIDES"
 PR[vardeps] += "DUMMYPROVIDES_PACKAGES"
@@ -22,10 +22,10 @@ DUMMYPROVIDES_PACKAGES ??= ""
 DUMMYPROVIDES_PACKAGES_MULTILIB = "${@' '.join([multilib_pkg_extend(d, pkg) for pkg in d.getVar('DUMMYPROVIDES_PACKAGES').split()])}"
 DUMMYPROVIDES += "${DUMMYPROVIDES_PACKAGES_MULTILIB}"
 
-python populate_packages_prepend() {
+python populate_packages:prepend() {
     p = d.getVar("PN")
-    d.appendVar("RPROVIDES_%s" % p, "${DUMMYPROVIDES}")
-    d.appendVar("RCONFLICTS_%s" % p, "${DUMMYPROVIDES}")
-    d.appendVar("RREPLACES_%s" % p, "${DUMMYPROVIDES_PACKAGES_MULTILIB}")
+    d.appendVar("RPROVIDES:%s" % p, "${DUMMYPROVIDES}")
+    d.appendVar("RCONFLICTS:%s" % p, "${DUMMYPROVIDES}")
+    d.appendVar("RREPLACES:%s" % p, "${DUMMYPROVIDES_PACKAGES_MULTILIB}")
 }
 
diff --git a/meta/recipes-core/meta/meta-environment-extsdk.bb b/meta/recipes-core/meta/meta-environment-extsdk.bb
index 2076b56f259..706312b0d62 100644
--- a/meta/recipes-core/meta/meta-environment-extsdk.bb
+++ b/meta/recipes-core/meta/meta-environment-extsdk.bb
@@ -4,7 +4,7 @@ require meta-environment.bb
 
 PN = "meta-environment-extsdk-${MACHINE}"
 
-create_sdk_files_append() {
+create_sdk_files:append() {
 	local sysroot=${SDKPATH}/tmp/${@os.path.relpath(d.getVar('STAGING_DIR'), d.getVar('TMPDIR'))}/${MACHINE}
 	local sdkpathnative=${SDKPATH}/tmp/${@os.path.relpath(d.getVar('STAGING_DIR'), d.getVar('TMPDIR'))}/${BUILD_ARCH}
 
diff --git a/meta/recipes-core/meta/meta-environment.bb b/meta/recipes-core/meta/meta-environment.bb
index da1230bead8..27f01036657 100644
--- a/meta/recipes-core/meta/meta-environment.bb
+++ b/meta/recipes-core/meta/meta-environment.bb
@@ -9,7 +9,7 @@ MODIFYTOS = "0"
 REAL_MULTIMACH_TARGET_SYS = "${TUNE_PKGARCH}${TARGET_VENDOR}-${TARGET_OS}"
 
 inherit toolchain-scripts
-TOOLCHAIN_NEED_CONFIGSITE_CACHE_append = " zlib"
+TOOLCHAIN_NEED_CONFIGSITE_CACHE:append = " zlib"
 # Need to expand here before cross-candian changes HOST_ARCH -> SDK_ARCH
 TOOLCHAIN_CONFIGSITE_NOCACHE := "${TOOLCHAIN_CONFIGSITE_NOCACHE}"
 
@@ -66,7 +66,7 @@ do_install() {
 
 PN = "meta-environment-${MACHINE}"
 PACKAGES = "${PN}"
-FILES_${PN}= " \
+FILES:${PN}= " \
     ${SDKPATH}/* \
     "
 
diff --git a/meta/recipes-core/meta/meta-go-toolchain.bb b/meta/recipes-core/meta/meta-go-toolchain.bb
index dde385c1b1c..c24518efe33 100644
--- a/meta/recipes-core/meta/meta-go-toolchain.bb
+++ b/meta/recipes-core/meta/meta-go-toolchain.bb
@@ -3,10 +3,10 @@ LICENSE = "MIT"
 
 inherit populate_sdk
 
-TOOLCHAIN_HOST_TASK_append = " \
+TOOLCHAIN_HOST_TASK:append = " \
     packagegroup-go-cross-canadian-${MACHINE} \
 "
 
-TOOLCHAIN_TARGET_TASK_append = " \
+TOOLCHAIN_TARGET_TASK:append = " \
     ${@multilib_pkg_extend(d, 'packagegroup-go-sdk-target')} \
 "
diff --git a/meta/recipes-core/meta/signing-keys.bb b/meta/recipes-core/meta/signing-keys.bb
index 5bab94aa369..03463f95f56 100644
--- a/meta/recipes-core/meta/signing-keys.bb
+++ b/meta/recipes-core/meta/signing-keys.bb
@@ -14,9 +14,9 @@ SYSROOT_DIRS += "${sysconfdir}/pki"
 
 PACKAGES =+ "${PN}-ipk ${PN}-rpm ${PN}-packagefeed"
 
-FILES_${PN}-rpm = "${sysconfdir}/pki/rpm-gpg"
-FILES_${PN}-ipk = "${sysconfdir}/pki/ipk-gpg"
-FILES_${PN}-packagefeed = "${sysconfdir}/pki/packagefeed-gpg"
+FILES:${PN}-rpm = "${sysconfdir}/pki/rpm-gpg"
+FILES:${PN}-ipk = "${sysconfdir}/pki/ipk-gpg"
+FILES:${PN}-packagefeed = "${sysconfdir}/pki/packagefeed-gpg"
 
 python do_get_public_keys () {
     from oe.gpg_sign import get_signer
diff --git a/meta/recipes-core/meta/testexport-tarball.bb b/meta/recipes-core/meta/testexport-tarball.bb
index daedd78cb44..de7663b38c0 100644
--- a/meta/recipes-core/meta/testexport-tarball.bb
+++ b/meta/recipes-core/meta/testexport-tarball.bb
@@ -38,7 +38,7 @@ do_populate_sdk[stamp-extra-info] = "${PACKAGE_ARCH}"
 
 REAL_MULTIMACH_TARGET_SYS = "none"
 
-create_sdk_files_append () {
+create_sdk_files:append () {
 	rm -f ${SDK_OUTPUT}/${SDKPATH}/site-config-*
 	rm -f ${SDK_OUTPUT}/${SDKPATH}/environment-setup-*
 	rm -f ${SDK_OUTPUT}/${SDKPATH}/version-*
diff --git a/meta/recipes-core/meta/wic-tools.bb b/meta/recipes-core/meta/wic-tools.bb
index bc6cc0d1831..ba0916cb567 100644
--- a/meta/recipes-core/meta/wic-tools.bb
+++ b/meta/recipes-core/meta/wic-tools.bb
@@ -8,10 +8,10 @@ DEPENDS = "\
            btrfs-tools-native squashfs-tools-native pseudo-native \
            e2fsprogs-native util-linux-native tar-native\
            "
-DEPENDS_append_x86 = " syslinux-native syslinux grub-efi systemd-boot"
-DEPENDS_append_x86-64 = " syslinux-native syslinux grub-efi systemd-boot"
-DEPENDS_append_x86-x32 = " syslinux-native syslinux grub-efi"
-DEPENDS_append_aarch64 = " grub-efi systemd-boot"
+DEPENDS:append:x86 = " syslinux-native syslinux grub-efi systemd-boot"
+DEPENDS:append:x86-64 = " syslinux-native syslinux grub-efi systemd-boot"
+DEPENDS:append:x86-x32 = " syslinux-native syslinux grub-efi"
+DEPENDS:append:aarch64 = " grub-efi systemd-boot"
 
 INHIBIT_DEFAULT_DEPS = "1"
 
diff --git a/meta/recipes-core/musl/bsd-headers.bb b/meta/recipes-core/musl/bsd-headers.bb
index c9945d45ebd..cf8af0da3cd 100644
--- a/meta/recipes-core/musl/bsd-headers.bb
+++ b/meta/recipes-core/musl/bsd-headers.bb
@@ -27,5 +27,5 @@ do_install() {
 #
 
 COMPATIBLE_HOST = ".*-musl.*"
-RDEPENDS_${PN}-dev = ""
-RRECOMMENDS_${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})"
+RDEPENDS:${PN}-dev = ""
+RRECOMMENDS:${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})"
diff --git a/meta/recipes-core/musl/gcompat_git.bb b/meta/recipes-core/musl/gcompat_git.bb
index 863ba8dbf01..6e5cc11d5d5 100644
--- a/meta/recipes-core/musl/gcompat_git.bb
+++ b/meta/recipes-core/musl/gcompat_git.bb
@@ -41,11 +41,11 @@ do_install () {
 	fi
 }
 
-FILES_${PN} += "/lib64"
+FILES:${PN} += "/lib64"
 
-INSANE_SKIP_${PN} = "libdir"
+INSANE_SKIP:${PN} = "libdir"
 
-RPROVIDES_${PN} += "musl-glibc-compat"
+RPROVIDES:${PN} += "musl-glibc-compat"
 #
 # We will skip parsing for non-musl systems
 #
diff --git a/meta/recipes-core/musl/libssp-nonshared.bb b/meta/recipes-core/musl/libssp-nonshared.bb
index 81c87e8e8d8..748dacf3126 100644
--- a/meta/recipes-core/musl/libssp-nonshared.bb
+++ b/meta/recipes-core/musl/libssp-nonshared.bb
@@ -30,6 +30,6 @@ do_install() {
 # We will skip parsing for non-musl systems
 #
 COMPATIBLE_HOST = ".*-musl.*"
-RDEPENDS_${PN}-staticdev = ""
-RDEPENDS_${PN}-dev = ""
-RRECOMMENDS_${PN}-dbg = "${PN}-staticdev (= ${EXTENDPKGV})"
+RDEPENDS:${PN}-staticdev = ""
+RDEPENDS:${PN}-dev = ""
+RRECOMMENDS:${PN}-dbg = "${PN}-staticdev (= ${EXTENDPKGV})"
diff --git a/meta/recipes-core/musl/musl-utils.bb b/meta/recipes-core/musl/musl-utils.bb
index dd0ce330613..4f99d4324f3 100644
--- a/meta/recipes-core/musl/musl-utils.bb
+++ b/meta/recipes-core/musl/musl-utils.bb
@@ -21,7 +21,7 @@ S = "${WORKDIR}/git"
 
 PACKAGES =+ "${PN}-iconv"
 
-FILES_${PN}-iconv = "${bindir}/iconv"
+FILES:${PN}-iconv = "${bindir}/iconv"
 
 COMPATIBLE_HOST = ".*-musl.*"
 
diff --git a/meta/recipes-core/musl/musl.inc b/meta/recipes-core/musl/musl.inc
index 54edfc88e52..66468e92ff0 100644
--- a/meta/recipes-core/musl/musl.inc
+++ b/meta/recipes-core/musl/musl.inc
@@ -14,16 +14,16 @@ LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=b03f1cc25363d094011f8f4fd8bcfb68"
 INHIBIT_DEFAULT_DEPS = "1"
 
 FILES_SOLIBSDEV = ""
-FILES_${PN} += "${libdir}/lib*${SOLIBSDEV}"
-INSANE_SKIP_${PN} = "dev-so"
+FILES:${PN} += "${libdir}/lib*${SOLIBSDEV}"
+INSANE_SKIP:${PN} = "dev-so"
 
 # Doesn't compile in MIPS16e mode due to use of hand-written
 # assembly
 MIPS_INSTRUCTION_SET = "mips"
 
 # thumb1 is unsupported
-ARM_INSTRUCTION_SET_armv5 = "arm"
-ARM_INSTRUCTION_SET_armv4 = "arm"
+ARM_INSTRUCTION_SET:armv5 = "arm"
+ARM_INSTRUCTION_SET:armv4 = "arm"
 
 # Enable out of tree build
 B = "${WORKDIR}/build"
diff --git a/meta/recipes-core/musl/musl_git.bb b/meta/recipes-core/musl/musl_git.bb
index bd9d5f1d4b5..f9c174d9c1e 100644
--- a/meta/recipes-core/musl/musl_git.bb
+++ b/meta/recipes-core/musl/musl_git.bb
@@ -42,7 +42,7 @@ LDFLAGS += "-Wl,-soname,libc.so"
 # disabled automatically due to the optimisation level, but append an explicit
 # -fomit-frame-pointer to handle cases where optimisation is set to -O0 or frame
 # pointers have been enabled by -fno-omit-frame-pointer earlier in CFLAGS, etc.
-CFLAGS_append_arm = " ${@bb.utils.contains('TUNE_CCARGS', '-mthumb', '-fomit-frame-pointer', '', d)}"
+CFLAGS:append:arm = " ${@bb.utils.contains('TUNE_CCARGS', '-mthumb', '-fomit-frame-pointer', '', d)}"
 
 CONFIGUREOPTS = " \
     --prefix=${prefix} \
@@ -70,19 +70,19 @@ do_install() {
 	lnr ${D}${libdir}/libc.so ${D}${bindir}/ldd
 }
 
-FILES_${PN} += "/lib/ld-musl-${MUSL_LDSO_ARCH}.so.1 ${sysconfdir}/ld-musl-${MUSL_LDSO_ARCH}.path"
-FILES_${PN}-staticdev = "${libdir}/libc.a"
-FILES_${PN}-dev =+ "${libdir}/libcrypt.a ${libdir}/libdl.a ${libdir}/libm.a \
+FILES:${PN} += "/lib/ld-musl-${MUSL_LDSO_ARCH}.so.1 ${sysconfdir}/ld-musl-${MUSL_LDSO_ARCH}.path"
+FILES:${PN}-staticdev = "${libdir}/libc.a"
+FILES:${PN}-dev =+ "${libdir}/libcrypt.a ${libdir}/libdl.a ${libdir}/libm.a \
                     ${libdir}/libpthread.a ${libdir}/libresolv.a \
                     ${libdir}/librt.a ${libdir}/libutil.a ${libdir}/libxnet.a \
                    "
 
-RDEPENDS_${PN}-dev += "linux-libc-headers-dev bsd-headers-dev libssp-nonshared-staticdev"
-RPROVIDES_${PN}-dev += "libc-dev virtual-libc-dev"
-RPROVIDES_${PN} += "ldd libsegfault rtld(GNU_HASH)"
+RDEPENDS:${PN}-dev += "linux-libc-headers-dev bsd-headers-dev libssp-nonshared-staticdev"
+RPROVIDES:${PN}-dev += "libc-dev virtual-libc-dev"
+RPROVIDES:${PN} += "ldd libsegfault rtld(GNU_HASH)"
 
 LEAD_SONAME = "libc.so"
-INSANE_SKIP_${PN}-dev = "staticdev"
-INSANE_SKIP_${PN} = "libdir"
+INSANE_SKIP:${PN}-dev = "staticdev"
+INSANE_SKIP:${PN} = "libdir"
 
 UPSTREAM_CHECK_COMMITS = "1"
diff --git a/meta/recipes-core/ncurses/ncurses.inc b/meta/recipes-core/ncurses/ncurses.inc
index ef59bc3b0a0..cbb12ca2757 100644
--- a/meta/recipes-core/ncurses/ncurses.inc
+++ b/meta/recipes-core/ncurses/ncurses.inc
@@ -5,7 +5,7 @@ LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://ncurses/base/version.c;beginline=1;endline=27;md5=5526f2f3a29edc95538b368a4771edda"
 SECTION = "libs"
 DEPENDS = "ncurses-native"
-DEPENDS_class-native = ""
+DEPENDS:class-native = ""
 
 BINCONFIG = "${bindir}/ncurses5-config ${bindir}/ncursesw5-config \
 	${bindir}/ncurses6-config ${bindir}/ncursesw6-config"
@@ -32,17 +32,17 @@ ENABLE_WIDEC ?= "true"
 BUILD_CPPFLAGS += "-D_GNU_SOURCE"
 
 # natives don't generally look in base_libdir
-base_libdir_class-native = "${libdir}"
+base_libdir:class-native = "${libdir}"
 
 # Display corruption occurs on 64 bit hosts without these settings
 # This was derrived from the upstream debian ncurses which uses
 # these settings for 32 and 64 bit hosts.
 EXCONFIG_ARGS = ""
-EXCONFIG_ARGS_class-native = " \
+EXCONFIG_ARGS:class-native = " \
 		--disable-lp64 \
 		--with-chtype='long' \
 		--with-mmask-t='long'"
-EXCONFIG_ARGS_class-nativesdk = " \
+EXCONFIG_ARGS:class-nativesdk = " \
 		--disable-lp64 \
 		--with-chtype='long' \
 		--with-mmask-t='long'"
@@ -55,11 +55,11 @@ PACKAGES_DYNAMIC = "^${PN}-lib.*"
 # because the sstate had a hard coded search path.  Until this is fixed
 # another way this is deemed good enough.
 EX_TERMCAP = ""
-EX_TERMCAP_class-native = ":/etc/termcap:/usr/share/misc/termcap"
-EX_TERMCAP_class-nativesdk = ":/etc/termcap:/usr/share/misc/termcap"
+EX_TERMCAP:class-native = ":/etc/termcap:/usr/share/misc/termcap"
+EX_TERMCAP:class-nativesdk = ":/etc/termcap:/usr/share/misc/termcap"
 EX_TERMINFO = ""
-EX_TERMINFO_class-native = ":/etc/terminfo:/usr/share/terminfo:/usr/share/misc/terminfo:/lib/terminfo"
-EX_TERMINFO_class-nativesdk = ":/etc/terminfo:/usr/share/terminfo:/usr/share/misc/terminfo:/lib/terminfo"
+EX_TERMINFO:class-native = ":/etc/terminfo:/usr/share/terminfo:/usr/share/misc/terminfo:/lib/terminfo"
+EX_TERMINFO:class-nativesdk = ":/etc/terminfo:/usr/share/terminfo:/usr/share/misc/terminfo:/lib/terminfo"
 EX_TERMLIB ?= "tinfo"
 
 # Helper function for do_configure to allow multiple configurations
@@ -258,7 +258,7 @@ do_install() {
         oe_multilib_header curses.h
 }
 
-python populate_packages_prepend () {
+python populate_packages:prepend () {
     libdir = d.expand("${libdir}")
     base_libdir = d.expand("${base_libdir}")
     pnbase = d.expand("${PN}-lib%s")
@@ -272,8 +272,8 @@ inherit update-alternatives
 
 ALTERNATIVE_PRIORITY = "100"
 
-ALTERNATIVE_ncurses-tools_class-target = "clear reset"
-ALTERNATIVE_ncurses-terminfo_class-target = "st st-256color"
+ALTERNATIVE:ncurses-tools:class-target = "clear reset"
+ALTERNATIVE:ncurses-terminfo:class-target = "st st-256color"
 
 ALTERNATIVE_LINK_NAME[st] = "${datadir}/terminfo/s/st"
 
@@ -287,7 +287,7 @@ PACKAGES += " \
   ${PN}-terminfo \
 "
 
-FILES_${PN} = "\
+FILES:${PN} = "\
   ${bindir}/tput \
   ${bindir}/tset \
   ${bindir}/ncurses5-config \
@@ -299,7 +299,7 @@ FILES_${PN} = "\
 
 # This keeps only tput/tset in ncurses
 # clear/reset are in already busybox
-FILES_${PN}-tools = "\
+FILES:${PN}-tools = "\
   ${bindir}/tic \
   ${bindir}/toe \
   ${bindir}/infotocap \
@@ -312,20 +312,20 @@ FILES_${PN}-tools = "\
 "
 
 # 'reset' is a symlink to 'tset' which is in the 'ncurses' package
-RDEPENDS_${PN}-tools = "${PN} ${PN}-terminfo-base"
+RDEPENDS:${PN}-tools = "${PN} ${PN}-terminfo-base"
 
-FILES_${PN}-terminfo = "\
+FILES:${PN}-terminfo = "\
   ${datadir}/terminfo \
 "
 
-FILES_${PN}-terminfo-base = "\
+FILES:${PN}-terminfo-base = "\
   ${sysconfdir}/terminfo \
 "
 
-RSUGGESTS_${PN}-libtinfo = "${PN}-terminfo"
-RRECOMMENDS_${PN}-libtinfo = "${PN}-terminfo-base"
+RSUGGESTS:${PN}-libtinfo = "${PN}-terminfo"
+RRECOMMENDS:${PN}-libtinfo = "${PN}-terminfo-base"
 
 # Putting terminfo into the sysroot adds around 2800 files to
 # each recipe specific sysroot. We can live without this, particularly
 # as many recipes may have native and target copies.
-SYSROOT_DIRS_remove = "${datadir}"
+SYSROOT_DIRS:remove = "${datadir}"
diff --git a/meta/recipes-core/newlib/libgloss_4.1.0.bb b/meta/recipes-core/newlib/libgloss_4.1.0.bb
index c9ed30d9882..8c8ee91395a 100644
--- a/meta/recipes-core/newlib/libgloss_4.1.0.bb
+++ b/meta/recipes-core/newlib/libgloss_4.1.0.bb
@@ -2,21 +2,21 @@ require newlib.inc
 
 DEPENDS += "newlib"
 
-FILESEXTRAPATHS_prepend := "${THISDIR}/libgloss:"
+FILESEXTRAPATHS:prepend := "${THISDIR}/libgloss:"
 
-SRC_URI_append_powerpc = " file://fix-rs6000-crt0.patch"
-SRC_URI_append_arm = " file://fix_makefile_include_arm_h.patch"
+SRC_URI:append:powerpc = " file://fix-rs6000-crt0.patch"
+SRC_URI:append:arm = " file://fix_makefile_include_arm_h.patch"
 
 do_configure() {
 	${S}/libgloss/configure ${EXTRA_OECONF}
 }
 
-do_install_prepend() {
+do_install:prepend() {
 	# install doesn't create this itself, avoid install error
 	install -d ${D}${prefix}/${TARGET_SYS}/lib
 }
 
-do_install_append() {
+do_install:append() {
 	# Move libs to default directories so they can be picked up later
 	install -d ${D}${libdir}
 	mv -v ${D}${prefix}/${TARGET_SYS}/lib/* ${D}${libdir}
@@ -26,8 +26,8 @@ do_install_append() {
 }
 
 # Split packages correctly
-FILES_${PN} += "${libdir}/*.ld ${libdir}/*.specs"
-FILES_${PN}-dev += "${libdir}/cpu-init/*"
+FILES:${PN} += "${libdir}/*.ld ${libdir}/*.specs"
+FILES:${PN}-dev += "${libdir}/cpu-init/*"
 
 INHIBIT_PACKAGE_STRIP = "1"
 INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
diff --git a/meta/recipes-core/newlib/newlib.inc b/meta/recipes-core/newlib/newlib.inc
index 0aba21fae70..23cd1720087 100644
--- a/meta/recipes-core/newlib/newlib.inc
+++ b/meta/recipes-core/newlib/newlib.inc
@@ -25,7 +25,7 @@ S = "${WORKDIR}/newlib-${PV}"
 B = "${WORKDIR}/build"
 
 ## disable stdlib
-TARGET_CC_ARCH_append = " -nostdlib"
+TARGET_CC_ARCH:append = " -nostdlib"
 
 EXTRA_OECONF = " \
                 --build=${BUILD_SYS}  \
@@ -50,5 +50,5 @@ do_install() {
 	oe_runmake install DESTDIR='${D}'
 }
 
-COMPATIBLE_HOST_libc-musl_class-target = "null"
-COMPATIBLE_HOST_libc-glibc_class-target = "null"
+COMPATIBLE_HOST:libc-musl:class-target = "null"
+COMPATIBLE_HOST:libc-glibc:class-target = "null"
diff --git a/meta/recipes-core/newlib/newlib_4.1.0.bb b/meta/recipes-core/newlib/newlib_4.1.0.bb
index 7ab5b2b94ed..0542c596bad 100644
--- a/meta/recipes-core/newlib/newlib_4.1.0.bb
+++ b/meta/recipes-core/newlib/newlib_4.1.0.bb
@@ -7,7 +7,7 @@ do_configure() {
     ${S}/configure ${EXTRA_OECONF}
 }
 
-do_install_append() {
+do_install:append() {
 	# Move include files and libs to default directories so they can be picked up later
 	mv -v ${D}${prefix}/${TARGET_SYS}/lib ${D}${libdir}
 	mv -v ${D}${prefix}/${TARGET_SYS}/include ${D}${includedir}
@@ -17,4 +17,4 @@ do_install_append() {
 }
 
 # No rpm package is actually created but -dev depends on it, avoid dnf error
-RDEPENDS_${PN}-dev_libc-newlib = ""
+RDEPENDS:${PN}-dev:libc-newlib = ""
diff --git a/meta/recipes-core/os-release/os-release.bb b/meta/recipes-core/os-release/os-release.bb
index a29d6781256..38ee4f993bc 100644
--- a/meta/recipes-core/os-release/os-release.bb
+++ b/meta/recipes-core/os-release/os-release.bb
@@ -50,4 +50,4 @@ do_install () {
     lnr ${D}${nonarch_libdir}/os-release ${D}${sysconfdir}/os-release
 }
 
-FILES_${PN} += "${nonarch_libdir}/os-release"
+FILES:${PN} += "${nonarch_libdir}/os-release"
diff --git a/meta/recipes-core/ovmf/ovmf-shell-image.bb b/meta/recipes-core/ovmf/ovmf-shell-image.bb
index fd4fb5b7328..50c4517da39 100644
--- a/meta/recipes-core/ovmf/ovmf-shell-image.bb
+++ b/meta/recipes-core/ovmf/ovmf-shell-image.bb
@@ -1,11 +1,11 @@
 DESCRIPTION = "boot image with UEFI shell and tools"
-COMPATIBLE_HOST_class-target='(i.86|x86_64).*'
+COMPATIBLE_HOST:class-target='(i.86|x86_64).*'
 
 # For this image recipe, only the wic format with a
 # single vfat partition makes sense. Because we have no
 # boot loader and no rootfs partition, not additional
 # tools are needed for this .wks file.
-IMAGE_FSTYPES_forcevariable = 'wic'
+IMAGE_FSTYPES:forcevariable = 'wic'
 WKS_FILE = "ovmf/ovmf-shell-image.wks"
 WKS_FILE_DEPENDS = ""
 
diff --git a/meta/recipes-core/ovmf/ovmf_git.bb b/meta/recipes-core/ovmf/ovmf_git.bb
index 90dae2aed03..145240e77e8 100644
--- a/meta/recipes-core/ovmf/ovmf_git.bb
+++ b/meta/recipes-core/ovmf/ovmf_git.bb
@@ -3,7 +3,7 @@ DESCRIPTION = "OVMF is an EDK II based project to enable UEFI support for \
 Virtual Machines. OVMF contains sample UEFI firmware for QEMU and KVM"
 HOMEPAGE = "https://github.com/tianocore/tianocore.github.io/wiki/OVMF"
 LICENSE = "BSD-2-Clause"
-LICENSE_class-target = "${@bb.utils.contains('PACKAGECONFIG', 'secureboot', 'BSD & OpenSSL', 'BSD', d)}"
+LICENSE:class-target = "${@bb.utils.contains('PACKAGECONFIG', 'secureboot', 'BSD & OpenSSL', 'BSD', d)}"
 LIC_FILES_CHKSUM = "file://OvmfPkg/License.txt;md5=06357ddc23f46577c2aeaeaf7b776d65"
 
 # Enabling Secure Boot adds a dependency on OpenSSL and implies
@@ -40,7 +40,7 @@ EDK_TOOLS_DIR="edk2_basetools"
 BUILD_OPTIMIZATION="-pipe"
 
 # OVMF supports IA only, although it could conceivably support ARM someday.
-COMPATIBLE_HOST_class-target='(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".
@@ -52,7 +52,7 @@ export PYTHON_COMMAND = "${HOSTTOOLS_DIR}/python3"
 do_patch[postfuncs] += "fix_basetools_location"
 fix_basetools_location () {
 }
-fix_basetools_location_class-target() {
+fix_basetools_location:class-target() {
     # Replaces the fake path inserted by 0002-ovmf-update-path-to-native-BaseTools.patch.
     # Necessary for finding the actual BaseTools from ovmf-native.
     sed -i -e 's#BBAKE_EDK_TOOLS_PATH#${STAGING_BINDIR_NATIVE}/${EDK_TOOLS_DIR}#' ${S}/OvmfPkg/build.sh
@@ -61,7 +61,7 @@ fix_basetools_location_class-target() {
 do_patch[postfuncs] += "fix_iasl"
 fix_iasl() {
 }
-fix_iasl_class-native() {
+fix_iasl:class-native() {
     # iasl is not installed under /usr/bin when building with OE.
     sed -i -e 's#/usr/bin/iasl#${STAGING_BINDIR_NATIVE}/iasl#' ${S}/BaseTools/Conf/tools_def.template
 }
@@ -80,14 +80,14 @@ fix_toolchain() {
         -e '/^VFR_CPPFLAGS/a CC = ${CC}\nCXX = ${CXX}\nAS = ${AS}\nAR = ${AR}\nLD = ${LD}' \
         ${S}/BaseTools/Source/C/VfrCompile/GNUmakefile
 }
-fix_toolchain_append_class-native() {
+fix_toolchain:append:class-native() {
     # This tools_def.template is going to be used by the target ovmf and
     # defines which compilers to use. For the GCC toolchain definitions,
     # that will be ${HOST_PREFIX}gcc. However, "make" doesn't need that
     # prefix.
     #
     # Injecting ENV(HOST_PREFIX) matches exporting that value as env
-    # variable in do_compile_class-target.
+    # variable in do_compile:class-target.
     sed -i \
         -e 's#\(ENV\|DEF\)(GCC.*_PREFIX)#ENV(HOST_PREFIX)#' \
         -e 's#ENV(HOST_PREFIX)make#make#' \
@@ -150,11 +150,11 @@ fixup_target_tools() {
     echo ${FIXED_GCCVER}
 }
 
-do_compile_class-native() {
+do_compile:class-native() {
     oe_runmake -C ${S}/BaseTools
 }
 
-do_compile_class-target() {
+do_compile:class-target() {
     export LFLAGS="${LDFLAGS}"
     PARALLEL_JOBS="${@oe.utils.parallel_make_argument(d, '-n %d')}"
     OVMF_ARCH="X64"
@@ -203,12 +203,12 @@ do_compile_class-target() {
     fi
 }
 
-do_install_class-native() {
+do_install:class-native() {
     install -d ${D}/${bindir}/edk2_basetools
     cp -r ${S}/BaseTools ${D}/${bindir}/${EDK_TOOLS_DIR}
 }
 
-do_install_class-target() {
+do_install:class-target() {
     # Content for UEFI shell iso. We install the EFI shell as
     # bootx64/ia32.efi because then it can be started even when the
     # firmware itself does not contain it.
@@ -225,19 +225,19 @@ do_install_class-target() {
 #
 # However, EnrollDefaultKeys.efi is only included when Secure Boot is enabled.
 PACKAGES =+ "ovmf-shell-efi"
-FILES_ovmf-shell-efi = " \
+FILES:ovmf-shell-efi = " \
     EnrollDefaultKeys.efi \
     efi/ \
 "
 
 DEPLOYDEP = ""
-DEPLOYDEP_class-target = "qemu-system-native:do_populate_sysroot"
-DEPLOYDEP_class-target += " ${@bb.utils.contains('PACKAGECONFIG', 'secureboot', 'openssl-native:do_populate_sysroot', '', d)}"
+DEPLOYDEP:class-target = "qemu-system-native:do_populate_sysroot"
+DEPLOYDEP:class-target += " ${@bb.utils.contains('PACKAGECONFIG', 'secureboot', 'openssl-native:do_populate_sysroot', '', d)}"
 do_deploy[depends] += "${DEPLOYDEP}"
 
 do_deploy() {
 }
-do_deploy_class-target() {
+do_deploy:class-target() {
     # For use with "runqemu ovmf".
     for i in \
         ovmf \
diff --git a/meta/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bb b/meta/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bb
index ae989011f48..64e5883f95a 100644
--- a/meta/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bb
+++ b/meta/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bb
@@ -9,7 +9,7 @@ inherit packagegroup nativesdk
 
 PACKAGEGROUP_DISABLE_COMPLEMENTARY = "1"
 
-RDEPENDS_${PN} = "\
+RDEPENDS:${PN} = "\
     nativesdk-pkgconfig \
     nativesdk-qemu \
     nativesdk-qemu-helper \
@@ -29,7 +29,7 @@ RDEPENDS_${PN} = "\
     nativesdk-flex \
     "
 
-RDEPENDS_${PN}_darwin = "\
+RDEPENDS:${PN}:darwin = "\
     nativesdk-pkgconfig \
     nativesdk-opkg \
     nativesdk-libtool \
diff --git a/meta/recipes-core/packagegroups/packagegroup-base.bb b/meta/recipes-core/packagegroups/packagegroup-base.bb
index 6d4d7e6f7e7..7489ef61b03 100644
--- a/meta/recipes-core/packagegroups/packagegroup-base.bb
+++ b/meta/recipes-core/packagegroups/packagegroup-base.bb
@@ -47,7 +47,7 @@ VIRTUAL-RUNTIME_keymaps ?= "keymaps"
 #
 # packagegroup-base contain stuff needed for base system (machine related)
 #
-RDEPENDS_packagegroup-base = "\
+RDEPENDS:packagegroup-base = "\
     packagegroup-distro-base \
     packagegroup-machine-base \
     \
@@ -79,7 +79,7 @@ RDEPENDS_packagegroup-base = "\
     "
 
 
-RRECOMMENDS_packagegroup-base = "\
+RRECOMMENDS:packagegroup-base = "\
     kernel-module-nls-utf8 \
     kernel-module-input \
     kernel-module-uinput \
@@ -88,7 +88,7 @@ RRECOMMENDS_packagegroup-base = "\
     kernel-module-rtc-sysfs \
     kernel-module-unix"
 
-RDEPENDS_packagegroup-base-extended = "\
+RDEPENDS:packagegroup-base-extended = "\
     packagegroup-base \
     ${ADD_WIFI} \
     ${ADD_BT} \
@@ -124,69 +124,69 @@ python __anonymous () {
 #
 # packages added by distribution
 #
-SUMMARY_packagegroup-distro-base = "${DISTRO} extras"
+SUMMARY:packagegroup-distro-base = "${DISTRO} extras"
 DEPENDS_packagegroup-distro-base = "${DISTRO_EXTRA_DEPENDS}"
-RDEPENDS_packagegroup-distro-base = "${DISTRO_EXTRA_RDEPENDS}"
-RRECOMMENDS_packagegroup-distro-base = "${DISTRO_EXTRA_RRECOMMENDS}"
+RDEPENDS:packagegroup-distro-base = "${DISTRO_EXTRA_RDEPENDS}"
+RRECOMMENDS:packagegroup-distro-base = "${DISTRO_EXTRA_RRECOMMENDS}"
 
 #
 # packages added by machine config
 #
-SUMMARY_packagegroup-machine-base = "${MACHINE} extras"
-SUMMARY_packagegroup-machine-base = "Extra packages required to fully support ${MACHINE} hardware"
-RDEPENDS_packagegroup-machine-base = "${MACHINE_EXTRA_RDEPENDS}"
-RRECOMMENDS_packagegroup-machine-base = "${MACHINE_EXTRA_RRECOMMENDS}"
+SUMMARY:packagegroup-machine-base = "${MACHINE} extras"
+SUMMARY:packagegroup-machine-base = "Extra packages required to fully support ${MACHINE} hardware"
+RDEPENDS:packagegroup-machine-base = "${MACHINE_EXTRA_RDEPENDS}"
+RRECOMMENDS:packagegroup-machine-base = "${MACHINE_EXTRA_RRECOMMENDS}"
 
-SUMMARY_packagegroup-base-keyboard = "Keyboard support"
-RDEPENDS_packagegroup-base-keyboard = "\
+SUMMARY:packagegroup-base-keyboard = "Keyboard support"
+RDEPENDS:packagegroup-base-keyboard = "\
     ${VIRTUAL-RUNTIME_keymaps}"
 
-SUMMARY_packagegroup-base-pci = "PCI bus support"
-RDEPENDS_packagegroup-base-pci = "\
+SUMMARY:packagegroup-base-pci = "PCI bus support"
+RDEPENDS:packagegroup-base-pci = "\
     pciutils"
 
-SUMMARY_packagegroup-base-acpi = "ACPI support"
-RDEPENDS_packagegroup-base-acpi = "\
+SUMMARY:packagegroup-base-acpi = "ACPI support"
+RDEPENDS:packagegroup-base-acpi = "\
     acpid"
 
-SUMMARY_packagegroup-base-apm = "APM support"
-RDEPENDS_packagegroup-base-apm = "\
+SUMMARY:packagegroup-base-apm = "APM support"
+RDEPENDS:packagegroup-base-apm = "\
     ${VIRTUAL-RUNTIME_apm} \
     apmd"
 
-SUMMARY_packagegroup-base-ext2 = "ext2 filesystem support"
-RDEPENDS_packagegroup-base-ext2 = "\
+SUMMARY:packagegroup-base-ext2 = "ext2 filesystem support"
+RDEPENDS:packagegroup-base-ext2 = "\
     e2fsprogs-e2fsck \
     e2fsprogs-mke2fs"
 
-RRECOMMENDS_packagegroup-base-ext2 = "\
+RRECOMMENDS:packagegroup-base-ext2 = "\
     hdparm \
     e2fsprogs"
 
-SUMMARY_packagegroup-base-vfat = "FAT filesystem support"
-RRECOMMENDS_packagegroup-base-vfat = "\
+SUMMARY:packagegroup-base-vfat = "FAT filesystem support"
+RRECOMMENDS:packagegroup-base-vfat = "\
     kernel-module-msdos \
     kernel-module-vfat \
     kernel-module-nls-iso8859-1 \
     kernel-module-nls-cp437 \
     dosfstools"
 
-SUMMARY_packagegroup-base-alsa = "ALSA sound support"
-RDEPENDS_packagegroup-base-alsa = "\
+SUMMARY:packagegroup-base-alsa = "ALSA sound support"
+RDEPENDS:packagegroup-base-alsa = "\
     alsa-utils-alsactl \
     alsa-utils-amixer \
     ${VIRTUAL-RUNTIME_alsa-state}"
 
-RRECOMMENDS_packagegroup-base-alsa = "\
+RRECOMMENDS:packagegroup-base-alsa = "\
     kernel-module-snd-mixer-oss \
     kernel-module-snd-pcm-oss"
 
-SUMMARY_packagegroup-base-pcmcia = "PC card slot support"
-RDEPENDS_packagegroup-base-pcmcia = "\
+SUMMARY:packagegroup-base-pcmcia = "PC card slot support"
+RDEPENDS:packagegroup-base-pcmcia = "\
     pcmciautils \
     "
 
-RRECOMMENDS_packagegroup-base-pcmcia = "\
+RRECOMMENDS:packagegroup-base-pcmcia = "\
     kernel-module-pcmcia \
     kernel-module-airo-cs \
     kernel-module-pcnet-cs \
@@ -197,12 +197,12 @@ RRECOMMENDS_packagegroup-base-pcmcia = "\
     ${@bb.utils.contains('DISTRO_FEATURES', 'wifi', 'kernel-module-orinoco-cs', '',d)} \
     ${@bb.utils.contains('DISTRO_FEATURES', 'wifi', 'kernel-module-spectrum-cs', '',d)}"
 
-SUMMARY_packagegroup-base-bluetooth = "Bluetooth support"
-RDEPENDS_packagegroup-base-bluetooth = "\
+SUMMARY:packagegroup-base-bluetooth = "Bluetooth support"
+RDEPENDS:packagegroup-base-bluetooth = "\
     bluez5 \
     "
 
-RRECOMMENDS_packagegroup-base-bluetooth = "\
+RRECOMMENDS:packagegroup-base-bluetooth = "\
     kernel-module-bluetooth \
     kernel-module-l2cap \
     kernel-module-rfcomm \
@@ -218,19 +218,19 @@ RRECOMMENDS_packagegroup-base-bluetooth = "\
     ${@bb.utils.contains('COMBINED_FEATURES', 'pcmcia', 'kernel-module-dtl1-cs', '',d)} \
     "
 
-SUMMARY_packagegroup-base-usbgadget = "USB gadget support"
-RRECOMMENDS_packagegroup-base-usbgadget = "\
+SUMMARY:packagegroup-base-usbgadget = "USB gadget support"
+RRECOMMENDS:packagegroup-base-usbgadget = "\
     kernel-module-pxa27x_udc \
     kernel-module-gadgetfs \
     kernel-module-g-file-storage \
     kernel-module-g-serial \
     kernel-module-g-ether"
 
-SUMMARY_packagegroup-base-usbhost = "USB host support"
-RDEPENDS_packagegroup-base-usbhost = "\
+SUMMARY:packagegroup-base-usbhost = "USB host support"
+RDEPENDS:packagegroup-base-usbhost = "\
     usbutils "
 
-RRECOMMENDS_packagegroup-base-usbhost = "\
+RRECOMMENDS:packagegroup-base-usbhost = "\
     kernel-module-uhci-hcd \
     kernel-module-ohci-hcd \
     kernel-module-ehci-hcd \
@@ -244,36 +244,36 @@ RRECOMMENDS_packagegroup-base-usbhost = "\
     kernel-module-usbserial \
     kernel-module-usb-storage "
 
-SUMMARY_packagegroup-base-ppp = "PPP dial-up protocol support"
-RDEPENDS_packagegroup-base-ppp = "\
+SUMMARY:packagegroup-base-ppp = "PPP dial-up protocol support"
+RDEPENDS:packagegroup-base-ppp = "\
     ppp \
     ppp-dialin"
 
-RRECOMMENDS_packagegroup-base-ppp = "\
+RRECOMMENDS:packagegroup-base-ppp = "\
     kernel-module-ppp-async \
     kernel-module-ppp-deflate \
     kernel-module-ppp-generic \
     kernel-module-ppp-mppe \
     kernel-module-slhc"
 
-SUMMARY_packagegroup-base-ipsec = "IPSEC support"
-RDEPENDS_packagegroup-base-ipsec = "\
+SUMMARY:packagegroup-base-ipsec = "IPSEC support"
+RDEPENDS:packagegroup-base-ipsec = "\
     "
 
-RRECOMMENDS_packagegroup-base-ipsec = "\
+RRECOMMENDS:packagegroup-base-ipsec = "\
     kernel-module-ipsec"
 
 #
 # packagegroup-base-wifi contain everything needed to get WiFi working
 # WEP/WPA connection needs to be supported out-of-box
 #
-SUMMARY_packagegroup-base-wifi = "WiFi support"
-RDEPENDS_packagegroup-base-wifi = "\
+SUMMARY:packagegroup-base-wifi = "WiFi support"
+RDEPENDS:packagegroup-base-wifi = "\
     iw \
     wireless-regdb-static \
     wpa-supplicant"
 
-RRECOMMENDS_packagegroup-base-wifi = "\
+RRECOMMENDS:packagegroup-base-wifi = "\
     ${@bb.utils.contains('COMBINED_FEATURES', 'usbhost', 'kernel-module-zd1211rw', '',d)} \
     kernel-module-ieee80211-crypt \
     kernel-module-ieee80211-crypt-ccmp \
@@ -287,59 +287,59 @@ RRECOMMENDS_packagegroup-base-wifi = "\
     kernel-module-aes-generic \
     kernel-module-aes"
 
-SUMMARY_packagegroup-base-nfc = "Near Field Communication support"
-RDEPENDS_packagegroup-base-nfc = "\
+SUMMARY:packagegroup-base-nfc = "Near Field Communication support"
+RDEPENDS:packagegroup-base-nfc = "\
     neard"
 
-RRECOMMENDS_packagegroup-base-nfc = "\
+RRECOMMENDS:packagegroup-base-nfc = "\
     kernel-module-nfc"
 
-SUMMARY_packagegroup-base-3g = "Cellular data support"
-RDEPENDS_packagegroup-base-3g = "\
+SUMMARY:packagegroup-base-3g = "Cellular data support"
+RDEPENDS:packagegroup-base-3g = "\
     ofono"
 
-RRECOMMENDS_packagegroup-base-3g = "\
+RRECOMMENDS:packagegroup-base-3g = "\
     kernel-module-cdc-acm \
     kernel-module-cdc-wdm"
 
-SUMMARY_packagegroup-base-smbfs = "SMB network filesystem support"
-RRECOMMENDS_packagegroup-base-smbfs = "\
+SUMMARY:packagegroup-base-smbfs = "SMB network filesystem support"
+RRECOMMENDS:packagegroup-base-smbfs = "\
     kernel-module-cifs \
     kernel-module-smbfs"
 
-SUMMARY_packagegroup-base-cramfs = "cramfs filesystem support"
-RRECOMMENDS_packagegroup-base-cramfs = "\
+SUMMARY:packagegroup-base-cramfs = "cramfs filesystem support"
+RRECOMMENDS:packagegroup-base-cramfs = "\
     kernel-module-cramfs"
 
 #
 # packagegroup-base-nfs provides ONLY client support - server is in nfs-utils package
 #
-SUMMARY_packagegroup-base-nfs = "NFS network filesystem support"
-RDEPENDS_packagegroup-base-nfs = "\
+SUMMARY:packagegroup-base-nfs = "NFS network filesystem support"
+RDEPENDS:packagegroup-base-nfs = "\
     rpcbind"
 
-RRECOMMENDS_packagegroup-base-nfs = "\
+RRECOMMENDS:packagegroup-base-nfs = "\
     kernel-module-nfs "
 
-SUMMARY_packagegroup-base-zeroconf = "Zeroconf support"
-RDEPENDS_packagegroup-base-zeroconf = "\
+SUMMARY:packagegroup-base-zeroconf = "Zeroconf support"
+RDEPENDS:packagegroup-base-zeroconf = "\
     avahi-daemon"
-RDEPENDS_packagegroup-base-zeroconf_append_libc-glibc = "\
+RDEPENDS:packagegroup-base-zeroconf:append:libc-glibc = "\
     libnss-mdns \
     "
 
-SUMMARY_packagegroup-base-ipv6 = "IPv6 support"
-RDEPENDS_packagegroup-base-ipv6 = "\
+SUMMARY:packagegroup-base-ipv6 = "IPv6 support"
+RDEPENDS:packagegroup-base-ipv6 = "\
     "
 
-RRECOMMENDS_packagegroup-base-ipv6 = "\
+RRECOMMENDS:packagegroup-base-ipv6 = "\
     kernel-module-ipv6 "
 
-SUMMARY_packagegroup-base-serial = "Serial port support"
-RDEPENDS_packagegroup-base-serial = "\
+SUMMARY:packagegroup-base-serial = "Serial port support"
+RDEPENDS:packagegroup-base-serial = "\
     setserial \
     lrzsz "
 
-SUMMARY_packagegroup-base-phone = "Cellular telephony (voice) support"
-RDEPENDS_packagegroup-base-phone = "\
+SUMMARY:packagegroup-base-phone = "Cellular telephony (voice) support"
+RDEPENDS:packagegroup-base-phone = "\
     ofono"
diff --git a/meta/recipes-core/packagegroups/packagegroup-core-boot.bb b/meta/recipes-core/packagegroups/packagegroup-core-boot.bb
index abbee14bd4b..faf7bc0026d 100644
--- a/meta/recipes-core/packagegroups/packagegroup-core-boot.bb
+++ b/meta/recipes-core/packagegroups/packagegroup-core-boot.bb
@@ -22,7 +22,7 @@ SYSVINIT_SCRIPTS = "${@bb.utils.contains('MACHINE_FEATURES', 'rtc', '${VIRTUAL-R
                     ${VIRTUAL-RUNTIME_initscripts} \
                    "
 
-RDEPENDS_${PN} = "\
+RDEPENDS:${PN} = "\
     base-files \
     base-passwd \
     ${VIRTUAL-RUNTIME_base-utils} \
@@ -36,6 +36,6 @@ RDEPENDS_${PN} = "\
     ${VIRTUAL-RUNTIME_update-alternatives} \
     ${MACHINE_ESSENTIAL_EXTRA_RDEPENDS}"
 
-RRECOMMENDS_${PN} = "\
+RRECOMMENDS:${PN} = "\
     ${VIRTUAL-RUNTIME_base-utils-syslog} \
     ${MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS}"
diff --git a/meta/recipes-core/packagegroups/packagegroup-core-buildessential.bb b/meta/recipes-core/packagegroups/packagegroup-core-buildessential.bb
index 78cc65db87c..32f4ac35861 100644
--- a/meta/recipes-core/packagegroups/packagegroup-core-buildessential.bb
+++ b/meta/recipes-core/packagegroups/packagegroup-core-buildessential.bb
@@ -7,7 +7,7 @@ SUMMARY = "Essential build dependencies"
 
 inherit packagegroup
 
-RDEPENDS_packagegroup-core-buildessential = "\
+RDEPENDS:packagegroup-core-buildessential = "\
     autoconf \
     automake \
     binutils \
diff --git a/meta/recipes-core/packagegroups/packagegroup-core-eclipse-debug.bb b/meta/recipes-core/packagegroups/packagegroup-core-eclipse-debug.bb
index c45463fc6cd..4e91aaf47bb 100644
--- a/meta/recipes-core/packagegroups/packagegroup-core-eclipse-debug.bb
+++ b/meta/recipes-core/packagegroups/packagegroup-core-eclipse-debug.bb
@@ -2,7 +2,7 @@ SUMMARY = "Remote debugging tools for Eclipse integration"
 
 inherit packagegroup
 
-RDEPENDS_${PN} = "\
+RDEPENDS:${PN} = "\
     gdbserver \
     tcf-agent \
     openssh-sftp-server \
diff --git a/meta/recipes-core/packagegroups/packagegroup-core-nfs.bb b/meta/recipes-core/packagegroups/packagegroup-core-nfs.bb
index 20fe6fc0929..35beb3fc055 100644
--- a/meta/recipes-core/packagegroups/packagegroup-core-nfs.bb
+++ b/meta/recipes-core/packagegroups/packagegroup-core-nfs.bb
@@ -9,11 +9,11 @@ inherit packagegroup
 
 PACKAGES = "${PN}-server ${PN}-client"
 
-SUMMARY_${PN}-client = "NFS client"
-RDEPENDS_${PN}-client = "nfs-utils-client"
+SUMMARY:${PN}-client = "NFS client"
+RDEPENDS:${PN}-client = "nfs-utils-client"
 
-SUMMARY_${PN}-server = "NFS server"
-RDEPENDS_${PN}-server = "\
+SUMMARY:${PN}-server = "NFS server"
+RDEPENDS:${PN}-server = "\
     nfs-utils \
     nfs-utils-client \
     "
diff --git a/meta/recipes-core/packagegroups/packagegroup-core-sdk.bb b/meta/recipes-core/packagegroups/packagegroup-core-sdk.bb
index 03fa5296c15..d70aff22c72 100644
--- a/meta/recipes-core/packagegroups/packagegroup-core-sdk.bb
+++ b/meta/recipes-core/packagegroups/packagegroup-core-sdk.bb
@@ -11,7 +11,7 @@ inherit packagegroup
 
 #PACKAGEFUNCS =+ 'generate_sdk_pkgs'
 
-RDEPENDS_packagegroup-core-sdk = "\
+RDEPENDS:packagegroup-core-sdk = "\
     packagegroup-core-buildessential \
     coreutils \
     ccache \
@@ -26,15 +26,15 @@ RDEPENDS_packagegroup-core-sdk = "\
     tcl"
 
 SANITIZERS = "libasan-dev libubsan-dev"
-SANITIZERS_arc = ""
-SANITIZERS_microblaze = ""
-SANITIZERS_mipsarch = ""
-SANITIZERS_nios2 = ""
-SANITIZERS_riscv64 = ""
-SANITIZERS_riscv32 = ""
-SANITIZERS_libc-musl = ""
+SANITIZERS:arc = ""
+SANITIZERS:microblaze = ""
+SANITIZERS:mipsarch = ""
+SANITIZERS:nios2 = ""
+SANITIZERS:riscv64 = ""
+SANITIZERS:riscv32 = ""
+SANITIZERS:libc-musl = ""
 
-RRECOMMENDS_packagegroup-core-sdk = "\
+RRECOMMENDS:packagegroup-core-sdk = "\
     libgomp \
     libgomp-dev \
     ${SANITIZERS}"
@@ -53,7 +53,7 @@ RRECOMMENDS_packagegroup-core-sdk = "\
 #        # the package depchain code
 #        spkgdata = read_subpkgdata(pkg, d)
 #
-#        rdepends = explode_deps(spkgdata.get('RDEPENDS_%s' % pkg) or '')
+#        rdepends = explode_deps(spkgdata.get('RDEPENDS:%s' % pkg) or '')
 #        rreclist = []
 #
 #        for depend in rdepends:
@@ -63,16 +63,16 @@ RRECOMMENDS_packagegroup-core-sdk = "\
 #                rreclist.append('%s-dev' % name)
 #            else:
 #                deppkgdata = read_subpkgdata(name, d)
-#                rdepends2 = explode_deps(deppkgdata.get('RDEPENDS_%s' % name) or '')
+#                rdepends2 = explode_deps(deppkgdata.get('RDEPENDS:%s' % name) or '')
 #                for depend in rdepends2:
 #                    split_depend = depend.split(' (')
 #                    name = split_depend[0].strip()
 #                    if packaged('%s-dev' % name, d):
 #                        rreclist.append('%s-dev' % name)
 #
-#            oldrrec = d.getVar('RRECOMMENDS_%s' % newpkg, False) or ''
-#            d.setVar('RRECOMMENDS_%s' % newpkg, oldrrec + ' ' + ' '.join(rreclist))
-#            # bb.note('RRECOMMENDS_%s = "%s"' % (newpkg, d.getVar('RRECOMMENDS_%s' % newpkg, False)))
+#            oldrrec = d.getVar('RRECOMMENDS:%s' % newpkg, False) or ''
+#            d.setVar('RRECOMMENDS:%s' % newpkg, oldrrec + ' ' + ' '.join(rreclist))
+#            # bb.note('RRECOMMENDS:%s = "%s"' % (newpkg, d.getVar('RRECOMMENDS:%s' % newpkg, False)))
 #
 #    # bb.note('pkgs is %s' % pkgs)
 #    d.setVar('PACKAGES', ' '.join(pkgs))
diff --git a/meta/recipes-core/packagegroups/packagegroup-core-ssh-dropbear.bb b/meta/recipes-core/packagegroups/packagegroup-core-ssh-dropbear.bb
index 5ec3f6c9279..4f844ad9255 100644
--- a/meta/recipes-core/packagegroups/packagegroup-core-ssh-dropbear.bb
+++ b/meta/recipes-core/packagegroups/packagegroup-core-ssh-dropbear.bb
@@ -3,4 +3,4 @@ PR = "r1"
 
 inherit packagegroup
 
-RDEPENDS_${PN} = "dropbear"
+RDEPENDS:${PN} = "dropbear"
diff --git a/meta/recipes-core/packagegroups/packagegroup-core-ssh-openssh.bb b/meta/recipes-core/packagegroups/packagegroup-core-ssh-openssh.bb
index 703f956aea1..846df12bc71 100644
--- a/meta/recipes-core/packagegroups/packagegroup-core-ssh-openssh.bb
+++ b/meta/recipes-core/packagegroups/packagegroup-core-ssh-openssh.bb
@@ -3,4 +3,4 @@ PR = "r1"
 
 inherit packagegroup
 
-RDEPENDS_${PN} = "openssh"
+RDEPENDS:${PN} = "openssh"
diff --git a/meta/recipes-core/packagegroups/packagegroup-core-standalone-sdk-target.bb b/meta/recipes-core/packagegroups/packagegroup-core-standalone-sdk-target.bb
index 2a54f1ca3e1..5ebcbcec829 100644
--- a/meta/recipes-core/packagegroups/packagegroup-core-standalone-sdk-target.bb
+++ b/meta/recipes-core/packagegroups/packagegroup-core-standalone-sdk-target.bb
@@ -5,7 +5,7 @@ PACKAGE_ARCH = "${TUNE_PKGARCH}"
 
 inherit packagegroup
 
-RDEPENDS_${PN} = "\
+RDEPENDS:${PN} = "\
     libgcc \
     libgcc-dev \
     libatomic \
@@ -15,7 +15,7 @@ RDEPENDS_${PN} = "\
     ${LIBC_DEPENDENCIES} \
     "
 
-RRECOMMENDS_${PN}_mingw32 = "\
+RRECOMMENDS:${PN}:mingw32 = "\
     libssp \
     libssp-dev \
     "
diff --git a/meta/recipes-core/packagegroups/packagegroup-core-tools-debug.bb b/meta/recipes-core/packagegroups/packagegroup-core-tools-debug.bb
index 542a02057c3..c75850aa648 100644
--- a/meta/recipes-core/packagegroups/packagegroup-core-tools-debug.bb
+++ b/meta/recipes-core/packagegroups/packagegroup-core-tools-debug.bb
@@ -11,12 +11,12 @@ inherit packagegroup
 PR = "r3"
 
 MTRACE = ""
-MTRACE_libc-glibc = "libc-mtrace"
+MTRACE:libc-glibc = "libc-mtrace"
 
 STRACE = "strace"
-STRACE_riscv32 = ""
+STRACE:riscv32 = ""
 
-RDEPENDS_${PN} = "\
+RDEPENDS:${PN} = "\
     gdb \
     gdbserver \
     ${MTRACE} \
diff --git a/meta/recipes-core/packagegroups/packagegroup-core-tools-profile.bb b/meta/recipes-core/packagegroups/packagegroup-core-tools-profile.bb
index 194dca76d05..663a9cd57bf 100644
--- a/meta/recipes-core/packagegroups/packagegroup-core-tools-profile.bb
+++ b/meta/recipes-core/packagegroups/packagegroup-core-tools-profile.bb
@@ -12,11 +12,11 @@ inherit packagegroup
 
 PROFILE_TOOLS_X = ""
 # sysprof doesn't support aarch64 and nios2
-PROFILE_TOOLS_X_aarch64 = ""
-PROFILE_TOOLS_X_nios2 = ""
+PROFILE_TOOLS_X:aarch64 = ""
+PROFILE_TOOLS_X:nios2 = ""
 PROFILE_TOOLS_SYSTEMD = "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd-analyze', '', d)}"
 
-RRECOMMENDS_${PN} = "\
+RRECOMMENDS:${PN} = "\
     ${PERF} \
     blktrace \
     ${PROFILE_TOOLS_X} \
@@ -27,19 +27,19 @@ PROFILETOOLS = "\
     powertop \
     "
 PERF = "perf"
-PERF_libc-musl = ""
-PERF_libc-musl_arm = "perf"
-PERF_riscv32 = ""
+PERF:libc-musl = ""
+PERF:libc-musl:arm = "perf"
+PERF:riscv32 = ""
 
 # systemtap needs elfutils which is not fully buildable on some arches/libcs
 SYSTEMTAP = "systemtap"
-SYSTEMTAP_libc-musl = ""
-SYSTEMTAP_nios2 = ""
-SYSTEMTAP_riscv64 = ""
+SYSTEMTAP:libc-musl = ""
+SYSTEMTAP:nios2 = ""
+SYSTEMTAP:riscv64 = ""
 
 LTTNGTOOLS = "lttng-tools"
-LTTNGTOOLS_arc = ""
-LTTNGTOOLS_riscv32 = ""
+LTTNGTOOLS:arc = ""
+LTTNGTOOLS:riscv32 = ""
 
 BABELTRACE = "babeltrace"
 BABELTRACE2 = "babeltrace2"
@@ -47,22 +47,22 @@ BABELTRACE2 = "babeltrace2"
 # valgrind does not work on the following configurations/architectures
 
 VALGRIND = "valgrind"
-VALGRIND_libc-musl = ""
-VALGRIND_mipsarch = ""
-VALGRIND_nios2 = ""
-VALGRIND_arc = ""
-VALGRIND_armv4 = ""
-VALGRIND_armv5 = ""
-VALGRIND_armv6 = ""
-VALGRIND_armeb = ""
-VALGRIND_aarch64 = ""
-VALGRIND_riscv64 = ""
-VALGRIND_riscv32 = ""
-VALGRIND_powerpc = "${@bb.utils.contains('TARGET_FPU', 'soft', '', 'valgrind', d)}"
-VALGRIND_linux-gnux32 = ""
-VALGRIND_linux-gnun32 = ""
+VALGRIND:libc-musl = ""
+VALGRIND:mipsarch = ""
+VALGRIND:nios2 = ""
+VALGRIND:arc = ""
+VALGRIND:armv4 = ""
+VALGRIND:armv5 = ""
+VALGRIND:armv6 = ""
+VALGRIND:armeb = ""
+VALGRIND:aarch64 = ""
+VALGRIND:riscv64 = ""
+VALGRIND:riscv32 = ""
+VALGRIND:powerpc = "${@bb.utils.contains('TARGET_FPU', 'soft', '', 'valgrind', d)}"
+VALGRIND:linux-gnux32 = ""
+VALGRIND:linux-gnun32 = ""
 
-RDEPENDS_${PN} = "\
+RDEPENDS:${PN} = "\
     ${PROFILETOOLS} \
     ${LTTNGTOOLS} \
     ${BABELTRACE} \
diff --git a/meta/recipes-core/packagegroups/packagegroup-core-tools-testapps.bb b/meta/recipes-core/packagegroups/packagegroup-core-tools-testapps.bb
index 015810cb6bb..94405fd8fea 100644
--- a/meta/recipes-core/packagegroups/packagegroup-core-tools-testapps.bb
+++ b/meta/recipes-core/packagegroups/packagegroup-core-tools-testapps.bb
@@ -12,14 +12,14 @@ inherit packagegroup
 
 # kexec-tools doesn't work on e5500-64b, microblaze and nios2 yet
 KEXECTOOLS ?= "kexec"
-KEXECTOOLS_e5500-64b ?= ""
-KEXECTOOLS_microblaze ?= ""
-KEXECTOOLS_nios2 ?= ""
-KEXECTOOLS_riscv64 ?= ""
-KEXECTOOLS_riscv32 ?= ""
+KEXECTOOLS:e5500-64b ?= ""
+KEXECTOOLS:microblaze ?= ""
+KEXECTOOLS:nios2 ?= ""
+KEXECTOOLS:riscv64 ?= ""
+KEXECTOOLS:riscv32 ?= ""
 
 GSTEXAMPLES ?= "gst-examples"
-GSTEXAMPLES_riscv64 = ""
+GSTEXAMPLES:riscv64 = ""
 
 X11GLTOOLS = "\
     mesa-demos \
@@ -37,7 +37,7 @@ X11TOOLS = "\
     xprop \
     "
 
-RDEPENDS_${PN} = "\
+RDEPENDS:${PN} = "\
     blktool \
     ${KEXECTOOLS} \
     alsa-utils-amixer \
diff --git a/meta/recipes-core/packagegroups/packagegroup-cross-canadian.bb b/meta/recipes-core/packagegroups/packagegroup-cross-canadian.bb
index 3b430c08148..49c075eb116 100644
--- a/meta/recipes-core/packagegroups/packagegroup-cross-canadian.bb
+++ b/meta/recipes-core/packagegroups/packagegroup-cross-canadian.bb
@@ -10,7 +10,7 @@ BINUTILS = "binutils-cross-canadian-${TRANSLATED_TARGET_ARCH}"
 GCC = "gcc-cross-canadian-${TRANSLATED_TARGET_ARCH}"
 GDB = "gdb-cross-canadian-${TRANSLATED_TARGET_ARCH}"
 
-RDEPENDS_${PN} = "\
+RDEPENDS:${PN} = "\
     ${@all_multilib_tune_values(d, 'BINUTILS')} \
     ${@all_multilib_tune_values(d, 'GCC')} \
     ${@all_multilib_tune_values(d, 'GDB')} \
diff --git a/meta/recipes-core/packagegroups/packagegroup-go-cross-canadian.bb b/meta/recipes-core/packagegroups/packagegroup-go-cross-canadian.bb
index 3daace1a400..d0596efe7a7 100644
--- a/meta/recipes-core/packagegroups/packagegroup-go-cross-canadian.bb
+++ b/meta/recipes-core/packagegroups/packagegroup-go-cross-canadian.bb
@@ -7,6 +7,6 @@ PACKAGEGROUP_DISABLE_COMPLEMENTARY = "1"
 
 GO = "go-cross-canadian-${TRANSLATED_TARGET_ARCH}"
 
-RDEPENDS_${PN} = " \
+RDEPENDS:${PN} = " \
     ${@all_multilib_tune_values(d, 'GO')} \
 "
diff --git a/meta/recipes-core/packagegroups/packagegroup-go-sdk-target.bb b/meta/recipes-core/packagegroups/packagegroup-go-sdk-target.bb
index 9a52b0781cf..61629d273c2 100644
--- a/meta/recipes-core/packagegroups/packagegroup-go-sdk-target.bb
+++ b/meta/recipes-core/packagegroups/packagegroup-go-sdk-target.bb
@@ -2,7 +2,7 @@ SUMMARY = "Target packages for the Go SDK"
 
 inherit packagegroup goarch
 
-RDEPENDS_${PN} = " \
+RDEPENDS:${PN} = " \
     go \
     go-runtime \
     go-runtime-dev \
diff --git a/meta/recipes-core/packagegroups/packagegroup-self-hosted.bb b/meta/recipes-core/packagegroups/packagegroup-self-hosted.bb
index 9a70b189a43..9523aadd153 100644
--- a/meta/recipes-core/packagegroups/packagegroup-self-hosted.bb
+++ b/meta/recipes-core/packagegroups/packagegroup-self-hosted.bb
@@ -24,7 +24,7 @@ PACKAGES = "\
     packagegroup-self-hosted-host-tools \
     "
 
-RDEPENDS_packagegroup-self-hosted = "\
+RDEPENDS:packagegroup-self-hosted = "\
     packagegroup-self-hosted-debug \
     packagegroup-self-hosted-sdk \
     packagegroup-self-hosted-extended \
@@ -32,7 +32,7 @@ RDEPENDS_packagegroup-self-hosted = "\
     packagegroup-self-hosted-host-tools \
     "
 
-RDEPENDS_packagegroup-self-hosted-host-tools = "\
+RDEPENDS:packagegroup-self-hosted-host-tools = "\
     e2fsprogs \
     e2fsprogs-e2fsck \
     e2fsprogs-mke2fs \
@@ -49,9 +49,9 @@ RDEPENDS_packagegroup-self-hosted-host-tools = "\
     screen \
     "
 PSEUDO = "pseudo"
-PSEUDO_libc-musl = ""
+PSEUDO:libc-musl = ""
 
-RRECOMMENDS_packagegroup-self-hosted-host-tools = "\
+RRECOMMENDS:packagegroup-self-hosted-host-tools = "\
     kernel-module-tun \
     kernel-module-iptable-raw \
     kernel-module-iptable-nat \
@@ -59,7 +59,7 @@ RRECOMMENDS_packagegroup-self-hosted-host-tools = "\
     kernel-module-iptable-filter \
 	"
 
-RDEPENDS_packagegroup-self-hosted-sdk = "\
+RDEPENDS:packagegroup-self-hosted-sdk = "\
     autoconf \
     automake \
     binutils \
@@ -87,18 +87,18 @@ RDEPENDS_packagegroup-self-hosted-sdk = "\
     quilt \
     sed \
     "
-RDEPENDS_packagegroup-self-hosted-sdk_append_mingw32 = "\
+RDEPENDS:packagegroup-self-hosted-sdk:append:mingw32 = "\
     libssp \
     libssp-dev \
     libssp-staticdev \
     "
 # rpcsvc-proto: for rpcgen
-RDEPENDS_packagegroup-self-hosted-sdk_append_libc-glibc = "\
+RDEPENDS:packagegroup-self-hosted-sdk:append:libc-glibc = "\
     glibc-gconv-ibm850 \
     glibc-utils \
     rpcsvc-proto \
     "
-RDEPENDS_packagegroup-self-hosted-debug = " \
+RDEPENDS:packagegroup-self-hosted-debug = " \
     gdb \
     gdbserver \
     rsync \
@@ -106,7 +106,7 @@ RDEPENDS_packagegroup-self-hosted-debug = " \
     tcf-agent"
 
 
-RDEPENDS_packagegroup-self-hosted-extended = "\
+RDEPENDS:packagegroup-self-hosted-extended = "\
     bzip2 \
     chrpath \
     cpio \
@@ -177,7 +177,7 @@ RDEPENDS_packagegroup-self-hosted-extended = "\
     "
 
 
-RDEPENDS_packagegroup-self-hosted-graphics = "\
+RDEPENDS:packagegroup-self-hosted-graphics = "\
     builder \
     libgl \
     libgl-dev \
diff --git a/meta/recipes-core/psplash/psplash_git.bb b/meta/recipes-core/psplash/psplash_git.bb
index 59e1e3f194e..e9789c4ce0f 100644
--- a/meta/recipes-core/psplash/psplash_git.bb
+++ b/meta/recipes-core/psplash/psplash_git.bb
@@ -44,7 +44,7 @@ python __anonymous() {
             pkgs.append(outname)
         localpaths.append(flocal)
 
-    # Set these so that we have less work to do in do_compile and do_install_append
+    # Set these so that we have less work to do in do_compile and do_install:append
     d.setVar("SPLASH_INSTALL", " ".join(pkgs))
     d.setVar("SPLASH_LOCALPATHS", " ".join(localpaths))
     for p in pkgs:
@@ -54,12 +54,12 @@ python __anonymous() {
     for p in pkgs:
         ep = '%s%s' % (mlprefix, p)
         epsplash = '%s%s' % (mlprefix, 'psplash')
-        d.setVar("FILES_%s" % ep, "${bindir}/%s" % p)
-        d.setVar("ALTERNATIVE_%s" % ep, 'psplash')
+        d.setVar("FILES:%s" % ep, "${bindir}/%s" % p)
+        d.setVar("ALTERNATIVE:%s" % ep, 'psplash')
         d.setVarFlag("ALTERNATIVE_TARGET_%s" % ep, 'psplash', '${bindir}/%s' % p)
-        d.appendVar("RDEPENDS_%s" % ep, " %s" % pn)
+        d.appendVar("RDEPENDS:%s" % ep, " %s" % pn)
         if p == "psplash-default":
-            d.appendVar("RRECOMMENDS_%s" % pn, " %s" % ep)
+            d.appendVar("RRECOMMENDS:%s" % pn, " %s" % ep)
 }
 
 S = "${WORKDIR}/git"
@@ -98,7 +98,7 @@ python do_compile () {
         shutil.copyfile("psplash", outputfile)
 }
 
-do_install_append() {
+do_install:append() {
 	if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
 		install -d ${D}${sysconfdir}/init.d/
 		install -m 0755 ${WORKDIR}/psplash-init ${D}${sysconfdir}/init.d/psplash.sh
@@ -122,9 +122,9 @@ do_install_append() {
 }
 
 SYSTEMD_PACKAGES = "${@bb.utils.contains('DISTRO_FEATURES','systemd','${PN}','',d)}"
-SYSTEMD_SERVICE_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'systemd', 'psplash-start.service psplash-systemd.service', '', d)}"
+SYSTEMD_SERVICE:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'systemd', 'psplash-start.service psplash-systemd.service', '', d)}"
 
 INITSCRIPT_NAME = "psplash.sh"
 INITSCRIPT_PARAMS = "start 0 S . stop 20 0 1 6 ."
 
-FILES_${PN} += "/mnt"
+FILES:${PN} += "/mnt"
diff --git a/meta/recipes-core/readline/readline.inc b/meta/recipes-core/readline/readline.inc
index 039ffdee006..7f7f5ad2ee6 100644
--- a/meta/recipes-core/readline/readline.inc
+++ b/meta/recipes-core/readline/readline.inc
@@ -21,13 +21,13 @@ EXTRA_AUTORECONF += "--exclude=autoheader"
 
 LEAD_SONAME = "libreadline.so"
 
-do_configure_prepend () {
+do_configure:prepend () {
 	if [ ! -e ${S}/acinclude.m4 ]; then
 		cat ${S}/aclocal.m4 > ${S}/acinclude.m4
 	fi
 }
 
-do_install_append () {
+do_install:append () {
 	# Make install doesn't properly install these
 	oe_libinstall -so -C shlib libhistory ${D}${libdir}
 	oe_libinstall -so -C shlib libreadline ${D}${libdir}
@@ -42,15 +42,15 @@ do_install_append () {
 
 BBCLASSEXTEND = "native nativesdk"
 
-CONFFILES_${PN} += "${sysconfdir}/inputrc"
+CONFFILES:${PN} += "${sysconfdir}/inputrc"
 
 inherit update-alternatives
 
 ALTERNATIVE_PRIORITY = "100"
-ALTERNATIVE_${PN}-doc = "history.3"
+ALTERNATIVE:${PN}-doc = "history.3"
 ALTERNATIVE_LINK_NAME[history.3] = "${mandir}/man3/history.3"
 
 # OpenSuse injects versions into libreadline leading to conficits between our native one and theirs
 # see their spec file for where this is injected. Extra versioning is harmless so we just do the same.
-SRC_URI_append_class-native = " file://rl-native.map"
-LDFLAGS_append_class-native = " -Wl,--version-script=${WORKDIR}/rl-native.map"
+SRC_URI:append:class-native = " file://rl-native.map"
+LDFLAGS:append:class-native = " -Wl,--version-script=${WORKDIR}/rl-native.map"
diff --git a/meta/recipes-core/sysfsutils/sysfsutils_2.1.0.bb b/meta/recipes-core/sysfsutils/sysfsutils_2.1.0.bb
index 34bf431f409..72f8069e61e 100644
--- a/meta/recipes-core/sysfsutils/sysfsutils_2.1.0.bb
+++ b/meta/recipes-core/sysfsutils/sysfsutils_2.1.0.bb
@@ -3,8 +3,8 @@ DESCRIPTION = "Tools for working with the sysfs virtual filesystem.  The tool 's
 HOMEPAGE = "http://linux-diag.sourceforge.net/Sysfsutils.html"
 
 LICENSE = "GPLv2 & LGPLv2.1"
-LICENSE_${PN} = "GPLv2"
-LICENSE_libsysfs = "LGPLv2.1"
+LICENSE:${PN} = "GPLv2"
+LICENSE:libsysfs = "LGPLv2.1"
 LIC_FILES_CHKSUM = "file://COPYING;md5=3d06403ea54c7574a9e581c6478cc393 \
                     file://cmd/GPL;md5=d41d4e2e1e108554e0388ea4aecd8d27 \
                     file://lib/LGPL;md5=b75d069791103ffe1c0d6435deeff72e"
@@ -26,6 +26,6 @@ S = "${WORKDIR}/sysfsutils-${PV}"
 inherit autotools
 
 PACKAGES =+ "libsysfs"
-FILES_libsysfs = "${libdir}/lib*${SOLIBS}"
+FILES:libsysfs = "${libdir}/lib*${SOLIBS}"
 
 export libdir = "${base_libdir}"
diff --git a/meta/recipes-core/systemd/systemd-boot_249.1.bb b/meta/recipes-core/systemd/systemd-boot_249.1.bb
index 2c0bec4eda2..d767b5bf8d7 100644
--- a/meta/recipes-core/systemd/systemd-boot_249.1.bb
+++ b/meta/recipes-core/systemd/systemd-boot_249.1.bb
@@ -8,10 +8,10 @@ DEPENDS = "intltool-native libcap util-linux gnu-efi gperf-native python3-jinja2
 inherit meson pkgconfig gettext
 inherit deploy
 
-LDFLAGS_prepend = "${@ " ".join(d.getVar('LD').split()[1:])} "
+LDFLAGS:prepend = "${@ " ".join(d.getVar('LD').split()[1:])} "
 
 do_write_config[vardeps] += "CC OBJCOPY"
-do_write_config_append() {
+do_write_config:append() {
     cat >${WORKDIR}/meson-${PN}.cross <<EOF
 [binaries]
 efi_cc = ${@meson_array('CC', d)}
@@ -41,15 +41,15 @@ python __anonymous () {
     d.setVar("SYSTEMD_BOOT_IMAGE_PREFIX", prefix)
 }
 
-FILES_${PN} = "${EFI_FILES_PATH}/${SYSTEMD_BOOT_IMAGE}"
+FILES:${PN} = "${EFI_FILES_PATH}/${SYSTEMD_BOOT_IMAGE}"
 
-RDEPENDS_${PN} += "virtual/systemd-bootconf"
+RDEPENDS:${PN} += "virtual/systemd-bootconf"
 
 # Imported from the old gummiboot recipe
-TUNE_CCARGS_remove = "-mfpmath=sse"
+TUNE_CCARGS:remove = "-mfpmath=sse"
 
 COMPATIBLE_HOST = "(aarch64.*|arm.*|x86_64.*|i.86.*)-linux"
-COMPATIBLE_HOST_x86-x32 = "null"
+COMPATIBLE_HOST:x86-x32 = "null"
 
 do_compile() {
 	ninja \
diff --git a/meta/recipes-core/systemd/systemd-bootconf_1.00.bb b/meta/recipes-core/systemd/systemd-bootconf_1.00.bb
index d13b8c518ff..12c4447f37a 100644
--- a/meta/recipes-core/systemd/systemd-bootconf_1.00.bb
+++ b/meta/recipes-core/systemd/systemd-bootconf_1.00.bb
@@ -2,7 +2,7 @@ LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
 SUMMARY = "Basic systemd-boot configuration files"
 
-RPROVIDES_${PN} += "virtual/systemd-bootconf"
+RPROVIDES:${PN} += "virtual/systemd-bootconf"
 PACKAGE_ARCH = "${MACHINE_ARCH}"
 
 inherit systemd-boot-cfg
@@ -12,7 +12,7 @@ S = "${WORKDIR}"
 LABELS = "boot"
 
 ROOT ?= "root=/dev/sda2"
-APPEND_append = " ${ROOT}"
+APPEND:append = " ${ROOT}"
 
 python do_configure() {
     bb.build.exec_func('build_efi_cfg', d)
@@ -29,4 +29,4 @@ do_install() {
 	install *.conf ${D}/boot/loader/entries/
 }
 
-FILES_${PN} = "/boot/loader/* /boot/loader/entries/*"
+FILES:${PN} = "/boot/loader/* /boot/loader/entries/*"
diff --git a/meta/recipes-core/systemd/systemd-compat-units.bb b/meta/recipes-core/systemd/systemd-compat-units.bb
index 361dc1cbb43..f7505f1eb80 100644
--- a/meta/recipes-core/systemd/systemd-compat-units.bb
+++ b/meta/recipes-core/systemd/systemd-compat-units.bb
@@ -12,7 +12,7 @@ inherit features_check
 
 INHIBIT_DEFAULT_DEPS = "1"
 
-ALLOW_EMPTY_${PN} = "1"
+ALLOW_EMPTY:${PN} = "1"
 
 REQUIRED_DISTRO_FEATURES = "systemd"
 
@@ -25,7 +25,7 @@ SYSTEMD_DISABLED_SYSV_SERVICES = " \
   syslog.busybox \
 "
 
-pkg_postinst_${PN} () {
+pkg_postinst:${PN} () {
 
 	cd $D${sysconfdir}/init.d  ||  exit 0
 
@@ -46,4 +46,4 @@ pkg_postinst_${PN} () {
 	echo
 }
 
-RDEPENDS_${PN} = "systemd"
+RDEPENDS:${PN} = "systemd"
diff --git a/meta/recipes-core/systemd/systemd-conf_1.0.bb b/meta/recipes-core/systemd/systemd-conf_1.0.bb
index 235923be855..61ce7939d3a 100644
--- a/meta/recipes-core/systemd/systemd-conf_1.0.bb
+++ b/meta/recipes-core/systemd/systemd-conf_1.0.bb
@@ -29,13 +29,13 @@ do_install() {
 }
 
 # Based on change from YP bug 8141, OE commit 5196d7bacaef1076c361adaa2867be31759c1b52
-do_install_append_qemuall() {
+do_install:append:qemuall() {
 	install -D -m0644 ${WORKDIR}/system.conf-qemuall ${D}${systemd_unitdir}/system.conf.d/01-${PN}.conf
 }
 
 PACKAGE_ARCH = "${MACHINE_ARCH}"
 
-FILES_${PN} = "\
+FILES:${PN} = "\
     ${systemd_unitdir}/journald.conf.d/ \
     ${systemd_unitdir}/logind.conf.d/ \
     ${systemd_unitdir}/system.conf.d/ \
diff --git a/meta/recipes-core/systemd/systemd-machine-units_1.0.bb b/meta/recipes-core/systemd/systemd-machine-units_1.0.bb
index 02756f43d73..12f27d6ae30 100644
--- a/meta/recipes-core/systemd/systemd-machine-units_1.0.bb
+++ b/meta/recipes-core/systemd/systemd-machine-units_1.0.bb
@@ -8,6 +8,6 @@ PACKAGE_ARCH = "${MACHINE_ARCH}"
 PR = "r19"
 
 inherit systemd
-SYSTEMD_SERVICE_${PN} = ""
+SYSTEMD_SERVICE:${PN} = ""
 
-ALLOW_EMPTY_${PN} = "1"
+ALLOW_EMPTY:${PN} = "1"
diff --git a/meta/recipes-core/systemd/systemd-serialgetty.bb b/meta/recipes-core/systemd/systemd-serialgetty.bb
index 34defeb3b12..92d35ebcf7f 100644
--- a/meta/recipes-core/systemd/systemd-serialgetty.bb
+++ b/meta/recipes-core/systemd/systemd-serialgetty.bb
@@ -46,7 +46,7 @@ do_install() {
 }
 
 # This is a machine specific file
-FILES_${PN} = "${systemd_unitdir}/system/*.service ${sysconfdir}"
+FILES:${PN} = "${systemd_unitdir}/system/*.service ${sysconfdir}"
 PACKAGE_ARCH = "${MACHINE_ARCH}"
 
-ALLOW_EMPTY_${PN} = "1"
+ALLOW_EMPTY:${PN} = "1"
diff --git a/meta/recipes-core/systemd/systemd_249.1.bb b/meta/recipes-core/systemd/systemd_249.1.bb
index 9bfb12249cb..5d472027c9b 100644
--- a/meta/recipes-core/systemd/systemd_249.1.bb
+++ b/meta/recipes-core/systemd/systemd_249.1.bb
@@ -28,7 +28,7 @@ SRC_URI += "file://touchscreen.rules \
            "
 
 # patches needed by musl
-SRC_URI_append_libc-musl = " ${SRC_URI_MUSL}"
+SRC_URI:append:libc-musl = " ${SRC_URI_MUSL}"
 SRC_URI_MUSL = "\
                file://0002-don-t-use-glibc-specific-qsort_r.patch \
                file://0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch \
@@ -96,7 +96,7 @@ PACKAGECONFIG ??= " \
     xz \
 "
 
-PACKAGECONFIG_remove_libc-musl = " \
+PACKAGECONFIG:remove:libc-musl = " \
     gshadow \
     idn \
     localed \
@@ -109,7 +109,7 @@ PACKAGECONFIG_remove_libc-musl = " \
     utmp \
 "
 
-CFLAGS_append_libc-musl = " -D__UAPI_DEF_ETHHDR=0 "
+CFLAGS:append:libc-musl = " -D__UAPI_DEF_ETHHDR=0 "
 
 # Some of the dependencies are weak-style recommends - if not available at runtime,
 # systemd won't fail but the library-related feature will be skipped with a warning.
@@ -334,7 +334,7 @@ do_install() {
 	install -Dm 0644 ${WORKDIR}/systemd-pager.sh ${D}${sysconfdir}/profile.d/systemd-pager.sh
 }
 
-python populate_packages_prepend (){
+python populate_packages:prepend (){
     systemdlibdir = d.getVar("rootlibdir")
     do_split_packages(d, systemdlibdir, '^lib(.*)\.so\.*', 'lib%s', 'Systemd %s library', extra_depends='', allow_links=True)
 }
@@ -359,96 +359,96 @@ PACKAGE_BEFORE_PN = "\
     udev-hwdb \
 "
 
-SUMMARY_${PN}-container = "Tools for containers and VMs"
-DESCRIPTION_${PN}-container = "Systemd tools to spawn and manage containers and virtual machines."
+SUMMARY:${PN}-container = "Tools for containers and VMs"
+DESCRIPTION:${PN}-container = "Systemd tools to spawn and manage containers and virtual machines."
 
-SUMMARY_${PN}-journal-gatewayd = "HTTP server for journal events"
-DESCRIPTION_${PN}-journal-gatewayd = "systemd-journal-gatewayd serves journal events over the network. Clients must connect using HTTP. The server listens on port 19531 by default."
+SUMMARY:${PN}-journal-gatewayd = "HTTP server for journal events"
+DESCRIPTION:${PN}-journal-gatewayd = "systemd-journal-gatewayd serves journal events over the network. Clients must connect using HTTP. The server listens on port 19531 by default."
 
-SUMMARY_${PN}-journal-upload = "Send journal messages over the network"
-DESCRIPTION_${PN}-journal-upload = "systemd-journal-upload uploads journal entries to a specified URL."
+SUMMARY:${PN}-journal-upload = "Send journal messages over the network"
+DESCRIPTION:${PN}-journal-upload = "systemd-journal-upload uploads journal entries to a specified URL."
 
-SUMMARY_${PN}-journal-remote = "Receive journal messages over the network"
-DESCRIPTION_${PN}-journal-remote = "systemd-journal-remote is a command to receive serialized journal events and store them to journal files."
+SUMMARY:${PN}-journal-remote = "Receive journal messages over the network"
+DESCRIPTION:${PN}-journal-remote = "systemd-journal-remote is a command to receive serialized journal events and store them to journal files."
 
 SYSTEMD_PACKAGES = "${@bb.utils.contains('PACKAGECONFIG', 'binfmt', '${PN}-binfmt', '', d)} \
                     ${@bb.utils.contains('PACKAGECONFIG', 'microhttpd', '${PN}-journal-gatewayd', '', d)} \
                     ${@bb.utils.contains('PACKAGECONFIG', 'microhttpd', '${PN}-journal-remote', '', d)} \
                     ${@bb.utils.contains('PACKAGECONFIG', 'journal-upload', '${PN}-journal-upload', '', d)} \
 "
-SYSTEMD_SERVICE_${PN}-binfmt = "systemd-binfmt.service"
+SYSTEMD_SERVICE:${PN}-binfmt = "systemd-binfmt.service"
 
 USERADD_PACKAGES = "${PN} ${PN}-extra-utils \
                     ${@bb.utils.contains('PACKAGECONFIG', 'microhttpd', '${PN}-journal-gateway', '', d)} \
                     ${@bb.utils.contains('PACKAGECONFIG', 'microhttpd', '${PN}-journal-remote', '', d)} \
                     ${@bb.utils.contains('PACKAGECONFIG', 'journal-upload', '${PN}-journal-upload', '', d)} \
 "
-GROUPADD_PARAM_${PN} = "-r systemd-journal;"
-GROUPADD_PARAM_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'polkit_hostnamed_fallback', '-r systemd-hostname;', '', d)}"
-USERADD_PARAM_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'coredump', '--system -d / -M --shell /sbin/nologin systemd-coredump;', '', d)}"
-USERADD_PARAM_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'networkd', '--system -d / -M --shell /sbin/nologin systemd-network;', '', d)}"
-USERADD_PARAM_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'polkit', '--system --no-create-home --user-group --home-dir ${sysconfdir}/polkit-1 polkitd;', '', d)}"
-USERADD_PARAM_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'resolved', '--system -d / -M --shell /sbin/nologin systemd-resolve;', '', d)}"
-USERADD_PARAM_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'timesyncd', '--system -d / -M --shell /sbin/nologin systemd-timesync;', '', d)}"
-USERADD_PARAM_${PN}-extra-utils = "--system -d / -M --shell /sbin/nologin systemd-bus-proxy"
-USERADD_PARAM_${PN}-journal-gateway = "--system -d / -M --shell /sbin/nologin systemd-journal-gateway"
-USERADD_PARAM_${PN}-journal-remote = "--system -d / -M --shell /sbin/nologin systemd-journal-remote"
-USERADD_PARAM_${PN}-journal-upload = "--system -d / -M --shell /sbin/nologin systemd-journal-upload"
-
-FILES_${PN}-analyze = "${bindir}/systemd-analyze"
-
-FILES_${PN}-initramfs = "/init"
-RDEPENDS_${PN}-initramfs = "${PN}"
-
-FILES_${PN}-gui = "${bindir}/systemadm"
-
-FILES_${PN}-vconsole-setup = "${rootlibexecdir}/systemd/systemd-vconsole-setup \
+GROUPADD_PARAM:${PN} = "-r systemd-journal;"
+GROUPADD_PARAM:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'polkit_hostnamed_fallback', '-r systemd-hostname;', '', d)}"
+USERADD_PARAM:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'coredump', '--system -d / -M --shell /sbin/nologin systemd-coredump;', '', d)}"
+USERADD_PARAM:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'networkd', '--system -d / -M --shell /sbin/nologin systemd-network;', '', d)}"
+USERADD_PARAM:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'polkit', '--system --no-create-home --user-group --home-dir ${sysconfdir}/polkit-1 polkitd;', '', d)}"
+USERADD_PARAM:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'resolved', '--system -d / -M --shell /sbin/nologin systemd-resolve;', '', d)}"
+USERADD_PARAM:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'timesyncd', '--system -d / -M --shell /sbin/nologin systemd-timesync;', '', d)}"
+USERADD_PARAM:${PN}-extra-utils = "--system -d / -M --shell /sbin/nologin systemd-bus-proxy"
+USERADD_PARAM:${PN}-journal-gateway = "--system -d / -M --shell /sbin/nologin systemd-journal-gateway"
+USERADD_PARAM:${PN}-journal-remote = "--system -d / -M --shell /sbin/nologin systemd-journal-remote"
+USERADD_PARAM:${PN}-journal-upload = "--system -d / -M --shell /sbin/nologin systemd-journal-upload"
+
+FILES:${PN}-analyze = "${bindir}/systemd-analyze"
+
+FILES:${PN}-initramfs = "/init"
+RDEPENDS:${PN}-initramfs = "${PN}"
+
+FILES:${PN}-gui = "${bindir}/systemadm"
+
+FILES:${PN}-vconsole-setup = "${rootlibexecdir}/systemd/systemd-vconsole-setup \
                               ${systemd_unitdir}/system/systemd-vconsole-setup.service \
                               ${systemd_unitdir}/system/sysinit.target.wants/systemd-vconsole-setup.service"
 
-RDEPENDS_${PN}-kernel-install += "bash"
-FILES_${PN}-kernel-install = "${bindir}/kernel-install \
+RDEPENDS:${PN}-kernel-install += "bash"
+FILES:${PN}-kernel-install = "${bindir}/kernel-install \
                               ${sysconfdir}/kernel/ \
                               ${exec_prefix}/lib/kernel \
                              "
-FILES_${PN}-rpm-macros = "${exec_prefix}/lib/rpm \
+FILES:${PN}-rpm-macros = "${exec_prefix}/lib/rpm \
                          "
 
-FILES_${PN}-zsh-completion = "${datadir}/zsh/site-functions"
+FILES:${PN}-zsh-completion = "${datadir}/zsh/site-functions"
 
-FILES_${PN}-binfmt = "${sysconfdir}/binfmt.d/ \
+FILES:${PN}-binfmt = "${sysconfdir}/binfmt.d/ \
                       ${exec_prefix}/lib/binfmt.d \
                       ${rootlibexecdir}/systemd/systemd-binfmt \
                       ${systemd_unitdir}/system/proc-sys-fs-binfmt_misc.* \
                       ${systemd_unitdir}/system/systemd-binfmt.service"
-RRECOMMENDS_${PN}-binfmt = "kernel-module-binfmt-misc"
+RRECOMMENDS:${PN}-binfmt = "kernel-module-binfmt-misc"
 
-RRECOMMENDS_${PN}-vconsole-setup = "kbd kbd-consolefonts kbd-keymaps"
+RRECOMMENDS:${PN}-vconsole-setup = "kbd kbd-consolefonts kbd-keymaps"
 
 
-FILES_${PN}-journal-gatewayd = "${rootlibexecdir}/systemd/systemd-journal-gatewayd \
+FILES:${PN}-journal-gatewayd = "${rootlibexecdir}/systemd/systemd-journal-gatewayd \
                                 ${systemd_system_unitdir}/systemd-journal-gatewayd.service \
                                 ${systemd_system_unitdir}/systemd-journal-gatewayd.socket \
                                 ${systemd_system_unitdir}/sockets.target.wants/systemd-journal-gatewayd.socket \
                                 ${datadir}/systemd/gatewayd/browse.html \
                                "
-SYSTEMD_SERVICE_${PN}-journal-gatewayd = "systemd-journal-gatewayd.socket"
+SYSTEMD_SERVICE:${PN}-journal-gatewayd = "systemd-journal-gatewayd.socket"
 
-FILES_${PN}-journal-upload = "${rootlibexecdir}/systemd/systemd-journal-upload \
+FILES:${PN}-journal-upload = "${rootlibexecdir}/systemd/systemd-journal-upload \
                               ${systemd_system_unitdir}/systemd-journal-upload.service \
                               ${sysconfdir}/systemd/journal-upload.conf \
                              "
-SYSTEMD_SERVICE_${PN}-journal-upload = "systemd-journal-upload.service"
+SYSTEMD_SERVICE:${PN}-journal-upload = "systemd-journal-upload.service"
 
-FILES_${PN}-journal-remote = "${rootlibexecdir}/systemd/systemd-journal-remote \
+FILES:${PN}-journal-remote = "${rootlibexecdir}/systemd/systemd-journal-remote \
                               ${sysconfdir}/systemd/journal-remote.conf \
                               ${systemd_system_unitdir}/systemd-journal-remote.service \
                               ${systemd_system_unitdir}/systemd-journal-remote.socket \
                              "
-SYSTEMD_SERVICE_${PN}-journal-remote = "systemd-journal-remote.socket"
+SYSTEMD_SERVICE:${PN}-journal-remote = "systemd-journal-remote.socket"
 
 
-FILES_${PN}-container = "${sysconfdir}/dbus-1/system.d/org.freedesktop.import1.conf \
+FILES:${PN}-container = "${sysconfdir}/dbus-1/system.d/org.freedesktop.import1.conf \
                          ${sysconfdir}/dbus-1/system.d/org.freedesktop.machine1.conf \
                          ${sysconfdir}/systemd/system/multi-user.target.wants/machines.target \
                          ${base_bindir}/machinectl \
@@ -484,7 +484,7 @@ FILES_${PN}-container = "${sysconfdir}/dbus-1/system.d/org.freedesktop.import1.c
                         "
 
 # "machinectl import-tar" uses "tar --numeric-owner", not supported by busybox.
-RRECOMMENDS_${PN}-container += "\
+RRECOMMENDS:${PN}-container += "\
                          ${PN}-journal-gatewayd \
                          ${PN}-journal-remote \
                          ${PN}-journal-upload \
@@ -494,7 +494,7 @@ RRECOMMENDS_${PN}-container += "\
                          tar \
                         "
 
-FILES_${PN}-extra-utils = "\
+FILES:${PN}-extra-utils = "\
                         ${base_bindir}/systemd-escape \
                         ${base_bindir}/systemd-inhibit \
                         ${bindir}/systemd-detect-virt \
@@ -538,14 +538,14 @@ FILES_${PN}-extra-utils = "\
                         ${rootlibexecdir}/systemd/systemd-cgroups-agent \
 "
 
-FILES_${PN}-udev-rules = "\
+FILES:${PN}-udev-rules = "\
                         ${rootlibexecdir}/udev/rules.d/70-uaccess.rules \
                         ${rootlibexecdir}/udev/rules.d/71-seat.rules \
                         ${rootlibexecdir}/udev/rules.d/73-seat-late.rules \
                         ${rootlibexecdir}/udev/rules.d/99-systemd.rules \
 "
 
-CONFFILES_${PN} = "${sysconfdir}/systemd/coredump.conf \
+CONFFILES:${PN} = "${sysconfdir}/systemd/coredump.conf \
 	${sysconfdir}/systemd/journald.conf \
 	${sysconfdir}/systemd/logind.conf \
 	${sysconfdir}/systemd/networkd.conf \
@@ -557,7 +557,7 @@ CONFFILES_${PN} = "${sysconfdir}/systemd/coredump.conf \
 	${sysconfdir}/systemd/user.conf \
 "
 
-FILES_${PN} = " ${base_bindir}/* \
+FILES:${PN} = " ${base_bindir}/* \
                 ${base_sbindir}/shutdown \
                 ${base_sbindir}/halt \
                 ${base_sbindir}/poweroff \
@@ -619,13 +619,13 @@ FILES_${PN} = " ${base_bindir}/* \
                 ${datadir}/dbus-1/system.d/org.freedesktop.oom1.conf \
                "
 
-FILES_${PN}-dev += "${base_libdir}/security/*.la ${datadir}/dbus-1/interfaces/ ${sysconfdir}/rpm/macros.systemd"
+FILES:${PN}-dev += "${base_libdir}/security/*.la ${datadir}/dbus-1/interfaces/ ${sysconfdir}/rpm/macros.systemd"
 
-RDEPENDS_${PN} += "kmod dbus util-linux-mount util-linux-umount udev (= ${EXTENDPKGV}) systemd-udev-rules util-linux-agetty util-linux-fsck"
-RDEPENDS_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'serial-getty-generator', '', 'systemd-serialgetty', d)}"
-RDEPENDS_${PN} += "volatile-binds"
+RDEPENDS:${PN} += "kmod dbus util-linux-mount util-linux-umount udev (= ${EXTENDPKGV}) systemd-udev-rules util-linux-agetty util-linux-fsck"
+RDEPENDS:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'serial-getty-generator', '', 'systemd-serialgetty', d)}"
+RDEPENDS:${PN} += "volatile-binds"
 
-RRECOMMENDS_${PN} += "systemd-extra-utils \
+RRECOMMENDS:${PN} += "systemd-extra-utils \
                       udev-hwdb \
                       e2fsprogs-e2fsck \
                       kernel-module-autofs4 kernel-module-unix kernel-module-ipv6 kernel-module-sch-fq-codel \
@@ -633,15 +633,15 @@ RRECOMMENDS_${PN} += "systemd-extra-utils \
                       systemd-conf \
 "
 
-INSANE_SKIP_${PN} += "dev-so libdir"
-INSANE_SKIP_${PN}-dbg += "libdir"
-INSANE_SKIP_${PN}-doc += " libdir"
+INSANE_SKIP:${PN} += "dev-so libdir"
+INSANE_SKIP:${PN}-dbg += "libdir"
+INSANE_SKIP:${PN}-doc += " libdir"
 
-RPROVIDES_udev = "hotplug"
+RPROVIDES:udev = "hotplug"
 
-RDEPENDS_udev-hwdb += "udev"
+RDEPENDS:udev-hwdb += "udev"
 
-FILES_udev += "${base_sbindir}/udevd \
+FILES:udev += "${base_sbindir}/udevd \
                ${rootlibexecdir}/systemd/network/99-default.link \
                ${rootlibexecdir}/systemd/systemd-udevd \
                ${rootlibexecdir}/udev/accelerometer \
@@ -700,14 +700,14 @@ FILES_udev += "${base_sbindir}/udevd \
                ${systemd_unitdir}/system/systemd-hwdb-update.service \
               "
 
-FILES_udev-hwdb = "${rootlibexecdir}/udev/hwdb.d \
+FILES:udev-hwdb = "${rootlibexecdir}/udev/hwdb.d \
                    "
 
-RCONFLICTS_${PN} = "tiny-init ${@bb.utils.contains('PACKAGECONFIG', 'resolved', 'resolvconf', '', d)}"
+RCONFLICTS:${PN} = "tiny-init ${@bb.utils.contains('PACKAGECONFIG', 'resolved', 'resolvconf', '', d)}"
 
 INITSCRIPT_PACKAGES = "udev"
-INITSCRIPT_NAME_udev = "systemd-udevd"
-INITSCRIPT_PARAMS_udev = "start 03 S ."
+INITSCRIPT_NAME:udev = "systemd-udevd"
+INITSCRIPT_PARAMS:udev = "start 03 S ."
 
 python __anonymous() {
     if not bb.utils.contains('DISTRO_FEATURES', 'sysvinit', True, False, d):
@@ -720,7 +720,7 @@ python do_warn_musl() {
 }
 addtask warn_musl before do_configure
 
-ALTERNATIVE_${PN} = "halt reboot shutdown poweroff runlevel ${@bb.utils.contains('PACKAGECONFIG', 'resolved', 'resolv-conf', '', d)}"
+ALTERNATIVE:${PN} = "halt reboot shutdown poweroff runlevel ${@bb.utils.contains('PACKAGECONFIG', 'resolved', 'resolv-conf', '', d)}"
 
 ALTERNATIVE_TARGET[resolv-conf] = "${sysconfdir}/resolv-conf.systemd"
 ALTERNATIVE_LINK_NAME[resolv-conf] = "${sysconfdir}/resolv.conf"
@@ -746,20 +746,20 @@ ALTERNATIVE_TARGET[runlevel] = "${base_bindir}/systemctl"
 ALTERNATIVE_LINK_NAME[runlevel] = "${base_sbindir}/runlevel"
 ALTERNATIVE_PRIORITY[runlevel] ?= "300"
 
-pkg_postinst_${PN}_libc-glibc () {
+pkg_postinst:${PN}:libc-glibc () {
 	sed -e '/^hosts:/s/\s*\<myhostname\>//' \
 		-e 's/\(^hosts:.*\)\(\<files\>\)\(.*\)\(\<dns\>\)\(.*\)/\1\2 myhostname \3\4\5/' \
 		-i $D${sysconfdir}/nsswitch.conf
 }
 
-pkg_prerm_${PN}_libc-glibc () {
+pkg_prerm:${PN}:libc-glibc () {
 	sed -e '/^hosts:/s/\s*\<myhostname\>//' \
 		-e '/^hosts:/s/\s*myhostname//' \
 		-i $D${sysconfdir}/nsswitch.conf
 }
 
 PACKAGE_WRITE_DEPS += "qemu-native"
-pkg_postinst_udev-hwdb () {
+pkg_postinst:udev-hwdb () {
 	if test -n "$D"; then
 		$INTERCEPT_DIR/postinst_intercept update_udev_hwdb ${PKG} mlprefix=${MLPREFIX} binprefix=${MLPREFIX} rootlibexecdir="${rootlibexecdir}" PREFERRED_PROVIDER_udev="${PREFERRED_PROVIDER_udev}"
 	else
@@ -767,6 +767,6 @@ pkg_postinst_udev-hwdb () {
 	fi
 }
 
-pkg_prerm_udev-hwdb () {
+pkg_prerm:udev-hwdb () {
 	rm -f $D${sysconfdir}/udev/hwdb.bin
 }
diff --git a/meta/recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bb b/meta/recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bb
index d95d1a63f5c..bfcf51c35a2 100644
--- a/meta/recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bb
+++ b/meta/recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bb
@@ -53,14 +53,14 @@ EOF
     fi
 }
 
-pkg_postinst_${PN} () {
+pkg_postinst:${PN} () {
 # run this on host and on target
 if [ "${SERIAL_CONSOLES_CHECK}" = "" ]; then
        exit 0
 fi
 }
 
-pkg_postinst_ontarget_${PN} () {
+pkg_postinst_ontarget:${PN} () {
 # run this on the target
 if [ -e /proc/consoles ]; then
 	tmp="${SERIAL_CONSOLES_CHECK}"
@@ -84,10 +84,10 @@ fi
 # Set PACKAGE_ARCH appropriately.
 PACKAGE_ARCH = "${MACHINE_ARCH}"
 
-FILES_${PN} = "${sysconfdir}/inittab ${base_bindir}/start_getty"
-CONFFILES_${PN} = "${sysconfdir}/inittab"
+FILES:${PN} = "${sysconfdir}/inittab ${base_bindir}/start_getty"
+CONFFILES:${PN} = "${sysconfdir}/inittab"
 
 USE_VT ?= "1"
 SYSVINIT_ENABLED_GETTYS ?= "1"
 
-RCONFLICTS_${PN} = "busybox-inittab"
+RCONFLICTS:${PN} = "busybox-inittab"
diff --git a/meta/recipes-core/sysvinit/sysvinit_2.99.bb b/meta/recipes-core/sysvinit/sysvinit_2.99.bb
index e39f22a8bbc..9ba9652f94a 100644
--- a/meta/recipes-core/sysvinit/sysvinit_2.99.bb
+++ b/meta/recipes-core/sysvinit/sysvinit_2.99.bb
@@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe \
                     file://COPYRIGHT;endline=15;md5=a1d3b3526501d3546d530bbe6ab6cdbe \
                     "
 
-RDEPENDS_${PN} = "${PN}-inittab"
+RDEPENDS:${PN} = "${PN}-inittab"
 
 SRC_URI = "${SAVANNAH_GNU_MIRROR}/sysvinit/sysvinit-${PV}.tar.xz \
            file://install.patch \
@@ -26,14 +26,14 @@ SRC_URI[sha256sum] = "b05c3677bb698afe64c997968b00c49b2a9bd320ce963523230ee7ea41
 S = "${WORKDIR}/sysvinit-${PV}"
 
 inherit update-alternatives features_check
-DEPENDS_append = " update-rc.d-native base-passwd virtual/crypt"
+DEPENDS:append = " update-rc.d-native base-passwd virtual/crypt"
 do_package_setscene[depends] = "${MLPREFIX}base-passwd:do_populate_sysroot"
 
 PACKAGECONFIG[psplash-text-updates] = ",,"
 
 REQUIRED_DISTRO_FEATURES = "sysvinit"
 
-ALTERNATIVE_${PN} = "init mountpoint halt reboot runlevel shutdown poweroff last lastb mesg utmpdump wall"
+ALTERNATIVE:${PN} = "init mountpoint halt reboot runlevel shutdown poweroff last lastb mesg utmpdump wall"
 
 ALTERNATIVE_PRIORITY = "200"
 
@@ -49,13 +49,13 @@ ALTERNATIVE_LINK_NAME[runlevel] = "${base_sbindir}/runlevel"
 ALTERNATIVE_LINK_NAME[shutdown] = "${base_sbindir}/shutdown"
 ALTERNATIVE_LINK_NAME[poweroff] = "${base_sbindir}/poweroff"
 
-ALTERNATIVE_${PN}-pidof = "pidof"
+ALTERNATIVE:${PN}-pidof = "pidof"
 ALTERNATIVE_LINK_NAME[pidof] = "${base_bindir}/pidof"
 
-ALTERNATIVE_${PN}-sulogin = "sulogin"
+ALTERNATIVE:${PN}-sulogin = "sulogin"
 ALTERNATIVE_LINK_NAME[sulogin] = "${base_sbindir}/sulogin"
 
-ALTERNATIVE_${PN}-doc = "mountpoint.1 last.1 lastb.1 mesg.1 wall.1 sulogin.8 utmpdump.1"
+ALTERNATIVE:${PN}-doc = "mountpoint.1 last.1 lastb.1 mesg.1 wall.1 sulogin.8 utmpdump.1"
 
 ALTERNATIVE_LINK_NAME[last.1] = "${mandir}/man1/last.1"
 ALTERNATIVE_LINK_NAME[lastb.1] = "${mandir}/man1/lastb.1"
@@ -66,13 +66,13 @@ ALTERNATIVE_LINK_NAME[utmpdump.1] = "${mandir}/man1/utmpdump.1"
 ALTERNATIVE_LINK_NAME[wall.1] = "${mandir}/man1/wall.1"
 
 PACKAGES =+ "sysvinit-pidof sysvinit-sulogin"
-FILES_${PN} += "${base_sbindir}/* ${base_bindir}/*"
-FILES_sysvinit-pidof = "${base_bindir}/pidof.sysvinit ${base_sbindir}/killall5"
-FILES_sysvinit-sulogin = "${base_sbindir}/sulogin.sysvinit"
+FILES:${PN} += "${base_sbindir}/* ${base_bindir}/*"
+FILES:sysvinit-pidof = "${base_bindir}/pidof.sysvinit ${base_sbindir}/killall5"
+FILES:sysvinit-sulogin = "${base_sbindir}/sulogin.sysvinit"
 
-RDEPENDS_${PN} += "sysvinit-pidof initd-functions base-passwd"
+RDEPENDS:${PN} += "sysvinit-pidof initd-functions base-passwd"
 
-CFLAGS_prepend = "-D_GNU_SOURCE "
+CFLAGS:prepend = "-D_GNU_SOURCE "
 export LCRYPT = "-lcrypt"
 EXTRA_OEMAKE += "'base_bindir=${base_bindir}' \
 		 'base_sbindir=${base_sbindir}' \
diff --git a/meta/recipes-core/udev/eudev/permissions.rules b/meta/recipes-core/udev/eudev/permissions.rules
index 205b7332920..bfdff4f8ce0 100644
--- a/meta/recipes-core/udev/eudev/permissions.rules
+++ b/meta/recipes-core/udev/eudev/permissions.rules
@@ -10,9 +10,9 @@ SUBSYSTEM=="net",				WAIT_FOR_SYSFS="address"
 SUBSYSTEM=="net", ENV{DRIVER}=="?*",		WAIT_FOR_SYSFS="device/driver"
 
 # devices needed to load the drivers providing them
-KERNEL=="tun",					OPTIONS+="ignore_remove"
-KERNEL=="ppp",					OPTIONS+="ignore_remove"
-KERNEL=="loop[0-9]*",				OPTIONS+="ignore_remove"
+KERNEL=="tun",					OPTIONS+="ignore:remove"
+KERNEL=="ppp",					OPTIONS+="ignore:remove"
+KERNEL=="loop[0-9]*",				OPTIONS+="ignore:remove"
 
 # default permissions for block devices
 SUBSYSTEM=="block",				GROUP="disk"
diff --git a/meta/recipes-core/udev/eudev_3.2.10.bb b/meta/recipes-core/udev/eudev_3.2.10.bb
index a5d2115f80b..347495cbdb0 100644
--- a/meta/recipes-core/udev/eudev_3.2.10.bb
+++ b/meta/recipes-core/udev/eudev_3.2.10.bb
@@ -2,7 +2,7 @@ SUMMARY = "eudev is a fork of systemd's udev"
 HOMEPAGE = "https://wiki.gentoo.org/wiki/Eudev"
 DESCRIPTION = "eudev is Gentoo's fork of udev, systemd's device file manager for the Linux kernel. It manages device nodes in /dev and handles all user space actions when adding or removing devices."
 LICENSE = "GPLv2.0+ & LGPL-2.1+"
-LICENSE_libudev = "LGPL-2.1+"
+LICENSE:libudev = "LGPL-2.1+"
 LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
 
 DEPENDS = "glib-2.0 glib-2.0-native gperf-native kmod libxslt-native util-linux"
@@ -38,7 +38,7 @@ EXTRA_OECONF = " \
 PACKAGECONFIG ??= "hwdb"
 PACKAGECONFIG[hwdb] = "--enable-hwdb,--disable-hwdb"
 
-do_install_append() {
+do_install:append() {
 	install -d ${D}${sysconfdir}/init.d
 	install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/udev
 	sed -i s%@UDEVD@%${base_sbindir}/udevd% ${D}${sysconfdir}/init.d/udev
@@ -57,7 +57,7 @@ do_install_append() {
 	ln ${D}${bindir}/udevadm ${D}${libexecdir}/${MLPREFIX}udevadm
 }
 
-do_install_prepend_class-target () {
+do_install:prepend:class-target () {
 	# Remove references to buildmachine
 	sed -i -e 's:${RECIPE_SYSROOT_NATIVE}::g' \
 		${B}/src/udev/keyboard-keys-from-name.h
@@ -70,21 +70,21 @@ PACKAGES =+ "libudev"
 PACKAGES =+ "eudev-hwdb"
 
 
-FILES_${PN} += "${libexecdir} ${nonarch_base_libdir}/udev ${bindir}/udevadm"
-FILES_${PN}-dev = "${datadir}/pkgconfig/udev.pc \
+FILES:${PN} += "${libexecdir} ${nonarch_base_libdir}/udev ${bindir}/udevadm"
+FILES:${PN}-dev = "${datadir}/pkgconfig/udev.pc \
                    ${includedir}/libudev.h ${libdir}/libudev.so \
                    ${includedir}/udev.h ${libdir}/libudev.la \
                    ${libdir}/libudev.a ${libdir}/pkgconfig/libudev.pc"
-FILES_libudev = "${base_libdir}/libudev.so.*"
-FILES_eudev-hwdb = "${sysconfdir}/udev/hwdb.d"
+FILES:libudev = "${base_libdir}/libudev.so.*"
+FILES:eudev-hwdb = "${sysconfdir}/udev/hwdb.d"
 
-RDEPENDS_eudev-hwdb += "eudev"
+RDEPENDS:eudev-hwdb += "eudev"
 
-RPROVIDES_${PN} = "hotplug udev"
-RPROVIDES_eudev-hwdb += "udev-hwdb"
+RPROVIDES:${PN} = "hotplug udev"
+RPROVIDES:eudev-hwdb += "udev-hwdb"
 
 PACKAGE_WRITE_DEPS += "qemu-native"
-pkg_postinst_eudev-hwdb () {
+pkg_postinst:eudev-hwdb () {
     if test -n "$D"; then
         $INTERCEPT_DIR/postinst_intercept update_udev_hwdb ${PKG} mlprefix=${MLPREFIX} binprefix=${MLPREFIX}
     else
@@ -92,6 +92,6 @@ pkg_postinst_eudev-hwdb () {
     fi
 }
 
-pkg_prerm_eudev-hwdb () {
+pkg_prerm:eudev-hwdb () {
         rm -f $D${sysconfdir}/udev/hwdb.bin
 }
diff --git a/meta/recipes-core/udev/udev-extraconf_1.1.bb b/meta/recipes-core/udev/udev-extraconf_1.1.bb
index 90f933d981f..2ba35b0df69 100644
--- a/meta/recipes-core/udev/udev-extraconf_1.1.bb
+++ b/meta/recipes-core/udev/udev-extraconf_1.1.bb
@@ -35,11 +35,11 @@ do_install() {
     install -m 0755 ${WORKDIR}/network.sh ${D}${sysconfdir}/udev/scripts
 }
 
-FILES_${PN} = "${sysconfdir}/udev"
-RDEPENDS_${PN} = "udev"
-CONFFILES_${PN} = "${sysconfdir}/udev/mount.blacklist"
+FILES:${PN} = "${sysconfdir}/udev"
+RDEPENDS:${PN} = "udev"
+CONFFILES:${PN} = "${sysconfdir}/udev/mount.blacklist"
 
 # to replace udev-extra-rules from meta-oe
-RPROVIDES_${PN} = "udev-extra-rules"
-RREPLACES_${PN} = "udev-extra-rules"
-RCONFLICTS_${PN} = "udev-extra-rules"
+RPROVIDES:${PN} = "udev-extra-rules"
+RREPLACES:${PN} = "udev-extra-rules"
+RCONFLICTS:${PN} = "udev-extra-rules"
diff --git a/meta/recipes-core/util-linux/util-linux-libuuid_2.37.bb b/meta/recipes-core/util-linux/util-linux-libuuid_2.37.bb
index 9612c491cd9..5d759aed94b 100644
--- a/meta/recipes-core/util-linux/util-linux-libuuid_2.37.bb
+++ b/meta/recipes-core/util-linux/util-linux-libuuid_2.37.bb
@@ -9,7 +9,7 @@ S = "${WORKDIR}/util-linux-${PV}"
 EXTRA_OECONF += "--disable-all-programs --enable-libuuid"
 LICENSE = "BSD-3-Clause"
 
-do_install_append() {
+do_install:append() {
 	rm -rf ${D}${datadir} ${D}${bindir} ${D}${base_bindir} ${D}${sbindir} ${D}${base_sbindir} ${D}${exec_prefix}/sbin
 }
 
diff --git a/meta/recipes-core/util-linux/util-linux.inc b/meta/recipes-core/util-linux/util-linux.inc
index 0648366baf9..d07f648041b 100644
--- a/meta/recipes-core/util-linux/util-linux.inc
+++ b/meta/recipes-core/util-linux/util-linux.inc
@@ -7,10 +7,10 @@ disk partitioning, kernel message management, filesystem creation, and system lo
 SECTION = "base"
 
 LICENSE = "GPLv2+ & LGPLv2.1+ & BSD-3-Clause & BSD-4-Clause"
-LICENSE_${PN}-libblkid = "LGPLv2.1+"
-LICENSE_${PN}-libfdisk = "LGPLv2.1+"
-LICENSE_${PN}-libmount = "LGPLv2.1+"
-LICENSE_${PN}-libsmartcols = "LGPLv2.1+"
+LICENSE:${PN}-libblkid = "LGPLv2.1+"
+LICENSE:${PN}-libfdisk = "LGPLv2.1+"
+LICENSE:${PN}-libmount = "LGPLv2.1+"
+LICENSE:${PN}-libsmartcols = "LGPLv2.1+"
 
 LIC_FILES_CHKSUM = "file://README.licensing;md5=0fd5c050c6187d2bf0a4492b7f4e33da \
                     file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
@@ -25,7 +25,7 @@ LIC_FILES_CHKSUM = "file://README.licensing;md5=0fd5c050c6187d2bf0a4492b7f4e33da
                     file://libsmartcols/COPYING;md5=693bcbbe16d3a4a4b37bc906bc01cc04 \
 "
 
-FILESEXTRAPATHS_prepend := "${THISDIR}/util-linux:"
+FILESEXTRAPATHS:prepend := "${THISDIR}/util-linux:"
 MAJOR_VERSION = "${@'.'.join(d.getVar('PV').split('.')[0:2])}"
 SRC_URI = "${KERNELORG_MIRROR}/linux/utils/util-linux/v${MAJOR_VERSION}/util-linux-${PV}.tar.xz \
            file://configure-sbindir.patch \
diff --git a/meta/recipes-core/util-linux/util-linux_2.37.bb b/meta/recipes-core/util-linux/util-linux_2.37.bb
index 2548b7210be..b67c3dcb53a 100644
--- a/meta/recipes-core/util-linux/util-linux_2.37.bb
+++ b/meta/recipes-core/util-linux/util-linux_2.37.bb
@@ -10,12 +10,12 @@ PACKAGES += "${@bb.utils.contains('PACKAGECONFIG', 'pylibmount', '${PN}-pylibmou
 python util_linux_binpackages () {
     def pkg_hook(f, pkg, file_regex, output_pattern, modulename):
         pn = d.getVar('PN')
-        d.appendVar('RRECOMMENDS_%s' % pn, ' %s' % pkg)
+        d.appendVar('RRECOMMENDS:%s' % pn, ' %s' % pkg)
 
-        if d.getVar('ALTERNATIVE_' + pkg):
+        if d.getVar('ALTERNATIVE:' + pkg):
             return
         if d.getVarFlag('ALTERNATIVE_LINK_NAME', modulename):
-            d.setVar('ALTERNATIVE_' + pkg, modulename)
+            d.setVar('ALTERNATIVE:' + pkg, modulename)
 
     bindirs = sorted(list(set(d.expand("${base_sbindir} ${base_bindir} ${sbindir} ${bindir}").split())))
     for dir in bindirs:
@@ -41,9 +41,9 @@ python util_linux_binpackages () {
 
     pn = d.getVar('PN')
     for pkg, links in extras.items():
-        of = d.getVar('FILES_' + pn + '-' + pkg)
+        of = d.getVar('FILES:' + pn + '-' + pkg)
         links = of + links
-        d.setVar('FILES_' + pn + '-' + pkg, links)
+        d.setVar('FILES:' + pn + '-' + pkg, links)
 }
 
 # we must execute before update-alternatives PACKAGE_PREPROCESS_FUNCS
@@ -63,7 +63,7 @@ PACKAGES_DYNAMIC = "^${PN}-.*"
 
 CACHED_CONFIGUREVARS += "scanf_cv_alloc_modifier=ms"
 UTIL_LINUX_LIBDIR = "${libdir}"
-UTIL_LINUX_LIBDIR_class-target = "${base_libdir}"
+UTIL_LINUX_LIBDIR:class-target = "${base_libdir}"
 EXTRA_OECONF = "\
     --enable-libuuid --enable-libblkid \
     \
@@ -81,17 +81,17 @@ EXTRA_OECONF = "\
     --libdir='${UTIL_LINUX_LIBDIR}' \
 "
 
-EXTRA_OECONF_append_class-target = " --enable-setpriv"
-EXTRA_OECONF_append_class-native = " --without-cap-ng --disable-setpriv"
-EXTRA_OECONF_append_class-nativesdk = " --without-cap-ng --disable-setpriv"
-EXTRA_OECONF_append = " --disable-hwclock-gplv3"
+EXTRA_OECONF:append:class-target = " --enable-setpriv"
+EXTRA_OECONF:append:class-native = " --without-cap-ng --disable-setpriv"
+EXTRA_OECONF:append:class-nativesdk = " --without-cap-ng --disable-setpriv"
+EXTRA_OECONF:append = " --disable-hwclock-gplv3"
 
 # enable pcre2 for native/nativesdk to match host distros
 # this helps to keep same expectations when using the SDK or
 # build host versions during development
 #
 PACKAGECONFIG ?= "pcre2"
-PACKAGECONFIG_class-target ?= "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'chfn-chsh pam', '', d)}"
+PACKAGECONFIG:class-target ?= "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'chfn-chsh pam', '', d)}"
 PACKAGECONFIG[pam] = "--enable-su --enable-runuser,--disable-su --disable-runuser, libpam,"
 # Respect the systemd feature for uuidd
 PACKAGECONFIG[systemd] = "--with-systemd --with-systemdsystemunitdir=${systemd_system_unitdir}, --without-systemd --without-systemdsystemunitdir,systemd"
@@ -106,43 +106,43 @@ PACKAGECONFIG[chfn-chsh] = "--enable-chfn-chsh,--disable-chfn-chsh,"
 
 EXTRA_OEMAKE = "ARCH=${TARGET_ARCH} CPU= CPUOPT= 'OPT=${CFLAGS}'"
 
-ALLOW_EMPTY_${PN} = "1"
-FILES_${PN} = ""
-FILES_${PN}-doc += "${datadir}/getopt/getopt-*.*"
-FILES_${PN}-dev += "${PYTHON_SITEPACKAGES_DIR}/libmount/pylibmount.la"
-FILES_${PN}-mount = "${sysconfdir}/default/mountall"
-FILES_${PN}-runuser = "${sysconfdir}/pam.d/runuser*"
-FILES_${PN}-su = "${sysconfdir}/pam.d/su-l"
-CONFFILES_${PN}-su = "${sysconfdir}/pam.d/su-l"
-FILES_${PN}-pylibmount = "${PYTHON_SITEPACKAGES_DIR}/libmount/pylibmount.so \
+ALLOW_EMPTY:${PN} = "1"
+FILES:${PN} = ""
+FILES:${PN}-doc += "${datadir}/getopt/getopt-*.*"
+FILES:${PN}-dev += "${PYTHON_SITEPACKAGES_DIR}/libmount/pylibmount.la"
+FILES:${PN}-mount = "${sysconfdir}/default/mountall"
+FILES:${PN}-runuser = "${sysconfdir}/pam.d/runuser*"
+FILES:${PN}-su = "${sysconfdir}/pam.d/su-l"
+CONFFILES:${PN}-su = "${sysconfdir}/pam.d/su-l"
+FILES:${PN}-pylibmount = "${PYTHON_SITEPACKAGES_DIR}/libmount/pylibmount.so \
                           ${PYTHON_SITEPACKAGES_DIR}/libmount/__init__.* \
                           ${PYTHON_SITEPACKAGES_DIR}/libmount/__pycache__/*"
 
 # Util-linux' blkid replaces the e2fsprogs one
-RCONFLICTS_${PN}-blkid = "${MLPREFIX}e2fsprogs-blkid"
-RREPLACES_${PN}-blkid = "${MLPREFIX}e2fsprogs-blkid"
+RCONFLICTS:${PN}-blkid = "${MLPREFIX}e2fsprogs-blkid"
+RREPLACES:${PN}-blkid = "${MLPREFIX}e2fsprogs-blkid"
 
-RRECOMMENDS_${PN}_class-native = ""
-RRECOMMENDS_${PN}_class-nativesdk = ""
-RDEPENDS_${PN}_class-native = ""
-RDEPENDS_${PN}_class-nativesdk = ""
+RRECOMMENDS:${PN}:class-native = ""
+RRECOMMENDS:${PN}:class-nativesdk = ""
+RDEPENDS:${PN}:class-native = ""
+RDEPENDS:${PN}:class-nativesdk = ""
 
-RDEPENDS_${PN} += " util-linux-libuuid"
-RDEPENDS_${PN}-dev += " util-linux-libuuid-dev"
+RDEPENDS:${PN} += " util-linux-libuuid"
+RDEPENDS:${PN}-dev += " util-linux-libuuid-dev"
 
-RPROVIDES_${PN}-dev = "${PN}-libblkid-dev ${PN}-libmount-dev"
+RPROVIDES:${PN}-dev = "${PN}-libblkid-dev ${PN}-libmount-dev"
 
-RDEPENDS_${PN}-bash-completion += "${PN}-lsblk"
-RDEPENDS_${PN}-ptest += "bash bc btrfs-tools coreutils e2fsprogs findutils grep iproute2 kmod mdadm procps sed socat which xz"
-RRECOMMENDS_${PN}-ptest += "kernel-module-scsi-debug kernel-module-sd-mod kernel-module-loop"
-RDEPENDS_${PN}-swaponoff = "${PN}-swapon ${PN}-swapoff"
-ALLOW_EMPTY_${PN}-swaponoff = "1"
+RDEPENDS:${PN}-bash-completion += "${PN}-lsblk"
+RDEPENDS:${PN}-ptest += "bash bc btrfs-tools coreutils e2fsprogs findutils grep iproute2 kmod mdadm procps sed socat which xz"
+RRECOMMENDS:${PN}-ptest += "kernel-module-scsi-debug kernel-module-sd-mod kernel-module-loop"
+RDEPENDS:${PN}-swaponoff = "${PN}-swapon ${PN}-swapoff"
+ALLOW_EMPTY:${PN}-swaponoff = "1"
 
 #SYSTEMD_PACKAGES = "${PN}-uuidd ${PN}-fstrim"
-SYSTEMD_SERVICE_${PN}-uuidd = "uuidd.socket uuidd.service"
-SYSTEMD_AUTO_ENABLE_${PN}-uuidd = "disable"
-SYSTEMD_SERVICE_${PN}-fstrim = "fstrim.timer fstrim.service"
-SYSTEMD_AUTO_ENABLE_${PN}-fstrim = "disable"
+SYSTEMD_SERVICE:${PN}-uuidd = "uuidd.socket uuidd.service"
+SYSTEMD_AUTO_ENABLE:${PN}-uuidd = "disable"
+SYSTEMD_SERVICE:${PN}-fstrim = "fstrim.timer fstrim.service"
+SYSTEMD_AUTO_ENABLE:${PN}-fstrim = "disable"
 
 do_install () {
 	# with ccache the timestamps on compiled files may
@@ -181,7 +181,7 @@ do_install () {
 	rm -f ${D}${bindir}/chkdupexe
 }
 
-do_install_append_class-target () {
+do_install:append:class-target () {
 	if [ "${@bb.utils.filter('PACKAGECONFIG', 'pam', d)}" ]; then
 		install -d ${D}${sysconfdir}/pam.d
 		install -m 0644 ${WORKDIR}/runuser.pamd ${D}${sysconfdir}/pam.d/runuser
@@ -194,14 +194,14 @@ do_install_append_class-target () {
 }
 # nologin causes a conflict with shadow-native
 # kill causes a conflict with coreutils-native (if ${bindir}==${base_bindir})
-do_install_append_class-native () {
+do_install:append:class-native () {
 	rm -f ${D}${base_sbindir}/nologin
 	rm -f ${D}${base_bindir}/kill
 }
 
 # dm-verity support introduces a circular build dependency, so util-linux-libuuid is split out for target builds
 # Need to build libuuid for uuidgen, but then delete it and let the other recipe ship it
-do_install_append () {
+do_install:append () {
 	rm -rf ${D}${includedir}/uuid ${D}${libdir}/pkgconfig/uuid.pc ${D}${libdir}/libuuid* ${D}${base_libdir}/libuuid*
 }
 
@@ -222,14 +222,14 @@ ALTERNATIVE_LINK_NAME[fsck] = "${base_sbindir}/fsck"
 ALTERNATIVE_LINK_NAME[fsfreeze] = "${sbindir}/fsfreeze"
 ALTERNATIVE_LINK_NAME[fstrim] = "${base_sbindir}/fstrim"
 ALTERNATIVE_LINK_NAME[getopt] = "${base_bindir}/getopt"
-ALTERNATIVE_${PN}-agetty = "getty"
+ALTERNATIVE:${PN}-agetty = "getty"
 ALTERNATIVE_LINK_NAME[getty] = "${base_sbindir}/getty"
 ALTERNATIVE_TARGET[getty] = "${base_sbindir}/agetty"
 ALTERNATIVE_LINK_NAME[hexdump] = "${bindir}/hexdump"
 ALTERNATIVE_LINK_NAME[hwclock] = "${base_sbindir}/hwclock"
 ALTERNATIVE_LINK_NAME[ionice] = "${bindir}/ionice"
 ALTERNATIVE_LINK_NAME[kill] = "${base_bindir}/kill"
-ALTERNATIVE_${PN}-last = "last lastb"
+ALTERNATIVE:${PN}-last = "last lastb"
 ALTERNATIVE_LINK_NAME[last] = "${bindir}/last"
 ALTERNATIVE_LINK_NAME[lastb] = "${bindir}/lastb"
 ALTERNATIVE_LINK_NAME[logger] = "${bindir}/logger"
diff --git a/meta/recipes-core/volatile-binds/volatile-binds.bb b/meta/recipes-core/volatile-binds/volatile-binds.bb
index 3c8b18291e6..5eeb6513301 100644
--- a/meta/recipes-core/volatile-binds/volatile-binds.bb
+++ b/meta/recipes-core/volatile-binds/volatile-binds.bb
@@ -33,9 +33,9 @@ def volatile_systemd_services(d):
         services.append("%s.service" % what[1:].replace("/", "-"))
     return " ".join(services)
 
-SYSTEMD_SERVICE_${PN} = "${@volatile_systemd_services(d)}"
+SYSTEMD_SERVICE:${PN} = "${@volatile_systemd_services(d)}"
 
-FILES_${PN} += "${systemd_unitdir}/system/*.service ${servicedir}"
+FILES:${PN} += "${systemd_unitdir}/system/*.service ${servicedir}"
 
 do_compile () {
     while read spec mountpoint; do
diff --git a/meta/recipes-core/zlib/zlib_1.2.11.bb b/meta/recipes-core/zlib/zlib_1.2.11.bb
index ef9431ae475..1c06aa0ab5e 100644
--- a/meta/recipes-core/zlib/zlib_1.2.11.bb
+++ b/meta/recipes-core/zlib/zlib_1.2.11.bb
@@ -17,7 +17,7 @@ SRC_URI[sha256sum] = "4ff941449631ace0d4d203e3483be9dbc9da454084111f97ea0a2114e1
 
 CFLAGS += "-D_REENTRANT"
 
-RDEPENDS_${PN}-ptest += "make"
+RDEPENDS:${PN}-ptest += "make"
 
 inherit ptest
 
@@ -39,7 +39,7 @@ do_install_ptest() {
 
 # Move zlib shared libraries for target builds to $base_libdir so the library
 # can be used in early boot before $prefix is mounted.
-do_install_append_class-target() {
+do_install:append:class-target() {
 	if [ ${base_libdir} != ${libdir} ]
 	then
 		mkdir -p ${D}/${base_libdir}
diff --git a/meta/recipes-devtools/apt/apt_2.2.4.bb b/meta/recipes-devtools/apt/apt_2.2.4.bb
index f1201114107..29fc49fb392 100644
--- a/meta/recipes-devtools/apt/apt_2.2.4.bb
+++ b/meta/recipes-devtools/apt/apt_2.2.4.bb
@@ -16,12 +16,12 @@ SRC_URI = "${DEBIAN_MIRROR}/main/a/apt/${BPN}_${PV}.tar.xz \
            file://0001-aptwebserver.cc-Include-array.patch \
            "
 
-SRC_URI_append_class-native = " \
+SRC_URI:append:class-native = " \
            file://0001-Do-not-init-tables-from-dpkg-configuration.patch \
            file://0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch \
            "
 
-SRC_URI_append_class-nativesdk = " \
+SRC_URI:append:class-nativesdk = " \
            file://0001-Do-not-init-tables-from-dpkg-configuration.patch \
            file://0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch \
            "
@@ -37,13 +37,13 @@ inherit cmake perlnative bash-completion upstream-version-is-even useradd
 
 # User is added to allow apt to drop privs, will runtime warn without
 USERADD_PACKAGES = "${PN}"
-USERADD_PARAM_${PN} = "--system --home /nonexistent --no-create-home _apt"
+USERADD_PARAM:${PN} = "--system --home /nonexistent --no-create-home _apt"
 
 BBCLASSEXTEND = "native nativesdk"
 
 DEPENDS += "db gnutls lz4 zlib bzip2 xz libgcrypt xxhash"
 
-EXTRA_OECMAKE_append = " -DCURRENT_VENDOR=debian -DWITH_DOC=False \
+EXTRA_OECMAKE:append = " -DCURRENT_VENDOR=debian -DWITH_DOC=False \
     -DDPKG_DATADIR=${datadir}/dpkg \
     -DTRIEHASH_EXECUTABLE=${WORKDIR}/triehash \
     -DCMAKE_DISABLE_FIND_PACKAGE_ZSTD=True \
@@ -51,14 +51,14 @@ EXTRA_OECMAKE_append = " -DCURRENT_VENDOR=debian -DWITH_DOC=False \
     -DWITH_TESTS=False \
 "
 
-do_configure_prepend () {
+do_configure:prepend () {
     echo "set( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH )" >>  ${WORKDIR}/toolchain.cmake
 
 }
 
 # Unfortunately apt hardcodes this all over the place
-FILES_${PN} += "${prefix}/lib/dpkg ${prefix}/lib/apt"
-RDEPENDS_${PN} += "bash perl dpkg"
+FILES:${PN} += "${prefix}/lib/dpkg ${prefix}/lib/apt"
+RDEPENDS:${PN} += "bash perl dpkg"
 
 customize_apt_conf_sample() {
     cat > ${D}${sysconfdir}/apt/apt.conf.sample << EOF
@@ -113,23 +113,23 @@ DPkg::Path "";
 EOF
 }
 
-do_install_append_class-native() {
+do_install:append:class-native() {
     customize_apt_conf_sample
 }
 
-do_install_append_class-nativesdk() {
+do_install:append:class-nativesdk() {
     customize_apt_conf_sample
 }
 
 
-do_install_append_class-target() {
+do_install:append:class-target() {
     #Write the correct apt-architecture to apt.conf
     APT_CONF=${D}/etc/apt/apt.conf
     echo 'APT::Architecture "${DPKG_ARCH}";' > ${APT_CONF}
 }
 
 # Avoid non-reproducible -src package
-do_install_append () {
+do_install:append () {
         sed -i -e "s,${B},,g" \
             ${B}/apt-pkg/tagfile-keys.cc
 }
diff --git a/meta/recipes-devtools/autoconf-archive/autoconf-archive_2021.02.19.bb b/meta/recipes-devtools/autoconf-archive/autoconf-archive_2021.02.19.bb
index 54079b5f09d..2f86b506559 100644
--- a/meta/recipes-devtools/autoconf-archive/autoconf-archive_2021.02.19.bb
+++ b/meta/recipes-devtools/autoconf-archive/autoconf-archive_2021.02.19.bb
@@ -12,6 +12,6 @@ inherit autotools allarch texinfo
 
 PACKAGES = "${PN} ${PN}-doc"
 
-FILES_${PN} += "${datadir}/aclocal"
+FILES:${PN} += "${datadir}/aclocal"
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-devtools/autoconf/autoconf_2.71.bb b/meta/recipes-devtools/autoconf/autoconf_2.71.bb
index 8526067201a..324e6f8de5c 100644
--- a/meta/recipes-devtools/autoconf/autoconf_2.71.bb
+++ b/meta/recipes-devtools/autoconf/autoconf_2.71.bb
@@ -6,7 +6,7 @@ LICENSE = "GPLv3+"
 HOMEPAGE = "http://www.gnu.org/software/autoconf/"
 SECTION = "devel"
 DEPENDS = "m4-native autoconf-native automake-native gnu-config-native help2man-native"
-DEPENDS_remove_class-native = "autoconf-native automake-native help2man-native"
+DEPENDS:remove:class-native = "autoconf-native automake-native help2man-native"
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=cc3f3a7596cb558bbd9eb7fbaa3ef16c \
 		    file://COPYINGv3;md5=1ebbd3e34237af26da5dc08a4e440464"
@@ -19,11 +19,11 @@ SRC_URI = "${GNU_MIRROR}/autoconf/${BP}.tar.gz \
            file://autotest-automake-result-format.patch \
            file://man-host-perl.patch \
            "
-SRC_URI_append_class-native = " file://no-man.patch"
+SRC_URI:append:class-native = " file://no-man.patch"
 
 SRC_URI[sha256sum] = "431075ad0bf529ef13cb41e9042c542381103e80015686222b8a9d4abef42a1c"
 
-RDEPENDS_${PN} = "m4 gnu-config \
+RDEPENDS:${PN} = "m4 gnu-config \
 		  perl \
 		  perl-module-bytes \
 		  perl-module-carp \
@@ -51,13 +51,13 @@ RDEPENDS_${PN} = "m4 gnu-config \
 		  perl-module-thread-queue \
 		  perl-module-threads \
 		 "
-RDEPENDS_${PN}_class-native = "m4-native gnu-config-native hostperl-runtime-native"
+RDEPENDS:${PN}:class-native = "m4-native gnu-config-native hostperl-runtime-native"
 
 inherit autotools texinfo
 
 PERL = "${USRBINPATH}/perl"
-PERL_class-native = "/usr/bin/env perl"
-PERL_class-nativesdk = "/usr/bin/env perl"
+PERL:class-native = "/usr/bin/env perl"
+PERL:class-nativesdk = "/usr/bin/env perl"
 
 CACHED_CONFIGUREVARS += "ac_cv_path_PERL='${PERL}'"
 
@@ -70,11 +70,11 @@ update_gnu_config() {
 }
 do_configure[prefuncs] += "update_gnu_config"
 
-do_configure_class-native() {
+do_configure:class-native() {
 	oe_runconf
 }
 
-do_install_append() {
+do_install:append() {
     rm -rf ${D}${datadir}/emacs
 }
 
diff --git a/meta/recipes-devtools/automake/automake.inc b/meta/recipes-devtools/automake/automake.inc
index 87cedc9838f..ceca16ab6a0 100644
--- a/meta/recipes-devtools/automake/automake.inc
+++ b/meta/recipes-devtools/automake/automake.inc
@@ -18,4 +18,4 @@ do_configure() {
 
 export AUTOMAKE = "${@bb.utils.which('automake', d.getVar('PATH'))}"
 
-FILES_${PN} += "${datadir}/automake* ${datadir}/aclocal*"
+FILES:${PN} += "${datadir}/automake* ${datadir}/aclocal*"
diff --git a/meta/recipes-devtools/automake/automake_1.16.3.bb b/meta/recipes-devtools/automake/automake_1.16.3.bb
index 7dc59d9fe76..1882eedcda7 100644
--- a/meta/recipes-devtools/automake/automake_1.16.3.bb
+++ b/meta/recipes-devtools/automake/automake_1.16.3.bb
@@ -1,11 +1,11 @@
 require automake.inc
 LICENSE = "GPLv2"
 LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-DEPENDS_class-native = "autoconf-native"
+DEPENDS:class-native = "autoconf-native"
 
 NAMEVER = "${@oe.utils.trim_version("${PV}", 2)}"
 
-RDEPENDS_${PN} += "\
+RDEPENDS:${PN} += "\
     autoconf \
     perl \
     perl-module-bytes \
@@ -16,7 +16,7 @@ RDEPENDS_${PN} += "\
     perl-module-threads \
     perl-module-vars "
 
-RDEPENDS_${PN}_class-native = "autoconf-native hostperl-runtime-native"
+RDEPENDS:${PN}:class-native = "autoconf-native hostperl-runtime-native"
 
 SRC_URI += "file://python-libdir.patch \
            file://buildtest.patch \
@@ -29,12 +29,12 @@ SRC_URI += "file://python-libdir.patch \
 SRC_URI[sha256sum] = "ce010788b51f64511a1e9bb2a1ec626037c6d0e7ede32c1c103611b9d3cba65f"
 
 PERL = "${USRBINPATH}/perl"
-PERL_class-native = "${USRBINPATH}/env perl"
-PERL_class-nativesdk = "${USRBINPATH}/env perl"
+PERL:class-native = "${USRBINPATH}/env perl"
+PERL:class-nativesdk = "${USRBINPATH}/env perl"
 
 CACHED_CONFIGUREVARS += "ac_cv_path_PERL='${PERL}'"
 
-do_install_append () {
+do_install:append () {
     install -d ${D}${datadir}
 }
 
diff --git a/meta/recipes-devtools/binutils/binutils-cross-canadian.inc b/meta/recipes-devtools/binutils/binutils-cross-canadian.inc
index e98f31f9c32..f44f46602dc 100644
--- a/meta/recipes-devtools/binutils/binutils-cross-canadian.inc
+++ b/meta/recipes-devtools/binutils/binutils-cross-canadian.inc
@@ -13,7 +13,7 @@ EXTRA_OECONF += "--with-sysroot=${SDKPATH}/sysroots/${TUNE_PKGARCH}${TARGET_VEND
 # e.g. we switch between different machines with different tunes.
 EXTRA_OECONF[vardepsexclude] = "TUNE_PKGARCH"
 
-LDGOLD_sdkmingw32 = ""
+LDGOLD:sdkmingw32 = ""
 
 do_install () {
 	autotools_do_install
diff --git a/meta/recipes-devtools/binutils/binutils-crosssdk_2.37.bb b/meta/recipes-devtools/binutils/binutils-crosssdk_2.37.bb
index 37f4d6d2e92..5bd036fd467 100644
--- a/meta/recipes-devtools/binutils/binutils-crosssdk_2.37.bb
+++ b/meta/recipes-devtools/binutils/binutils-crosssdk_2.37.bb
@@ -8,6 +8,6 @@ PROVIDES = "virtual/${TARGET_PREFIX}binutils-crosssdk"
 
 SRC_URI += "file://0001-binutils-crosssdk-Generate-relocatable-SDKs.patch"
 
-do_configure_prepend () {
+do_configure:prepend () {
 	sed -i 's#/usr/local/lib /lib /usr/lib#${SDKPATHNATIVE}/lib ${SDKPATHNATIVE}/usr/lib /usr/local/lib /lib /usr/lib#' ${S}/ld/configure.tgt
 }
diff --git a/meta/recipes-devtools/binutils/binutils.inc b/meta/recipes-devtools/binutils/binutils.inc
index e15a12b93e6..7d5149fa16e 100644
--- a/meta/recipes-devtools/binutils/binutils.inc
+++ b/meta/recipes-devtools/binutils/binutils.inc
@@ -15,7 +15,7 @@ DEPENDS = "flex-native bison-native zlib-native gnu-config-native autoconf-nativ
 
 inherit autotools gettext multilib_header texinfo
 
-FILES_${PN} = " \
+FILES:${PN} = " \
 	${bindir}/${TARGET_PREFIX}* \
 	${libdir}/lib*.so.* \
 	${libdir}/bfd-plugins/lib*.so \
@@ -23,9 +23,9 @@ FILES_${PN} = " \
 	${prefix}/${TARGET_SYS}/bin/* \
         ${bindir}/embedspu"
 
-RPROVIDES_${PN} += "${PN}-symlinks"
+RPROVIDES:${PN} += "${PN}-symlinks"
 
-FILES_${PN}-dev = " \
+FILES:${PN}-dev = " \
 	${includedir} \
 	${libdir}/*.la \
 	${libdir}/libbfd.so \
@@ -37,9 +37,9 @@ FILES_${PN}-dev = " \
 # list and reuse it.
 
 LDGOLD_ALTS ?= "ld.gold dwp"
-LDGOLD_ALTS_riscv64 = ""
-LDGOLD_ALTS_riscv32 = ""
-LDGOLD_ALTS_libc-glibc_mipsarch = ""
+LDGOLD_ALTS:riscv64 = ""
+LDGOLD_ALTS:riscv32 = ""
+LDGOLD_ALTS:libc-glibc:mipsarch = ""
 
 USE_ALTERNATIVES_FOR = " \
 	addr2line \
@@ -61,7 +61,7 @@ USE_ALTERNATIVES_FOR = " \
 	strip \
 "
 
-python do_package_prepend() {
+python do_package:prepend() {
     make_alts = d.getVar("USE_ALTERNATIVES_FOR") or ""
     prefix = d.getVar("TARGET_PREFIX")
     bindir = d.getVar("bindir")
@@ -86,12 +86,12 @@ EXTRA_OECONF = "--program-prefix=${TARGET_PREFIX} \
                 ${@bb.utils.contains('DISTRO_FEATURES', 'multiarch', '--enable-64-bit-bfd', '', d)}"
 
 EXTRA_TARGETS = ""
-EXTRA_TARGETS_x86-64 = " --enable-targets=x86_64-pe,x86_64-pep "
-EXTRA_TARGETS_class-native = ""
+EXTRA_TARGETS:x86-64 = " --enable-targets=x86_64-pe,x86_64-pep "
+EXTRA_TARGETS:class-native = ""
 
-LDGOLD_class-native = ""
-LDGOLD_class-crosssdk = ""
-LDGOLD_libc-glibc_mipsarch = ""
+LDGOLD:class-native = ""
+LDGOLD:class-crosssdk = ""
+LDGOLD:libc-glibc:mipsarch = ""
 LDGOLD ?= "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', '--enable-gold=default --enable-threads', '--enable-gold --enable-ld=default --enable-threads', d)}"
 
 
@@ -176,7 +176,7 @@ inherit update-alternatives
 
 ALTERNATIVE_PRIORITY = "100"
 
-ALTERNATIVE_${PN}_class-target = "${USE_ALTERNATIVES_FOR}"
+ALTERNATIVE:${PN}:class-target = "${USE_ALTERNATIVES_FOR}"
 
 python () {
     if bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', True, False, d) and bb.utils.contains_any('TARGET_ARCH', 'riscv32 riscv64', True, False, d):
diff --git a/meta/recipes-devtools/binutils/binutils_2.37.bb b/meta/recipes-devtools/binutils/binutils_2.37.bb
index ee9617de1d9..ff9377049b3 100644
--- a/meta/recipes-devtools/binutils/binutils_2.37.bb
+++ b/meta/recipes-devtools/binutils/binutils_2.37.bb
@@ -10,11 +10,11 @@ EXTRA_OECONF += "--with-sysroot=/ \
                 --with-system-zlib \
                 "
 
-EXTRA_OEMAKE_append_libc-musl = "\
+EXTRA_OEMAKE:append:libc-musl = "\
                                  gt_cv_func_gnugettext1_libc=yes \
                                  gt_cv_func_gnugettext2_libc=yes \
                                 "
-EXTRA_OECONF_class-native = "--enable-targets=all \
+EXTRA_OECONF:class-native = "--enable-targets=all \
                              --enable-64-bit-bfd \
                              --enable-install-libiberty \
                              --enable-install-libbfd \
@@ -29,10 +29,10 @@ PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'debuginfod', d)}"
 PACKAGECONFIG[debuginfod] = "--with-debuginfod, --without-debuginfod, elfutils"
 # gcc9.0 end up mis-compiling libbfd.so with O2 which then crashes on target
 # So remove -O2 and use -Os as workaround
-SELECTED_OPTIMIZATION_remove_mipsarch = "-O2"
-SELECTED_OPTIMIZATION_append_mipsarch = " -Os"
+SELECTED_OPTIMIZATION:remove:mipsarch = "-O2"
+SELECTED_OPTIMIZATION:append:mipsarch = " -Os"
 
-do_install_class-native () {
+do_install:class-native () {
 	autotools_do_install
 
 	# Install the libiberty header
@@ -55,19 +55,19 @@ do_install_class-native () {
 }
 
 # libctf races with libbfd
-PARALLEL_MAKEINST_class-target = ""
-PARALLEL_MAKEINST_class-nativesdk = ""
+PARALLEL_MAKEINST:class-target = ""
+PARALLEL_MAKEINST:class-nativesdk = ""
 
 # Split out libbfd-*.so and libopcodes-*.so so including perf doesn't include
 # extra stuff
 PACKAGE_BEFORE_PN += "libbfd libopcodes"
-FILES_libbfd = "${libdir}/libbfd-*.so.* ${libdir}/libbfd-*.so"
-FILES_libopcodes = "${libdir}/libopcodes-*.so.* ${libdir}/libopcodes-*.so"
+FILES:libbfd = "${libdir}/libbfd-*.so.* ${libdir}/libbfd-*.so"
+FILES:libopcodes = "${libdir}/libopcodes-*.so.* ${libdir}/libopcodes-*.so"
 
-SRC_URI_append_class-nativesdk =  " file://0003-binutils-nativesdk-Search-for-alternative-ld.so.conf.patch "
+SRC_URI:append:class-nativesdk =  " file://0003-binutils-nativesdk-Search-for-alternative-ld.so.conf.patch "
 
-USE_ALTERNATIVES_FOR_class-nativesdk = ""
-FILES_${PN}_append_class-nativesdk = " ${bindir}"
+USE_ALTERNATIVES_FOR:class-nativesdk = ""
+FILES:${PN}:append:class-nativesdk = " ${bindir}"
 
 BBCLASSEXTEND = "native nativesdk"
 
diff --git a/meta/recipes-devtools/bison/bison_3.7.6.bb b/meta/recipes-devtools/bison/bison_3.7.6.bb
index a8d57f27420..c85ae049766 100644
--- a/meta/recipes-devtools/bison/bison_3.7.6.bb
+++ b/meta/recipes-devtools/bison/bison_3.7.6.bb
@@ -21,7 +21,7 @@ inherit autotools gettext texinfo
 CACHED_CONFIGUREVARS = "ac_cv_path_M4=m4"
 
 PACKAGECONFIG ??= "readline ${@ 'textstyle' if d.getVar('USE_NLS') == 'yes' else ''}"
-PACKAGECONFIG_class-native ??= ""
+PACKAGECONFIG:class-native ??= ""
 
 # Make readline and textstyle optional. There are recipie for these, but leave them
 # disabled for the native recipe. This prevents host contamination of the native tool.
@@ -38,15 +38,15 @@ CACHED_CONFIGUREVARS += "${@bb.utils.contains('PACKAGECONFIG', 'readline', '', '
 # The automatic m4 path detection gets confused, so force the right value
 acpaths = "-I ./m4"
 
-do_compile_prepend() {
+do_compile:prepend() {
 	for i in mfcalc calc++ rpcalc; do mkdir -p ${B}/examples/$i; done
 }
 
-do_install_append_class-native() {
+do_install:append:class-native() {
 	create_wrapper ${D}/${bindir}/bison \
 		BISON_PKGDATADIR=${STAGING_DATADIR_NATIVE}/bison
 }
-do_install_append_class-nativesdk() {
+do_install:append:class-nativesdk() {
 	create_wrapper ${D}/${bindir}/bison \
 		BISON_PKGDATADIR=${datadir}/bison
 }
diff --git a/meta/recipes-devtools/bootchart2/bootchart2_0.14.9.bb b/meta/recipes-devtools/bootchart2/bootchart2_0.14.9.bb
index f6a77b46060..b1d359ec381 100644
--- a/meta/recipes-devtools/bootchart2/bootchart2_0.14.9.bb
+++ b/meta/recipes-devtools/bootchart2/bootchart2_0.14.9.bb
@@ -101,14 +101,14 @@ SRCREV = "868a2afab9da34f32c007d773b77253c93104636"
 
 inherit systemd update-rc.d python3native update-alternatives
 
-ALTERNATIVE_${PN} = "bootchartd"
+ALTERNATIVE:${PN} = "bootchartd"
 ALTERNATIVE_LINK_NAME[bootchartd] = "${base_sbindir}/bootchartd"
 ALTERNATIVE_PRIORITY = "100"
 
 # The only reason to build bootchart2-native is for a native pybootchartgui.
 BBCLASSEXTEND = "native"
 
-SYSTEMD_SERVICE_${PN} = "bootchart2.service bootchart2-done.service bootchart2-done.timer"
+SYSTEMD_SERVICE:${PN} = "bootchart2.service bootchart2-done.service bootchart2-done.timer"
 
 UPDATERCPN = "bootchartd-stop-initscript"
 INITSCRIPT_NAME = "bootchartd_stop.sh"
@@ -116,7 +116,7 @@ INITSCRIPT_PARAMS = "start 99 2 3 4 5 ."
 
 EXTRA_OEMAKE = 'BASE_SBINDIR="${base_sbindir}"'
 
-do_compile_prepend () {
+do_compile:prepend () {
     export PY_LIBDIR="${libdir}/${PYTHON_DIR}"
     export BINDIR="${bindir}"
     export LIBDIR="${base_libdir}"
@@ -145,19 +145,19 @@ do_install () {
 }
 
 PACKAGES =+ "pybootchartgui"
-FILES_pybootchartgui += "${PYTHON_SITEPACKAGES_DIR}/pybootchartgui ${bindir}/pybootchartgui"
-RDEPENDS_pybootchartgui = "python3-pycairo python3-compression python3-image python3-shell python3-compression python3-codecs"
-RDEPENDS_${PN}_class-target += "${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'sysvinit-pidof', 'procps', d)}"
-RDEPENDS_${PN}_class-target += "lsb-release"
-DEPENDS_append_class-native = " python3-pycairo-native"
+FILES:pybootchartgui += "${PYTHON_SITEPACKAGES_DIR}/pybootchartgui ${bindir}/pybootchartgui"
+RDEPENDS:pybootchartgui = "python3-pycairo python3-compression python3-image python3-shell python3-compression python3-codecs"
+RDEPENDS:${PN}:class-target += "${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'sysvinit-pidof', 'procps', d)}"
+RDEPENDS:${PN}:class-target += "lsb-release"
+DEPENDS:append:class-native = " python3-pycairo-native"
 
 PACKAGES =+ "bootchartd-stop-initscript"
-FILES_bootchartd-stop-initscript += "${sysconfdir}/init.d ${sysconfdir}/rc*.d"
-RDEPENDS_bootchartd-stop-initscript = "${PN}"
+FILES:bootchartd-stop-initscript += "${sysconfdir}/init.d ${sysconfdir}/rc*.d"
+RDEPENDS:bootchartd-stop-initscript = "${PN}"
 
-FILES_${PN} += "${base_libdir}/bootchart/bootchart-collector"
-FILES_${PN} += "${base_libdir}/bootchart/tmpfs"
-FILES_${PN} += "${libdir}"
-FILES_${PN}-doc += "${datadir}/docs"
+FILES:${PN} += "${base_libdir}/bootchart/bootchart-collector"
+FILES:${PN} += "${base_libdir}/bootchart/tmpfs"
+FILES:${PN} += "${libdir}"
+FILES:${PN}-doc += "${datadir}/docs"
 
-RCONFLICTS_${PN} = "bootchart"
+RCONFLICTS:${PN} = "bootchart"
diff --git a/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.13.bb b/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.13.bb
index fa33cad7b9a..5f8621faf12 100644
--- a/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.13.bb
+++ b/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.13.bb
@@ -14,7 +14,7 @@ LIC_FILES_CHKSUM = " \
 "
 SECTION = "base"
 DEPENDS = "lzo util-linux zlib"
-DEPENDS_append_class-target = " udev"
+DEPENDS:append:class-target = " udev"
 
 SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/kdave/btrfs-progs.git \
            file://0001-Add-a-possibility-to-specify-where-python-modules-ar.patch \
@@ -49,25 +49,25 @@ inherit ${@bb.utils.contains('PACKAGECONFIG', 'python', 'distutils3-base', '', d
 CLEANBROKEN = "1"
 
 EXTRA_OECONF = "--enable-largefile"
-EXTRA_OECONF_append_libc-musl = " --disable-backtrace "
+EXTRA_OECONF:append:libc-musl = " --disable-backtrace "
 EXTRA_PYTHON_CFLAGS = "${DEBUG_PREFIX_MAP}"
-EXTRA_PYTHON_CFLAGS_class-native = ""
+EXTRA_PYTHON_CFLAGS:class-native = ""
 EXTRA_PYTHON_LDFLAGS = "${LDFLAGS}"
 EXTRA_OEMAKE = "V=1 'EXTRA_PYTHON_CFLAGS=${EXTRA_PYTHON_CFLAGS}' 'EXTRA_PYTHON_LDFLAGS=${EXTRA_PYTHON_LDFLAGS}'"
 
-do_configure_prepend() {
+do_configure:prepend() {
 	# Upstream doesn't ship this and autoreconf won't install it as automake isn't used.
 	mkdir -p ${S}/config
 	cp -f $(automake --print-libdir)/install-sh ${S}/config/
 }
 
 
-do_install_append() {
+do_install:append() {
     if [ "${@bb.utils.filter('PACKAGECONFIG', 'python', d)}" ]; then
         oe_runmake 'DESTDIR=${D}' 'PYTHON_SITEPACKAGES_DIR=${PYTHON_SITEPACKAGES_DIR}' install_python
     fi
 }
 
-RDEPENDS_${PN} = "libgcc"
+RDEPENDS:${PN} = "libgcc"
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-devtools/chrpath/chrpath_0.16.bb b/meta/recipes-devtools/chrpath/chrpath_0.16.bb
index f12366b4e8d..de734e841a2 100644
--- a/meta/recipes-devtools/chrpath/chrpath_0.16.bb
+++ b/meta/recipes-devtools/chrpath/chrpath_0.16.bb
@@ -16,9 +16,9 @@ inherit autotools
 
 # We don't have a staged chrpath-native for ensuring our binary is
 # relocatable, so use the one we've just built
-CHRPATH_BIN_class-native = "${B}/chrpath"
+CHRPATH_BIN:class-native = "${B}/chrpath"
 
-PROVIDES_append_class-native = " chrpath-replacement-native"
+PROVIDES:append:class-native = " chrpath-replacement-native"
 NATIVE_PACKAGE_PATH_SUFFIX = "/${PN}"
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-devtools/cmake/cmake_3.20.5.bb b/meta/recipes-devtools/cmake/cmake_3.20.5.bb
index 64c92b89f2e..36c6357dd88 100644
--- a/meta/recipes-devtools/cmake/cmake_3.20.5.bb
+++ b/meta/recipes-devtools/cmake/cmake_3.20.5.bb
@@ -4,7 +4,7 @@ inherit cmake bash-completion
 
 DEPENDS += "curl expat zlib libarchive xz ncurses bzip2"
 
-SRC_URI_append_class-nativesdk = " \
+SRC_URI:append:class-nativesdk = " \
     file://OEToolchainConfig.cmake \
     file://environment.d-cmake.sh \
     file://0001-CMakeDetermineSystem-use-oe-environment-vars-to-load.patch \
@@ -36,7 +36,7 @@ EXTRA_OECMAKE=" \
     -DKWSYS_LFS_WORKS=1 \
 "
 
-do_install_append_class-nativesdk() {
+do_install:append:class-nativesdk() {
     mkdir -p ${D}${datadir}/cmake
     install -m 644 ${WORKDIR}/OEToolchainConfig.cmake ${D}${datadir}/cmake/
 
@@ -44,10 +44,10 @@ do_install_append_class-nativesdk() {
     install -m 644 ${WORKDIR}/environment.d-cmake.sh ${D}${SDKPATHNATIVE}/environment-setup.d/cmake.sh
 }
 
-FILES_${PN}_append_class-nativesdk = " ${SDKPATHNATIVE}"
+FILES:${PN}:append:class-nativesdk = " ${SDKPATHNATIVE}"
 
-FILES_${PN} += "${datadir}/cmake-${CMAKE_MAJOR_VERSION} ${datadir}/cmake ${datadir}/aclocal ${datadir}/emacs ${datadir}/vim"
-FILES_${PN}-doc += "${docdir}/cmake-${CMAKE_MAJOR_VERSION}"
-FILES_${PN}-dev = ""
+FILES:${PN} += "${datadir}/cmake-${CMAKE_MAJOR_VERSION} ${datadir}/cmake ${datadir}/aclocal ${datadir}/emacs ${datadir}/vim"
+FILES:${PN}-doc += "${docdir}/cmake-${CMAKE_MAJOR_VERSION}"
+FILES:${PN}-dev = ""
 
 BBCLASSEXTEND = "nativesdk"
diff --git a/meta/recipes-devtools/createrepo-c/createrepo-c_0.17.4.bb b/meta/recipes-devtools/createrepo-c/createrepo-c_0.17.4.bb
index 206c27c04f0..6313afc108d 100644
--- a/meta/recipes-devtools/createrepo-c/createrepo-c_0.17.4.bb
+++ b/meta/recipes-devtools/createrepo-c/createrepo-c_0.17.4.bb
@@ -13,7 +13,7 @@ SRCREV = "cb74969736bdea86465e85feeceb895ff7a42610"
 S = "${WORKDIR}/git"
 
 DEPENDS = "expat curl glib-2.0 libxml2 openssl bzip2 zlib file sqlite3 xz rpm"
-DEPENDS_append_class-native = " file-replacement-native"
+DEPENDS:append:class-native = " file-replacement-native"
 
 inherit cmake pkgconfig bash-completion distutils3-base
 
@@ -22,7 +22,7 @@ EXTRA_OECMAKE = " -DPYTHON_INSTALL_DIR=${PYTHON_SITEPACKAGES_DIR} -DPYTHON_DESIR
 BBCLASSEXTEND = "native nativesdk"
 
 # Direct createrepo to read rpm configuration from our sysroot, not the one it was compiled in
-do_install_append_class-native() {
+do_install:append:class-native() {
         create_wrapper ${D}/${bindir}/createrepo_c \
                 RPM_CONFIGDIR=${STAGING_LIBDIR_NATIVE}/rpm \
                 MAGIC=${STAGING_DIR_NATIVE}${datadir_native}/misc/magic.mgc
@@ -30,7 +30,7 @@ do_install_append_class-native() {
                 MAGIC=${STAGING_DIR_NATIVE}${datadir_native}/misc/magic.mgc
 }
 
-do_install_append_class-nativesdk() {
+do_install:append:class-nativesdk() {
         create_wrapper ${D}/${bindir}/createrepo_c \
                 RPM_CONFIGDIR=${SDKPATHNATIVE}${libdir_nativesdk}/rpm \
                 MAGIC=${SDKPATHNATIVE}${datadir}/misc/magic.mgc
diff --git a/meta/recipes-devtools/dejagnu/dejagnu_1.6.3.bb b/meta/recipes-devtools/dejagnu/dejagnu_1.6.3.bb
index ce35b806bab..bcc56e5500c 100644
--- a/meta/recipes-devtools/dejagnu/dejagnu_1.6.3.bb
+++ b/meta/recipes-devtools/dejagnu/dejagnu_1.6.3.bb
@@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
 SECTION = "devel"
 
 DEPENDS += "expect-native"
-RDEPENDS_${PN} = "expect"
+RDEPENDS:${PN} = "expect"
 
 inherit autotools
 
diff --git a/meta/recipes-devtools/desktop-file-utils/desktop-file-utils_0.26.bb b/meta/recipes-devtools/desktop-file-utils/desktop-file-utils_0.26.bb
index 3487666b924..da9a38335cc 100644
--- a/meta/recipes-devtools/desktop-file-utils/desktop-file-utils_0.26.bb
+++ b/meta/recipes-devtools/desktop-file-utils/desktop-file-utils_0.26.bb
@@ -19,7 +19,7 @@ EXTRA_OECONF += "ac_cv_prog_EMACS=no"
 
 BBCLASSEXTEND = "native nativesdk"
 
-do_install_append() {
+do_install:append() {
         rm -rf ${D}${datadir}/emacs
 }
 
diff --git a/meta/recipes-devtools/devel-config/distcc-config.bb b/meta/recipes-devtools/devel-config/distcc-config.bb
index db9e8bbcc9f..698fd3585af 100644
--- a/meta/recipes-devtools/devel-config/distcc-config.bb
+++ b/meta/recipes-devtools/devel-config/distcc-config.bb
@@ -20,4 +20,4 @@ do_install() {
 	install -m 0755 distcc.sh ${D}${sysconfdir}/profile.d/
 }
 
-RDEPENDS_${PN} = "distcc"
+RDEPENDS:${PN} = "distcc"
diff --git a/meta/recipes-devtools/devel-config/nfs-export-root.bb b/meta/recipes-devtools/devel-config/nfs-export-root.bb
index 56375a47b77..0aaec36b414 100644
--- a/meta/recipes-devtools/devel-config/nfs-export-root.bb
+++ b/meta/recipes-devtools/devel-config/nfs-export-root.bb
@@ -14,4 +14,4 @@ do_install() {
 	install -m 0644 exports ${D}${sysconfdir}/
 }
 
-RDEPENDS_${PN} = "packagegroup-core-nfs-server"
+RDEPENDS:${PN} = "packagegroup-core-nfs-server"
diff --git a/meta/recipes-devtools/distcc/distcc_3.4.bb b/meta/recipes-devtools/distcc/distcc_3.4.bb
index 3bab6d53eb9..d4fc0356e69 100644
--- a/meta/recipes-devtools/distcc/distcc_3.4.bb
+++ b/meta/recipes-devtools/distcc/distcc_3.4.bb
@@ -13,7 +13,7 @@ PACKAGECONFIG[gtk] = "--with-gtk,--without-gtk --without-gnome,gtk+"
 # use system popt by default
 PACKAGECONFIG[popt] = "--without-included-popt,--with-included-popt,popt"
 
-RRECOMMENDS_${PN}-server = "avahi-daemon"
+RRECOMMENDS:${PN}-server = "avahi-daemon"
 
 SRC_URI = "git://github.com/distcc/distcc.git \
            file://default \
@@ -33,7 +33,7 @@ EXTRA_OECONF += "--disable-Werror PYTHON='' --disable-pump-mode"
 PACKAGE_BEFORE_PN = "${PN}-distmon-gnome ${PN}-server"
 
 USERADD_PACKAGES = "${PN}-server"
-USERADD_PARAM_${PN}-server = "--system \
+USERADD_PARAM:${PN}-server = "--system \
                        --home /dev/null \
                        --no-create-home \
                        --gid nogroup \
@@ -43,7 +43,7 @@ UPDATERCPN = "${PN}-server"
 INITSCRIPT_NAME = "distcc"
 
 SYSTEMD_PACKAGES = "${PN}-server"
-SYSTEMD_SERVICE_${PN}-server = "distcc.service"
+SYSTEMD_SERVICE:${PN}-server = "distcc.service"
 
 do_install() {
     # Improve reproducibility: compress w/o timestamps
@@ -57,10 +57,10 @@ do_install() {
     sed -i -e 's,@BINDIR@,${bindir},g' ${D}${systemd_unitdir}/system/distcc.service
 }
 
-FILES_${PN}-server = "${sysconfdir} \
+FILES:${PN}-server = "${sysconfdir} \
                       ${bindir}/distccd \
                       ${sbindir}"
-FILES_${PN}-distmon-gnome = "${bindir}/distccmon-gnome \
+FILES:${PN}-distmon-gnome = "${bindir}/distccmon-gnome \
                              ${datadir}/applications \
                              ${datadir}/pixmaps"
 
diff --git a/meta/recipes-devtools/dnf/dnf_4.8.0.bb b/meta/recipes-devtools/dnf/dnf_4.8.0.bb
index 44c4405939f..f51d74797df 100644
--- a/meta/recipes-devtools/dnf/dnf_4.8.0.bb
+++ b/meta/recipes-devtools/dnf/dnf_4.8.0.bb
@@ -32,7 +32,7 @@ EXTRA_OECMAKE = " -DWITH_MAN=0 -DPYTHON_INSTALL_DIR=${PYTHON_SITEPACKAGES_DIR} -
 
 BBCLASSEXTEND = "native nativesdk"
 
-RDEPENDS_${PN} += " \
+RDEPENDS:${PN} += " \
   python3-core \
   python3-codecs \
   python3-netclient \
@@ -55,32 +55,32 @@ RDEPENDS_${PN} += " \
   python3-gpg \
   "
 
-RDEPENDS_${PN}_class-native = ""
+RDEPENDS:${PN}:class-native = ""
 
-RRECOMMENDS_${PN}_class-target += "gnupg"
+RRECOMMENDS:${PN}:class-target += "gnupg"
 
 # Create a symlink called 'dnf' as 'make install' does not do it, but
 # .spec file in dnf source tree does (and then Fedora and dnf documentation
 # says that dnf binary is plain 'dnf').
-do_install_append() {
+do_install:append() {
         lnr ${D}/${bindir}/dnf-3 ${D}/${bindir}/dnf
         lnr ${D}/${bindir}/dnf-automatic-3 ${D}/${bindir}/dnf-automatic
 }
 
 # Direct dnf-native to read rpm configuration from our sysroot, not the one it was compiled in
-do_install_append_class-native() {
+do_install:append:class-native() {
         create_wrapper ${D}/${bindir}/dnf \
                 RPM_CONFIGDIR=${STAGING_LIBDIR_NATIVE}/rpm \
                 RPM_NO_CHROOT_FOR_SCRIPTS=1
 }
 
-do_install_append_class-nativesdk() {
+do_install:append:class-nativesdk() {
         create_wrapper ${D}/${bindir}/dnf \
                 RPM_CONFIGDIR=${SDKPATHNATIVE}${libdir_nativesdk}/rpm \
                 RPM_NO_CHROOT_FOR_SCRIPTS=1
 }
 
-SYSTEMD_SERVICE_${PN} = "dnf-makecache.service dnf-makecache.timer \
+SYSTEMD_SERVICE:${PN} = "dnf-makecache.service dnf-makecache.timer \
                          dnf-automatic.service dnf-automatic.timer \
                          dnf-automatic-download.service dnf-automatic-download.timer \
                          dnf-automatic-install.service dnf-automatic-install.timer \
diff --git a/meta/recipes-devtools/docbook-xml/docbook-xml-dtd4_4.5.bb b/meta/recipes-devtools/docbook-xml/docbook-xml-dtd4_4.5.bb
index 6452c8d99f7..2bec1442afc 100644
--- a/meta/recipes-devtools/docbook-xml/docbook-xml-dtd4_4.5.bb
+++ b/meta/recipes-devtools/docbook-xml/docbook-xml-dtd4_4.5.bb
@@ -49,4 +49,4 @@ do_install () {
 XMLCATALOGS = "${sysconfdir}/xml/docbook-xml.xml"
 inherit xmlcatalog
 
-FILES_${PN} = "${datadir}/* ${sysconfdir}/xml/docbook-xml.xml"
+FILES:${PN} = "${datadir}/* ${sysconfdir}/xml/docbook-xml.xml"
diff --git a/meta/recipes-devtools/docbook-xml/docbook-xsl-stylesheets_1.79.1.bb b/meta/recipes-devtools/docbook-xml/docbook-xsl-stylesheets_1.79.1.bb
index c5d3a248080..beda0abe951 100644
--- a/meta/recipes-devtools/docbook-xml/docbook-xsl-stylesheets_1.79.1.bb
+++ b/meta/recipes-devtools/docbook-xml/docbook-xsl-stylesheets_1.79.1.bb
@@ -42,9 +42,9 @@ do_install () {
 	install -v -m644 README RELEASE-NOTES* NEWS* ${D}${docdir}/${BPN}
 }
 
-RDEPENDS_${PN} += "perl"
-FILES_${PN} = "${datadir}/xml/* ${sysconfdir}/xml/docbook-xsl.xml"
-FILES_${PN}-doc = "${datadir}/doc/*"
+RDEPENDS:${PN} += "perl"
+FILES:${PN} = "${datadir}/xml/* ${sysconfdir}/xml/docbook-xsl.xml"
+FILES:${PN}-doc = "${datadir}/doc/*"
 
 XMLCATALOGS = "${datadir}/xml/docbook/xsl-stylesheets-${PV}/catalog.xml"
 
diff --git a/meta/recipes-devtools/dosfstools/dosfstools_4.2.bb b/meta/recipes-devtools/dosfstools/dosfstools_4.2.bb
index 7476c043c95..bdebfc190ab 100644
--- a/meta/recipes-devtools/dosfstools/dosfstools_4.2.bb
+++ b/meta/recipes-devtools/dosfstools/dosfstools_4.2.bb
@@ -24,5 +24,5 @@ CFLAGS += "-D_GNU_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
 BBCLASSEXTEND = "native nativesdk"
 
 ALTERNATIVE_PRIORITY = "100"
-ALTERNATIVE_${PN} = "mkfs.vfat"
+ALTERNATIVE:${PN} = "mkfs.vfat"
 ALTERNATIVE_LINK_NAME[mkfs.vfat] = "${sbindir}/mkfs.vfat"
diff --git a/meta/recipes-devtools/dpkg/dpkg.inc b/meta/recipes-devtools/dpkg/dpkg.inc
index 7acfb4161d1..b6807b004f3 100644
--- a/meta/recipes-devtools/dpkg/dpkg.inc
+++ b/meta/recipes-devtools/dpkg/dpkg.inc
@@ -5,18 +5,18 @@ DESCRIPTION = "The primary interface for the dpkg suite is the dselect program.
 SECTION = "base"
 
 DEPENDS = "zlib bzip2 perl ncurses"
-DEPENDS_class-native = "bzip2-replacement-native zlib-native virtual/update-alternatives-native gettext-native perl-native"
-RDEPENDS_${PN} = "${VIRTUAL-RUNTIME_update-alternatives} perl"
-RDEPENDS_${PN}_class-native = ""
+DEPENDS:class-native = "bzip2-replacement-native zlib-native virtual/update-alternatives-native gettext-native perl-native"
+RDEPENDS:${PN} = "${VIRTUAL-RUNTIME_update-alternatives} perl"
+RDEPENDS:${PN}:class-native = ""
 
 UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(\d+(\.\d+)+))"
 
 inherit autotools gettext perlnative pkgconfig perl-version update-alternatives
 
-PERL_class-native = "${STAGING_BINDIR_NATIVE}/perl-native/perl"
+PERL:class-native = "${STAGING_BINDIR_NATIVE}/perl-native/perl"
 
 export PERL_LIBDIR = "${libdir}/perl/${@get_perl_version(d)}"
-PERL_LIBDIR_class-native = "${libdir}/perl-native/perl/${@get_perl_version(d)}"
+PERL_LIBDIR:class-native = "${libdir}/perl-native/perl/${@get_perl_version(d)}"
 
 EXTRA_OECONF = "\
 		--disable-dselect \
@@ -27,8 +27,8 @@ EXTRA_OECONF = "\
 		TAR=tar \
 		"
 
-EXTRA_OECONF_append_class-target = " --disable-update-alternatives DEB_HOST_ARCH=${DPKG_ARCH}"
-EXTRA_OECONF_append_class-nativesdk = " --disable-update-alternatives DEB_HOST_ARCH=${DPKG_ARCH}"
+EXTRA_OECONF:append:class-target = " --disable-update-alternatives DEB_HOST_ARCH=${DPKG_ARCH}"
+EXTRA_OECONF:append:class-nativesdk = " --disable-update-alternatives DEB_HOST_ARCH=${DPKG_ARCH}"
 
 PACKAGECONFIG = "liblzma"
 PACKAGECONFIG[liblzma] = "--with-liblzma,--without-liblzma, xz"
@@ -37,7 +37,7 @@ PACKAGECONFIG[liblzma] = "--with-liblzma,--without-liblzma, xz"
 #autotools.bbclass default AUTOTOOLS_AUXDIR is ${S}, we need to under ${S}/build-aux
 AUTOTOOLS_AUXDIR = "${S}/build-aux"
 
-do_configure_prepend () {
+do_configure:prepend () {
         mkdir -p ${AUTOTOOLS_AUXDIR}
         # autotools_do_configure updates po/Makefile.in.in, we also need
         # update dselect/po and scripts/po
@@ -45,7 +45,7 @@ do_configure_prepend () {
         cp -f ${STAGING_DATADIR_NATIVE}/gettext/po/Makefile.in.in ${S}/scripts/po/
 }
 
-do_install_append () {
+do_install:append () {
 	if [ "${PN}" = "dpkg-native" ]; then
 		# update-alternatives doesn't have an offline mode
 		rm ${D}${bindir}/update-alternatives
@@ -56,19 +56,19 @@ do_install_append () {
 }
 
 PROV = "virtual/update-alternatives"
-PROV_class-native = ""
-PROV_class-nativesdk = ""
+PROV:class-native = ""
+PROV:class-nativesdk = ""
 
 PROVIDES += "${PROV}"
 
 PACKAGES =+ "update-alternatives-dpkg"
-FILES_update-alternatives-dpkg = "${bindir}/update-alternatives ${localstatedir}/lib/dpkg/alternatives ${sysconfdir}/alternatives"
-RPROVIDES_update-alternatives-dpkg += "update-alternatives"
+FILES:update-alternatives-dpkg = "${bindir}/update-alternatives ${localstatedir}/lib/dpkg/alternatives ${sysconfdir}/alternatives"
+RPROVIDES:update-alternatives-dpkg += "update-alternatives"
 
 PACKAGES += "${PN}-perl"
-FILES_${PN}-perl = "${libdir}/perl/${@get_perl_version(d)}"
+FILES:${PN}-perl = "${libdir}/perl/${@get_perl_version(d)}"
 
-RDEPENDS_${PN}-perl += "perl-module-carp perl-module-constant \
+RDEPENDS:${PN}-perl += "perl-module-carp perl-module-constant \
                         perl-module-cwd perl-module-digest \
                         perl-module-digest-md5 perl-module-errno \
                         perl-module-exporter perl-module-fcntl \
@@ -92,13 +92,13 @@ RDEPENDS_${PN}-perl += "perl-module-carp perl-module-constant \
 # the bitbake version.
 #
 PACKAGES =+ "${PN}-start-stop"
-FILES_${PN}-start-stop = "${sbindir}/start-stop-daemon.${BPN}"
-ALTERNATIVE_${PN}-start-stop = "start-stop-daemon"
+FILES:${PN}-start-stop = "${sbindir}/start-stop-daemon.${BPN}"
+ALTERNATIVE:${PN}-start-stop = "start-stop-daemon"
 ALTERNATIVE_LINK_NAME[start-stop-daemon] = "${sbindir}/start-stop-daemon"
 ALTERNATIVE_PRIORITY = "100"
 
 EXTRA_RDPENDS = "ldconfig"
-EXTRA_RDPENDS_libc-musl = ""
-RDEPENDS_${PN} += "${PN}-start-stop ${EXTRA_RDPENDS}"
+EXTRA_RDPENDS:libc-musl = ""
+RDEPENDS:${PN} += "${PN}-start-stop ${EXTRA_RDPENDS}"
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-devtools/dpkg/dpkg_1.20.9.bb b/meta/recipes-devtools/dpkg/dpkg_1.20.9.bb
index 18ca0e310b1..34b6bfe0a85 100644
--- a/meta/recipes-devtools/dpkg/dpkg_1.20.9.bb
+++ b/meta/recipes-devtools/dpkg/dpkg_1.20.9.bb
@@ -18,7 +18,7 @@ SRC_URI = "git://salsa.debian.org/dpkg-team/dpkg.git;protocol=https;branch=1.20.
            file://0014-arch-Add-support-for-ARCv2-CPU.patch \
            "
 
-SRC_URI_append_class-native = " file://0001-build.c-ignore-return-of-1-from-tar-cf.patch"
+SRC_URI:append:class-native = " file://0001-build.c-ignore-return-of-1-from-tar-cf.patch"
 
 SRCREV = "2177b782b16e77e97c9643961a5ae3c639bcc4a3"
 
diff --git a/meta/recipes-devtools/dwarfsrcfiles/dwarfsrcfiles.bb b/meta/recipes-devtools/dwarfsrcfiles/dwarfsrcfiles.bb
index 56b52d6a478..1a05a1a3871 100644
--- a/meta/recipes-devtools/dwarfsrcfiles/dwarfsrcfiles.bb
+++ b/meta/recipes-devtools/dwarfsrcfiles/dwarfsrcfiles.bb
@@ -6,13 +6,13 @@ LIC_FILES_CHKSUM = "file://../dwarfsrcfiles.c;md5=31483894e453a77acbb67847565f1b
 SRC_URI = "file://dwarfsrcfiles.c"
 BBCLASSEXTEND = "native"
 DEPENDS = "elfutils"
-DEPENDS_append_libc-musl = " argp-standalone"
+DEPENDS:append:libc-musl = " argp-standalone"
 
 do_compile () {
 	${CC} ${CFLAGS} ${LDFLAGS} -o dwarfsrcfiles ../dwarfsrcfiles.c -lelf -ldw
 }
 
-do_compile_libc-musl () {
+do_compile:libc-musl () {
 	${CC} ${CFLAGS} ${LDFLAGS} -o dwarfsrcfiles ../dwarfsrcfiles.c -lelf -ldw -largp 
 }
 
diff --git a/meta/recipes-devtools/e2fsprogs/e2fsprogs.inc b/meta/recipes-devtools/e2fsprogs/e2fsprogs.inc
index 2f113c5e8d5..c80b93c802a 100644
--- a/meta/recipes-devtools/e2fsprogs/e2fsprogs.inc
+++ b/meta/recipes-devtools/e2fsprogs/e2fsprogs.inc
@@ -4,11 +4,11 @@ fixing, configuring , and debugging ext2 filesystems."
 HOMEPAGE = "http://e2fsprogs.sourceforge.net/"
 
 LICENSE = "GPLv2 & LGPLv2 & BSD & MIT"
-LICENSE_e2fsprogs-dumpe2fs = "GPLv2"
-LICENSE_e2fsprogs-e2fsck = "GPLv2"
-LICENSE_e2fsprogs-mke2fs = "GPLv2"
-LICENSE_e2fsprogs-tune2fs = "GPLv2"
-LICENSE_e2fsprogs-badblocks = "GPLv2"
+LICENSE:e2fsprogs-dumpe2fs = "GPLv2"
+LICENSE:e2fsprogs-e2fsck = "GPLv2"
+LICENSE:e2fsprogs-mke2fs = "GPLv2"
+LICENSE:e2fsprogs-tune2fs = "GPLv2"
+LICENSE:e2fsprogs-badblocks = "GPLv2"
 LIC_FILES_CHKSUM = "file://NOTICE;md5=d50be0580c0b0a7fbc7a4830bbe6c12b \
                       file://lib/ext2fs/ext2fs.h;beginline=1;endline=9;md5=596a8dedcb4e731c6b21c7a46fba6bef \
                       file://lib/e2p/e2p.h;beginline=1;endline=7;md5=8a74ade8f9d65095d70ef2d4bf48e36a \
diff --git a/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.46.2.bb b/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.46.2.bb
index fc022f37def..d68d131e0ad 100644
--- a/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.46.2.bb
+++ b/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.46.2.bb
@@ -8,7 +8,7 @@ SRC_URI += "file://remove.ldconfig.call.patch \
            file://0001-lib-ext2fs-unix_io.c-revert-parts-of-libext2fs-fix-p.patch \
            "
 
-SRC_URI_append_class-native = " file://e2fsprogs-fix-missing-check-for-permission-denied.patch \
+SRC_URI:append:class-native = " file://e2fsprogs-fix-missing-check-for-permission-denied.patch \
                                 file://quiet-debugfs.patch \
 "
 
@@ -21,14 +21,14 @@ EXTRA_OECONF += "--libdir=${base_libdir} --sbindir=${base_sbindir} \
                 --disable-libblkid --enable-verbose-makecmds \
                 --with-crond-dir=no"
 
-EXTRA_OECONF_darwin = "--libdir=${base_libdir} --sbindir=${base_sbindir} --enable-bsd-shlibs"
+EXTRA_OECONF:darwin = "--libdir=${base_libdir} --sbindir=${base_sbindir} --enable-bsd-shlibs"
 
 PACKAGECONFIG ??= ""
 PACKAGECONFIG[fuse] = '--enable-fuse2fs,--disable-fuse2fs,fuse'
 
 # make locale rules sometimes fire, sometimes don't as git doesn't preserve
 # file mktime. Touch the files introducing non-determinism to the build
-do_compile_prepend (){
+do_compile:prepend (){
 	find ${S}/po -type f -name "*.po" -exec touch {} +
 }
 
@@ -68,57 +68,57 @@ e2fsprogs_conf_fixup () {
 	done
 }
 
-do_install_append_class-native() {
+do_install:append:class-native() {
 	e2fsprogs_conf_fixup
 }
 
-do_install_append_class-nativesdk() {
+do_install:append:class-nativesdk() {
 	e2fsprogs_conf_fixup
 }
 
-do_install_append_class-target() {
+do_install:append:class-target() {
 	mv ${D}${base_sbindir}/mke2fs ${D}${base_sbindir}/mke2fs.e2fsprogs
 	mv ${D}${base_sbindir}/mkfs.ext2 ${D}${base_sbindir}/mkfs.ext2.e2fsprogs
 	mv ${D}${base_sbindir}/tune2fs ${D}${base_sbindir}/tune2fs.e2fsprogs
 }
 
-RDEPENDS_e2fsprogs = "e2fsprogs-badblocks e2fsprogs-dumpe2fs"
-RRECOMMENDS_e2fsprogs = "e2fsprogs-mke2fs e2fsprogs-e2fsck"
+RDEPENDS:e2fsprogs = "e2fsprogs-badblocks e2fsprogs-dumpe2fs"
+RRECOMMENDS:e2fsprogs = "e2fsprogs-mke2fs e2fsprogs-e2fsck"
 
 PACKAGES =+ "e2fsprogs-badblocks e2fsprogs-dumpe2fs e2fsprogs-e2fsck e2fsprogs-e2scrub e2fsprogs-mke2fs e2fsprogs-resize2fs e2fsprogs-tune2fs"
 PACKAGES =+ "libcomerr libss libe2p libext2fs"
 
-FILES_e2fsprogs-dumpe2fs = "${base_sbindir}/dumpe2fs"
-FILES_e2fsprogs-resize2fs = "${base_sbindir}/resize2fs*"
-FILES_e2fsprogs-e2fsck = "${base_sbindir}/e2fsck ${base_sbindir}/fsck.ext*"
-FILES_e2fsprogs-e2scrub = "${base_sbindir}/e2scrub*"
-FILES_e2fsprogs-mke2fs = "${base_sbindir}/mke2fs.e2fsprogs ${base_sbindir}/mkfs.ext* ${sysconfdir}/mke2fs.conf"
-FILES_e2fsprogs-tune2fs = "${base_sbindir}/tune2fs.e2fsprogs ${base_sbindir}/e2label"
-FILES_e2fsprogs-badblocks = "${base_sbindir}/badblocks"
-FILES_libcomerr = "${base_libdir}/libcom_err.so.*"
-FILES_libss = "${base_libdir}/libss.so.*"
-FILES_libe2p = "${base_libdir}/libe2p.so.*"
-FILES_libext2fs = "${libdir}/e2initrd_helper ${base_libdir}/libext2fs.so.*"
-FILES_${PN}-dev += "${datadir}/*/*.awk ${datadir}/*/*.sed ${base_libdir}/*.so ${bindir}/compile_et ${bindir}/mk_cmds"
-
-ALTERNATIVE_${PN} = "chattr"
+FILES:e2fsprogs-dumpe2fs = "${base_sbindir}/dumpe2fs"
+FILES:e2fsprogs-resize2fs = "${base_sbindir}/resize2fs*"
+FILES:e2fsprogs-e2fsck = "${base_sbindir}/e2fsck ${base_sbindir}/fsck.ext*"
+FILES:e2fsprogs-e2scrub = "${base_sbindir}/e2scrub*"
+FILES:e2fsprogs-mke2fs = "${base_sbindir}/mke2fs.e2fsprogs ${base_sbindir}/mkfs.ext* ${sysconfdir}/mke2fs.conf"
+FILES:e2fsprogs-tune2fs = "${base_sbindir}/tune2fs.e2fsprogs ${base_sbindir}/e2label"
+FILES:e2fsprogs-badblocks = "${base_sbindir}/badblocks"
+FILES:libcomerr = "${base_libdir}/libcom_err.so.*"
+FILES:libss = "${base_libdir}/libss.so.*"
+FILES:libe2p = "${base_libdir}/libe2p.so.*"
+FILES:libext2fs = "${libdir}/e2initrd_helper ${base_libdir}/libext2fs.so.*"
+FILES:${PN}-dev += "${datadir}/*/*.awk ${datadir}/*/*.sed ${base_libdir}/*.so ${bindir}/compile_et ${bindir}/mk_cmds"
+
+ALTERNATIVE:${PN} = "chattr"
 ALTERNATIVE_PRIORITY = "100"
 ALTERNATIVE_LINK_NAME[chattr] = "${base_bindir}/chattr"
 ALTERNATIVE_TARGET[chattr] = "${base_bindir}/chattr.e2fsprogs"
 
-ALTERNATIVE_${PN}-doc = "fsck.8"
+ALTERNATIVE:${PN}-doc = "fsck.8"
 ALTERNATIVE_LINK_NAME[fsck.8] = "${mandir}/man8/fsck.8"
 
-ALTERNATIVE_${PN}-mke2fs = "mke2fs mkfs.ext2"
+ALTERNATIVE:${PN}-mke2fs = "mke2fs mkfs.ext2"
 ALTERNATIVE_LINK_NAME[mke2fs] = "${base_sbindir}/mke2fs"
 ALTERNATIVE_LINK_NAME[mkfs.ext2] = "${base_sbindir}/mkfs.ext2"
 
-ALTERNATIVE_${PN}-tune2fs = "tune2fs"
+ALTERNATIVE:${PN}-tune2fs = "tune2fs"
 ALTERNATIVE_LINK_NAME[tune2fs] = "${base_sbindir}/tune2fs"
 
-RDEPENDS_e2fsprogs-e2scrub = "bash"
-RDEPENDS_${PN}-ptest += "coreutils procps bash bzip2 diffutils perl sed"
-RDEPENDS_${PN}-ptest += "e2fsprogs-badblocks e2fsprogs-dumpe2fs e2fsprogs-e2fsck e2fsprogs-mke2fs e2fsprogs-resize2fs e2fsprogs-tune2fs"
+RDEPENDS:e2fsprogs-e2scrub = "bash"
+RDEPENDS:${PN}-ptest += "coreutils procps bash bzip2 diffutils perl sed"
+RDEPENDS:${PN}-ptest += "e2fsprogs-badblocks e2fsprogs-dumpe2fs e2fsprogs-e2fsck e2fsprogs-mke2fs e2fsprogs-resize2fs e2fsprogs-tune2fs"
 
 do_compile_ptest() {
 	oe_runmake -C ${B}/tests
diff --git a/meta/recipes-devtools/elfutils/elfutils_0.185.bb b/meta/recipes-devtools/elfutils/elfutils_0.185.bb
index b1ffbc18bfd..3e06e7b200e 100644
--- a/meta/recipes-devtools/elfutils/elfutils_0.185.bb
+++ b/meta/recipes-devtools/elfutils/elfutils_0.185.bb
@@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
                     file://debuginfod/debuginfod-client.c;endline=27;md5=f8e9d171c401c493ec45a0b2992ea2ed \
                     "
 DEPENDS = "zlib virtual/libintl"
-DEPENDS_append_libc-musl = " argp-standalone fts musl-obstack "
+DEPENDS:append:libc-musl = " argp-standalone fts musl-obstack "
 # The Debian patches below are from:
 # http://ftp.de.debian.org/debian/pool/main/e/elfutils/elfutils_0.176-1.debian.tar.xz
 SRC_URI = "https://sourceware.org/elfutils/ftp/${PV}/${BP}.tar.bz2 \
@@ -23,7 +23,7 @@ SRC_URI = "https://sourceware.org/elfutils/ftp/${PV}/${BP}.tar.bz2 \
            file://0001-tests-Makefile.am-compile-test_nlist-with-standard-C.patch \
            file://0001-debuginfod-debuginfod-client.c-correct-string-format.patch \
            "
-SRC_URI_append_libc-musl = " \
+SRC_URI:append:libc-musl = " \
            file://0002-musl-libs.patch \
            file://0003-musl-utils.patch \
            file://0004-Fix-error-on-musl.patch \
@@ -36,7 +36,7 @@ inherit autotools gettext ptest pkgconfig
 EXTRA_OECONF = "--program-prefix=eu-"
 
 DEPENDS_BZIP2 = "bzip2-replacement-native"
-DEPENDS_BZIP2_class-target = "bzip2"
+DEPENDS_BZIP2:class-target = "bzip2"
 
 PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'debuginfod', 'debuginfod libdebuginfod', '', d)}"
 PACKAGECONFIG[bzip2] = "--with-bzlib,--without-bzlib,${DEPENDS_BZIP2}"
@@ -44,11 +44,11 @@ PACKAGECONFIG[xz] = "--with-lzma,--without-lzma,xz"
 PACKAGECONFIG[libdebuginfod] = "--enable-libdebuginfod,--disable-libdebuginfod,curl"
 PACKAGECONFIG[debuginfod] = "--enable-debuginfod,--disable-debuginfod,libarchive sqlite3 libmicrohttpd"
 
-RDEPENDS_${PN}-ptest += "libasm libelf bash make coreutils ${PN}-binutils iproute2-ss bsdtar"
+RDEPENDS:${PN}-ptest += "libasm libelf bash make coreutils ${PN}-binutils iproute2-ss bsdtar"
 
-EXTRA_OECONF_append_class-target = " --disable-tests-rpath"
+EXTRA_OECONF:append:class-target = " --disable-tests-rpath"
 
-RDEPENDS_${PN}-ptest_append_libc-glibc = " glibc-utils"
+RDEPENDS:${PN}-ptest:append:libc-glibc = " glibc-utils"
 
 do_compile_ptest() {
 	cd ${B}/tests
@@ -92,8 +92,8 @@ do_install_ptest() {
 	fi
 }
 
-EXTRA_OEMAKE_class-native = ""
-EXTRA_OEMAKE_class-nativesdk = ""
+EXTRA_OEMAKE:class-native = ""
+EXTRA_OEMAKE:class-nativesdk = ""
 
 BBCLASSEXTEND = "native nativesdk"
 
@@ -105,14 +105,14 @@ PACKAGES =+ "${PN}-binutils libelf libasm libdw libdebuginfod"
 # "The license is now GPLv2/LGPLv3+ for the libraries and GPLv3+ for stand-alone
 # programs. There is now also a formal CONTRIBUTING document describing how to
 # submit patches."
-LICENSE_${PN}-binutils = "GPLv3+"
-LICENSE_${PN} = "GPLv3+"
-LICENSE_libelf = "GPLv2 | LGPLv3+"
-LICENSE_libasm = "GPLv2 | LGPLv3+"
-LICENSE_libdw = "GPLv2 | LGPLv3+"
-LICENSE_libdebuginfod = "GPLv2+ | LGPLv3+"
-
-FILES_${PN}-binutils = "\
+LICENSE:${PN}-binutils = "GPLv3+"
+LICENSE:${PN} = "GPLv3+"
+LICENSE:libelf = "GPLv2 | LGPLv3+"
+LICENSE:libasm = "GPLv2 | LGPLv3+"
+LICENSE:libdw = "GPLv2 | LGPLv3+"
+LICENSE:libdebuginfod = "GPLv2+ | LGPLv3+"
+
+FILES:${PN}-binutils = "\
     ${bindir}/eu-addr2line \
     ${bindir}/eu-ld \
     ${bindir}/eu-nm \
@@ -120,19 +120,19 @@ FILES_${PN}-binutils = "\
     ${bindir}/eu-size \
     ${bindir}/eu-strip"
 
-FILES_libelf = "${libdir}/libelf-${PV}.so ${libdir}/libelf.so.*"
-FILES_libasm = "${libdir}/libasm-${PV}.so ${libdir}/libasm.so.*"
-FILES_libdw  = "${libdir}/libdw-${PV}.so ${libdir}/libdw.so.* ${libdir}/elfutils/lib*"
-FILES_libdebuginfod = "${libdir}/libdebuginfod-${PV}.so ${libdir}/libdebuginfod.so.*"
+FILES:libelf = "${libdir}/libelf-${PV}.so ${libdir}/libelf.so.*"
+FILES:libasm = "${libdir}/libasm-${PV}.so ${libdir}/libasm.so.*"
+FILES:libdw  = "${libdir}/libdw-${PV}.so ${libdir}/libdw.so.* ${libdir}/elfutils/lib*"
+FILES:libdebuginfod = "${libdir}/libdebuginfod-${PV}.so ${libdir}/libdebuginfod.so.*"
 # Some packages have the version preceeding the .so instead properly
 # versioned .so.<version>, so we need to reorder and repackage.
 #FILES_${PN} += "${libdir}/*-${PV}.so ${base_libdir}/*-${PV}.so"
 #FILES_SOLIBSDEV = "${libdir}/libasm.so ${libdir}/libdw.so ${libdir}/libelf.so"
 
 # The package contains symlinks that trip up insane
-INSANE_SKIP_${MLPREFIX}libdw = "dev-so"
+INSANE_SKIP:${MLPREFIX}libdw = "dev-so"
 # The nlist binary in the tests uses explicitly minimal compiler flags
-INSANE_SKIP_${PN}-ptest += "ldflags"
+INSANE_SKIP:${PN}-ptest += "ldflags"
 
 # avoid stripping some generated binaries otherwise some of the tests such as test-nlist,
 # run-strip-reloc.sh, run-strip-strmerge.sh and so on will fail
@@ -161,4 +161,4 @@ INHIBIT_PACKAGE_STRIP_FILES = "\
     ${PKGD}${PTEST_PATH}/backends/libebl_x86_64.so \
 "
 
-PRIVATE_LIBS_${PN}-ptest = "libdw.so.1 libelf.so.1 libasm.so.1 libdebuginfod.so.1"
+PRIVATE_LIBS:${PN}-ptest = "libdw.so.1 libelf.so.1 libasm.so.1 libdebuginfod.so.1"
diff --git a/meta/recipes-devtools/expect/expect_5.45.4.bb b/meta/recipes-devtools/expect/expect_5.45.4.bb
index 39ae6151f66..e27b0d9d71f 100644
--- a/meta/recipes-devtools/expect/expect_5.45.4.bb
+++ b/meta/recipes-devtools/expect/expect_5.45.4.bb
@@ -14,7 +14,7 @@ SECTION = "devel"
 LIC_FILES_CHKSUM = "file://license.terms;md5=fbf2de7e9102505b1439db06fc36ce5c"
 
 DEPENDS += "tcl"
-RDEPENDS_${PN} = "tcl"
+RDEPENDS:${PN} = "tcl"
 
 inherit autotools update-alternatives
 
@@ -35,7 +35,7 @@ UPSTREAM_CHECK_REGEX = "/Expect/(?P<pver>(\d+[\.\-_]*)+)/"
 
 S = "${WORKDIR}/${BPN}${PV}"
 
-do_install_append() {
+do_install:append() {
 	install -d ${D}${libdir}
         install -m 0755 ${D}${libdir}/expect${PV}/libexpect*.so   ${D}${libdir}/
         install -m 0755 ${S}/fixline1           ${D}${libdir}/expect${PV}/
@@ -47,7 +47,7 @@ do_install_append() {
 # Apparently the public Tcl headers are only in /usr/include/tcl8.6
 # when building for the target and nativesdk.
 TCL_INCLUDE_PATH = "--with-tclinclude=${STAGING_INCDIR}/tcl8.6"
-TCL_INCLUDE_PATH_class-native = ""
+TCL_INCLUDE_PATH:class-native = ""
 
 EXTRA_OECONF += "--with-tcl=${STAGING_LIBDIR} \
                  --enable-shared \
@@ -57,12 +57,12 @@ EXTRA_OECONF += "--with-tcl=${STAGING_LIBDIR} \
                 "
 EXTRA_OEMAKE_install = " 'SCRIPTS=' "
 
-ALTERNATIVE_${PN}  = "mkpasswd"
+ALTERNATIVE:${PN}  = "mkpasswd"
 ALTERNATIVE_LINK_NAME[mkpasswd] = "${bindir}/mkpasswd"
 # Use lower priority than busybox's mkpasswd (created when built with CONFIG_CRYPTPW)
 ALTERNATIVE_PRIORITY[mkpasswd] = "40"
 
-FILES_${PN}-dev = "${libdir_native}/expect${PV}/libexpect*.so \
+FILES:${PN}-dev = "${libdir_native}/expect${PV}/libexpect*.so \
                    ${includedir}/expect.h \
                    ${includedir}/expect_tcl.h \
                    ${includedir}/expect_comm.h \
@@ -70,7 +70,7 @@ FILES_${PN}-dev = "${libdir_native}/expect${PV}/libexpect*.so \
                    ${includedir}/*.h \
                   "
 
-FILES_${PN} += "${libdir}/libexpect${PV}.so \
+FILES:${PN} += "${libdir}/libexpect${PV}.so \
                 ${libdir}/expect${PV}/* \
                "
 
diff --git a/meta/recipes-devtools/file/file_5.40.bb b/meta/recipes-devtools/file/file_5.40.bb
index ec79839bd2a..32b61f4f39a 100644
--- a/meta/recipes-devtools/file/file_5.40.bb
+++ b/meta/recipes-devtools/file/file_5.40.bb
@@ -9,7 +9,7 @@ LICENSE = "BSD-2-Clause"
 LIC_FILES_CHKSUM = "file://COPYING;beginline=2;md5=0251eaec1188b20d9a72c502ecfdda1b"
 
 DEPENDS = "file-replacement-native"
-DEPENDS_class-native = "bzip2-replacement-native"
+DEPENDS:class-native = "bzip2-replacement-native"
 
 SRC_URI = "git://github.com/file/file.git"
 
@@ -25,30 +25,30 @@ PACKAGECONFIG[zlib] = "--enable-zlib, --disable-zlib, zlib"
 
 EXTRA_OECONF += "--disable-libseccomp"
 
-ALTERNATIVE_${PN} = "file"
+ALTERNATIVE:${PN} = "file"
 ALTERNATIVE_LINK_NAME[file] = "${bindir}/file"
 
-EXTRA_OEMAKE_append_class-target = " -e FILE_COMPILE=${STAGING_BINDIR_NATIVE}/file-native/file"
-EXTRA_OEMAKE_append_class-nativesdk = " -e FILE_COMPILE=${STAGING_BINDIR_NATIVE}/file-native/file"
+EXTRA_OEMAKE:append:class-target = " -e FILE_COMPILE=${STAGING_BINDIR_NATIVE}/file-native/file"
+EXTRA_OEMAKE:append:class-nativesdk = " -e FILE_COMPILE=${STAGING_BINDIR_NATIVE}/file-native/file"
 
-FILES_${PN} += "${datadir}/misc/*.mgc"
+FILES:${PN} += "${datadir}/misc/*.mgc"
 
-do_compile_append_class-native() {
+do_compile:append:class-native() {
 	oe_runmake check
 }
 
-do_install_append_class-native() {
+do_install:append:class-native() {
 	create_cmdline_wrapper ${D}/${bindir}/file \
 		--magic-file ${datadir}/misc/magic.mgc
 }
 
-do_install_append_class-nativesdk() {
+do_install:append:class-nativesdk() {
 	create_cmdline_wrapper ${D}/${bindir}/file \
 		--magic-file ${datadir}/misc/magic.mgc
 }
 
 BBCLASSEXTEND = "native nativesdk"
-PROVIDES_append_class-native = " file-replacement-native"
+PROVIDES:append:class-native = " file-replacement-native"
 # Don't use NATIVE_PACKAGE_PATH_SUFFIX as that hides libmagic from anyone who
 # depends on file-replacement-native.
-bindir_append_class-native = "/file-native"
+bindir:append:class-native = "/file-native"
diff --git a/meta/recipes-devtools/flex/flex_2.6.4.bb b/meta/recipes-devtools/flex/flex_2.6.4.bb
index 54e7e01729d..56f5b742e29 100644
--- a/meta/recipes-devtools/flex/flex_2.6.4.bb
+++ b/meta/recipes-devtools/flex/flex_2.6.4.bb
@@ -4,7 +4,7 @@ lexical patterns in text."
 HOMEPAGE = "http://sourceforge.net/projects/flex/"
 SECTION = "devel"
 LICENSE = "BSD-3-Clause & LGPL-2.0+"
-LICENSE_${PN}-libfl = "BSD-3-Clause"
+LICENSE:${PN}-libfl = "BSD-3-Clause"
 
 DEPENDS = "${@bb.utils.contains('PTEST_ENABLED', '1', 'bison-native flex-native', '', d)}"
 BBCLASSEXTEND = "native nativesdk"
@@ -31,26 +31,26 @@ UPSTREAM_CHECK_REGEX = "flex-(?P<pver>\d+(\.\d+)+)\.tar"
 inherit autotools gettext texinfo ptest
 
 M4 = "${bindir}/m4"
-M4_class-native = "${STAGING_BINDIR_NATIVE}/m4"
+M4:class-native = "${STAGING_BINDIR_NATIVE}/m4"
 EXTRA_OECONF += "ac_cv_path_M4=${M4} ac_cv_func_reallocarray=no"
 EXTRA_OEMAKE += "m4=${STAGING_BINDIR_NATIVE}/m4"
 
 EXTRA_OEMAKE += "${@bb.utils.contains('PTEST_ENABLED', '1', 'FLEX=${STAGING_BINDIR_NATIVE}/flex', '', d)}"
 
-do_install_append_class-native() {
+do_install:append:class-native() {
 	create_wrapper ${D}/${bindir}/flex M4=${M4}
 }
 
-do_install_append_class-nativesdk() {
+do_install:append:class-nativesdk() {
 	create_wrapper ${D}/${bindir}/flex M4=${M4}
 }
 
 PACKAGES =+ "${PN}-libfl"
 
-FILES_${PN}-libfl = "${libdir}/libfl.so.* ${libdir}/libfl_pic.so.*"
+FILES:${PN}-libfl = "${libdir}/libfl.so.* ${libdir}/libfl_pic.so.*"
 
-RDEPENDS_${PN} += "m4"
-RDEPENDS_${PN}-ptest += "bash gawk make"
+RDEPENDS:${PN} += "m4"
+RDEPENDS:${PN}-ptest += "bash gawk make"
 
 do_compile_ptest() {
 	oe_runmake -C ${B}/tests -f ${B}/tests/Makefile top_builddir=${B} INCLUDES=-I${S}/src buildtests
diff --git a/meta/recipes-devtools/gcc/gcc-11.1.inc b/meta/recipes-devtools/gcc/gcc-11.1.inc
index c21242af58b..f1dec85a06d 100644
--- a/meta/recipes-devtools/gcc/gcc-11.1.inc
+++ b/meta/recipes-devtools/gcc/gcc-11.1.inc
@@ -87,7 +87,7 @@ FORTRAN = ""
 JAVA = ""
 
 SSP ?= "--disable-libssp"
-SSP_mingw32 = "--enable-libssp"
+SSP:mingw32 = "--enable-libssp"
 
 EXTRA_OECONF_BASE = "\
     ${SSP} \
diff --git a/meta/recipes-devtools/gcc/gcc-common.inc b/meta/recipes-devtools/gcc/gcc-common.inc
index 629fa26dfe5..74190644e6f 100644
--- a/meta/recipes-devtools/gcc/gcc-common.inc
+++ b/meta/recipes-devtools/gcc/gcc-common.inc
@@ -12,7 +12,7 @@ inherit autotools gettext texinfo
 
 BPN = "gcc"
 COMPILERDEP = "virtual/${MLPREFIX}${TARGET_PREFIX}gcc:do_gcc_stash_builddir"
-COMPILERDEP_class-nativesdk = "virtual/${TARGET_PREFIX}gcc-crosssdk:do_gcc_stash_builddir"
+COMPILERDEP:class-nativesdk = "virtual/${TARGET_PREFIX}gcc-crosssdk:do_gcc_stash_builddir"
 
 python extract_stashed_builddir () {
     src = d.expand("${COMPONENTS_DIR}/${BUILD_ARCH}/gcc-stashed-builddir-${TARGET_SYS}")
@@ -83,7 +83,7 @@ def get_tune_parameters(tune, d):
 
 get_tune_parameters[vardepsexclude] = "AVAILTUNES TUNE_CCARGS OVERRIDES TUNE_FEATURES BASE_LIB BASELIB TUNE_ARCH ABIEXTENSION TARGET_FPU TUNE_PKGARCH PACKAGE_EXTRA_ARCHS"
 
-DEBIANNAME_${MLPREFIX}libgcc = "libgcc1"
+DEBIANNAME:${MLPREFIX}libgcc = "libgcc1"
 
 MIRRORS =+ "\
 ${GNU_MIRROR}/gcc    ftp://gcc.gnu.org/pub/gcc/releases/ \n \
diff --git a/meta/recipes-devtools/gcc/gcc-configure-common.inc b/meta/recipes-devtools/gcc/gcc-configure-common.inc
index dc7f458b255..e9bc8e466c0 100644
--- a/meta/recipes-devtools/gcc/gcc-configure-common.inc
+++ b/meta/recipes-devtools/gcc/gcc-configure-common.inc
@@ -45,27 +45,27 @@ EXTRA_OECONF = "\
 
 # glibc version is a minimum controlling whether features are enabled. 
 # Doesn't need to track glibc exactly
-EXTRA_OECONF_append_libc-glibc = " --with-glibc-version=2.28 "
+EXTRA_OECONF:append:libc-glibc = " --with-glibc-version=2.28 "
 
 # Set this here since GCC configure won't auto-detect and enable
 # initfini-arry when cross compiling.
-EXTRA_OECONF_append = " --enable-initfini-array"
+EXTRA_OECONF:append = " --enable-initfini-array"
 
 export gcc_cv_collect2_libs = 'none required'
 # We need to set gcc_cv_collect2_libs else there is cross-compilation badness
 # in the config.log files (which might not get generated until do_compile
 # hence being missed by the insane do_configure check).
 
-EXTRA_OECONF_append_linux = " --enable-__cxa_atexit"
+EXTRA_OECONF:append_linux = " --enable-__cxa_atexit"
 
-EXTRA_OECONF_append_mips64 = " --with-abi=64 --with-arch-64=mips64 --with-tune-64=mips64"
-EXTRA_OECONF_append_mips64el = " --with-abi=64 --with-arch-64=mips64 --with-tune-64=mips64"
-EXTRA_OECONF_append_mips64n32 = " --with-abi=64 --with-arch-64=mips64 --with-tune-64=mips64"
-EXTRA_OECONF_append_mips64eln32 = " --with-abi=64 --with-arch-64=mips64 --with-tune-64=mips64"
-EXTRA_OECONF_append_mipsisa32r6el = " --with-abi=32 --with-arch=mips32r6"
-EXTRA_OECONF_append_mipsisa32r6 = " --with-abi=32 --with-arch=mips32r6"
-EXTRA_OECONF_append_mipsisa64r6el = " --with-abi=64 --with-arch-64=mips64r6"
-EXTRA_OECONF_append_mipsisa64r6 = " --with-abi=64 --with-arch-64=mips64r6"
+EXTRA_OECONF:append:mips64 = " --with-abi=64 --with-arch-64=mips64 --with-tune-64=mips64"
+EXTRA_OECONF:append:mips64el = " --with-abi=64 --with-arch-64=mips64 --with-tune-64=mips64"
+EXTRA_OECONF:append:mips64n32 = " --with-abi=64 --with-arch-64=mips64 --with-tune-64=mips64"
+EXTRA_OECONF:append:mips64eln32 = " --with-abi=64 --with-arch-64=mips64 --with-tune-64=mips64"
+EXTRA_OECONF:append:mipsisa32r6el = " --with-abi=32 --with-arch=mips32r6"
+EXTRA_OECONF:append:mipsisa32r6 = " --with-abi=32 --with-arch=mips32r6"
+EXTRA_OECONF:append:mipsisa64r6el = " --with-abi=64 --with-arch-64=mips64r6"
+EXTRA_OECONF:append:mipsisa64r6 = " --with-abi=64 --with-arch-64=mips64r6"
 
 EXTRA_OECONF_GCC_FLOAT ??= ""
 CPPFLAGS = ""
@@ -74,7 +74,7 @@ SYSTEMHEADERS = "${target_includedir}"
 SYSTEMLIBS = "${target_base_libdir}/"
 SYSTEMLIBS1 = "${target_libdir}/"
 
-do_configure_prepend () {
+do_configure:prepend () {
 	# teach gcc to find correct target includedir when checking libc ssp support
 	mkdir -p ${B}/gcc
 	echo "NATIVE_SYSTEM_HEADER_DIR = ${SYSTEMHEADERS}" > ${B}/gcc/t-oe
diff --git a/meta/recipes-devtools/gcc/gcc-cross-canadian.inc b/meta/recipes-devtools/gcc/gcc-cross-canadian.inc
index 1872faee1b0..92fb1f38ba3 100644
--- a/meta/recipes-devtools/gcc/gcc-cross-canadian.inc
+++ b/meta/recipes-devtools/gcc/gcc-cross-canadian.inc
@@ -65,7 +65,7 @@ do_compile () {
 
 PACKAGES = "${PN}-dbg ${PN} ${PN}-doc"
 
-FILES_${PN} = "\
+FILES:${PN} = "\
     ${exec_prefix}/bin/* \
     ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/* \
     ${gcclibdir}/${TARGET_SYS}/${BINV}/*.o \
@@ -81,9 +81,9 @@ FILES_${PN} = "\
     ${prefix}/${TARGET_SYS}/lib/* \
     ${prefix}/${TARGET_SYS}${target_includedir}/* \
 "
-INSANE_SKIP_${PN} += "dev-so"
+INSANE_SKIP:${PN} += "dev-so"
 
-FILES_${PN}-doc = "\
+FILES:${PN}-doc = "\
     ${infodir} \
     ${mandir} \
     ${gcclibdir}/${TARGET_SYS}/${BINV}/include/README \
@@ -173,16 +173,16 @@ do_install () {
 
 ELFUTILS = "nativesdk-elfutils"
 DEPENDS += "nativesdk-gmp nativesdk-mpfr nativesdk-libmpc ${ELFUTILS} nativesdk-zlib"
-RDEPENDS_${PN} += "nativesdk-mpfr nativesdk-libmpc ${ELFUTILS}"
+RDEPENDS:${PN} += "nativesdk-mpfr nativesdk-libmpc ${ELFUTILS}"
 
 SYSTEMHEADERS = "${target_includedir}/"
 SYSTEMLIBS = "${target_base_libdir}/"
 SYSTEMLIBS1 = "${target_libdir}/"
 
 EXTRA_OECONF += "--enable-poison-system-directories"
-EXTRA_OECONF_remove_elf = "--with-sysroot=/not/exist"
-EXTRA_OECONF_remove_eabi = "--with-sysroot=/not/exist"
-EXTRA_OECONF_append_elf = " --without-headers --with-newlib"
-EXTRA_OECONF_append_eabi = " --without-headers --with-newlib"
+EXTRA_OECONF:remove_elf = "--with-sysroot=/not/exist"
+EXTRA_OECONF:remove_eabi = "--with-sysroot=/not/exist"
+EXTRA_OECONF:append_elf = " --without-headers --with-newlib"
+EXTRA_OECONF:append_eabi = " --without-headers --with-newlib"
 # gcc 4.7 needs -isystem
 export ARCH_FLAGS_FOR_TARGET = "--sysroot=${STAGING_DIR_TARGET} -isystem=${target_includedir}"
diff --git a/meta/recipes-devtools/gcc/gcc-cross.inc b/meta/recipes-devtools/gcc/gcc-cross.inc
index dca4036ab5f..3ffa1f0c460 100644
--- a/meta/recipes-devtools/gcc/gcc-cross.inc
+++ b/meta/recipes-devtools/gcc/gcc-cross.inc
@@ -22,7 +22,7 @@ require gcc-configure-common.inc
 LINKER_HASH_STYLE ?= "sysv"
 
 EXTRA_OECONF += "--enable-poison-system-directories=error"
-EXTRA_OECONF_append_sh4 = " \
+EXTRA_OECONF:append:sh4 = " \
     --with-multilib-list= \
     --enable-incomplete-targets \
 "
@@ -31,9 +31,9 @@ EXTRA_OECONF += "\
     --with-system-zlib \
 "
 
-EXTRA_OECONF_append_libc-baremetal = " --without-headers"
-EXTRA_OECONF_remove_libc-baremetal = "--enable-threads=posix"
-EXTRA_OECONF_remove_libc-newlib = "--enable-threads=posix"
+EXTRA_OECONF:append:libc-baremetal = " --without-headers"
+EXTRA_OECONF:remove:libc-baremetal = "--enable-threads=posix"
+EXTRA_OECONF:remove:libc-newlib = "--enable-threads=posix"
 
 EXTRA_OECONF_PATHS = "\
     --with-gxx-include-dir=/not/exist${target_includedir}/c++/${BINV} \
@@ -44,7 +44,7 @@ EXTRA_OECONF_PATHS = "\
 ARCH_FLAGS_FOR_TARGET += "-isystem${STAGING_DIR_TARGET}${target_includedir}"
 
 
-do_configure_prepend () {
+do_configure:prepend () {
 	install -d ${RECIPE_SYSROOT}${target_includedir}
 	touch ${RECIPE_SYSROOT}${target_includedir}/limits.h
 }
diff --git a/meta/recipes-devtools/gcc/gcc-multilib-config.inc b/meta/recipes-devtools/gcc/gcc-multilib-config.inc
index 31b8619be31..e90580d1cdb 100644
--- a/meta/recipes-devtools/gcc/gcc-multilib-config.inc
+++ b/meta/recipes-devtools/gcc/gcc-multilib-config.inc
@@ -170,7 +170,7 @@ python gcc_multilib_setup() {
     header_config_files = gcc_header_config_files[target_arch]
 
     ml_list = ['DEFAULTTUNE_MULTILIB_ORIGINAL' if mlprefix else 'DEFAULTTUNE']
-    mltunes = [('DEFAULTTUNE_virtclass-multilib-%s' % ml) for ml in multilibs]
+    mltunes = [('DEFAULTTUNE:virtclass-multilib-%s' % ml) for ml in multilibs]
     if mlprefix:
         mlindex = 0
         for ml in multilibs:
diff --git a/meta/recipes-devtools/gcc/gcc-runtime.inc b/meta/recipes-devtools/gcc/gcc-runtime.inc
index 59d9a24686f..9e39d49d14e 100644
--- a/meta/recipes-devtools/gcc/gcc-runtime.inc
+++ b/meta/recipes-devtools/gcc/gcc-runtime.inc
@@ -6,7 +6,7 @@ SUMMARY = "Runtime libraries from GCC"
 # All gcc-runtime packages are now covered by the runtime exception.
 LICENSE = "GPL-3.0-with-GCC-exception"
 
-CXXFLAGS_remove = "-fvisibility-inlines-hidden"
+CXXFLAGS:remove = "-fvisibility-inlines-hidden"
 
 EXTRA_OECONF_PATHS = "\
     --with-gxx-include-dir=${includedir}/c++/${BINV} \
@@ -14,37 +14,37 @@ EXTRA_OECONF_PATHS = "\
     --with-build-sysroot=${STAGING_DIR_TARGET} \
 "
 
-EXTRA_OECONF_append_linuxstdbase = " --enable-clocale=gnu"
-EXTRA_OECONF_append = " --cache-file=${B}/config.cache"
-EXTRA_OECONF_append_libc-newlib = " --with-newlib"
+EXTRA_OECONF:append:linuxstdbase = " --enable-clocale=gnu"
+EXTRA_OECONF:append = " --cache-file=${B}/config.cache"
+EXTRA_OECONF:append:libc-newlib = " --with-newlib"
 
 # Disable ifuncs for libatomic on arm conflicts -march/-mcpu
-EXTRA_OECONF_append_arm = " libat_cv_have_ifunc=no "
-EXTRA_OECONF_append_armeb = " libat_cv_have_ifunc=no "
+EXTRA_OECONF:append:arm = " libat_cv_have_ifunc=no "
+EXTRA_OECONF:append:armeb = " libat_cv_have_ifunc=no "
 
-DISABLE_STATIC_class-nativesdk ?= ""
+DISABLE_STATIC:class-nativesdk ?= ""
 
 # Newlib does not support symbol versioning on libsdtcc++
-SYMVERS_CONF_libc-newlib = ""
+SYMVERS_CONF:libc-newlib = ""
 
 # Building with thumb enabled on armv6t fails
-ARM_INSTRUCTION_SET_armv6 = "arm"
+ARM_INSTRUCTION_SET:armv6 = "arm"
 
 RUNTIMELIBITM = "libitm"
-RUNTIMELIBITM_arc = ""
-RUNTIMELIBITM_mipsarch = ""
-RUNTIMELIBITM_nios2 = ""
-RUNTIMELIBITM_microblaze = ""
-RUNTIMELIBITM_riscv32 = ""
-RUNTIMELIBITM_riscv64 = ""
+RUNTIMELIBITM:arc = ""
+RUNTIMELIBITM:mipsarch = ""
+RUNTIMELIBITM:nios2 = ""
+RUNTIMELIBITM:microblaze = ""
+RUNTIMELIBITM:riscv32 = ""
+RUNTIMELIBITM:riscv64 = ""
 RUNTIMELIBSSP ?= ""
-RUNTIMELIBSSP_mingw32 ?= "libssp"
+RUNTIMELIBSSP:mingw32 ?= "libssp"
 
 RUNTIMETARGET = "${RUNTIMELIBSSP} libstdc++-v3 libgomp libatomic ${RUNTIMELIBITM} \
     ${@bb.utils.contains_any('FORTRAN', [',fortran',',f77'], 'libquadmath', '', d)} \
 "
 # Only build libstdc++ for newlib
-RUNTIMETARGET_libc-newlib = "libstdc++-v3"
+RUNTIMETARGET:libc-newlib = "libstdc++-v3"
 
 # libiberty
 # libgfortran needs separate recipe due to libquadmath dependency
@@ -52,7 +52,7 @@ RUNTIMETARGET_libc-newlib = "libstdc++-v3"
 # Relative path to be repaced into debug info
 REL_S = "/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}"
 
-DEBUG_PREFIX_MAP_class-target = " \
+DEBUG_PREFIX_MAP:class-target = " \
    -fdebug-prefix-map=${WORKDIR}/recipe-sysroot= \
    -fdebug-prefix-map=${WORKDIR}/recipe-sysroot-native= \
    -fdebug-prefix-map=${S}=${REL_S} \
@@ -109,7 +109,7 @@ do_install () {
 	fi
 }
 
-do_install_append_class-target () {
+do_install:append:class-target () {
 	if [ "${TARGET_OS}" = "linux-gnuspe" ]; then
 		ln -s ${TARGET_SYS} ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR}-linux
 	fi
@@ -186,67 +186,67 @@ PACKAGES = "\
     libitm-staticdev \
 "
 # The base package doesn't exist, so we clear the recommends.
-RRECOMMENDS_${PN}-dbg = ""
+RRECOMMENDS:${PN}-dbg = ""
 
 # include python debugging scripts
-FILES_${PN}-dbg += "\
+FILES:${PN}-dbg += "\
     ${libdir}/libstdc++.*-gdb.py \
     ${datadir}/gcc-${BINV}/python/libstdcxx \
 "
 
-FILES_libg2c = "${target_libdir}/libg2c.so.*"
-SUMMARY_libg2c = "Companion runtime library for g77"
-FILES_libg2c-dev = "\
+FILES:libg2c = "${target_libdir}/libg2c.so.*"
+SUMMARY:libg2c = "Companion runtime library for g77"
+FILES:libg2c-dev = "\
     ${libdir}/libg2c.so \
     ${libdir}/libg2c.a \
     ${libdir}/libfrtbegin.a \
 "
-SUMMARY_libg2c-dev = "Companion runtime library for g77 - development files"
+SUMMARY:libg2c-dev = "Companion runtime library for g77 - development files"
 
-FILES_libstdc++ = "${libdir}/libstdc++.so.*"
-SUMMARY_libstdc++ = "GNU standard C++ library"
-FILES_libstdc++-dev = "\
+FILES:libstdc++ = "${libdir}/libstdc++.so.*"
+SUMMARY:libstdc++ = "GNU standard C++ library"
+FILES:libstdc++-dev = "\
     ${includedir}/c++/ \
     ${libdir}/libstdc++.so \
     ${libdir}/libstdc++*.la \
     ${libdir}/libsupc++.la \
 "
-SUMMARY_libstdc++-dev = "GNU standard C++ library - development files"
-FILES_libstdc++-staticdev = "\
+SUMMARY:libstdc++-dev = "GNU standard C++ library - development files"
+FILES:libstdc++-staticdev = "\
     ${libdir}/libstdc++*.a \
     ${libdir}/libsupc++.a \
 "
-SUMMARY_libstdc++-staticdev = "GNU standard C++ library - static development files"
+SUMMARY:libstdc++-staticdev = "GNU standard C++ library - static development files"
 
-FILES_libstdc++-precompile-dev = "${includedir}/c++/${TARGET_SYS}/bits/*.gch"
-SUMMARY_libstdc++-precompile-dev = "GNU standard C++ library - precompiled header files"
+FILES:libstdc++-precompile-dev = "${includedir}/c++/${TARGET_SYS}/bits/*.gch"
+SUMMARY:libstdc++-precompile-dev = "GNU standard C++ library - precompiled header files"
 
-FILES_libssp = "${libdir}/libssp.so.*"
-SUMMARY_libssp = "GNU stack smashing protection library"
-FILES_libssp-dev = "\
+FILES:libssp = "${libdir}/libssp.so.*"
+SUMMARY:libssp = "GNU stack smashing protection library"
+FILES:libssp-dev = "\
     ${libdir}/libssp*.so \
     ${libdir}/libssp*_nonshared.a \
     ${libdir}/libssp*.la \
     ${libdir}/${TARGET_SYS}/${BINV}/include/ssp \
 "
-SUMMARY_libssp-dev = "GNU stack smashing protection library - development files"
-FILES_libssp-staticdev = "${libdir}/libssp*.a"
-SUMMARY_libssp-staticdev = "GNU stack smashing protection library - static development files"
+SUMMARY:libssp-dev = "GNU stack smashing protection library - development files"
+FILES:libssp-staticdev = "${libdir}/libssp*.a"
+SUMMARY:libssp-staticdev = "GNU stack smashing protection library - static development files"
 
-FILES_libquadmath = "${libdir}/libquadmath*.so.*"
-SUMMARY_libquadmath = "GNU quad-precision math library"
-FILES_libquadmath-dev = "\
+FILES:libquadmath = "${libdir}/libquadmath*.so.*"
+SUMMARY:libquadmath = "GNU quad-precision math library"
+FILES:libquadmath-dev = "\
     ${libdir}/${TARGET_SYS}/${BINV}/include/quadmath* \
     ${libdir}/libquadmath*.so \
     ${libdir}/libquadmath.la \
 "
-SUMMARY_libquadmath-dev = "GNU quad-precision math library - development files"
-FILES_libquadmath-staticdev = "${libdir}/libquadmath.a"
-SUMMARY_libquadmath-staticdev = "GNU quad-precision math library - static development files"
+SUMMARY:libquadmath-dev = "GNU quad-precision math library - development files"
+FILES:libquadmath-staticdev = "${libdir}/libquadmath.a"
+SUMMARY:libquadmath-staticdev = "GNU quad-precision math library - static development files"
 
-FILES_libgomp = "${libdir}/libgomp*${SOLIBS}"
-SUMMARY_libgomp = "GNU OpenMP parallel programming library"
-FILES_libgomp-dev = "\
+FILES:libgomp = "${libdir}/libgomp*${SOLIBS}"
+SUMMARY:libgomp = "GNU OpenMP parallel programming library"
+FILES:libgomp-dev = "\
     ${libdir}/libgomp*${SOLIBSDEV} \
     ${libdir}/libgomp*.la \
     ${libdir}/libgomp.spec \
@@ -254,34 +254,34 @@ FILES_libgomp-dev = "\
     ${libdir}/${TARGET_SYS}/${BINV}/include/omp.h \
     ${libdir}/${TARGET_SYS}/${BINV}/include/openacc.h \
 "
-SUMMARY_libgomp-dev = "GNU OpenMP parallel programming library - development files"
-FILES_libgomp-staticdev = "${libdir}/libgomp*.a"
-SUMMARY_libgomp-staticdev = "GNU OpenMP parallel programming library - static development files"
+SUMMARY:libgomp-dev = "GNU OpenMP parallel programming library - development files"
+FILES:libgomp-staticdev = "${libdir}/libgomp*.a"
+SUMMARY:libgomp-staticdev = "GNU OpenMP parallel programming library - static development files"
 
-FILES_libatomic = "${libdir}/libatomic.so.*"
-SUMMARY_libatomic = "GNU C++11 atomics support library"
-FILES_libatomic-dev = "\
+FILES:libatomic = "${libdir}/libatomic.so.*"
+SUMMARY:libatomic = "GNU C++11 atomics support library"
+FILES:libatomic-dev = "\
     ${libdir}/libatomic.so \
     ${libdir}/libatomic.la \
 "
-SUMMARY_libatomic-dev = "GNU C++11 atomics support library - development files"
-FILES_libatomic-staticdev = "${libdir}/libatomic.a"
-SUMMARY_libatomic-staticdev = "GNU C++11 atomics support library - static development files"
+SUMMARY:libatomic-dev = "GNU C++11 atomics support library - development files"
+FILES:libatomic-staticdev = "${libdir}/libatomic.a"
+SUMMARY:libatomic-staticdev = "GNU C++11 atomics support library - static development files"
 
-FILES_libitm = "${libdir}/libitm.so.*"
-SUMMARY_libitm = "GNU transactional memory support library"
-FILES_libitm-dev = "\
+FILES:libitm = "${libdir}/libitm.so.*"
+SUMMARY:libitm = "GNU transactional memory support library"
+FILES:libitm-dev = "\
     ${libdir}/libitm.so \
     ${libdir}/libitm.la \
     ${libdir}/libitm.spec \
 "
-SUMMARY_libitm-dev = "GNU transactional memory support library - development files"
-FILES_libitm-staticdev = "${libdir}/libitm.a"
-SUMMARY_libitm-staticdev = "GNU transactional memory support library - static development files"
+SUMMARY:libitm-dev = "GNU transactional memory support library - development files"
+FILES:libitm-staticdev = "${libdir}/libitm.a"
+SUMMARY:libitm-staticdev = "GNU transactional memory support library - static development files"
 
 require gcc-testsuite.inc
 
-EXTRA_OEMAKE_prepend_task-check = "${PARALLEL_MAKE} "
+EXTRA_OEMAKE:prepend_task-check = "${PARALLEL_MAKE} "
 
 MAKE_CHECK_TARGETS ??= "check-gcc ${@" ".join("check-target-" + i for i in d.getVar("RUNTIMETARGET").split())}"
 # prettyprinters and xmethods require gdb tooling
diff --git a/meta/recipes-devtools/gcc/gcc-sanitizers.inc b/meta/recipes-devtools/gcc/gcc-sanitizers.inc
index 59e91daaea9..9881afa8370 100644
--- a/meta/recipes-devtools/gcc/gcc-sanitizers.inc
+++ b/meta/recipes-devtools/gcc/gcc-sanitizers.inc
@@ -47,11 +47,11 @@ do_install () {
 }
 
 INHIBIT_DEFAULT_DEPS = "1"
-ALLOW_EMPTY_${PN} = "1"
+ALLOW_EMPTY:${PN} = "1"
 DEPENDS = "virtual/crypt gcc-runtime virtual/${TARGET_PREFIX}gcc"
 
 # used to fix ../../../../../../../../../work-shared/gcc-8.3.0-r0/gcc-8.3.0/libsanitizer/libbacktrace/../../libbacktrace/elf.c:772:21: error: 'st.st_mode' may be used uninitialized in this function [-Werror=maybe-uninitialized]
-DEBUG_OPTIMIZATION_append = " -Wno-error"
+DEBUG_OPTIMIZATION:append = " -Wno-error"
 
 BBCLASSEXTEND = "nativesdk"
 
@@ -60,19 +60,19 @@ PACKAGES += "libasan libubsan liblsan libtsan"
 PACKAGES += "libasan-dev libubsan-dev liblsan-dev libtsan-dev"
 PACKAGES += "libasan-staticdev libubsan-staticdev liblsan-staticdev libtsan-staticdev"
 
-RDEPENDS_libasan += "libstdc++"
-RDEPENDS_libubsan += "libstdc++"
-RDEPENDS_liblsan += "libstdc++"
-RDEPENDS_libtsan += "libstdc++"
-RDEPENDS_libasan-dev += "${PN}"
-RDEPENDS_libubsan-dev += "${PN}"
-RDEPENDS_liblsan-dev += "${PN}"
-RDEPENDS_libtsan-dev += "${PN}"
-RRECOMMENDS_${PN} += "libasan libubsan"
-RRECOMMENDS_${PN}_append_x86 = " liblsan"
-RRECOMMENDS_${PN}_append_x86-64 = " liblsan libtsan"
-RRECOMMENDS_${PN}_append_powerpc64 = " liblsan libtsan"
-RRECOMMENDS_${PN}_append_aarch64 = " liblsan libtsan"
+RDEPENDS:libasan += "libstdc++"
+RDEPENDS:libubsan += "libstdc++"
+RDEPENDS:liblsan += "libstdc++"
+RDEPENDS:libtsan += "libstdc++"
+RDEPENDS:libasan-dev += "${PN}"
+RDEPENDS:libubsan-dev += "${PN}"
+RDEPENDS:liblsan-dev += "${PN}"
+RDEPENDS:libtsan-dev += "${PN}"
+RRECOMMENDS:${PN} += "libasan libubsan"
+RRECOMMENDS:${PN}:append:x86 = " liblsan"
+RRECOMMENDS:${PN}:append:x86-64 = " liblsan libtsan"
+RRECOMMENDS:${PN}:append:powerpc64 = " liblsan libtsan"
+RRECOMMENDS:${PN}:append:aarch64 = " liblsan libtsan"
 
 do_package_write_ipk[depends] += "virtual/${MLPREFIX}${TARGET_PREFIX}compilerlibs:do_packagedata"
 do_package_write_deb[depends] += "virtual/${MLPREFIX}${TARGET_PREFIX}compilerlibs:do_packagedata"
@@ -81,40 +81,40 @@ do_package_write_rpm[depends] += "virtual/${MLPREFIX}${TARGET_PREFIX}compilerlib
 # Only x86, powerpc, sparc, s390, arm, and aarch64 are supported
 COMPATIBLE_HOST = '(x86_64|i.86|powerpc|sparc|s390|arm|aarch64).*-linux'
 # musl is currently broken entirely
-COMPATIBLE_HOST_libc-musl = 'null'
+COMPATIBLE_HOST:libc-musl = 'null'
 
-FILES_libasan += "${libdir}/libasan.so.* ${libdir}/libhwasan.so.*"
-FILES_libasan-dev += "\
+FILES:libasan += "${libdir}/libasan.so.* ${libdir}/libhwasan.so.*"
+FILES:libasan-dev += "\
     ${libdir}/libasan_preinit.o \
     ${libdir}/libasan.so \
     ${libdir}/libhwasan.so \
     ${libdir}/libasan.la \
 "
-FILES_libasan-staticdev += "${libdir}/libasan.a \
+FILES:libasan-staticdev += "${libdir}/libasan.a \
     ${libdir}/libhwasan.a \
 "
 
-FILES_libubsan += "${libdir}/libubsan.so.*"
-FILES_libubsan-dev += "\
+FILES:libubsan += "${libdir}/libubsan.so.*"
+FILES:libubsan-dev += "\
     ${libdir}/libubsan.so \
     ${libdir}/libubsan.la \
 "
-FILES_libubsan-staticdev += "${libdir}/libubsan.a"
+FILES:libubsan-staticdev += "${libdir}/libubsan.a"
 
-FILES_liblsan += "${libdir}/liblsan.so.*"
-FILES_liblsan-dev += "\
+FILES:liblsan += "${libdir}/liblsan.so.*"
+FILES:liblsan-dev += "\
     ${libdir}/liblsan.so \
     ${libdir}/liblsan.la \
     ${libdir}/liblsan_preinit.o \
 "
-FILES_liblsan-staticdev += "${libdir}/liblsan.a"
+FILES:liblsan-staticdev += "${libdir}/liblsan.a"
 
-FILES_libtsan += "${libdir}/libtsan.so.*"
-FILES_libtsan-dev += "\
+FILES:libtsan += "${libdir}/libtsan.so.*"
+FILES:libtsan-dev += "\
     ${libdir}/libtsan.so \
     ${libdir}/libtsan.la \
     ${libdir}/libtsan_*.o \
 "
-FILES_libtsan-staticdev += "${libdir}/libtsan.a"
+FILES:libtsan-staticdev += "${libdir}/libtsan.a"
 
-FILES_${PN} = "${libdir}/*.spec ${libdir}/${TARGET_SYS}/${BINV}/include/sanitizer/*.h"
+FILES:${PN} = "${libdir}/*.spec ${libdir}/${TARGET_SYS}/${BINV}/include/sanitizer/*.h"
diff --git a/meta/recipes-devtools/gcc/gcc-sanitizers_11.1.bb b/meta/recipes-devtools/gcc/gcc-sanitizers_11.1.bb
index f3c7058114e..8bda2ccad67 100644
--- a/meta/recipes-devtools/gcc/gcc-sanitizers_11.1.bb
+++ b/meta/recipes-devtools/gcc/gcc-sanitizers_11.1.bb
@@ -3,5 +3,5 @@ require gcc-sanitizers.inc
 
 # Building with thumb enabled on armv4t armv5t fails with
 # sanitizer_linux.s:5749: Error: lo register required -- `ldr ip,[sp],#8'
-ARM_INSTRUCTION_SET_armv4 = "arm"
-ARM_INSTRUCTION_SET_armv5 = "arm"
+ARM_INSTRUCTION_SET:armv4 = "arm"
+ARM_INSTRUCTION_SET:armv5 = "arm"
diff --git a/meta/recipes-devtools/gcc/gcc-target.inc b/meta/recipes-devtools/gcc/gcc-target.inc
index 0ee3e83d42d..bf55e692e67 100644
--- a/meta/recipes-devtools/gcc/gcc-target.inc
+++ b/meta/recipes-devtools/gcc/gcc-target.inc
@@ -5,7 +5,7 @@ EXTRA_OECONF_PATHS = "\
     --with-build-sysroot=${STAGING_DIR_TARGET} \
 "
 
-EXTRA_OECONF_append_linuxstdbase = " --enable-clocale=gnu"
+EXTRA_OECONF:append:linuxstdbase = " --enable-clocale=gnu"
 
 # Configure gcc running on the target to default to an architecture which will
 # be compatible with that of gcc-runtime (which is cross compiled to be target
@@ -15,11 +15,11 @@ EXTRA_OECONF_append_linuxstdbase = " --enable-clocale=gnu"
 
 ARMFPARCHEXT ?= ""
 
-EXTRA_OECONF_append_armv6_class-target = " --with-arch=armv6${ARMFPARCHEXT}"
-EXTRA_OECONF_append_armv7a_class-target = " --with-arch=armv7-a${ARMFPARCHEXT}"
-EXTRA_OECONF_append_armv7ve_class-target = " --with-arch=armv7ve${ARMFPARCHEXT}"
-EXTRA_OECONF_append_arc_class-target = " --with-cpu=${TUNE_PKGARCH}"
-EXTRA_OECONF_append_x86-64_class-target = " --with-arch=native"
+EXTRA_OECONF:append:armv6:class-target = " --with-arch=armv6${ARMFPARCHEXT}"
+EXTRA_OECONF:append:armv7a:class-target = " --with-arch=armv7-a${ARMFPARCHEXT}"
+EXTRA_OECONF:append:armv7ve:class-target = " --with-arch=armv7ve${ARMFPARCHEXT}"
+EXTRA_OECONF:append:arc:class-target = " --with-cpu=${TUNE_PKGARCH}"
+EXTRA_OECONF:append:x86-64:class-target = " --with-arch=native"
 
 # libcc1 requres gcc_cv_objdump when cross build, but gcc_cv_objdump is
 # set in subdir gcc, so subdir libcc1 can't use it, export it here to
@@ -40,7 +40,7 @@ PACKAGES = "\
     ${PN}-dbg \
 "
 
-FILES_${PN} = "\
+FILES:${PN} = "\
     ${bindir}/${TARGET_PREFIX}gcc* \
     ${bindir}/${TARGET_PREFIX}lto* \
     ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/collect2* \
@@ -56,85 +56,85 @@ FILES_${PN} = "\
     ${gcclibdir}/${TARGET_SYS}/${BINV}/include-fixed \
     ${libdir}/bfd-plugins/*.so \
 "
-INSANE_SKIP_${PN} += "dev-so"
-RRECOMMENDS_${PN} += "\
+INSANE_SKIP:${PN} += "dev-so"
+RRECOMMENDS:${PN} += "\
     libssp \
     libssp-dev \
 "
-RDEPENDS_${PN} += "cpp"
+RDEPENDS:${PN} += "cpp"
 
-FILES_${PN}-dev = "\
+FILES:${PN}-dev = "\
     ${gcclibdir}/${TARGET_SYS}/${BINV}/lib*${SOLIBSDEV} \
     ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/lib*${SOLIBSDEV} \
     ${gcclibdir}/${TARGET_SYS}/${BINV}/plugin/include/ \
     ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/plugin/gengtype \
     ${gcclibdir}/${TARGET_SYS}/${BINV}/plugin/gtype.state \
 "
-FILES_${PN}-symlinks = "\
+FILES:${PN}-symlinks = "\
     ${bindir}/cc \
     ${bindir}/gcc \
     ${bindir}/gccbug \
 "
 
-FILES_${PN}-plugins = "\
+FILES:${PN}-plugins = "\
     ${gcclibdir}/${TARGET_SYS}/${BINV}/plugin \
 "
-ALLOW_EMPTY_${PN}-plugins = "1"
+ALLOW_EMPTY:${PN}-plugins = "1"
 
-FILES_g77 = "\
+FILES:g77 = "\
     ${bindir}/${TARGET_PREFIX}g77 \
     ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/f771 \
 "
-FILES_g77-symlinks = "\
+FILES:g77-symlinks = "\
     ${bindir}/g77 \
     ${bindir}/f77 \
 "
-RRECOMMENDS_g77 = "\
+RRECOMMENDS:g77 = "\
     libg2c \
     libg2c-dev \
 "
 
-FILES_gfortran = "\
+FILES:gfortran = "\
     ${bindir}/${TARGET_PREFIX}gfortran \
     ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/f951 \
 "
-RRECOMMENDS_gfortran = "\
+RRECOMMENDS:gfortran = "\
     libquadmath \
     libquadmath-dev \
 "
-FILES_gfortran-symlinks = "\
+FILES:gfortran-symlinks = "\
     ${bindir}/gfortran \
     ${bindir}/f95"
 
-FILES_cpp = "\
+FILES:cpp = "\
     ${bindir}/${TARGET_PREFIX}cpp* \
     ${base_libdir}/cpp \
     ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/cc1"
-FILES_cpp-symlinks = "${bindir}/cpp"
+FILES:cpp-symlinks = "${bindir}/cpp"
 
-FILES_gcov = "${bindir}/${TARGET_PREFIX}gcov* \
+FILES:gcov = "${bindir}/${TARGET_PREFIX}gcov* \
     ${bindir}/${TARGET_PREFIX}gcov-tool* \
 "
-FILES_gcov-symlinks = "${bindir}/gcov \
+FILES:gcov-symlinks = "${bindir}/gcov \
     ${bindir}/gcov-tool \
 "
 
-FILES_g++ = "\
+FILES:g++ = "\
     ${bindir}/${TARGET_PREFIX}g++* \
     ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/cc1plus \
 "
-FILES_g++-symlinks = "\
+FILES:g++-symlinks = "\
     ${bindir}/c++ \
     ${bindir}/g++ \
 "
-RRECOMMENDS_g++ = "\
+RRECOMMENDS:g++ = "\
     libstdc++ \
     libstdc++-dev \
     libatomic \
     libatomic-dev \
 "
 
-FILES_${PN}-doc = "\
+FILES:${PN}-doc = "\
     ${infodir} \
     ${mandir} \
     ${gcclibdir}/${TARGET_SYS}/${BINV}/include/README \
@@ -221,7 +221,7 @@ do_install () {
 	chown -R root:root ${D}
 }
 
-do_install_append () {
+do_install:append () {
         #
         # Thefixinc.sh script, run on the gcc's compile phase, looks into sysroot header
         # files and places the modified files into
diff --git a/meta/recipes-devtools/gcc/gcc_11.1.bb b/meta/recipes-devtools/gcc/gcc_11.1.bb
index 7d935905886..255fe552bdc 100644
--- a/meta/recipes-devtools/gcc/gcc_11.1.bb
+++ b/meta/recipes-devtools/gcc/gcc_11.1.bb
@@ -4,11 +4,11 @@ require gcc-target.inc
 # Building with thumb enabled on armv4t armv5t fails with
 # | gcc-4.8.1-r0/gcc-4.8.1/gcc/cp/decl.c:7438:(.text.unlikely+0x2fa): relocation truncated to fit: R_ARM_THM_CALL against symbol `fancy_abort(char const*, int, char const*)' defined in .glue_7 section in linker stubs
 # | gcc-4.8.1-r0/gcc-4.8.1/gcc/cp/decl.c:7442:(.text.unlikely+0x318): additional relocation overflows omitted from the output
-ARM_INSTRUCTION_SET_armv4 = "arm"
-ARM_INSTRUCTION_SET_armv5 = "arm"
+ARM_INSTRUCTION_SET:armv4 = "arm"
+ARM_INSTRUCTION_SET:armv5 = "arm"
 
-ARMFPARCHEXT_armv6 = "${@'+fp' if d.getVar('TARGET_FPU') == 'hard' else ''}"
-ARMFPARCHEXT_armv7a = "${@'+fp' if d.getVar('TARGET_FPU') == 'hard' else ''}"
-ARMFPARCHEXT_armv7ve = "${@'+fp' if d.getVar('TARGET_FPU') == 'hard' else ''}"
+ARMFPARCHEXT:armv6 = "${@'+fp' if d.getVar('TARGET_FPU') == 'hard' else ''}"
+ARMFPARCHEXT:armv7a = "${@'+fp' if d.getVar('TARGET_FPU') == 'hard' else ''}"
+ARMFPARCHEXT:armv7ve = "${@'+fp' if d.getVar('TARGET_FPU') == 'hard' else ''}"
 
 BBCLASSEXTEND = "nativesdk"
diff --git a/meta/recipes-devtools/gcc/libgcc-common.inc b/meta/recipes-devtools/gcc/libgcc-common.inc
index d959566c3f0..d48dc8b8230 100644
--- a/meta/recipes-devtools/gcc/libgcc-common.inc
+++ b/meta/recipes-devtools/gcc/libgcc-common.inc
@@ -44,16 +44,16 @@ do_install () {
 	rm -rf ${D}${libdir}/${TARGET_SYS}/${BINV}/include
 }
 
-do_install_append_libc-baremetal () {
+do_install:append:libc-baremetal () {
 	rmdir ${D}${base_libdir}
 }
-do_install_append_libc-newlib () {
+do_install:append:libc-newlib () {
 	rmdir ${D}${base_libdir}
 }
 
 # No rpm package is actually created but -dev depends on it, avoid dnf error
-RDEPENDS_${PN}-dev_libc-baremetal = ""
-RDEPENDS_${PN}-dev_libc-newlib = ""
+RDEPENDS:${PN}-dev:libc-baremetal = ""
+RDEPENDS:${PN}-dev:libc-newlib = ""
 
 BBCLASSEXTEND = "nativesdk"
 
@@ -98,9 +98,9 @@ fakeroot python do_multilib_install() {
 
 
     for ml in multilibs.split():
-        tune = d.getVar('DEFAULTTUNE_virtclass-multilib-' + ml)
+        tune = d.getVar('DEFAULTTUNE:virtclass-multilib-' + ml)
         if not tune:
-            bb.warn('DEFAULTTUNE_virtclass-multilib-%s is not defined. Skipping...' % ml)
+            bb.warn('DEFAULTTUNE:virtclass-multilib-%s is not defined. Skipping...' % ml)
             continue
 
         tune_parameters = get_tune_parameters(tune, d)
diff --git a/meta/recipes-devtools/gcc/libgcc-initial.inc b/meta/recipes-devtools/gcc/libgcc-initial.inc
index 06bf224f734..8251e3c2869 100644
--- a/meta/recipes-devtools/gcc/libgcc-initial.inc
+++ b/meta/recipes-devtools/gcc/libgcc-initial.inc
@@ -42,17 +42,17 @@ inherit nopackages
 # We really only want this built by things that need it, not any recrdeptask
 deltask do_build
 
-do_configure_prepend () {
+do_configure:prepend () {
 	install -d ${STAGING_INCDIR}
 	touch ${STAGING_INCDIR}/limits.h
 	sed -i -e 's#INHIBIT_LIBC_CFLAGS =.*#INHIBIT_LIBC_CFLAGS = -Dinhibit_libc#' ${B}/gcc/libgcc.mvars
 	sed -i -e 's#inhibit_libc = false#inhibit_libc = true#' ${B}/gcc/Makefile
 }
 
-do_configure_append () {
+do_configure:append () {
 	sed -i -e 's#thread_header = .*#thread_header = gthr-single.h#' ${B}/${BPN}/Makefile
 }
 
-do_install_append () {
+do_install:append () {
 	ln -s libgcc.a ${D}${libdir}/${TARGET_SYS}/${BINV}/libgcc_eh.a
 }
diff --git a/meta/recipes-devtools/gcc/libgcc-initial_11.1.bb b/meta/recipes-devtools/gcc/libgcc-initial_11.1.bb
index 0c698c26ec0..a259082b47c 100644
--- a/meta/recipes-devtools/gcc/libgcc-initial_11.1.bb
+++ b/meta/recipes-devtools/gcc/libgcc-initial_11.1.bb
@@ -2,4 +2,4 @@ require recipes-devtools/gcc/gcc-${PV}.inc
 require libgcc-initial.inc
 
 # Building with thumb enabled on armv6t fails
-ARM_INSTRUCTION_SET_armv6 = "arm"
+ARM_INSTRUCTION_SET:armv6 = "arm"
diff --git a/meta/recipes-devtools/gcc/libgcc.inc b/meta/recipes-devtools/gcc/libgcc.inc
index 6d48ec98092..84a2d930df2 100644
--- a/meta/recipes-devtools/gcc/libgcc.inc
+++ b/meta/recipes-devtools/gcc/libgcc.inc
@@ -2,7 +2,7 @@ require libgcc-common.inc
 
 DEPENDS = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++ virtual/${MLPREFIX}libc"
 
-do_install_append_class-target () {
+do_install:append:class-target () {
 	if [ "${TCLIBC}" != "glibc" ]; then
 		case "${TARGET_OS}" in
 			"linux-musl" | "linux-*spe") extra_target_os="linux";;
@@ -32,12 +32,12 @@ PACKAGES = "\
 
 # All libgcc source is marked with the exception.
 #
-LICENSE_${PN} = "GPL-3.0-with-GCC-exception"
-LICENSE_${PN}-dev = "GPL-3.0-with-GCC-exception"
-LICENSE_${PN}-dbg = "GPL-3.0-with-GCC-exception"
+LICENSE:${PN} = "GPL-3.0-with-GCC-exception"
+LICENSE:${PN}-dev = "GPL-3.0-with-GCC-exception"
+LICENSE:${PN}-dbg = "GPL-3.0-with-GCC-exception"
 
 
-FILES_${PN}-dev = "\
+FILES:${PN}-dev = "\
     ${base_libdir}/libgcc*.so \
     ${@oe.utils.conditional('BASETARGET_SYS', '${TARGET_SYS}', '', '${libdir}/${BASETARGET_SYS}', d)} \
     ${libdir}/${TARGET_SYS}/${BINV}* \
@@ -49,5 +49,5 @@ do_package_write_ipk[depends] += "virtual/${MLPREFIX}libc:do_packagedata"
 do_package_write_deb[depends] += "virtual/${MLPREFIX}libc:do_packagedata"
 do_package_write_rpm[depends] += "virtual/${MLPREFIX}libc:do_packagedata"
 
-INSANE_SKIP_${PN}-dev = "staticdev"
+INSANE_SKIP:${PN}-dev = "staticdev"
 
diff --git a/meta/recipes-devtools/gcc/libgcc_11.1.bb b/meta/recipes-devtools/gcc/libgcc_11.1.bb
index ea210a11308..f88963b0a42 100644
--- a/meta/recipes-devtools/gcc/libgcc_11.1.bb
+++ b/meta/recipes-devtools/gcc/libgcc_11.1.bb
@@ -2,4 +2,4 @@ require recipes-devtools/gcc/gcc-${PV}.inc
 require libgcc.inc
 
 # Building with thumb enabled on armv6t fails
-ARM_INSTRUCTION_SET_armv6 = "arm"
+ARM_INSTRUCTION_SET:armv6 = "arm"
diff --git a/meta/recipes-devtools/gcc/libgfortran.inc b/meta/recipes-devtools/gcc/libgfortran.inc
index 7543585e6ee..344ec5e21ef 100644
--- a/meta/recipes-devtools/gcc/libgfortran.inc
+++ b/meta/recipes-devtools/gcc/libgfortran.inc
@@ -54,12 +54,12 @@ PACKAGES = "\
     libgfortran-staticdev \
 "
 
-LICENSE_${PN} = "GPL-3.0-with-GCC-exception"
-LICENSE_${PN}-dev = "GPL-3.0-with-GCC-exception"
-LICENSE_${PN}-dbg = "GPL-3.0-with-GCC-exception"
+LICENSE:${PN} = "GPL-3.0-with-GCC-exception"
+LICENSE:${PN}-dev = "GPL-3.0-with-GCC-exception"
+LICENSE:${PN}-dbg = "GPL-3.0-with-GCC-exception"
 
-FILES_${PN} = "${libdir}/libgfortran.so.*"
-FILES_${PN}-dev = "\
+FILES:${PN} = "${libdir}/libgfortran.so.*"
+FILES:${PN}-dev = "\
     ${libdir}/libgfortran*.so \
     ${libdir}/libgfortran.spec \
     ${libdir}/libgfortran.la \
@@ -68,9 +68,9 @@ FILES_${PN}-dev = "\
     ${libdir}/gcc/${TARGET_SYS}/${BINV}/finclude/ \
     ${libdir}/gcc/${TARGET_SYS}/${BINV}/include/ \
 "
-FILES_${PN}-staticdev = "${libdir}/libgfortran.a"
+FILES:${PN}-staticdev = "${libdir}/libgfortran.a"
 
-INSANE_SKIP_${MLPREFIX}libgfortran-dev = "staticdev"
+INSANE_SKIP:${MLPREFIX}libgfortran-dev = "staticdev"
 
 do_package_write_ipk[depends] += "virtual/${MLPREFIX}libc:do_packagedata"
 do_package_write_deb[depends] += "virtual/${MLPREFIX}libc:do_packagedata"
diff --git a/meta/recipes-devtools/gdb/gdb-common.inc b/meta/recipes-devtools/gdb/gdb-common.inc
index a2a6364dafd..01cca123f8b 100644
--- a/meta/recipes-devtools/gdb/gdb-common.inc
+++ b/meta/recipes-devtools/gdb/gdb-common.inc
@@ -5,10 +5,10 @@ SECTION = "devel"
 DEPENDS = "expat zlib ncurses virtual/libiconv ${LTTNGUST} bison-native"
 
 LTTNGUST = "lttng-ust"
-LTTNGUST_arc = ""
-LTTNGUST_aarch64 = ""
-LTTNGUST_mipsarch = ""
-LTTNGUST_sh4 = ""
+LTTNGUST:arc = ""
+LTTNGUST:aarch64 = ""
+LTTNGUST:mipsarch = ""
+LTTNGUST:sh4 = ""
 
 inherit autotools texinfo
 
@@ -52,14 +52,14 @@ do_configure () {
 
 # we don't want gdb to provide bfd/iberty/opcodes, which instead will override the
 # right bits installed by binutils.  Same for bfd.info -- also from binutils.
-do_install_append() {
+do_install:append() {
 	rm -rf ${D}${libdir}
 	rm -rf ${D}${includedir}
 	rm -rf ${D}${datadir}/locale
 	rm -f ${D}${infodir}/bfd.info
 }
 
-RRECOMMENDS_gdb_append_linux = " glibc-thread-db "
-RRECOMMENDS_gdb_append_linux-gnueabi = " glibc-thread-db "
-RRECOMMENDS_gdbserver_append_linux = " glibc-thread-db "
-RRECOMMENDS_gdbserver_append_linux-gnueabi = " glibc-thread-db "
+RRECOMMENDS:gdb:append_linux = " glibc-thread-db "
+RRECOMMENDS:gdb:append_linux-gnueabi = " glibc-thread-db "
+RRECOMMENDS:gdbserver:append_linux = " glibc-thread-db "
+RRECOMMENDS:gdbserver:append_linux-gnueabi = " glibc-thread-db "
diff --git a/meta/recipes-devtools/gdb/gdb-cross-canadian.inc b/meta/recipes-devtools/gdb/gdb-cross-canadian.inc
index edb05b6f180..670534fb5f0 100644
--- a/meta/recipes-devtools/gdb/gdb-cross-canadian.inc
+++ b/meta/recipes-devtools/gdb/gdb-cross-canadian.inc
@@ -21,7 +21,7 @@ PACKAGECONFIG[debuginfod] = "--with-debuginfod, --without-debuginfod, nativesdk-
 
 SSTATE_DUPWHITELIST += "${STAGING_DATADIR}/gdb"
 
-do_configure_prepend() {
+do_configure:prepend() {
 cat > ${WORKDIR}/python << EOF
 #! /bin/sh
 case "\$2" in
@@ -37,7 +37,7 @@ EOF
 
 # we don't want gdb to provide bfd/iberty/opcodes, which instead will override the
 # right bits installed by binutils.
-do_install_append() {
+do_install:append() {
 	rm -rf ${D}${exec_prefix}/lib
 	cross_canadian_bindirlinks
 }
diff --git a/meta/recipes-devtools/gdb/gdb-cross.inc b/meta/recipes-devtools/gdb/gdb-cross.inc
index f8a113da8f6..6ba3eae6fc6 100644
--- a/meta/recipes-devtools/gdb/gdb-cross.inc
+++ b/meta/recipes-devtools/gdb/gdb-cross.inc
@@ -10,7 +10,7 @@ PACKAGECONFIG[python] = "--with-python=${PYTHON},--without-python,python3-native
 PACKAGECONFIG[readline] = "--with-system-readline,--without-system-readline,readline-native"
 PACKAGECONFIG[debuginfod] = "--with-debuginfod, --without-debuginfod, elfutils-native"
 
-do_compile_prepend() {
+do_compile:prepend() {
     export STAGING_LIBDIR="${STAGING_LIBDIR_NATIVE}"
     export STAGING_INCDIR="${STAGING_INCDIR_NATIVE}"
 }
diff --git a/meta/recipes-devtools/gdb/gdb.inc b/meta/recipes-devtools/gdb/gdb.inc
index aa845b5c49d..f4cd0a5c01b 100644
--- a/meta/recipes-devtools/gdb/gdb.inc
+++ b/meta/recipes-devtools/gdb/gdb.inc
@@ -3,9 +3,9 @@ require gdb-common.inc
 inherit gettext
 
 #LDFLAGS_append = " -s"
-#export CFLAGS_append=" -L${STAGING_LIBDIR}"
+#export CFLAGS:append=" -L${STAGING_LIBDIR}"
 
 # cross-canadian must not see this
 PACKAGES =+ "gdbserver"
-FILES_gdbserver = "${bindir}/gdbserver"
+FILES:gdbserver = "${bindir}/gdbserver"
 
diff --git a/meta/recipes-devtools/gdb/gdb_10.2.bb b/meta/recipes-devtools/gdb/gdb_10.2.bb
index d70757a1511..e73e3a2c5c6 100644
--- a/meta/recipes-devtools/gdb/gdb_10.2.bb
+++ b/meta/recipes-devtools/gdb/gdb_10.2.bb
@@ -3,7 +3,7 @@ require gdb-${PV}.inc
 
 inherit python3-dir
 
-EXTRA_OEMAKE_append_libc-musl = "\
+EXTRA_OEMAKE:append:libc-musl = "\
                                  gt_cv_func_gnugettext1_libc=yes \
                                  gt_cv_func_gnugettext2_libc=yes \
                                  gl_cv_func_working_strerror=yes \
@@ -11,7 +11,7 @@ EXTRA_OEMAKE_append_libc-musl = "\
                                  gl_cv_func_gettimeofday_clobber=no \
                                 "
 
-do_configure_prepend() {
+do_configure:prepend() {
 	if [ "${@bb.utils.filter('PACKAGECONFIG', 'python', d)}" ]; then
 		cat > ${WORKDIR}/python << EOF
 #!/bin/sh
diff --git a/meta/recipes-devtools/git/git.inc b/meta/recipes-devtools/git/git.inc
index 146983a9181..9dd2cf45491 100644
--- a/meta/recipes-devtools/git/git.inc
+++ b/meta/recipes-devtools/git/git.inc
@@ -5,7 +5,7 @@ SECTION = "console/utils"
 LICENSE = "GPLv2"
 DEPENDS = "openssl curl zlib expat"
 
-PROVIDES_append_class-native = " git-replacement-native"
+PROVIDES:append:class-native = " git-replacement-native"
 
 SRC_URI = "${KERNELORG_MIRROR}/software/scm/git/git-${PV}.tar.gz;name=tarball \
            ${KERNELORG_MIRROR}/software/scm/git/git-manpages-${PV}.tar.gz;name=manpages \
@@ -26,16 +26,16 @@ EXTRA_OECONF = "--with-perl=${STAGING_BINDIR_NATIVE}/perl-native/perl \
 		--without-tcltk \
 		--without-iconv \
 "
-EXTRA_OECONF_append_class-nativesdk = " --with-gitconfig=/etc/gitconfig "
+EXTRA_OECONF:append:class-nativesdk = " --with-gitconfig=/etc/gitconfig "
 
 # Needs brokensep as this doesn't use automake
 inherit autotools-brokensep perlnative bash-completion
 
 EXTRA_OEMAKE = "NO_PYTHON=1 CFLAGS='${CFLAGS}' LDFLAGS='${LDFLAGS}'"
 EXTRA_OEMAKE += "'PERL_PATH=/usr/bin/env perl'"
-EXTRA_OEMAKE_append_class-native = " NO_CROSS_DIRECTORY_HARDLINKS=1"
+EXTRA_OEMAKE:append:class-native = " NO_CROSS_DIRECTORY_HARDLINKS=1"
 
-do_compile_prepend () {
+do_compile:prepend () {
 	# Remove perl/perl.mak to fix the out-of-date perl.mak error
 	# during rebuild
 	rm -f perl/perl.mak
@@ -79,24 +79,24 @@ perl_native_fixup () {
 REL_GIT_EXEC_PATH = "${@os.path.relpath(libexecdir, bindir)}/git-core"
 REL_GIT_TEMPLATE_DIR = "${@os.path.relpath(datadir, bindir)}/git-core/templates"
 
-do_install_append_class-target () {
+do_install:append:class-target () {
 	perl_native_fixup
 }
 
-do_install_append_class-native() {
+do_install:append:class-native() {
 	create_wrapper ${D}${bindir}/git \
 		GIT_EXEC_PATH='`dirname $''realpath`'/${REL_GIT_EXEC_PATH} \
 		GIT_TEMPLATE_DIR='`dirname $''realpath`'/${REL_GIT_TEMPLATE_DIR}
 }
 
-do_install_append_class-nativesdk() {
+do_install:append:class-nativesdk() {
 	create_wrapper ${D}${bindir}/git \
 		GIT_EXEC_PATH='`dirname $''realpath`'/${REL_GIT_EXEC_PATH} \
 		GIT_TEMPLATE_DIR='`dirname $''realpath`'/${REL_GIT_TEMPLATE_DIR}
 	perl_native_fixup
 }
 
-FILES_${PN} += "${datadir}/git-core ${libexecdir}/git-core/"
+FILES:${PN} += "${datadir}/git-core ${libexecdir}/git-core/"
 
 PERLTOOLS = " \
     ${bindir}/git-cvsserver \
@@ -116,25 +116,25 @@ PERLTOOLS = " \
 
 # Git tools requiring perl
 PACKAGES =+ "${PN}-perltools"
-FILES_${PN}-perltools += " \
+FILES:${PN}-perltools += " \
     ${PERLTOOLS} \
     ${libdir}/perl \
     ${datadir}/perl5 \
 "
 
-RDEPENDS_${PN}-perltools = "${PN} perl perl-module-file-path findutils"
+RDEPENDS:${PN}-perltools = "${PN} perl perl-module-file-path findutils"
 
 # git-tk package with gitk and git-gui
 PACKAGES =+ "${PN}-tk"
 #RDEPENDS_${PN}-tk = "${PN} tk tcl"
 #EXTRA_OEMAKE = "TCL_PATH=${STAGING_BINDIR_CROSS}/tclsh"
-FILES_${PN}-tk = " \
+FILES:${PN}-tk = " \
     ${bindir}/gitk \
     ${datadir}/gitk \
 "
 
 PACKAGES =+ "gitweb"
-FILES_gitweb = "${datadir}/gitweb/"
-RDEPENDS_gitweb = "perl"
+FILES:gitweb = "${datadir}/gitweb/"
+RDEPENDS:gitweb = "perl"
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-devtools/glide/glide_0.13.3.bb b/meta/recipes-devtools/glide/glide_0.13.3.bb
index 6eb87df7c37..e943dc1762a 100644
--- a/meta/recipes-devtools/glide/glide_0.13.3.bb
+++ b/meta/recipes-devtools/glide/glide_0.13.3.bb
@@ -14,15 +14,15 @@ inherit go
 # tool build to fail.
 export GO111MODULE = "off"
 
-RDEPENDS_${PN}-dev += "bash"
-RDEPENDS_${PN}-ptest += "bash"
+RDEPENDS:${PN}-dev += "bash"
+RDEPENDS:${PN}-ptest += "bash"
 
 BBCLASSEXTEND = "native nativesdk"
 
 # for x86 ends with textrel in ${PN}
 # http://errors.yoctoproject.org/Errors/Details/185631/
 # ERROR: QA Issue: ELF binary '/work/i586-oe-linux/glide/0.13.1-r0/packages-split/glide/usr/bin/glide' has relocations in .text [textrel]
-INSANE_SKIP_${PN} += "textrel"
+INSANE_SKIP:${PN} += "textrel"
 
 # for aarch64 ends with textrel in ${PN}-ptest
 # http://errors.yoctoproject.org/Errors/Details/185633/
@@ -37,7 +37,7 @@ INSANE_SKIP_${PN} += "textrel"
 # ELF binary '/work/aarch64-oe-linux/glide/0.13.1-r0/packages-split/glide-ptest/usr/lib/glide/ptest/github.com/Masterminds/glide/util/util.test' has relocations in .text
 # ELF binary '/work/aarch64-oe-linux/glide/0.13.1-r0/packages-split/glide-ptest/usr/lib/glide/ptest/github.com/Masterminds/glide/action/action.test' has relocations in .text
 # ELF binary '/work/aarch64-oe-linux/glide/0.13.1-r0/packages-split/glide-ptest/usr/lib/glide/ptest/github.com/Masterminds/glide/cache/cache.test' has relocations in .text [textrel]
-INSANE_SKIP_${PN}-ptest += "textrel"
+INSANE_SKIP:${PN}-ptest += "textrel"
 
 # fails to run task compile_ptest_base on mips
-PTEST_ENABLED_mipsarch = "0"
+PTEST_ENABLED:mipsarch = "0"
diff --git a/meta/recipes-devtools/gnu-config/gnu-config_git.bb b/meta/recipes-devtools/gnu-config/gnu-config_git.bb
index 6e4435be2cb..34b425031fd 100644
--- a/meta/recipes-devtools/gnu-config/gnu-config_git.bb
+++ b/meta/recipes-devtools/gnu-config/gnu-config_git.bb
@@ -5,7 +5,7 @@ SECTION = "devel"
 LICENSE = "GPL-3.0-with-autoconf-exception"
 LIC_FILES_CHKSUM = "file://config.guess;beginline=9;endline=29;md5=b75d42f59f706ea56d6a8e00216fca6a"
 
-DEPENDS_class-native = "hostperl-runtime-native"
+DEPENDS:class-native = "hostperl-runtime-native"
 
 INHIBIT_DEFAULT_DEPS = "1"
 
@@ -36,6 +36,6 @@ do_install () {
 }
 
 PACKAGES = "${PN}"
-FILES_${PN} = "${bindir} ${datadir}/gnu-config"
+FILES:${PN} = "${bindir} ${datadir}/gnu-config"
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-devtools/go/go-1.16.5.inc b/meta/recipes-devtools/go/go-1.16.5.inc
index bd928e44f8c..545aa0c8287 100644
--- a/meta/recipes-devtools/go/go-1.16.5.inc
+++ b/meta/recipes-devtools/go/go-1.16.5.inc
@@ -2,7 +2,7 @@ require go-common.inc
 
 GO_BASEVERSION = "1.16"
 PV = "1.16.5"
-FILESEXTRAPATHS_prepend := "${FILE_DIRNAME}/go-${GO_BASEVERSION}:"
+FILESEXTRAPATHS:prepend := "${FILE_DIRNAME}/go-${GO_BASEVERSION}:"
 
 LIC_FILES_CHKSUM = "file://LICENSE;md5=5d4950ecb7b26d2c5e4e7b4e0dd74707"
 
diff --git a/meta/recipes-devtools/go/go-common.inc b/meta/recipes-devtools/go/go-common.inc
index 39a681a7121..dfccebdb83a 100644
--- a/meta/recipes-devtools/go/go-common.inc
+++ b/meta/recipes-devtools/go/go-common.inc
@@ -37,6 +37,6 @@ export GO386 ?= "${TARGET_GO386}"
 export GOMIPS ?= "${TARGET_GOMIPS}"
 export GOROOT_FINAL ?= "${libdir}/go"
 
-do_compile_prepend() {
+do_compile:prepend() {
 	BUILD_CC=${BUILD_CC}
 }
diff --git a/meta/recipes-devtools/go/go-native_1.16.5.bb b/meta/recipes-devtools/go/go-native_1.16.5.bb
index f14892cdb0c..ffe4ef35236 100644
--- a/meta/recipes-devtools/go/go-native_1.16.5.bb
+++ b/meta/recipes-devtools/go/go-native_1.16.5.bb
@@ -5,7 +5,7 @@ require go-${PV}.inc
 
 inherit native
 
-SRC_URI_append = " https://dl.google.com/go/go1.4-bootstrap-20171003.tar.gz;name=bootstrap;subdir=go1.4"
+SRC_URI:append = " https://dl.google.com/go/go1.4-bootstrap-20171003.tar.gz;name=bootstrap;subdir=go1.4"
 SRC_URI[bootstrap.sha256sum] = "f4ff5b5eb3a3cae1c993723f3eab519c5bae18866b5e5f96fe1102f0cb5c3e52"
 
 export GOOS = "${BUILD_GOOS}"
diff --git a/meta/recipes-devtools/go/go-runtime.inc b/meta/recipes-devtools/go/go-runtime.inc
index 21179a83a00..617e6b54146 100644
--- a/meta/recipes-devtools/go/go-runtime.inc
+++ b/meta/recipes-devtools/go/go-runtime.inc
@@ -1,5 +1,5 @@
 DEPENDS = "virtual/${TUNE_PKGARCH}-go go-native"
-DEPENDS_class-nativesdk = "virtual/${TARGET_PREFIX}go-crosssdk"
+DEPENDS:class-nativesdk = "virtual/${TARGET_PREFIX}go-crosssdk"
 PROVIDES = "virtual/${TARGET_PREFIX}go-runtime"
 
 export CGO_CFLAGS = "${CFLAGS}"
@@ -15,7 +15,7 @@ do_configure() {
 	:
 }
 
-do_configure_libc-musl() {
+do_configure:libc-musl() {
 	rm -f ${S}/src/runtime/race/*.syso
 }
 
@@ -55,9 +55,9 @@ do_install() {
 
 }
 
-ALLOW_EMPTY_${PN} = "1"
-FILES_${PN} = "${libdir}/go/pkg/${TARGET_GOTUPLE}_dynlink/*${SOLIBSDEV}"
-FILES_${PN}-dev = "${libdir}/go/src ${libdir}/go/pkg/include \
+ALLOW_EMPTY:${PN} = "1"
+FILES:${PN} = "${libdir}/go/pkg/${TARGET_GOTUPLE}_dynlink/*${SOLIBSDEV}"
+FILES:${PN}-dev = "${libdir}/go/src ${libdir}/go/pkg/include \
                    ${libdir}/go/pkg/${TARGET_GOTUPLE}_dynlink/*.shlibname \
                    ${libdir}/go/pkg/${TARGET_GOTUPLE}_dynlink/*/*.shlibname \
                    ${libdir}/go/pkg/${TARGET_GOTUPLE}_dynlink/*/*/*.shlibname \
@@ -73,12 +73,12 @@ FILES_${PN}-dev = "${libdir}/go/src ${libdir}/go/pkg/include \
                    ${libdir}/go/pkg/${TARGET_GOTUPLE}_dynlink/*/*/*/*/*/*.a \
                    ${libdir}/go/pkg/${TARGET_GOTUPLE}_dynlink/*/*/*/*/*/*/*.a \
 "
-FILES_${PN}-staticdev = "${libdir}/go/pkg/${TARGET_GOTUPLE}"
+FILES:${PN}-staticdev = "${libdir}/go/pkg/${TARGET_GOTUPLE}"
 
 # Go sources include some scripts and pre-built binaries for
 # multiple architectures.  The static .a files for dynamically-linked
 # runtime are also required in -dev.
-INSANE_SKIP_${PN}-dev = "staticdev file-rdeps arch"
+INSANE_SKIP:${PN}-dev = "staticdev file-rdeps arch"
 
 INHIBIT_PACKAGE_STRIP = "1"
 INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
diff --git a/meta/recipes-devtools/go/go-target.inc b/meta/recipes-devtools/go/go-target.inc
index 8e442470318..47b4411d546 100644
--- a/meta/recipes-devtools/go/go-target.inc
+++ b/meta/recipes-devtools/go/go-target.inc
@@ -1,12 +1,12 @@
 DEPENDS = "virtual/${TUNE_PKGARCH}-go go-native"
-DEPENDS_class-nativesdk = "virtual/${TARGET_PREFIX}go-crosssdk go-native"
+DEPENDS:class-nativesdk = "virtual/${TARGET_PREFIX}go-crosssdk go-native"
 
 export GOCACHE = "${B}/.cache"
 GO_LDFLAGS = ""
-GO_LDFLAGS_class-nativesdk = "-linkmode external"
+GO_LDFLAGS:class-nativesdk = "-linkmode external"
 export GO_LDFLAGS
 
-CC_append_class-nativesdk = " ${SECURITY_NOPIE_CFLAGS}"
+CC:append:class-nativesdk = " ${SECURITY_NOPIE_CFLAGS}"
 
 do_configure[noexec] = "1"
 
@@ -38,8 +38,8 @@ do_install() {
 }
 
 PACKAGES = "${PN} ${PN}-dev"
-FILES_${PN} = "${libdir}/go/bin ${libdir}/go/pkg/tool/${TARGET_GOTUPLE} ${bindir}"
-RDEPENDS_${PN} = "go-runtime"
-INSANE_SKIP_${PN} = "ldflags"
+FILES:${PN} = "${libdir}/go/bin ${libdir}/go/pkg/tool/${TARGET_GOTUPLE} ${bindir}"
+RDEPENDS:${PN} = "go-runtime"
+INSANE_SKIP:${PN} = "ldflags"
 
 BBCLASSEXTEND = "nativesdk"
diff --git a/meta/recipes-devtools/go/go_1.16.5.bb b/meta/recipes-devtools/go/go_1.16.5.bb
index 4e9e0ebec83..34dc89bb0cc 100644
--- a/meta/recipes-devtools/go/go_1.16.5.bb
+++ b/meta/recipes-devtools/go/go_1.16.5.bb
@@ -12,6 +12,6 @@ export CXX_FOR_TARGET = "g++"
 # variants.
 python() {
     if 'mips' in d.getVar('TARGET_ARCH',True) or 'riscv32' in d.getVar('TARGET_ARCH',True):
-        d.appendVar('INSANE_SKIP_%s' % d.getVar('PN',True), " textrel")
+        d.appendVar('INSANE_SKIP:%s' % d.getVar('PN',True), " textrel")
 }
 
diff --git a/meta/recipes-devtools/help2man/help2man_1.48.3.bb b/meta/recipes-devtools/help2man/help2man_1.48.3.bb
index a612c0896c4..d24e6c446ef 100644
--- a/meta/recipes-devtools/help2man/help2man_1.48.3.bb
+++ b/meta/recipes-devtools/help2man/help2man_1.48.3.bb
@@ -16,7 +16,7 @@ EXTRA_AUTORECONF += "--exclude=aclocal"
 
 EXTRA_OECONF = "--disable-nls"
 
-do_install_append () {
+do_install:append () {
 	# Make sure we use /usr/bin/env perl
 	sed -i -e "1s:#!.*:#! /usr/bin/env perl:" ${D}${bindir}/help2man
 }
diff --git a/meta/recipes-devtools/i2c-tools/i2c-tools_4.2.bb b/meta/recipes-devtools/i2c-tools/i2c-tools_4.2.bb
index 9842d1f135d..77196fd6332 100644
--- a/meta/recipes-devtools/i2c-tools/i2c-tools_4.2.bb
+++ b/meta/recipes-devtools/i2c-tools/i2c-tools_4.2.bb
@@ -22,20 +22,20 @@ do_install() {
 }
 
 PACKAGES =+ "${PN}-misc"
-FILES_${PN}-misc = "${sbindir}/i2c-stub-from-dump \
+FILES:${PN}-misc = "${sbindir}/i2c-stub-from-dump \
                         ${bindir}/ddcmon \
                         ${bindir}/decode-edid \
                         ${bindir}/decode-dimms \
                         ${bindir}/decode-vaio \
                        "
-RDEPENDS_${PN}-misc = "${PN} perl perl-module-posix \
+RDEPENDS:${PN}-misc = "${PN} perl perl-module-posix \
                        perl-module-constant perl-module-file-basename \
                        perl-module-fcntl perl-module-strict perl-module-vars \
 		       perl-module-carp \
                       "
 
 ALTERNATIVE_PRIORITY = "100"
-ALTERNATIVE_${PN} = "i2cdetect i2cdump i2cget i2cset i2ctransfer"
+ALTERNATIVE:${PN} = "i2cdetect i2cdump i2cget i2cset i2ctransfer"
 ALTERNATIVE_LINK_NAME[i2cdetect] = "${sbindir}/i2cdetect"
 ALTERNATIVE_LINK_NAME[i2cdump] = "${sbindir}/i2cdump"
 ALTERNATIVE_LINK_NAME[i2cget] = "${sbindir}/i2cget"
diff --git a/meta/recipes-devtools/icecc-create-env/icecc-create-env_0.1.bb b/meta/recipes-devtools/icecc-create-env/icecc-create-env_0.1.bb
index 61b8487c7ee..27014226b52 100644
--- a/meta/recipes-devtools/icecc-create-env/icecc-create-env_0.1.bb
+++ b/meta/recipes-devtools/icecc-create-env/icecc-create-env_0.1.bb
@@ -36,4 +36,4 @@ do_install() {
 
 BBCLASSEXTEND = "native nativesdk"
 
-RDEPENDS_${PN}_class-nativesdk = "patchelf"
+RDEPENDS:${PN}:class-nativesdk = "patchelf"
diff --git a/meta/recipes-devtools/icecc-toolchain/nativesdk-icecc-toolchain_0.1.bb b/meta/recipes-devtools/icecc-toolchain/nativesdk-icecc-toolchain_0.1.bb
index ce4d73caf62..034a0047d7c 100644
--- a/meta/recipes-devtools/icecc-toolchain/nativesdk-icecc-toolchain_0.1.bb
+++ b/meta/recipes-devtools/icecc-toolchain/nativesdk-icecc-toolchain_0.1.bb
@@ -34,6 +34,6 @@ do_install() {
 }
 
 PACKAGES = "${PN}"
-FILES_${PN} = "${SDKPATHNATIVE}"
-RDEPENDS_${PN} += "nativesdk-icecc-create-env"
+FILES:${PN} = "${SDKPATHNATIVE}"
+RDEPENDS:${PN} += "nativesdk-icecc-create-env"
 
diff --git a/meta/recipes-devtools/intltool/intltool_0.51.0.bb b/meta/recipes-devtools/intltool/intltool_0.51.0.bb
index 592dbb92e27..77be30758d5 100644
--- a/meta/recipes-devtools/intltool/intltool_0.51.0.bb
+++ b/meta/recipes-devtools/intltool/intltool_0.51.0.bb
@@ -17,23 +17,23 @@ SRC_URI[sha256sum] = "67c74d94196b153b774ab9f89b2fa6c6ba79352407037c8c14d5aeb334
 UPSTREAM_CHECK_URI = "https://launchpad.net/intltool/trunk/"
 
 DEPENDS = "libxml-parser-perl-native"
-RDEPENDS_${PN} = "gettext-dev libxml-parser-perl"
-DEPENDS_class-native = "libxml-parser-perl-native gettext-native"
+RDEPENDS:${PN} = "gettext-dev libxml-parser-perl"
+DEPENDS:class-native = "libxml-parser-perl-native gettext-native"
 
 inherit autotools pkgconfig perlnative
 
 export PERL = "${bindir}/env perl"
-PERL_class-native = "/usr/bin/env nativeperl"
-PERL_class-nativesdk = "/usr/bin/env perl"
+PERL:class-native = "/usr/bin/env nativeperl"
+PERL:class-nativesdk = "/usr/bin/env perl"
 
 # gettext is assumed to exist on the host
-RDEPENDS_${PN}_class-native = "libxml-parser-perl-native"
-RRECOMMENDS_${PN} = "perl-modules"
-RRECOMMENDS_${PN}_class-native = ""
+RDEPENDS:${PN}:class-native = "libxml-parser-perl-native"
+RRECOMMENDS:${PN} = "perl-modules"
+RRECOMMENDS:${PN}:class-native = ""
 
-FILES_${PN}-dev = ""
-FILES_${PN} += "${datadir}/aclocal"
+FILES:${PN}-dev = ""
+FILES:${PN} += "${datadir}/aclocal"
 
-INSANE_SKIP_${PN} += "dev-deps"
+INSANE_SKIP:${PN} += "dev-deps"
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-devtools/jquery/jquery_3.6.0.bb b/meta/recipes-devtools/jquery/jquery_3.6.0.bb
index 03792730fd2..33b177d1d0f 100644
--- a/meta/recipes-devtools/jquery/jquery_3.6.0.bb
+++ b/meta/recipes-devtools/jquery/jquery_3.6.0.bb
@@ -34,6 +34,6 @@ do_install() {
 }
 
 PACKAGES = "${PN}"
-FILES_${PN} = "${datadir}"
+FILES:${PN} = "${datadir}"
 
 BBCLASSEXTEND += "native nativesdk"
diff --git a/meta/recipes-devtools/json-c/json-c_0.15.bb b/meta/recipes-devtools/json-c/json-c_0.15.bb
index 2968590dd84..863463ca51e 100644
--- a/meta/recipes-devtools/json-c/json-c_0.15.bb
+++ b/meta/recipes-devtools/json-c/json-c_0.15.bb
@@ -11,7 +11,7 @@ SRC_URI[sha256sum] = "b8d80a1ddb718b3ba7492916237bbf86609e9709fb007e7f7d4322f023
 UPSTREAM_CHECK_URI = "https://github.com/${BPN}/${BPN}/releases"
 UPSTREAM_CHECK_REGEX = "json-c-(?P<pver>\d+(\.\d+)+)-\d+"
 
-RPROVIDES_${PN} = "libjson"
+RPROVIDES:${PN} = "libjson"
 
 inherit cmake
 
diff --git a/meta/recipes-devtools/libdnf/libdnf_0.63.1.bb b/meta/recipes-devtools/libdnf/libdnf_0.63.1.bb
index 6ffeb945bbb..282c28e2c4c 100644
--- a/meta/recipes-devtools/libdnf/libdnf_0.63.1.bb
+++ b/meta/recipes-devtools/libdnf/libdnf_0.63.1.bb
@@ -30,8 +30,8 @@ EXTRA_OECMAKE = " -DPYTHON_INSTALL_DIR=${PYTHON_SITEPACKAGES_DIR} -DWITH_MAN=OFF
                   -DWITH_ZCHUNK=OFF \
                   -DWITH_HTML=OFF \
                 "
-EXTRA_OECMAKE_append_class-native = " -DWITH_GIR=OFF"
-EXTRA_OECMAKE_append_class-nativesdk = " -DWITH_GIR=OFF"
+EXTRA_OECMAKE:append:class-native = " -DWITH_GIR=OFF"
+EXTRA_OECMAKE:append:class-nativesdk = " -DWITH_GIR=OFF"
 
 BBCLASSEXTEND = "native nativesdk"
 PNBLACKLIST[libdnf] ?= "${@bb.utils.contains('PACKAGE_CLASSES', 'package_rpm', '', 'Does not build without package_rpm in PACKAGE_CLASSES due disabled rpm support in libsolv', d)}"
diff --git a/meta/recipes-devtools/libedit/libedit_20210522-3.1.bb b/meta/recipes-devtools/libedit/libedit_20210522-3.1.bb
index 43e6f2244b3..72392dd1903 100644
--- a/meta/recipes-devtools/libedit/libedit_20210522-3.1.bb
+++ b/meta/recipes-devtools/libedit/libedit_20210522-3.1.bb
@@ -20,5 +20,5 @@ BBCLASSEXTEND = "native nativesdk"
 inherit update-alternatives
 
 ALTERNATIVE_PRIORITY = "90"
-ALTERNATIVE_${PN}-doc = "history.3"
+ALTERNATIVE:${PN}-doc = "history.3"
 ALTERNATIVE_LINK_NAME[history.3] = "${mandir}/man3/history.3"
diff --git a/meta/recipes-devtools/libtool/libtool-2.4.6.inc b/meta/recipes-devtools/libtool/libtool-2.4.6.inc
index e9225e140c8..c1cbceb51fd 100644
--- a/meta/recipes-devtools/libtool/libtool-2.4.6.inc
+++ b/meta/recipes-devtools/libtool/libtool-2.4.6.inc
@@ -28,7 +28,7 @@ SRC_URI = "${GNU_MIRROR}/libtool/libtool-${PV}.tar.gz \
 SRC_URI[md5sum] = "addf44b646ddb4e3919805aa88fa7c5e"
 SRC_URI[sha256sum] = "e3bd4d5d3d025a36c21dd6af7ea818a2afcd4dfc1ea5a17b39d7854bcd0c06e3"
 
-do_compile_prepend () {
+do_compile:prepend () {
 	# Sometimes this file doesn't get rebuilt, force the issue
 	rm -f ${S}/build-aux/ltmain.sh
 	make build-aux/ltmain.sh
@@ -43,9 +43,9 @@ CACHED_CONFIGUREVARS += "ac_cv_path_GREP=grep"
 DEPENDS = "libtool-native"
 
 PACKAGES =+ "libltdl"
-FILES_${PN} += "${datadir}/aclocal"
+FILES:${PN} += "${datadir}/aclocal"
 
-FILES_${PN}-dev_remove = "${datadir}/aclocal"
-FILES_libltdl = "${libdir}/libltdl${SOLIBS}"
+FILES:${PN}-dev:remove = "${datadir}/aclocal"
+FILES:libltdl = "${libdir}/libltdl${SOLIBS}"
 
 export CONFIG_SHELL="/bin/bash"
diff --git a/meta/recipes-devtools/libtool/libtool-cross_2.4.6.bb b/meta/recipes-devtools/libtool/libtool-cross_2.4.6.bb
index 02c6e152fc9..4a43867b3ec 100644
--- a/meta/recipes-devtools/libtool/libtool-cross_2.4.6.bb
+++ b/meta/recipes-devtools/libtool/libtool-cross_2.4.6.bb
@@ -8,7 +8,7 @@ datadir = "${STAGING_DIR_TARGET}${target_datadir}"
 
 inherit nopackages
 
-do_configure_prepend () {
+do_configure:prepend () {
 	# Remove any existing libtool m4 since old stale versions would break
 	# any upgrade
 	rm -f ${STAGING_DATADIR}/aclocal/libtool.m4
diff --git a/meta/recipes-devtools/libtool/libtool-native_2.4.6.bb b/meta/recipes-devtools/libtool/libtool-native_2.4.6.bb
index 4c5218ade07..3b20ce3e69f 100644
--- a/meta/recipes-devtools/libtool/libtool-native_2.4.6.bb
+++ b/meta/recipes-devtools/libtool/libtool-native_2.4.6.bb
@@ -8,7 +8,7 @@ inherit native
 
 EXTRA_OECONF = " --with-libtool-sysroot=${STAGING_DIR_NATIVE}"
 
-do_configure_prepend () {
+do_configure:prepend () {
 	# Remove any existing libtool m4 since old stale versions would break
 	# any upgrade
 	rm -f ${STAGING_DATADIR}/aclocal/libtool.m4
diff --git a/meta/recipes-devtools/libtool/libtool_2.4.6.bb b/meta/recipes-devtools/libtool/libtool_2.4.6.bb
index a5715faaa95..95bbc875f09 100644
--- a/meta/recipes-devtools/libtool/libtool_2.4.6.bb
+++ b/meta/recipes-devtools/libtool/libtool_2.4.6.bb
@@ -2,7 +2,7 @@ require libtool-${PV}.inc
 
 SRC_URI += "file://multilib.patch file://debian-no_hostname.patch"
 
-RDEPENDS_${PN} += "bash"
+RDEPENDS:${PN} += "bash"
 
 #
 # We want the results of libtool-cross preserved - don't stage anything ourselves.
@@ -13,9 +13,9 @@ SYSROOT_DIRS_BLACKLIST += " \
     ${datadir}/libtool/build-aux \
 "
 
-ACLOCALEXTRAPATH_class-target = ""
+ACLOCALEXTRAPATH:class-target = ""
 
-do_install_append () {
+do_install:append () {
         sed -e 's@--sysroot=${STAGING_DIR_HOST}@@g' \
             -e "s@${DEBUG_PREFIX_MAP}@@g" \
             -e 's@${STAGING_DIR_HOST}@@g' \
diff --git a/meta/recipes-devtools/libtool/nativesdk-libtool_2.4.6.bb b/meta/recipes-devtools/libtool/nativesdk-libtool_2.4.6.bb
index 508eade326b..e3ad6721fdf 100644
--- a/meta/recipes-devtools/libtool/nativesdk-libtool_2.4.6.bb
+++ b/meta/recipes-devtools/libtool/nativesdk-libtool_2.4.6.bb
@@ -8,9 +8,9 @@ SRC_URI += "file://fixinstall.patch"
 inherit nativesdk
 
 S = "${WORKDIR}/libtool-${PV}"
-FILES_${PN} += "${datadir}/libtool/*"
+FILES:${PN} += "${datadir}/libtool/*"
 
-do_configure_prepend () {
+do_configure:prepend () {
 	# Remove any existing libtool m4 since old stale versions would break
 	# any upgrade
 	rm -f ${STAGING_DATADIR}/aclocal/libtool.m4
diff --git a/meta/recipes-devtools/llvm/llvm_git.bb b/meta/recipes-devtools/llvm/llvm_git.bb
index 4554b752ebd..41670806533 100644
--- a/meta/recipes-devtools/llvm/llvm_git.bb
+++ b/meta/recipes-devtools/llvm/llvm_git.bb
@@ -10,10 +10,10 @@ LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=8a15a0759ef07f2682d2ba4b893c9afe"
 
 DEPENDS = "libffi libxml2 zlib libedit ninja-native llvm-native"
 
-COMPATIBLE_HOST_riscv64 = "null"
-COMPATIBLE_HOST_riscv32 = "null"
+COMPATIBLE_HOST:riscv64 = "null"
+COMPATIBLE_HOST:riscv32 = "null"
 
-RDEPENDS_${PN}_append_class-target = " ncurses-terminfo"
+RDEPENDS:${PN}:append:class-target = " ncurses-terminfo"
 
 inherit cmake pkgconfig
 
@@ -62,8 +62,8 @@ def get_llvm_host_arch(bb, d):
 #
 LLVM_TARGETS ?= "AMDGPU;${@get_llvm_host_arch(bb, d)}"
 
-ARM_INSTRUCTION_SET_armv5 = "arm"
-ARM_INSTRUCTION_SET_armv4t = "arm"
+ARM_INSTRUCTION_SET:armv5 = "arm"
+ARM_INSTRUCTION_SET:armv4t = "arm"
 
 EXTRA_OECMAKE += "-DLLVM_ENABLE_ASSERTIONS=OFF \
                   -DLLVM_ENABLE_EXPENSIVE_CHECKS=OFF \
@@ -79,19 +79,19 @@ EXTRA_OECMAKE += "-DLLVM_ENABLE_ASSERTIONS=OFF \
                   -DPYTHON_EXECUTABLE=${HOSTTOOLS_DIR}/python3 \
                   -G Ninja"
 
-EXTRA_OECMAKE_append_class-target = "\
+EXTRA_OECMAKE:append:class-target = "\
                   -DCMAKE_CROSSCOMPILING:BOOL=ON \
                   -DLLVM_TABLEGEN=${STAGING_BINDIR_NATIVE}/llvm-tblgen${PV} \
                   -DLLVM_CONFIG_PATH=${STAGING_BINDIR_NATIVE}/llvm-config${PV} \
                  "
 
-EXTRA_OECMAKE_append_class-nativesdk = "\
+EXTRA_OECMAKE:append:class-nativesdk = "\
                   -DCMAKE_CROSSCOMPILING:BOOL=ON \
                   -DLLVM_TABLEGEN=${STAGING_BINDIR_NATIVE}/llvm-tblgen${PV} \
                   -DLLVM_CONFIG_PATH=${STAGING_BINDIR_NATIVE}/llvm-config${PV} \
                  "
 
-do_configure_prepend() {
+do_configure:prepend() {
 # Fix paths in llvm-config
 	sed -i "s|sys::path::parent_path(CurrentPath))\.str()|sys::path::parent_path(sys::path::parent_path(CurrentPath))).str()|g" ${S}/tools/llvm-config/llvm-config.cpp
 	sed -ri "s#/(bin|include|lib)(/?\")#/\1/${LLVM_DIR}\2#g" ${S}/tools/llvm-config/llvm-config.cpp
@@ -99,7 +99,7 @@ do_configure_prepend() {
 }
 
 # patch out build host paths for reproducibility
-do_compile_prepend_class-target() {
+do_compile:prepend:class-target() {
         sed -i -e "s,${WORKDIR},,g" ${B}/tools/llvm-config/BuildVariables.inc
 }
 
@@ -107,7 +107,7 @@ do_compile() {
 	ninja -v ${PARALLEL_MAKE}
 }
 
-do_compile_class-native() {
+do_compile:class-native() {
 	ninja -v ${PARALLEL_MAKE} llvm-config llvm-tblgen
 }
 
@@ -142,7 +142,7 @@ do_install() {
 	rm -rf ${D}${libdir}/${LLVM_DIR}/libLTO.so
 }
 
-do_install_class-native() {
+do_install:class-native() {
 	install -D -m 0755 ${B}/bin/llvm-tblgen ${D}${bindir}/llvm-tblgen${PV}
 	install -D -m 0755 ${B}/bin/llvm-config ${D}${bindir}/llvm-config${PV}
 	install -D -m 0755 ${B}/lib/libLLVM-${MAJOR_VERSION}.so ${D}${libdir}/libLLVM-${MAJOR_VERSION}.so
@@ -150,39 +150,39 @@ do_install_class-native() {
 
 PACKAGES =+ "${PN}-bugpointpasses ${PN}-llvmhello ${PN}-libllvm ${PN}-liboptremarks ${PN}-liblto"
 
-RRECOMMENDS_${PN}-dev += "${PN}-bugpointpasses ${PN}-llvmhello ${PN}-liboptremarks"
+RRECOMMENDS:${PN}-dev += "${PN}-bugpointpasses ${PN}-llvmhello ${PN}-liboptremarks"
 
-FILES_${PN}-bugpointpasses = "\
+FILES:${PN}-bugpointpasses = "\
     ${libdir}/${LLVM_DIR}/BugpointPasses.so \
 "
 
-FILES_${PN}-libllvm = "\
+FILES:${PN}-libllvm = "\
     ${libdir}/${LLVM_DIR}/libLLVM-${MAJOR_VERSION}.so \
     ${libdir}/libLLVM-${MAJOR_VERSION}.so \
 "
 
-FILES_${PN}-liblto += "\
+FILES:${PN}-liblto += "\
     ${libdir}/${LLVM_DIR}/libLTO.so.* \
 "
 
-FILES_${PN}-liboptremarks += "\
+FILES:${PN}-liboptremarks += "\
     ${libdir}/${LLVM_DIR}/libRemarks.so.* \
 "
 
-FILES_${PN}-llvmhello = "\
+FILES:${PN}-llvmhello = "\
     ${libdir}/${LLVM_DIR}/LLVMHello.so \
 "
 
-FILES_${PN}-dev += " \
+FILES:${PN}-dev += " \
     ${libdir}/${LLVM_DIR}/llvm-config \
     ${libdir}/${LLVM_DIR}/libRemarks.so \
     ${libdir}/${LLVM_DIR}/libLLVM-${PV}.so \
 "
 
-FILES_${PN}-staticdev += "\
+FILES:${PN}-staticdev += "\
     ${libdir}/${LLVM_DIR}/*.a \
 "
 
-INSANE_SKIP_${PN}-libllvm += "dev-so"
+INSANE_SKIP:${PN}-libllvm += "dev-so"
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-devtools/m4/m4-1.4.19.inc b/meta/recipes-devtools/m4/m4-1.4.19.inc
index 5f3d59226e9..0516e495526 100644
--- a/meta/recipes-devtools/m4/m4-1.4.19.inc
+++ b/meta/recipes-devtools/m4/m4-1.4.19.inc
@@ -9,7 +9,7 @@ inherit autotools texinfo ptest gettext
 SRC_URI = "${GNU_MIRROR}/m4/m4-${PV}.tar.gz \
            file://ac_config_links.patch \
            "
-SRC_URI_append_class-target = " file://run-ptest \
+SRC_URI:append:class-target = " file://run-ptest \
                                 file://serial-tests-config.patch \
                               "
 
@@ -51,11 +51,11 @@ do_install_ptest() {
 }
 
 
-RDEPENDS_${PN}-ptest += "make coreutils diffutils"
-RDEPENDS_${PN}-ptest_append_libc-glibc = "\
+RDEPENDS:${PN}-ptest += "make coreutils diffutils"
+RDEPENDS:${PN}-ptest:append:libc-glibc = "\
      locale-base-fr-fr.iso-8859-1 \
 "
 
-INSANE_SKIP_${PN}-ptest += "ldflags"
-INSANE_SKIP_${PN}-ptest += "rpaths"
+INSANE_SKIP:${PN}-ptest += "ldflags"
+INSANE_SKIP:${PN}-ptest += "rpaths"
 
diff --git a/meta/recipes-devtools/makedevs/makedevs_1.0.1.bb b/meta/recipes-devtools/makedevs/makedevs_1.0.1.bb
index 5910f4bc707..79746260d06 100644
--- a/meta/recipes-devtools/makedevs/makedevs_1.0.1.bb
+++ b/meta/recipes-devtools/makedevs/makedevs_1.0.1.bb
@@ -8,7 +8,7 @@ SRC_URI = "file://makedevs.c \
 
 S = "${WORKDIR}"
 
-FILES_${PN}_append_class-nativesdk = " ${datadir}"
+FILES:${PN}:append:class-nativesdk = " ${datadir}"
 
 do_compile() {
 	${CC} ${CFLAGS} ${LDFLAGS} -o ${S}/makedevs ${S}/makedevs.c
@@ -19,7 +19,7 @@ do_install() {
 	install -m 0755 ${S}/makedevs ${D}${base_sbindir}/makedevs
 }
 
-do_install_append_class-nativesdk() {
+do_install:append:class-nativesdk() {
 	install -d ${D}${datadir}
 	install -m 644 ${COREBASE}/meta/files/device_table-minimal.txt ${D}${datadir}/
 }
diff --git a/meta/recipes-devtools/meson/meson.inc b/meta/recipes-devtools/meson/meson.inc
index 7ddfccf2d66..f1746d20943 100644
--- a/meta/recipes-devtools/meson/meson.inc
+++ b/meta/recipes-devtools/meson/meson.inc
@@ -24,11 +24,11 @@ UPSTREAM_CHECK_REGEX = "meson-(?P<pver>\d+(\.\d+)+)\.tar"
 
 inherit setuptools3
 
-RDEPENDS_${PN} = "ninja python3-modules python3-pkg-resources"
+RDEPENDS:${PN} = "ninja python3-modules python3-pkg-resources"
 
-FILES_${PN} += "${datadir}/polkit-1"
+FILES:${PN} += "${datadir}/polkit-1"
 
-do_install_append () {
+do_install:append () {
 	# As per the same issue in the python recipe itself:
 	# Unfortunately the following pyc files are non-deterministc due to 'frozenset'
 	# being written without strict ordering, even with PYTHONHASHSEED = 0
diff --git a/meta/recipes-devtools/meson/nativesdk-meson_0.58.1.bb b/meta/recipes-devtools/meson/nativesdk-meson_0.58.1.bb
index 74e1a7104aa..0e76cc78f85 100644
--- a/meta/recipes-devtools/meson/nativesdk-meson_0.58.1.bb
+++ b/meta/recipes-devtools/meson/nativesdk-meson_0.58.1.bb
@@ -13,7 +13,7 @@ SRC_URI += "file://meson-setup.py \
 #   real paths by meson-setup.sh when the SDK is extracted.
 # - Some overrides aren't needed, since the SDK injects paths that take care of
 #   them.
-do_install_append() {
+do_install:append() {
     install -d ${D}${datadir}/meson
     cat >${D}${datadir}/meson/meson.cross.template <<EOF
 [binaries]
@@ -47,10 +47,10 @@ EOF
     install -m 0755 ${WORKDIR}/meson-wrapper ${D}${bindir}/meson
 }
 
-RDEPENDS_${PN} += "\
+RDEPENDS:${PN} += "\
     nativesdk-ninja \
     nativesdk-python3 \
     nativesdk-python3-setuptools \
     "
 
-FILES_${PN} += "${datadir}/meson ${SDKPATHNATIVE}"
+FILES:${PN} += "${datadir}/meson ${SDKPATHNATIVE}"
diff --git a/meta/recipes-devtools/mmc/mmc-utils_git.bb b/meta/recipes-devtools/mmc/mmc-utils_git.bb
index bdd0bf7f1b8..661db4665fc 100644
--- a/meta/recipes-devtools/mmc/mmc-utils_git.bb
+++ b/meta/recipes-devtools/mmc/mmc-utils_git.bb
@@ -14,9 +14,9 @@ UPSTREAM_CHECK_COMMITS = "1"
 
 S = "${WORKDIR}/git"
 
-CFLAGS_append_powerpc64 = " -D__SANE_USERSPACE_TYPES__"
-CFLAGS_append_mipsarchn64 = " -D__SANE_USERSPACE_TYPES__"
-CFLAGS_append_mipsarchn32 = " -D__SANE_USERSPACE_TYPES__"
+CFLAGS:append:powerpc64 = " -D__SANE_USERSPACE_TYPES__"
+CFLAGS:append:mipsarchn64 = " -D__SANE_USERSPACE_TYPES__"
+CFLAGS:append:mipsarchn32 = " -D__SANE_USERSPACE_TYPES__"
 
 do_install() {
     install -d ${D}${bindir}
diff --git a/meta/recipes-devtools/mtd/mtd-utils_git.bb b/meta/recipes-devtools/mtd/mtd-utils_git.bb
index 105a68dad8f..ff1a01b151f 100644
--- a/meta/recipes-devtools/mtd/mtd-utils_git.bb
+++ b/meta/recipes-devtools/mtd/mtd-utils_git.bb
@@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \
 inherit autotools pkgconfig update-alternatives
 
 DEPENDS = "zlib e2fsprogs util-linux"
-RDEPENDS_mtd-utils-tests += "bash"
+RDEPENDS:mtd-utils-tests += "bash"
 
 PV = "2.1.2"
 
@@ -33,15 +33,15 @@ PACKAGECONFIG[jffs] = "--with-jffs,--without-jffs"
 PACKAGECONFIG[ubifs] = "--with-ubifs,--without-ubifs"
 PACKAGECONFIG[zstd] = "--with-zstd,--without-zstd,zstd"
 
-CPPFLAGS_append_riscv64  = " -pthread -D_REENTRANT"
+CPPFLAGS:append:riscv64  = " -pthread -D_REENTRANT"
 
 EXTRA_OEMAKE = "'CC=${CC}' 'RANLIB=${RANLIB}' 'AR=${AR}' 'CFLAGS=${CFLAGS} ${@bb.utils.contains('PACKAGECONFIG', 'xattr', '', '-DWITHOUT_XATTR', d)} -I${S}/include' 'BUILDDIR=${S}'"
 
 # Use higher priority than corresponding BusyBox-provided applets
 ALTERNATIVE_PRIORITY = "100"
 
-ALTERNATIVE_${PN} = "flashcp flash_eraseall flash_lock flash_unlock nanddump nandwrite"
-ALTERNATIVE_${PN}-ubifs = "ubiattach ubidetach ubimkvol ubirename ubirmvol ubirsvol ubiupdatevol"
+ALTERNATIVE:${PN} = "flashcp flash_eraseall flash_lock flash_unlock nanddump nandwrite"
+ALTERNATIVE:${PN}-ubifs = "ubiattach ubidetach ubimkvol ubirename ubirmvol ubirsvol ubiupdatevol"
 
 ALTERNATIVE_LINK_NAME[nandwrite] = "${sbindir}/nandwrite"
 ALTERNATIVE_LINK_NAME[nanddump] = "${sbindir}/nanddump"
@@ -65,10 +65,10 @@ PACKAGES =+ "mtd-utils-misc mtd-utils-tests"
 PACKAGES =+ "${@bb.utils.contains("PACKAGECONFIG", "jffs", "mtd-utils-jffs2", "", d)}"
 PACKAGES =+ "${@bb.utils.contains("PACKAGECONFIG", "ubifs", "mtd-utils-ubifs", "", d)}"
 
-FILES_mtd-utils-jffs2 = "${sbindir}/mkfs.jffs2 ${sbindir}/jffs2dump ${sbindir}/jffs2reader ${sbindir}/sumtool"
-FILES_mtd-utils-ubifs = "${sbindir}/mkfs.ubifs ${sbindir}/ubi*"
-FILES_mtd-utils-misc = "${sbindir}/nftl* ${sbindir}/ftl* ${sbindir}/rfd* ${sbindir}/doc* ${sbindir}/serve_image ${sbindir}/recv_image"
-FILES_mtd-utils-tests = "${libexecdir}/mtd-utils/*"
+FILES:mtd-utils-jffs2 = "${sbindir}/mkfs.jffs2 ${sbindir}/jffs2dump ${sbindir}/jffs2reader ${sbindir}/sumtool"
+FILES:mtd-utils-ubifs = "${sbindir}/mkfs.ubifs ${sbindir}/ubi*"
+FILES:mtd-utils-misc = "${sbindir}/nftl* ${sbindir}/ftl* ${sbindir}/rfd* ${sbindir}/doc* ${sbindir}/serve_image ${sbindir}/recv_image"
+FILES:mtd-utils-tests = "${libexecdir}/mtd-utils/*"
 
 BBCLASSEXTEND = "native nativesdk"
 
diff --git a/meta/recipes-devtools/mtools/mtools_4.0.32.bb b/meta/recipes-devtools/mtools/mtools_4.0.32.bb
index 501875037ac..1000ad925bf 100644
--- a/meta/recipes-devtools/mtools/mtools_4.0.32.bb
+++ b/meta/recipes-devtools/mtools/mtools_4.0.32.bb
@@ -7,8 +7,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
 
 DEPENDS += "virtual/libiconv"
 
-RDEPENDS_${PN}_libc-glibc = "glibc-gconv-ibm850"
-RRECOMMENDS_${PN}_libc-glibc = "\
+RDEPENDS:${PN}:libc-glibc = "glibc-gconv-ibm850"
+RRECOMMENDS:${PN}:libc-glibc = "\
 	glibc-gconv-ibm437 \
 	glibc-gconv-ibm737 \
 	glibc-gconv-ibm775 \
@@ -32,7 +32,7 @@ SRC_URI = "${GNU_MIRROR}/mtools/mtools-${PV}.tar.bz2 \
            file://clang_UNUSED.patch \
            "
 
-SRC_URI_append_class-native = " file://disable-hardcoded-configs.patch"
+SRC_URI:append:class-native = " file://disable-hardcoded-configs.patch"
 
 inherit autotools texinfo
 
@@ -43,7 +43,7 @@ BBCLASSEXTEND = "native nativesdk"
 PACKAGECONFIG ??= ""
 PACKAGECONFIG[libbsd] = "ac_cv_lib_bsd_main=yes,ac_cv_lib_bsd_main=no,libbsd"
 
-do_install_prepend () {
+do_install:prepend () {
     # Create bindir to fix parallel installation issues
     mkdir -p ${D}/${bindir}
     mkdir -p ${D}/${datadir}
diff --git a/meta/recipes-devtools/nasm/nasm_2.15.05.bb b/meta/recipes-devtools/nasm/nasm_2.15.05.bb
index 43088baf71b..edc17aeebfb 100644
--- a/meta/recipes-devtools/nasm/nasm_2.15.05.bb
+++ b/meta/recipes-devtools/nasm/nasm_2.15.05.bb
@@ -12,7 +12,7 @@ SRC_URI = "http://www.nasm.us/pub/nasm/releasebuilds/${PV}/nasm-${PV}.tar.bz2 \
 
 SRC_URI[sha256sum] = "3c4b8339e5ab54b1bcb2316101f8985a5da50a3f9e504d43fa6f35668bee2fd0"
 
-EXTRA_AUTORECONF_append = " -I autoconf/m4"
+EXTRA_AUTORECONF:append = " -I autoconf/m4"
 
 inherit autotools-brokensep
 
diff --git a/meta/recipes-devtools/ninja/ninja_1.10.2.bb b/meta/recipes-devtools/ninja/ninja_1.10.2.bb
index 2a39b2d2161..c908bcb738f 100644
--- a/meta/recipes-devtools/ninja/ninja_1.10.2.bb
+++ b/meta/recipes-devtools/ninja/ninja_1.10.2.bb
@@ -15,7 +15,7 @@ S = "${WORKDIR}/git"
 
 do_configure[noexec] = "1"
 
-do_compile_class-native() {
+do_compile:class-native() {
 	python3 ./configure.py --bootstrap
 }
 
diff --git a/meta/recipes-devtools/opkg-utils/opkg-utils_0.4.5.bb b/meta/recipes-devtools/opkg-utils/opkg-utils_0.4.5.bb
index 93d29111044..a2bcc7f6611 100644
--- a/meta/recipes-devtools/opkg-utils/opkg-utils_0.4.5.bb
+++ b/meta/recipes-devtools/opkg-utils/opkg-utils_0.4.5.bb
@@ -1,5 +1,5 @@
 SUMMARY = "Additional utilities for the opkg package manager"
-SUMMARY_update-alternatives-opkg = "Utility for managing the alternatives system"
+SUMMARY:update-alternatives-opkg = "Utility for managing the alternatives system"
 SECTION = "base"
 HOMEPAGE = "http://git.yoctoproject.org/cgit/cgit.cgi/opkg-utils"
 LICENSE = "GPLv2+"
@@ -17,13 +17,13 @@ SRC_URI[sha256sum] = "528635e674addea5c2b3a3268404ad04a952c4f410d17c3d754f5dd552
 
 TARGET_CC_ARCH += "${LDFLAGS}"
 
-RDEPENDS_${PN} += "bash"
+RDEPENDS:${PN} += "bash"
 
 inherit perlnative
 
 # For native builds we use the host Python
 PYTHONRDEPS = "python3 python3-shell python3-io python3-math python3-crypt python3-logging python3-fcntl python3-pickle python3-compression python3-stringold"
-PYTHONRDEPS_class-native = ""
+PYTHONRDEPS:class-native = ""
 
 PACKAGECONFIG = "python update-alternatives"
 PACKAGECONFIG[python] = ",,,${PYTHONRDEPS}"
@@ -36,7 +36,7 @@ do_install() {
 	fi
 }
 
-do_install_append_class-target() {
+do_install:append:class-target() {
 	if ! ${@bb.utils.contains('PACKAGECONFIG', 'python', 'true', 'false', d)}; then
 		grep -lZ "/usr/bin/env.*python" ${D}${bindir}/* | xargs -0 rm
 	fi
@@ -48,15 +48,15 @@ do_install_append_class-target() {
 
 # These are empty and will pull python3-dev into images where it wouldn't
 # have been otherwise, so don't generate them.
-PACKAGES_remove = "${PN}-dev ${PN}-staticdev"
+PACKAGES:remove = "${PN}-dev ${PN}-staticdev"
 
 PACKAGES =+ "update-alternatives-opkg"
-FILES_update-alternatives-opkg = "${bindir}/update-alternatives"
-RPROVIDES_update-alternatives-opkg = "update-alternatives update-alternatives-cworth"
-RREPLACES_update-alternatives-opkg = "update-alternatives-cworth"
-RCONFLICTS_update-alternatives-opkg = "update-alternatives-cworth"
+FILES:update-alternatives-opkg = "${bindir}/update-alternatives"
+RPROVIDES:update-alternatives-opkg = "update-alternatives update-alternatives-cworth"
+RREPLACES:update-alternatives-opkg = "update-alternatives-cworth"
+RCONFLICTS:update-alternatives-opkg = "update-alternatives-cworth"
 
-pkg_postrm_update-alternatives-opkg() {
+pkg_postrm:update-alternatives-opkg() {
 	rm -rf $D${nonarch_libdir}/opkg/alternatives
 	rmdir $D${nonarch_libdir}/opkg || true
 }
diff --git a/meta/recipes-devtools/opkg/opkg-arch-config_1.0.bb b/meta/recipes-devtools/opkg/opkg-arch-config_1.0.bb
index 0c2dbc9e32a..dc17de2e8e6 100644
--- a/meta/recipes-devtools/opkg/opkg-arch-config_1.0.bb
+++ b/meta/recipes-devtools/opkg/opkg-arch-config_1.0.bb
@@ -26,10 +26,10 @@ do_install () {
 	install -m 0644  ${S}/${sysconfdir}/opkg/* ${D}${sysconfdir}/opkg/
 }
 
-FILES_${PN} = "${sysconfdir}/opkg/ "
+FILES:${PN} = "${sysconfdir}/opkg/ "
 
-CONFFILES_${PN} += "${sysconfdir}/opkg/arch.conf"
+CONFFILES:${PN} += "${sysconfdir}/opkg/arch.conf"
 
-RREPLACES_${PN} = "opkg-config-base"
-RCONFLICTS_${PN} = "opkg-config-base"
-RPROVIDES_${PN} = "opkg-config-base"
+RREPLACES:${PN} = "opkg-config-base"
+RCONFLICTS:${PN} = "opkg-config-base"
+RPROVIDES:${PN} = "opkg-config-base"
diff --git a/meta/recipes-devtools/opkg/opkg-keyrings_1.0.bb b/meta/recipes-devtools/opkg/opkg-keyrings_1.0.bb
index 07e24025456..84aeb980684 100644
--- a/meta/recipes-devtools/opkg/opkg-keyrings_1.0.bb
+++ b/meta/recipes-devtools/opkg/opkg-keyrings_1.0.bb
@@ -5,7 +5,7 @@ LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384
 # Distro-specific keys can be added to this package in two ways:
 #
 #   1) In a .bbappend, add .gpg and/or .asc files to SRC_URI and install them to
-#      ${D}${datadir}/opkg/keyrings/ in a do_install_append function. These
+#      ${D}${datadir}/opkg/keyrings/ in a do_install:append function. These
 #      files should not be named 'key-$name.gpg' to ensure they don't conflict
 #      with keys exported as per (2).
 #
@@ -30,12 +30,12 @@ do_install () {
     done
 }
 
-FILES_${PN} = "${datadir}/opkg/keyrings"
+FILES:${PN} = "${datadir}/opkg/keyrings"
 
 # We need 'opkg-key' to run the postinst script
-RDEPENDS_${PN} = "opkg"
+RDEPENDS:${PN} = "opkg"
 
-pkg_postinst_ontarget_${PN} () {
+pkg_postinst_ontarget:${PN} () {
     if test -x ${bindir}/opkg-key
     then
         ${bindir}/opkg-key populate
diff --git a/meta/recipes-devtools/opkg/opkg_0.4.5.bb b/meta/recipes-devtools/opkg/opkg_0.4.5.bb
index 56d6211aeee..ef18ccf63a8 100644
--- a/meta/recipes-devtools/opkg/opkg_0.4.5.bb
+++ b/meta/recipes-devtools/opkg/opkg_0.4.5.bb
@@ -1,5 +1,5 @@
 SUMMARY = "Open Package Manager"
-SUMMARY_libopkg = "Open Package Manager library"
+SUMMARY:libopkg = "Open Package Manager library"
 SECTION = "base"
 HOMEPAGE = "http://code.google.com/p/opkg/"
 DESCRIPTION = "Opkg is a lightweight package management system based on Ipkg."
@@ -44,9 +44,9 @@ PACKAGECONFIG[sha256] = "--enable-sha256,--disable-sha256"
 PACKAGECONFIG[libsolv] = "--with-libsolv,--without-libsolv,libsolv"
 
 EXTRA_OECONF += " --disable-pathfinder"
-EXTRA_OECONF_class-native = "--localstatedir=/${@os.path.relpath('${localstatedir}', '${STAGING_DIR_NATIVE}')} --sysconfdir=/${@os.path.relpath('${sysconfdir}', '${STAGING_DIR_NATIVE}')}"
+EXTRA_OECONF:class-native = "--localstatedir=/${@os.path.relpath('${localstatedir}', '${STAGING_DIR_NATIVE}')} --sysconfdir=/${@os.path.relpath('${sysconfdir}', '${STAGING_DIR_NATIVE}')}"
 
-do_install_append () {
+do_install:append () {
 	install -d ${D}${sysconfdir}/opkg
 	install -m 0644 ${WORKDIR}/opkg.conf ${D}${sysconfdir}/opkg/opkg.conf
 	echo "option lists_dir ${OPKGLIBDIR}/opkg/lists" >>${D}${sysconfdir}/opkg/opkg.conf
@@ -60,7 +60,7 @@ do_install_ptest () {
 	sed -i -e '/@PYTHONPATH=. $(PYTHON) $^/a\\t@if [ "$$?" != "0" ];then echo "FAIL:"$^;else echo "PASS:"$^;fi' ${D}${PTEST_PATH}/tests/Makefile
 }
 
-WARN_QA_append += "openssl-deprecation"
+WARN_QA:append += "openssl-deprecation"
 QAPKGTEST[openssl-deprecation] = "package_qa_check_openssl_deprecation"
 def package_qa_check_openssl_deprecation (package, d, messages):
     sane = True
@@ -73,16 +73,16 @@ def package_qa_check_openssl_deprecation (package, d, messages):
     return sane
 
 
-RDEPENDS_${PN} = "${VIRTUAL-RUNTIME_update-alternatives} opkg-arch-config libarchive"
-RDEPENDS_${PN}_class-native = ""
-RDEPENDS_${PN}_class-nativesdk = ""
-RDEPENDS_${PN}-ptest += "make binutils python3-core python3-compression"
-RREPLACES_${PN} = "opkg-nogpg opkg-collateral"
-RCONFLICTS_${PN} = "opkg-collateral"
-RPROVIDES_${PN} = "opkg-collateral"
+RDEPENDS:${PN} = "${VIRTUAL-RUNTIME_update-alternatives} opkg-arch-config libarchive"
+RDEPENDS:${PN}:class-native = ""
+RDEPENDS:${PN}:class-nativesdk = ""
+RDEPENDS:${PN}-ptest += "make binutils python3-core python3-compression"
+RREPLACES:${PN} = "opkg-nogpg opkg-collateral"
+RCONFLICTS:${PN} = "opkg-collateral"
+RPROVIDES:${PN} = "opkg-collateral"
 
-FILES_libopkg = "${libdir}/*.so.* ${OPKGLIBDIR}/opkg/"
+FILES:libopkg = "${libdir}/*.so.* ${OPKGLIBDIR}/opkg/"
 
 BBCLASSEXTEND = "native nativesdk"
 
-CONFFILES_${PN} = "${sysconfdir}/opkg/opkg.conf"
+CONFFILES:${PN} = "${sysconfdir}/opkg/opkg.conf"
diff --git a/meta/recipes-devtools/orc/orc_0.4.32.bb b/meta/recipes-devtools/orc/orc_0.4.32.bb
index 0b63716f994..829255f1101 100644
--- a/meta/recipes-devtools/orc/orc_0.4.32.bb
+++ b/meta/recipes-devtools/orc/orc_0.4.32.bb
@@ -17,14 +17,14 @@ BBCLASSEXTEND = "native nativesdk"
 
 PACKAGES =+ "orc-examples"
 PACKAGES_DYNAMIC += "^liborc-.*"
-FILES_orc-examples = "${libdir}/orc/*"
-FILES_${PN} = "${bindir}/*"
+FILES:orc-examples = "${libdir}/orc/*"
+FILES:${PN} = "${bindir}/*"
 
-python populate_packages_prepend () {
+python populate_packages:prepend () {
     libdir = d.expand('${libdir}')
     do_split_packages(d, libdir, r'^lib(.*)\.so\.*', 'lib%s', 'ORC %s library', extra_depends='', allow_links=True)
 }
 
-do_compile_prepend_class-native () {
+do_compile:prepend:class-native () {
     sed -i -e 's#/tmp#.#g' ${S}/orc/orccodemem.c
 }
diff --git a/meta/recipes-devtools/patch/patch.inc b/meta/recipes-devtools/patch/patch.inc
index cbfb8cfcf5d..a12d426b2cd 100644
--- a/meta/recipes-devtools/patch/patch.inc
+++ b/meta/recipes-devtools/patch/patch.inc
@@ -10,5 +10,5 @@ S = "${WORKDIR}/patch-${PV}"
 
 inherit autotools update-alternatives
 
-ALTERNATIVE_${PN} = "patch"
+ALTERNATIVE:${PN} = "patch"
 ALTERNATIVE_PRIORITY = "100"
diff --git a/meta/recipes-devtools/patch/patch_2.7.6.bb b/meta/recipes-devtools/patch/patch_2.7.6.bb
index 1997af0c255..b4f986e33a6 100644
--- a/meta/recipes-devtools/patch/patch_2.7.6.bb
+++ b/meta/recipes-devtools/patch/patch_2.7.6.bb
@@ -23,6 +23,6 @@ acpaths = "-I ${S}/m4 "
 PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'xattr', d)}"
 PACKAGECONFIG[xattr] = "--enable-xattr,--disable-xattr,attr,"
 
-PROVIDES_append_class-native = " patch-replacement-native"
+PROVIDES:append:class-native = " patch-replacement-native"
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-devtools/perl-cross/perlcross_1.3.6.bb b/meta/recipes-devtools/perl-cross/perlcross_1.3.6.bb
index b19692b2f3d..2759ef8a53b 100644
--- a/meta/recipes-devtools/perl-cross/perlcross_1.3.6.bb
+++ b/meta/recipes-devtools/perl-cross/perlcross_1.3.6.bb
@@ -31,7 +31,7 @@ do_configure () {
 do_compile () {
 }
 
-do_install_class-native() {
+do_install:class-native() {
     mkdir -p ${D}/${datadir}/perl-cross/
     cp -rf ${S}/* ${D}/${datadir}/perl-cross/
 }
diff --git a/meta/recipes-devtools/perl/files/perl-rdepends.txt b/meta/recipes-devtools/perl/files/perl-rdepends.txt
index f20fc44b58b..dd23dc222ad 100644
--- a/meta/recipes-devtools/perl/files/perl-rdepends.txt
+++ b/meta/recipes-devtools/perl/files/perl-rdepends.txt
@@ -1,2025 +1,2025 @@
 
 # Some additional dependencies that the above doesn't manage to figure out
-RDEPENDS_perl-module-file-spec += "perl-module-file-spec-unix"
-RDEPENDS_perl-module-math-bigint += "perl-module-math-bigint-calc"
-RDEPENDS_perl-module-thread-queue += "perl-module-attributes"
-RDEPENDS_perl-module-overload += "perl-module-overloading"
+RDEPENDS:perl-module-file-spec += "perl-module-file-spec-unix"
+RDEPENDS:perl-module-math-bigint += "perl-module-math-bigint-calc"
+RDEPENDS:perl-module-thread-queue += "perl-module-attributes"
+RDEPENDS:perl-module-overload += "perl-module-overloading"
 
 # Generated depends list beyond this line
-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-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-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--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-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-json-pp"
-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-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-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"
-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-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-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-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-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-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-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-strict"
-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-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"
-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-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-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-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"
-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-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-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-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-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-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-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-functions += "perl-module-exporter"
-RDEPENDS_perl-module-pod-functions += "perl-module-strict"
-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-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-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"
-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-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"
-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-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"
-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-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-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-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-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-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-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-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-warnings"
-RDEPENDS_perl-module-tap-parser-iteratorfactory += "perl-module-base"
-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-warnings"
-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-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-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-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-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-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-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-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-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-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-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-overload"
-RDEPENDS_perl-module-test-builder += "perl-module-strict"
-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-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-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-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-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-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"
-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-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 += "perl-module-warnings-register"
-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-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-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-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-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-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--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-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-json-pp"
+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-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-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"
+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-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-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-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-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-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-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-strict"
+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-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"
+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-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-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-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"
+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-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-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-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-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-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-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-functions += "perl-module-exporter"
+RDEPENDS:perl-module-pod-functions += "perl-module-strict"
+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-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-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"
+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-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"
+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-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"
+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-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-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-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-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-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-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-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-warnings"
+RDEPENDS:perl-module-tap-parser-iteratorfactory += "perl-module-base"
+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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-warnings"
+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-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-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-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-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-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-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-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-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-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-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-overload"
+RDEPENDS:perl-module-test-builder += "perl-module-strict"
+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-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-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-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-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-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"
+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-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 += "perl-module-warnings-register"
+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-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-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-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"
diff --git a/meta/recipes-devtools/perl/liberror-perl_0.17029.bb b/meta/recipes-devtools/perl/liberror-perl_0.17029.bb
index 038808f0cd6..e38d32ac462 100644
--- a/meta/recipes-devtools/perl/liberror-perl_0.17029.bb
+++ b/meta/recipes-devtools/perl/liberror-perl_0.17029.bb
@@ -11,7 +11,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=8f3499d09ee74a050c0319391ff9d100"
 
 DEPENDS += "perl"
 
-RDEPENDS_${PN} += " \
+RDEPENDS:${PN} += " \
     perl-module-carp \
     perl-module-exporter \
     perl-module-scalar-util \
@@ -21,7 +21,7 @@ RDEPENDS_${PN} += " \
     perl-module-warnings \
 "
 
-RDEPENDS_${PN}-ptest += " \
+RDEPENDS:${PN}-ptest += " \
     perl-module-base \
     perl-module-file-spec \
     perl-module-io-handle \
@@ -39,7 +39,7 @@ S = "${WORKDIR}/Error-${PV}"
 
 inherit cpan ptest-perl
 
-do_install_prepend() {
+do_install:prepend() {
 	# test requires "-T" (taint) command line option
 	rm -rf ${B}/t/pod-coverage.t
 }
diff --git a/meta/recipes-devtools/perl/libmodule-build-perl_0.4231.bb b/meta/recipes-devtools/perl/libmodule-build-perl_0.4231.bb
index a6fd7b1c07d..8af38ba6018 100644
--- a/meta/recipes-devtools/perl/libmodule-build-perl_0.4231.bb
+++ b/meta/recipes-devtools/perl/libmodule-build-perl_0.4231.bb
@@ -35,7 +35,7 @@ do_patch[postfuncs] += "do_patch_module_build"
 
 EXTRA_CPAN_BUILD_FLAGS = "--create_packlist=0"
 
-do_install_append () {
+do_install:append () {
         rm -rf ${D}${docdir}/perl/html
 }
 
@@ -55,7 +55,7 @@ do_install_ptest() {
         rm -rf ${D}${PTEST_PATH}/_build/magicnum
 }
 
-RDEPENDS_${PN} += " \
+RDEPENDS:${PN} += " \
     perl-module-carp \
     perl-module-cpan \
     perl-module-config \
@@ -87,7 +87,7 @@ RDEPENDS_${PN} += " \
     perl-module-utf8 \
 "
 
-RDEPENDS_${PN}-ptest += " \
+RDEPENDS:${PN}-ptest += " \
     packagegroup-core-buildessential \
     perl-dev \
     perl-module-blib \
@@ -104,7 +104,7 @@ RDEPENDS_${PN}-ptest += " \
     perl-module-test-more \
 "
 
-RPROVIDES_${PN} += "\
+RPROVIDES:${PN} += "\
     libmodule-build-base-perl \
     libmodule-build-compat-perl \
     libmodule-build-config-perl \
@@ -118,6 +118,6 @@ RPROVIDES_${PN} += "\
 "
 
 # t/xs.t RDEPENDS on "EXTERN.h" provided by perl-dev
-INSANE_SKIP_${PN}-ptest = "dev-deps"
+INSANE_SKIP:${PN}-ptest = "dev-deps"
 
 BBCLASSEXTEND = "native"
diff --git a/meta/recipes-devtools/perl/libtest-needs-perl_0.002009.bb b/meta/recipes-devtools/perl/libtest-needs-perl_0.002009.bb
index 2234f6a74ba..05383752ea8 100644
--- a/meta/recipes-devtools/perl/libtest-needs-perl_0.002009.bb
+++ b/meta/recipes-devtools/perl/libtest-needs-perl_0.002009.bb
@@ -24,6 +24,6 @@ S = "${WORKDIR}/${CPAN_NAME}-${PV}"
 
 inherit cpan ptest-perl
 
-RDEPENDS_${PN}-ptest += "perl-module-test-more perl-module-ipc-open3 perl-module-lib perl-module-version"
+RDEPENDS:${PN}-ptest += "perl-module-test-more perl-module-ipc-open3 perl-module-lib perl-module-version"
 
 BBCLASSEXTEND = "native"
diff --git a/meta/recipes-devtools/perl/liburi-perl_5.08.bb b/meta/recipes-devtools/perl/liburi-perl_5.08.bb
index 4d22b17e00b..0cc27e86257 100644
--- a/meta/recipes-devtools/perl/liburi-perl_5.08.bb
+++ b/meta/recipes-devtools/perl/liburi-perl_5.08.bb
@@ -27,14 +27,14 @@ do_compile() {
 	cpan_do_compile
 }
 
-do_install_prepend() {
+do_install:prepend() {
 	# these tests require "-T" (taint) command line option
 	rm -rf ${B}/t/cwd.t
 	rm -rf ${B}/t/file.t
 }
 
-RDEPENDS_${PN} += "perl-module-integer perl-module-mime-base64"
-RDEPENDS_${PN}-ptest += " \
+RDEPENDS:${PN} += "perl-module-integer perl-module-mime-base64"
+RDEPENDS:${PN}-ptest += " \
     libtest-needs-perl \
     perl-module-test-more \
     perl-module-test \
diff --git a/meta/recipes-devtools/perl/libxml-parser-perl_2.46.bb b/meta/recipes-devtools/perl/libxml-parser-perl_2.46.bb
index bc154bbdc50..3b9206e9841 100644
--- a/meta/recipes-devtools/perl/libxml-parser-perl_2.46.bb
+++ b/meta/recipes-devtools/perl/libxml-parser-perl_2.46.bb
@@ -21,13 +21,13 @@ inherit cpan ptest-perl
 
 # fix up sub MakeMaker project as arguments don't get propagated though
 # see https://rt.cpan.org/Public/Bug/Display.html?id=28632
-do_configure_append_class-target() {
+do_configure:append:class-target() {
 	sed -E \
 	    -e 's:-L${STAGING_LIBDIR}::g' -e 's:-I${STAGING_INCDIR}::g' \
 	    -i Makefile Expat/Makefile
 }
 
-do_configure_append() {
+do_configure:append() {
 	sed -e 's:--sysroot=.*\(\s\|$\):--sysroot=${STAGING_DIR_TARGET} :g' \
 	    -i Makefile Expat/Makefile
 	sed 's:^FULL_AR = .*:FULL_AR = ${AR}:g' -i Expat/Makefile
@@ -40,7 +40,7 @@ do_compile() {
 	cpan_do_compile
 }
 
-do_compile_class-native() {
+do_compile:class-native() {
 	cpan_do_compile
 }
 
@@ -53,6 +53,6 @@ do_install_ptest() {
 	chown -R root:root ${D}${PTEST_PATH}/samples
 }
 
-RDEPENDS_${PN}-ptest += "perl-module-filehandle perl-module-if perl-module-test perl-module-test-more"
+RDEPENDS:${PN}-ptest += "perl-module-filehandle perl-module-if perl-module-test perl-module-test-more"
 
 BBCLASSEXTEND="native nativesdk"
diff --git a/meta/recipes-devtools/perl/libxml-perl_0.08.bb b/meta/recipes-devtools/perl/libxml-perl_0.08.bb
index 818ae3d5713..b77ad24b58f 100644
--- a/meta/recipes-devtools/perl/libxml-perl_0.08.bb
+++ b/meta/recipes-devtools/perl/libxml-perl_0.08.bb
@@ -26,5 +26,5 @@ do_compile() {
 	cpan_do_compile
 }
 
-RDEPENDS_${PN} += "perl-module-carp perl-module-overload perl-module-universal perl-module-io-handle"
-RDEPENDS_${PN}-ptest += "libxml-parser-perl perl-module-file-glob"
+RDEPENDS:${PN} += "perl-module-carp perl-module-overload perl-module-universal perl-module-io-handle"
+RDEPENDS:${PN}-ptest += "libxml-parser-perl perl-module-file-glob"
diff --git a/meta/recipes-devtools/perl/libxml-simple-perl_2.25.bb b/meta/recipes-devtools/perl/libxml-simple-perl_2.25.bb
index 53788d55858..e2938226a9a 100644
--- a/meta/recipes-devtools/perl/libxml-simple-perl_2.25.bb
+++ b/meta/recipes-devtools/perl/libxml-simple-perl_2.25.bb
@@ -21,13 +21,13 @@ EXTRA_PERLFLAGS = "-I ${PERLHOSTLIB}"
 
 inherit cpan ptest-perl
 
-RDEPENDS_${PN} += " \
+RDEPENDS:${PN} += " \
     libxml-namespacesupport-perl \
     libxml-parser-perl \
     libxml-sax-perl \
 "
 
-RDEPENDS_${PN}-ptest += " \
+RDEPENDS:${PN}-ptest += " \
     perl-module-file-temp \
     perl-module-test-more \
 "
diff --git a/meta/recipes-devtools/perl/perl-ptest.inc b/meta/recipes-devtools/perl/perl-ptest.inc
index 98e3361fcc1..54c78075715 100644
--- a/meta/recipes-devtools/perl/perl-ptest.inc
+++ b/meta/recipes-devtools/perl/perl-ptest.inc
@@ -47,7 +47,7 @@ do_install_ptest () {
 	 rm ${D}${PTEST_PATH}/Makefile.config ${D}${PTEST_PATH}/xconfig.h ${D}${PTEST_PATH}/xconfig.sh
 }
 
-python populate_packages_prepend() {
+python populate_packages:prepend() {
     # Put all *.t files from the lib dir in the ptest package
     # do_split_packages requires a pair of () in the regex, but we have nothing
     # to match, so use an empty pair.
@@ -56,8 +56,8 @@ python populate_packages_prepend() {
             '${PN}-ptest%s', '%s', recursive=True, match_path=True)
 }
 
-RDEPENDS_${PN}-ptest += "${PN}-modules ${PN}-doc sed"
+RDEPENDS:${PN}-ptest += "${PN}-modules ${PN}-doc sed"
 
 # The perl-ptest package contains Perl internal modules and generating file
 # dependencies for it causes problems.
-SKIP_FILEDEPS_${PN}-ptest = '1'
+SKIP_FILEDEPS:${PN}-ptest = '1'
diff --git a/meta/recipes-devtools/perl/perl_5.34.0.bb b/meta/recipes-devtools/perl/perl_5.34.0.bb
index 434535c5ee4..cc01321f7af 100644
--- a/meta/recipes-devtools/perl/perl_5.34.0.bb
+++ b/meta/recipes-devtools/perl/perl_5.34.0.bb
@@ -18,10 +18,10 @@ SRC_URI = "https://www.cpan.org/src/5.0/perl-${PV}.tar.gz;name=perl \
            file://0002-Constant-Fix-up-shebang.patch \
            file://determinism.patch \
            "
-SRC_URI_append_class-native = " \
+SRC_URI:append:class-native = " \
            file://perl-configpm-switch.patch \
 "
-SRC_URI_append_class-target = " \
+SRC_URI:append:class-target = " \
            file://encodefix.patch \
 "
 
@@ -42,11 +42,11 @@ PACKAGECONFIG[gdbm] = ",-Ui_gdbm,gdbm"
 # Don't generate comments in enc2xs output files. They are not reproducible
 export ENC2XS_NO_COMMENTS = "1"
 
-do_configure_prepend() {
+do_configure:prepend() {
     cp -rfp ${STAGING_DATADIR_NATIVE}/perl-cross/* ${S}
 }
 
-do_configure_class-target() {
+do_configure:class-target() {
     ./configure --prefix=${prefix} --libdir=${libdir} \
     --target=${TARGET_SYS} \
     -Duseshrplib \
@@ -72,7 +72,7 @@ do_configure_class-target() {
     sed -i -e "s,${STAGING_LIBDIR},${libdir},g" config.h
 }
 
-do_configure_class-nativesdk() {
+do_configure:class-nativesdk() {
     ./configure --prefix=${prefix} \
     --target=${TARGET_SYS} \
     -Duseshrplib \
@@ -85,7 +85,7 @@ do_configure_class-nativesdk() {
     sed -i -e "s,${STAGING_LIBDIR},${libdir},g" config.h
 }
 
-do_configure_class-native() {
+do_configure:class-native() {
     ./configure --prefix=${prefix} \
     -Dbin=${bindir}/perl-native \
     -Duseshrplib \
@@ -95,7 +95,7 @@ do_configure_class-native() {
     ${PACKAGECONFIG_CONFARGS}
 }
 
-do_configure_append() {
+do_configure:append() {
     if [ -n "$SOURCE_DATE_EPOCH" ]; then
         PERL_BUILD_DATE="$(${PYTHON} -c "\
 from datetime import datetime, timezone; \
@@ -140,7 +140,7 @@ do_install() {
     fi
 }
 
-do_install_append_class-target() {
+do_install:append:class-target() {
     # This is used to substitute target configuration when running native perl via perl-configpm-switch.patch
     ln -s Config_heavy.pl ${D}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/Config_heavy-target.pl
 
@@ -149,7 +149,7 @@ do_install_append_class-target() {
     rm ${D}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/CORE/xconfig.h
 }
 
-do_install_append_class-nativesdk() {
+do_install:append:class-nativesdk() {
     # This is used to substitute target configuration when running native perl via perl-configpm-switch.patch
     ln -s Config_heavy.pl ${D}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/Config_heavy-target.pl
 
@@ -157,7 +157,7 @@ do_install_append_class-nativesdk() {
         PERL5LIB='$PERL5LIB:${SDKPATHNATIVE}/${libdir_nativesdk}/perl5/site_perl/${PV}:${SDKPATHNATIVE}/${libdir_nativesdk}/perl5/vendor_perl/${PV}:${SDKPATHNATIVE}/${libdir_nativesdk}/perl5/${PV}'
 }
 
-do_install_append_class-native () {
+do_install:append:class-native () {
     # Those wrappers mean that perl installed from sstate (which may change
     # path location) works and that in the nativesdk case, the SDK can be
     # installed to a different location from the one it was built for.
@@ -208,7 +208,7 @@ inherit update-alternatives
 
 ALTERNATIVE_PRIORITY = "100"
 
-ALTERNATIVE_${PN}-misc = "corelist cpan enc2xs encguess h2ph h2xs instmodsh json_pp libnetcfg \
+ALTERNATIVE:${PN}-misc = "corelist cpan enc2xs encguess h2ph h2xs instmodsh json_pp libnetcfg \
                      piconv pl2pm pod2html pod2man pod2text pod2usage podchecker \
                      prove ptar ptardiff ptargrep shasum splain xsubpp zipdetails"
 ALTERNATIVE_LINK_NAME[corelist] = "${bindir}/corelist"
@@ -238,7 +238,7 @@ ALTERNATIVE_LINK_NAME[zipdetails] = "${bindir}/zipdetails"
 
 require perl-ptest.inc
 
-FILES_${PN} = "${bindir}/perl ${bindir}/perl.real ${bindir}/perl${PV} ${libdir}/libperl.so* \
+FILES:${PN} = "${bindir}/perl ${bindir}/perl.real ${bindir}/perl${PV} ${libdir}/libperl.so* \
                ${libdir}/perl5/site_perl \
                ${libdir}/perl5/${PV}/Config.pm \
                ${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/Config.pm \
@@ -254,24 +254,24 @@ FILES_${PN} = "${bindir}/perl ${bindir}/perl.real ${bindir}/perl${PV} ${libdir}/
                ${libdir}/perl5/${PV}/ExtUtils/xsubpp \
                ${libdir}/perl5/${PV}/ExtUtils/typemap \
                "
-RPROVIDES_${PN} += "perl-module-strict perl-module-vars perl-module-config perl-module-warnings \
+RPROVIDES:${PN} += "perl-module-strict perl-module-vars perl-module-config perl-module-warnings \
                     perl-module-warnings-register"
 
-FILES_${PN}-staticdev_append = " ${libdir}/perl5/${PV}/*/CORE/libperl.a"
+FILES:${PN}-staticdev:append = " ${libdir}/perl5/${PV}/*/CORE/libperl.a"
 
-FILES_${PN}-dev_append = " ${libdir}/perl5/${PV}/*/CORE"
+FILES:${PN}-dev:append = " ${libdir}/perl5/${PV}/*/CORE"
 
-FILES_${PN}-doc_append = " ${libdir}/perl5/${PV}/Unicode/Collate/*.txt \
+FILES:${PN}-doc:append = " ${libdir}/perl5/${PV}/Unicode/Collate/*.txt \
                            ${libdir}/perl5/${PV}/*/.packlist \
                            ${libdir}/perl5/${PV}/Encode/encode.h \
                          "
 PACKAGES += "${PN}-misc"
 
-FILES_${PN}-misc = "${bindir}/*"
+FILES:${PN}-misc = "${bindir}/*"
 
 PACKAGES += "${PN}-pod"
 
-FILES_${PN}-pod = "${libdir}/perl5/${PV}/pod \
+FILES:${PN}-pod = "${libdir}/perl5/${PV}/pod \
                    ${libdir}/perl5/${PV}/*.pod \
                    ${libdir}/perl5/${PV}/*/*.pod \
                    ${libdir}/perl5/${PV}/*/*/*.pod \ 
@@ -280,20 +280,20 @@ FILES_${PN}-pod = "${libdir}/perl5/${PV}/pod \
 
 PACKAGES += "${PN}-module-cpan ${PN}-module-unicore"
 
-FILES_${PN}-module-cpan += "${libdir}/perl5/${PV}/CPAN \
+FILES:${PN}-module-cpan += "${libdir}/perl5/${PV}/CPAN \
                           "
-FILES_${PN}-module-unicore += "${libdir}/perl5/${PV}/unicore"
+FILES:${PN}-module-unicore += "${libdir}/perl5/${PV}/unicore"
 
 ALTERNATIVE_PRIORITY = "40"
-ALTERNATIVE_${PN}-doc = "Thread.3"
+ALTERNATIVE:${PN}-doc = "Thread.3"
 ALTERNATIVE_LINK_NAME[Thread.3] = "${mandir}/man3/Thread.3"
 
 # Create a perl-modules package recommending all the other perl
 # packages (actually the non modules packages and not created too)
-ALLOW_EMPTY_${PN}-modules = "1"
+ALLOW_EMPTY:${PN}-modules = "1"
 PACKAGES += "${PN}-modules "
 
-PACKAGESPLITFUNCS_prepend = "split_perl_packages "
+PACKAGESPLITFUNCS:prepend = "split_perl_packages "
 
 python split_perl_packages () {
     libdir = d.expand('${libdir}/perl5/${PV}')
@@ -308,7 +308,7 @@ python split_perl_packages () {
     # modules. Don't attempt to use the result of do_split_packages() as some
     # modules are manually split (eg. perl-module-unicore).
     packages = filter(lambda p: 'perl-module-' in p, d.getVar('PACKAGES').split())
-    d.setVar(d.expand("RRECOMMENDS_${PN}-modules"), ' '.join(packages))
+    d.setVar(d.expand("RRECOMMENDS:${PN}-modules"), ' '.join(packages))
 
     # Read the pre-generated dependency file, and use it to set module dependecies
     for line in open(d.expand("${WORKDIR}") + '/perl-rdepends.txt').readlines():
@@ -320,7 +320,7 @@ python split_perl_packages () {
             module = splitline[0] + '-native'
             depends = "perl-native"
         else:
-            module = splitline[0].replace("RDEPENDS_perl", "RDEPENDS_${PN}")
+            module = splitline[0].replace("RDEPENDS:perl", "RDEPENDS:${PN}")
             depends = splitline[2].strip('"').replace("perl-module", "${PN}-module")
         d.appendVar(d.expand(module), " " + depends)
 }
@@ -334,8 +334,8 @@ python() {
         d.setVar("PACKAGES_DYNAMIC", "^nativesdk-perl-module-.*")
 }
 
-RDEPENDS_${PN}-misc += "perl perl-modules"
-RDEPENDS_${PN}-pod += "perl"
+RDEPENDS:${PN}-misc += "perl perl-modules"
+RDEPENDS:${PN}-pod += "perl"
 
 BBCLASSEXTEND = "native nativesdk"
 
@@ -346,10 +346,10 @@ do_create_rdepends_inc() {
     cat <<'EOPREAMBLE' > ${WORKDIR}/perl-rdepends.inc
 
 # Some additional dependencies that the above doesn't manage to figure out
-RDEPENDS_${PN}-module-file-spec += "${PN}-module-file-spec-unix"
-RDEPENDS_${PN}-module-math-bigint += "${PN}-module-math-bigint-calc"
-RDEPENDS_${PN}-module-thread-queue += "${PN}-module-attributes"
-RDEPENDS_${PN}-module-overload += "${PN}-module-overloading"
+RDEPENDS:${PN}-module-file-spec += "${PN}-module-file-spec-unix"
+RDEPENDS:${PN}-module-math-bigint += "${PN}-module-math-bigint-calc"
+RDEPENDS:${PN}-module-thread-queue += "${PN}-module-attributes"
+RDEPENDS:${PN}-module-overload += "${PN}-module-overloading"
 
 # Generated depends list beyond this line
 EOPREAMBLE
diff --git a/meta/recipes-devtools/pkgconf/pkgconf_1.7.4.bb b/meta/recipes-devtools/pkgconf/pkgconf_1.7.4.bb
index 93832105f0f..04991b1f017 100644
--- a/meta/recipes-devtools/pkgconf/pkgconf_1.7.4.bb
+++ b/meta/recipes-devtools/pkgconf/pkgconf_1.7.4.bb
@@ -7,7 +7,7 @@ HOMEPAGE = "http://pkgconf.org"
 BUGTRACKER = "https://github.com/pkgconf/pkgconf/issues"
 SECTION = "devel"
 PROVIDES += "pkgconfig"
-RPROVIDES_${PN} += "pkgconfig"
+RPROVIDES:${PN} += "pkgconfig"
 
 # The pkgconf license seems to be functionally equivalent to BSD-2-Clause or
 # ISC, but has different wording, so needs its own name.
@@ -26,13 +26,13 @@ inherit autotools
 
 EXTRA_OECONF += "--with-pkg-config-dir='${libdir}/pkgconfig:${datadir}/pkgconfig'"
 
-do_install_append () {
+do_install:append () {
     # Install a wrapper which deals, as much as possible with pkgconf vs
     # pkg-config compatibility issues.
     install -m 0755 "${WORKDIR}/pkg-config-wrapper" "${D}${bindir}/pkg-config"
 }
 
-do_install_append_class-native () {
+do_install:append:class-native () {
     # Install a pkg-config-native wrapper that will use the native sysroot instead
     # of the MACHINE sysroot, for using pkg-config when building native tools.
     sed -e "s|@PATH_NATIVE@|${PKG_CONFIG_PATH}|" \
@@ -47,11 +47,11 @@ do_install_append_class-native () {
 # When using the RPM generated automatic package dependencies, some packages
 # will end up requiring 'pkgconfig(pkg-config)'.  Allow this behavior by
 # specifying an appropriate provide.
-RPROVIDES_${PN} += "pkgconfig(pkg-config)"
+RPROVIDES:${PN} += "pkgconfig(pkg-config)"
 
 # Include pkg.m4 in the main package, leaving libpkgconf dev files in -dev
-FILES_${PN}-dev_remove = "${datadir}/aclocal"
-FILES_${PN} += "${datadir}/aclocal"
+FILES:${PN}-dev:remove = "${datadir}/aclocal"
+FILES:${PN} += "${datadir}/aclocal"
 
 BBCLASSEXTEND += "native nativesdk"
 
@@ -64,4 +64,4 @@ pkgconf_sstate_fixup_esdk () {
    fi
 }
 
-SSTATEPOSTUNPACKFUNCS_append_class-native = " pkgconf_sstate_fixup_esdk"
+SSTATEPOSTUNPACKFUNCS:append:class-native = " pkgconf_sstate_fixup_esdk"
diff --git a/meta/recipes-devtools/pkgconfig/pkgconfig_git.bb b/meta/recipes-devtools/pkgconfig/pkgconfig_git.bb
index 964d85fa38c..aa2692b9226 100644
--- a/meta/recipes-devtools/pkgconfig/pkgconfig_git.bb
+++ b/meta/recipes-devtools/pkgconfig/pkgconfig_git.bb
@@ -30,8 +30,8 @@ inherit autotools
 EXTRA_OECONF += "--disable-indirect-deps"
 
 PACKAGECONFIG ??= "glib"
-PACKAGECONFIG_class-native = ""
-PACKAGECONFIG_class-nativesdk = ""
+PACKAGECONFIG:class-native = ""
+PACKAGECONFIG:class-nativesdk = ""
 
 PACKAGECONFIG[glib] = "--without-internal-glib,--with-internal-glib,glib-2.0 pkgconfig-native"
 
@@ -42,17 +42,17 @@ BBCLASSEXTEND = "native nativesdk"
 # Set an empty dev package to ensure the base PN package gets
 # the pkg.m4 macros, pkgconfig does not deliver any other -dev
 # files.
-FILES_${PN}-dev = ""
-FILES_${PN} += "${datadir}/aclocal/pkg.m4"
+FILES:${PN}-dev = ""
+FILES:${PN} += "${datadir}/aclocal/pkg.m4"
 
 # When using the RPM generated automatic package dependencies, some packages
 # will end up requiring 'pkgconfig(pkg-config)'.  Allow this behavior by
 # specifying an appropriate provide.
-RPROVIDES_${PN} += "pkgconfig(pkg-config)"
+RPROVIDES:${PN} += "pkgconfig(pkg-config)"
 
 # Install a pkg-config-native wrapper that will use the native sysroot instead
 # of the MACHINE sysroot, for using pkg-config when building native tools.
-do_install_append_class-native () {
+do_install:append:class-native () {
     sed -e "s|@PATH_NATIVE@|${PKG_CONFIG_PATH}|" \
         -e "s|@LIBDIR_NATIVE@|${PKG_CONFIG_LIBDIR}|" \
         < ${WORKDIR}/pkg-config-native.in > ${B}/pkg-config-native
@@ -72,4 +72,4 @@ pkgconfig_sstate_fixup_esdk () {
 	fi
 }
 
-SSTATEPOSTUNPACKFUNCS_append_class-native = " pkgconfig_sstate_fixup_esdk"
+SSTATEPOSTUNPACKFUNCS:append:class-native = " pkgconfig_sstate_fixup_esdk"
diff --git a/meta/recipes-devtools/prelink/prelink_git.bb b/meta/recipes-devtools/prelink/prelink_git.bb
index e197af9ee91..78d4c718179 100644
--- a/meta/recipes-devtools/prelink/prelink_git.bb
+++ b/meta/recipes-devtools/prelink/prelink_git.bb
@@ -19,11 +19,11 @@ PV = "1.0+git${SRCPV}"
 #
 # Default is prelinking is enabled.
 #
-SUMMARY_${PN}-cron = "Cron scripts to control automatic prelinking"
-DESCRIPTION_${PN}-cron = "Cron scripts to control automatic prelinking.  \
+SUMMARY:${PN}-cron = "Cron scripts to control automatic prelinking"
+DESCRIPTION:${PN}-cron = "Cron scripts to control automatic prelinking.  \
 See: ${sysconfdir}/cron.daily/prelink for configuration information."
 
-FILES_${PN}-cron = "${sysconfdir}/cron.daily ${sysconfdir}/default"
+FILES:${PN}-cron = "${sysconfdir}/cron.daily ${sysconfdir}/default"
 
 PACKAGES =+ "${PN}-cron"
 
@@ -37,10 +37,10 @@ SRC_URI = "git://git.yoctoproject.org/prelink-cross.git;branch=cross_prelink_sta
 UPSTREAM_CHECK_COMMITS = "1"
 
 # error: error.h: No such file or directory
-COMPATIBLE_HOST_libc-musl = 'null'
+COMPATIBLE_HOST:libc-musl = 'null'
 
 TARGET_OS_ORIG := "${TARGET_OS}"
-OVERRIDES_append = ":${TARGET_OS_ORIG}"
+OVERRIDES:append = ":${TARGET_OS_ORIG}"
 
 S = "${WORKDIR}/git"
 
@@ -144,12 +144,12 @@ python () {
         bb.build.addtask('do_linkerpaths', 'do_configure', 'do_patch', d)
 }
 
-do_configure_prepend () {
+do_configure:prepend () {
         # Disable documentation!
         echo "all:" > ${S}/doc/Makefile.am
 }
 
-do_install_append () {
+do_install:append () {
 	install -d ${D}${sysconfdir}/cron.daily ${D}${sysconfdir}/default ${D}${sysconfdir}/rpm
 	install -m 0644 ${WORKDIR}/prelink.conf ${D}${sysconfdir}/prelink.conf
 	install -m 0644 ${WORKDIR}/prelink.cron.daily ${D}${sysconfdir}/cron.daily/prelink
@@ -161,7 +161,7 @@ do_install_append () {
 # Prelinking during a cross install should be handled by the image-prelink
 # bbclass.  If the user desires this to run on the target at first boot
 # they will need to create a custom boot script.
-pkg_postinst_prelink() {
+pkg_postinst:prelink() {
 #!/bin/sh
 
 if [ "x$D" != "x" ]; then
@@ -171,7 +171,7 @@ fi
 prelink -a
 }
 
-pkg_prerm_prelink() {
+pkg_prerm:prelink() {
 #!/bin/sh
 
 if [ "x$D" != "x" ]; then
diff --git a/meta/recipes-devtools/pseudo/pseudo.inc b/meta/recipes-devtools/pseudo/pseudo.inc
index e6512bc6e68..7ba414ca25d 100644
--- a/meta/recipes-devtools/pseudo/pseudo.inc
+++ b/meta/recipes-devtools/pseudo/pseudo.inc
@@ -10,14 +10,14 @@ SECTION = "base"
 LICENSE = "LGPL2.1"
 DEPENDS = "sqlite3 attr"
 
-FILES_${PN} = "${prefix}/lib/pseudo/lib*/libpseudo.so ${bindir}/* ${localstatedir}/pseudo ${prefix}/var/pseudo"
-INSANE_SKIP_${PN} += "libdir"
-INSANE_SKIP_${PN}-dbg += "libdir"
+FILES:${PN} = "${prefix}/lib/pseudo/lib*/libpseudo.so ${bindir}/* ${localstatedir}/pseudo ${prefix}/var/pseudo"
+INSANE_SKIP:${PN} += "libdir"
+INSANE_SKIP:${PN}-dbg += "libdir"
 
 PROVIDES += "virtual/fakeroot"
 
 MAKEOPTS = ""
-MAKEOPTS_class-native = "'RPATH=-Wl,--rpath=XORIGIN/../../../sqlite3-native/usr/lib/'"
+MAKEOPTS:class-native = "'RPATH=-Wl,--rpath=XORIGIN/../../../sqlite3-native/usr/lib/'"
 
 inherit siteinfo pkgconfig
 
@@ -26,7 +26,7 @@ do_configure () {
 }
 
 NO32LIBS ??= "1"
-NO32LIBS_class-nativesdk = "1"
+NO32LIBS:class-nativesdk = "1"
 
 PSEUDO_EXTRA_OPTS ?= "--enable-force-async --without-passwd-fallback --enable-epoll --enable-xattr"
 
@@ -79,7 +79,7 @@ warn_32bit_missing() {
 # Two below are the same
 # If necessary compile for the alternative machine arch.  This is only 
 # necessary in a native build.
-do_compile_prepend_class-native () {
+do_compile:prepend:class-native () {
 	maybe_make32
 	if $make32; then
 		# We need the 32-bit libpseudo on a 64-bit machine...
@@ -100,7 +100,7 @@ do_compile_prepend_class-native () {
 	fi
 }
 
-do_compile_prepend_class-nativesdk () {
+do_compile:prepend:class-nativesdk () {
 	maybe_make32
 	if $make32; then
 		# We need the 32-bit libpseudo on a 64-bit machine.
@@ -112,7 +112,7 @@ do_compile_prepend_class-nativesdk () {
 	fi
 }
 
-do_compile_append_class-native () {
+do_compile:append:class-native () {
 	if [ '${@bb.data.inherits_class('uninative', d)}' = 'True' ]; then
 		for i in PSEUDO_PORT_UNIX_SYNCFS PSEUDO_PORT_UIDS_GENERIC PSEUDO_PORT_LINUX_NEWCLONE PSEUDO_PORT_LINUX_XATTR PSEUDO_PORT_LINUX_STATVFS; do
 			grep $i.1 ${S}/pseudo_ports.h
@@ -129,7 +129,7 @@ do_install () {
 	oe_runmake 'DESTDIR=${D}' ${MAKEOPTS} 'LIB=lib/pseudo/lib$(MARK64)' install
 }
 
-do_install_append_class-native () {
+do_install:append:class-native () {
 	chrpath ${D}${bindir}/pseudo -r `chrpath ${D}${bindir}/pseudo | cut -d = -f 2 | sed s/XORIGIN/\\$ORIGIN/`
 	install -d ${D}${sysconfdir}
 	# The fallback files should never be modified
@@ -146,7 +146,7 @@ do_install_append_class-native () {
 	fi
 }
 
-do_install_append_class-nativesdk () {
+do_install:append:class-nativesdk () {
 	maybe_make32
 	if $make32; then
 		mkdir -p ${D}${prefix}/lib/pseudo/lib
diff --git a/meta/recipes-devtools/pseudo/pseudo_git.bb b/meta/recipes-devtools/pseudo/pseudo_git.bb
index 0ba460f3e64..dacaef1a66b 100644
--- a/meta/recipes-devtools/pseudo/pseudo_git.bb
+++ b/meta/recipes-devtools/pseudo/pseudo_git.bb
@@ -11,4 +11,4 @@ S = "${WORKDIR}/git"
 PV = "1.9.0+git${SRCPV}"
 
 # error: use of undeclared identifier '_STAT_VER'
-COMPATIBLE_HOST_libc-musl = 'null'
+COMPATIBLE_HOST:libc-musl = 'null'
diff --git a/meta/recipes-devtools/python-numpy/python3-numpy_1.21.0.bb b/meta/recipes-devtools/python-numpy/python3-numpy_1.21.0.bb
index 7ad2f061bf3..a4d222c3aa3 100644
--- a/meta/recipes-devtools/python-numpy/python3-numpy_1.21.0.bb
+++ b/meta/recipes-devtools/python-numpy/python3-numpy_1.21.0.bb
@@ -25,10 +25,10 @@ S = "${WORKDIR}/numpy-${PV}"
 
 CLEANBROKEN = "1"
 
-FILES_${PN}-staticdev += "${PYTHON_SITEPACKAGES_DIR}/numpy/core/lib/*.a ${PYTHON_SITEPACKAGES_DIR}/numpy/random/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 \
+RDEPENDS:${PN} = "${PYTHON_PN}-unittest \
                   ${PYTHON_PN}-difflib \
                   ${PYTHON_PN}-pprint \
                   ${PYTHON_PN}-pickle \
@@ -48,7 +48,7 @@ RDEPENDS_${PN} = "${PYTHON_PN}-unittest \
                   ${PYTHON_PN}-threading \
                   ${PYTHON_PN}-multiprocessing \
 "
-RDEPENDS_${PN}-ptest += "${PYTHON_PN}-pytest \
+RDEPENDS:${PN}-ptest += "${PYTHON_PN}-pytest \
                          ${PYTHON_PN}-hypothesis \
                          ${PYTHON_PN}-sortedcontainers \
                          ${PYTHON_PN}-resource \
diff --git a/meta/recipes-devtools/python/python-async.inc b/meta/recipes-devtools/python/python-async.inc
index af887dc4e56..fde864601c6 100644
--- a/meta/recipes-devtools/python/python-async.inc
+++ b/meta/recipes-devtools/python/python-async.inc
@@ -9,6 +9,6 @@ inherit pypi
 SRC_URI[md5sum] = "9b06b5997de2154f3bc0273f80bcef6b"
 SRC_URI[sha256sum] = "ac6894d876e45878faae493b0cf61d0e28ec417334448ac0a6ea2229d8343051"
 
-RDEPENDS_${PN} += "${PYTHON_PN}-threading"
+RDEPENDS:${PN} += "${PYTHON_PN}-threading"
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-devtools/python/python-cython.inc b/meta/recipes-devtools/python/python-cython.inc
index 04fd2ec2b7c..e3f14fc49b4 100644
--- a/meta/recipes-devtools/python/python-cython.inc
+++ b/meta/recipes-devtools/python/python-cython.inc
@@ -14,7 +14,7 @@ UPSTREAM_CHECK_REGEX = "Cython-(?P<pver>.*)\.tar"
 
 inherit pypi
 
-RDEPENDS_${PN}_class-target += "\
+RDEPENDS:${PN}:class-target += "\
     ${PYTHON_PN}-misc \
     ${PYTHON_PN}-netserver \
     ${PYTHON_PN}-pkgutil \
@@ -24,7 +24,7 @@ RDEPENDS_${PN}_class-target += "\
     ${PYTHON_PN}-xml \
 "
 
-RDEPENDS_${PN}_class-nativesdk += "\
+RDEPENDS:${PN}:class-nativesdk += "\
     nativesdk-${PYTHON_PN}-misc \
     nativesdk-${PYTHON_PN}-netserver \
     nativesdk-${PYTHON_PN}-pkgutil \
@@ -34,7 +34,7 @@ RDEPENDS_${PN}_class-nativesdk += "\
     nativesdk-${PYTHON_PN}-xml \
 "
 
-do_install_append() {
+do_install:append() {
 	# Make sure we use /usr/bin/env python
 	for PYTHSCRIPT in `grep -rIl '^#!.*python' ${D}`; do
 		sed -i -e '1s|^#!.*|#!/usr/bin/env ${PYTHON_PN}|' $PYTHSCRIPT
diff --git a/meta/recipes-devtools/python/python-gitdb.inc b/meta/recipes-devtools/python/python-gitdb.inc
index 53d925a495a..5b24a1f4a31 100644
--- a/meta/recipes-devtools/python/python-gitdb.inc
+++ b/meta/recipes-devtools/python/python-gitdb.inc
@@ -12,7 +12,7 @@ SRC_URI[sha256sum] = "96bf5c08b157a666fec41129e6d327235284cca4c81e92109260f353ba
 
 DEPENDS = "${PYTHON_PN}-async ${PYTHON_PN}-setuptools-native ${PYTHON_PN}-smmap"
 
-RDEPENDS_${PN} += "${PYTHON_PN}-async \
+RDEPENDS:${PN} += "${PYTHON_PN}-async \
                    ${PYTHON_PN}-compression \
                    ${PYTHON_PN}-crypt \
                    ${PYTHON_PN}-io \
diff --git a/meta/recipes-devtools/python/python-nose.inc b/meta/recipes-devtools/python/python-nose.inc
index ccec68a0e18..dfae2022995 100644
--- a/meta/recipes-devtools/python/python-nose.inc
+++ b/meta/recipes-devtools/python/python-nose.inc
@@ -11,7 +11,7 @@ SRC_URI[sha256sum] = "f1bffef9cbc82628f6e7d7b40d7e255aefaa1adb6a1b1d26c69a8b79e6
 
 inherit pypi
 
-RDEPENDS_${PN} = "\
+RDEPENDS:${PN} = "\
   ${PYTHON_PN}-unittest \
   "
 
diff --git a/meta/recipes-devtools/python/python-pbr.inc b/meta/recipes-devtools/python/python-pbr.inc
index bc470e72746..59fbc6dce41 100644
--- a/meta/recipes-devtools/python/python-pbr.inc
+++ b/meta/recipes-devtools/python/python-pbr.inc
@@ -9,6 +9,6 @@ SRC_URI += "file://0001-change-shebang-to-python3.patch"
 
 inherit pypi
 
-RDEPENDS_${PN} += "${PYTHON_PN}-pip"
+RDEPENDS:${PN} += "${PYTHON_PN}-pip"
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-devtools/python/python-pycryptodome.inc b/meta/recipes-devtools/python/python-pycryptodome.inc
index 48481bcf9a9..3f4c6e9fca2 100644
--- a/meta/recipes-devtools/python/python-pycryptodome.inc
+++ b/meta/recipes-devtools/python/python-pycryptodome.inc
@@ -7,18 +7,18 @@ LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=accfa6aeaceb3ba96676edf18e78302c"
 
 inherit pypi
 
-RDEPENDS_${PN} += " \
+RDEPENDS:${PN} += " \
     ${PYTHON_PN}-io \
     ${PYTHON_PN}-math \
 "
 
-RDEPENDS_${PN}-tests += " \
+RDEPENDS:${PN}-tests += " \
     ${PYTHON_PN}-unittest \
 "
 
 PACKAGES =+ "${PN}-tests"
 
-FILES_${PN}-tests = " \
+FILES:${PN}-tests = " \
     ${PYTHON_SITEPACKAGES_DIR}/Crypto/SelfTest/ \
     ${PYTHON_SITEPACKAGES_DIR}/Crypto/SelfTest/__pycache__/ \
 "
diff --git a/meta/recipes-devtools/python/python-pyparsing.inc b/meta/recipes-devtools/python/python-pyparsing.inc
index 348b324bf5a..330bf7e39a6 100644
--- a/meta/recipes-devtools/python/python-pyparsing.inc
+++ b/meta/recipes-devtools/python/python-pyparsing.inc
@@ -9,7 +9,7 @@ UPSTREAM_CHECK_REGEX = "pyparsing-(?P<pver>.*)\.tar"
 
 inherit pypi
 
-RDEPENDS_${PN} += " \
+RDEPENDS:${PN} += " \
     ${PYTHON_PN}-datetime \
     ${PYTHON_PN}-debugger \
     ${PYTHON_PN}-json \
diff --git a/meta/recipes-devtools/python/python-six.inc b/meta/recipes-devtools/python/python-six.inc
index df97f845bca..aac6765149c 100644
--- a/meta/recipes-devtools/python/python-six.inc
+++ b/meta/recipes-devtools/python/python-six.inc
@@ -6,6 +6,6 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=43cfc9e4ac0e377acfb9b76f56b8415d"
 
 inherit pypi
 
-RDEPENDS_${PN} = "${PYTHON_PN}-io"
+RDEPENDS:${PN} = "${PYTHON_PN}-io"
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-devtools/python/python-smmap.inc b/meta/recipes-devtools/python/python-smmap.inc
index 2a2ac76f2eb..7d0cff5fa69 100644
--- a/meta/recipes-devtools/python/python-smmap.inc
+++ b/meta/recipes-devtools/python/python-smmap.inc
@@ -13,7 +13,7 @@ PYPI_PACKAGE = "smmap"
 
 SRC_URI[sha256sum] = "7e65386bd122d45405ddf795637b7f7d2b532e7e401d46bbe3fb49b9986d5182"
 
-RDEPENDS_${PN} += "${PYTHON_PN}-codecs \
+RDEPENDS:${PN} += "${PYTHON_PN}-codecs \
                    ${PYTHON_PN}-mmap \
 "
 BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-devtools/python/python-testtools.inc b/meta/recipes-devtools/python/python-testtools.inc
index de463fc2c34..ef5e15cc3a2 100644
--- a/meta/recipes-devtools/python/python-testtools.inc
+++ b/meta/recipes-devtools/python/python-testtools.inc
@@ -17,7 +17,7 @@ DEPENDS += " \
     ${PYTHON_PN}-pbr-native \
     "
 
-RDEPENDS_${PN} += "\
+RDEPENDS:${PN} += "\
     ${PYTHON_PN}-doctest \
     ${PYTHON_PN}-extras \
     ${PYTHON_PN}-pbr \
diff --git a/meta/recipes-devtools/python/python3-atomicwrites_1.4.0.bb b/meta/recipes-devtools/python/python3-atomicwrites_1.4.0.bb
index 7edd41030fb..065a2c7b4fb 100644
--- a/meta/recipes-devtools/python/python3-atomicwrites_1.4.0.bb
+++ b/meta/recipes-devtools/python/python3-atomicwrites_1.4.0.bb
@@ -12,7 +12,7 @@ SRC_URI += " \
 	file://run-ptest \
 "
 
-RDEPENDS_${PN}-ptest += " \
+RDEPENDS:${PN}-ptest += " \
 	${PYTHON_PN}-pytest \
 	${PYTHON_PN}-unixadmin \
 "
@@ -22,4 +22,4 @@ do_install_ptest() {
 	cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
 }
 
-RDEPENDS_${PN} = "${PYTHON_PN}-misc"
+RDEPENDS:${PN} = "${PYTHON_PN}-misc"
diff --git a/meta/recipes-devtools/python/python3-attrs_21.2.0.bb b/meta/recipes-devtools/python/python3-attrs_21.2.0.bb
index e89fbc96f21..d52237f2671 100644
--- a/meta/recipes-devtools/python/python3-attrs_21.2.0.bb
+++ b/meta/recipes-devtools/python/python3-attrs_21.2.0.bb
@@ -7,11 +7,11 @@ SRC_URI[sha256sum] = "ef6aaac3ca6cd92904cdd0d83f629a15f18053ec84e6432106f7a4d04a
 
 inherit pypi setuptools3
 
-RDEPENDS_${PN}_class-target += " \
+RDEPENDS:${PN}:class-target += " \
     ${PYTHON_PN}-crypt \
     ${PYTHON_PN}-ctypes \
 "
-RDEPENDS_${PN}_class-nativesdk += " \
+RDEPENDS:${PN}:class-nativesdk += " \
     ${PYTHON_PN}-crypt \
     ${PYTHON_PN}-ctypes \
 "
diff --git a/meta/recipes-devtools/python/python3-cython_0.29.23.bb b/meta/recipes-devtools/python/python3-cython_0.29.23.bb
index 2ec4033fa04..296fb39b6fd 100644
--- a/meta/recipes-devtools/python/python3-cython_0.29.23.bb
+++ b/meta/recipes-devtools/python/python3-cython_0.29.23.bb
@@ -1,7 +1,7 @@
 inherit setuptools3
 require python-cython.inc
 
-RDEPENDS_${PN} += "\
+RDEPENDS:${PN} += "\
     python3-setuptools \
 "
 
@@ -10,7 +10,7 @@ RDEPENDS_${PN} += "\
 # architecture.
 DISTUTILS_INSTALL_ARGS += "--skip-build"
 
-do_install_append() {
+do_install:append() {
     # rename scripts that would conflict with the Python 2 build of Cython
     mv ${D}${bindir}/cython ${D}${bindir}/cython3
     mv ${D}${bindir}/cythonize ${D}${bindir}/cythonize3
diff --git a/meta/recipes-devtools/python/python3-dbus_1.2.16.bb b/meta/recipes-devtools/python/python3-dbus_1.2.16.bb
index e1700fa8694..9be6ffc485e 100644
--- a/meta/recipes-devtools/python/python3-dbus_1.2.16.bb
+++ b/meta/recipes-devtools/python/python3-dbus_1.2.16.bb
@@ -19,8 +19,8 @@ inherit distutils3-base autotools pkgconfig
 EXTRA_OECONF += "--disable-documentation"
 
 
-RDEPENDS_${PN} = "python3-io python3-logging python3-stringold python3-threading python3-xml"
+RDEPENDS:${PN} = "python3-io python3-logging python3-stringold python3-threading python3-xml"
 
-FILES_${PN}-dev += "${libdir}/pkgconfig"
+FILES:${PN}-dev += "${libdir}/pkgconfig"
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-devtools/python/python3-dbusmock_0.23.1.bb b/meta/recipes-devtools/python/python3-dbusmock_0.23.1.bb
index b5fa1868b89..28e99299b24 100644
--- a/meta/recipes-devtools/python/python3-dbusmock_0.23.1.bb
+++ b/meta/recipes-devtools/python/python3-dbusmock_0.23.1.bb
@@ -10,7 +10,7 @@ PYPI_PACKAGE = "python-dbusmock"
 
 inherit pypi setuptools3
 
-RDEPENDS_${PN} += "\
+RDEPENDS:${PN} += "\
     ${PYTHON_PN}-dbus \
     ${PYTHON_PN}-pygobject \
     ${PYTHON_PN}-unittest \
diff --git a/meta/recipes-devtools/python/python3-git_3.1.18.bb b/meta/recipes-devtools/python/python3-git_3.1.18.bb
index 955418c0e41..d1c50d43227 100644
--- a/meta/recipes-devtools/python/python3-git_3.1.18.bb
+++ b/meta/recipes-devtools/python/python3-git_3.1.18.bb
@@ -16,7 +16,7 @@ SRC_URI[sha256sum] = "b838a895977b45ab6f0cc926a9045c8d1c44e2b653c1fcc39fe91f42c6
 
 DEPENDS += " ${PYTHON_PN}-gitdb"
 
-RDEPENDS_${PN} += " \
+RDEPENDS:${PN} += " \
                    ${PYTHON_PN}-datetime \
                    ${PYTHON_PN}-gitdb \
                    ${PYTHON_PN}-io \
diff --git a/meta/recipes-devtools/python/python3-hypothesis_6.14.3.bb b/meta/recipes-devtools/python/python3-hypothesis_6.14.3.bb
index 83c9917a04f..63101aad697 100644
--- a/meta/recipes-devtools/python/python3-hypothesis_6.14.3.bb
+++ b/meta/recipes-devtools/python/python3-hypothesis_6.14.3.bb
@@ -9,7 +9,7 @@ inherit pypi setuptools3
 
 SRC_URI[sha256sum] = "1c8776d9fc8c598cf1b93b99bd87976f9d9b589fc58843d85a30090700f14a8a"
 
-RDEPENDS_${PN} += " \
+RDEPENDS:${PN} += " \
     python3-attrs \
     python3-compression \
     python3-core \
diff --git a/meta/recipes-devtools/python/python3-importlib-metadata_4.6.1.bb b/meta/recipes-devtools/python/python3-importlib-metadata_4.6.1.bb
index 7e9604aaf4e..9fa47548816 100644
--- a/meta/recipes-devtools/python/python3-importlib-metadata_4.6.1.bb
+++ b/meta/recipes-devtools/python/python3-importlib-metadata_4.6.1.bb
@@ -13,8 +13,8 @@ SRC_URI[sha256sum] = "079ada16b7fc30dfbb5d13399a5113110dab1aa7c2bc62f66af75f0b71
 S = "${WORKDIR}/importlib_metadata-${PV}"
 
 DEPENDS += "${PYTHON_PN}-setuptools-scm-native ${PYTHON_PN}-toml-native"
-RDEPENDS_${PN} += "${PYTHON_PN}-zipp ${PYTHON_PN}-pathlib2"
-RDEPENDS_${PN}_append_class-target = " python3-misc"
-RDEPENDS_${PN}_append_class-nativesdk = " python3-misc"
+RDEPENDS:${PN} += "${PYTHON_PN}-zipp ${PYTHON_PN}-pathlib2"
+RDEPENDS:${PN}:append:class-target = " python3-misc"
+RDEPENDS:${PN}:append:class-nativesdk = " python3-misc"
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-devtools/python/python3-iniparse_0.5.bb b/meta/recipes-devtools/python/python3-iniparse_0.5.bb
index 4ed82eab290..b5812d90c34 100644
--- a/meta/recipes-devtools/python/python3-iniparse_0.5.bb
+++ b/meta/recipes-devtools/python/python3-iniparse_0.5.bb
@@ -8,7 +8,7 @@ SRC_URI[sha256sum] = "932e5239d526e7acb504017bb707be67019ac428a6932368e685169109
 
 inherit pypi setuptools3
 
-RDEPENDS_${PN} += "python3-core python3-six"
+RDEPENDS:${PN} += "python3-core python3-six"
 DEPENDS += "python3-six"
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-devtools/python/python3-jinja2_3.0.1.bb b/meta/recipes-devtools/python/python3-jinja2_3.0.1.bb
index b37a043ccb2..abb89c9a30a 100644
--- a/meta/recipes-devtools/python/python3-jinja2_3.0.1.bb
+++ b/meta/recipes-devtools/python/python3-jinja2_3.0.1.bb
@@ -24,13 +24,13 @@ do_install_ptest() {
     cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
 }
 
-RDEPENDS_${PN}-ptest += " \
+RDEPENDS:${PN}-ptest += " \
 	${PYTHON_PN}-pytest \
         ${PYTHON_PN}-toml \
 	${PYTHON_PN}-unixadmin \
 "
 
-RDEPENDS_${PN} += " \
+RDEPENDS:${PN} += " \
     ${PYTHON_PN}-asyncio \
     ${PYTHON_PN}-crypt \
     ${PYTHON_PN}-io \
diff --git a/meta/recipes-devtools/python/python3-libarchive-c_3.1.bb b/meta/recipes-devtools/python/python3-libarchive-c_3.1.bb
index d8f7862f922..ac8466e63bb 100644
--- a/meta/recipes-devtools/python/python3-libarchive-c_3.1.bb
+++ b/meta/recipes-devtools/python/python3-libarchive-c_3.1.bb
@@ -12,7 +12,7 @@ inherit pypi setuptools3
 SRC_URI[md5sum] = "8c62da42a8b9bd24642e5430427e6f5a"
 SRC_URI[sha256sum] = "618a7ecfbfb58ca15e11e3138d4a636498da3b6bc212811af158298530fbb87e"
 
-RDEPENDS_${PN} += "\
+RDEPENDS:${PN} += "\
   libarchive \
   ${PYTHON_PN}-ctypes \
   ${PYTHON_PN}-mmap \
diff --git a/meta/recipes-devtools/python/python3-magic_0.4.24.bb b/meta/recipes-devtools/python/python3-magic_0.4.24.bb
index a54bf2431cd..ae895fbd532 100644
--- a/meta/recipes-devtools/python/python3-magic_0.4.24.bb
+++ b/meta/recipes-devtools/python/python3-magic_0.4.24.bb
@@ -13,7 +13,7 @@ inherit pypi setuptools3
 
 SRC_URI[sha256sum] = "de800df9fb50f8ec5974761054a708af6e4246b03b4bdaee993f948947b0ebcf"
 
-RDEPENDS_${PN} += "file \
+RDEPENDS:${PN} += "file \
                    ${PYTHON_PN}-ctypes \
                    ${PYTHON_PN}-io \
                    ${PYTHON_PN}-logging \
diff --git a/meta/recipes-devtools/python/python3-mako_1.1.4.bb b/meta/recipes-devtools/python/python3-mako_1.1.4.bb
index 1645f37da44..21ce33b8086 100644
--- a/meta/recipes-devtools/python/python3-mako_1.1.4.bb
+++ b/meta/recipes-devtools/python/python3-mako_1.1.4.bb
@@ -10,7 +10,7 @@ inherit pypi setuptools3
 
 SRC_URI[sha256sum] = "17831f0b7087c313c0ffae2bcbbd3c1d5ba9eeac9c38f2eb7b50e8c99fe9d5ab"
 
-RDEPENDS_${PN} = "${PYTHON_PN}-html \
+RDEPENDS:${PN} = "${PYTHON_PN}-html \
                   ${PYTHON_PN}-netclient \
                   ${PYTHON_PN}-threading \
 "
diff --git a/meta/recipes-devtools/python/python3-markdown_3.3.4.bb b/meta/recipes-devtools/python/python3-markdown_3.3.4.bb
index 47cccbe5bd3..ec1d139ab00 100644
--- a/meta/recipes-devtools/python/python3-markdown_3.3.4.bb
+++ b/meta/recipes-devtools/python/python3-markdown_3.3.4.bb
@@ -10,4 +10,4 @@ SRC_URI[sha256sum] = "31b5b491868dcc87d6c24b7e3d19a0d730d59d3e46f4eea6430a321bed
 
 BBCLASSEXTEND = "native"
 
-RDEPENDS_${PN} += "${PYTHON_PN}-logging ${PYTHON_PN}-setuptools"
+RDEPENDS:${PN} += "${PYTHON_PN}-logging ${PYTHON_PN}-setuptools"
diff --git a/meta/recipes-devtools/python/python3-markupsafe_2.0.1.bb b/meta/recipes-devtools/python/python3-markupsafe_2.0.1.bb
index 5be43b6c565..857472cc7b2 100644
--- a/meta/recipes-devtools/python/python3-markupsafe_2.0.1.bb
+++ b/meta/recipes-devtools/python/python3-markupsafe_2.0.1.bb
@@ -9,7 +9,7 @@ PYPI_PACKAGE = "MarkupSafe"
 inherit pypi setuptools3
 inherit ${@bb.utils.filter('DISTRO_FEATURES', 'ptest', d)}
 
-RDEPENDS_${PN} += "${PYTHON_PN}-stringold"
+RDEPENDS:${PN} += "${PYTHON_PN}-stringold"
 
 BBCLASSEXTEND = "native nativesdk"
 
@@ -17,7 +17,7 @@ SRC_URI += " \
 	file://run-ptest \
 "
 
-RDEPENDS_${PN}-ptest += " \
+RDEPENDS:${PN}-ptest += " \
 	${PYTHON_PN}-pytest \
 "
 
diff --git a/meta/recipes-devtools/python/python3-more-itertools_8.8.0.bb b/meta/recipes-devtools/python/python3-more-itertools_8.8.0.bb
index 1c0e84d27fb..fe41d47e412 100644
--- a/meta/recipes-devtools/python/python3-more-itertools_8.8.0.bb
+++ b/meta/recipes-devtools/python/python3-more-itertools_8.8.0.bb
@@ -11,11 +11,11 @@ SRC_URI += " \
 	file://run-ptest \
 "
 
-RDEPENDS_${PN} += " \
+RDEPENDS:${PN} += " \
         ${PYTHON_PN}-asyncio \
         "
 
-RDEPENDS_${PN}-ptest += " \
+RDEPENDS:${PN}-ptest += " \
 	${PYTHON_PN}-pytest \
         "
 
diff --git a/meta/recipes-devtools/python/python3-packaging_21.0.bb b/meta/recipes-devtools/python/python3-packaging_21.0.bb
index 23ecd9df5ea..eacc48e56af 100644
--- a/meta/recipes-devtools/python/python3-packaging_21.0.bb
+++ b/meta/recipes-devtools/python/python3-packaging_21.0.bb
@@ -10,4 +10,4 @@ inherit pypi setuptools3
 BBCLASSEXTEND = "native"
 
 DEPENDS += "${PYTHON_PN}-setuptools-scm-native"
-RDEPENDS_${PN} += "${PYTHON_PN}-six ${PYTHON_PN}-pyparsing"
+RDEPENDS:${PN} += "${PYTHON_PN}-six ${PYTHON_PN}-pyparsing"
diff --git a/meta/recipes-devtools/python/python3-pathlib2_2.3.6.bb b/meta/recipes-devtools/python/python3-pathlib2_2.3.6.bb
index 8516bbe4d4e..1f1cf1ab28d 100644
--- a/meta/recipes-devtools/python/python3-pathlib2_2.3.6.bb
+++ b/meta/recipes-devtools/python/python3-pathlib2_2.3.6.bb
@@ -7,6 +7,6 @@ SRC_URI[sha256sum] = "7d8bcb5555003cdf4a8d2872c538faa3a0f5d20630cb360e518ca3b981
 
 inherit pypi setuptools3
 
-RDEPENDS_${PN} += "${PYTHON_PN}-six ${PYTHON_PN}-ctypes"
+RDEPENDS:${PN} += "${PYTHON_PN}-six ${PYTHON_PN}-ctypes"
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-devtools/python/python3-pip_21.1.3.bb b/meta/recipes-devtools/python/python3-pip_21.1.3.bb
index 0f105c23937..21b2c7cb2be 100644
--- a/meta/recipes-devtools/python/python3-pip_21.1.3.bb
+++ b/meta/recipes-devtools/python/python3-pip_21.1.3.bb
@@ -12,12 +12,12 @@ SRC_URI += "file://0001-change-shebang-to-python3.patch"
 
 SRC_URI[sha256sum] = "b5b1eb91b36894bd01b8e5a56a422c2f3838573da0b0a1c63a096bb454e3b23f"
 
-do_install_append() {
+do_install:append() {
     # Install as pip3 and leave pip2 as default
     rm ${D}/${bindir}/pip
 }
 
-RDEPENDS_${PN} = "\
+RDEPENDS:${PN} = "\
   python3-compile \
   python3-io \
   python3-html \
diff --git a/meta/recipes-devtools/python/python3-pluggy_0.13.1.bb b/meta/recipes-devtools/python/python3-pluggy_0.13.1.bb
index d3e0365ca1d..479c10fcdc5 100644
--- a/meta/recipes-devtools/python/python3-pluggy_0.13.1.bb
+++ b/meta/recipes-devtools/python/python3-pluggy_0.13.1.bb
@@ -7,7 +7,7 @@ SRC_URI[md5sum] = "7f610e28b8b34487336b585a3dfb803d"
 SRC_URI[sha256sum] = "15b2acde666561e1298d71b523007ed7364de07029219b604cf808bfa1c765b0"
 
 DEPENDS += "${PYTHON_PN}-setuptools-scm-native"
-RDEPENDS_${PN} += "${PYTHON_PN}-importlib-metadata \
+RDEPENDS:${PN} += "${PYTHON_PN}-importlib-metadata \
                    ${PYTHON_PN}-more-itertools \
 "
 
@@ -17,7 +17,7 @@ SRC_URI += " \
 	file://run-ptest \
 "
 
-RDEPENDS_${PN}-ptest += " \
+RDEPENDS:${PN}-ptest += " \
 	${PYTHON_PN}-pytest \
 "
 
diff --git a/meta/recipes-devtools/python/python3-py_1.10.0.bb b/meta/recipes-devtools/python/python3-py_1.10.0.bb
index 4e16ad17431..8225c6b6c8b 100644
--- a/meta/recipes-devtools/python/python3-py_1.10.0.bb
+++ b/meta/recipes-devtools/python/python3-py_1.10.0.bb
@@ -11,4 +11,4 @@ inherit pypi setuptools3
 
 BBCLASSEXTEND = "native nativesdk"
 
-RDEPENDS_${PN} += "${PYTHON_PN}-netclient"
+RDEPENDS:${PN} += "${PYTHON_PN}-netclient"
diff --git a/meta/recipes-devtools/python/python3-pycairo_1.20.1.bb b/meta/recipes-devtools/python/python3-pycairo_1.20.1.bb
index d169a3ca794..9c88d998f94 100644
--- a/meta/recipes-devtools/python/python3-pycairo_1.20.1.bb
+++ b/meta/recipes-devtools/python/python3-pycairo_1.20.1.bb
@@ -24,4 +24,4 @@ CFLAGS += "-fPIC"
 
 BBCLASSEXTEND = "native"
 
-FILES_${PN} = "${PYTHON_SITEPACKAGES_DIR}/*"
+FILES:${PN} = "${PYTHON_SITEPACKAGES_DIR}/*"
diff --git a/meta/recipes-devtools/python/python3-pycryptodomex_3.10.1.bb b/meta/recipes-devtools/python/python3-pycryptodomex_3.10.1.bb
index a6b3b3e935d..2d929f11d0a 100644
--- a/meta/recipes-devtools/python/python3-pycryptodomex_3.10.1.bb
+++ b/meta/recipes-devtools/python/python3-pycryptodomex_3.10.1.bb
@@ -3,7 +3,7 @@ inherit setuptools3
 
 SRC_URI[sha256sum] = "541cd3e3e252fb19a7b48f420b798b53483302b7fe4d9954c947605d0a263d62"
 
-FILES_${PN}-tests = " \
+FILES:${PN}-tests = " \
     ${PYTHON_SITEPACKAGES_DIR}/Cryptodome/SelfTest/ \
     ${PYTHON_SITEPACKAGES_DIR}/Cryptodome/SelfTest/__pycache__/ \
 "
diff --git a/meta/recipes-devtools/python/python3-pygobject_3.40.1.bb b/meta/recipes-devtools/python/python3-pygobject_3.40.1.bb
index f5679a4ba22..a0d4f04965a 100644
--- a/meta/recipes-devtools/python/python3-pygobject_3.40.1.bb
+++ b/meta/recipes-devtools/python/python3-pygobject_3.40.1.bb
@@ -24,11 +24,11 @@ S = "${WORKDIR}/${SRCNAME}-${PV}"
 
 PACKAGECONFIG ??= "${@bb.utils.contains_any('DISTRO_FEATURES', [ 'directfb', 'wayland', 'x11' ], 'cairo', '', d)}"
 
-RDEPENDS_${PN} += "python3-pkgutil"
+RDEPENDS:${PN} += "python3-pkgutil"
 
 # python3-pycairo is checked on configuration -> DEPENDS
 # we don't link against python3-pycairo -> RDEPENDS
 PACKAGECONFIG[cairo] = "-Dpycairo=enabled,-Dpycairo=disabled, cairo python3-pycairo, python3-pycairo"
 
 BBCLASSEXTEND = "native"
-PACKAGECONFIG_class-native = ""
+PACKAGECONFIG:class-native = ""
diff --git a/meta/recipes-devtools/python/python3-pytest_6.2.4.bb b/meta/recipes-devtools/python/python3-pytest_6.2.4.bb
index fa43e6ebf09..0df44d58c7c 100644
--- a/meta/recipes-devtools/python/python3-pytest_6.2.4.bb
+++ b/meta/recipes-devtools/python/python3-pytest_6.2.4.bb
@@ -5,13 +5,13 @@ DESCRIPTION = "The pytest framework makes it easy to write small tests, yet scal
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=81eb9f71d006c6b268cf4388e3c98f7b"
 
-SRC_URI_append = " file://0001-setup.py-remove-the-setup_requires-for-setuptools-scm.patch "
+SRC_URI:append = " file://0001-setup.py-remove-the-setup_requires-for-setuptools-scm.patch "
 
 SRC_URI[sha256sum] = "50bcad0a0b9c5a72c8e4e7c9855a3ad496ca6a881a3641b4260605450772c54b"
 
 inherit update-alternatives pypi setuptools3
 
-RDEPENDS_${PN}_class-target += " \
+RDEPENDS:${PN}:class-target += " \
     ${PYTHON_PN}-atomicwrites \
     ${PYTHON_PN}-attrs \
     ${PYTHON_PN}-debugger \
@@ -30,7 +30,7 @@ RDEPENDS_${PN}_class-target += " \
     ${PYTHON_PN}-wcwidth \
 "
 
-ALTERNATIVE_${PN} += "py.test pytest"
+ALTERNATIVE:${PN} += "py.test pytest"
 
 NATIVE_LINK_NAME[pytest] = "${bindir}/pytest"
 ALTERNATIVE_TARGET[pytest] = "${bindir}/pytest"
diff --git a/meta/recipes-devtools/python/python3-pyyaml_5.4.1.bb b/meta/recipes-devtools/python/python3-pyyaml_5.4.1.bb
index dce1ad57d3f..b11baa6331c 100644
--- a/meta/recipes-devtools/python/python3-pyyaml_5.4.1.bb
+++ b/meta/recipes-devtools/python/python3-pyyaml_5.4.1.bb
@@ -11,7 +11,7 @@ inherit pypi setuptools3
 
 SRC_URI[sha256sum] = "607774cbba28732bfa802b54baa7484215f530991055bb562efbed5b2f20a45e"
 
-RDEPENDS_${PN} += "\
+RDEPENDS:${PN} += "\
     ${PYTHON_PN}-datetime \
     ${PYTHON_PN}-netclient \
 "
diff --git a/meta/recipes-devtools/python/python3-scons-native_4.1.0.bb b/meta/recipes-devtools/python/python3-scons-native_4.1.0.bb
index 9e127304d63..73076b87320 100644
--- a/meta/recipes-devtools/python/python3-scons-native_4.1.0.bb
+++ b/meta/recipes-devtools/python/python3-scons-native_4.1.0.bb
@@ -2,6 +2,6 @@ require python3-scons_${PV}.bb
 inherit native python3native
 DEPENDS = "python3-native python3-setuptools-native"
 
-do_install_append() {
+do_install:append() {
     create_wrapper ${D}${bindir}/scons SCONS_LIB_DIR='${STAGING_DIR_HOST}/${PYTHON_SITEPACKAGES_DIR}' PYTHONNOUSERSITE='1'
 }
diff --git a/meta/recipes-devtools/python/python3-scons_4.1.0.bb b/meta/recipes-devtools/python/python3-scons_4.1.0.bb
index 5894a5ef3f1..5a5b550be09 100644
--- a/meta/recipes-devtools/python/python3-scons_4.1.0.bb
+++ b/meta/recipes-devtools/python/python3-scons_4.1.0.bb
@@ -11,7 +11,7 @@ PYPI_PACKAGE = "SCons"
 
 inherit pypi setuptools3
 
-RDEPENDS_${PN}_class-target = "\
+RDEPENDS:${PN}:class-target = "\
   python3-core \
   python3-compression \
   python3-fcntl \
@@ -24,4 +24,4 @@ RDEPENDS_${PN}_class-target = "\
   python3-pprint \
   "
 
-FILES_${PN}-doc += "${datadir}/scons*.1"
+FILES:${PN}-doc += "${datadir}/scons*.1"
diff --git a/meta/recipes-devtools/python/python3-setuptools-scm_6.0.1.bb b/meta/recipes-devtools/python/python3-setuptools-scm_6.0.1.bb
index 24409eddc5a..afbed17a2d9 100644
--- a/meta/recipes-devtools/python/python3-setuptools-scm_6.0.1.bb
+++ b/meta/recipes-devtools/python/python3-setuptools-scm_6.0.1.bb
@@ -11,14 +11,14 @@ inherit pypi setuptools3
 
 UPSTREAM_CHECK_REGEX = "setuptools_scm-(?P<pver>.*)\.tar"
 
-RDEPENDS_${PN} = "\
+RDEPENDS:${PN} = "\
     ${PYTHON_PN}-debugger \
     ${PYTHON_PN}-json \
     ${PYTHON_PN}-py \
     ${PYTHON_PN}-setuptools \
     ${PYTHON_PN}-toml \
 "
-RDEPENDS_${PN}_class-native = "\
+RDEPENDS:${PN}:class-native = "\
     ${PYTHON_PN}-setuptools-native \
     ${PYTHON_PN}-toml-native \
 "
diff --git a/meta/recipes-devtools/python/python3-setuptools_57.1.0.bb b/meta/recipes-devtools/python/python3-setuptools_57.1.0.bb
index c066d8209fe..63c0fe97ff9 100644
--- a/meta/recipes-devtools/python/python3-setuptools_57.1.0.bb
+++ b/meta/recipes-devtools/python/python3-setuptools_57.1.0.bb
@@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;beginline=1;endline=19;md5=7a7126e068206290f3
 
 inherit pypi setuptools3
 
-SRC_URI_append_class-native = " file://0001-conditionally-do-not-fetch-code-by-easy_install.patch"
+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"
 
@@ -14,7 +14,7 @@ SRC_URI[sha256sum] = "cfca9c97e7eebbc8abe18d5e5e962a08dcad55bb63afddd82d681de4d2
 
 DEPENDS += "${PYTHON_PN}"
 
-RDEPENDS_${PN} = "\
+RDEPENDS:${PN} = "\
   ${PYTHON_PN}-2to3 \
   ${PYTHON_PN}-compile \
   ${PYTHON_PN}-compression \
@@ -36,7 +36,7 @@ RDEPENDS_${PN} = "\
   ${PYTHON_PN}-xml \
 "
 
-do_install_prepend() {
+do_install:prepend() {
     install -d ${D}${PYTHON_SITEPACKAGES_DIR}
 }
 
@@ -46,8 +46,8 @@ BBCLASSEXTEND = "native nativesdk"
 # and easy_install. Ship it in a separate package so that it can be used by
 # minimal distributions.
 PACKAGES =+ "${PYTHON_PN}-pkg-resources "
-FILES_${PYTHON_PN}-pkg-resources = "${PYTHON_SITEPACKAGES_DIR}/pkg_resources/*"
-RDEPENDS_${PYTHON_PN}-pkg-resources = "\
+FILES:${PYTHON_PN}-pkg-resources = "${PYTHON_SITEPACKAGES_DIR}/pkg_resources/*"
+RDEPENDS:${PYTHON_PN}-pkg-resources = "\
   ${PYTHON_PN}-compression \
   ${PYTHON_PN}-email \
   ${PYTHON_PN}-plistlib \
diff --git a/meta/recipes-devtools/python/python3-subunit_1.4.0.bb b/meta/recipes-devtools/python/python3-subunit_1.4.0.bb
index 55066e2d0f0..a06ded868f5 100644
--- a/meta/recipes-devtools/python/python3-subunit_1.4.0.bb
+++ b/meta/recipes-devtools/python/python3-subunit_1.4.0.bb
@@ -1,4 +1,4 @@
 inherit setuptools3
 require python-subunit.inc
 
-RDEPENDS_${PN} = " python3-testtools"
+RDEPENDS:${PN} = " python3-testtools"
diff --git a/meta/recipes-devtools/python/python3-toml_0.10.2.bb b/meta/recipes-devtools/python/python3-toml_0.10.2.bb
index b46eba6fd13..be29cac798c 100644
--- a/meta/recipes-devtools/python/python3-toml_0.10.2.bb
+++ b/meta/recipes-devtools/python/python3-toml_0.10.2.bb
@@ -10,6 +10,6 @@ inherit pypi setuptools3
 
 BBCLASSEXTEND = "native nativesdk"
 
-RDEPENDS_${PN} += " \
+RDEPENDS:${PN} += " \
     ${PYTHON_PN}-misc \
 "
diff --git a/meta/recipes-devtools/python/python3-typogrify_2.0.7.bb b/meta/recipes-devtools/python/python3-typogrify_2.0.7.bb
index 3becb0dd8d9..83e9b5eadb8 100644
--- a/meta/recipes-devtools/python/python3-typogrify_2.0.7.bb
+++ b/meta/recipes-devtools/python/python3-typogrify_2.0.7.bb
@@ -10,5 +10,5 @@ SRC_URI[sha256sum] = "8be4668cda434163ce229d87ca273a11922cb1614cb359970b7dc96eed
 
 BBCLASSEXTEND = "native"
 
-RDEPENDS_${PN} += "${PYTHON_PN}-smartypants"
+RDEPENDS:${PN} += "${PYTHON_PN}-smartypants"
 
diff --git a/meta/recipes-devtools/python/python3-wcwidth_0.2.5.bb b/meta/recipes-devtools/python/python3-wcwidth_0.2.5.bb
index bb4aae2e86b..a532d3c5cb9 100644
--- a/meta/recipes-devtools/python/python3-wcwidth_0.2.5.bb
+++ b/meta/recipes-devtools/python/python3-wcwidth_0.2.5.bb
@@ -13,7 +13,7 @@ SRC_URI += " \
         file://run-ptest \
 "
 
-RDEPENDS_${PN}-ptest += " \
+RDEPENDS:${PN}-ptest += " \
        ${PYTHON_PN}-pytest \
 "
 
diff --git a/meta/recipes-devtools/python/python3-zipp_3.5.0.bb b/meta/recipes-devtools/python/python3-zipp_3.5.0.bb
index ab12601e4e9..d6f4676542a 100644
--- a/meta/recipes-devtools/python/python3-zipp_3.5.0.bb
+++ b/meta/recipes-devtools/python/python3-zipp_3.5.0.bb
@@ -11,7 +11,7 @@ inherit pypi setuptools3
 
 DEPENDS += "${PYTHON_PN}-toml-native"
 
-RDEPENDS_${PN} += "${PYTHON_PN}-compression \
+RDEPENDS:${PN} += "${PYTHON_PN}-compression \
                    ${PYTHON_PN}-math \
                    ${PYTHON_PN}-more-itertools"
 
diff --git a/meta/recipes-devtools/python/python3_3.9.6.bb b/meta/recipes-devtools/python/python3_3.9.6.bb
index 986dfda83dc..9fe8e03389d 100644
--- a/meta/recipes-devtools/python/python3_3.9.6.bb
+++ b/meta/recipes-devtools/python/python3_3.9.6.bb
@@ -34,7 +34,7 @@ SRC_URI = "http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.xz \
            file://makerace.patch \
            "
 
-SRC_URI_append_class-native = " \
+SRC_URI:append:class-native = " \
            file://0001-distutils-sysconfig-append-STAGING_LIBDIR-python-sys.patch \
            file://12-distutils-prefix-is-inside-staging-area.patch \
            file://0001-Don-t-search-system-for-headers-libraries.patch \
@@ -65,24 +65,24 @@ inherit autotools pkgconfig qemu ptest multilib_header update-alternatives
 
 MULTILIB_SUFFIX = "${@d.getVar('base_libdir',1).split('/')[-1]}"
 
-ALTERNATIVE_${PN}-dev = "python3-config"
+ALTERNATIVE:${PN}-dev = "python3-config"
 ALTERNATIVE_LINK_NAME[python3-config] = "${bindir}/python${PYTHON_MAJMIN}-config"
 ALTERNATIVE_TARGET[python3-config] = "${bindir}/python${PYTHON_MAJMIN}-config-${MULTILIB_SUFFIX}"
 
 
 DEPENDS = "bzip2-replacement-native libffi bzip2 openssl sqlite3 zlib virtual/libintl xz virtual/crypt util-linux libtirpc libnsl2 autoconf-archive-native"
-DEPENDS_append_class-target = " python3-native"
-DEPENDS_append_class-nativesdk = " python3-native"
+DEPENDS:append:class-target = " python3-native"
+DEPENDS:append:class-nativesdk = " python3-native"
 
 EXTRA_OECONF = " --without-ensurepip --enable-shared --with-platlibdir=${baselib}"
-EXTRA_OECONF_append_class-native = " --bindir=${bindir}/${PN}"
+EXTRA_OECONF:append:class-native = " --bindir=${bindir}/${PN}"
 
 export CROSSPYTHONPATH="${STAGING_LIBDIR_NATIVE}/python${PYTHON_MAJMIN}/lib-dynload/"
 
 EXTRANATIVEPATH += "python3-native"
 
 # LTO will be enabled via packageconfig depending upong distro features
-LTO_class-target = ""
+LTO:class-target = ""
 
 CACHED_CONFIGUREVARS = " \
                 ac_cv_file__dev_ptmx=yes \
@@ -98,9 +98,9 @@ def possibly_include_pgo(d):
     
     return ''
 
-PACKAGECONFIG_class-target ??= "readline ${@possibly_include_pgo(d)} gdbm ${@bb.utils.filter('DISTRO_FEATURES', 'lto', d)}"
-PACKAGECONFIG_class-native ??= "readline gdbm"
-PACKAGECONFIG_class-nativesdk ??= "readline gdbm"
+PACKAGECONFIG:class-target ??= "readline ${@possibly_include_pgo(d)} gdbm ${@bb.utils.filter('DISTRO_FEATURES', 'lto', d)}"
+PACKAGECONFIG:class-native ??= "readline gdbm"
+PACKAGECONFIG:class-nativesdk ??= "readline gdbm"
 PACKAGECONFIG[readline] = ",,readline"
 # Use profile guided optimisation by running PyBench inside qemu-user
 PACKAGECONFIG[pgo] = "--enable-optimizations,,qemu-native"
@@ -108,7 +108,7 @@ PACKAGECONFIG[tk] = ",,tk"
 PACKAGECONFIG[gdbm] = ",,gdbm"
 PACKAGECONFIG[lto] = "--with-lto,,"
 
-do_configure_prepend () {
+do_configure:prepend () {
     mkdir -p ${B}/Modules
     cat > ${B}/Modules/Setup.local << EOF
 *disabled*
@@ -117,7 +117,7 @@ ${@bb.utils.contains('PACKAGECONFIG', 'readline', '', 'readline', d)}
 EOF
 }
 
-CPPFLAGS_append = " -I${STAGING_INCDIR}/ncursesw -I${STAGING_INCDIR}/uuid"
+CPPFLAGS:append = " -I${STAGING_INCDIR}/ncursesw -I${STAGING_INCDIR}/uuid"
 
 EXTRA_OEMAKE = '\
   STAGING_LIBDIR=${STAGING_LIBDIR} \
@@ -125,7 +125,7 @@ EXTRA_OEMAKE = '\
   LIB=${baselib} \
 '
 
-do_compile_prepend_class-target() {
+do_compile:prepend:class-target() {
        if ${@bb.utils.contains('PACKAGECONFIG', 'pgo', 'true', 'false', d)}; then
                 qemu_binary="${@qemu_wrapper_cmdline(d, '${STAGING_DIR_TARGET}', ['${B}', '${STAGING_DIR_TARGET}/${base_libdir}'])}"
                 cat >pgo-wrapper <<EOF
@@ -137,15 +137,15 @@ EOF
         fi
 }
 
-do_install_prepend() {
+do_install:prepend() {
         ${WORKDIR}/check_build_completeness.py ${T}/log.do_compile
 }
 
-do_install_append_class-target() {
+do_install:append:class-target() {
         oe_multilib_header python${PYTHON_MAJMIN}/pyconfig.h
 }
 
-do_install_append_class-native() {
+do_install:append:class-native() {
         # Make sure we use /usr/bin/env python
         for PYTHSCRIPT in `grep -rIl ${bindir}/${PN}/python ${D}${bindir}/${PN}`; do
                 sed -i -e '1s|^#!.*|#!/usr/bin/env python3|' $PYTHSCRIPT
@@ -157,7 +157,7 @@ do_install_append_class-native() {
         ln -s python3-native/python3 ${D}${bindir}/nativepython3
 }
 
-do_install_append() {
+do_install:append() {
         mkdir -p ${D}${libdir}/python-sysconfigdata
         sysconfigfile=`find ${D} -name _sysconfig*.py`
         cp $sysconfigfile ${D}${libdir}/python-sysconfigdata/_sysconfigdata.py
@@ -179,7 +179,7 @@ do_install_append() {
         rm ${D}${libdir}/python${PYTHON_MAJMIN}/test/__pycache__/test_xml_etree.cpython*
 }
 
-do_install_append_class-nativesdk () {
+do_install:append:class-nativesdk () {
     # Make sure we use /usr/bin/env python
     for PYTHSCRIPT in `grep -rIl ${bindir}/python ${D}${bindir}`; do
          sed -i -e '1s|^#!.*|#!/usr/bin/env python3|' $PYTHSCRIPT
@@ -257,7 +257,7 @@ python(){
         if pypackage not in rprovides:
               rprovides.append(pypackage)
 
-    d.setVar('RPROVIDES_class-native', ' '.join(rprovides))
+    d.setVar('RPROVIDES:class-native', ' '.join(rprovides))
 
     # Then work on the target
     include_pycs = d.getVar('INCLUDE_PYCS')
@@ -275,33 +275,33 @@ python(){
             newpackages.append(pypackage)
 
         # "Build" python's manifest FILES, RDEPENDS and SUMMARY
-        d.setVar('FILES_' + pypackage, '')
+        d.setVar('FILES:' + pypackage, '')
         for value in python_manifest[key]['files']:
-            d.appendVar('FILES_' + pypackage, ' ' + value)
+            d.appendVar('FILES:' + pypackage, ' ' + value)
 
         # Add cached files
         if include_pycs == '1':
             for value in python_manifest[key]['cached']:
-                    d.appendVar('FILES_' + pypackage, ' ' + value)
+                    d.appendVar('FILES:' + pypackage, ' ' + value)
 
         for value in python_manifest[key]['rdepends']:
             # Make it work with or without $PN
             if '${PN}' in value:
                 value=value.split('-', 1)[1]
-            d.appendVar('RDEPENDS_' + pypackage, ' ' + pn + '-' + value)
+            d.appendVar('RDEPENDS:' + pypackage, ' ' + pn + '-' + value)
 
         for value in python_manifest[key].get('rrecommends', ()):
             if '${PN}' in value:
                 value=value.split('-', 1)[1]
-            d.appendVar('RRECOMMENDS_' + pypackage, ' ' + pn + '-' + value)
+            d.appendVar('RRECOMMENDS:' + pypackage, ' ' + pn + '-' + value)
 
-        d.setVar('SUMMARY_' + pypackage, python_manifest[key]['summary'])
+        d.setVar('SUMMARY:' + pypackage, python_manifest[key]['summary'])
 
     # Prepending so to avoid python-misc getting everything
     packages = newpackages + packages
     d.setVar('PACKAGES', ' '.join(packages))
-    d.setVar('ALLOW_EMPTY_${PN}-modules', '1')
-    d.setVar('ALLOW_EMPTY_${PN}-pkgutil', '1')
+    d.setVar('ALLOW_EMPTY:${PN}-modules', '1')
+    d.setVar('ALLOW_EMPTY:${PN}-pkgutil', '1')
 }
 
 # Files needed to create a new manifest
@@ -326,30 +326,30 @@ do_create_manifest() {
 addtask do_create_manifest after do_patch do_prepare_recipe_sysroot
 
 # manual dependency additions
-RRECOMMENDS_${PN}-core_append_class-nativesdk = " nativesdk-python3-modules"
-RRECOMMENDS_${PN}-crypt_append_class-target = " ${MLPREFIX}openssl ${MLPREFIX}ca-certificates"
-RRECOMMENDS_${PN}-crypt_append_class-nativesdk = " ${MLPREFIX}openssl ${MLPREFIX}ca-certificates"
+RRECOMMENDS:${PN}-core:append:class-nativesdk = " nativesdk-python3-modules"
+RRECOMMENDS:${PN}-crypt:append:class-target = " ${MLPREFIX}openssl ${MLPREFIX}ca-certificates"
+RRECOMMENDS:${PN}-crypt:append:class-nativesdk = " ${MLPREFIX}openssl ${MLPREFIX}ca-certificates"
 
 # For historical reasons PN is empty and provided by python3-modules
-FILES_${PN} = ""
-RPROVIDES_${PN}-modules = "${PN}"
+FILES:${PN} = ""
+RPROVIDES:${PN}-modules = "${PN}"
 
-FILES_${PN}-pydoc += "${bindir}/pydoc${PYTHON_MAJMIN} ${bindir}/pydoc3"
-FILES_${PN}-idle += "${bindir}/idle3 ${bindir}/idle${PYTHON_MAJMIN}"
+FILES:${PN}-pydoc += "${bindir}/pydoc${PYTHON_MAJMIN} ${bindir}/pydoc3"
+FILES:${PN}-idle += "${bindir}/idle3 ${bindir}/idle${PYTHON_MAJMIN}"
 
 # provide python-pyvenv from python3-venv
-RPROVIDES_${PN}-venv += "${MLPREFIX}python3-pyvenv"
+RPROVIDES:${PN}-venv += "${MLPREFIX}python3-pyvenv"
 
 # package libpython3
 PACKAGES =+ "libpython3 libpython3-staticdev"
-FILES_libpython3 = "${libdir}/libpython*.so.*"
-FILES_libpython3-staticdev += "${libdir}/python${PYTHON_MAJMIN}/config-${PYTHON_MAJMIN}-*/libpython${PYTHON_MAJMIN}.a"
-INSANE_SKIP_${PN}-dev += "dev-elf"
-INSANE_SKIP_${PN}-ptest = "dev-deps"
+FILES:libpython3 = "${libdir}/libpython*.so.*"
+FILES:libpython3-staticdev += "${libdir}/python${PYTHON_MAJMIN}/config-${PYTHON_MAJMIN}-*/libpython${PYTHON_MAJMIN}.a"
+INSANE_SKIP:${PN}-dev += "dev-elf"
+INSANE_SKIP:${PN}-ptest = "dev-deps"
 
 # catch all the rest (unsorted)
 PACKAGES += "${PN}-misc"
-RDEPENDS_${PN}-misc += "\
+RDEPENDS:${PN}-misc += "\
   ${PN}-core \
   ${PN}-email \
   ${PN}-codecs \
@@ -358,26 +358,26 @@ RDEPENDS_${PN}-misc += "\
   ${PN}-audio \
   ${PN}-numbers \
 "
-RDEPENDS_${PN}-modules_append_class-target = " ${MLPREFIX}python3-misc"
-RDEPENDS_${PN}-modules_append_class-nativesdk = " ${MLPREFIX}python3-misc"
-FILES_${PN}-misc = "${libdir}/python${PYTHON_MAJMIN} ${libdir}/python${PYTHON_MAJMIN}/lib-dynload"
+RDEPENDS:${PN}-modules:append:class-target = " ${MLPREFIX}python3-misc"
+RDEPENDS:${PN}-modules:append:class-nativesdk = " ${MLPREFIX}python3-misc"
+FILES:${PN}-misc = "${libdir}/python${PYTHON_MAJMIN} ${libdir}/python${PYTHON_MAJMIN}/lib-dynload"
 
 # catch manpage
 PACKAGES += "${PN}-man"
-FILES_${PN}-man = "${datadir}/man"
+FILES:${PN}-man = "${datadir}/man"
 
 # 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 ${PN}-dev 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)}"
-RDEPENDS_${PN}-idle += "${@bb.utils.contains('PACKAGECONFIG', 'tk', '${PN}-tkinter tcl', '', d)}"
-RDEPENDS_${PN}-dev = ""
-RDEPENDS_${PN}-pydoc += "${PN}-io"
-
-RDEPENDS_${PN}-tests_append_class-target = " ${MLPREFIX}bash"
-RDEPENDS_${PN}-tests_append_class-nativesdk = " ${MLPREFIX}bash"
+RDEPENDS:libpython3:append:libc-glibc = " libgcc"
+RDEPENDS:${PN}-ctypes:append:libc-glibc = " ${MLPREFIX}ldconfig"
+RDEPENDS:${PN}-ptest = "${PN}-modules ${PN}-tests ${PN}-dev 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)}"
+RDEPENDS:${PN}-idle += "${@bb.utils.contains('PACKAGECONFIG', 'tk', '${PN}-tkinter tcl', '', d)}"
+RDEPENDS:${PN}-dev = ""
+RDEPENDS:${PN}-pydoc += "${PN}-io"
+
+RDEPENDS:${PN}-tests:append:class-target = " ${MLPREFIX}bash"
+RDEPENDS:${PN}-tests:append:class-nativesdk = " ${MLPREFIX}bash"
 
 # Python's tests contain large numbers of files we don't need in the recipe sysroots
 SYSROOT_PREPROCESS_FUNCS += " py3_sysroot_cleanup"
diff --git a/meta/recipes-devtools/qemu/nativesdk-qemu-helper_1.0.bb b/meta/recipes-devtools/qemu/nativesdk-qemu-helper_1.0.bb
index ca1ad964dcc..08c5ca77004 100644
--- a/meta/recipes-devtools/qemu/nativesdk-qemu-helper_1.0.bb
+++ b/meta/recipes-devtools/qemu/nativesdk-qemu-helper_1.0.bb
@@ -1,6 +1,6 @@
 SUMMARY = "Qemu helper scripts"
 LICENSE = "GPLv2"
-RDEPENDS_${PN} = "nativesdk-qemu \
+RDEPENDS:${PN} = "nativesdk-qemu \
                   nativesdk-python3-shell nativesdk-python3-fcntl nativesdk-python3-logging \
                 "
 
diff --git a/meta/recipes-devtools/qemu/qemu-helper-native_1.0.bb b/meta/recipes-devtools/qemu/qemu-helper-native_1.0.bb
index 2fc07669dd4..ccf1c467835 100644
--- a/meta/recipes-devtools/qemu/qemu-helper-native_1.0.bb
+++ b/meta/recipes-devtools/qemu/qemu-helper-native_1.0.bb
@@ -1,6 +1,6 @@
 SUMMARY = "Helper utilities needed by the runqemu script"
 LICENSE = "GPLv2"
-RDEPENDS_${PN} = "qemu-system-native"
+RDEPENDS:${PN} = "qemu-system-native"
 PR = "r1"
 
 LIC_FILES_CHKSUM = "file://${WORKDIR}/tunctl.c;endline=4;md5=ff3a09996bc5fff6bc5d4e0b4c28f999"
diff --git a/meta/recipes-devtools/qemu/qemu-native.inc b/meta/recipes-devtools/qemu/qemu-native.inc
index 54e49d8bc6c..5d3ba3486c1 100644
--- a/meta/recipes-devtools/qemu/qemu-native.inc
+++ b/meta/recipes-devtools/qemu/qemu-native.inc
@@ -2,10 +2,10 @@ require qemu.inc
 
 inherit native
 
-EXTRA_OEMAKE_append = " LD='${LD}' AR='${AR}' OBJCOPY='${OBJCOPY}' LDFLAGS='${LDFLAGS}'"
+EXTRA_OEMAKE:append = " LD='${LD}' AR='${AR}' OBJCOPY='${OBJCOPY}' LDFLAGS='${LDFLAGS}'"
 
-LDFLAGS_append = " -fuse-ld=bfd"
+LDFLAGS:append = " -fuse-ld=bfd"
 
-do_install_append() {
+do_install:append() {
      ${@bb.utils.contains('PACKAGECONFIG', 'gtk+', 'make_qemu_wrapper', '', d)}
 }
diff --git a/meta/recipes-devtools/qemu/qemu-native_6.0.0.bb b/meta/recipes-devtools/qemu/qemu-native_6.0.0.bb
index d23d7a8ada0..d9ef155569c 100644
--- a/meta/recipes-devtools/qemu/qemu-native_6.0.0.bb
+++ b/meta/recipes-devtools/qemu/qemu-native_6.0.0.bb
@@ -4,6 +4,6 @@ DEPENDS = "glib-2.0-native zlib-native"
 
 require qemu-native.inc
 
-EXTRA_OECONF_append = " --target-list=${@get_qemu_usermode_target_list(d)} --disable-tools --disable-blobs --disable-guest-agent"
+EXTRA_OECONF:append = " --target-list=${@get_qemu_usermode_target_list(d)} --disable-tools --disable-blobs --disable-guest-agent"
 
 PACKAGECONFIG ??= "pie"
diff --git a/meta/recipes-devtools/qemu/qemu-system-native_6.0.0.bb b/meta/recipes-devtools/qemu/qemu-system-native_6.0.0.bb
index 9d7d0cdceb6..1c12eb7cf28 100644
--- a/meta/recipes-devtools/qemu/qemu-system-native_6.0.0.bb
+++ b/meta/recipes-devtools/qemu/qemu-system-native_6.0.0.bb
@@ -9,16 +9,16 @@ require qemu-native.inc
 # and avoid file clashes
 DEPENDS = "glib-2.0-native zlib-native pixman-native qemu-native bison-native"
 
-EXTRA_OECONF_append = " --target-list=${@get_qemu_system_target_list(d)}"
+EXTRA_OECONF:append = " --target-list=${@get_qemu_system_target_list(d)}"
 
 PACKAGECONFIG ??= "fdt alsa kvm pie \
     ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'virglrenderer glx', '', d)} \
 "
 
 # Handle distros such as CentOS 5 32-bit that do not have kvm support
-PACKAGECONFIG_remove = "${@'kvm' if not os.path.exists('/usr/include/linux/kvm.h') else ''}"
+PACKAGECONFIG:remove = "${@'kvm' if not os.path.exists('/usr/include/linux/kvm.h') else ''}"
 
-do_install_append() {
+do_install:append() {
     install -Dm 0755 ${WORKDIR}/powerpc_rom.bin ${D}${datadir}/qemu
 
     # The following is also installed by qemu-native
diff --git a/meta/recipes-devtools/qemu/qemu.inc b/meta/recipes-devtools/qemu/qemu.inc
index 33a8baea7fb..4de8a9098b9 100644
--- a/meta/recipes-devtools/qemu/qemu.inc
+++ b/meta/recipes-devtools/qemu/qemu.inc
@@ -6,7 +6,7 @@ a variety of guest operating systems"
 HOMEPAGE = "http://qemu.org"
 LICENSE = "GPLv2 & LGPLv2.1"
 
-RDEPENDS_${PN}-ptest = "bash"
+RDEPENDS:${PN}-ptest = "bash"
 
 require qemu-targets.inc
 inherit pkgconfig ptest
@@ -44,8 +44,8 @@ UPSTREAM_CHECK_REGEX = "qemu-(?P<pver>\d+(\.\d+)+)\.tar"
 
 SRC_URI[sha256sum] = "87bc1a471ca24b97e7005711066007d443423d19aacda3d442558ae032fa30b9"
 
-SRC_URI_append_class-target = " file://cross.patch"
-SRC_URI_append_class-nativesdk = " file://cross.patch"
+SRC_URI:append:class-target = " file://cross.patch"
+SRC_URI:append:class-nativesdk = " file://cross.patch"
 
 # Applies against virglrender < 0.6.0 and not qemu itself
 CVE_CHECK_WHITELIST += "CVE-2017-5957"
@@ -58,14 +58,14 @@ CVE_CHECK_WHITELIST += "CVE-2007-0998"
 # https://bugzilla.redhat.com/show_bug.cgi?id=1609015#c11
 CVE_CHECK_WHITELIST += "CVE-2018-18438"
 
-COMPATIBLE_HOST_mipsarchn32 = "null"
-COMPATIBLE_HOST_mipsarchn64 = "null"
+COMPATIBLE_HOST:mipsarchn32 = "null"
+COMPATIBLE_HOST:mipsarchn64 = "null"
 
 # Per https://lists.nongnu.org/archive/html/qemu-devel/2020-09/msg03873.html
 # upstream states qemu doesn't work without optimization
 DEBUG_BUILD = "0"
 
-do_install_append() {
+do_install:append() {
     # Prevent QA warnings about installed ${localstatedir}/run
     if [ -d ${D}${localstatedir}/run ]; then rmdir ${D}${localstatedir}/run; fi
 }
@@ -112,7 +112,7 @@ B = "${WORKDIR}/build"
 
 #EXTRA_OECONF_append = " --python=${HOSTTOOLS_DIR}/python3"
 
-do_configure_prepend_class-native() {
+do_configure:prepend:class-native() {
 	# Append build host pkg-config paths for native target since the host may provide sdl
 	BHOST_PKGCONFIG_PATH=$(PATH=/usr/bin:/bin pkg-config --variable pc_path pkg-config || echo "")
 	if [ ! -z "$BHOST_PKGCONFIG_PATH" ]; then
@@ -136,7 +136,7 @@ do_install () {
 # This will trigger a MMU access fault in the virtual CPU. With this change,
 # the qemu-mips works fine.
 # IMPORTANT: This piece needs to be removed once the root cause is fixed!
-do_install_append() {
+do_install:append() {
 	if [ -e "${D}/${bindir}/qemu-mips" ]; then
 		create_wrapper ${D}/${bindir}/qemu-mips \
 			QEMU_RESERVED_VA=0x0
@@ -156,8 +156,8 @@ make_qemu_wrapper() {
 }
 
 # Disable kvm/virgl/mesa on targets that do not support it
-PACKAGECONFIG_remove_darwin = "kvm virglrenderer glx gtk+"
-PACKAGECONFIG_remove_mingw32 = "kvm virglrenderer glx gtk+"
+PACKAGECONFIG:remove:darwin = "kvm virglrenderer glx gtk+"
+PACKAGECONFIG:remove:mingw32 = "kvm virglrenderer glx gtk+"
 
 PACKAGECONFIG[sdl] = "--enable-sdl,--disable-sdl,libsdl2"
 PACKAGECONFIG[virtfs] = "--enable-virtfs --enable-attr --enable-cap-ng,--disable-virtfs,libcap-ng attr,"
@@ -203,6 +203,6 @@ PACKAGECONFIG[ust] = "--enable-trace-backend=ust,--enable-trace-backend=nop,lttn
 PACKAGECONFIG[pie] = "--enable-pie,--disable-pie,,"
 PACKAGECONFIG[seccomp] = "--enable-seccomp,--disable-seccomp,libseccomp"
 
-INSANE_SKIP_${PN} = "arch"
+INSANE_SKIP:${PN} = "arch"
 
-FILES_${PN} += "${datadir}/icons"
+FILES:${PN} += "${datadir}/icons"
diff --git a/meta/recipes-devtools/qemu/qemu_6.0.0.bb b/meta/recipes-devtools/qemu/qemu_6.0.0.bb
index 90b135a617c..f8a816b12b6 100644
--- a/meta/recipes-devtools/qemu/qemu_6.0.0.bb
+++ b/meta/recipes-devtools/qemu/qemu_6.0.0.bb
@@ -4,17 +4,17 @@ require qemu.inc
 
 # error: a parameter list without types is only allowed in a function definition
 #            void (*_function)(sigval_t);
-COMPATIBLE_HOST_libc-musl = 'null'
+COMPATIBLE_HOST:libc-musl = 'null'
 
 DEPENDS = "glib-2.0 zlib pixman bison-native ninja-native meson-native"
 
-RDEPENDS_${PN}_class-target += "bash"
+RDEPENDS:${PN}:class-target += "bash"
 
-EXTRA_OECONF_append_class-target = " --target-list=${@get_qemu_target_list(d)}"
-EXTRA_OECONF_append_class-target_mipsarcho32 = "${@bb.utils.contains('BBEXTENDCURR', 'multilib', ' --disable-capstone', '', d)}"
-EXTRA_OECONF_append_class-nativesdk = " --target-list=${@get_qemu_target_list(d)}"
+EXTRA_OECONF:append:class-target = " --target-list=${@get_qemu_target_list(d)}"
+EXTRA_OECONF:append:class-target:mipsarcho32 = "${@bb.utils.contains('BBEXTENDCURR', 'multilib', ' --disable-capstone', '', d)}"
+EXTRA_OECONF:append:class-nativesdk = " --target-list=${@get_qemu_target_list(d)}"
 
-do_install_append_class-nativesdk() {
+do_install:append:class-nativesdk() {
      ${@bb.utils.contains('PACKAGECONFIG', 'gtk+', 'make_qemu_wrapper', '', d)}
 }
 
@@ -24,6 +24,6 @@ PACKAGECONFIG ??= " \
     ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'virglrenderer glx', '', d)} \
     ${@bb.utils.filter('DISTRO_FEATURES', 'seccomp', d)} \
 "
-PACKAGECONFIG_class-nativesdk ??= "fdt sdl kvm pie \
+PACKAGECONFIG:class-nativesdk ??= "fdt sdl kvm pie \
     ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'virglrenderer glx', '', d)} \
 "
diff --git a/meta/recipes-devtools/quilt/quilt.inc b/meta/recipes-devtools/quilt/quilt.inc
index d7ecda7aaa6..f85de384d26 100644
--- a/meta/recipes-devtools/quilt/quilt.inc
+++ b/meta/recipes-devtools/quilt/quilt.inc
@@ -14,36 +14,36 @@ SRC_URI = "${SAVANNAH_GNU_MIRROR}/quilt/quilt-${PV}.tar.gz \
         file://0001-tests-Allow-different-output-from-mv.patch \
 "
 
-SRC_URI_append_class-target = " file://gnu_patch_test_fix_target.patch"
+SRC_URI:append:class-target = " file://gnu_patch_test_fix_target.patch"
 
 SRC_URI[md5sum] = "6800c2404a2c0598ab2eff92a636ba70"
 SRC_URI[sha256sum] = "314b319a6feb13bf9d0f9ffa7ce6683b06919e734a41275087ea457cc9dc6e07"
 
 inherit autotools-brokensep ptest
 
-INHIBIT_AUTOTOOLS_DEPS_class-native = "1"
-PATCHTOOL_class-native = "patch"
+INHIBIT_AUTOTOOLS_DEPS:class-native = "1"
+PATCHTOOL:class-native = "patch"
 
 CLEANBROKEN = "1"
 
 EXTRA_OECONF = "--with-perl='${USRBINPATH}/env perl' --with-patch=patch"
-EXTRA_OECONF_append_class-native = " --disable-nls"
+EXTRA_OECONF:append:class-native = " --disable-nls"
 EXTRA_AUTORECONF += "--exclude=aclocal"
 
 CACHED_CONFIGUREVARS += "ac_cv_path_BASH=/bin/bash ac_cv_path_COLUMN=column"
 
 # Make sure we don't have "-w" in shebang lines: it breaks using
 # "/usr/bin/env perl" as parser
-do_configure_prepend () {
+do_configure:prepend () {
 	find ${S} -name "*.in" -exec sed -i -e "1s,^#\!.*@PERL@ -w$,#\! @PERL@\nuse warnings;," {} \;
 }
 
 # Don't setup symlinks to host utilities, we don't need them
-do_configure_append () {
+do_configure:append () {
 	sed -e 's,^COMPAT_SYMLINKS.*:=.*,COMPAT_SYMLINKS	:=,' -i ${S}/Makefile
 }
 
-do_configure_class-native () {
+do_configure:class-native () {
     oe_runconf
 }
 
@@ -54,7 +54,7 @@ do_install () {
 	rm -rf ${D}/${datadir}/emacs
 }
 
-do_install_append_class-native () {
+do_install:append:class-native () {
     # Dummy quiltrc file for patch.bbclass
     install -d ${D}${sysconfdir}/
     touch ${D}${sysconfdir}/quiltrc
@@ -75,16 +75,16 @@ do_install_ptest() {
 
 PACKAGES += "guards guards-doc"
 
-FILES_${PN} = "${sysconfdir} ${datadir}/quilt \
+FILES:${PN} = "${sysconfdir} ${datadir}/quilt \
                ${bindir}/quilt ${libdir}/quilt"
-FILES_guards = "${bindir}/guards"
-FILES_${PN}-doc = "${mandir}/man1/quilt.1 ${docdir}/${BPN}"
-FILES_guards-doc = "${mandir}/man1/guards.1"
+FILES:guards = "${bindir}/guards"
+FILES:${PN}-doc = "${mandir}/man1/quilt.1 ${docdir}/${BPN}"
+FILES:guards-doc = "${mandir}/man1/guards.1"
 
-RDEPENDS_${PN} = "bash patch diffstat bzip2 util-linux less"
-RDEPENDS_${PN}_class-native = "diffstat-native patch-native bzip2-native"
+RDEPENDS:${PN} = "bash patch diffstat bzip2 util-linux less"
+RDEPENDS:${PN}:class-native = "diffstat-native patch-native bzip2-native"
 
-RDEPENDS_${PN}-ptest = "make file sed gawk diffutils findutils ed perl \
+RDEPENDS:${PN}-ptest = "make file sed gawk diffutils findutils ed perl \
                         perl-module-filehandle perl-module-getopt-std \
                         perl-module-posix perl-module-file-temp \
                         perl-module-text-parsewords perl-module-overloading \
diff --git a/meta/recipes-devtools/rpm/rpm_4.16.1.3.bb b/meta/recipes-devtools/rpm/rpm_4.16.1.3.bb
index 95a6f5cf717..9cb8f551a28 100644
--- a/meta/recipes-devtools/rpm/rpm_4.16.1.3.bb
+++ b/meta/recipes-devtools/rpm/rpm_4.16.1.3.bb
@@ -5,16 +5,16 @@ verifying, querying, and updating software packages. Each software \
 package consists of an archive of files along with information about \
 the package like its version, a description, etc."
 
-SUMMARY_${PN}-dev = "Development files for manipulating RPM packages"
-DESCRIPTION_${PN}-dev = "This package contains the RPM C library and header files. These \
+SUMMARY:${PN}-dev = "Development files for manipulating RPM packages"
+DESCRIPTION:${PN}-dev = "This package contains the RPM C library and header files. These \
 development files will simplify the process of writing programs that \
 manipulate RPM packages and databases. These files are intended to \
 simplify the process of creating graphical package managers or any \
 other tools that need an intimate knowledge of RPM packages in order \
 to function."
 
-SUMMARY_python3-rpm = "Python bindings for apps which will manupulate RPM packages"
-DESCRIPTION_python3-rpm = "The python3-rpm package contains a module that permits applications \
+SUMMARY:python3-rpm = "Python bindings for apps which will manupulate RPM packages"
+DESCRIPTION:python3-rpm = "The python3-rpm package contains a module that permits applications \
 written in the Python programming language to use the interface \
 supplied by the RPM Package Manager libraries."
 
@@ -48,7 +48,7 @@ SRCREV = "3659b8a04f5b8bacf6535e0124e7fe23f15286bd"
 S = "${WORKDIR}/git"
 
 DEPENDS = "libgcrypt file popt xz bzip2 elfutils python3"
-DEPENDS_append_class-native = " file-replacement-native bzip2-replacement-native"
+DEPENDS:append:class-native = " file-replacement-native bzip2-replacement-native"
 
 inherit autotools gettext pkgconfig python3native
 export PYTHON_ABI
@@ -56,24 +56,24 @@ export PYTHON_ABI
 AUTOTOOLS_AUXDIR = "${S}/build-aux"
 
 # OE-core patches autoreconf to additionally run gnu-configize, which fails with this recipe
-EXTRA_AUTORECONF_append = " --exclude=gnu-configize"
+EXTRA_AUTORECONF:append = " --exclude=gnu-configize"
 
-EXTRA_OECONF_append = " --without-lua --enable-python --with-crypto=libgcrypt"
-EXTRA_OECONF_append_libc-musl = " --disable-nls --disable-openmp"
+EXTRA_OECONF:append = " --without-lua --enable-python --with-crypto=libgcrypt"
+EXTRA_OECONF:append:libc-musl = " --disable-nls --disable-openmp"
 
 # --sysconfdir prevents rpm from attempting to access machine-specific configuration in sysroot/etc; we need to have it in rootfs
 # --localstatedir prevents rpm from writing its database to native sysroot when building images
 # Forcibly disable plugins for native/nativesdk, as the inhibit and prioreset
 # plugins both behave badly inside builds.
-EXTRA_OECONF_append_class-native = " --sysconfdir=/etc --localstatedir=/var --disable-plugins"
-EXTRA_OECONF_append_class-nativesdk = " --sysconfdir=/etc --disable-plugins"
+EXTRA_OECONF:append:class-native = " --sysconfdir=/etc --localstatedir=/var --disable-plugins"
+EXTRA_OECONF:append:class-nativesdk = " --sysconfdir=/etc --disable-plugins"
 
 BBCLASSEXTEND = "native nativesdk"
 
 PACKAGECONFIG ??= "bdb ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'inhibit', '', d)}"
 # The inhibit plugin serves no purpose outside of the target
-PACKAGECONFIG_remove_class-native = "inhibit"
-PACKAGECONFIG_remove_class-nativesdk = "inhibit"
+PACKAGECONFIG:remove:class-native = "inhibit"
+PACKAGECONFIG:remove:class-nativesdk = "inhibit"
 
 PACKAGECONFIG[bdb] = "--enable-bdb,--disable-bdb,db"
 PACKAGECONFIG[imaevm] = "--with-imaevm,,ima-evm-utils"
@@ -98,11 +98,11 @@ WRAPPER_TOOLS = " \
    ${libdir}/rpm/rpmdeps \
 "
 
-do_configure_prepend() {
+do_configure:prepend() {
         mkdir -p ${S}/build-aux
 }
 
-do_install_append_class-native() {
+do_install:append:class-native() {
         for tool in ${WRAPPER_TOOLS}; do
                 test -x ${D}$tool && create_wrapper ${D}$tool \
                         RPM_CONFIGDIR=${STAGING_LIBDIR_NATIVE}/rpm \
@@ -112,7 +112,7 @@ do_install_append_class-native() {
         done
 }
 
-do_install_append_class-nativesdk() {
+do_install:append:class-nativesdk() {
         for tool in ${WRAPPER_TOOLS}; do
                 test -x ${D}$tool && create_wrapper ${D}$tool \
                         RPM_CONFIGDIR='`dirname $''realpath`'/${@os.path.relpath(d.getVar('libdir'), d.getVar('bindir'))}/rpm \
@@ -128,11 +128,11 @@ do_install_append_class-nativesdk() {
 }
 
 # Rpm's make install creates var/tmp which clashes with base-files packaging
-do_install_append_class-target() {
+do_install:append:class-target() {
     rm -rf ${D}/var
 }
 
-do_install_append () {
+do_install:append () {
 	sed -i -e 's:${HOSTTOOLS_DIR}/::g' \
 	    ${D}/${libdir}/rpm/macros
 
@@ -140,17 +140,17 @@ do_install_append () {
 	    ${D}${libdir}/rpm/pythondistdeps.py
 }
 
-FILES_${PN} += "${libdir}/rpm-plugins/*.so \
+FILES:${PN} += "${libdir}/rpm-plugins/*.so \
                "
-FILES_${PN}_append_class-nativesdk = " ${SDKPATHNATIVE}/environment-setup.d/rpm.sh"
+FILES:${PN}:append:class-nativesdk = " ${SDKPATHNATIVE}/environment-setup.d/rpm.sh"
 
-FILES_${PN}-dev += "${libdir}/rpm-plugins/*.la \
+FILES:${PN}-dev += "${libdir}/rpm-plugins/*.la \
                     "
 PACKAGE_BEFORE_PN += "${PN}-build ${PN}-sign ${PN}-archive"
 
-RRECOMMENDS_${PN} += "rpm-build rpm-sign rpm-archive"
+RRECOMMENDS:${PN} += "rpm-build rpm-sign rpm-archive"
 
-FILES_${PN}-build = "\
+FILES:${PN}-build = "\
     ${bindir}/rpmbuild \
     ${bindir}/gendiff \
     ${bindir}/rpmspec \
@@ -172,20 +172,20 @@ FILES_${PN}-build = "\
     ${libdir}/rpm/fileattrs/* \
 "
 
-FILES_${PN}-sign = "\
+FILES:${PN}-sign = "\
     ${bindir}/rpmsign \
     ${libdir}/librpmsign.so.* \
 "
 
-FILES_${PN}-archive = "\
+FILES:${PN}-archive = "\
     ${bindir}/rpm2archive \
 "
 
 PACKAGES += "python3-rpm"
 PROVIDES += "python3-rpm"
-FILES_python3-rpm = "${PYTHON_SITEPACKAGES_DIR}/rpm/*"
+FILES:python3-rpm = "${PYTHON_SITEPACKAGES_DIR}/rpm/*"
 
-RDEPENDS_${PN}-build = "bash perl python3-core"
+RDEPENDS:${PN}-build = "bash perl python3-core"
 
 PACKAGE_PREPROCESS_FUNCS += "rpm_package_preprocess"
 
diff --git a/meta/recipes-devtools/rsync/rsync_3.2.3.bb b/meta/recipes-devtools/rsync/rsync_3.2.3.bb
index cb186677554..b6d07726d14 100644
--- a/meta/recipes-devtools/rsync/rsync_3.2.3.bb
+++ b/meta/recipes-devtools/rsync/rsync_3.2.3.bb
@@ -45,15 +45,15 @@ EXTRA_OECONF = "--disable-simd --disable-md2man --disable-asm --with-nobody-grou
 
 # rsync 3.0 uses configure.sh instead of configure, and
 # makefile checks the existence of configure.sh
-do_configure_prepend () {
+do_configure:prepend () {
 	rm -f ${S}/configure ${S}/configure.sh
 }
 
-do_configure_append () {
+do_configure:append () {
 	cp -f ${S}/configure ${S}/configure.sh
 }
 
-do_install_append() {
+do_install:append() {
 	install -d ${D}${sysconfdir}
 	install -m 0644 ${WORKDIR}/rsyncd.conf ${D}${sysconfdir}
 }
diff --git a/meta/recipes-devtools/ruby/ruby.inc b/meta/recipes-devtools/ruby/ruby.inc
index 1cede8d47c2..c953a270424 100644
--- a/meta/recipes-devtools/ruby/ruby.inc
+++ b/meta/recipes-devtools/ruby/ruby.inc
@@ -14,7 +14,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=5b8c87559868796979806100db3f3805 \
                     "
 
 DEPENDS = "ruby-native zlib openssl libyaml gdbm readline libffi"
-DEPENDS_class-native = "openssl-native libyaml-native readline-native zlib-native"
+DEPENDS:class-native = "openssl-native libyaml-native readline-native zlib-native"
 
 SHRT_VER = "${@oe.utils.trim_version("${PV}", 2)}"
 SRC_URI = "http://cache.ruby-lang.org/pub/ruby/${SHRT_VER}/ruby-${PV}.tar.gz \
@@ -33,7 +33,7 @@ inherit autotools ptest
 # that the libraries aren't available and hence that the extension can't be
 # built.
 
-do_configure_prepend() {
+do_configure:prepend() {
     sed -i "s#%%TARGET_CFLAGS%%#$CFLAGS#; s#%%TARGET_LDFLAGS%%#$LDFLAGS#" ${S}/common.mk
     rm -rf ${S}/ruby/
 }
diff --git a/meta/recipes-devtools/ruby/ruby_3.0.2.bb b/meta/recipes-devtools/ruby/ruby_3.0.2.bb
index f88e874c7b7..a082735574b 100644
--- a/meta/recipes-devtools/ruby/ruby_3.0.2.bb
+++ b/meta/recipes-devtools/ruby/ruby_3.0.2.bb
@@ -1,6 +1,6 @@
 require ruby.inc
 
-DEPENDS_append_libc-musl = " libucontext"
+DEPENDS:append:libc-musl = " libucontext"
 
 SRC_URI += " \
            file://remove_has_include_macros.patch \
@@ -26,16 +26,16 @@ EXTRA_OECONF = "\
     --with-pkg-config=pkg-config \
 "
 
-EXTRA_OECONF_append_libc-musl = "\
+EXTRA_OECONF:append:libc-musl = "\
     LIBS='-lucontext' \
     ac_cv_func_isnan=yes \
     ac_cv_func_isinf=yes \
 "
 
-EXTRA_OECONF_append_libc-musl_riscv64 = "\
+EXTRA_OECONF:append:libc-musl:riscv64 = "\
     --with-coroutine=copy \
 "
-EXTRA_OECONF_append_libc-musl_riscv32 = "\
+EXTRA_OECONF:append:libc-musl:riscv32 = "\
     --with-coroutine=copy \
 "
 
@@ -43,7 +43,7 @@ do_install() {
     oe_runmake 'DESTDIR=${D}' install
 }
 
-do_install_append_class-target () {
+do_install:append:class-target () {
     # Find out rbconfig.rb from .installed.list
     rbconfig_rb=`grep rbconfig.rb ${B}/.installed.list`
     # Remove build host directories
@@ -80,17 +80,17 @@ do_install_ptest () {
 
 PACKAGES =+ "${PN}-ri-docs ${PN}-rdoc"
 
-SUMMARY_${PN}-ri-docs = "ri (Ruby Interactive) documentation for the Ruby standard library"
-RDEPENDS_${PN}-ri-docs = "${PN}"
-FILES_${PN}-ri-docs += "${datadir}/ri"
+SUMMARY:${PN}-ri-docs = "ri (Ruby Interactive) documentation for the Ruby standard library"
+RDEPENDS:${PN}-ri-docs = "${PN}"
+FILES:${PN}-ri-docs += "${datadir}/ri"
 
-SUMMARY_${PN}-rdoc = "RDoc documentation generator from Ruby source"
-RDEPENDS_${PN}-rdoc = "${PN}"
-FILES_${PN}-rdoc += "${libdir}/ruby/*/rdoc ${bindir}/rdoc"
+SUMMARY:${PN}-rdoc = "RDoc documentation generator from Ruby source"
+RDEPENDS:${PN}-rdoc = "${PN}"
+FILES:${PN}-rdoc += "${libdir}/ruby/*/rdoc ${bindir}/rdoc"
 
-FILES_${PN} += "${datadir}/rubygems"
+FILES:${PN} += "${datadir}/rubygems"
 
-FILES_${PN}-ptest_append_class-target = "\
+FILES:${PN}-ptest:append:class-target = "\
     ${libdir}/ruby/include \
     ${libdir}/ruby/${SHRT_VER}.0/*/-test- \
 "
diff --git a/meta/recipes-devtools/run-postinsts/run-postinsts_1.0.bb b/meta/recipes-devtools/run-postinsts/run-postinsts_1.0.bb
index c353d4b79cd..deddf11f4f2 100644
--- a/meta/recipes-devtools/run-postinsts/run-postinsts_1.0.bb
+++ b/meta/recipes-devtools/run-postinsts/run-postinsts_1.0.bb
@@ -16,7 +16,7 @@ inherit allarch systemd update-rc.d
 INITSCRIPT_NAME = "run-postinsts"
 INITSCRIPT_PARAMS = "start 99 S ."
 
-SYSTEMD_SERVICE_${PN} = "run-postinsts.service"
+SYSTEMD_SERVICE:${PN} = "run-postinsts.service"
 
 do_configure() {
 	:
diff --git a/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb b/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb
index 137e5097fa6..1a9e8f108bc 100644
--- a/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb
+++ b/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb
@@ -37,9 +37,9 @@ do_install() {
 	install -m 0644 "${S}"/squashfs_fs.h "${D}${includedir}"
 }
 
-ARM_INSTRUCTION_SET_armv4 = "arm"
-ARM_INSTRUCTION_SET_armv5 = "arm"
-ARM_INSTRUCTION_SET_armv6 = "arm"
+ARM_INSTRUCTION_SET:armv4 = "arm"
+ARM_INSTRUCTION_SET:armv5 = "arm"
+ARM_INSTRUCTION_SET:armv6 = "arm"
 
 BBCLASSEXTEND = "native nativesdk"
 
diff --git a/meta/recipes-devtools/strace/strace_5.12.bb b/meta/recipes-devtools/strace/strace_5.12.bb
index 6a8996535bf..24021f866d8 100644
--- a/meta/recipes-devtools/strace/strace_5.12.bb
+++ b/meta/recipes-devtools/strace/strace_5.12.bb
@@ -19,7 +19,7 @@ SRC_URI[sha256sum] = "29171edf9d252f89c988a4c340dfdec662f458cb8c63d85431d64bab59
 
 inherit autotools ptest
 
-PACKAGECONFIG_class-target ??= "\
+PACKAGECONFIG:class-target ??= "\
     ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)} \
 "
 
@@ -28,7 +28,7 @@ PACKAGECONFIG[libunwind] = "--with-libunwind,--without-libunwind,libunwind"
 
 EXTRA_OECONF += "--enable-mpers=no --disable-gcc-Werror"
 
-CFLAGS_append_libc-musl = " -Dsigcontext_struct=sigcontext"
+CFLAGS:append:libc-musl = " -Dsigcontext_struct=sigcontext"
 
 TESTDIR = "tests"
 PTEST_BUILD_HOST_PATTERN = "^(DEB_CHANGELOGTIME|RPM_CHANGELOGTIME|WARN_CFLAGS_FOR_BUILD|LDFLAGS_FOR_BUILD)"
@@ -46,9 +46,9 @@ do_install_ptest() {
         sed -i -e '/^src/s/strace.*[0-9]/ptest/' ${D}/${PTEST_PATH}/${TESTDIR}/Makefile
 }
 
-RDEPENDS_${PN}-ptest += "make coreutils grep gawk sed"
+RDEPENDS:${PN}-ptest += "make coreutils grep gawk sed"
 
-RDEPENDS_${PN}-ptest_append_libc-glibc = "\
+RDEPENDS:${PN}-ptest:append:libc-glibc = "\
      locale-base-en-us.iso-8859-1 \
 "
 
diff --git a/meta/recipes-devtools/subversion/subversion_1.14.1.bb b/meta/recipes-devtools/subversion/subversion_1.14.1.bb
index 0f8a7645321..87dc359439c 100644
--- a/meta/recipes-devtools/subversion/subversion_1.14.1.bb
+++ b/meta/recipes-devtools/subversion/subversion_1.14.1.bb
@@ -6,7 +6,7 @@ LICENSE = "Apache-2 & MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=6487ae7094d359fa90fb9c4096e52e2b"
 
 DEPENDS = "apr-util serf sqlite3 file lz4"
-DEPENDS_append_class-native = " file-replacement-native"
+DEPENDS:append:class-native = " file-replacement-native"
 
 SRC_URI = "${APACHE_MIRROR}/${BPN}/${BPN}-${PV}.tar.bz2 \
            file://disable_macos.patch \
@@ -44,7 +44,7 @@ acpaths = "-I build/ -I build/ac-macros/"
 CPPFLAGS += "-P"
 BUILD_CPPFLAGS += "-P"
 
-do_configure_prepend () {
+do_configure:prepend () {
 	rm -f ${S}/libtool
 	rm -f ${S}/build/libtool.m4 ${S}/build/ltmain.sh ${S}/build/ltoptions.m4 ${S}/build/ltsugar.m4 ${S}/build/ltversion.m4 ${S}/build/lt~obsolete.m4
 	rm -f ${S}/aclocal.m4
@@ -58,6 +58,6 @@ do_configure_prepend () {
 #| make: *** [install-serf-lib] Error 1
 PARALLEL_MAKEINST = ""
 
-RDEPENDS_${PN} = "serf"
+RDEPENDS:${PN} = "serf"
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-devtools/swig/swig.inc b/meta/recipes-devtools/swig/swig.inc
index 292bca393de..eb8d723158a 100644
--- a/meta/recipes-devtools/swig/swig.inc
+++ b/meta/recipes-devtools/swig/swig.inc
@@ -49,11 +49,11 @@ BBCLASSEXTEND = "native nativesdk"
 
 # necessary together with bison dependency until a new upstream version after
 # 3.0.12 includes 0001-Fix-generated-code-for-constant-expressions-containi.patch
-do_configure_append() {
+do_configure:append() {
     mkdir -p ${B}/Source/CParse
 }
 
-do_install_append_class-nativesdk() {
+do_install:append:class-nativesdk() {
     cd ${D}${bindir}
     ln -s swig swig2.0
 }
@@ -62,6 +62,6 @@ def swiglib_relpath(d):
     swiglib = d.getVar('datadir') + "/" + d.getVar('BPN') + "/" + d.getVar('PV')
     return os.path.relpath(swiglib, d.getVar('bindir'))
 
-do_install_append_class-native() {
+do_install:append:class-native() {
     create_wrapper ${D}${bindir}/swig SWIG_LIB='`dirname $''realpath`'/${@swiglib_relpath(d)}
 }
diff --git a/meta/recipes-devtools/syslinux/syslinux_6.04-pre2.bb b/meta/recipes-devtools/syslinux/syslinux_6.04-pre2.bb
index dadba9eca9a..0dd18d7a068 100644
--- a/meta/recipes-devtools/syslinux/syslinux_6.04-pre2.bb
+++ b/meta/recipes-devtools/syslinux/syslinux_6.04-pre2.bb
@@ -36,11 +36,11 @@ UPSTREAM_CHECK_REGEX = "syslinux-(?P<pver>.+)\.tar"
 UPSTREAM_VERSION_UNKNOWN = "1"
 
 # We can build the native parts anywhere, but the target has to be x86
-COMPATIBLE_HOST_class-target = '(x86_64|i.86).*-(linux|freebsd.*)'
+COMPATIBLE_HOST:class-target = '(x86_64|i.86).*-(linux|freebsd.*)'
 
 # Don't let the sanity checker trip on the 32 bit real mode BIOS binaries
-INSANE_SKIP_${PN}-misc = "arch"
-INSANE_SKIP_${PN}-chain = "arch"
+INSANE_SKIP:${PN}-misc = "arch"
+INSANE_SKIP:${PN}-chain = "arch"
 
 # When building the installer, CC is used to link. When building the bootloader,
 # LD is used. However, these variables assume that GCC is used and break the
@@ -49,7 +49,7 @@ TARGET_LDFLAGS = ""
 SECURITY_LDFLAGS = ""
 LDFLAGS_SECTION_REMOVAL = ""
 
-CFLAGS_append = " -DNO_INLINE_FUNCS"
+CFLAGS:append = " -DNO_INLINE_FUNCS"
 
 EXTRA_OEMAKE = " \
 	BINDIR=${bindir} SBINDIR=${sbindir} LIBDIR=${libdir} \
@@ -87,17 +87,17 @@ do_install() {
 #
 # Tasks for target which ship the precompiled bootloader and installer
 #
-do_configure_class-target() {
+do_configure:class-target() {
 	# No need to do anything as we're mostly shipping the precompiled binaries
 	:
 }
 
-do_compile_class-target() {
+do_compile:class-target() {
 	# No need to do anything as we're mostly shipping the precompiled binaries
 	:
 }
 
-do_install_class-target() {
+do_install:class-target() {
 	oe_runmake firmware="bios" install INSTALLROOT="${D}"
 
 	install -d ${D}${datadir}/syslinux/
@@ -107,19 +107,19 @@ do_install_class-target() {
 
 PACKAGES += "${PN}-nomtools ${PN}-extlinux ${PN}-mbr ${PN}-chain ${PN}-pxelinux ${PN}-isolinux ${PN}-misc"
 
-RDEPENDS_${PN} += "mtools"
-RDEPENDS_${PN}-nomtools += "libext2fs"
-RDEPENDS_${PN}-misc += "perl"
-
-FILES_${PN} = "${bindir}/syslinux"
-FILES_${PN}-nomtools = "${bindir}/syslinux-nomtools"
-FILES_${PN}-extlinux = "${sbindir}/extlinux"
-FILES_${PN}-mbr = "${datadir}/${BPN}/mbr.bin"
-FILES_${PN}-chain = "${datadir}/${BPN}/chain.c32"
-FILES_${PN}-isolinux = "${datadir}/${BPN}/isolinux.bin"
-FILES_${PN}-pxelinux = "${datadir}/${BPN}/pxelinux.0"
-FILES_${PN}-dev += "${datadir}/${BPN}/com32/lib*${SOLIBS} ${datadir}/${BPN}/com32/include ${datadir}/${BPN}/com32/com32.ld"
-FILES_${PN}-staticdev += "${datadir}/${BPN}/com32/lib*.a ${libdir}/${BPN}/com32/lib*.a"
-FILES_${PN}-misc = "${datadir}/${BPN}/* ${libdir}/${BPN}/* ${bindir}/*"
+RDEPENDS:${PN} += "mtools"
+RDEPENDS:${PN}-nomtools += "libext2fs"
+RDEPENDS:${PN}-misc += "perl"
+
+FILES:${PN} = "${bindir}/syslinux"
+FILES:${PN}-nomtools = "${bindir}/syslinux-nomtools"
+FILES:${PN}-extlinux = "${sbindir}/extlinux"
+FILES:${PN}-mbr = "${datadir}/${BPN}/mbr.bin"
+FILES:${PN}-chain = "${datadir}/${BPN}/chain.c32"
+FILES:${PN}-isolinux = "${datadir}/${BPN}/isolinux.bin"
+FILES:${PN}-pxelinux = "${datadir}/${BPN}/pxelinux.0"
+FILES:${PN}-dev += "${datadir}/${BPN}/com32/lib*${SOLIBS} ${datadir}/${BPN}/com32/include ${datadir}/${BPN}/com32/com32.ld"
+FILES:${PN}-staticdev += "${datadir}/${BPN}/com32/lib*.a ${libdir}/${BPN}/com32/lib*.a"
+FILES:${PN}-misc = "${datadir}/${BPN}/* ${libdir}/${BPN}/* ${bindir}/*"
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-devtools/systemd-bootchart/systemd-bootchart_234.bb b/meta/recipes-devtools/systemd-bootchart/systemd-bootchart_234.bb
index 905a0cbb72e..fd6f17b656a 100644
--- a/meta/recipes-devtools/systemd-bootchart/systemd-bootchart_234.bb
+++ b/meta/recipes-devtools/systemd-bootchart/systemd-bootchart_234.bb
@@ -14,7 +14,7 @@ SRC_URI = "git://github.com/systemd/systemd-bootchart.git;protocol=https \
            file://no_lto.patch \
 "
 
-SRC_URI_append_libc-musl = " \
+SRC_URI:append:libc-musl = " \
     file://0001-comparison_fn_t-is-glibc-specific-use-raw-signature-.patch \
     file://0002-musl-does-not-provide-printf-h.patch \
     file://0003-musl-does-not-provide-canonicalize_file_name.patch \
@@ -31,14 +31,14 @@ inherit pkgconfig autotools systemd features_check
 
 REQUIRED_DISTRO_FEATURES = "systemd"
 
-SYSTEMD_SERVICE_${PN} = "systemd-bootchart.service"
+SYSTEMD_SERVICE:${PN} = "systemd-bootchart.service"
 
-do_configure_prepend() {
+do_configure:prepend() {
     # intltool.m4 is a soft link to /usr/share/aclocal/m4, delete it and use the one in our sysroot
     rm -f ${S}/m4/intltool.m4
 }
 
-FILES_${PN} += "${systemd_unitdir}/systemd-bootchart"
+FILES:${PN} += "${systemd_unitdir}/systemd-bootchart"
 
 EXTRA_OECONF = " --with-rootprefix=${root_prefix} \
                  --with-rootlibdir=${base_libdir}"
diff --git a/meta/recipes-devtools/tcf-agent/tcf-agent_git.bb b/meta/recipes-devtools/tcf-agent/tcf-agent_git.bb
index 87369c47ddf..48e6e02f052 100644
--- a/meta/recipes-devtools/tcf-agent/tcf-agent_git.bb
+++ b/meta/recipes-devtools/tcf-agent/tcf-agent_git.bb
@@ -19,13 +19,13 @@ SRC_URI = "git://git.eclipse.org/gitroot/tcf/org.eclipse.tcf.agent \
           "
 
 DEPENDS = "util-linux openssl"
-RDEPENDS_${PN} = "bash"
+RDEPENDS:${PN} = "bash"
 
 S = "${WORKDIR}/git/agent"
 
 inherit update-rc.d systemd
 
-SYSTEMD_SERVICE_${PN} = "tcf-agent.service"
+SYSTEMD_SERVICE:${PN} = "tcf-agent.service"
 
 INITSCRIPT_NAME = "tcf-agent"
 INITSCRIPT_PARAMS = "start 99 3 5 . stop 20 0 1 2 6 ."
@@ -43,14 +43,14 @@ LCL_STOP_SERVICES = "-DSERVICE_RunControl=0 -DSERVICE_Breakpoints=0 \
 
 # These features don't compile for several cases.
 #
-CFLAGS_append_arc = " ${LCL_STOP_SERVICES}"
-CFLAGS_append_mips = " ${LCL_STOP_SERVICES}"
-CFLAGS_append_mips64 = " ${LCL_STOP_SERVICES}"
-CFLAGS_append_libc-musl = " ${LCL_STOP_SERVICES}"
-CFLAGS_append_powerpc64 = " ${LCL_STOP_SERVICES}"
-CFLAGS_append_powerpc64le = " ${LCL_STOP_SERVICES}"
-CFLAGS_append_riscv64 = " ${LCL_STOP_SERVICES}"
-CFLAGS_append_riscv32 = " ${LCL_STOP_SERVICES}"
+CFLAGS:append:arc = " ${LCL_STOP_SERVICES}"
+CFLAGS:append:mips = " ${LCL_STOP_SERVICES}"
+CFLAGS:append:mips64 = " ${LCL_STOP_SERVICES}"
+CFLAGS:append:libc-musl = " ${LCL_STOP_SERVICES}"
+CFLAGS:append:powerpc64 = " ${LCL_STOP_SERVICES}"
+CFLAGS:append:powerpc64le = " ${LCL_STOP_SERVICES}"
+CFLAGS:append:riscv64 = " ${LCL_STOP_SERVICES}"
+CFLAGS:append:riscv32 = " ${LCL_STOP_SERVICES}"
 
 do_install() {
 	oe_runmake install INSTALLROOT=${D}
diff --git a/meta/recipes-devtools/tcltk/tcl_8.6.11.bb b/meta/recipes-devtools/tcltk/tcl_8.6.11.bb
index 8d58fafeb3e..1e91f0827ed 100644
--- a/meta/recipes-devtools/tcltk/tcl_8.6.11.bb
+++ b/meta/recipes-devtools/tcltk/tcl_8.6.11.bb
@@ -27,7 +27,7 @@ SRC_URI = "${BASE_SRC_URI} \
 "
 SRC_URI[sha256sum] = "cfb49aab82bd179651e23eeeb69606f51b0ddc575ca55c3d35e2457469024cfa"
 
-SRC_URI_class-native = "${BASE_SRC_URI}"
+SRC_URI:class-native = "${BASE_SRC_URI}"
 
 UPSTREAM_CHECK_REGEX = "tcl(?P<pver>\d+(\.\d+)+)-src"
 
@@ -59,13 +59,13 @@ do_install() {
 SYSROOT_DIRS += "${bindir_crossscripts}"
 
 PACKAGES =+ "tcl-lib"
-FILES_tcl-lib = "${libdir}/libtcl8.6.so.*"
-FILES_${PN} += "${libdir}/tcl${VER} ${libdir}/tcl8.6 ${libdir}/tcl8"
-FILES_${PN}-dev += "${libdir}/tclConfig.sh ${libdir}/tclooConfig.sh"
+FILES:tcl-lib = "${libdir}/libtcl8.6.so.*"
+FILES:${PN} += "${libdir}/tcl${VER} ${libdir}/tcl8.6 ${libdir}/tcl8"
+FILES:${PN}-dev += "${libdir}/tclConfig.sh ${libdir}/tclooConfig.sh"
 
 # isn't getting picked up by shlibs code
-RDEPENDS_${PN} += "tcl-lib"
-RDEPENDS_${PN}-ptest += "libgcc"
+RDEPENDS:${PN} += "tcl-lib"
+RDEPENDS:${PN}-ptest += "libgcc"
 
 BBCLASSEXTEND = "native nativesdk"
 
diff --git a/meta/recipes-devtools/unfs3/unfs3_git.bb b/meta/recipes-devtools/unfs3/unfs3_git.bb
index f9bae720cc7..2bc7a9230b5 100644
--- a/meta/recipes-devtools/unfs3/unfs3_git.bb
+++ b/meta/recipes-devtools/unfs3/unfs3_git.bb
@@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=9475885294e17c0cc0067820d042792e"
 
 DEPENDS = "flex-native bison-native flex"
 DEPENDS += "libtirpc"
-DEPENDS_append_class-nativesdk = " flex-nativesdk"
+DEPENDS:append:class-nativesdk = " flex-nativesdk"
 
 ASNEEDED = ""
 
@@ -35,9 +35,9 @@ PV = "0.9.22+${SRCPV}"
 BBCLASSEXTEND = "native nativesdk"
 
 inherit autotools
-EXTRA_OECONF_append_class-native = " --sbindir=${bindir}"
-CFLAGS_append = " -I${STAGING_INCDIR}/tirpc"
-EXTRA_OECONF_append = " LIBS=-ltirpc"
+EXTRA_OECONF:append:class-native = " --sbindir=${bindir}"
+CFLAGS:append = " -I${STAGING_INCDIR}/tirpc"
+EXTRA_OECONF:append = " LIBS=-ltirpc"
 
 # Turn off these header detects else the inode search
 # will walk entire file systems and this is a real problem
diff --git a/meta/recipes-devtools/vala/vala.inc b/meta/recipes-devtools/vala/vala.inc
index 71da2ef07ce..1a1115739d8 100644
--- a/meta/recipes-devtools/vala/vala.inc
+++ b/meta/recipes-devtools/vala/vala.inc
@@ -8,10 +8,10 @@ DEPENDS = "bison-native flex-native glib-2.0"
 # Appending libxslt-native to dependencies has an effect
 # of rebuilding the manual, which is very slow. Let's do this
 # only when api-documentation distro feature is enabled.
-DEPENDS_append_class-target = " ${@bb.utils.contains('DISTRO_FEATURES', 'api-documentation', 'libxslt-native', '', d)}"
+DEPENDS:append:class-target = " ${@bb.utils.contains('DISTRO_FEATURES', 'api-documentation', 'libxslt-native', '', d)}"
 
 # vala-native contains a native version of vapigen, which we use instead of the target one
-DEPENDS_append_class-target = " vala-native"
+DEPENDS:append:class-target = " vala-native"
 BBCLASSEXTEND = "native"
 LICENSE = "LGPLv2.1"
 LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24"
@@ -21,13 +21,13 @@ SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}"
 SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/${BPN}/${SHRT_VER}/${BP}.tar.xz"
 inherit autotools pkgconfig upstream-version-is-even
 
-FILES_${PN} += "${datadir}/${BPN}-${SHRT_VER}/vapi ${libdir}/${BPN}-${SHRT_VER}/"
-FILES_${PN}-doc += "${datadir}/devhelp"
+FILES:${PN} += "${datadir}/${BPN}-${SHRT_VER}/vapi ${libdir}/${BPN}-${SHRT_VER}/"
+FILES:${PN}-doc += "${datadir}/devhelp"
 
 # .gir files from gobject-introspection are installed to ${libdir} when multilib is enabled
 GIRDIR_OPT = "${@'--girdir=${STAGING_LIBDIR}/gir-1.0' if d.getVar('MULTILIBS') else ''}"
 
-do_configure_prepend_class-target() {
+do_configure:prepend:class-target() {
         # Write out a vapigen wrapper that will be provided by pkg-config file installed in target sysroot
         # The wrapper will call a native vapigen
         cat > ${B}/vapigen-wrapper << EOF
@@ -41,16 +41,16 @@ EXTRA_OECONF += " --disable-valadoc"
 
 # Vapigen wrapper needs to be available system-wide, because it will be used
 # to build vapi files from all other packages with vala support
-do_install_append_class-target() {
+do_install:append:class-target() {
         install -d ${D}${bindir}/
         install ${B}/vapigen-wrapper ${D}${bindir}/
 }
 
 # Put vapigen wrapper into target sysroot so that it can be used when building
 # vapi files.
-SYSROOT_DIRS_append_class-target = " ${bindir}"
+SYSROOT_DIRS:append:class-target = " ${bindir}"
 
-SYSROOT_PREPROCESS_FUNCS_append_class-target = " vapigen_sysroot_preprocess"
+SYSROOT_PREPROCESS_FUNCS:append:class-target = " vapigen_sysroot_preprocess"
 vapigen_sysroot_preprocess() {
         # Tweak the vapigen name in the vapigen pkgconfig file, so that it picks
         # up our wrapper.
diff --git a/meta/recipes-devtools/valgrind/valgrind_3.17.0.bb b/meta/recipes-devtools/valgrind/valgrind_3.17.0.bb
index 60b248681ed..3f8a34becc0 100644
--- a/meta/recipes-devtools/valgrind/valgrind_3.17.0.bb
+++ b/meta/recipes-devtools/valgrind/valgrind_3.17.0.bb
@@ -54,7 +54,7 @@ COMPATIBLE_HOST = '(i.86|x86_64|arm|aarch64|mips|powerpc|powerpc64).*-linux'
 
 # patch 0001-memcheck-vgtests-remove-fullpath-after-flags.patch removes relative path
 # argument. Change expected stderr files accordingly.
-do_patch_append() {
+do_patch:append() {
     bb.build.exec_func('do_sed_paths', d)
 }
 
@@ -64,23 +64,23 @@ do_sed_paths() {
 }
 
 # valgrind supports armv7 and above
-COMPATIBLE_HOST_armv4 = 'null'
-COMPATIBLE_HOST_armv5 = 'null'
-COMPATIBLE_HOST_armv6 = 'null'
+COMPATIBLE_HOST:armv4 = 'null'
+COMPATIBLE_HOST:armv5 = 'null'
+COMPATIBLE_HOST:armv6 = 'null'
 
 # valgrind fails with powerpc soft-float
-COMPATIBLE_HOST_powerpc = "${@bb.utils.contains('TARGET_FPU', 'soft', 'null', '.*-linux', d)}"
+COMPATIBLE_HOST:powerpc = "${@bb.utils.contains('TARGET_FPU', 'soft', 'null', '.*-linux', d)}"
 
 # X32 isn't supported by valgrind at this time
-COMPATIBLE_HOST_linux-gnux32 = 'null'
-COMPATIBLE_HOST_linux-muslx32 = 'null'
+COMPATIBLE_HOST:linux-gnux32 = 'null'
+COMPATIBLE_HOST:linux-muslx32 = 'null'
 
 # Disable for some MIPS variants
-COMPATIBLE_HOST_mipsarchr6 = 'null'
-COMPATIBLE_HOST_linux-gnun32 = 'null'
+COMPATIBLE_HOST:mipsarchr6 = 'null'
+COMPATIBLE_HOST:linux-gnun32 = 'null'
 
 # Disable for powerpc64 with musl
-COMPATIBLE_HOST_libc-musl_powerpc64 = 'null'
+COMPATIBLE_HOST:libc-musl:powerpc64 = 'null'
 
 # brokenseip is unfortunately required by ptests to pass
 inherit autotools-brokensep ptest multilib_header
@@ -89,7 +89,7 @@ EXTRA_OECONF = "--enable-tls --without-mpicc"
 EXTRA_OECONF += "${@['--enable-only32bit','--enable-only64bit'][d.getVar('SITEINFO_BITS') != '32']}"
 
 # valgrind checks host_cpu "armv7*)", so we need to over-ride the autotools.bbclass default --host option
-EXTRA_OECONF_append_arm = " --host=armv7${HOST_VENDOR}-${HOST_OS}"
+EXTRA_OECONF:append:arm = " --host=armv7${HOST_VENDOR}-${HOST_OS}"
 
 EXTRA_OEMAKE = "-w"
 
@@ -101,49 +101,49 @@ CACHED_CONFIGUREVARS += "ac_cv_path_PERL='/usr/bin/env perl'"
 # which fixes build path issue in DWARF.
 SELECTED_OPTIMIZATION = "${DEBUG_FLAGS}"
 
-do_configure_prepend () {
+do_configure:prepend () {
     rm -rf ${S}/config.h
     sed -i -e 's:$(abs_top_builddir):$(pkglibdir)/ptest:g' ${S}/none/tests/Makefile.am
     sed -i -e 's:$(top_builddir):$(pkglibdir)/ptest:g' ${S}/memcheck/tests/Makefile.am
 }
 
-do_install_append () {
+do_install:append () {
     install -m 644 ${B}/default.supp ${D}/${libexecdir}/valgrind/
     oe_multilib_header valgrind/config.h
 }
 
 VALGRINDARCH ?= "${TARGET_ARCH}"
-VALGRINDARCH_aarch64 = "arm64"
-VALGRINDARCH_x86-64 = "amd64"
-VALGRINDARCH_x86 = "x86"
-VALGRINDARCH_mips = "mips32"
-VALGRINDARCH_mipsel = "mips32"
-VALGRINDARCH_mips64el = "mips64"
-VALGRINDARCH_powerpc = "ppc"
-VALGRINDARCH_powerpc64 = "ppc64"
-VALGRINDARCH_powerpc64le = "ppc64le"
+VALGRINDARCH:aarch64 = "arm64"
+VALGRINDARCH:x86-64 = "amd64"
+VALGRINDARCH:x86 = "x86"
+VALGRINDARCH:mips = "mips32"
+VALGRINDARCH:mipsel = "mips32"
+VALGRINDARCH:mips64el = "mips64"
+VALGRINDARCH:powerpc = "ppc"
+VALGRINDARCH:powerpc64 = "ppc64"
+VALGRINDARCH:powerpc64le = "ppc64le"
 
 INHIBIT_PACKAGE_STRIP_FILES = "${PKGD}${libexecdir}/valgrind/vgpreload_memcheck-${VALGRINDARCH}-linux.so"
 
-RDEPENDS_${PN} += "perl"
+RDEPENDS:${PN} += "perl"
 
 # valgrind needs debug information for ld.so at runtime in order to
 # redirect functions like strlen.
-RRECOMMENDS_${PN} += "${TCLIBC}-dbg"
+RRECOMMENDS:${PN} += "${TCLIBC}-dbg"
 
-RDEPENDS_${PN}-ptest += " bash coreutils curl file \
+RDEPENDS:${PN}-ptest += " bash coreutils curl file \
    gdb libgomp \
    perl \
    perl-module-file-basename perl-module-file-glob perl-module-getopt-long \
    perl-module-overloading perl-module-cwd perl-module-ipc-open3 \
    perl-module-carp perl-module-symbol \
    procps sed ${PN}-dbg ${PN}-src ${TCLIBC}-src gcc-runtime-dbg"
-RDEPENDS_${PN}-ptest_append_libc-glibc = " glibc-utils"
+RDEPENDS:${PN}-ptest:append:libc-glibc = " glibc-utils"
 
 # One of the tests contains a bogus interpreter path on purpose.
 # Skip file dependency check
-SKIP_FILEDEPS_${PN}-ptest = '1'
-INSANE_SKIP_${PN}-ptest = "debug-deps"
+SKIP_FILEDEPS:${PN}-ptest = '1'
+INSANE_SKIP:${PN}-ptest = "debug-deps"
 
 do_compile_ptest() {
     oe_runmake check
diff --git a/meta/recipes-devtools/xmlto/xmlto_0.0.28.bb b/meta/recipes-devtools/xmlto/xmlto_0.0.28.bb
index d988e1ffce3..1214901b652 100644
--- a/meta/recipes-devtools/xmlto/xmlto_0.0.28.bb
+++ b/meta/recipes-devtools/xmlto/xmlto_0.0.28.bb
@@ -18,14 +18,14 @@ CLEANBROKEN = "1"
 
 DEPENDS = "libxml2-native"
 
-RDEPENDS_${PN} = "docbook-xml-dtd4 \
+RDEPENDS:${PN} = "docbook-xml-dtd4 \
                   docbook-xsl-stylesheets \
                   util-linux \
                   libxml2 \
                   libxslt \
                   bash \
 "
-RDEPENDS_${PN}_append_class-target = " \
+RDEPENDS:${PN}:append:class-target = " \
                   libxml2-utils \
                   libxslt-bin \
                   coreutils \
@@ -34,9 +34,9 @@ CACHED_CONFIGUREVARS += "ac_cv_path_TAIL=tail ac_cv_path_GREP=grep"
 
 BBCLASSEXTEND = "native"
 
-EXTRA_OECONF_append = " BASH=/bin/bash GCP=/bin/cp XMLLINT=xmllint XSLTPROC=xsltproc"
+EXTRA_OECONF:append = " BASH=/bin/bash GCP=/bin/cp XMLLINT=xmllint XSLTPROC=xsltproc"
 
-do_install_append_class-native() {
+do_install:append:class-native() {
     create_wrapper ${D}${bindir}/xmlto XML_CATALOG_FILES=${sysconfdir}/xml/catalog
 }
 
diff --git a/meta/recipes-extended/acpica/acpica_20210331.bb b/meta/recipes-extended/acpica/acpica_20210331.bb
index e17bc94c399..35f8ecd85c4 100644
--- a/meta/recipes-extended/acpica/acpica_20210331.bb
+++ b/meta/recipes-extended/acpica/acpica_20210331.bb
@@ -26,7 +26,7 @@ S = "${WORKDIR}/acpica-unix-${PV}"
 inherit update-alternatives
 
 ALTERNATIVE_PRIORITY = "100"
-ALTERNATIVE_${PN} = "acpixtract acpidump"
+ALTERNATIVE:${PN} = "acpixtract acpidump"
 
 EXTRA_OEMAKE = "CC='${CC}' \
                 OPT_CFLAGS=-Wall \
@@ -44,8 +44,8 @@ do_install() {
 
 # iasl*.bb is a subset of this recipe, so RREPLACE it
 PROVIDES = "iasl"
-RPROVIDES_${PN} += "iasl"
-RREPLACES_${PN} += "iasl"
-RCONFLICTS_${PN} += "iasl"
+RPROVIDES:${PN} += "iasl"
+RREPLACES:${PN} += "iasl"
+RCONFLICTS:${PN} += "iasl"
 
 BBCLASSEXTEND = "native"
diff --git a/meta/recipes-extended/asciidoc/asciidoc_9.1.0.bb b/meta/recipes-extended/asciidoc/asciidoc_9.1.0.bb
index 523bf33f42b..dd9f8e32c43 100644
--- a/meta/recipes-extended/asciidoc/asciidoc_9.1.0.bb
+++ b/meta/recipes-extended/asciidoc/asciidoc_9.1.0.bb
@@ -24,8 +24,8 @@ inherit autotools-brokensep
 CLEANBROKEN = "1"
 
 # target and nativesdk needs python3, but for native we can use the host.
-RDEPENDS_${PN} += "python3"
-RDEPENDS_remove_class-native = "python3"
+RDEPENDS:${PN} += "python3"
+RDEPENDS:remove:class-native = "python3"
 
 BBCLASSEXTEND = "native nativesdk"
 
diff --git a/meta/recipes-extended/at/at_3.2.2.bb b/meta/recipes-extended/at/at_3.2.2.bb
index 5c2018774c0..efe569479b2 100644
--- a/meta/recipes-extended/at/at_3.2.2.bb
+++ b/meta/recipes-extended/at/at_3.2.2.bb
@@ -14,13 +14,13 @@ PACKAGECONFIG ?= "\
 
 PACKAGECONFIG[selinux] = "--with-selinux,--without-selinux,libselinux,"
 
-RDEPENDS_${PN} = "${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_DEPS}', '', d)} \
+RDEPENDS:${PN} = "${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_DEPS}', '', d)} \
 "
 
 PAM_DEPS = "libpam libpam-runtime pam-plugin-env pam-plugin-limits"
 
-RCONFLICTS_${PN} = "atd"
-RREPLACES_${PN} = "atd"
+RCONFLICTS:${PN} = "atd"
+RREPLACES:${PN} = "atd"
 
 SRC_URI = "http://software.calhariz.com/at/${BPN}_${PV}.orig.tar.gz \
     file://fix_parallel_build_error.patch \
@@ -51,7 +51,7 @@ inherit autotools-brokensep systemd update-rc.d
 INITSCRIPT_NAME = "atd"
 INITSCRIPT_PARAMS = "defaults"
 
-SYSTEMD_SERVICE_${PN} = "atd.service"
+SYSTEMD_SERVICE:${PN} = "atd.service"
 
 copy_sources() {
 	cp -f ${WORKDIR}/posixtm.[ch] ${S}
diff --git a/meta/recipes-extended/bash/bash.inc b/meta/recipes-extended/bash/bash.inc
index 7350601c655..ca788e1672d 100644
--- a/meta/recipes-extended/bash/bash.inc
+++ b/meta/recipes-extended/bash/bash.inc
@@ -22,18 +22,18 @@ CFLAGS += "-DHEREDOC_PIPESIZE=65536"
 # causes a lot of garbage in non-interactive shells
 CFLAGS += "-DBRACKETED_PASTE_DEFAULT=0"
 
-ALTERNATIVE_${PN} = "bash sh"
+ALTERNATIVE:${PN} = "bash sh"
 ALTERNATIVE_LINK_NAME[bash] = "${base_bindir}/bash"
 ALTERNATIVE_TARGET[bash] = "${base_bindir}/bash"
 ALTERNATIVE_LINK_NAME[sh] = "${base_bindir}/sh"
 ALTERNATIVE_TARGET[sh] = "${base_bindir}/bash.${BPN}"
 ALTERNATIVE_PRIORITY = "100"
 
-RDEPENDS_${PN} += "base-files"
-RDEPENDS_${PN}_class-nativesdk = ""
-RDEPENDS_${PN}-ptest += "make coreutils perl sed shadow util-linux-setpriv"
+RDEPENDS:${PN} += "base-files"
+RDEPENDS:${PN}:class-nativesdk = ""
+RDEPENDS:${PN}-ptest += "make coreutils perl sed shadow util-linux-setpriv"
 
-RDEPENDS_${PN}-ptest_append_libc-glibc = " \
+RDEPENDS:${PN}-ptest:append:libc-glibc = " \
 	glibc-gconv-big5hkscs \
 	glibc-gconv-iso8859-1 \
 	glibc-utils \
@@ -46,13 +46,13 @@ RDEPENDS_${PN}-ptest_append_libc-glibc = " \
 
 CACHED_CONFIGUREVARS += "headersdir=${includedir}/${PN}"
 
-do_configure_prepend () {
+do_configure:prepend () {
     if [ ! -e ${S}/acinclude.m4 ]; then
        cat ${S}/aclocal.m4 > ${S}/acinclude.m4
     fi
 }
 
-do_compile_prepend() {
+do_compile:prepend() {
     # Remove any leftover .build files. This ensures that bash always has the
     # same version number and keeps builds reproducible
     rm -f ${B}/.build
@@ -62,14 +62,14 @@ do_compile_ptest () {
 	oe_runmake buildtest
 }
 
-do_install_append () {
+do_install:append () {
 	# Move /usr/bin/bash to /bin/bash, if need
 	if [ "${base_bindir}" != "${bindir}" ]; then
 		mkdir -p ${D}${base_bindir}
 		mv ${D}${bindir}/bash ${D}${base_bindir}
 	fi
 }
-do_install_append_class-target () {
+do_install:append:class-target () {
 	# Clean buildhost references in bashbug
 	sed -i -e "s,--sysroot=${STAGING_DIR_TARGET},,g" \
 		-e "s,-I${WORKDIR}/\S* ,,g" \
@@ -107,20 +107,20 @@ do_install_ptest () {
 # hash
 do_install_ptest[vardepsexclude] += "UNINATIVE_LOADER"
 
-pkg_postinst_${PN} () {
+pkg_postinst:${PN} () {
 	grep -q "^${base_bindir}/bash$" $D${sysconfdir}/shells || echo ${base_bindir}/bash >> $D${sysconfdir}/shells
 }
 
-pkg_postrm_${PN} () {
+pkg_postrm:${PN} () {
 	printf "$(grep -v "^${base_bindir}/bash$" $D${sysconfdir}/shells)\n" > $D${sysconfdir}/shells
 }
 
 PACKAGES += "${PN}-bashbug"
-FILES_${PN} = "${bindir}/bash ${base_bindir}/bash.bash"
-FILES_${PN}-bashbug = "${bindir}/bashbug"
+FILES:${PN} = "${bindir}/bash ${base_bindir}/bash.bash"
+FILES:${PN}-bashbug = "${bindir}/bashbug"
 
 PACKAGE_BEFORE_PN += "${PN}-loadable"
-RDEPENDS_${PN}-loadable += "${PN}"
-FILES_${PN}-loadable += "${libdir}/bash/*"
+RDEPENDS:${PN}-loadable += "${PN}"
+FILES:${PN}-loadable += "${libdir}/bash/*"
 
-RPROVIDES_${PN} += "${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', '/bin/sh /bin/bash', '', d)}"
+RPROVIDES:${PN} += "${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', '/bin/sh /bin/bash', '', d)}"
diff --git a/meta/recipes-extended/bash/bash_5.1.8.bb b/meta/recipes-extended/bash/bash_5.1.8.bb
index 5d7704af17b..9400835b8a4 100644
--- a/meta/recipes-extended/bash/bash_5.1.8.bb
+++ b/meta/recipes-extended/bash/bash_5.1.8.bb
@@ -19,7 +19,7 @@ SRC_URI = "${GNU_MIRROR}/bash/${BP}.tar.gz;name=tarball \
 
 SRC_URI[tarball.sha256sum] = "0cfb5c9bb1a29f800a97bd242d19511c997a1013815b805e0fdd32214113d6be"
 
-DEBUG_OPTIMIZATION_append_armv4 = " ${@bb.utils.contains('TUNE_CCARGS', '-mthumb', '-fomit-frame-pointer', '', d)}"
-DEBUG_OPTIMIZATION_append_armv5 = " ${@bb.utils.contains('TUNE_CCARGS', '-mthumb', '-fomit-frame-pointer', '', d)}"
+DEBUG_OPTIMIZATION:append:armv4 = " ${@bb.utils.contains('TUNE_CCARGS', '-mthumb', '-fomit-frame-pointer', '', d)}"
+DEBUG_OPTIMIZATION:append:armv5 = " ${@bb.utils.contains('TUNE_CCARGS', '-mthumb', '-fomit-frame-pointer', '', d)}"
 
 BBCLASSEXTEND = "nativesdk"
diff --git a/meta/recipes-extended/bc/bc_1.07.1.bb b/meta/recipes-extended/bc/bc_1.07.1.bb
index ff3e8f4409a..37f06b72c2d 100644
--- a/meta/recipes-extended/bc/bc_1.07.1.bb
+++ b/meta/recipes-extended/bc/bc_1.07.1.bb
@@ -25,11 +25,11 @@ PACKAGECONFIG ??= "readline"
 PACKAGECONFIG[readline] = "--with-readline,--without-readline,readline"
 PACKAGECONFIG[libedit] = "--with-libedit,--without-libedit,libedit"
 
-do_compile_prepend() {
+do_compile:prepend() {
     cp -f ${WORKDIR}/libmath.h ${B}/bc/libmath.h
 }
 
-ALTERNATIVE_${PN} = "bc dc"
+ALTERNATIVE:${PN} = "bc dc"
 ALTERNATIVE_PRIORITY = "100"
 
 BBCLASSEXTEND = "native"
diff --git a/meta/recipes-extended/bzip2/bzip2_1.0.8.bb b/meta/recipes-extended/bzip2/bzip2_1.0.8.bb
index 70eb67f1f26..296bc68d412 100644
--- a/meta/recipes-extended/bzip2/bzip2_1.0.8.bb
+++ b/meta/recipes-extended/bzip2/bzip2_1.0.8.bb
@@ -5,13 +5,13 @@ LZ77/LZ78-based compressors, and approaches the performance of the PPM family of
 HOMEPAGE = "https://sourceware.org/bzip2/"
 SECTION = "console/utils"
 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"
+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 \
@@ -36,17 +36,17 @@ UPSTREAM_CHECK_URI = "https://www.sourceware.org/pub/bzip2/"
 
 PACKAGES =+ "libbz2"
 
-CFLAGS_append = " -fPIC -fpic -Winline -fno-strength-reduce -D_FILE_OFFSET_BITS=64"
+CFLAGS:append = " -fPIC -fpic -Winline -fno-strength-reduce -D_FILE_OFFSET_BITS=64"
 
 inherit autotools update-alternatives ptest relative_symlinks
 
 ALTERNATIVE_PRIORITY = "100"
-ALTERNATIVE_${PN} = "bunzip2 bzcat bzip2"
+ALTERNATIVE:${PN} = "bunzip2 bzcat bzip2"
 
 #install binaries to bzip2-native under sysroot for replacement-native
-EXTRA_OECONF_append_class-native = " --bindir=${STAGING_BINDIR_NATIVE}/${PN}"
+EXTRA_OECONF:append:class-native = " --bindir=${STAGING_BINDIR_NATIVE}/${PN}"
 
-do_configure_prepend () {
+do_configure:prepend () {
     sed -i -e "s|%BZIP2_VERSION%|${PV}|" ${S}/configure.ac
 }
 
@@ -62,9 +62,9 @@ do_install_ptest () {
 	sed -i -e "s|^Makefile:|_Makefile:|" ${D}${PTEST_PATH}/Makefile
 }
 
-FILES_libbz2 = "${libdir}/lib*${SOLIBS}"
+FILES:libbz2 = "${libdir}/lib*${SOLIBS}"
 
-RDEPENDS_${PN}-ptest += "make bash"
+RDEPENDS:${PN}-ptest += "make bash"
 
-PROVIDES_append_class-native = " bzip2-replacement-native"
+PROVIDES:append:class-native = " bzip2-replacement-native"
 BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-extended/cpio/cpio_2.13.bb b/meta/recipes-extended/cpio/cpio_2.13.bb
index f4df826ed9c..20ea3c25e30 100644
--- a/meta/recipes-extended/cpio/cpio_2.13.bb
+++ b/meta/recipes-extended/cpio/cpio_2.13.bb
@@ -37,14 +37,14 @@ do_install () {
 
 PACKAGES =+ "${PN}-rmt"
 
-FILES_${PN}-rmt = "${sbindir}/rmt*"
+FILES:${PN}-rmt = "${sbindir}/rmt*"
 
 inherit update-alternatives
 
 ALTERNATIVE_PRIORITY = "100"
 
-ALTERNATIVE_${PN} = "cpio"
-ALTERNATIVE_${PN}-rmt = "rmt"
+ALTERNATIVE:${PN} = "cpio"
+ALTERNATIVE:${PN}-rmt = "rmt"
 
 ALTERNATIVE_LINK_NAME[cpio] = "${base_bindir}/cpio"
 
diff --git a/meta/recipes-extended/cracklib/cracklib_2.9.5.bb b/meta/recipes-extended/cracklib/cracklib_2.9.5.bb
index 9cdb71f1a1a..c2677184b4a 100644
--- a/meta/recipes-extended/cracklib/cracklib_2.9.5.bb
+++ b/meta/recipes-extended/cracklib/cracklib_2.9.5.bb
@@ -22,7 +22,7 @@ UPSTREAM_CHECK_REGEX = "/cracklib/(?P<pver>(\d+[\.\-_]*)+)/"
 
 inherit autotools gettext
 
-do_install_append_class-target() {
+do_install:append:class-target() {
 	create-cracklib-dict -o ${D}${datadir}/cracklib/pw_dict ${D}${datadir}/cracklib/cracklib-small
 }
 
diff --git a/meta/recipes-extended/cronie/cronie_1.5.7.bb b/meta/recipes-extended/cronie/cronie_1.5.7.bb
index d0abdd8398a..2cbae591b08 100644
--- a/meta/recipes-extended/cronie/cronie_1.5.7.bb
+++ b/meta/recipes-extended/cronie/cronie_1.5.7.bb
@@ -39,11 +39,11 @@ INITSCRIPT_NAME = "crond"
 INITSCRIPT_PARAMS = "start 90 2 3 4 5 . stop 60 0 1 6 ."
 
 USERADD_PACKAGES = "${PN}"
-GROUPADD_PARAM_${PN} = "--system crontab"
+GROUPADD_PARAM:${PN} = "--system crontab"
 
-SYSTEMD_SERVICE_${PN} = "crond.service"
+SYSTEMD_SERVICE:${PN} = "crond.service"
 
-do_install_append () {
+do_install:append () {
 	install -d ${D}${sysconfdir}/sysconfig/
 	install -d ${D}${sysconfdir}/init.d/
 	install -m 0644 ${S}/crond.sysconfig ${D}${sysconfdir}/sysconfig/crond
@@ -79,5 +79,5 @@ do_install_append () {
 	chmod 600 ${D}${sysconfdir}/crontab
 }
 
-FILES_${PN} += "${sysconfdir}/cron*"
-CONFFILES_${PN} += "${sysconfdir}/crontab"
+FILES:${PN} += "${sysconfdir}/cron*"
+CONFFILES:${PN} += "${sysconfdir}/crontab"
diff --git a/meta/recipes-extended/cups/cups.inc b/meta/recipes-extended/cups/cups.inc
index df23825466b..f6f8637a431 100644
--- a/meta/recipes-extended/cups/cups.inc
+++ b/meta/recipes-extended/cups/cups.inc
@@ -34,9 +34,9 @@ CLEANBROKEN = "1"
 inherit autotools-brokensep binconfig useradd systemd pkgconfig multilib_script
 
 USERADD_PACKAGES = "${PN}"
-GROUPADD_PARAM_${PN} = "--system lpadmin"
+GROUPADD_PARAM:${PN} = "--system lpadmin"
 
-SYSTEMD_SERVICE_${PN} = "cups.socket cups.path cups.service cups-lpd.socket"
+SYSTEMD_SERVICE:${PN} = "cups.socket cups.path cups.service cups-lpd.socket"
 
 PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'zeroconf', 'avahi', '', d)} \
                    ${@bb.utils.filter('DISTRO_FEATURES', 'pam systemd', d)}"
@@ -91,21 +91,21 @@ do_install () {
 
 PACKAGES =+ "${PN}-lib ${PN}-libimage"
 
-RDEPENDS_${PN} += "${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'procps', '', d)}"
-FILES_${PN} += "${libexecdir}/cups/"
+RDEPENDS:${PN} += "${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'procps', '', d)}"
+FILES:${PN} += "${libexecdir}/cups/"
 
-FILES_${PN}-lib = "${libdir}/libcups.so.*"
+FILES:${PN}-lib = "${libdir}/libcups.so.*"
 
-FILES_${PN}-libimage = "${libdir}/libcupsimage.so.*"
+FILES:${PN}-libimage = "${libdir}/libcupsimage.so.*"
 
 #package the html for the webgui inside the main packages (~1MB uncompressed)
 
-FILES_${PN} += "${datadir}/doc/cups/images \
+FILES:${PN} += "${datadir}/doc/cups/images \
                 ${datadir}/doc/cups/*html \
                 ${datadir}/doc/cups/*.css \
                 ${datadir}/icons/ \
                "
-CONFFILES_${PN} += "${sysconfdir}/cups/cupsd.conf"
+CONFFILES:${PN} += "${sysconfdir}/cups/cupsd.conf"
 
 MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/cups-config"
 
diff --git a/meta/recipes-extended/diffutils/diffutils.inc b/meta/recipes-extended/diffutils/diffutils.inc
index c9e3130587d..194d6e5a1b7 100644
--- a/meta/recipes-extended/diffutils/diffutils.inc
+++ b/meta/recipes-extended/diffutils/diffutils.inc
@@ -7,7 +7,7 @@ SECTION = "base"
 
 inherit autotools texinfo update-alternatives gettext
 
-ALTERNATIVE_${PN} = "diff cmp"
+ALTERNATIVE:${PN} = "diff cmp"
 ALTERNATIVE_PRIORITY = "100"
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-extended/diffutils/diffutils_3.7.bb b/meta/recipes-extended/diffutils/diffutils_3.7.bb
index b9a54fea548..7b4ae160f99 100644
--- a/meta/recipes-extended/diffutils/diffutils_3.7.bb
+++ b/meta/recipes-extended/diffutils/diffutils_3.7.bb
@@ -19,7 +19,7 @@ acpaths = "-I ./m4"
 
 inherit ptest
 
-RDEPENDS_${PN}-ptest += "make perl"
+RDEPENDS:${PN}-ptest += "make perl"
 
 do_install_ptest() {
 	t=${D}${PTEST_PATH}
diff --git a/meta/recipes-extended/ethtool/ethtool_5.13.bb b/meta/recipes-extended/ethtool/ethtool_5.13.bb
index 8f6a7904a23..3c99debc991 100644
--- a/meta/recipes-extended/ethtool/ethtool_5.13.bb
+++ b/meta/recipes-extended/ethtool/ethtool_5.13.bb
@@ -17,7 +17,7 @@ UPSTREAM_CHECK_URI = "https://www.kernel.org/pub/software/network/ethtool/"
 
 inherit autotools ptest bash-completion pkgconfig
 
-RDEPENDS_${PN}-ptest += "make"
+RDEPENDS:${PN}-ptest += "make"
 
 PACKAGECONFIG ?= "netlink"
 PACKAGECONFIG[netlink] = "--enable-netlink,--disable-netlink,libmnl,"
diff --git a/meta/recipes-extended/findutils/findutils.inc b/meta/recipes-extended/findutils/findutils.inc
index 9aa7239825b..ea8a1b7afec 100644
--- a/meta/recipes-extended/findutils/findutils.inc
+++ b/meta/recipes-extended/findutils/findutils.inc
@@ -10,7 +10,7 @@ SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.xz"
 
 inherit autotools gettext texinfo update-alternatives
 
-ALTERNATIVE_${PN} = "find xargs"
+ALTERNATIVE:${PN} = "find xargs"
 ALTERNATIVE_PRIORITY = "100"
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-extended/gawk/gawk_5.1.0.bb b/meta/recipes-extended/gawk/gawk_5.1.0.bb
index ae897be62e9..3c801e8bcc1 100644
--- a/meta/recipes-extended/gawk/gawk_5.1.0.bb
+++ b/meta/recipes-extended/gawk/gawk_5.1.0.bb
@@ -25,14 +25,14 @@ SRC_URI[sha256sum] = "03a0360edcd84bec156fe211bbc4fc8c78790973ce4e8b990a11d778d4
 
 inherit autotools gettext texinfo update-alternatives
 
-FILES_${PN} += "${datadir}/awk"
-FILES_${PN}-dev += "${libdir}/${BPN}/*.la"
+FILES:${PN} += "${datadir}/awk"
+FILES:${PN}-dev += "${libdir}/${BPN}/*.la"
 
-ALTERNATIVE_${PN} = "awk"
+ALTERNATIVE:${PN} = "awk"
 ALTERNATIVE_TARGET[awk] = "${bindir}/gawk"
 ALTERNATIVE_PRIORITY = "100"
 
-do_install_append() {
+do_install:append() {
 	# remove the link since we don't package it
 	rm ${D}${bindir}/awk
 }
@@ -51,9 +51,9 @@ do_install_ptest() {
         sed -i -e "s|GAWKLOCALE|LANG|g" ${D}${PTEST_PATH}/test/Maketests
 }
 
-RDEPENDS_${PN}-ptest += "make"
+RDEPENDS:${PN}-ptest += "make"
 
-RDEPENDS_${PN}-ptest_append_libc-glibc = "\
+RDEPENDS:${PN}-ptest:append:libc-glibc = "\
      locale-base-en-us.iso-8859-1 \
 "
 
diff --git a/meta/recipes-extended/ghostscript/ghostscript_9.54.0.bb b/meta/recipes-extended/ghostscript/ghostscript_9.54.0.bb
index 81f8d615aed..59cc560cf89 100644
--- a/meta/recipes-extended/ghostscript/ghostscript_9.54.0.bb
+++ b/meta/recipes-extended/ghostscript/ghostscript_9.54.0.bb
@@ -14,7 +14,7 @@ LICENSE = "GPLv3"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=70dc2bac4d0ce4448da873cd86b123fc"
 
 DEPENDS = "ghostscript-native tiff jpeg fontconfig cups libpng"
-DEPENDS_class-native = "libpng-native"
+DEPENDS:class-native = "libpng-native"
 
 UPSTREAM_CHECK_URI = "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases"
 UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)\.tar"
@@ -40,7 +40,7 @@ SRC_URI = "${SRC_URI_BASE} \
            file://cups-no-gcrypt.patch \
            "
 
-SRC_URI_class-native = "${SRC_URI_BASE} \
+SRC_URI:class-native = "${SRC_URI_BASE} \
                         file://ghostscript-9.21-native-fix-disable-system-libtiff.patch \
                         file://base-genht.c-add-a-preprocessor-define-to-allow-fope.patch \
                         "
@@ -49,13 +49,13 @@ SRC_URI[sha256sum] = "0646bb97f6f4d10a763f4919c54fa28b4fbdd3dff8e7de3410431c8176
 
 # Put something like
 #
-#   PACKAGECONFIG_append_pn-ghostscript = " x11"
+#   PACKAGECONFIG:append:pn-ghostscript = " x11"
 #
 # in local.conf to enable building with X11.  Be careful.  The order
 # of the overrides matters!
 #
 #PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}"
-PACKAGECONFIG_class-native = ""
+PACKAGECONFIG:class-native = ""
 
 PACKAGECONFIG[x11] = "--with-x --x-includes=${STAGING_INCDIR} --x-libraries=${STAGING_LIBDIR}, \
                       --without-x, virtual/libx11 libxext libxt gtk+3\
@@ -68,11 +68,11 @@ EXTRA_OECONF = "--without-libpaper --with-system-libtiff --without-jbig2dec \
                 CUPSCONFIG="${STAGING_BINDIR_CROSS}/cups-config" \
                 "
 
-EXTRA_OECONF_append_mipsarcho32 = " --with-large_color_index=0"
+EXTRA_OECONF:append:mipsarcho32 = " --with-large_color_index=0"
 
 # Explicity disable libtiff, fontconfig,
 # freetype, cups for ghostscript-native
-EXTRA_OECONF_class-native = "--without-x --with-system-libtiff=no \
+EXTRA_OECONF:class-native = "--without-x --with-system-libtiff=no \
                              --without-jbig2dec --without-libpaper \
                              --with-fontpath=${datadir}/fonts \
                              --without-libidn --disable-fontconfig \
@@ -86,11 +86,11 @@ BUILD_CFLAGS += "-DHAVE_SYS_TIME_H=1"
 
 inherit autotools-brokensep
 
-do_configure_prepend_class-target () {
+do_configure:prepend:class-target () {
         rm -rf ${S}/jpeg/
 }
 
-do_configure_append () {
+do_configure:append () {
 	# copy tools from the native ghostscript build
 	if [ "${PN}" != "ghostscript-native" ]; then
 		mkdir -p obj/aux soobj
@@ -100,20 +100,20 @@ do_configure_append () {
 	fi
 }
 
-do_install_append () {
+do_install:append () {
     mkdir -p ${D}${datadir}/ghostscript/${PV}/
     cp -r ${S}/Resource ${D}${datadir}/ghostscript/${PV}/
     cp -r ${S}/iccprofiles ${D}${datadir}/ghostscript/${PV}/
 }
 
-do_compile_class-native () {
+do_compile:class-native () {
     mkdir -p obj
     for i in genarch genconf mkromfs echogs gendev genht packps; do
         oe_runmake obj/aux/$i
     done
 }
 
-do_install_class-native () {
+do_install:class-native () {
     install -d ${D}${bindir}/ghostscript-${PV}
     for i in genarch genconf mkromfs echogs gendev genht packps; do
         install -m 755 obj/aux/$i ${D}${bindir}/ghostscript-${PV}/$i
diff --git a/meta/recipes-extended/go-examples/go-helloworld_0.1.bb b/meta/recipes-extended/go-examples/go-helloworld_0.1.bb
index c51f163e9b5..aeff482f3ba 100644
--- a/meta/recipes-extended/go-examples/go-helloworld_0.1.bb
+++ b/meta/recipes-extended/go-examples/go-helloworld_0.1.bb
@@ -17,6 +17,6 @@ export GO111MODULE="off"
 inherit go
 
 # This is just to make clear where this example is
-do_install_append() {
+do_install:append() {
     mv ${D}${bindir}/hello ${D}${bindir}/${BPN}
 }
diff --git a/meta/recipes-extended/grep/grep_3.6.bb b/meta/recipes-extended/grep/grep_3.6.bb
index c17b96d7bd0..750575ec228 100644
--- a/meta/recipes-extended/grep/grep_3.6.bb
+++ b/meta/recipes-extended/grep/grep_3.6.bb
@@ -15,7 +15,7 @@ inherit autotools gettext texinfo pkgconfig
 # Fix "Argument list too long" error when len(TMPDIR) = 410
 acpaths = "-I ./m4"
 
-do_configure_prepend () {
+do_configure:prepend () {
 	sed -i -e '1s,#!@SHELL@,#!/bin/sh,' ${S}/src/egrep.sh
 	rm -f ${S}/m4/init.m4
 }
@@ -38,7 +38,7 @@ PACKAGECONFIG[pcre] = "--enable-perl-regexp,--disable-perl-regexp,libpcre"
 
 ALTERNATIVE_PRIORITY = "100"
 
-ALTERNATIVE_${PN} = "grep egrep fgrep"
+ALTERNATIVE:${PN} = "grep egrep fgrep"
 ALTERNATIVE_LINK_NAME[grep] = "${base_bindir}/grep"
 ALTERNATIVE_LINK_NAME[egrep] = "${base_bindir}/egrep"
 ALTERNATIVE_LINK_NAME[fgrep] = "${base_bindir}/fgrep"
diff --git a/meta/recipes-extended/groff/groff_1.22.4.bb b/meta/recipes-extended/groff/groff_1.22.4.bb
index f0e9eb6a8ac..d0b543ab6e2 100644
--- a/meta/recipes-extended/groff/groff_1.22.4.bb
+++ b/meta/recipes-extended/groff/groff_1.22.4.bb
@@ -22,7 +22,7 @@ SRC_URI[sha256sum] = "e78e7b4cb7dec310849004fa88847c44701e8d133b5d4c13057d876c1b
 PR = "r1"
 
 DEPENDS = "bison-native"
-RDEPENDS_${PN} += "perl sed"
+RDEPENDS:${PN} += "perl sed"
 
 inherit autotools-brokensep texinfo multilib_script pkgconfig
 
@@ -35,12 +35,12 @@ CACHED_CONFIGUREVARS += "ac_cv_path_PERL='/usr/bin/env perl' ac_cv_path_BASH_PRO
 
 # Delete these generated files since we depend on bison-native
 # and regenerate them. Do it deterministically (always).
-do_configure_prepend() {
+do_configure:prepend() {
 	rm -f ${S}/src/preproc/eqn/eqn.cpp
 	rm -f ${S}/src/preproc/eqn/eqn.hpp
 }
 
-do_install_append() {
+do_install:append() {
 	# Some distros have both /bin/perl and /usr/bin/perl, but we set perl location
 	# for target as /usr/bin/perl, so fix it to /usr/bin/perl.
 	for i in afmtodit mmroff gropdf pdfmom grog; do
@@ -68,13 +68,13 @@ do_install_append() {
 	rm -rf ${D}${mandir}/man1/grap2graph*
 }
 
-do_install_append_class-native() {
+do_install:append:class-native() {
 	create_cmdline_wrapper ${D}/${bindir}/groff \
 		-F${STAGING_DIR_NATIVE}${datadir_native}/groff/${PV}/font \
 		-M${STAGING_DIR_NATIVE}${datadir_native}/groff/${PV}/tmac
 }
 
-FILES_${PN} += "${libdir}/${BPN}/site-tmac \
+FILES:${PN} += "${libdir}/${BPN}/site-tmac \
                 ${libdir}/${BPN}/groffer/"
 
 BBCLASSEXTEND = "native"
diff --git a/meta/recipes-extended/gzip/gzip.inc b/meta/recipes-extended/gzip/gzip.inc
index 04f8f95dd5a..15fd665ac8b 100644
--- a/meta/recipes-extended/gzip/gzip.inc
+++ b/meta/recipes-extended/gzip/gzip.inc
@@ -8,10 +8,10 @@ SECTION = "console/utils"
 inherit autotools texinfo
 export DEFS="NO_ASM"
 
-EXTRA_OEMAKE_class-target = "GREP=${base_bindir}/grep"
-EXTRA_OECONF_append_libc-musl = " gl_cv_func_fflush_stdin=yes "
+EXTRA_OEMAKE:class-target = "GREP=${base_bindir}/grep"
+EXTRA_OECONF:append:libc-musl = " gl_cv_func_fflush_stdin=yes "
 
-do_install_append () {
+do_install:append () {
 	if [ "${base_bindir}" != "${bindir}" ]; then
 		# Rename and move files into /bin (FHS), which is typical place for gzip
 		install -d ${D}${base_bindir}
@@ -25,7 +25,7 @@ do_install_append () {
 inherit update-alternatives
 
 ALTERNATIVE_PRIORITY = "100"
-ALTERNATIVE_${PN} = "gunzip gzip zcat"
+ALTERNATIVE:${PN} = "gunzip gzip zcat"
 ALTERNATIVE_LINK_NAME[gunzip] = "${base_bindir}/gunzip"
 ALTERNATIVE_LINK_NAME[gzip] = "${base_bindir}/gzip"
 ALTERNATIVE_LINK_NAME[zcat] = "${base_bindir}/zcat"
diff --git a/meta/recipes-extended/gzip/gzip_1.10.bb b/meta/recipes-extended/gzip/gzip_1.10.bb
index 9778e687e1a..120e1d45804 100644
--- a/meta/recipes-extended/gzip/gzip_1.10.bb
+++ b/meta/recipes-extended/gzip/gzip_1.10.bb
@@ -5,14 +5,14 @@ LICENSE = "GPLv3+"
 SRC_URI = "${GNU_MIRROR}/gzip/${BP}.tar.gz \
            file://run-ptest \
           "
-SRC_URI_append_class-target = " file://wrong-path-fix.patch"
+SRC_URI:append:class-target = " file://wrong-path-fix.patch"
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
                     file://gzip.h;beginline=8;endline=20;md5=6e47caaa630e0c8bf9f1bc8d94a8ed0e"
 
-PROVIDES_append_class-native = " gzip-replacement-native"
+PROVIDES:append:class-native = " gzip-replacement-native"
 
-RDEPENDS_${PN}-ptest += "make perl grep diffutils"
+RDEPENDS:${PN}-ptest += "make perl grep diffutils"
 
 BBCLASSEXTEND = "native nativesdk"
 
diff --git a/meta/recipes-extended/hdparm/hdparm_9.62.bb b/meta/recipes-extended/hdparm/hdparm_9.62.bb
index 026772351d3..3d4081c2b3d 100644
--- a/meta/recipes-extended/hdparm/hdparm_9.62.bb
+++ b/meta/recipes-extended/hdparm/hdparm_9.62.bb
@@ -5,9 +5,9 @@ and manipulating various IDE drive and driver parameters."
 SECTION = "console/utils"
 
 LICENSE = "BSD & GPLv2"
-LICENSE_${PN} = "BSD"
-LICENSE_${PN}-dbg = "BSD"
-LICENSE_wiper = "GPLv2"
+LICENSE:${PN} = "BSD"
+LICENSE:${PN}-dbg = "BSD"
+LICENSE:wiper = "GPLv2"
 
 LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=495d03e50dc6c89d6a30107ab0df5b03 \
                     file://debian/copyright;md5=a82d7ba3ade9e8ec902749db98c592f3 \
@@ -17,9 +17,9 @@ LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=495d03e50dc6c89d6a30107ab0df5b03 \
 
 PACKAGES =+ "wiper"
 
-FILES_wiper = "${bindir}/wiper.sh"
+FILES:wiper = "${bindir}/wiper.sh"
 
-RDEPENDS_wiper = "bash gawk coreutils"
+RDEPENDS:wiper = "bash gawk coreutils"
 
 SRC_URI = "${SOURCEFORGE_MIRROR}/hdparm/${BP}.tar.gz \
            file://wiper.sh-fix-stat-path.patch \
@@ -31,7 +31,7 @@ EXTRA_OEMAKE = 'STRIP="echo" LDFLAGS="${LDFLAGS}"'
 
 inherit update-alternatives
 
-ALTERNATIVE_${PN} = "hdparm"
+ALTERNATIVE:${PN} = "hdparm"
 ALTERNATIVE_LINK_NAME[hdparm] = "${base_sbindir}/hdparm"
 ALTERNATIVE_PRIORITY = "100"
 
diff --git a/meta/recipes-extended/images/core-image-kernel-dev.bb b/meta/recipes-extended/images/core-image-kernel-dev.bb
index 4d16da1ea8e..4018af7a3a7 100644
--- a/meta/recipes-extended/images/core-image-kernel-dev.bb
+++ b/meta/recipes-extended/images/core-image-kernel-dev.bb
@@ -15,7 +15,7 @@ CORE_IMAGE_EXTRA_INSTALL += "${KERNEL_DEV_MODULE} \
                             "
 
 # We need extra space for things like kernel builds, etc.
-IMAGE_ROOTFS_EXTRA_SPACE_append = " + 3000000"
+IMAGE_ROOTFS_EXTRA_SPACE:append = " + 3000000"
 
 # Let's define our own subset to test, we can later add a on-target kernel build even!
 DEFAULT_TEST_SUITES = "ping ssh df connman syslog scp date parselogs"
diff --git a/meta/recipes-extended/iptables/iptables_1.8.7.bb b/meta/recipes-extended/iptables/iptables_1.8.7.bb
index 621f87ff874..93af96b77dd 100644
--- a/meta/recipes-extended/iptables/iptables_1.8.7.bb
+++ b/meta/recipes-extended/iptables/iptables_1.8.7.bb
@@ -18,7 +18,7 @@ SRC_URI = "http://netfilter.org/projects/iptables/files/iptables-${PV}.tar.bz2 \
            "
 SRC_URI[sha256sum] = "c109c96bb04998cd44156622d36f8e04b140701ec60531a10668cfdff5e8d8f0"
 
-SYSTEMD_SERVICE_${PN} = "\
+SYSTEMD_SERVICE:${PN} = "\
     iptables.service \
     ${@bb.utils.contains('PACKAGECONFIG', 'ipv6', 'ip6tables.service', '', d)} \
 "
@@ -36,7 +36,7 @@ PACKAGECONFIG[libnfnetlink] = "--enable-libnfnetlink,--disable-libnfnetlink,libn
 # libnftnl recipe is in meta-networking layer(previously known as libnftables)
 PACKAGECONFIG[libnftnl] = "--enable-nftables,--disable-nftables,libnftnl"
 
-do_configure_prepend() {
+do_configure:prepend() {
     # Remove some libtool m4 files
     # Keep ax_check_linker_flags.m4 which belongs to autoconf-archive.
     rm -f libtool.m4 lt~obsolete.m4 ltoptions.m4 ltsugar.m4 ltversion.m4
@@ -44,7 +44,7 @@ do_configure_prepend() {
 
 IPTABLES_RULES_DIR ?= "${sysconfdir}/${BPN}"
 
-do_install_append() {
+do_install:append() {
     install -d ${D}${IPTABLES_RULES_DIR}
     install -m 0644 ${WORKDIR}/iptables.rules ${D}${IPTABLES_RULES_DIR}
 
@@ -70,15 +70,15 @@ do_install_append() {
 PACKAGES =+ "${PN}-modules ${PN}-apply"
 PACKAGES_DYNAMIC += "^${PN}-module-.*"
 
-python populate_packages_prepend() {
+python populate_packages:prepend() {
     modules = do_split_packages(d, '${libdir}/xtables', r'lib(.*)\.so$', '${PN}-module-%s', '${PN} module %s', extra_depends='')
     if modules:
         metapkg = d.getVar('PN') + '-modules'
-        d.appendVar('RDEPENDS_' + metapkg, ' ' + ' '.join(modules))
+        d.appendVar('RDEPENDS:' + metapkg, ' ' + ' '.join(modules))
 }
 
-RDEPENDS_${PN} = "${PN}-module-xt-standard"
-RRECOMMENDS_${PN} = " \
+RDEPENDS:${PN} = "${PN}-module-xt-standard"
+RRECOMMENDS:${PN} = " \
     ${PN}-modules \
     kernel-module-x-tables \
     kernel-module-ip-tables \
@@ -95,16 +95,16 @@ RRECOMMENDS_${PN} = " \
     ', '', d)} \
 "
 
-FILES_${PN} += "${datadir}/xtables"
+FILES:${PN} += "${datadir}/xtables"
 
-FILES_${PN}-apply = "${sbindir}/ip*-apply"
-RDEPENDS_${PN}-apply = "${PN} bash"
+FILES:${PN}-apply = "${sbindir}/ip*-apply"
+RDEPENDS:${PN}-apply = "${PN} bash"
 
 # Include the symlinks as well in respective packages
-FILES_${PN}-module-xt-conntrack += "${libdir}/xtables/libxt_state.so"
-FILES_${PN}-module-xt-ct += "${libdir}/xtables/libxt_NOTRACK.so"
+FILES:${PN}-module-xt-conntrack += "${libdir}/xtables/libxt_state.so"
+FILES:${PN}-module-xt-ct += "${libdir}/xtables/libxt_NOTRACK.so"
 
-ALLOW_EMPTY_${PN}-modules = "1"
+ALLOW_EMPTY:${PN}-modules = "1"
 
-INSANE_SKIP_${PN}-module-xt-conntrack = "dev-so"
-INSANE_SKIP_${PN}-module-xt-ct = "dev-so"
+INSANE_SKIP:${PN}-module-xt-conntrack = "dev-so"
+INSANE_SKIP:${PN}-module-xt-ct = "dev-so"
diff --git a/meta/recipes-extended/iputils/iputils_20210202.bb b/meta/recipes-extended/iputils/iputils_20210202.bb
index 02a303782e9..b8596ddf6a5 100644
--- a/meta/recipes-extended/iputils/iputils_20210202.bb
+++ b/meta/recipes-extended/iputils/iputils_20210202.bb
@@ -42,7 +42,7 @@ EXTRA_OEMESON += "--prefix=${root_prefix}/"
 
 ALTERNATIVE_PRIORITY = "100"
 
-ALTERNATIVE_${PN}-ping = "ping"
+ALTERNATIVE:${PN}-ping = "ping"
 ALTERNATIVE_LINK_NAME[ping] = "${base_bindir}/ping"
 
 SPLITPKGS = "${PN}-ping ${PN}-arping ${PN}-tracepath ${PN}-clockdiff ${PN}-rdisc \
@@ -51,21 +51,21 @@ SPLITPKGS = "${PN}-ping ${PN}-arping ${PN}-tracepath ${PN}-clockdiff ${PN}-rdisc
              ${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', '${PN}-traceroute6 ${PN}-ninfod', '', d)}"
 PACKAGES += "${SPLITPKGS}"
 
-ALLOW_EMPTY_${PN} = "1"
-RDEPENDS_${PN} += "${SPLITPKGS}"
+ALLOW_EMPTY:${PN} = "1"
+RDEPENDS:${PN} += "${SPLITPKGS}"
 
-FILES_${PN} = ""
-FILES_${PN}-ping = "${base_bindir}/ping.${BPN}"
-FILES_${PN}-arping = "${base_bindir}/arping"
-FILES_${PN}-tracepath = "${base_bindir}/tracepath"
-FILES_${PN}-traceroute6	= "${base_bindir}/traceroute6"
-FILES_${PN}-clockdiff = "${base_bindir}/clockdiff"
-FILES_${PN}-tftpd = "${base_bindir}/tftpd ${sysconfdir}/xinetd.d/tftp"
-FILES_${PN}-rarpd = "${base_sbindir}/rarpd  ${systemd_unitdir}/system/rarpd@.service"
-FILES_${PN}-rdisc = "${base_sbindir}/rdisc"
-FILES_${PN}-ninfod = "${base_sbindir}/ninfod ${sysconfdir}/init.d/ninfod.sh"
+FILES:${PN} = ""
+FILES:${PN}-ping = "${base_bindir}/ping.${BPN}"
+FILES:${PN}-arping = "${base_bindir}/arping"
+FILES:${PN}-tracepath = "${base_bindir}/tracepath"
+FILES:${PN}-traceroute6	= "${base_bindir}/traceroute6"
+FILES:${PN}-clockdiff = "${base_bindir}/clockdiff"
+FILES:${PN}-tftpd = "${base_bindir}/tftpd ${sysconfdir}/xinetd.d/tftp"
+FILES:${PN}-rarpd = "${base_sbindir}/rarpd  ${systemd_unitdir}/system/rarpd@.service"
+FILES:${PN}-rdisc = "${base_sbindir}/rdisc"
+FILES:${PN}-ninfod = "${base_sbindir}/ninfod ${sysconfdir}/init.d/ninfod.sh"
 
 SYSTEMD_PACKAGES = "${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', '${PN}-ninfod', '', d)} \
                     ${PN}-rdisc"
-SYSTEMD_SERVICE_${PN}-ninfod = "ninfod.service"
-SYSTEMD_SERVICE_${PN}-rdisc = "rdisc.service"
+SYSTEMD_SERVICE:${PN}-ninfod = "ninfod.service"
+SYSTEMD_SERVICE:${PN}-rdisc = "rdisc.service"
diff --git a/meta/recipes-extended/less/less_590.bb b/meta/recipes-extended/less/less_590.bb
index 82a23126423..5d0d0a5afe6 100644
--- a/meta/recipes-extended/less/less_590.bb
+++ b/meta/recipes-extended/less/less_590.bb
@@ -38,5 +38,5 @@ do_install () {
         oe_runmake 'bindir=${D}${bindir}' 'mandir=${D}${mandir}' install
 }
 
-ALTERNATIVE_${PN} = "less"
+ALTERNATIVE:${PN} = "less"
 ALTERNATIVE_PRIORITY = "100"
diff --git a/meta/recipes-extended/libarchive/libarchive_3.5.1.bb b/meta/recipes-extended/libarchive/libarchive_3.5.1.bb
index ebecee1f3ea..7d98e573b8a 100644
--- a/meta/recipes-extended/libarchive/libarchive_3.5.1.bb
+++ b/meta/recipes-extended/libarchive/libarchive_3.5.1.bb
@@ -9,12 +9,12 @@ DEPENDS = "e2fsprogs-native"
 
 PACKAGECONFIG ?= "zlib bz2 xz lzo zstd"
 
-PACKAGECONFIG_append_class-target = "\
+PACKAGECONFIG:append:class-target = "\
 	${@bb.utils.filter('DISTRO_FEATURES', 'acl xattr', d)} \
 "
 
 DEPENDS_BZIP2 = "bzip2-replacement-native"
-DEPENDS_BZIP2_class-target = "bzip2"
+DEPENDS_BZIP2:class-target = "bzip2"
 
 PACKAGECONFIG[acl] = "--enable-acl,--disable-acl,acl,"
 PACKAGECONFIG[xattr] = "--enable-xattr,--disable-xattr,attr,"
@@ -41,7 +41,7 @@ inherit autotools update-alternatives pkgconfig
 CPPFLAGS += "-I${WORKDIR}/extra-includes"
 
 do_configure[cleandirs] += "${WORKDIR}/extra-includes"
-do_configure_prepend() {
+do_configure:prepend() {
 	# We just need the headers for some type constants, so no need to
 	# build all of e2fsprogs for the target
 	cp -R ${STAGING_INCDIR_NATIVE}/ext2fs ${WORKDIR}/extra-includes/
@@ -50,16 +50,16 @@ do_configure_prepend() {
 ALTERNATIVE_PRIORITY = "80"
 
 PACKAGES =+ "bsdtar"
-FILES_bsdtar = "${bindir}/bsdtar"
+FILES:bsdtar = "${bindir}/bsdtar"
 
-ALTERNATIVE_bsdtar = "tar"
+ALTERNATIVE:bsdtar = "tar"
 ALTERNATIVE_LINK_NAME[tar] = "${base_bindir}/tar"
 ALTERNATIVE_TARGET[tar] = "${bindir}/bsdtar"
 
 PACKAGES =+ "bsdcpio"
-FILES_bsdcpio = "${bindir}/bsdcpio"
+FILES:bsdcpio = "${bindir}/bsdcpio"
 
-ALTERNATIVE_bsdcpio = "cpio"
+ALTERNATIVE:bsdcpio = "cpio"
 ALTERNATIVE_LINK_NAME[cpio] = "${base_bindir}/cpio"
 ALTERNATIVE_TARGET[cpio] = "${bindir}/bsdcpio"
 
diff --git a/meta/recipes-extended/libidn/libidn2_2.3.1.bb b/meta/recipes-extended/libidn/libidn2_2.3.1.bb
index d33d6a7dab0..07781940af6 100644
--- a/meta/recipes-extended/libidn/libidn2_2.3.1.bb
+++ b/meta/recipes-extended/libidn/libidn2_2.3.1.bb
@@ -21,12 +21,12 @@ EXTRA_OECONF += "--disable-rpath \
                  --with-libunistring-prefix=${STAGING_EXECPREFIXDIR} \
                  "
 
-do_install_append() {
+do_install:append() {
 	# Need to remove any duplicate whitespace too for reproducibility
 	sed -i -e 's|-L${STAGING_LIBDIR}||' -e 's/  */ /g' ${D}${libdir}/pkgconfig/libidn2.pc
 }
 
-LICENSE_${PN} = "(GPLv2+ | LGPLv3)"
-LICENSE_${PN}-bin = "GPLv3+"
+LICENSE:${PN} = "(GPLv2+ | LGPLv3)"
+LICENSE:${PN}-bin = "GPLv3+"
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-extended/libnss-nis/libnss-nis.bb b/meta/recipes-extended/libnss-nis/libnss-nis.bb
index a1d914e871f..34103428e91 100644
--- a/meta/recipes-extended/libnss-nis/libnss-nis.bb
+++ b/meta/recipes-extended/libnss-nis/libnss-nis.bb
@@ -28,4 +28,4 @@ BBCLASSEXTEND += "native nativesdk"
 #
 # We will skip parsing this packagegeoup for non-glibc systems
 #
-COMPATIBLE_HOST_libc-musl = 'null'
+COMPATIBLE_HOST:libc-musl = 'null'
diff --git a/meta/recipes-extended/libsolv/libsolv_0.7.19.bb b/meta/recipes-extended/libsolv/libsolv_0.7.19.bb
index 0c69636323b..bb925073edc 100644
--- a/meta/recipes-extended/libsolv/libsolv_0.7.19.bb
+++ b/meta/recipes-extended/libsolv/libsolv_0.7.19.bb
@@ -26,7 +26,7 @@ EXTRA_OECMAKE = "-DMULTI_SEMANTICS=ON -DENABLE_COMPLEX_DEPS=ON"
 
 PACKAGES =+ "${PN}-tools ${PN}ext"
 
-FILES_${PN}-tools = "${bindir}/*"
-FILES_${PN}ext = "${libdir}/${PN}ext.so.*"
+FILES:${PN}-tools = "${bindir}/*"
+FILES:${PN}ext = "${libdir}/${PN}ext.so.*"
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-extended/libtirpc/libtirpc_1.3.2.bb b/meta/recipes-extended/libtirpc/libtirpc_1.3.2.bb
index b666263280e..45b3d2befc3 100644
--- a/meta/recipes-extended/libtirpc/libtirpc_1.3.2.bb
+++ b/meta/recipes-extended/libtirpc/libtirpc_1.3.2.bb
@@ -18,7 +18,7 @@ inherit autotools pkgconfig
 
 EXTRA_OECONF = "--disable-gssapi"
 
-do_install_append() {
+do_install:append() {
 	chown root:root ${D}${sysconfdir}/netconfig
 }
 
diff --git a/meta/recipes-extended/lighttpd/lighttpd_1.4.59.bb b/meta/recipes-extended/lighttpd/lighttpd_1.4.59.bb
index cf7f478915d..f97c5913b8c 100644
--- a/meta/recipes-extended/lighttpd/lighttpd_1.4.59.bb
+++ b/meta/recipes-extended/lighttpd/lighttpd_1.4.59.bb
@@ -7,10 +7,10 @@ LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://COPYING;md5=e4dac5c6ab169aa212feb5028853a579"
 
 SECTION = "net"
-RDEPENDS_${PN} = "lighttpd-module-dirlisting \
+RDEPENDS:${PN} = "lighttpd-module-dirlisting \
                   lighttpd-module-indexfile \
                   lighttpd-module-staticfile"
-RRECOMMENDS_${PN} = "lighttpd-module-access \
+RRECOMMENDS:${PN} = "lighttpd-module-access \
                      lighttpd-module-accesslog"
 
 SRC_URI = "http://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-${PV}.tar.xz \
@@ -52,9 +52,9 @@ inherit autotools pkgconfig update-rc.d gettext systemd
 INITSCRIPT_NAME = "lighttpd"
 INITSCRIPT_PARAMS = "defaults 70"
 
-SYSTEMD_SERVICE_${PN} = "lighttpd.service"
+SYSTEMD_SERVICE:${PN} = "lighttpd.service"
 
-do_install_append() {
+do_install:append() {
 	install -d ${D}${sysconfdir}/init.d ${D}${sysconfdir}/lighttpd ${D}${sysconfdir}/lighttpd.d ${D}/www/pages/dav
 	install -m 0755 ${WORKDIR}/lighttpd ${D}${sysconfdir}/init.d
 	install -m 0644 ${WORKDIR}/lighttpd.conf ${D}${sysconfdir}/lighttpd
@@ -71,13 +71,13 @@ do_install_append() {
 	ln -sf ${localstatedir}/tmp ${D}/www/var
 }
 
-FILES_${PN} += "${sysconfdir} /www"
+FILES:${PN} += "${sysconfdir} /www"
 
-CONFFILES_${PN} = "${sysconfdir}/lighttpd/lighttpd.conf"
+CONFFILES:${PN} = "${sysconfdir}/lighttpd/lighttpd.conf"
 
 PACKAGES_DYNAMIC += "^lighttpd-module-.*"
 
-python populate_packages_prepend () {
+python populate_packages:prepend () {
     lighttpd_libdir = d.expand('${libdir}')
     do_split_packages(d, lighttpd_libdir, r'^mod_(.*)\.so$', 'lighttpd-module-%s', 'Lighttpd module for %s', extra_depends='')
 }
diff --git a/meta/recipes-extended/logrotate/logrotate_3.18.1.bb b/meta/recipes-extended/logrotate/logrotate_3.18.1.bb
index d853f7bec92..bca47872c5d 100644
--- a/meta/recipes-extended/logrotate/logrotate_3.18.1.bb
+++ b/meta/recipes-extended/logrotate/logrotate_3.18.1.bb
@@ -29,7 +29,7 @@ PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'acl selinux', d)}"
 PACKAGECONFIG[acl] = ",,acl"
 PACKAGECONFIG[selinux] = ",,libselinux"
 
-CONFFILES_${PN} += "${localstatedir}/lib/logrotate.status \
+CONFFILES:${PN} += "${localstatedir}/lib/logrotate.status \
                     ${sysconfdir}/logrotate.conf \
                     ${sysconfdir}/logrotate.d/btmp \
                     ${sysconfdir}/logrotate.d/wtmp"
@@ -53,7 +53,7 @@ OS_NAME = "Linux"
 
 inherit autotools systemd
 
-SYSTEMD_SERVICE_${PN} = "\
+SYSTEMD_SERVICE:${PN} = "\
     ${BPN}.service \
     ${BPN}.timer \
 "
diff --git a/meta/recipes-extended/lsb/lsb-release_1.4.bb b/meta/recipes-extended/lsb/lsb-release_1.4.bb
index bafc18fcc02..a3bcaf51c34 100644
--- a/meta/recipes-extended/lsb/lsb-release_1.4.bb
+++ b/meta/recipes-extended/lsb/lsb-release_1.4.bb
@@ -4,7 +4,7 @@ HOMEPAGE = "https://sourceforge.net/projects/lsb/files"
 LICENSE = "GPLv2+"
 
 # lsb_release needs getopt
-RDEPENDS_${PN} += "${VIRTUAL-RUNTIME_getopt}"
+RDEPENDS:${PN} += "${VIRTUAL-RUNTIME_getopt}"
 
 LIC_FILES_CHKSUM = "file://README;md5=12da544b1a3a5a1795a21160b49471cf"
 
@@ -35,4 +35,4 @@ do_install() {
 	echo "DISTRIB_DESCRIPTION=\"${DISTRO_NAME} ${DISTRO_VERSION}\"" >> ${D}${sysconfdir}/lsb-release
 }
 
-FILES_${PN} += "${base_libdir}"
+FILES:${PN} += "${base_libdir}"
diff --git a/meta/recipes-extended/ltp/ltp_20210524.bb b/meta/recipes-extended/ltp/ltp_20210524.bb
index 26fd9ac0497..702fa62b660 100644
--- a/meta/recipes-extended/ltp/ltp_20210524.bb
+++ b/meta/recipes-extended/ltp/ltp_20210524.bb
@@ -15,18 +15,18 @@ LIC_FILES_CHKSUM = "\
 "
 
 DEPENDS = "attr libaio libcap acl openssl zip-native"
-DEPENDS_append_libc-musl = " fts "
-EXTRA_OEMAKE_append_libc-musl = " LIBC=musl "
-EXTRA_OECONF_append_libc-musl = " LIBS=-lfts "
+DEPENDS:append:libc-musl = " fts "
+EXTRA_OEMAKE:append:libc-musl = " LIBC=musl "
+EXTRA_OECONF:append:libc-musl = " LIBS=-lfts "
 
 # since ltp contains x86-64 assembler which uses the frame-pointer register,
 # set -fomit-frame-pointer x86-64 to handle cases where optimisation
 # is set to -O0 or frame pointers have been enabled by -fno-omit-frame-pointer
 # earlier in CFLAGS, etc.
-CFLAGS_append_x86-64 = " -fomit-frame-pointer"
+CFLAGS:append:x86-64 = " -fomit-frame-pointer"
 
-CFLAGS_append_powerpc64 = " -D__SANE_USERSPACE_TYPES__"
-CFLAGS_append_mipsarchn64 = " -D__SANE_USERSPACE_TYPES__"
+CFLAGS:append:powerpc64 = " -D__SANE_USERSPACE_TYPES__"
+CFLAGS:append:mipsarchn64 = " -D__SANE_USERSPACE_TYPES__"
 SRCREV = "0fb171f2beddaf64bd27597577c206c0f892b3cd"
 
 SRC_URI = "git://github.com/linux-test-project/ltp.git \
@@ -75,7 +75,7 @@ do_install(){
     sed -e '/^memcg_stress/d' -i ${D}${prefix}/runtest/controllers
 }
 
-RDEPENDS_${PN} = "\
+RDEPENDS:${PN} = "\
     attr \
     bash \
     bc \
@@ -105,11 +105,11 @@ RDEPENDS_${PN} = "\
     tar \
 "
 
-FILES_${PN} += "${prefix}/* ${prefix}/runtest/* ${prefix}/scenario_groups/* ${prefix}/testcases/bin/* ${prefix}/testcases/bin/*/bin/* ${prefix}/testscripts/* ${prefix}/testcases/open_posix_testsuite/* ${prefix}/testcases/open_posix_testsuite/conformance/* ${prefix}/testcases/open_posix_testsuite/Documentation/* ${prefix}/testcases/open_posix_testsuite/functional/* ${prefix}/testcases/open_posix_testsuite/include/* ${prefix}/testcases/open_posix_testsuite/scripts/* ${prefix}/testcases/open_posix_testsuite/stress/* ${prefix}/testcases/open_posix_testsuite/tools/* ${prefix}/testcases/data/nm01/lib.a ${prefix}/lib/libmem.a"
+FILES:${PN} += "${prefix}/* ${prefix}/runtest/* ${prefix}/scenario_groups/* ${prefix}/testcases/bin/* ${prefix}/testcases/bin/*/bin/* ${prefix}/testscripts/* ${prefix}/testcases/open_posix_testsuite/* ${prefix}/testcases/open_posix_testsuite/conformance/* ${prefix}/testcases/open_posix_testsuite/Documentation/* ${prefix}/testcases/open_posix_testsuite/functional/* ${prefix}/testcases/open_posix_testsuite/include/* ${prefix}/testcases/open_posix_testsuite/scripts/* ${prefix}/testcases/open_posix_testsuite/stress/* ${prefix}/testcases/open_posix_testsuite/tools/* ${prefix}/testcases/data/nm01/lib.a ${prefix}/lib/libmem.a"
 
 # Avoid stripping some generated binaries otherwise some of the ltp tests such as ldd01 & nm01 fail
 INHIBIT_PACKAGE_STRIP_FILES = "${prefix}/testcases/bin/nm01 ${prefix}/testcases/bin/ldd01"
-INSANE_SKIP_${PN} += "already-stripped staticdev"
+INSANE_SKIP:${PN} += "already-stripped staticdev"
 
 remove_broken_musl_sources() {
 	[ "${TCLIBC}" = "musl" ] || return 0
@@ -135,4 +135,4 @@ do_patch[postfuncs] += "remove_broken_musl_sources"
 # exist on the running system.  For instance it has specific checks for
 # csh and ksh which are not typically part of OpenEmbedded systems (but
 # can be added via additional layers.)
-SKIP_FILEDEPS_${PN} = '1'
+SKIP_FILEDEPS:${PN} = '1'
diff --git a/meta/recipes-extended/man-db/man-db_2.9.4.bb b/meta/recipes-extended/man-db/man-db_2.9.4.bb
index cfa65617696..c4cdbcc3b49 100644
--- a/meta/recipes-extended/man-db/man-db_2.9.4.bb
+++ b/meta/recipes-extended/man-db/man-db_2.9.4.bb
@@ -11,11 +11,11 @@ SRC_URI = "${SAVANNAH_NONGNU_MIRROR}/man-db/man-db-${PV}.tar.xz \
 SRC_URI[sha256sum] = "b66c99edfad16ad928c889f87cf76380263c1609323c280b3a9e6963fdb16756"
 
 DEPENDS = "libpipeline gdbm groff-native base-passwd"
-RDEPENDS_${PN} += "base-passwd"
+RDEPENDS:${PN} += "base-passwd"
 PACKAGE_WRITE_DEPS += "base-passwd"
 
 # | /usr/src/debug/man-db/2.8.0-r0/man-db-2.8.0/src/whatis.c:939: undefined reference to `_nl_msg_cat_cntr'
-USE_NLS_libc-musl = "no"
+USE_NLS:libc-musl = "no"
 
 inherit gettext pkgconfig autotools systemd
 
@@ -31,17 +31,17 @@ do_install() {
 	fi
 }
 
-do_install_append_libc-musl() {
+do_install:append:libc-musl() {
         rm -f ${D}${libdir}/charset.alias
 }
 
-FILES_${PN} += "${prefix}/lib/tmpfiles.d"
+FILES:${PN} += "${prefix}/lib/tmpfiles.d"
 
-FILES_${PN}-dev += "${libdir}/man-db/libman.so ${libdir}/${BPN}/libmandb.so"
+FILES:${PN}-dev += "${libdir}/man-db/libman.so ${libdir}/${BPN}/libmandb.so"
 
-RDEPENDS_${PN} += "groff"
-RRECOMMENDS_${PN} += "less"
-RPROVIDES_${PN} += " man"
+RDEPENDS:${PN} += "groff"
+RRECOMMENDS:${PN} += "less"
+RPROVIDES:${PN} += " man"
 
 def compress_pkg(d):
     if bb.utils.contains("INHERIT", "compress_doc", True, False, d):
@@ -54,7 +54,7 @@ def compress_pkg(d):
              return "xz"
     return ""
 
-RDEPENDS_${PN} += "${@compress_pkg(d)}"
+RDEPENDS:${PN} += "${@compress_pkg(d)}"
 
-SYSTEMD_SERVICE_${PN} = "man-db.timer man-db.service"
+SYSTEMD_SERVICE:${PN} = "man-db.timer man-db.service"
 SYSTEMD_AUTO_ENABLE ?= "disable"
diff --git a/meta/recipes-extended/man-pages/man-pages_5.12.bb b/meta/recipes-extended/man-pages/man-pages_5.12.bb
index a5b2c303052..ed30103ccd7 100644
--- a/meta/recipes-extended/man-pages/man-pages_5.12.bb
+++ b/meta/recipes-extended/man-pages/man-pages_5.12.bb
@@ -23,14 +23,14 @@ do_install() {
         oe_runmake install prefix=${prefix} DESTDIR=${D}
 }
 
-# Only deliveres man-pages so FILES_${PN} gets everything
-FILES_${PN}-doc = ""
-FILES_${PN} = "${mandir}/*"
+# Only deliveres man-pages so FILES:${PN} gets everything
+FILES:${PN}-doc = ""
+FILES:${PN} = "${mandir}/*"
 
 inherit update-alternatives
 
 ALTERNATIVE_PRIORITY = "100"
-ALTERNATIVE_${PN} = "passwd.5 getspnam.3 crypt.3"
+ALTERNATIVE:${PN} = "passwd.5 getspnam.3 crypt.3"
 ALTERNATIVE_LINK_NAME[passwd.5] = "${mandir}/man5/passwd.5"
 ALTERNATIVE_LINK_NAME[getspnam.3] = "${mandir}/man3/getspnam.3"
 ALTERNATIVE_LINK_NAME[crypt.3] = "${mandir}/man3/crypt.3"
diff --git a/meta/recipes-extended/mc/mc_4.8.26.bb b/meta/recipes-extended/mc/mc_4.8.26.bb
index 5c5e6790d8b..d5619675ef7 100644
--- a/meta/recipes-extended/mc/mc_4.8.26.bb
+++ b/meta/recipes-extended/mc/mc_4.8.26.bb
@@ -5,8 +5,8 @@ LICENSE = "GPLv3"
 LIC_FILES_CHKSUM = "file://COPYING;md5=270bbafe360e73f9840bd7981621f9c2"
 SECTION = "console/utils"
 DEPENDS = "ncurses glib-2.0 util-linux"
-RDEPENDS_${PN} = "ncurses-terminfo-base"
-RRECOMMENDS_${PN} = "ncurses-terminfo"
+RDEPENDS:${PN} = "ncurses-terminfo-base"
+RRECOMMENDS:${PN} = "ncurses-terminfo"
 
 SRC_URI = "http://www.midnight-commander.org/downloads/${BPN}-${PV}.tar.bz2 \
            file://0001-mc-replace-perl-w-with-use-warnings.patch \
@@ -23,7 +23,7 @@ PACKAGECONFIG ??= ""
 PACKAGECONFIG[smb] = "--enable-vfs-smb,--disable-vfs-smb,samba,"
 PACKAGECONFIG[sftp] = "--enable-vfs-sftp,--disable-vfs-sftp,libssh2,"
 
-CFLAGS_append_libc-musl = ' -DNCURSES_WIDECHAR=1 '
+CFLAGS:append:libc-musl = ' -DNCURSES_WIDECHAR=1 '
 EXTRA_OECONF = "--with-screen=ncurses --without-gpm-mouse --without-x --disable-configure-args"
 
 CACHED_CONFIGUREVARS += "ac_cv_path_PERL='/usr/bin/env perl'"
@@ -31,7 +31,7 @@ CACHED_CONFIGUREVARS += "ac_cv_path_PYTHON='/usr/bin/env python'"
 CACHED_CONFIGUREVARS += "ac_cv_path_GREP='/usr/bin/env grep'"
 CACHED_CONFIGUREVARS += "mc_cv_have_zipinfo=yes"
 
-do_install_append () {
+do_install:append () {
 	sed -i -e '1s,#!.*perl,#!${bindir}/env perl,' ${D}${libexecdir}/mc/extfs.d/*
         
         rm ${D}${libexecdir}/mc/extfs.d/s3+ ${D}${libexecdir}/mc/extfs.d/uc1541
@@ -39,17 +39,17 @@ do_install_append () {
 
 PACKAGES =+ "${BPN}-helpers-perl ${BPN}-helpers ${BPN}-fish"
 
-SUMMARY_${BPN}-helpers-perl = "Midnight Commander Perl-based helper scripts"
-FILES_${BPN}-helpers-perl = "${libexecdir}/mc/extfs.d/a+ ${libexecdir}/mc/extfs.d/apt+ \
+SUMMARY:${BPN}-helpers-perl = "Midnight Commander Perl-based helper scripts"
+FILES:${BPN}-helpers-perl = "${libexecdir}/mc/extfs.d/a+ ${libexecdir}/mc/extfs.d/apt+ \
                              ${libexecdir}/mc/extfs.d/deb ${libexecdir}/mc/extfs.d/deba \
                              ${libexecdir}/mc/extfs.d/debd ${libexecdir}/mc/extfs.d/dpkg+ \
                              ${libexecdir}/mc/extfs.d/mailfs ${libexecdir}/mc/extfs.d/patchfs \ 
                              ${libexecdir}/mc/extfs.d/rpms+ ${libexecdir}/mc/extfs.d/ulib \ 
                              ${libexecdir}/mc/extfs.d/uzip"
-RDEPENDS_${BPN}-helpers-perl = "perl"
+RDEPENDS:${BPN}-helpers-perl = "perl"
 
-SUMMARY_${BPN}-helpers = "Midnight Commander shell helper scripts"
-FILES_${BPN}-helpers = "${libexecdir}/mc/extfs.d/* ${libexecdir}/mc/ext.d/*"
+SUMMARY:${BPN}-helpers = "Midnight Commander shell helper scripts"
+FILES:${BPN}-helpers = "${libexecdir}/mc/extfs.d/* ${libexecdir}/mc/ext.d/*"
 
-SUMMARY_${BPN}-fish = "Midnight Commander Fish scripts"
-FILES_${BPN}-fish = "${libexecdir}/mc/fish"
+SUMMARY:${BPN}-fish = "Midnight Commander Fish scripts"
+FILES:${BPN}-fish = "${libexecdir}/mc/fish"
diff --git a/meta/recipes-extended/mdadm/mdadm_4.1.bb b/meta/recipes-extended/mdadm/mdadm_4.1.bb
index bb77759cf97..062797afe65 100644
--- a/meta/recipes-extended/mdadm/mdadm_4.1.bb
+++ b/meta/recipes-extended/mdadm/mdadm_4.1.bb
@@ -31,23 +31,23 @@ SRC_URI[sha256sum] = "ab7688842908d3583a704d491956f31324c3a5fc9f6a04653cb75d19f1
 
 inherit autotools-brokensep ptest systemd
 
-SYSTEMD_SERVICE_${PN} = "mdmonitor.service"
+SYSTEMD_SERVICE:${PN} = "mdmonitor.service"
 SYSTEMD_AUTO_ENABLE = "disable"
 
-CFLAGS_append_toolchain-clang = " -Wno-error=address-of-packed-member"
+CFLAGS:append:toolchain-clang = " -Wno-error=address-of-packed-member"
 
 # PPC64 and MIPS64 uses long long for u64 in the kernel, but powerpc's asm/types.h
 # prevents 64-bit userland from seeing this definition, instead defaulting
 # to u64 == long in userspace. Define __SANE_USERSPACE_TYPES__ to get
 # int-ll64.h included
-CFLAGS_append_powerpc64 = ' -D__SANE_USERSPACE_TYPES__'
-CFLAGS_append_mipsarchn64 = ' -D__SANE_USERSPACE_TYPES__'
-CFLAGS_append_mipsarchn32 = ' -D__SANE_USERSPACE_TYPES__'
+CFLAGS:append:powerpc64 = ' -D__SANE_USERSPACE_TYPES__'
+CFLAGS:append:mipsarchn64 = ' -D__SANE_USERSPACE_TYPES__'
+CFLAGS:append:mipsarchn32 = ' -D__SANE_USERSPACE_TYPES__'
 
 EXTRA_OEMAKE = 'CHECK_RUN_DIR=0 CXFLAGS="${CFLAGS}" SYSTEMD_DIR=${systemd_unitdir}/system \
                 BINDIR="${base_sbindir}" UDEVDIR="${nonarch_base_libdir}/udev"'
 
-DEBUG_OPTIMIZATION_append = " -Wno-error"
+DEBUG_OPTIMIZATION:append = " -Wno-error"
 
 do_compile() {
 	oe_runmake SYSROOT="${STAGING_DIR_TARGET}"
@@ -58,14 +58,14 @@ do_install() {
 	autotools_do_install
 }
 
-do_install_append() {
+do_install:append() {
         install -d ${D}/${sysconfdir}/
         install -m 644 ${S}/mdadm.conf-example ${D}${sysconfdir}/mdadm.conf
         install -d ${D}/${sysconfdir}/init.d
         install -m 755 ${WORKDIR}/mdadm.init ${D}${sysconfdir}/init.d/mdmonitor
 }
 
-do_install_append() {
+do_install:append() {
         oe_runmake install-systemd DESTDIR=${D}
 }
 
@@ -93,8 +93,8 @@ do_install_ptest() {
 	done
 }
 
-RDEPENDS_${PN}-ptest += "bash e2fsprogs-mke2fs"
-RRECOMMENDS_${PN}-ptest += " \
+RDEPENDS:${PN}-ptest += "bash e2fsprogs-mke2fs"
+RRECOMMENDS:${PN}-ptest += " \
     coreutils \
     util-linux \
     kernel-module-loop \
@@ -105,4 +105,4 @@ RRECOMMENDS_${PN}-ptest += " \
     kernel-module-raid456 \
 "
 
-FILES_${PN} += "${systemd_unitdir}/*"
+FILES:${PN} += "${systemd_unitdir}/*"
diff --git a/meta/recipes-extended/mingetty/mingetty_1.08.bb b/meta/recipes-extended/mingetty/mingetty_1.08.bb
index 9822e86b0e1..27feaa8cde7 100644
--- a/meta/recipes-extended/mingetty/mingetty_1.08.bb
+++ b/meta/recipes-extended/mingetty/mingetty_1.08.bb
@@ -24,7 +24,7 @@ do_install(){
 
 inherit update-alternatives
 
-ALTERNATIVE_${PN} = "getty"
+ALTERNATIVE:${PN} = "getty"
 ALTERNATIVE_LINK_NAME[getty] = "${base_sbindir}/getty"
 ALTERNATIVE_TARGET[getty] = "${base_sbindir}/mingetty"
 ALTERNATIVE_PRIORITY = "10"
diff --git a/meta/recipes-extended/minicom/minicom_2.7.1.bb b/meta/recipes-extended/minicom/minicom_2.7.1.bb
index 12003ff49eb..4f715cbc714 100644
--- a/meta/recipes-extended/minicom/minicom_2.7.1.bb
+++ b/meta/recipes-extended/minicom/minicom_2.7.1.bb
@@ -28,6 +28,6 @@ do_install() {
 	for d in doc extras man lib src; do make -C $d DESTDIR=${D} install; done
 }
 
-RRECOMMENDS_${PN} += "lrzsz"
+RRECOMMENDS:${PN} += "lrzsz"
 
-RDEPENDS_${PN} += "ncurses-terminfo-base"
+RDEPENDS:${PN} += "ncurses-terminfo-base"
diff --git a/meta/recipes-extended/msmtp/msmtp_1.8.15.bb b/meta/recipes-extended/msmtp/msmtp_1.8.15.bb
index e85873e90f4..bb56a2e3472 100644
--- a/meta/recipes-extended/msmtp/msmtp_1.8.15.bb
+++ b/meta/recipes-extended/msmtp/msmtp_1.8.15.bb
@@ -17,9 +17,9 @@ inherit gettext autotools update-alternatives pkgconfig
 
 EXTRA_OECONF += "--without-libsecret --without-libgsasl --without-libidn"
 
-ALTERNATIVE_${PN} = "sendmail"
+ALTERNATIVE:${PN} = "sendmail"
 # /usr/lib/sendmial is required by LSB core test
-ALTERNATIVE_${PN}_linuxstdbase = "sendmail usr-lib-sendmail"
+ALTERNATIVE:${PN}:linuxstdbase = "sendmail usr-lib-sendmail"
 ALTERNATIVE_TARGET[sendmail] = "${bindir}/msmtp"
 ALTERNATIVE_LINK_NAME[sendmail] = "${sbindir}/sendmail"
 ALTERNATIVE_TARGET[usr-lib-sendmail] = "${bindir}/msmtp"
diff --git a/meta/recipes-extended/net-tools/net-tools_2.10.bb b/meta/recipes-extended/net-tools/net-tools_2.10.bb
index de4a7159714..00caccd4b80 100644
--- a/meta/recipes-extended/net-tools/net-tools_2.10.bb
+++ b/meta/recipes-extended/net-tools/net-tools_2.10.bb
@@ -90,8 +90,8 @@ base_bindir_progs  = "ifconfig netstat route \
     ${@bb.utils.contains('PACKAGECONFIG', 'hostname', 'dnsdomainname domainname hostname nisdomainname ypdomainname', '', d)} \
 "
 
-ALTERNATIVE_${PN} = "${base_sbindir_progs} ${base_bindir_progs}"
-ALTERNATIVE_${PN}-doc += "${@bb.utils.contains('PACKAGECONFIG', 'hostname', 'hostname.1 dnsdomainname.1', '', d)}"
+ALTERNATIVE:${PN} = "${base_sbindir_progs} ${base_bindir_progs}"
+ALTERNATIVE:${PN}-doc += "${@bb.utils.contains('PACKAGECONFIG', 'hostname', 'hostname.1 dnsdomainname.1', '', d)}"
 ALTERNATIVE_LINK_NAME[hostname.1] = "${mandir}/man1/hostname.1"
 ALTERNATIVE_LINK_NAME[dnsdomainname.1] = "${mandir}/man1/dnsdomainname.1"
 ALTERNATIVE_PRIORITY[hostname.1] = "10"
@@ -105,16 +105,16 @@ python __anonymous() {
 ALTERNATIVE_PRIORITY = "100"
 
 NETTOOLS_PACKAGES = "${PN}-mii-tool"
-NETTOOLS_PACKAGES_class-native = ""
+NETTOOLS_PACKAGES:class-native = ""
 
 PACKAGE_BEFORE_PN = "${NETTOOLS_PACKAGES}"
-RDEPENDS_${PN} += "${NETTOOLS_PACKAGES}"
+RDEPENDS:${PN} += "${NETTOOLS_PACKAGES}"
 
-FILES_${PN}-mii-tool = "${base_sbindir}/mii-tool"
+FILES:${PN}-mii-tool = "${base_sbindir}/mii-tool"
 
-ALTERNATIVE_${PN}_remove = "mii-tool"
+ALTERNATIVE:${PN}:remove = "mii-tool"
 
-ALTERNATIVE_${PN}-mii-tool = "mii-tool"
+ALTERNATIVE:${PN}-mii-tool = "mii-tool"
 ALTERNATIVE_TARGET[mii-tool] = "${base_sbindir}/mii-tool"
 ALTERNATIVE_LINK_NAME[mii-tool] = "${base_sbindir}/mii-tool"
 
diff --git a/meta/recipes-extended/newt/libnewt_0.52.21.bb b/meta/recipes-extended/newt/libnewt_0.52.21.bb
index 88b4cf4a03e..84d327ca889 100644
--- a/meta/recipes-extended/newt/libnewt_0.52.21.bb
+++ b/meta/recipes-extended/newt/libnewt_0.52.21.bb
@@ -39,20 +39,20 @@ CLEANBROKEN = "1"
 
 export CPPFLAGS
 
-PACKAGES_prepend = "whiptail ${PN}-python "
+PACKAGES:prepend = "whiptail ${PN}-python "
 
-RDEPENDS_${PN}-python += "python3-core"
-FILES_${PN}-python = "${PYTHON_SITEPACKAGES_DIR}/*"
+RDEPENDS:${PN}-python += "python3-core"
+FILES:${PN}-python = "${PYTHON_SITEPACKAGES_DIR}/*"
 
-do_configure_prepend() {
+do_configure:prepend() {
     sh autogen.sh
 }
 
-do_compile_prepend() {
+do_compile:prepend() {
     # Make sure the recompile is OK
     rm -f ${B}/.depend
 }
 
-FILES_whiptail = "${bindir}/whiptail"
+FILES:whiptail = "${bindir}/whiptail"
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-extended/packagegroups/packagegroup-core-base-utils.bb b/meta/recipes-extended/packagegroups/packagegroup-core-base-utils.bb
index 1e63da7f166..b17cba4a789 100644
--- a/meta/recipes-extended/packagegroups/packagegroup-core-base-utils.bb
+++ b/meta/recipes-extended/packagegroups/packagegroup-core-base-utils.bb
@@ -13,7 +13,7 @@ VIRTUAL-RUNTIME_vim ?= "vim-tiny"
 
 PACKAGE_ARCH = "${MACHINE_ARCH}"
 
-RDEPENDS_${PN} = "\
+RDEPENDS:${PN} = "\
     base-passwd \
     bash \
     bind-utils \
diff --git a/meta/recipes-extended/packagegroups/packagegroup-core-full-cmdline.bb b/meta/recipes-extended/packagegroups/packagegroup-core-full-cmdline.bb
index 16c2f9f2aa9..14a7bded953 100644
--- a/meta/recipes-extended/packagegroups/packagegroup-core-full-cmdline.bb
+++ b/meta/recipes-extended/packagegroups/packagegroup-core-full-cmdline.bb
@@ -49,13 +49,13 @@ python __anonymous () {
         if mapped:
             oldtaskname = mapped.replace("packagegroup-core", "task-core")
             mapstr = " %s%s %s%s" % (mlprefix, mapped, mlprefix, oldtaskname)
-            d.appendVar("RPROVIDES_%s" % pkg, mapstr)
-            d.appendVar("RREPLACES_%s" % pkg, mapstr)
-            d.appendVar("RCONFLICTS_%s" % pkg, mapstr)
+            d.appendVar("RPROVIDES:%s" % pkg, mapstr)
+            d.appendVar("RREPLACES:%s" % pkg, mapstr)
+            d.appendVar("RCONFLICTS:%s" % pkg, mapstr)
 }
 
 
-RDEPENDS_packagegroup-core-full-cmdline = "\
+RDEPENDS:packagegroup-core-full-cmdline = "\
     packagegroup-core-full-cmdline-libs \
     packagegroup-core-full-cmdline-utils \
     packagegroup-core-full-cmdline-extended \
@@ -65,11 +65,11 @@ RDEPENDS_packagegroup-core-full-cmdline = "\
     packagegroup-core-full-cmdline-sys-services \
     "
 
-RDEPENDS_packagegroup-core-full-cmdline-libs = "\
+RDEPENDS:packagegroup-core-full-cmdline-libs = "\
     glib-2.0 \
     "
 
-RDEPENDS_packagegroup-core-full-cmdline-utils = "\
+RDEPENDS:packagegroup-core-full-cmdline-utils = "\
     bash \
     acl \
     attr \
@@ -99,7 +99,7 @@ RDEPENDS_packagegroup-core-full-cmdline-utils = "\
     util-linux \
     "
 
-RDEPENDS_packagegroup-core-full-cmdline-extended = "\
+RDEPENDS:packagegroup-core-full-cmdline-extended = "\
     iproute2 \
     iputils \
     iptables \
@@ -107,7 +107,7 @@ RDEPENDS_packagegroup-core-full-cmdline-extended = "\
     openssl \
     "
 
-RDEPENDS_packagegroup-core-full-cmdline-dev-utils = "\
+RDEPENDS:packagegroup-core-full-cmdline-dev-utils = "\
     diffutils \
     m4 \
     make \
@@ -115,7 +115,7 @@ RDEPENDS_packagegroup-core-full-cmdline-dev-utils = "\
     "
 
 VIRTUAL-RUNTIME_syslog ?= "sysklogd"
-RDEPENDS_packagegroup-core-full-cmdline-initscripts = "\
+RDEPENDS:packagegroup-core-full-cmdline-initscripts = "\
     ${VIRTUAL-RUNTIME_initscripts} \
     ${VIRTUAL-RUNTIME_init_manager} \
     ethtool \
@@ -123,7 +123,7 @@ RDEPENDS_packagegroup-core-full-cmdline-initscripts = "\
     ${VIRTUAL-RUNTIME_syslog} \
     "
 
-RDEPENDS_packagegroup-core-full-cmdline-multiuser = "\
+RDEPENDS:packagegroup-core-full-cmdline-multiuser = "\
     bzip2 \
     cracklib \
     gzip \
@@ -131,7 +131,7 @@ RDEPENDS_packagegroup-core-full-cmdline-multiuser = "\
     sudo \
     "
 
-RDEPENDS_packagegroup-core-full-cmdline-sys-services = "\
+RDEPENDS:packagegroup-core-full-cmdline-sys-services = "\
     at \
     cronie \
     logrotate \
diff --git a/meta/recipes-extended/pam/libpam_1.5.1.bb b/meta/recipes-extended/pam/libpam_1.5.1.bb
index f0c8caaac27..a349d8ac96a 100644
--- a/meta/recipes-extended/pam/libpam_1.5.1.bb
+++ b/meta/recipes-extended/pam/libpam_1.5.1.bb
@@ -38,7 +38,7 @@ EXTRA_OECONF = "--includedir=${includedir}/security \
                 --disable-doc \
 		--disable-prelude"
 
-CFLAGS_append = " -fPIC "
+CFLAGS:append = " -fPIC "
 
 S = "${WORKDIR}/Linux-PAM-${PV}"
 
@@ -49,10 +49,10 @@ PACKAGECONFIG[audit] = "--enable-audit,--disable-audit,audit,"
 PACKAGECONFIG[userdb] = "--enable-db=db,--enable-db=no,db,"
 
 PACKAGES += "${PN}-runtime ${PN}-xtests"
-FILES_${PN} = "${base_libdir}/lib*${SOLIBS}"
-FILES_${PN}-dev += "${base_libdir}/security/*.la ${base_libdir}/*.la ${base_libdir}/lib*${SOLIBSDEV}"
-FILES_${PN}-runtime = "${sysconfdir} ${sbindir} ${systemd_system_unitdir}"
-FILES_${PN}-xtests = "${datadir}/Linux-PAM/xtests"
+FILES:${PN} = "${base_libdir}/lib*${SOLIBS}"
+FILES:${PN}-dev += "${base_libdir}/security/*.la ${base_libdir}/*.la ${base_libdir}/lib*${SOLIBSDEV}"
+FILES:${PN}-runtime = "${sysconfdir} ${sbindir} ${systemd_system_unitdir}"
+FILES:${PN}-xtests = "${datadir}/Linux-PAM/xtests"
 
 PACKAGES_DYNAMIC += "^${MLPREFIX}pam-plugin-.*"
 
@@ -62,16 +62,16 @@ def get_multilib_bit(d):
 
 libpam_suffix = "suffix${@get_multilib_bit(d)}"
 
-RPROVIDES_${PN} += "${PN}-${libpam_suffix}"
-RPROVIDES_${PN}-runtime += "${PN}-runtime-${libpam_suffix}"
+RPROVIDES:${PN} += "${PN}-${libpam_suffix}"
+RPROVIDES:${PN}-runtime += "${PN}-runtime-${libpam_suffix}"
 
-RDEPENDS_${PN}-runtime = "${PN}-${libpam_suffix} \
+RDEPENDS:${PN}-runtime = "${PN}-${libpam_suffix} \
     ${MLPREFIX}pam-plugin-deny-${libpam_suffix} \
     ${MLPREFIX}pam-plugin-permit-${libpam_suffix} \
     ${MLPREFIX}pam-plugin-warn-${libpam_suffix} \
     ${MLPREFIX}pam-plugin-unix-${libpam_suffix} \
     "
-RDEPENDS_${PN}-xtests = "${PN}-${libpam_suffix} \
+RDEPENDS:${PN}-xtests = "${PN}-${libpam_suffix} \
     ${MLPREFIX}pam-plugin-access-${libpam_suffix} \
     ${MLPREFIX}pam-plugin-debug-${libpam_suffix} \
     ${MLPREFIX}pam-plugin-pwhistory-${libpam_suffix} \
@@ -80,27 +80,27 @@ RDEPENDS_${PN}-xtests = "${PN}-${libpam_suffix} \
     bash coreutils"
 
 # FIXME: Native suffix breaks here, disable it for now
-RRECOMMENDS_${PN} = "${PN}-runtime-${libpam_suffix}"
-RRECOMMENDS_${PN}_class-native = ""
+RRECOMMENDS:${PN} = "${PN}-runtime-${libpam_suffix}"
+RRECOMMENDS:${PN}:class-native = ""
 
-python populate_packages_prepend () {
+python populate_packages:prepend () {
     def pam_plugin_hook(file, pkg, pattern, format, basename):
         pn = d.getVar('PN')
         libpam_suffix = d.getVar('libpam_suffix')
 
-        rdeps = d.getVar('RDEPENDS_' + pkg)
+        rdeps = d.getVar('RDEPENDS:' + pkg)
         if rdeps:
             rdeps = rdeps + " " + pn + "-" + libpam_suffix
         else:
             rdeps = pn + "-" + libpam_suffix
-        d.setVar('RDEPENDS_' + pkg, rdeps)
+        d.setVar('RDEPENDS:' + pkg, rdeps)
 
-        provides = d.getVar('RPROVIDES_' + pkg)
+        provides = d.getVar('RPROVIDES:' + pkg)
         if provides:
             provides = provides + " " + pkg + "-" + libpam_suffix
         else:
             provides = pkg + "-" + libpam_suffix
-        d.setVar('RPROVIDES_' + pkg, provides)
+        d.setVar('RPROVIDES:' + pkg, provides)
 
     mlprefix = d.getVar('MLPREFIX') or ''
     dvar = d.expand('${WORKDIR}/package')
@@ -158,7 +158,7 @@ do_install_ptest() {
     fi
 }
 
-pkg_postinst_${PN}() {
+pkg_postinst:${PN}() {
          if [ -z "$D" ] && [ -e /etc/init.d/populate-volatile.sh ] ; then
                  /etc/init.d/populate-volatile.sh update
          fi
@@ -169,12 +169,12 @@ REQUIRED_DISTRO_FEATURES = "pam"
 
 BBCLASSEXTEND = "nativesdk native"
 
-CONFFILES_${PN}-runtime += "${sysconfdir}/pam.d/common-session"
-CONFFILES_${PN}-runtime += "${sysconfdir}/pam.d/common-auth"
-CONFFILES_${PN}-runtime += "${sysconfdir}/pam.d/common-password"
-CONFFILES_${PN}-runtime += "${sysconfdir}/pam.d/common-session-noninteractive"
-CONFFILES_${PN}-runtime += "${sysconfdir}/pam.d/common-account"
-CONFFILES_${PN}-runtime += "${sysconfdir}/security/limits.conf"
+CONFFILES:${PN}-runtime += "${sysconfdir}/pam.d/common-session"
+CONFFILES:${PN}-runtime += "${sysconfdir}/pam.d/common-auth"
+CONFFILES:${PN}-runtime += "${sysconfdir}/pam.d/common-password"
+CONFFILES:${PN}-runtime += "${sysconfdir}/pam.d/common-session-noninteractive"
+CONFFILES:${PN}-runtime += "${sysconfdir}/pam.d/common-account"
+CONFFILES:${PN}-runtime += "${sysconfdir}/security/limits.conf"
 
 UPSTREAM_CHECK_URI = "https://github.com/linux-pam/linux-pam/releases"
 
diff --git a/meta/recipes-extended/parted/parted_3.4.bb b/meta/recipes-extended/parted/parted_3.4.bb
index d9b3ffb8522..8924bdb478c 100644
--- a/meta/recipes-extended/parted/parted_3.4.bb
+++ b/meta/recipes-extended/parted/parted_3.4.bb
@@ -49,9 +49,9 @@ do_install_ptest() {
 	sed -e 's| ../parted||' -i $t/tests/*.sh
 }
 
-RDEPENDS_${PN}-ptest = "bash coreutils perl util-linux-losetup util-linux-mkswap python3 make gawk e2fsprogs-mke2fs e2fsprogs-tune2fs python3-core dosfstools"
-RRECOMMENDS_${PN}-ptest += "kernel-module-scsi-debug kernel-module-loop kernel-module-vfat"
-RDEPENDS_${PN}-ptest_append_libc-glibc = "\
+RDEPENDS:${PN}-ptest = "bash coreutils perl util-linux-losetup util-linux-mkswap python3 make gawk e2fsprogs-mke2fs e2fsprogs-tune2fs python3-core dosfstools"
+RRECOMMENDS:${PN}-ptest += "kernel-module-scsi-debug kernel-module-loop kernel-module-vfat"
+RDEPENDS:${PN}-ptest:append:libc-glibc = "\
         glibc-utils \
         locale-base-en-us \
         "
@@ -59,5 +59,5 @@ RDEPENDS_${PN}-ptest_append_libc-glibc = "\
 inherit update-alternatives
 
 ALTERNATIVE_PRIORITY = "100"
-ALTERNATIVE_${PN} = "partprobe"
+ALTERNATIVE:${PN} = "partprobe"
 ALTERNATIVE_LINK_NAME[partprobe] = "${sbindir}/partprobe"
diff --git a/meta/recipes-extended/pbzip2/pbzip2_1.1.13.bb b/meta/recipes-extended/pbzip2/pbzip2_1.1.13.bb
index ed21d811798..3fa89dec9a6 100644
--- a/meta/recipes-extended/pbzip2/pbzip2_1.1.13.bb
+++ b/meta/recipes-extended/pbzip2/pbzip2_1.1.13.bb
@@ -9,7 +9,7 @@ LICENSE = "bzip2-1.0.6"
 LIC_FILES_CHKSUM = "file://COPYING;md5=398b8832c6f840cfebd20ab2be6a3743"
 
 DEPENDS = "bzip2"
-DEPENDS_append_class-native = " bzip2-replacement-native"
+DEPENDS:append:class-native = " bzip2-replacement-native"
 
 SRC_URI = "https://launchpad.net/${BPN}/1.1/${PV}/+download/${BP}.tar.gz \
            file://0001-pbzip2-Fix-invalid-suffix-on-literal-C-11-warning.patch \
diff --git a/meta/recipes-extended/perl/libconvert-asn1-perl_0.27.bb b/meta/recipes-extended/perl/libconvert-asn1-perl_0.27.bb
index 409a8f3896d..cdc43b5fb9b 100644
--- a/meta/recipes-extended/perl/libconvert-asn1-perl_0.27.bb
+++ b/meta/recipes-extended/perl/libconvert-asn1-perl_0.27.bb
@@ -16,7 +16,7 @@ inherit cpan ptest-perl
 
 EXTRA_PERLFLAGS = "-I ${PERLHOSTLIB}"
 
-RDEPENDS_${PN} += "perl-module-exporter perl-module-constant perl-module-encode perl-module-encode-encoding perl-module-utf8 perl-module-socket perl-module-time-local perl-module-posix"
-RDEPENDS_${PN}-ptest += "perl-module-math-bigint perl-module-io-socket perl-module-data-dumper perl-module-math-bigint-calc"
+RDEPENDS:${PN} += "perl-module-exporter perl-module-constant perl-module-encode perl-module-encode-encoding perl-module-utf8 perl-module-socket perl-module-time-local perl-module-posix"
+RDEPENDS:${PN}-ptest += "perl-module-math-bigint perl-module-io-socket perl-module-data-dumper perl-module-math-bigint-calc"
 
 BBCLASSEXTEND = "native"
diff --git a/meta/recipes-extended/perl/libtimedate-perl_2.30.bb b/meta/recipes-extended/perl/libtimedate-perl_2.30.bb
index 46843bfc8a8..7c5e99063c8 100644
--- a/meta/recipes-extended/perl/libtimedate-perl_2.30.bb
+++ b/meta/recipes-extended/perl/libtimedate-perl_2.30.bb
@@ -14,8 +14,8 @@ inherit cpan ptest-perl
 
 BBCLASSEXTEND = "native"
 
-RDEPENDS_${PN} += "perl-module-carp perl-module-exporter perl-module-strict perl-module-time-local"
-RDEPENDS_${PN}-ptest += "perl-module-test-more perl-module-utf8"
+RDEPENDS:${PN} += "perl-module-carp perl-module-exporter perl-module-strict perl-module-time-local"
+RDEPENDS:${PN}-ptest += "perl-module-test-more perl-module-utf8"
 
 SRC_URI[md5sum] = "b1d91153ac971347aee84292ed886c1c"
 SRC_URI[sha256sum] = "75bd254871cb5853a6aa0403ac0be270cdd75c9d1b6639f18ecba63c15298e86"
diff --git a/meta/recipes-extended/perl/libxml-namespacesupport-perl_1.12.bb b/meta/recipes-extended/perl/libxml-namespacesupport-perl_1.12.bb
index 57c407e0f8c..03bf0b6ff8b 100644
--- a/meta/recipes-extended/perl/libxml-namespacesupport-perl_1.12.bb
+++ b/meta/recipes-extended/perl/libxml-namespacesupport-perl_1.12.bb
@@ -21,7 +21,7 @@ S = "${WORKDIR}/${SRCNAME}-${PV}"
 
 inherit cpan ptest-perl
 
-RDEPENDS_${PN}-ptest += "perl-module-test-more"
+RDEPENDS:${PN}-ptest += "perl-module-test-more"
 
 BBCLASSEXTEND="native nativesdk"
 
diff --git a/meta/recipes-extended/perl/libxml-sax-base-perl_1.09.bb b/meta/recipes-extended/perl/libxml-sax-base-perl_1.09.bb
index 2bff65a082d..790ff515586 100644
--- a/meta/recipes-extended/perl/libxml-sax-base-perl_1.09.bb
+++ b/meta/recipes-extended/perl/libxml-sax-base-perl_1.09.bb
@@ -8,7 +8,7 @@ implement the characters() callback."
 
 SECTION = "libs"
 LICENSE = "Artistic-1.0 | GPL-1.0+"
-RDEPENDS_${PN} += "perl-module-extutils-makemaker"
+RDEPENDS:${PN} += "perl-module-extutils-makemaker"
 
 LIC_FILES_CHKSUM = "file://dist.ini;endline=5;md5=8f9c9a55340aefaee6e9704c88466446"
 
@@ -21,6 +21,6 @@ S = "${WORKDIR}/XML-SAX-Base-${PV}"
 
 inherit cpan ptest-perl
 
-RDEPENDS_${PN}-ptest += "perl-module-test perl-module-test-more"
+RDEPENDS:${PN}-ptest += "perl-module-test perl-module-test-more"
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-extended/perl/libxml-sax-perl_1.02.bb b/meta/recipes-extended/perl/libxml-sax-perl_1.02.bb
index 02ee34ee17e..9aa6fd050df 100644
--- a/meta/recipes-extended/perl/libxml-sax-perl_1.02.bb
+++ b/meta/recipes-extended/perl/libxml-sax-perl_1.02.bb
@@ -11,7 +11,7 @@ javaness."
 SECTION = "libs"
 LICENSE = "Artistic-1.0 | GPL-1.0+"
 DEPENDS += "libxml-namespacesupport-perl-native"
-RDEPENDS_${PN} += "libxml-namespacesupport-perl libxml-sax-base-perl perl-module-file-temp"
+RDEPENDS:${PN} += "libxml-namespacesupport-perl libxml-sax-base-perl perl-module-file-temp"
 
 LIC_FILES_CHKSUM = "file://LICENSE;md5=65c4cd8f39c24c7135ed70dacbcb09e3"
 
@@ -29,9 +29,9 @@ do_install_ptest() {
 	chown -R root:root ${D}${PTEST_PATH}/testfiles
 }
 
-RDEPENDS_${PN} += "perl-module-encode perl-module-perlio"
+RDEPENDS:${PN} += "perl-module-encode perl-module-perlio"
 
-RDEPENDS_${PN}-ptest += " \
+RDEPENDS:${PN}-ptest += " \
     perl-module-base  \
     perl-module-encode-byte \
     perl-module-encode-unicode \
diff --git a/meta/recipes-extended/pigz/pigz_2.6.bb b/meta/recipes-extended/pigz/pigz_2.6.bb
index 05be9b733fe..3566e18b7e7 100644
--- a/meta/recipes-extended/pigz/pigz_2.6.bb
+++ b/meta/recipes-extended/pigz/pigz_2.6.bb
@@ -10,7 +10,7 @@ LIC_FILES_CHKSUM = "file://pigz.c;md5=9ae6dee8ceba9610596ed0ada493d142;beginline
 
 SRC_URI = "http://zlib.net/${BPN}/fossils/${BP}.tar.gz"
 SRC_URI[sha256sum] = "2eed7b0d7449d1d70903f2a62cd6005d262eb3a8c9e98687bc8cbb5809db2a7d"
-PROVIDES_class-native += "gzip-native"
+PROVIDES:class-native += "gzip-native"
 
 # Point this at the homepage in case /fossils/ isn't updated
 UPSTREAM_CHECK_URI = "http://zlib.net/${BPN}/"
@@ -30,7 +30,7 @@ do_install() {
 	ln -nsf pigz ${D}${base_bindir}/pigzcat
 }
 
-do_install_append_class-native() {
+do_install:append:class-native() {
 	install -d ${D}${bindir}
 	install ${B}/pigz ${D}${bindir}/gzip
 	ln -nsf gzip ${D}${bindir}/gunzip
@@ -38,8 +38,8 @@ do_install_append_class-native() {
 }
 
 ALTERNATIVE_PRIORITY = "110"
-ALTERNATIVE_${PN} = "gunzip gzip zcat"
-ALTERNATIVE_${PN}_class-nativesdk = ""
+ALTERNATIVE:${PN} = "gunzip gzip zcat"
+ALTERNATIVE:${PN}:class-nativesdk = ""
 ALTERNATIVE_LINK_NAME[gunzip] = "${base_bindir}/gunzip"
 ALTERNATIVE_LINK_NAME[gzip] = "${base_bindir}/gzip"
 ALTERNATIVE_LINK_NAME[zcat] = "${base_bindir}/zcat"
diff --git a/meta/recipes-extended/procps/procps_3.3.17.bb b/meta/recipes-extended/procps/procps_3.3.17.bb
index c74a901d9ae..64a2d154b6a 100644
--- a/meta/recipes-extended/procps/procps_3.3.17.bb
+++ b/meta/recipes-extended/procps/procps_3.3.17.bb
@@ -24,7 +24,7 @@ S = "${WORKDIR}/git"
 # Upstream has a custom autogen.sh which invokes po/update-potfiles as they
 # don't ship a po/POTFILES.in (which is silly).  Without that file gettext
 # doesn't believe po/ is a gettext directory and won't generate po/Makefile.
-do_configure_prepend() {
+do_configure:prepend() {
     ( cd ${S} && po/update-potfiles )
 }
 
@@ -33,7 +33,7 @@ EXTRA_OECONF = "--enable-skill --disable-modern-top"
 PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
 PACKAGECONFIG[systemd] = "--with-systemd,--without-systemd,systemd"
 
-do_install_append () {
+do_install:append () {
 	install -d ${D}${base_bindir}
 	[ "${bindir}" != "${base_bindir}" ] && for i in ${base_bindir_progs}; do mv ${D}${bindir}/$i ${D}${base_bindir}/$i; done
 	install -d ${D}${base_sbindir}
@@ -50,7 +50,7 @@ do_install_append () {
         fi
 }
 
-CONFFILES_${PN} = "${sysconfdir}/sysctl.conf"
+CONFFILES:${PN} = "${sysconfdir}/sysctl.conf"
 
 bindir_progs = "free pkill pmap pgrep pwdx skill snice top uptime w"
 base_bindir_progs += "kill pidof ps watch"
@@ -59,9 +59,9 @@ base_sbindir_progs += "sysctl"
 ALTERNATIVE_PRIORITY = "200"
 ALTERNATIVE_PRIORITY[pidof] = "150"
 
-ALTERNATIVE_${PN} = "${bindir_progs} ${base_bindir_progs} ${base_sbindir_progs}"
+ALTERNATIVE:${PN} = "${bindir_progs} ${base_bindir_progs} ${base_sbindir_progs}"
 
-ALTERNATIVE_${PN}-doc = "kill.1 uptime.1"
+ALTERNATIVE:${PN}-doc = "kill.1 uptime.1"
 ALTERNATIVE_LINK_NAME[kill.1] = "${mandir}/man1/kill.1"
 ALTERNATIVE_LINK_NAME[uptime.1] = "${mandir}/man1/uptime.1"
 
@@ -82,22 +82,22 @@ PROCPS_PACKAGES = "${PN}-lib \
                    ${PN}-sysctl"
 
 PACKAGE_BEFORE_PN = "${PROCPS_PACKAGES}"
-RDEPENDS_${PN} += "${PROCPS_PACKAGES}"
+RDEPENDS:${PN} += "${PROCPS_PACKAGES}"
 
-RDEPENDS_${PN}-ps += "${PN}-lib"
-RDEPENDS_${PN}-sysctl += "${PN}-lib"
+RDEPENDS:${PN}-ps += "${PN}-lib"
+RDEPENDS:${PN}-sysctl += "${PN}-lib"
 
-FILES_${PN}-lib = "${libdir}"
-FILES_${PN}-ps = "${base_bindir}/ps.${BPN}"
-FILES_${PN}-sysctl = "${base_sbindir}/sysctl.${BPN} ${sysconfdir}/sysctl.conf ${sysconfdir}/sysctl.d"
+FILES:${PN}-lib = "${libdir}"
+FILES:${PN}-ps = "${base_bindir}/ps.${BPN}"
+FILES:${PN}-sysctl = "${base_sbindir}/sysctl.${BPN} ${sysconfdir}/sysctl.conf ${sysconfdir}/sysctl.d"
 
-ALTERNATIVE_${PN}_remove = "ps"
-ALTERNATIVE_${PN}_remove = "sysctl"
+ALTERNATIVE:${PN}:remove = "ps"
+ALTERNATIVE:${PN}:remove = "sysctl"
 
-ALTERNATIVE_${PN}-ps = "ps"
+ALTERNATIVE:${PN}-ps = "ps"
 ALTERNATIVE_TARGET[ps] = "${base_bindir}/ps"
 ALTERNATIVE_LINK_NAME[ps] = "${base_bindir}/ps"
 
-ALTERNATIVE_${PN}-sysctl = "sysctl"
+ALTERNATIVE:${PN}-sysctl = "sysctl"
 ALTERNATIVE_TARGET[sysctl] = "${base_sbindir}/sysctl"
 ALTERNATIVE_LINK_NAME[sysctl] = "${base_sbindir}/sysctl"
\ No newline at end of file
diff --git a/meta/recipes-extended/psmisc/psmisc.inc b/meta/recipes-extended/psmisc/psmisc.inc
index 6ab1288152b..ad6263ed948 100644
--- a/meta/recipes-extended/psmisc/psmisc.inc
+++ b/meta/recipes-extended/psmisc/psmisc.inc
@@ -19,7 +19,7 @@ inherit autotools gettext
 # Upstream has a custom autogen.sh which invokes po/update-potfiles as they 
 # don't ship a po/POTFILES.in (which is silly).  Without that file gettext 
 # doesn't believe po/ is a gettext directory and won't generate po/Makefile.
-do_configure_prepend() {
+do_configure:prepend() {
     ( cd ${S} && po/update-potfiles )
 }
 
@@ -27,30 +27,30 @@ do_configure_prepend() {
 PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
 PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
 
-ALLOW_EMPTY_${PN} = "1"
+ALLOW_EMPTY:${PN} = "1"
 
 PACKAGES =+ "fuser fuser-doc killall killall-doc pstree pstree-doc"
 PACKAGES += "psmisc-extras"
 
-FILES_${PN} = ""
-RDEPENDS_${PN} = "fuser killall pstree"
+FILES:${PN} = ""
+RDEPENDS:${PN} = "fuser killall pstree"
 
-FILES_fuser = "${bindir}/fuser.${BPN}"
-FILES_fuser-doc = "${mandir}/man1/fuser*"
+FILES:fuser = "${bindir}/fuser.${BPN}"
+FILES:fuser-doc = "${mandir}/man1/fuser*"
 
-FILES_killall = "${bindir}/killall.${BPN}"
-FILES_killall-doc = "${mandir}/man1/killall*"
+FILES:killall = "${bindir}/killall.${BPN}"
+FILES:killall-doc = "${mandir}/man1/killall*"
 
-FILES_pstree = "${bindir}/pstree"
-FILES_pstree-doc = "${mandir}/man1/pstree*"
+FILES:pstree = "${bindir}/pstree"
+FILES:pstree-doc = "${mandir}/man1/pstree*"
 
-FILES_psmisc-extras = "${bindir}"
-FILES_psmisc-extras-doc = "${mandir}"
+FILES:psmisc-extras = "${bindir}"
+FILES:psmisc-extras-doc = "${mandir}"
 
 inherit update-alternatives
 
 ALTERNATIVE_PRIORITY = "90"
 
-ALTERNATIVE_killall = "killall"
+ALTERNATIVE:killall = "killall"
 
-ALTERNATIVE_fuser = "fuser"
+ALTERNATIVE:fuser = "fuser"
diff --git a/meta/recipes-extended/quota/quota_4.06.bb b/meta/recipes-extended/quota/quota_4.06.bb
index 027b0811f7b..5115cb389ae 100644
--- a/meta/recipes-extended/quota/quota_4.06.bb
+++ b/meta/recipes-extended/quota/quota_4.06.bb
@@ -27,7 +27,7 @@ LDFLAGS += "${@bb.utils.contains('PACKAGECONFIG', 'rpc', '-ltirpc', '', d)}"
 ASNEEDED = ""
 
 PACKAGECONFIG ??= "tcp-wrappers rpc bsd"
-PACKAGECONFIG_libc-musl = "tcp-wrappers rpc"
+PACKAGECONFIG:libc-musl = "tcp-wrappers rpc"
 
 PACKAGECONFIG[tcp-wrappers] = "--enable-libwrap,--disable-libwrap,tcp-wrappers"
 PACKAGECONFIG[rpc] = "--enable-rpc,--disable-rpc,libtirpc"
diff --git a/meta/recipes-extended/rpcbind/rpcbind_1.2.6.bb b/meta/recipes-extended/rpcbind/rpcbind_1.2.6.bb
index b02638b2ceb..e58214d55a5 100644
--- a/meta/recipes-extended/rpcbind/rpcbind_1.2.6.bb
+++ b/meta/recipes-extended/rpcbind/rpcbind_1.2.6.bb
@@ -26,12 +26,12 @@ PACKAGECONFIG[tcp-wrappers] = "--enable-libwrap,--disable-libwrap,tcp-wrappers"
 INITSCRIPT_NAME = "rpcbind"
 INITSCRIPT_PARAMS = "start 12 2 3 4 5 . stop 60 0 1 6 ."
 
-SYSTEMD_SERVICE_${PN} = "rpcbind.service rpcbind.socket"
+SYSTEMD_SERVICE:${PN} = "rpcbind.service rpcbind.socket"
 
 inherit useradd
 
 USERADD_PACKAGES = "${PN}"
-USERADD_PARAM_${PN} = "--system --no-create-home --home-dir / \
+USERADD_PARAM:${PN} = "--system --no-create-home --home-dir / \
                        --shell /bin/false --user-group rpc"
 
 PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
@@ -42,7 +42,7 @@ PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/
 
 EXTRA_OECONF += " --enable-warmstarts --with-rpcuser=rpc"
 
-do_install_append () {
+do_install:append () {
 	install -d ${D}${sysconfdir}/init.d
 	sed -e 's,/etc/,${sysconfdir}/,g' \
 		-e 's,/sbin/,${sbindir}/,g' \
@@ -50,5 +50,5 @@ do_install_append () {
 	chmod 0755 ${D}${sysconfdir}/init.d/rpcbind
 }
 
-ALTERNATIVE_${PN} = "rpcinfo"
+ALTERNATIVE:${PN} = "rpcinfo"
 ALTERNATIVE_LINK_NAME[rpcinfo] = "${bindir}/rpcinfo"
diff --git a/meta/recipes-extended/rpcsvc-proto/rpcsvc-proto.bb b/meta/recipes-extended/rpcsvc-proto/rpcsvc-proto.bb
index 5aff2b56a6c..678632a8142 100644
--- a/meta/recipes-extended/rpcsvc-proto/rpcsvc-proto.bb
+++ b/meta/recipes-extended/rpcsvc-proto/rpcsvc-proto.bb
@@ -27,13 +27,13 @@ S = "${WORKDIR}/git"
 
 inherit autotools gettext
 
-EXTRA_OEMAKE_class-native = " -C rpcgen"
+EXTRA_OEMAKE:class-native = " -C rpcgen"
 
-do_configure_prepend() {
+do_configure:prepend() {
 	touch ${S}/ABOUT-NLS
 }
 
-do_install_append() {
+do_install:append() {
 	# They come from quota recipe
 	rm -rf ${D}${includedir}/rpcsvc/rquota.[hx]
 }
diff --git a/meta/recipes-extended/screen/screen_4.8.0.bb b/meta/recipes-extended/screen/screen_4.8.0.bb
index fe640c262bd..6d307d5abcd 100644
--- a/meta/recipes-extended/screen/screen_4.8.0.bb
+++ b/meta/recipes-extended/screen/screen_4.8.0.bb
@@ -14,7 +14,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
 
 DEPENDS = "ncurses virtual/crypt \
           ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
-RDEPENDS_${PN} = "base-files"
+RDEPENDS:${PN} = "base-files"
 
 SRC_URI = "${GNU_MIRROR}/screen/screen-${PV}.tar.gz \
            ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'file://screen.pam', '', d)} \
@@ -35,17 +35,17 @@ PACKAGECONFIG[utempter] = "ac_cv_header_utempter_h=yes,ac_cv_header_utempter_h=n
 EXTRA_OECONF = "--with-pty-mode=0620 --with-pty-group=5 --with-sys-screenrc=${sysconfdir}/screenrc \
                ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '--enable-pam', '--disable-pam', d)}"
 
-do_install_append () {
+do_install:append () {
 	install -D -m 644 ${S}/etc/etcscreenrc ${D}/${sysconfdir}/screenrc
 	if [ "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" ]; then
 		install -D -m 644 ${WORKDIR}/screen.pam ${D}/${sysconfdir}/pam.d/screen
 	fi
 }
 
-pkg_postinst_${PN} () {
+pkg_postinst:${PN} () {
 	grep -q "^${bindir}/screen$" $D${sysconfdir}/shells || echo ${bindir}/screen >> $D${sysconfdir}/shells
 }
 
-pkg_postrm_${PN} () {
+pkg_postrm:${PN} () {
 	printf "$(grep -v "^${bindir}/screen$" $D${sysconfdir}/shells)\n" > $D${sysconfdir}/shells
 }
diff --git a/meta/recipes-extended/sed/sed_4.8.bb b/meta/recipes-extended/sed/sed_4.8.bb
index 57a769e8c9f..1f68214ae44 100644
--- a/meta/recipes-extended/sed/sed_4.8.bb
+++ b/meta/recipes-extended/sed/sed_4.8.bb
@@ -18,8 +18,8 @@ inherit autotools texinfo update-alternatives gettext ptest
 
 PACKAGECONFIG[selinux] = "--with-selinux,--without-selinux,libselinux"
 
-RDEPENDS_${PN}-ptest += "make gawk perl perl-module-filehandle perl-module-file-compare perl-module-file-find perl-module-file-temp perl-module-file-stat"
-RRECOMMENDS_${PN}-ptest_append_libc-glibc = " locale-base-ru-ru locale-base-en-us locale-base-el-gr.iso-8859-7"
+RDEPENDS:${PN}-ptest += "make gawk perl perl-module-filehandle perl-module-file-compare perl-module-file-find perl-module-file-temp perl-module-file-stat"
+RRECOMMENDS:${PN}-ptest:append:libc-glibc = " locale-base-ru-ru locale-base-en-us locale-base-el-gr.iso-8859-7"
 
 EXTRA_OECONF = "--disable-acl \
                "
@@ -33,7 +33,7 @@ do_install () {
 	fi
 }
 
-ALTERNATIVE_${PN} = "sed"
+ALTERNATIVE:${PN} = "sed"
 ALTERNATIVE_LINK_NAME[sed] = "${base_bindir}/sed"
 ALTERNATIVE_PRIORITY = "100"
 
@@ -63,6 +63,6 @@ do_install_ptest() {
 	    -i ${D}${PTEST_PATH}/Makefile
 }
 
-RPROVIDES_${PN} += "${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', '/bin/sed', '', d)}"
+RPROVIDES:${PN} += "${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', '/bin/sed', '', d)}"
 
 BBCLASSEXTEND = "nativesdk"
diff --git a/meta/recipes-extended/shadow/shadow.inc b/meta/recipes-extended/shadow/shadow.inc
index 2cbdfbc1cf1..a5d77ebfe2d 100644
--- a/meta/recipes-extended/shadow/shadow.inc
+++ b/meta/recipes-extended/shadow/shadow.inc
@@ -16,17 +16,17 @@ SRC_URI = "https://github.com/shadow-maint/shadow/releases/download/${PV}/${BP}.
            file://shadow-relaxed-usernames.patch \
            "
 
-SRC_URI_append_class-target = " \
+SRC_URI:append:class-target = " \
            file://login_defs_pam.sed \
            file://shadow-update-pam-conf.patch \
            "
 
-SRC_URI_append_class-native = " \
+SRC_URI:append:class-native = " \
            file://0001-Disable-use-of-syslog-for-sysroot.patch \
            file://0002-Allow-for-setting-password-in-clear-text.patch \
            file://commonio.c-fix-unexpected-open-failure-in-chroot-env.patch \
            "
-SRC_URI_append_class-nativesdk = " \
+SRC_URI:append:class-nativesdk = " \
            file://0001-Disable-use-of-syslog-for-sysroot.patch \
            "
 
@@ -55,9 +55,9 @@ EXTRA_OECONF += "--without-audit \
                  ${NSCDOPT}"
 
 NSCDOPT = ""
-NSCDOPT_class-native = "--without-nscd"
-NSCDOPT_class-nativesdk = "--without-nscd"
-NSCDOPT_libc-glibc = "--with-nscd"
+NSCDOPT:class-native = "--without-nscd"
+NSCDOPT:class-nativesdk = "--without-nscd"
+NSCDOPT:libc-glibc = "--with-nscd"
 
 PAM_PLUGINS = "libpam-runtime \
                pam-plugin-faildelay \
@@ -72,21 +72,21 @@ PAM_PLUGINS = "libpam-runtime \
                pam-plugin-shells \
                pam-plugin-rootok"
 
-PAM_PLUGINS_remove_libc-musl = "pam-plugin-lastlog"
+PAM_PLUGINS:remove:libc-musl = "pam-plugin-lastlog"
 
 PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)} \
                    ${@bb.utils.contains('DISTRO_FEATURES', 'xattr', 'attr', '', d)}"
-PACKAGECONFIG_class-native ??= "${@bb.utils.contains('DISTRO_FEATURES', 'xattr', 'attr', '', d)}"
-PACKAGECONFIG_class-nativesdk = ""
+PACKAGECONFIG:class-native ??= "${@bb.utils.contains('DISTRO_FEATURES', 'xattr', 'attr', '', d)}"
+PACKAGECONFIG:class-nativesdk = ""
 PACKAGECONFIG[pam] = "--with-libpam,--without-libpam,libpam,${PAM_PLUGINS}"
 PACKAGECONFIG[attr] = "--with-attr,--without-attr,attr"
 PACKAGECONFIG[acl] = "--with-acl,--without-acl,acl"
 
-RDEPENDS_${PN} = "shadow-securetty \
+RDEPENDS:${PN} = "shadow-securetty \
                   base-passwd \
                   util-linux-sulogin"
-RDEPENDS_${PN}_class-native = ""
-RDEPENDS_${PN}_class-nativesdk = ""
+RDEPENDS:${PN}:class-native = ""
+RDEPENDS:${PN}:class-nativesdk = ""
 
 do_install() {
 	oe_runmake DESTDIR="${D}" sbindir="${base_sbindir}" usbindir="${sbindir}" install
@@ -123,7 +123,7 @@ do_install() {
 	sed -i 's,^GROUP=1000,GROUP=100,g' ${D}${sysconfdir}/default/useradd
 }
 
-do_install_append() {
+do_install:append() {
 	# Ensure that the image has as a /var/spool/mail dir so shadow can
 	# put mailboxes there if the user reconfigures shadow to its
 	# defaults (see sed below).
@@ -156,7 +156,7 @@ do_install_append() {
 }
 
 PACKAGES =+ "${PN}-base"
-FILES_${PN}-base = "\
+FILES:${PN}-base = "\
     ${base_bindir}/login.shadow \
     ${base_bindir}/su.shadow \
     ${bindir}/sg \
@@ -166,13 +166,13 @@ FILES_${PN}-base = "\
     ${sysconfdir}/pam.d/su \
     ${sysconfdir}/login.defs \
 "
-RDEPENDS_${PN} += "${PN}-base"
+RDEPENDS:${PN} += "${PN}-base"
 
 inherit update-alternatives
 
 ALTERNATIVE_PRIORITY = "200"
 
-ALTERNATIVE_${PN} = "passwd chfn chsh chpasswd vipw vigr nologin"
+ALTERNATIVE:${PN} = "passwd chfn chsh chpasswd vipw vigr nologin"
 ALTERNATIVE_LINK_NAME[chfn] = "${bindir}/chfn"
 ALTERNATIVE_LINK_NAME[chsh] = "${bindir}/chsh"
 ALTERNATIVE_LINK_NAME[chpasswd] = "${sbindir}/chpasswd"
@@ -180,11 +180,11 @@ ALTERNATIVE_LINK_NAME[vipw] = "${base_sbindir}/vipw"
 ALTERNATIVE_LINK_NAME[vigr] = "${base_sbindir}/vigr"
 ALTERNATIVE_LINK_NAME[nologin] = "${base_sbindir}/nologin"
 
-ALTERNATIVE_${PN}-base = "newgrp groups login su"
+ALTERNATIVE:${PN}-base = "newgrp groups login su"
 ALTERNATIVE_LINK_NAME[login] = "${base_bindir}/login"
 ALTERNATIVE_LINK_NAME[su] = "${base_bindir}/su"
 
-ALTERNATIVE_${PN}-doc = "passwd.5 getspnam.3 groups.1 su.1 nologin.8"
+ALTERNATIVE:${PN}-doc = "passwd.5 getspnam.3 groups.1 su.1 nologin.8"
 ALTERNATIVE_LINK_NAME[passwd.5] = "${mandir}/man5/passwd.5"
 ALTERNATIVE_LINK_NAME[getspnam.3] = "${mandir}/man3/getspnam.3"
 ALTERNATIVE_LINK_NAME[groups.1] = "${mandir}/man1/groups.1"
@@ -192,7 +192,7 @@ ALTERNATIVE_LINK_NAME[su.1] = "${mandir}/man1/su.1"
 ALTERNATIVE_LINK_NAME[nologin.8] = "${mandir}/man8/nologin.8"
 
 PACKAGE_WRITE_DEPS += "shadow-native"
-pkg_postinst_${PN}_class-target () {
+pkg_postinst:${PN}:class-target () {
 	if [ "x$D" != "x" ]; then
 	  rootarg="--root $D"
 	else
diff --git a/meta/recipes-extended/shadow/shadow_4.8.1.bb b/meta/recipes-extended/shadow/shadow_4.8.1.bb
index ff4aad926f6..2fbd81bf726 100644
--- a/meta/recipes-extended/shadow/shadow_4.8.1.bb
+++ b/meta/recipes-extended/shadow/shadow_4.8.1.bb
@@ -2,7 +2,7 @@ require shadow.inc
 
 # Build falsely assumes that if --enable-libpam is set, we don't need to link against
 # libcrypt. This breaks chsh.
-BUILD_LDFLAGS_append_class-target = " ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '-lcrypt', '', d)}"
+BUILD_LDFLAGS:append:class-target = " ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '-lcrypt', '', d)}"
 
 BBCLASSEXTEND = "native nativesdk"
 
diff --git a/meta/recipes-extended/slang/slang_2.3.2.bb b/meta/recipes-extended/slang/slang_2.3.2.bb
index 99efb16da64..81d152f000b 100644
--- a/meta/recipes-extended/slang/slang_2.3.2.bb
+++ b/meta/recipes-extended/slang/slang_2.3.2.bb
@@ -27,7 +27,7 @@ SRC_URI[md5sum] = "c2d5a7aa0246627da490be4e399c87cb"
 SRC_URI[sha256sum] = "fc9e3b0fc4f67c3c1f6d43c90c16a5c42d117b8e28457c5b46831b8b5d3ae31a"
 
 UPSTREAM_CHECK_URI = "http://www.jedsoft.org/releases/slang/"
-PREMIRRORS_append = "\n http://www.jedsoft.org/releases/slang/.* http://www.jedsoft.org/releases/slang/old/ \n"
+PREMIRRORS:append = "\n http://www.jedsoft.org/releases/slang/.* http://www.jedsoft.org/releases/slang/old/ \n"
 
 inherit autotools-brokensep ptest
 CLEANBROKEN = "1"
@@ -42,7 +42,7 @@ PACKAGECONFIG[pcre] = "--with-pcre=${STAGING_DIR_HOST}${prefix},--without-pcre,p
 PACKAGECONFIG[png] = "--with-png=${STAGING_DIR_HOST}${prefix},--without-png,libpng"
 PACKAGECONFIG[zlib] = "--with-z=${STAGING_DIR_HOST}${prefix},--without-z,zlib"
 
-do_configure_prepend() {
+do_configure:prepend() {
     cd ${S}/autoconf
     # slang keeps configure.ac and rest of autoconf files in autoconf/ directory
     # we have to go there to be able to run gnu-configize cause it expects configure.{in,ac}
@@ -74,9 +74,9 @@ do_install_ptest() {
 	sed -i 's/\.\.\/\.\.\/doc\/text\/slangfun\.txt/slangfun\.txt/' ${D}${PTEST_PATH}/test/docfun.sl
 }
 
-FILES_${PN} += "${libdir}/${BPN}/v2/modules/ ${datadir}/slsh/"
+FILES:${PN} += "${libdir}/${BPN}/v2/modules/ ${datadir}/slsh/"
 
-RDEPENDS_${PN}-ptest += "make"
+RDEPENDS:${PN}-ptest += "make"
 
 PARALLEL_MAKE = ""
 PARALLEL_MAKEINST = ""
diff --git a/meta/recipes-extended/stress-ng/stress-ng_0.12.12.bb b/meta/recipes-extended/stress-ng/stress-ng_0.12.12.bb
index 97eaa75d18e..a12a19a0cd2 100644
--- a/meta/recipes-extended/stress-ng/stress-ng_0.12.12.bb
+++ b/meta/recipes-extended/stress-ng/stress-ng_0.12.12.bb
@@ -14,9 +14,9 @@ SRC_URI[sha256sum] = "f27af50f6f2308e707fef927674bdd209a046b116734281b792aeca35a
 DEPENDS = "coreutils-native"
 
 PROVIDES = "stress"
-RPROVIDES_${PN} = "stress"
-RREPLACES_${PN} = "stress"
-RCONFLICTS_${PN} = "stress"
+RPROVIDES:${PN} = "stress"
+RREPLACES:${PN} = "stress"
+RCONFLICTS:${PN} = "stress"
 
 inherit bash-completion
 
diff --git a/meta/recipes-extended/sudo/sudo.inc b/meta/recipes-extended/sudo/sudo.inc
index 0bea35a0a33..f109672b7e2 100644
--- a/meta/recipes-extended/sudo/sudo.inc
+++ b/meta/recipes-extended/sudo/sudo.inc
@@ -24,14 +24,14 @@ PACKAGECONFIG ??= ""
 PACKAGECONFIG[zlib] = "--enable-zlib,--disable-zlib,zlib"
 PACKAGECONFIG[pam-wheel] = ",,,pam-plugin-wheel"
 
-CONFFILES_${PN} = "${sysconfdir}/sudoers"
+CONFFILES:${PN} = "${sysconfdir}/sudoers"
 
 EXTRA_OECONF = "--with-editor=${base_bindir}/vi --with-env-editor"
 
-EXTRA_OECONF_append_libc-musl = " --disable-hardening "
+EXTRA_OECONF:append:libc-musl = " --disable-hardening "
 
 # mksigname/mksiglist are used on build host to generate source files
-do_compile_prepend () {
+do_compile:prepend () {
 	# Remove build host references from sudo_usage.h
 	sed -i  \
 	    -e 's,--with-libtool-sysroot=${STAGING_DIR_TARGET},,g' \
@@ -46,7 +46,7 @@ do_compile_prepend () {
 # script (from sudo) will recursively create ${localstatedir}/lib/sudo
 # and then chmod each directory with 0700 permissions, which isn't what
 # we want (i.e, users would not be able to access /var/lib).
-do_install_prepend (){
+do_install:prepend (){
 	mkdir -p ${D}/${localstatedir}/lib
 }
 
diff --git a/meta/recipes-extended/sudo/sudo_1.9.7p1.bb b/meta/recipes-extended/sudo/sudo_1.9.7p1.bb
index aba6f4a595b..8d47c017067 100644
--- a/meta/recipes-extended/sudo/sudo_1.9.7p1.bb
+++ b/meta/recipes-extended/sudo/sudo_1.9.7p1.bb
@@ -10,7 +10,7 @@ PAM_SRC_URI = "file://sudo.pam"
 SRC_URI[sha256sum] = "391431f454e55121b60c6ded0fcf30ddb80d623d7d16a6d1907cfa6a0b91d8cf"
 
 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)}"
+RDEPENDS:${PN} += " ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam-plugin-limits pam-plugin-keyinit', '', d)}"
 
 CACHED_CONFIGUREVARS = " \
         ac_cv_type_rsize_t=no \
@@ -28,7 +28,7 @@ EXTRA_OECONF += " \
              --libexecdir=${libdir} \
              "
 
-do_install_append () {
+do_install:append () {
 	if [ "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" ]; then
 		install -D -m 644 ${WORKDIR}/sudo.pam ${D}/${sysconfdir}/pam.d/sudo
 		if ${@bb.utils.contains('PACKAGECONFIG', 'pam-wheel', 'true', 'false', d)} ; then
@@ -44,7 +44,7 @@ do_install_append () {
 	rmdir -p --ignore-fail-on-non-empty ${D}/run/sudo
 }
 
-FILES_${PN}-dev += "${libdir}/${BPN}/lib*${SOLIBSDEV} ${libdir}/${BPN}/*.la \
+FILES:${PN}-dev += "${libdir}/${BPN}/lib*${SOLIBSDEV} ${libdir}/${BPN}/*.la \
                     ${libdir}/lib*${SOLIBSDEV} ${libdir}/*.la"
 
 SUDO_PACKAGES = "${PN}-sudo\
@@ -52,8 +52,8 @@ SUDO_PACKAGES = "${PN}-sudo\
 
 PACKAGE_BEFORE_PN = "${SUDO_PACKAGES}"
 
-RDEPENDS_${PN}-sudo = "${PN}-lib"
-RDEPENDS_${PN} += "${SUDO_PACKAGES}"
+RDEPENDS:${PN}-sudo = "${PN}-lib"
+RDEPENDS:${PN} += "${SUDO_PACKAGES}"
 
-FILES_${PN}-sudo = "${bindir}/sudo ${bindir}/sudoedit"
-FILES_${PN}-lib = "${localstatedir} ${libexecdir} ${sysconfdir} ${libdir} ${nonarch_libdir}"
+FILES:${PN}-sudo = "${bindir}/sudo ${bindir}/sudoedit"
+FILES:${PN}-lib = "${localstatedir} ${libexecdir} ${sysconfdir} ${libdir} ${nonarch_libdir}"
diff --git a/meta/recipes-extended/sysklogd/sysklogd_2.2.3.bb b/meta/recipes-extended/sysklogd/sysklogd_2.2.3.bb
index be34ec7b384..eca531d05d2 100644
--- a/meta/recipes-extended/sysklogd/sysklogd_2.2.3.bb
+++ b/meta/recipes-extended/sysklogd/sysklogd_2.2.3.bb
@@ -20,7 +20,7 @@ S = "${WORKDIR}/git"
 
 EXTRA_OECONF = "--with-systemd=${systemd_system_unitdir} --without-logger"
 
-do_install_append () {
+do_install:append () {
        install -d ${D}${sysconfdir}
        install -m 644 ${S}/syslog.conf ${D}${sysconfdir}/syslog.conf
        install -d ${D}${sysconfdir}/init.d
@@ -28,21 +28,21 @@ do_install_append () {
 }
 
 SYSTEMD_PACKAGES = "${PN}"
-SYSTEMD_SERVICE_${PN} = "syslogd.service"
+SYSTEMD_SERVICE:${PN} = "syslogd.service"
 SYSTEMD_AUTO_ENABLE = "enable"
 
 INITSCRIPT_NAME = "syslog"
-CONFFILES_${PN} = "${sysconfdir}/syslog.conf"
-RCONFLICTS_${PN} = "rsyslog busybox-syslog syslog-ng"
+CONFFILES:${PN} = "${sysconfdir}/syslog.conf"
+RCONFLICTS:${PN} = "rsyslog busybox-syslog syslog-ng"
 
-FILES_${PN} += "${@bb.utils.contains('DISTRO_FEATURES','systemd','${exec_prefix}/lib/tmpfiles.d/sysklogd.conf', '', d)}"
+FILES:${PN} += "${@bb.utils.contains('DISTRO_FEATURES','systemd','${exec_prefix}/lib/tmpfiles.d/sysklogd.conf', '', d)}"
 
 ALTERNATIVE_PRIORITY = "100"
 
-ALTERNATIVE_${PN}-doc = "syslogd.8"
+ALTERNATIVE:${PN}-doc = "syslogd.8"
 ALTERNATIVE_LINK_NAME[syslogd.8] = "${mandir}/man8/syslogd.8"
 
-pkg_prerm_${PN} () {
+pkg_prerm:${PN} () {
 	if test "x$D" = "x"; then
 	if test "$1" = "upgrade" -o "$1" = "remove"; then
 		/etc/init.d/syslog stop || :
diff --git a/meta/recipes-extended/sysstat/sysstat.inc b/meta/recipes-extended/sysstat/sysstat.inc
index f97b88d4932..14c6f077842 100644
--- a/meta/recipes-extended/sysstat/sysstat.inc
+++ b/meta/recipes-extended/sysstat/sysstat.inc
@@ -24,10 +24,10 @@ PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_system_unitdir}"
 EXTRA_OECONF += "--disable-stripping"
 
 SYSTEMD_PACKAGES = "${PN}"
-SYSTEMD_SERVICE_${PN} = "sysstat.service"
+SYSTEMD_SERVICE:${PN} = "sysstat.service"
 SYSTEMD_AUTO_ENABLE = "enable"
 
-do_configure_prepend() {
+do_configure:prepend() {
     export sa_lib_dir=${libexecdir}/sa
 }
 
@@ -58,7 +58,7 @@ do_install() {
 	fi
 }
 
-pkg_postinst_${PN} () {
+pkg_postinst:${PN} () {
 	if [  ! -n "$D" ]; then
 		if [ -e /etc/init.d/populate-volatile.sh ]; then
 			/etc/init.d/populate-volatile.sh update
@@ -66,6 +66,6 @@ pkg_postinst_${PN} () {
 	fi
 }
 
-FILES_${PN} += "${systemd_system_unitdir} ${nonarch_base_libdir}/systemd"
+FILES:${PN} += "${systemd_system_unitdir} ${nonarch_base_libdir}/systemd"
 
 TARGET_CC_ARCH += "${LDFLAGS}"
diff --git a/meta/recipes-extended/tar/tar_1.34.bb b/meta/recipes-extended/tar/tar_1.34.bb
index af04919c414..c096a8c9a88 100644
--- a/meta/recipes-extended/tar/tar_1.34.bb
+++ b/meta/recipes-extended/tar/tar_1.34.bb
@@ -13,7 +13,7 @@ SRC_URI[sha256sum] = "b44cc67f8a1f6b0250b7c860e952b37e8ed932a90bd9b1862a51107925
 inherit autotools gettext texinfo
 
 PACKAGECONFIG ??= ""
-PACKAGECONFIG_append_class-target = " ${@bb.utils.filter('DISTRO_FEATURES', 'acl', d)}"
+PACKAGECONFIG:append:class-target = " ${@bb.utils.filter('DISTRO_FEATURES', 'acl', d)}"
 
 PACKAGECONFIG[acl] = "--with-posix-acls,--without-posix-acls,acl"
 
@@ -32,7 +32,7 @@ do_install () {
     ln -s tar ${D}${bindir}/gtar
 }
 
-do_install_append_class-target() {
+do_install:append:class-target() {
     if [ "${base_bindir}" != "${bindir}" ]; then
         install -d ${D}${base_bindir}
         mv ${D}${bindir}/tar ${D}${base_bindir}/tar
@@ -43,21 +43,21 @@ do_install_append_class-target() {
 
 PACKAGES =+ "${PN}-rmt"
 
-FILES_${PN}-rmt = "${sbindir}/rmt*"
+FILES:${PN}-rmt = "${sbindir}/rmt*"
 
 inherit update-alternatives
 
 ALTERNATIVE_PRIORITY = "100"
 
-ALTERNATIVE_${PN} = "tar"
-ALTERNATIVE_${PN}-rmt = "rmt"
-ALTERNATIVE_${PN}_class-nativesdk = ""
-ALTERNATIVE_${PN}-rmt_class-nativesdk = ""
+ALTERNATIVE:${PN} = "tar"
+ALTERNATIVE:${PN}-rmt = "rmt"
+ALTERNATIVE:${PN}:class-nativesdk = ""
+ALTERNATIVE:${PN}-rmt:class-nativesdk = ""
 
 ALTERNATIVE_LINK_NAME[tar] = "${base_bindir}/tar"
 ALTERNATIVE_LINK_NAME[rmt] = "${sbindir}/rmt"
 
-PROVIDES_append_class-native = " tar-replacement-native"
+PROVIDES:append:class-native = " tar-replacement-native"
 NATIVE_PACKAGE_PATH_SUFFIX = "/${PN}"
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-extended/tcp-wrappers/tcp-wrappers_7.6.bb b/meta/recipes-extended/tcp-wrappers/tcp-wrappers_7.6.bb
index e903b9db146..814d7fd9139 100644
--- a/meta/recipes-extended/tcp-wrappers/tcp-wrappers_7.6.bb
+++ b/meta/recipes-extended/tcp-wrappers/tcp-wrappers_7.6.bb
@@ -11,12 +11,12 @@ PR ="r10"
 DEPENDS += "libnsl2"
 
 PACKAGES = "${PN}-dbg libwrap libwrap-doc libwrap-dev libwrap-staticdev ${PN} ${PN}-doc"
-FILES_libwrap = "${base_libdir}/lib*${SOLIBS}"
-FILES_libwrap-doc = "${mandir}/man3 ${mandir}/man5"
-FILES_libwrap-dev = "${libdir}/lib*${SOLIBSDEV} ${includedir}"
-FILES_libwrap-staticdev = "${libdir}/lib*.a"
-FILES_${PN} = "${sbindir}"
-FILES_${PN}-doc = "${mandir}/man8"
+FILES:libwrap = "${base_libdir}/lib*${SOLIBS}"
+FILES:libwrap-doc = "${mandir}/man3 ${mandir}/man5"
+FILES:libwrap-dev = "${libdir}/lib*${SOLIBSDEV} ${includedir}"
+FILES:libwrap-staticdev = "${libdir}/lib*.a"
+FILES:${PN} = "${sbindir}"
+FILES:${PN}-doc = "${mandir}/man8"
 
 SRC_URI = "http://ftp.porcupine.org/pub/security/tcp_wrappers_${PV}.tar.gz \
            file://00_man_quoting.diff \
@@ -78,9 +78,9 @@ EXTRA_OEMAKE = "'CC=${CC}' \
                 'EXTRA_CFLAGS=${CFLAGS} -DSYS_ERRLIST_DEFINED -DHAVE_STRERROR -DHAVE_WEAKSYMS -D_REENTRANT -DINET6=1 -Dss_family=__ss_family -Dss_len=__ss_len'"
 
 EXTRA_OEMAKE_NETGROUP = "-DNETGROUP -DUSE_GETDOMAIN"
-EXTRA_OEMAKE_NETGROUP_libc-musl = "-DUSE_GETDOMAIN"
+EXTRA_OEMAKE_NETGROUP:libc-musl = "-DUSE_GETDOMAIN"
 
-EXTRA_OEMAKE_append_libc-musl = " 'LIBS='"
+EXTRA_OEMAKE:append:libc-musl = " 'LIBS='"
 
 do_compile () {
 	oe_runmake 'TABLES=-DHOSTS_DENY=\"${sysconfdir}/hosts.deny\" -DHOSTS_ALLOW=\"${sysconfdir}/hosts.allow\"' \
@@ -133,4 +133,4 @@ do_install () {
 	touch ${D}${sysconfdir}/hosts.deny
 }
 
-FILES_${PN} += "${sysconfdir}/hosts.allow ${sysconfdir}/hosts.deny"
+FILES:${PN} += "${sysconfdir}/hosts.allow ${sysconfdir}/hosts.deny"
diff --git a/meta/recipes-extended/texinfo/texinfo_6.8.bb b/meta/recipes-extended/texinfo/texinfo_6.8.bb
index 69af7cf21dd..5a7cbef402a 100644
--- a/meta/recipes-extended/texinfo/texinfo_6.8.bb
+++ b/meta/recipes-extended/texinfo/texinfo_6.8.bb
@@ -7,7 +7,7 @@ SECTION = "console/utils"
 LICENSE = "GPLv3+"
 LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464"
 
-PROVIDES_append_class-native = " texinfo-replacement-native"
+PROVIDES:append:class-native = " texinfo-replacement-native"
 
 def compress_pkg(d):
     if bb.data.inherits_class('compress_doc', d):
@@ -20,13 +20,13 @@ def compress_pkg(d):
              return "xz"
     return ""
 
-RDEPENDS_info += "${@compress_pkg(d)}"
+RDEPENDS:info += "${@compress_pkg(d)}"
 
 DEPENDS = "zlib ncurses texinfo-replacement-native"
-DEPENDS_class-native = "zlib-native ncurses-native"
+DEPENDS:class-native = "zlib-native ncurses-native"
 
 TARGET_PATCH = "file://use_host_makedoc.patch"
-TARGET_PATCH_class-native = ""
+TARGET_PATCH:class-native = ""
 
 SRC_URI = "${GNU_MIRROR}/texinfo/${BP}.tar.gz \
            file://0001-gnulib-Update.patch \
@@ -46,38 +46,38 @@ MULTILIB_SCRIPTS = "${PN}:${bindir}/texi2any"
 
 EXTRA_AUTORECONF += "-I ${S}/gnulib/m4"
 
-do_configure_prepend () {
+do_configure:prepend () {
 	# autotools_do_configure updates po/Makefile.in.in, we also need
 	# update po_document.
 	cp -f ${STAGING_DATADIR_NATIVE}/gettext/po/Makefile.in.in ${S}/po_document/
 }
 
-do_compile_prepend() {
+do_compile:prepend() {
 	if [ -d tools ];then
 		oe_runmake -C tools/gnulib/lib
 	fi
 }
 
-do_install_append() {
+do_install:append() {
 	mkdir -p ${D}${datadir}/${tex_texinfo}
 	install -p -m644 ${S}/doc/texinfo.tex ${S}/doc/txi-??.tex ${D}${datadir}/${tex_texinfo}
 	sed -i -e '1s,#!.*perl,#! ${USRBINPATH}/env perl,' ${D}${bindir}/texi2any ${D}${bindir}/pod2texi
 }
 
-do_install_append_class-native() {
+do_install:append:class-native() {
 	install -m 755 info/makedoc ${D}${bindir}
 }
 
 PACKAGES += "info info-doc"
 
-FILES_info = "${bindir}/info ${bindir}/infokey ${bindir}/install-info"
-FILES_info-doc = "${infodir}/info.info* ${infodir}/dir ${infodir}/info-*.info* \
+FILES:info = "${bindir}/info ${bindir}/infokey ${bindir}/install-info"
+FILES:info-doc = "${infodir}/info.info* ${infodir}/dir ${infodir}/info-*.info* \
                   ${mandir}/man1/info.1* ${mandir}/man5/info.5* \
                   ${mandir}/man1/infokey.1* ${mandir}/man1/install-info.1*"
 
-FILES_${PN} = "${bindir}/makeinfo ${bindir}/texi* ${bindir}/pdftexi2dvi ${bindir}/pod2texi ${datadir}/texinfo"
-RDEPENDS_${PN} = "perl"
-FILES_${PN}-doc = "${infodir}/texinfo* \
+FILES:${PN} = "${bindir}/makeinfo ${bindir}/texi* ${bindir}/pdftexi2dvi ${bindir}/pod2texi ${datadir}/texinfo"
+RDEPENDS:${PN} = "perl"
+FILES:${PN}-doc = "${infodir}/texinfo* \
                    ${datadir}/${tex_texinfo} \
                    ${mandir}/man1 ${mandir}/man5"
 
@@ -85,6 +85,6 @@ FILES_${PN}-doc = "${infodir}/texinfo* \
 # but the code will test for it and if not found use Locale::gettext_pp instead.
 # However, this causes a file dependency on perl(Locale::gettext_xs) to be
 # generated, which must be satisfied.
-RPROVIDES_${PN} += "perl(Locale::gettext_xs)"
+RPROVIDES:${PN} += "perl(Locale::gettext_xs)"
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-extended/time/time_1.9.bb b/meta/recipes-extended/time/time_1.9.bb
index e2b084caaeb..abd00f09bf7 100644
--- a/meta/recipes-extended/time/time_1.9.bb
+++ b/meta/recipes-extended/time/time_1.9.bb
@@ -8,7 +8,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
 
 inherit texinfo update-alternatives
 
-ALTERNATIVE_${PN} = "time"
+ALTERNATIVE:${PN} = "time"
 ALTERNATIVE_PRIORITY = "100"
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-extended/timezone/tzdata.bb b/meta/recipes-extended/timezone/tzdata.bb
index 09145e1ed0d..c2b019922a4 100644
--- a/meta/recipes-extended/timezone/tzdata.bb
+++ b/meta/recipes-extended/timezone/tzdata.bb
@@ -4,7 +4,7 @@ DEPENDS = "tzcode-native"
 
 inherit allarch
 
-RCONFLICTS_${PN} = "timezones timezone-africa timezone-america timezone-antarctica \
+RCONFLICTS:${PN} = "timezones timezone-africa timezone-america timezone-antarctica \
              timezone-arctic timezone-asia timezone-atlantic \
              timezone-australia timezone-europe timezone-indian \
              timezone-iso3166.tab timezone-pacific timezone-zone.tab"
@@ -59,7 +59,7 @@ do_install () {
         chown -R root:root ${D}
 }
 
-pkg_postinst_${PN} () {
+pkg_postinst:${PN} () {
 	etc_lt="$D${sysconfdir}/localtime"
 	src="$D${sysconfdir}/timezone"
 
@@ -88,47 +88,47 @@ TZ_PACKAGES = " \
     tzdata-atlantic tzdata-australia tzdata-europe tzdata-pacific"
 PACKAGES = "${TZ_PACKAGES} ${PN}"
 
-FILES_tzdata-africa += "${datadir}/zoneinfo/Africa/*"
-RPROVIDES_tzdata-africa = "tzdata-africa"
+FILES:tzdata-africa += "${datadir}/zoneinfo/Africa/*"
+RPROVIDES:tzdata-africa = "tzdata-africa"
 
-FILES_tzdata-americas += "${datadir}/zoneinfo/America/*  \
+FILES:tzdata-americas += "${datadir}/zoneinfo/America/*  \
                 ${datadir}/zoneinfo/US/*                \
                 ${datadir}/zoneinfo/Brazil/*            \
                 ${datadir}/zoneinfo/Canada/*            \
                 ${datadir}/zoneinfo/Mexico/*            \
                 ${datadir}/zoneinfo/Chile/*"
-RPROVIDES_tzdata-americas = "tzdata-americas"
+RPROVIDES:tzdata-americas = "tzdata-americas"
 
-FILES_tzdata-antarctica += "${datadir}/zoneinfo/Antarctica/*"
-RPROVIDES_tzdata-antarctica = "tzdata-antarctica"
+FILES:tzdata-antarctica += "${datadir}/zoneinfo/Antarctica/*"
+RPROVIDES:tzdata-antarctica = "tzdata-antarctica"
 
-FILES_tzdata-arctic += "${datadir}/zoneinfo/Arctic/*"
-RPROVIDES_tzdata-arctic = "tzdata-arctic"
+FILES:tzdata-arctic += "${datadir}/zoneinfo/Arctic/*"
+RPROVIDES:tzdata-arctic = "tzdata-arctic"
 
-FILES_tzdata-asia += "${datadir}/zoneinfo/Asia/*        \
+FILES:tzdata-asia += "${datadir}/zoneinfo/Asia/*        \
                 ${datadir}/zoneinfo/Indian/*            \
                 ${datadir}/zoneinfo/Mideast/*"
-RPROVIDES_tzdata-asia = "tzdata-asia"
+RPROVIDES:tzdata-asia = "tzdata-asia"
 
-FILES_tzdata-atlantic += "${datadir}/zoneinfo/Atlantic/*"
-RPROVIDES_tzdata-atlantic = "tzdata-atlantic"
+FILES:tzdata-atlantic += "${datadir}/zoneinfo/Atlantic/*"
+RPROVIDES:tzdata-atlantic = "tzdata-atlantic"
 
-FILES_tzdata-australia += "${datadir}/zoneinfo/Australia/*"
-RPROVIDES_tzdata-australia = "tzdata-australia"
+FILES:tzdata-australia += "${datadir}/zoneinfo/Australia/*"
+RPROVIDES:tzdata-australia = "tzdata-australia"
 
-FILES_tzdata-europe += "${datadir}/zoneinfo/Europe/*"
-RPROVIDES_tzdata-europe = "tzdata-europe"
+FILES:tzdata-europe += "${datadir}/zoneinfo/Europe/*"
+RPROVIDES:tzdata-europe = "tzdata-europe"
 
-FILES_tzdata-pacific += "${datadir}/zoneinfo/Pacific/*"
-RPROVIDES_tzdata-pacific = "tzdata-pacific"
+FILES:tzdata-pacific += "${datadir}/zoneinfo/Pacific/*"
+RPROVIDES:tzdata-pacific = "tzdata-pacific"
 
-FILES_tzdata-posix += "${datadir}/zoneinfo/posix/*"
-RPROVIDES_tzdata-posix = "tzdata-posix"
+FILES:tzdata-posix += "${datadir}/zoneinfo/posix/*"
+RPROVIDES:tzdata-posix = "tzdata-posix"
 
-FILES_tzdata-right += "${datadir}/zoneinfo/right/*"
-RPROVIDES_tzdata-right = "tzdata-right"
+FILES:tzdata-right += "${datadir}/zoneinfo/right/*"
+RPROVIDES:tzdata-right = "tzdata-right"
 
-FILES_tzdata-misc += "${datadir}/zoneinfo/Cuba           \
+FILES:tzdata-misc += "${datadir}/zoneinfo/Cuba           \
                 ${datadir}/zoneinfo/Egypt                \
                 ${datadir}/zoneinfo/Eire                 \
                 ${datadir}/zoneinfo/Factory              \
@@ -146,9 +146,9 @@ FILES_tzdata-misc += "${datadir}/zoneinfo/Cuba           \
                 ${datadir}/zoneinfo/Portugal             \
                 ${datadir}/zoneinfo/Singapore            \
                 ${datadir}/zoneinfo/Turkey"
-RPROVIDES_tzdata-misc = "tzdata-misc"
+RPROVIDES:tzdata-misc = "tzdata-misc"
 
-FILES_tzdata-core += " \
+FILES:tzdata-core += " \
                 ${sysconfdir}/localtime                  \
                 ${sysconfdir}/timezone                   \
                 ${datadir}/zoneinfo/leapseconds          \
@@ -208,7 +208,7 @@ FILES_tzdata-core += " \
                 ${datadir}/zoneinfo/iso3166.tab          \
                 ${datadir}/zoneinfo/Etc/*"
 
-CONFFILES_tzdata-core = "${sysconfdir}/localtime ${sysconfdir}/timezone"
+CONFFILES:tzdata-core = "${sysconfdir}/localtime ${sysconfdir}/timezone"
 
-ALLOW_EMPTY_${PN} = "1"
-RDEPENDS_${PN} = "${TZ_PACKAGES}"
+ALLOW_EMPTY:${PN} = "1"
+RDEPENDS:${PN} = "${TZ_PACKAGES}"
diff --git a/meta/recipes-extended/unzip/unzip_6.0.bb b/meta/recipes-extended/unzip/unzip_6.0.bb
index 40f0346f8d3..0bc6abcd4b7 100644
--- a/meta/recipes-extended/unzip/unzip_6.0.bb
+++ b/meta/recipes-extended/unzip/unzip_6.0.bb
@@ -49,7 +49,7 @@ EXTRA_OEMAKE = "-e MAKEFLAGS= STRIP=true LF2='' \
                 'CF_NOOPT=-I. -Ibzip2 -DUNIX ${CFLAGS}'"
 
 export LD = "${CC}"
-LD_class-native = "${CC}"
+LD:class-native = "${CC}"
 
 do_compile() {
         oe_runmake -f unix/Makefile generic
@@ -66,7 +66,7 @@ inherit update-alternatives
 
 ALTERNATIVE_PRIORITY = "100"
 
-ALTERNATIVE_${PN} = "unzip"
+ALTERNATIVE:${PN} = "unzip"
 ALTERNATIVE_LINK_NAME[unzip] = "${bindir}/unzip"
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-extended/watchdog/watchdog_5.16.bb b/meta/recipes-extended/watchdog/watchdog_5.16.bb
index 19e94757c7c..66373c9b283 100644
--- a/meta/recipes-extended/watchdog/watchdog_5.16.bb
+++ b/meta/recipes-extended/watchdog/watchdog_5.16.bb
@@ -36,20 +36,20 @@ CACHED_CONFIGUREVARS += "ac_cv_path_PATH_SENDMAIL=${sbindir}/sendmail"
 
 INITSCRIPT_PACKAGES = "${PN} ${PN}-keepalive"
 
-INITSCRIPT_NAME_${PN} = "watchdog"
-INITSCRIPT_PARAMS_${PN} = "start 25 1 2 3 4 5 . stop 85 0 6 ."
+INITSCRIPT_NAME:${PN} = "watchdog"
+INITSCRIPT_PARAMS:${PN} = "start 25 1 2 3 4 5 . stop 85 0 6 ."
 
-INITSCRIPT_NAME_${PN}-keepalive = "wd_keepalive"
-INITSCRIPT_PARAMS_${PN}-keepalive = "start 25 1 2 3 4 5 . stop 85 0 6 ."
+INITSCRIPT_NAME:${PN}-keepalive = "wd_keepalive"
+INITSCRIPT_PARAMS:${PN}-keepalive = "start 25 1 2 3 4 5 . stop 85 0 6 ."
 
 SYSTEMD_PACKAGES = "${PN} ${PN}-keepalive"
-SYSTEMD_SERVICE_${PN} = "watchdog.service"
-SYSTEMD_SERVICE_${PN}-keepalive = "wd_keepalive.service"
+SYSTEMD_SERVICE:${PN} = "watchdog.service"
+SYSTEMD_SERVICE:${PN}-keepalive = "wd_keepalive.service"
 # When using systemd, consider making use of internal watchdog support of systemd.
 # See RuntimeWatchdogSec in /etc/systemd/system.conf.
 SYSTEMD_AUTO_ENABLE = "disable"
 
-do_install_append() {
+do_install:append() {
 	install -d ${D}${systemd_system_unitdir}
 	install -m 0644 ${S}/debian/watchdog.service ${D}${systemd_system_unitdir}
 	install -m 0644 ${S}/debian/wd_keepalive.service ${D}${systemd_system_unitdir}
@@ -63,15 +63,15 @@ do_install_append() {
 
 PACKAGES =+ "${PN}-keepalive"
 
-FILES_${PN}-keepalive = " \
+FILES:${PN}-keepalive = " \
     ${sysconfdir}/init.d/wd_keepalive \
     ${systemd_system_unitdir}/wd_keepalive.service \
     ${sbindir}/wd_keepalive \
 "
 
-RDEPENDS_${PN} += "${PN}-config"
-RRECOMMENDS_${PN} += "kernel-module-softdog"
+RDEPENDS:${PN} += "${PN}-config"
+RRECOMMENDS:${PN} += "kernel-module-softdog"
 
-RDEPENDS_${PN}-keepalive += "${PN}-config"
-RCONFLICTS_${PN}-keepalive += "${PN}"
-RRECOMMENDS_${PN}-keepalive += "kernel-module-softdog"
+RDEPENDS:${PN}-keepalive += "${PN}-config"
+RCONFLICTS:${PN}-keepalive += "${PN}"
+RRECOMMENDS:${PN}-keepalive += "kernel-module-softdog"
diff --git a/meta/recipes-extended/wget/wget.inc b/meta/recipes-extended/wget/wget.inc
index 23383282161..cd7290be579 100644
--- a/meta/recipes-extended/wget/wget.inc
+++ b/meta/recipes-extended/wget/wget.inc
@@ -17,11 +17,11 @@ EXTRA_OECONF = "--without-libgnutls-prefix --without-libssl-prefix \
 EXTRA_OEMAKE += 'TOOLCHAIN_OPTIONS="${TOOLCHAIN_OPTIONS}" \
                  DEBUG_PREFIX_MAP="${DEBUG_PREFIX_MAP}"'
 
-ALTERNATIVE_${PN} = "wget"
-ALTERNATIVE_${PN}_class-nativesdk = ""
+ALTERNATIVE:${PN} = "wget"
+ALTERNATIVE:${PN}:class-nativesdk = ""
 ALTERNATIVE_PRIORITY = "100"
 
-RRECOMMENDS_${PN} += "ca-certificates"
+RRECOMMENDS:${PN} += "ca-certificates"
 
 BBCLASSEXTEND = "nativesdk"
 
diff --git a/meta/recipes-extended/which/which_2.21.bb b/meta/recipes-extended/which/which_2.21.bb
index 1da69c548e2..d3c3f69d3f7 100644
--- a/meta/recipes-extended/which/which_2.21.bb
+++ b/meta/recipes-extended/which/which_2.21.bb
@@ -24,14 +24,14 @@ SRC_URI = "${GNU_MIRROR}/which/which-${PV}.tar.gz \
 SRC_URI[md5sum] = "097ff1a324ae02e0a3b0369f07a7544a"
 SRC_URI[sha256sum] = "f4a245b94124b377d8b49646bf421f9155d36aa7614b6ebf83705d3ffc76eaad"
 
-do_configure_prepend() {
+do_configure:prepend() {
 	sed -i -e 's%@ACLOCAL_CWFLAGS@%-I ${STAGING_DIR_NATIVE}/usr/share/cwautomacros/m4%g' ${S}/Makefile.am ${S}/tilde/Makefile.am
 }
 
-ALTERNATIVE_${PN} = "which"
+ALTERNATIVE:${PN} = "which"
 ALTERNATIVE_PRIORITY = "100"
 
-ALTERNATIVE_${PN}-doc = "which.1"
+ALTERNATIVE:${PN}-doc = "which.1"
 ALTERNATIVE_LINK_NAME[which.1] = "${mandir}/man1/which.1"
 
 BBCLASSEXTEND = "nativesdk"
diff --git a/meta/recipes-extended/xdg-utils/xdg-utils_1.1.3.bb b/meta/recipes-extended/xdg-utils/xdg-utils_1.1.3.bb
index d371c5c28ce..108e7b8c4c2 100644
--- a/meta/recipes-extended/xdg-utils/xdg-utils_1.1.3.bb
+++ b/meta/recipes-extended/xdg-utils/xdg-utils_1.1.3.bb
@@ -34,4 +34,4 @@ inherit autotools-brokensep features_check
 REQUIRED_DISTRO_FEATURES = "x11"
 
 DEPENDS = "xmlto-native libxslt-native"
-RDEPENDS_${PN} += "xprop"
+RDEPENDS:${PN} += "xprop"
diff --git a/meta/recipes-extended/xinetd/xinetd_2.3.15.4.bb b/meta/recipes-extended/xinetd/xinetd_2.3.15.4.bb
index 69d5b2f83b7..e6ef5cf8b9a 100644
--- a/meta/recipes-extended/xinetd/xinetd_2.3.15.4.bb
+++ b/meta/recipes-extended/xinetd/xinetd_2.3.15.4.bb
@@ -24,7 +24,7 @@ CVE_CHECK_WHITELIST += "CVE-2013-4342"
 
 inherit autotools update-rc.d systemd pkgconfig
 
-SYSTEMD_SERVICE_${PN} = "xinetd.service"
+SYSTEMD_SERVICE:${PN} = "xinetd.service"
 
 INITSCRIPT_NAME = "xinetd"
 INITSCRIPT_PARAMS = "defaults"
@@ -32,9 +32,9 @@ INITSCRIPT_PARAMS = "defaults"
 PACKAGECONFIG ??= "tcp-wrappers"
 PACKAGECONFIG[tcp-wrappers] = "--with-libwrap,,tcp-wrappers"
 
-CONFFILES_${PN} = "${sysconfdir}/xinetd.conf"
+CONFFILES:${PN} = "${sysconfdir}/xinetd.conf"
 
-do_install_append() {
+do_install:append() {
        install -d "${D}${sysconfdir}/init.d"
        install -d "${D}${sysconfdir}/default"
        install -m 755 "${WORKDIR}/xinetd.init" "${D}${sysconfdir}/init.d/xinetd"
@@ -48,4 +48,4 @@ do_install_append() {
               ${D}${systemd_unitdir}/system/xinetd.service
 }
 
-RDEPENDS_${PN} += "perl"
+RDEPENDS:${PN} += "perl"
diff --git a/meta/recipes-extended/xz/xz_5.2.5.bb b/meta/recipes-extended/xz/xz_5.2.5.bb
index f5f5c318fdd..8021ebd9bc9 100644
--- a/meta/recipes-extended/xz/xz_5.2.5.bb
+++ b/meta/recipes-extended/xz/xz_5.2.5.bb
@@ -8,13 +8,13 @@ SECTION = "base"
 # and the LGPL bits are under lib/, which appears to be used for libgnu, which
 # appears to be used for DOS builds. So we're left with GPLv2+ and PD.
 LICENSE = "GPLv2+ & GPL-3.0-with-autoconf-exception & LGPLv2.1+ & PD"
-LICENSE_${PN} = "GPLv2+"
-LICENSE_${PN}-dev = "GPLv2+"
-LICENSE_${PN}-staticdev = "GPLv2+"
-LICENSE_${PN}-doc = "GPLv2+"
-LICENSE_${PN}-dbg = "GPLv2+"
-LICENSE_${PN}-locale = "GPLv2+"
-LICENSE_liblzma = "PD"
+LICENSE:${PN} = "GPLv2+"
+LICENSE:${PN}-dev = "GPLv2+"
+LICENSE:${PN}-staticdev = "GPLv2+"
+LICENSE:${PN}-doc = "GPLv2+"
+LICENSE:${PN}-dbg = "GPLv2+"
+LICENSE:${PN}-locale = "GPLv2+"
+LICENSE:liblzma = "PD"
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=97d554a32881fee0aa283d96e47cb24a \
                     file://COPYING.GPLv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
@@ -34,11 +34,11 @@ inherit autotools gettext
 
 PACKAGES =+ "liblzma"
 
-FILES_liblzma = "${libdir}/liblzma*${SOLIBS}"
+FILES:liblzma = "${libdir}/liblzma*${SOLIBS}"
 
 inherit update-alternatives
 ALTERNATIVE_PRIORITY = "100"
-ALTERNATIVE_${PN} = "xz xzcat unxz \
+ALTERNATIVE:${PN} = "xz xzcat unxz \
                      lzma lzcat unlzma"
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-gnome/epiphany/epiphany_40.2.bb b/meta/recipes-gnome/epiphany/epiphany_40.2.bb
index abd4ad057c9..a7ce16259a1 100644
--- a/meta/recipes-gnome/epiphany/epiphany_40.2.bb
+++ b/meta/recipes-gnome/epiphany/epiphany_40.2.bb
@@ -25,5 +25,5 @@ SRC_URI[archive.sha256sum] = "75119e22065657cf70ef2b603d4f73835573bd034f1e618c0f
 # Developer mode enables debugging
 PACKAGECONFIG[developer-mode] = "-Ddeveloper_mode=true,-Ddeveloper_mode=false"
 
-FILES_${PN} += "${datadir}/dbus-1 ${datadir}/gnome-shell/search-providers ${datadir}/metainfo"
-RDEPENDS_${PN} = "iso-codes adwaita-icon-theme gsettings-desktop-schemas"
+FILES:${PN} += "${datadir}/dbus-1 ${datadir}/gnome-shell/search-providers ${datadir}/metainfo"
+RDEPENDS:${PN} = "iso-codes adwaita-icon-theme gsettings-desktop-schemas"
diff --git a/meta/recipes-gnome/gcr/gcr_3.40.0.bb b/meta/recipes-gnome/gcr/gcr_3.40.0.bb
index 14072ef589b..a05e753ee94 100644
--- a/meta/recipes-gnome/gcr/gcr_3.40.0.bb
+++ b/meta/recipes-gnome/gcr/gcr_3.40.0.bb
@@ -24,18 +24,18 @@ SRC_URI[archive.sha256sum] = "b9d3645a5fd953a54285cc64d4fc046736463dbd4dcc25caf5
 PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'gtk', '', d)}"
 PACKAGECONFIG[gtk] = "-Dgtk=true,-Dgtk=false,gtk+3"
 
-FILES_${PN} += " \
+FILES:${PN} += " \
     ${datadir}/dbus-1 \
     ${datadir}/gcr-3 \
 "
 
 # http://errors.yoctoproject.org/Errors/Details/20229/
-ARM_INSTRUCTION_SET_armv4 = "arm"
-ARM_INSTRUCTION_SET_armv5 = "arm"
-ARM_INSTRUCTION_SET_armv6 = "arm"
+ARM_INSTRUCTION_SET:armv4 = "arm"
+ARM_INSTRUCTION_SET:armv5 = "arm"
+ARM_INSTRUCTION_SET:armv6 = "arm"
 
 EXTRA_OEMESON += "--cross-file ${WORKDIR}/meson-${PN}.cross"
-do_write_config_append() {
+do_write_config:append() {
     cat >${WORKDIR}/meson-${PN}.cross <<EOF
 [binaries]
 gpg2 = '${bindir}/gpg2'
diff --git a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.42.6.bb b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.42.6.bb
index 50d58ef807b..21816ab06c8 100644
--- a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.42.6.bb
+++ b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.42.6.bb
@@ -13,7 +13,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \
 SECTION = "libs"
 
 DEPENDS = "glib-2.0 gdk-pixbuf-native shared-mime-info"
-DEPENDS_remove_class-native = "gdk-pixbuf-native"
+DEPENDS:remove:class-native = "gdk-pixbuf-native"
 
 MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}"
 
@@ -37,34 +37,34 @@ GDK_PIXBUF_LOADERS ?= "png jpeg"
 
 PACKAGECONFIG = "${GDK_PIXBUF_LOADERS} \
                  ${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)}"
-PACKAGECONFIG_class-native = "${GDK_PIXBUF_LOADERS}"
+PACKAGECONFIG:class-native = "${GDK_PIXBUF_LOADERS}"
 
 PACKAGECONFIG[png] = "-Dpng=true,-Dpng=false,libpng"
 PACKAGECONFIG[jpeg] = "-Djpeg=true,-Djpeg=false,jpeg"
 PACKAGECONFIG[tiff] = "-Dtiff=true,-Dtiff=false,tiff"
 PACKAGECONFIG[tests] = "-Dinstalled_tests=true,-Dinstalled_tests=false"
 
-EXTRA_OEMESON_class-target = " \
+EXTRA_OEMESON:class-target = " \
     -Duse_prebuilt_tools=true \
 "
 
-EXTRA_OEMESON_class-nativesdk = " \
+EXTRA_OEMESON:class-nativesdk = " \
     -Duse_prebuilt_tools=true \
 "
 
 PACKAGES =+ "${PN}-xlib"
 
 # For GIO image type sniffing
-RDEPENDS_${PN} = "shared-mime-info"
+RDEPENDS:${PN} = "shared-mime-info"
 
-FILES_${PN}-xlib = "${libdir}/*pixbuf_xlib*${SOLIBS}"
-ALLOW_EMPTY_${PN}-xlib = "1"
+FILES:${PN}-xlib = "${libdir}/*pixbuf_xlib*${SOLIBS}"
+ALLOW_EMPTY:${PN}-xlib = "1"
 
-FILES_${PN} += "${libdir}/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders"
+FILES:${PN} += "${libdir}/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders"
 
-FILES_${PN}-bin += "${datadir}/thumbnailers/gdk-pixbuf-thumbnailer.thumbnailer"
+FILES:${PN}-bin += "${datadir}/thumbnailers/gdk-pixbuf-thumbnailer.thumbnailer"
 
-FILES_${PN}-dev += " \
+FILES:${PN}-dev += " \
 	${bindir}/gdk-pixbuf-csource \
 	${bindir}/gdk-pixbuf-pixdata \
         ${bindir}/gdk-pixbuf-print-mime-types \
@@ -73,9 +73,9 @@ FILES_${PN}-dev += " \
 "
 
 PACKAGES_DYNAMIC += "^gdk-pixbuf-loader-.*"
-PACKAGES_DYNAMIC_class-native = ""
+PACKAGES_DYNAMIC:class-native = ""
 
-python populate_packages_prepend () {
+python populate_packages:prepend () {
     postinst_pixbufloader = d.getVar("postinst_pixbufloader")
 
     loaders_root = d.expand('${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders')
@@ -85,10 +85,10 @@ python populate_packages_prepend () {
 
     # The test suite exercises all the loaders, so ensure they are all
     # dependencies of the ptest package.
-    d.appendVar("RDEPENDS_%s-ptest" % d.getVar('PN'), " " + packages)
+    d.appendVar("RDEPENDS:%s-ptest" % d.getVar('PN'), " " + packages)
 }
 
-do_install_append() {
+do_install:append() {
 	# Copy gdk-pixbuf-query-loaders into libdir so it is always available
 	# in multilib builds.
 	cp ${D}/${bindir}/gdk-pixbuf-query-loaders ${D}/${libdir}/gdk-pixbuf-2.0/
@@ -100,7 +100,7 @@ do_install_ptest() {
 	rm ${D}/${datadir}/installed-tests/gdk-pixbuf/pixbuf-randomly-modified.test
 }
 
-do_install_append_class-native() {
+do_install:append:class-native() {
 	find ${D}${libdir} -name "libpixbufloader-*.la" -exec rm \{\} \;
 
 	create_wrapper ${D}/${bindir}/gdk-pixbuf-csource \
diff --git a/meta/recipes-gnome/gi-docgen/gi-docgen_git.bb b/meta/recipes-gnome/gi-docgen/gi-docgen_git.bb
index b6721dc4e0b..8f33bec8da8 100644
--- a/meta/recipes-gnome/gi-docgen/gi-docgen_git.bb
+++ b/meta/recipes-gnome/gi-docgen/gi-docgen_git.bb
@@ -17,6 +17,6 @@ S = "${WORKDIR}/git"
 
 inherit setuptools3
 
-RDEPENDS_${PN} += "python3-asyncio python3-core python3-jinja2 python3-json python3-markdown python3-markupsafe python3-pygments python3-toml python3-typogrify python3-xml"
+RDEPENDS:${PN} += "python3-asyncio python3-core python3-jinja2 python3-json python3-markdown python3-markupsafe python3-pygments python3-toml python3-typogrify python3-xml"
 
 BBCLASSEXTEND = "native"
diff --git a/meta/recipes-gnome/gnome/adwaita-icon-theme_3.34.3.bb b/meta/recipes-gnome/gnome/adwaita-icon-theme_3.34.3.bb
index 61927c0dd1e..f98f20c378d 100644
--- a/meta/recipes-gnome/gnome/adwaita-icon-theme_3.34.3.bb
+++ b/meta/recipes-gnome/gnome/adwaita-icon-theme_3.34.3.bb
@@ -23,21 +23,21 @@ DEPENDS += "librsvg-native"
 
 PACKAGES = "${PN}-cursors ${PN}-symbolic-hires ${PN}-symbolic ${PN}-hires ${PN}"
 
-RREPLACES_${PN} = "gnome-icon-theme"
-RCONFLICTS_${PN} = "gnome-icon-theme"
-RPROVIDES_${PN} = "gnome-icon-theme"
+RREPLACES:${PN} = "gnome-icon-theme"
+RCONFLICTS:${PN} = "gnome-icon-theme"
+RPROVIDES:${PN} = "gnome-icon-theme"
 
-FILES_${PN}-cursors = "${prefix}/share/icons/Adwaita/cursors/"
-FILES_${PN}-symbolic-hires = "${prefix}/share/icons/Adwaita/96x96/*/*.symbolic.png \
+FILES:${PN}-cursors = "${prefix}/share/icons/Adwaita/cursors/"
+FILES:${PN}-symbolic-hires = "${prefix}/share/icons/Adwaita/96x96/*/*.symbolic.png \
                               ${prefix}/share/icons/Adwaita/64x64/*/*.symbolic.png \
                               ${prefix}/share/icons/Adwaita/48x48/*/*.symbolic.png \
                               ${prefix}/share/icons/Adwaita/32x32/*/*.symbolic.png"
-FILES_${PN}-symbolic = "${prefix}/share/icons/Adwaita/16x16/*/*.symbolic.png \
+FILES:${PN}-symbolic = "${prefix}/share/icons/Adwaita/16x16/*/*.symbolic.png \
                         ${prefix}/share/icons/Adwaita/24x24/*/*.symbolic.png \
                         ${prefix}/share/icons/Adwaita/scalable/*/*-symbolic*.svg"
-FILES_${PN}-hires = "${prefix}/share/icons/Adwaita/256x256/ \
+FILES:${PN}-hires = "${prefix}/share/icons/Adwaita/256x256/ \
                      ${prefix}/share/icons/Adwaita/512x512/"
-FILES_${PN} = "${prefix}/share/icons/Adwaita/ \
+FILES:${PN} = "${prefix}/share/icons/Adwaita/ \
                ${prefix}/share/pkgconfig/adwaita-icon-theme.pc"
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-gnome/gnome/adwaita-icon-theme_3.38.0.bb b/meta/recipes-gnome/gnome/adwaita-icon-theme_3.38.0.bb
index 672fbd2b071..f9e52cacd2c 100644
--- a/meta/recipes-gnome/gnome/adwaita-icon-theme_3.38.0.bb
+++ b/meta/recipes-gnome/gnome/adwaita-icon-theme_3.38.0.bb
@@ -24,21 +24,21 @@ DEPENDS += "librsvg-native"
 
 PACKAGES = "${PN}-cursors ${PN}-symbolic-hires ${PN}-symbolic ${PN}-hires ${PN}"
 
-RREPLACES_${PN} = "gnome-icon-theme"
-RCONFLICTS_${PN} = "gnome-icon-theme"
-RPROVIDES_${PN} = "gnome-icon-theme"
+RREPLACES:${PN} = "gnome-icon-theme"
+RCONFLICTS:${PN} = "gnome-icon-theme"
+RPROVIDES:${PN} = "gnome-icon-theme"
 
-FILES_${PN}-cursors = "${prefix}/share/icons/Adwaita/cursors/"
-FILES_${PN}-symbolic-hires = "${prefix}/share/icons/Adwaita/96x96/*/*.symbolic.png \
+FILES:${PN}-cursors = "${prefix}/share/icons/Adwaita/cursors/"
+FILES:${PN}-symbolic-hires = "${prefix}/share/icons/Adwaita/96x96/*/*.symbolic.png \
                               ${prefix}/share/icons/Adwaita/64x64/*/*.symbolic.png \
                               ${prefix}/share/icons/Adwaita/48x48/*/*.symbolic.png \
                               ${prefix}/share/icons/Adwaita/32x32/*/*.symbolic.png"
-FILES_${PN}-symbolic = "${prefix}/share/icons/Adwaita/16x16/*/*.symbolic.png \
+FILES:${PN}-symbolic = "${prefix}/share/icons/Adwaita/16x16/*/*.symbolic.png \
                         ${prefix}/share/icons/Adwaita/24x24/*/*.symbolic.png \
                         ${prefix}/share/icons/Adwaita/scalable/*/*-symbolic*.svg"
-FILES_${PN}-hires = "${prefix}/share/icons/Adwaita/256x256/ \
+FILES:${PN}-hires = "${prefix}/share/icons/Adwaita/256x256/ \
                      ${prefix}/share/icons/Adwaita/512x512/"
-FILES_${PN} = "${prefix}/share/icons/Adwaita/ \
+FILES:${PN} = "${prefix}/share/icons/Adwaita/ \
                ${prefix}/share/pkgconfig/adwaita-icon-theme.pc"
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-gnome/gnome/gconf_3.2.6.bb b/meta/recipes-gnome/gnome/gconf_3.2.6.bb
index ade93644ec4..dd760b9c633 100644
--- a/meta/recipes-gnome/gnome/gconf_3.2.6.bb
+++ b/meta/recipes-gnome/gnome/gconf_3.2.6.bb
@@ -28,12 +28,12 @@ EXTRA_OECONF = "--enable-shared --disable-static \
 
 PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'polkit', d)}"
 # We really don't want Polkit for native
-PACKAGECONFIG_class-native = ""
+PACKAGECONFIG:class-native = ""
 
 PACKAGECONFIG[polkit] = "--enable-defaults-service,--disable-defaults-service,polkit"
 PACKAGECONFIG[debug] = "--enable-debug=yes, --enable-debug=minimum"
 
-do_install_append() {
+do_install:append() {
 	# this directory need to be created to avoid an Error 256 at gdm launch
 	install -d ${D}${sysconfdir}/gconf/gconf.xml.system
 
@@ -42,19 +42,19 @@ do_install_append() {
 	rm -f ${D}${libdir}/gio/*/*.*a
 }
 
-do_install_append_class-native() {
+do_install:append:class-native() {
 	create_wrapper ${D}/${bindir}/gconftool-2 \
 		GCONF_BACKEND_DIR=${STAGING_LIBDIR_NATIVE}/GConf/2
 }
 
-FILES_${PN} += "${libdir}/GConf/* \
+FILES:${PN} += "${libdir}/GConf/* \
                 ${libdir}/gio/*/*.so \
                 ${datadir}/polkit* \
                 ${datadir}/dbus-1/services/*.service \
                 ${datadir}/dbus-1/system-services/*.service \
                "
-RDEPENDS_${PN} = "python3-xml"
+RDEPENDS:${PN} = "python3-xml"
 
-FILES_${PN}-dev += "${datadir}/sgml/gconf/gconf-1.0.dtd"
+FILES:${PN}-dev += "${datadir}/sgml/gconf/gconf-1.0.dtd"
 
 BBCLASSEXTEND = "native"
diff --git a/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.68.0.bb b/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.68.0.bb
index 048deabe642..cf1349f830a 100644
--- a/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.68.0.bb
+++ b/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.68.0.bb
@@ -19,7 +19,7 @@ SRC_URI = "${GNOME_MIRROR}/${BPN}/${@oe.utils.trim_version("${PV}", 2)}/${BPN}-$
 
 SRC_URI[sha256sum] = "d229242481a201b84a0c66716de1752bca41db4133672cfcfb37c93eb6e54a27"
 
-SRC_URI_append_class-native = " file://0001-Relocate-the-repository-directory-for-native-builds.patch"
+SRC_URI:append:class-native = " file://0001-Relocate-the-repository-directory-for-native-builds.patch"
 
 inherit meson pkgconfig gtk-doc python3native qemu gobject-introspection-data upstream-version-is-even multilib_script
 
@@ -34,7 +34,7 @@ DEPENDS += " libffi zlib glib-2.0 python3 flex-native bison-native autoconf-arch
 # native versions of its own tools during build.
 # Also prelink-rtld is used to find out library dependencies of introspection binaries
 # (standard ldd doesn't work when cross-compiling).
-DEPENDS_append_class-target = " gobject-introspection-native qemu-native prelink-native"
+DEPENDS:append:class-target = " gobject-introspection-native qemu-native prelink-native"
 
 # needed for writing out the qemu wrapper script
 export STAGING_DIR_HOST
@@ -45,7 +45,7 @@ PACKAGECONFIG[doctool] = "-Ddoctool=enabled,-Ddoctool=disabled,python3-mako,"
 
 # Configure target build to use native tools of itself and to use a qemu wrapper
 # and optionally to generate introspection data
-EXTRA_OEMESON_class-target = " \
+EXTRA_OEMESON:class-target = " \
     -Dgi_cross_use_prebuilt_gi=true \
     -Dgi_cross_binary_wrapper=${B}/g-ir-scanner-qemuwrapper \
     -Dgi_cross_ldd_wrapper=${B}/g-ir-scanner-lddwrapper \
@@ -61,14 +61,14 @@ python gobject_introspection_preconfigure () {
     oe.utils.write_ld_so_conf(d)
 }
 
-do_configure_prepend_class-native() {
+do_configure:prepend:class-native() {
         # Tweak the native python scripts so that they don't refer to the
         # full path of native python binary (the solution is taken from glib-2.0 recipe)
         # This removes the risk of exceeding Linux kernel's shebang line limit (128 bytes)
         sed -i -e '1s,#!.*,#!${USRBINPATH}/env python3,' ${S}/tools/g-ir-tool-template.in
 }
 
-do_configure_prepend_class-target() {
+do_configure:prepend:class-target() {
         # Write out a qemu wrapper that will be given to gi-scanner so that it
         # can run target helper binaries through that.
         qemu_binary="${@qemu_wrapper_cmdline(d, '$STAGING_DIR_HOST', ['\\$GIR_EXTRA_LIBS_PATH','.libs','$STAGING_DIR_HOST/${libdir}','$STAGING_DIR_HOST/${base_libdir}'])}"
@@ -121,7 +121,7 @@ EOF
         sed -i -e '1s,#!.*,#!${USRBINPATH}/env python3,' ${S}/tools/g-ir-tool-template.in
 }
 
-do_compile_prepend() {
+do_compile:prepend() {
         # This prevents g-ir-scanner from writing cache data to $HOME
         export GI_SCANNER_DISABLE_CACHE=1
 
@@ -129,14 +129,14 @@ do_compile_prepend() {
         export GIR_EXTRA_LIBS_PATH=$B/.libs
 }
 
-do_install_prepend() {
+do_install:prepend() {
         # This prevents g-ir-scanner from writing cache data to $HOME
         export GI_SCANNER_DISABLE_CACHE=1
 }
 
 # Our wrappers need to be available system-wide, because they will be used
 # to build introspection files for all other gobject-based packages
-do_install_append_class-target() {
+do_install:append:class-target() {
         install -d ${D}${bindir}/
         install ${B}/g-ir-scanner-qemuwrapper ${D}${bindir}/
         install ${B}/g-ir-scanner-wrapper ${D}${bindir}/
@@ -146,9 +146,9 @@ do_install_append_class-target() {
 
 # we need target versions of introspection tools in sysroot so that they can be run via qemu
 # when building introspection files in other packages
-SYSROOT_DIRS_append_class-target = " ${bindir}"
+SYSROOT_DIRS:append:class-target = " ${bindir}"
 
-SYSROOT_PREPROCESS_FUNCS_append_class-target = " gi_binaries_sysroot_preprocess"
+SYSROOT_PREPROCESS_FUNCS:append:class-target = " gi_binaries_sysroot_preprocess"
 gi_binaries_sysroot_preprocess() {
         # Tweak the binary names in the introspection pkgconfig file, so that it
         # picks up our wrappers which do the cross-compile and qemu magic.
@@ -158,7 +158,7 @@ gi_binaries_sysroot_preprocess() {
            ${SYSROOT_DESTDIR}${libdir}/pkgconfig/gobject-introspection-1.0.pc
 }
 
-SYSROOT_PREPROCESS_FUNCS_append = " gi_ldsoconf_sysroot_preprocess"
+SYSROOT_PREPROCESS_FUNCS:append = " gi_ldsoconf_sysroot_preprocess"
 gi_ldsoconf_sysroot_preprocess () {
 	mkdir -p ${SYSROOT_DESTDIR}${bindir}
 	dest=${SYSROOT_DESTDIR}${bindir}/postinst-ldsoconf-${PN}
@@ -181,26 +181,26 @@ gi_package_preprocess() {
 SSTATE_SCAN_FILES += "g-ir-scanner-qemuwrapper g-ir-scanner-wrapper g-ir-compiler-wrapper g-ir-scanner-lddwrapper Gio-2.0.gir postinst-ldsoconf-${PN}"
 
 # .typelib files are needed at runtime and so they go to the main package
-FILES_${PN}_append = " ${libdir}/girepository-*/*.typelib"
+FILES:${PN}:append = " ${libdir}/girepository-*/*.typelib"
 
 # .gir files go to dev package, as they're needed for developing (but not for running)
 # things that depends on introspection.
-FILES_${PN}-dev_append = " ${datadir}/gir-*/*.gir ${libdir}/gir-*/*.gir"
-FILES_${PN}-dev_append = " ${datadir}/gir-*/*.rnc"
+FILES:${PN}-dev:append = " ${datadir}/gir-*/*.gir ${libdir}/gir-*/*.gir"
+FILES:${PN}-dev:append = " ${datadir}/gir-*/*.rnc"
 
 # These are used by gobject-based packages
 # to generate transient introspection binaries
-FILES_${PN}-dev_append = " ${datadir}/gobject-introspection-1.0/gdump.c \
+FILES:${PN}-dev:append = " ${datadir}/gobject-introspection-1.0/gdump.c \
                            ${datadir}/gobject-introspection-1.0/Makefile.introspection"
 
 # These are used by dependent packages (e.g. pygobject) to build their
 # testsuites.
-FILES_${PN}-dev_append = " ${datadir}/gobject-introspection-1.0/tests/*.c \
+FILES:${PN}-dev:append = " ${datadir}/gobject-introspection-1.0/tests/*.c \
                            ${datadir}/gobject-introspection-1.0/tests/*.h"
 
-FILES_${PN}-dbg += "${libdir}/gobject-introspection/giscanner/.debug/"
-FILES_${PN}-staticdev += "${libdir}/gobject-introspection/giscanner/*.a"
+FILES:${PN}-dbg += "${libdir}/gobject-introspection/giscanner/.debug/"
+FILES:${PN}-staticdev += "${libdir}/gobject-introspection/giscanner/*.a"
 
-RDEPENDS_${PN} = "python3-pickle python3-xml"
+RDEPENDS:${PN} = "python3-pickle python3-xml"
 
 BBCLASSEXTEND = "native"
diff --git a/meta/recipes-gnome/gtk+/gtk+3.inc b/meta/recipes-gnome/gtk+/gtk+3.inc
index 1445c406d8f..47cdb83dce6 100644
--- a/meta/recipes-gnome/gtk+/gtk+3.inc
+++ b/meta/recipes-gnome/gtk+/gtk+3.inc
@@ -15,7 +15,7 @@ inherit autotools gettext pkgconfig gtk-doc update-alternatives gtk-immodules-ca
 
 BBCLASSEXTEND = "native nativesdk"
 
-GSETTINGS_PACKAGE_class-native = ""
+GSETTINGS_PACKAGE:class-native = ""
 
 # versions >= 3.90 are development versions, otherwise like upstream-version-is-even
 UPSTREAM_CHECK_REGEX = "[^\d\.](?P<pver>3\.([1-8]?[02468])+(\.\d+)+)\.tar"
@@ -26,7 +26,7 @@ ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
 # it here avoids rebuilding everything.
 export PKG_CONFIG_FOR_BUILD = "${STAGING_BINDIR_NATIVE}/pkg-config-native"
 
-do_configure_prepend() {
+do_configure:prepend() {
     # Do this because the configure script is running ./libtool directly
     rm -f libtool
     ln -s ${TARGET_PREFIX}libtool libtool
@@ -48,14 +48,14 @@ EXTRA_OECONF += " \
                  ${@bb.utils.contains("DISTRO_FEATURES", "x11", "", "--disable-gtk-doc", d)} \
                  "
 
-do_compile_prepend() {
+do_compile:prepend() {
         export GIR_EXTRA_LIBS_PATH="${B}/gdk/.libs"
 }
 
 PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'opengl wayland x11', d)} \
                    ${@bb.utils.contains('DISTRO_FEATURES', 'opengl x11', 'glx', '', d)}"
-PACKAGECONFIG_class-native = "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
-PACKAGECONFIG_class-nativesdk = "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
+PACKAGECONFIG:class-native = "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
+PACKAGECONFIG:class-nativesdk = "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
 
 PACKAGECONFIG[x11] = "--enable-x11-backend,--disable-x11-backend,at-spi2-atk fontconfig libx11 libxext libxcursor libxi libxdamage libxrandr libxrender libxcomposite libxfixes"
 # this is provided by oe-core patch that removes epoxy/gl dependency from a X11 build
@@ -73,15 +73,15 @@ prepare_gtk_scripts() {
     ln ${D}${bindir}/gtk-query-immodules-3.0 ${D}${libexecdir}/${MLPREFIX}gtk-query-immodules-3.0
 }
 
-do_install_append_class-target() {
+do_install:append:class-target() {
     prepare_gtk_scripts
 }
 
-do_install_append_class-nativesdk() {
+do_install:append:class-nativesdk() {
     prepare_gtk_scripts
 }
 
-do_install_append_class-native() {
+do_install:append:class-native() {
         create_wrapper ${D}/${bindir}/gtk-update-icon-cache \
                 GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/2.10.0/loaders.cache
         create_wrapper ${D}/${bindir}/gtk-encode-symbolic-svg \
@@ -92,7 +92,7 @@ PROVIDES += "gtk-icon-utils"
 PACKAGES =+ "${PN}-demo"
 LIBV = "3.0.0"
 
-FILES_${PN}-demo = "${bindir}/gtk3-demo \
+FILES:${PN}-demo = "${bindir}/gtk3-demo \
                     ${bindir}/gtk3-demo-application \
                     ${bindir}/gtk3-icon-browser \
                     ${bindir}/gtk3-widget-factory \
@@ -103,14 +103,14 @@ FILES_${PN}-demo = "${bindir}/gtk3-demo \
                     ${datadir}/icons/hicolor/*/apps/gtk3-demo*.png \
                     ${datadir}/icons/hicolor/*/apps/gtk3-widget-factory*.png"
 
-FILES_${PN}_append = " ${bindir}/gtk-update-icon-cache-3.0 \
+FILES:${PN}:append = " ${bindir}/gtk-update-icon-cache-3.0 \
                ${bindir}/gtk-query-immodules-3.0 \
                ${bindir}/gtk-launch \
                ${datadir}/themes ${sysconfdir} ${datadir}/glib-2.0/schemas/ \
                ${libdir}/gtk-3.0/${LIBV}/engines/libpixmap.so \
                ${libdir}/gtk-3.0/modules/*.so"
 
-FILES_${PN}-dev += " \
+FILES:${PN}-dev += " \
                     ${datadir}/gtk-3.0/gtkbuilder.rng \
                     ${datadir}/gtk-3.0/include \
                     ${datadir}/gtk-3.0/valgrind \
@@ -136,22 +136,22 @@ GTKBASE_RRECOMMENDS ?= "liberation-fonts \
                         adwaita-icon-theme-symbolic \
                         "
 
-GTKBASE_RRECOMMENDS_class-native ?= "\
+GTKBASE_RRECOMMENDS:class-native ?= "\
                         "
 
 GTKGLIBC_RRECOMMENDS ?= "${GTKBASE_RRECOMMENDS} glibc-gconv-iso8859-1"
 
-RRECOMMENDS_${PN} = "${GTKBASE_RRECOMMENDS}"
-RRECOMMENDS_${PN}_libc-glibc = "${GTKGLIBC_RRECOMMENDS}"
-RDEPENDS_${PN}-dev += "${@bb.utils.contains("PACKAGECONFIG", "wayland", "wayland-protocols", "", d)}"
+RRECOMMENDS:${PN} = "${GTKBASE_RRECOMMENDS}"
+RRECOMMENDS:${PN}:libc-glibc = "${GTKGLIBC_RRECOMMENDS}"
+RDEPENDS:${PN}-dev += "${@bb.utils.contains("PACKAGECONFIG", "wayland", "wayland-protocols", "", d)}"
 
 PACKAGES_DYNAMIC += "^gtk3-immodule-.* ^gtk3-printbackend-.*"
 
-ALTERNATIVE_${PN} = "gtk-update-icon-cache"
+ALTERNATIVE:${PN} = "gtk-update-icon-cache"
 ALTERNATIVE_TARGET[gtk-update-icon-cache] = "${bindir}/gtk-update-icon-cache-3.0"
 ALTERNATIVE_PRIORITY = "30"
 
-python populate_packages_prepend () {
+python populate_packages:prepend () {
     import os.path
 
     gtk_libdir = d.expand('${libdir}/gtk-3.0/${LIBV}')
@@ -165,5 +165,5 @@ python populate_packages_prepend () {
     do_split_packages(d, printmodules_root, r'^libprintbackend-(.*)\.so$', 'gtk3-printbackend-%s', 'GTK printbackend module for %s')
 
     if (d.getVar('DEBIAN_NAMES')):
-        d.setVar(d.expand('PKG_${PN}'), '${MLPREFIX}libgtk-3.0')
+        d.setVar(d.expand('PKG:${PN}'), '${MLPREFIX}libgtk-3.0')
 }
diff --git a/meta/recipes-gnome/gtk-doc/gtk-doc_1.33.2.bb b/meta/recipes-gnome/gtk-doc/gtk-doc_1.33.2.bb
index 23cd25986e6..1c9d517525b 100644
--- a/meta/recipes-gnome/gtk-doc/gtk-doc_1.33.2.bb
+++ b/meta/recipes-gnome/gtk-doc/gtk-doc_1.33.2.bb
@@ -24,18 +24,18 @@ SRC_URI += "file://0001-Do-not-hardocode-paths-to-perl-python-in-scripts.patch \
            file://conditionaltests.patch \
            file://no-clobber.patch \
            "
-SRC_URI_append_class-native = " file://pkg-config-native.patch"
+SRC_URI:append:class-native = " file://pkg-config-native.patch"
 
 BBCLASSEXTEND = "native nativesdk"
 
 # Do not check for XML catalogs when building because that
 # information is not used for anything during build. Recipe
 # dependencies make sure we have all the right bits.
-do_configure_prepend() {
+do_configure:prepend() {
         sed -i -e 's,^JH_CHECK_XML_CATALOG.*,,' ${S}/configure.ac
 }
 
-do_install_append () {
+do_install:append () {
     # configure values for python3 and pkg-config encoded in scripts
     for fn in ${bindir}/gtkdoc-depscan \
         ${bindir}/gtkdoc-mkhtml2 \
@@ -47,10 +47,10 @@ do_install_append () {
     done
 }
 
-FILES_${PN} += "${datadir}/sgml"
-FILES_${PN}-doc = ""
+FILES:${PN} += "${datadir}/sgml"
+FILES:${PN}-doc = ""
 
-SYSROOT_PREPROCESS_FUNCS_append_class-native = " gtkdoc_makefiles_sysroot_preprocess"
+SYSROOT_PREPROCESS_FUNCS:append:class-native = " gtkdoc_makefiles_sysroot_preprocess"
 gtkdoc_makefiles_sysroot_preprocess() {
         # Patch the gtk-doc makefiles so that the qemu wrapper is used to run transient binaries
         # instead of libtool wrapper or running them directly
diff --git a/meta/recipes-gnome/hicolor-icon-theme/hicolor-icon-theme_0.17.bb b/meta/recipes-gnome/hicolor-icon-theme/hicolor-icon-theme_0.17.bb
index 74e34305284..5a9f675b7fc 100644
--- a/meta/recipes-gnome/hicolor-icon-theme/hicolor-icon-theme_0.17.bb
+++ b/meta/recipes-gnome/hicolor-icon-theme/hicolor-icon-theme_0.17.bb
@@ -13,6 +13,6 @@ SRC_URI[sha256sum] = "317484352271d18cbbcfac3868eab798d67fff1b8402e740baa6ff41d5
 
 inherit allarch autotools
 
-FILES_${PN} += "${datadir}/icons"
+FILES:${PN} += "${datadir}/icons"
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-gnome/json-glib/json-glib_1.6.2.bb b/meta/recipes-gnome/json-glib/json-glib_1.6.2.bb
index fdf3b245e8e..3f3707805bc 100644
--- a/meta/recipes-gnome/json-glib/json-glib_1.6.2.bb
+++ b/meta/recipes-gnome/json-glib/json-glib_1.6.2.bb
@@ -30,4 +30,4 @@ BBCLASSEXTEND = "native nativesdk"
 
 # Currently it's not possible to disable gettext in Meson, so we need to force
 # this back on.
-USE_NLS_class-native = "yes"
+USE_NLS:class-native = "yes"
diff --git a/meta/recipes-gnome/libgudev/libgudev_236.bb b/meta/recipes-gnome/libgudev/libgudev_236.bb
index 5d1d2d782be..169b19e0a93 100644
--- a/meta/recipes-gnome/libgudev/libgudev_236.bb
+++ b/meta/recipes-gnome/libgudev/libgudev_236.bb
@@ -7,11 +7,11 @@ HOMEPAGE = "https://wiki.gnome.org/Projects/libgudev"
 BUGTRACKER = "https://gitlab.gnome.org/GNOME/libgudev/issues"
 SRC_URI[archive.sha256sum] = "e50369d06d594bae615eb7aeb787de304ebaad07a26d1043cef8e9c7ab7c9524"
 
-SRC_URI_append = " file://0001-gudevenumtypes-make-deterministic.patch"
+SRC_URI:append = " file://0001-gudevenumtypes-make-deterministic.patch"
 
 DEPENDS = "glib-2.0 udev"
 
-RCONFLICTS_${PN} = "systemd (<= 220)"
+RCONFLICTS:${PN} = "systemd (<= 220)"
 
 LICENSE = "LGPLv2.1"
 LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
diff --git a/meta/recipes-gnome/libhandy/libhandy_1.2.3.bb b/meta/recipes-gnome/libhandy/libhandy_1.2.3.bb
index acb6e53b72a..3921099412d 100644
--- a/meta/recipes-gnome/libhandy/libhandy_1.2.3.bb
+++ b/meta/recipes-gnome/libhandy/libhandy_1.2.3.bb
@@ -24,4 +24,4 @@ ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
 DEPENDS += "gtk+3"
 
 PACKAGES =+ "${PN}-examples"
-FILES_${PN}-examples = "${bindir}"
+FILES:${PN}-examples = "${bindir}"
diff --git a/meta/recipes-gnome/libnotify/libnotify_0.7.9.bb b/meta/recipes-gnome/libnotify/libnotify_0.7.9.bb
index d2be715ce51..dd081f9f449 100644
--- a/meta/recipes-gnome/libnotify/libnotify_0.7.9.bb
+++ b/meta/recipes-gnome/libnotify/libnotify_0.7.9.bb
@@ -30,9 +30,9 @@ EXTRA_OEMESON = "-Dman=false"
 # there were times, we had two versions of libnotify (oe-core libnotify:0.6.x /
 # meta-gnome libnotify3: 0.7.x)
 PROVIDES += "libnotify3"
-RPROVIDES_${PN} += "libnotify3"
-RCONFLICTS_${PN} += "libnotify3"
-RREPLACES_${PN} += "libnotify3"
+RPROVIDES:${PN} += "libnotify3"
+RCONFLICTS:${PN} += "libnotify3"
+RREPLACES:${PN} += "libnotify3"
 
 # -7381 is specific to the NodeJS bindings
 CVE_CHECK_WHITELIST += "CVE-2013-7381"
diff --git a/meta/recipes-gnome/librsvg/librsvg_2.40.21.bb b/meta/recipes-gnome/librsvg/librsvg_2.40.21.bb
index 59de80a691d..39b9aeca5d7 100644
--- a/meta/recipes-gnome/librsvg/librsvg_2.40.21.bb
+++ b/meta/recipes-gnome/librsvg/librsvg_2.40.21.bb
@@ -36,17 +36,17 @@ PACKAGECONFIG[gdkpixbuf] = "--enable-pixbuf-loader,--disable-pixbuf-loader,gdk-p
 # GTK+ test application (rsvg-view)
 PACKAGECONFIG[gtk] = "--with-gtk3,--without-gtk3,gtk+3"
 
-do_install_append() {
+do_install:append() {
 	# Loadable modules don't need .a or .la on Linux
 	rm -f ${D}${libdir}/gdk-pixbuf-2.0/*/loaders/*.a ${D}${libdir}/gdk-pixbuf-2.0/*/loaders/*.la
 }
 
 PACKAGES =+ "librsvg-gtk rsvg"
-FILES_rsvg = "${bindir}/rsvg* \
+FILES:rsvg = "${bindir}/rsvg* \
 	      ${datadir}/pixmaps/svg-viewer.svg \
 	      ${datadir}/themes"
-FILES_librsvg-gtk = "${libdir}/gdk-pixbuf-2.0/*/*/*.so \
+FILES:librsvg-gtk = "${libdir}/gdk-pixbuf-2.0/*/*/*.so \
                      ${datadir}/thumbnailers/librsvg.thumbnailer"
-RRECOMMENDS_librsvg-gtk = "gdk-pixbuf-bin"
+RRECOMMENDS:librsvg-gtk = "gdk-pixbuf-bin"
 
 PIXBUF_PACKAGES = "librsvg-gtk"
diff --git a/meta/recipes-gnome/libsecret/libsecret_0.20.4.bb b/meta/recipes-gnome/libsecret/libsecret_0.20.4.bb
index 287ac70f1e0..9c1f97b8f84 100644
--- a/meta/recipes-gnome/libsecret/libsecret_0.20.4.bb
+++ b/meta/recipes-gnome/libsecret/libsecret_0.20.4.bb
@@ -23,6 +23,6 @@ GTKDOC_MESON_OPTION = 'gtk_doc'
 PACKAGECONFIG[manpages] = "-Dmanpage=true,-Dmanpage=false,libxslt-native xmlto-native"
 
 # http://errors.yoctoproject.org/Errors/Details/20228/
-ARM_INSTRUCTION_SET_armv4 = "arm"
-ARM_INSTRUCTION_SET_armv5 = "arm"
-ARM_INSTRUCTION_SET_armv6 = "arm"
+ARM_INSTRUCTION_SET:armv4 = "arm"
+ARM_INSTRUCTION_SET:armv5 = "arm"
+ARM_INSTRUCTION_SET:armv6 = "arm"
diff --git a/meta/recipes-graphics/builder/builder_0.1.bb b/meta/recipes-graphics/builder/builder_0.1.bb
index 9d5cd8cde6c..f448465f9ae 100644
--- a/meta/recipes-graphics/builder/builder_0.1.bb
+++ b/meta/recipes-graphics/builder/builder_0.1.bb
@@ -10,14 +10,14 @@ SRC_URI = "file://builder_session.sh \
 
 S = "${WORKDIR}"
 
-RDEPENDS_${PN} = "mini-x-session"
+RDEPENDS:${PN} = "mini-x-session"
 
 inherit useradd
 
 # builder user password is "builder"
 BUILDER_PASSWORD ?= ".gLibiNXn0P12"
 USERADD_PACKAGES = "${PN}"
-USERADD_PARAM_${PN} = "--system --create-home \
+USERADD_PARAM:${PN} = "--system --create-home \
                        --groups video,tty,audio \
                        --password ${BUILDER_PASSWORD} \
                        --user-group builder"
diff --git a/meta/recipes-graphics/cairo/cairo_1.16.0.bb b/meta/recipes-graphics/cairo/cairo_1.16.0.bb
index 9d9fbfbe0d5..d76d935c306 100644
--- a/meta/recipes-graphics/cairo/cairo_1.16.0.bb
+++ b/meta/recipes-graphics/cairo/cairo_1.16.0.bb
@@ -11,12 +11,12 @@ BUGTRACKER = "http://bugs.freedesktop.org"
 SECTION = "libs"
 
 LICENSE = "(MPL-1.1 | LGPLv2.1) & GPLv3+"
-LICENSE_${PN} = "MPL-1.1 | LGPLv2.1"
-LICENSE_${PN}-dev = "MPL-1.1 | LGPLv2.1"
-LICENSE_${PN}-doc = "MPL-1.1 | LGPLv2.1"
-LICENSE_${PN}-gobject = "MPL-1.1 | LGPLv2.1"
-LICENSE_${PN}-script-interpreter = "MPL-1.1 | LGPLv2.1"
-LICENSE_${PN}-perf-utils = "GPLv3+"
+LICENSE:${PN} = "MPL-1.1 | LGPLv2.1"
+LICENSE:${PN}-dev = "MPL-1.1 | LGPLv2.1"
+LICENSE:${PN}-doc = "MPL-1.1 | LGPLv2.1"
+LICENSE:${PN}-gobject = "MPL-1.1 | LGPLv2.1"
+LICENSE:${PN}-script-interpreter = "MPL-1.1 | LGPLv2.1"
+LICENSE:${PN}-perf-utils = "GPLv3+"
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=e73e999e0c72b5ac9012424fa157ad77"
 
@@ -43,8 +43,8 @@ PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'directfb', d)} \
                    ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11 xcb', '', d)} \
                    ${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'opengl', '', d)} \
                    trace"
-PACKAGECONFIG_class-native = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11 xcb', '', d)}"
-PACKAGECONFIG_class-nativesdk = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11 xcb', '', d)}"
+PACKAGECONFIG:class-native = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11 xcb', '', d)}"
+PACKAGECONFIG:class-nativesdk = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11 xcb', '', d)}"
 
 PACKAGECONFIG[x11] = "--with-x=yes -enable-xlib,--with-x=no --disable-xlib,${X11DEPENDS}"
 PACKAGECONFIG[xcb] = "--enable-xcb,--disable-xcb,libxcb"
@@ -65,7 +65,7 @@ export ac_cv_lib_bfd_bfd_openr="no"
 # Ensure we don't depend on LZO
 export ac_cv_lib_lzo2_lzo2a_decompress="no"
 
-do_install_append () {
+do_install:append () {
 	rm -rf ${D}${bindir}/cairo-sphinx
 	rm -rf ${D}${libdir}/cairo/cairo-fdr*
 	rm -rf ${D}${libdir}/cairo/cairo-sphinx*
@@ -79,20 +79,20 @@ do_install_append () {
 
 PACKAGES =+ "cairo-gobject cairo-script-interpreter cairo-perf-utils"
 
-SUMMARY_cairo-gobject = "The Cairo library GObject wrapper library"
-DESCRIPTION_cairo-gobject = "A GObject wrapper library for the Cairo API."
+SUMMARY:cairo-gobject = "The Cairo library GObject wrapper library"
+DESCRIPTION:cairo-gobject = "A GObject wrapper library for the Cairo API."
 
-SUMMARY_cairo-script-interpreter = "The Cairo library script interpreter"
-DESCRIPTION_cairo-script-interpreter = "The Cairo script interpreter implements \
+SUMMARY:cairo-script-interpreter = "The Cairo library script interpreter"
+DESCRIPTION:cairo-script-interpreter = "The Cairo script interpreter implements \
 CairoScript.  CairoScript is used by tracing utilities to enable the ability \
 to replay rendering."
 
-DESCRIPTION_cairo-perf-utils = "The Cairo library performance utilities"
+DESCRIPTION:cairo-perf-utils = "The Cairo library performance utilities"
 
-FILES_${PN} = "${libdir}/libcairo.so.*"
-FILES_${PN}-gobject = "${libdir}/libcairo-gobject.so.*"
-FILES_${PN}-script-interpreter = "${libdir}/libcairo-script-interpreter.so.*"
-FILES_${PN}-perf-utils = "${bindir}/cairo-trace* ${libdir}/cairo/*.la ${libdir}/cairo/libcairo-trace.so"
+FILES:${PN} = "${libdir}/libcairo.so.*"
+FILES:${PN}-gobject = "${libdir}/libcairo-gobject.so.*"
+FILES:${PN}-script-interpreter = "${libdir}/libcairo-script-interpreter.so.*"
+FILES:${PN}-perf-utils = "${bindir}/cairo-trace* ${libdir}/cairo/*.la ${libdir}/cairo/libcairo-trace.so"
 
 BBCLASSEXTEND = "native nativesdk"
 
diff --git a/meta/recipes-graphics/cantarell-fonts/cantarell-fonts_0.301.bb b/meta/recipes-graphics/cantarell-fonts/cantarell-fonts_0.301.bb
index b0ce56127d8..8e39ef025f6 100644
--- a/meta/recipes-graphics/cantarell-fonts/cantarell-fonts_0.301.bb
+++ b/meta/recipes-graphics/cantarell-fonts/cantarell-fonts_0.301.bb
@@ -19,7 +19,7 @@ HASHEQUIV_HASH_VERSION .= ".2"
 
 EXTRA_OEMESON += "-Duseprebuilt=true -Dbuildappstream=false"
 
-FILES_${PN} = "${datadir}/fonts ${datadir}/fontconfig"
+FILES:${PN} = "${datadir}/fonts ${datadir}/fontconfig"
 
 # This isn't a GNOME-style version do gnome_verdir fails. Just return the
 # version as that is how the directory is structured.
diff --git a/meta/recipes-graphics/drm/libdrm_2.4.107.bb b/meta/recipes-graphics/drm/libdrm_2.4.107.bb
index 1dd07046f72..b6458984811 100644
--- a/meta/recipes-graphics/drm/libdrm_2.4.107.bb
+++ b/meta/recipes-graphics/drm/libdrm_2.4.107.bb
@@ -37,24 +37,24 @@ PACKAGECONFIG[cairo-tests] = "-Dcairo-tests=true,-Dcairo-tests=false"
 PACKAGECONFIG[udev] = "-Dudev=true,-Dudev=false,udev"
 PACKAGECONFIG[manpages] = "-Dman-pages=true,-Dman-pages=false,libxslt-native xmlto-native python3-docutils-native"
 
-ALLOW_EMPTY_${PN}-drivers = "1"
+ALLOW_EMPTY:${PN}-drivers = "1"
 PACKAGES =+ "${PN}-tests ${PN}-drivers ${PN}-radeon ${PN}-nouveau ${PN}-omap \
              ${PN}-intel ${PN}-exynos ${PN}-kms ${PN}-freedreno ${PN}-amdgpu \
              ${PN}-etnaviv"
 
-RRECOMMENDS_${PN}-drivers = "${PN}-radeon ${PN}-nouveau ${PN}-omap ${PN}-intel \
+RRECOMMENDS:${PN}-drivers = "${PN}-radeon ${PN}-nouveau ${PN}-omap ${PN}-intel \
                              ${PN}-exynos ${PN}-freedreno ${PN}-amdgpu \
                              ${PN}-etnaviv"
 
-FILES_${PN}-tests = "${bindir}/*"
-FILES_${PN}-radeon = "${libdir}/libdrm_radeon.so.*"
-FILES_${PN}-nouveau = "${libdir}/libdrm_nouveau.so.*"
-FILES_${PN}-omap = "${libdir}/libdrm_omap.so.*"
-FILES_${PN}-intel = "${libdir}/libdrm_intel.so.*"
-FILES_${PN}-exynos = "${libdir}/libdrm_exynos.so.*"
-FILES_${PN}-kms = "${libdir}/libkms*.so.*"
-FILES_${PN}-freedreno = "${libdir}/libdrm_freedreno.so.*"
-FILES_${PN}-amdgpu = "${libdir}/libdrm_amdgpu.so.* ${datadir}/${PN}/amdgpu.ids"
-FILES_${PN}-etnaviv = "${libdir}/libdrm_etnaviv.so.*"
+FILES:${PN}-tests = "${bindir}/*"
+FILES:${PN}-radeon = "${libdir}/libdrm_radeon.so.*"
+FILES:${PN}-nouveau = "${libdir}/libdrm_nouveau.so.*"
+FILES:${PN}-omap = "${libdir}/libdrm_omap.so.*"
+FILES:${PN}-intel = "${libdir}/libdrm_intel.so.*"
+FILES:${PN}-exynos = "${libdir}/libdrm_exynos.so.*"
+FILES:${PN}-kms = "${libdir}/libkms*.so.*"
+FILES:${PN}-freedreno = "${libdir}/libdrm_freedreno.so.*"
+FILES:${PN}-amdgpu = "${libdir}/libdrm_amdgpu.so.* ${datadir}/${PN}/amdgpu.ids"
+FILES:${PN}-etnaviv = "${libdir}/libdrm_etnaviv.so.*"
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-graphics/fontconfig/fontconfig_2.13.1.bb b/meta/recipes-graphics/fontconfig/fontconfig_2.13.1.bb
index d0da419ce0e..63e40628628 100644
--- a/meta/recipes-graphics/fontconfig/fontconfig_2.13.1.bb
+++ b/meta/recipes-graphics/fontconfig/fontconfig_2.13.1.bb
@@ -29,33 +29,33 @@ SRC_URI[sha256sum] = "9f0d852b39d75fc655f9f53850eb32555394f36104a044bb2b2fc9e66d
 
 UPSTREAM_CHECK_REGEX = "fontconfig-(?P<pver>\d+\.\d+\.(?!9\d+)\d+)"
 
-do_configure_prepend() {
+do_configure:prepend() {
     # work around https://bugs.freedesktop.org/show_bug.cgi?id=101280
     rm -f ${S}/src/fcobjshash.h ${S}/src/fcobjshash.gperf
 }
 
-do_install_append_class-target() {
+do_install:append:class-target() {
     # duplicate fc-cache for postinstall script
     mkdir -p ${D}${libexecdir}
     ln ${D}${bindir}/fc-cache ${D}${libexecdir}/${MLPREFIX}fc-cache
 }
 
-do_install_append_class-nativesdk() {
+do_install:append:class-nativesdk() {
     # duplicate fc-cache for postinstall script
     mkdir -p ${D}${libexecdir}
     ln ${D}${bindir}/fc-cache ${D}${libexecdir}/${MLPREFIX}fc-cache
 }
 
 PACKAGES =+ "fontconfig-utils"
-FILES_${PN} =+ "${datadir}/xml/*"
-FILES_${PN}-dev += "${datadir}/gettext/*"
-FILES_fontconfig-utils = "${bindir}/* ${libexecdir}/*"
+FILES:${PN} =+ "${datadir}/xml/*"
+FILES:${PN}-dev += "${datadir}/gettext/*"
+FILES:fontconfig-utils = "${bindir}/* ${libexecdir}/*"
 
 # Work around past breakage in debian.bbclass
-RPROVIDES_fontconfig-utils = "libfontconfig-utils"
-RREPLACES_fontconfig-utils = "libfontconfig-utils"
-RCONFLICTS_fontconfig-utils = "libfontconfig-utils"
-DEBIAN_NOAUTONAME_fontconfig-utils = "1"
+RPROVIDES:fontconfig-utils = "libfontconfig-utils"
+RREPLACES:fontconfig-utils = "libfontconfig-utils"
+RCONFLICTS:fontconfig-utils = "libfontconfig-utils"
+DEBIAN_NOAUTONAME:fontconfig-utils = "1"
 
 inherit autotools pkgconfig relative_symlinks gettext
 
diff --git a/meta/recipes-graphics/freetype/freetype_2.10.4.bb b/meta/recipes-graphics/freetype/freetype_2.10.4.bb
index 8462cd35110..18fd8103e87 100644
--- a/meta/recipes-graphics/freetype/freetype_2.10.4.bb
+++ b/meta/recipes-graphics/freetype/freetype_2.10.4.bb
@@ -39,7 +39,7 @@ EXTRA_OECONF = "CC_BUILD='${BUILD_CC}'"
 
 TARGET_CPPFLAGS += "-D_FILE_OFFSET_BITS=64"
 
-do_install_append() {
+do_install:append() {
 	oe_multilib_header freetype2/freetype/config/ftconfig.h
 }
 
diff --git a/meta/recipes-graphics/glslang/glslang_11.5.0.bb b/meta/recipes-graphics/glslang/glslang_11.5.0.bb
index e3eaa2ac63d..2f076e56848 100644
--- a/meta/recipes-graphics/glslang/glslang_11.5.0.bb
+++ b/meta/recipes-graphics/glslang/glslang_11.5.0.bb
@@ -26,6 +26,6 @@ EXTRA_OECMAKE = " \
 
 SOLIBSDEV = "glslang.so"
 # all the other libraries are unversioned, so pack it on PN
-FILES_${PN} += "${libdir}/*.so"
+FILES:${PN} += "${libdir}/*.so"
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-graphics/harfbuzz/harfbuzz_2.8.2.bb b/meta/recipes-graphics/harfbuzz/harfbuzz_2.8.2.bb
index 6da76ad0a3c..48b0c7724a9 100644
--- a/meta/recipes-graphics/harfbuzz/harfbuzz_2.8.2.bb
+++ b/meta/recipes-graphics/harfbuzz/harfbuzz_2.8.2.bb
@@ -32,17 +32,17 @@ PACKAGES =+ "${PN}-icu ${PN}-icu-dev ${PN}-subset"
 
 LEAD_SONAME = "libharfbuzz.so"
 
-do_install_append() {
+do_install:append() {
     # If no tools are installed due to PACKAGECONFIG then this directory is
     #still installed, so remove it to stop packaging wanings.
     rmdir --ignore-fail-on-non-empty ${D}${bindir}
 }
 
-FILES_${PN}-icu = "${libdir}/libharfbuzz-icu.so.*"
-FILES_${PN}-icu-dev = "${libdir}/libharfbuzz-icu.la \
+FILES:${PN}-icu = "${libdir}/libharfbuzz-icu.so.*"
+FILES:${PN}-icu-dev = "${libdir}/libharfbuzz-icu.la \
                        ${libdir}/libharfbuzz-icu.so \
                        ${libdir}/pkgconfig/harfbuzz-icu.pc \
 "
-FILES_${PN}-subset = "${libdir}/libharfbuzz-subset.so.*"
+FILES:${PN}-subset = "${libdir}/libharfbuzz-subset.so.*"
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-graphics/igt-gpu-tools/igt-gpu-tools_git.bb b/meta/recipes-graphics/igt-gpu-tools/igt-gpu-tools_git.bb
index 5ab0498f7ab..79fab7a28a5 100644
--- a/meta/recipes-graphics/igt-gpu-tools/igt-gpu-tools_git.bb
+++ b/meta/recipes-graphics/igt-gpu-tools/igt-gpu-tools_git.bb
@@ -17,8 +17,8 @@ SRC_URI = "git://gitlab.freedesktop.org/drm/igt-gpu-tools.git;protocol=https"
 S = "${WORKDIR}/git"
 
 DEPENDS += "libdrm libpciaccess cairo udev glib-2.0 procps libunwind kmod openssl elfutils alsa-lib json-c bison-native"
-RDEPENDS_${PN} += "bash"
-RDEPENDS_${PN}-tests += "bash"
+RDEPENDS:${PN} += "bash"
+RDEPENDS:${PN}-tests += "bash"
 
 PACKAGE_BEFORE_PN = "${PN}-benchmarks ${PN}-tests"
 
@@ -26,7 +26,7 @@ PACKAGECONFIG[chamelium] = "-Dchamelium=enabled,-Dchamelium=disabled,gsl xmlrpc-
 
 EXTRA_OEMESON = "-Ddocs=disabled -Drunner=enabled -Dsrcdir=/usr/src/debug/${PN}/${PV}-${PR}/git/"
 COMPATIBLE_HOST = "(x86_64.*|i.86.*|arm.*|aarch64).*-linux"
-COMPATIBLE_HOST_libc-musl_class-target = "null"
+COMPATIBLE_HOST:libc-musl:class-target = "null"
 SECURITY_LDFLAGS = "${SECURITY_X_LDFLAGS}"
 
 gputools_sysroot_preprocess() {
@@ -34,7 +34,7 @@ gputools_sysroot_preprocess() {
 }
 SYSROOT_PREPROCESS_FUNCS += "gputools_sysroot_preprocess"
 
-do_install_append() {
+do_install:append() {
     install -d ${D}/usr/share/${BPN}/scripts
     install ${S}/scripts/run-tests.sh ${D}/usr/share/${BPN}/scripts
     install -d ${D}/usr/share/${BPN}/runner
@@ -42,8 +42,8 @@ do_install_append() {
     install -D ${B}/runner/igt_resume ${D}/usr/share/${BPN}/runner
 }
 
-FILES_${PN}-benchmarks += "${libexecdir}/${BPN}/benchmarks"
-FILES_${PN}-tests += "\
+FILES:${PN}-benchmarks += "${libexecdir}/${BPN}/benchmarks"
+FILES:${PN}-tests += "\
         ${libexecdir}/${BPN}/*\
         ${datadir}/${BPN}/1080p-right.png\
         ${datadir}/${BPN}/1080p-left.png\
diff --git a/meta/recipes-graphics/jpeg/libjpeg-turbo_2.1.0.bb b/meta/recipes-graphics/jpeg/libjpeg-turbo_2.1.0.bb
index afa0ab1be60..3b8130af6d2 100644
--- a/meta/recipes-graphics/jpeg/libjpeg-turbo_2.1.0.bb
+++ b/meta/recipes-graphics/jpeg/libjpeg-turbo_2.1.0.bb
@@ -7,8 +7,8 @@ LIC_FILES_CHKSUM = "file://cdjpeg.h;endline=13;md5=8a61af33cc1c681cd5cc297150bbb
                     file://jpeglib.h;endline=16;md5=52b5eaade8d5b6a452a7693dfe52c084 \
                     file://djpeg.c;endline=11;md5=b61f01ad6aff437b34d1f9e8004280a4 \
                     "
-DEPENDS_append_x86-64_class-target = " nasm-native"
-DEPENDS_append_x86_class-target = " nasm-native"
+DEPENDS:append:x86-64:class-target = " nasm-native"
+DEPENDS:append:x86:class-target = " nasm-native"
 
 SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz \
            file://0001-libjpeg-turbo-fix-package_qa-error.patch \
@@ -22,40 +22,40 @@ PE = "1"
 
 # Drop-in replacement for jpeg
 PROVIDES = "jpeg"
-RPROVIDES_${PN} += "jpeg"
-RREPLACES_${PN} += "jpeg"
-RCONFLICTS_${PN} += "jpeg"
+RPROVIDES:${PN} += "jpeg"
+RREPLACES:${PN} += "jpeg"
+RCONFLICTS:${PN} += "jpeg"
 
 inherit cmake pkgconfig
 
 export NASMENV = "--reproducible --debug-prefix-map=${WORKDIR}=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}"
 
 # Add nasm-native dependency consistently for all build arches is hard
-EXTRA_OECMAKE_append_class-native = " -DWITH_SIMD=False"
-EXTRA_OECMAKE_append_class-nativesdk = " -DWITH_SIMD=False"
+EXTRA_OECMAKE:append:class-native = " -DWITH_SIMD=False"
+EXTRA_OECMAKE:append:class-nativesdk = " -DWITH_SIMD=False"
 
 # Work around missing x32 ABI support
-EXTRA_OECMAKE_append_class-target = " ${@bb.utils.contains("TUNE_FEATURES", "mx32", "-DWITH_SIMD=False", "", d)}"
+EXTRA_OECMAKE:append:class-target = " ${@bb.utils.contains("TUNE_FEATURES", "mx32", "-DWITH_SIMD=False", "", d)}"
 
 # Work around missing non-floating point ABI support in MIPS
-EXTRA_OECMAKE_append_class-target = " ${@bb.utils.contains("MIPSPKGSFX_FPU", "-nf", "-DWITH_SIMD=False", "", d)}"
+EXTRA_OECMAKE:append:class-target = " ${@bb.utils.contains("MIPSPKGSFX_FPU", "-nf", "-DWITH_SIMD=False", "", d)}"
 
-EXTRA_OECMAKE_append_class-target_arm = " ${@bb.utils.contains("TUNE_FEATURES", "neon", "", "-DWITH_SIMD=False", d)}"
-EXTRA_OECMAKE_append_class-target_armeb = " ${@bb.utils.contains("TUNE_FEATURES", "neon", "", "-DWITH_SIMD=False", d)}"
+EXTRA_OECMAKE:append:class-target:arm = " ${@bb.utils.contains("TUNE_FEATURES", "neon", "", "-DWITH_SIMD=False", d)}"
+EXTRA_OECMAKE:append:class-target:armeb = " ${@bb.utils.contains("TUNE_FEATURES", "neon", "", "-DWITH_SIMD=False", d)}"
 
 # Provide a workaround if Altivec unit is not present in PPC
-EXTRA_OECMAKE_append_class-target_powerpc = " ${@bb.utils.contains("TUNE_FEATURES", "altivec", "", "-DWITH_SIMD=False", d)}"
-EXTRA_OECMAKE_append_class-target_powerpc64 = " ${@bb.utils.contains("TUNE_FEATURES", "altivec", "", "-DWITH_SIMD=False", d)}"
+EXTRA_OECMAKE:append:class-target:powerpc = " ${@bb.utils.contains("TUNE_FEATURES", "altivec", "", "-DWITH_SIMD=False", d)}"
+EXTRA_OECMAKE:append:class-target:powerpc64 = " ${@bb.utils.contains("TUNE_FEATURES", "altivec", "", "-DWITH_SIMD=False", d)}"
 
-DEBUG_OPTIMIZATION_append_armv4 = " ${@bb.utils.contains('TUNE_CCARGS', '-mthumb', '-fomit-frame-pointer', '', d)}"
-DEBUG_OPTIMIZATION_append_armv5 = " ${@bb.utils.contains('TUNE_CCARGS', '-mthumb', '-fomit-frame-pointer', '', d)}"
+DEBUG_OPTIMIZATION:append:armv4 = " ${@bb.utils.contains('TUNE_CCARGS', '-mthumb', '-fomit-frame-pointer', '', d)}"
+DEBUG_OPTIMIZATION:append:armv5 = " ${@bb.utils.contains('TUNE_CCARGS', '-mthumb', '-fomit-frame-pointer', '', d)}"
 
 PACKAGES =+ "jpeg-tools libturbojpeg"
 
-DESCRIPTION_jpeg-tools = "The jpeg-tools package includes client programs to access libjpeg functionality.  These tools allow for the compression, decompression, transformation and display of JPEG files and benchmarking of the libjpeg library."
-FILES_jpeg-tools = "${bindir}/*"
+DESCRIPTION:jpeg-tools = "The jpeg-tools package includes client programs to access libjpeg functionality.  These tools allow for the compression, decompression, transformation and display of JPEG files and benchmarking of the libjpeg library."
+FILES:jpeg-tools = "${bindir}/*"
 
-DESCRIPTION_libturbojpeg = "A SIMD-accelerated JPEG codec which provides only TurboJPEG APIs"
-FILES_libturbojpeg = "${libdir}/libturbojpeg.so.*"
+DESCRIPTION:libturbojpeg = "A SIMD-accelerated JPEG codec which provides only TurboJPEG APIs"
+FILES:libturbojpeg = "${libdir}/libturbojpeg.so.*"
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-graphics/libepoxy/libepoxy_1.5.8.bb b/meta/recipes-graphics/libepoxy/libepoxy_1.5.8.bb
index 2cd096a5793..dd621b10500 100644
--- a/meta/recipes-graphics/libepoxy/libepoxy_1.5.8.bb
+++ b/meta/recipes-graphics/libepoxy/libepoxy_1.5.8.bb
@@ -25,8 +25,8 @@ PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)} egl"
 
 EXTRA_OEMESON += "-Dtests=false"
 
-PACKAGECONFIG_class-native = "egl x11"
-PACKAGECONFIG_class-nativesdk = "egl x11"
+PACKAGECONFIG:class-native = "egl x11"
+PACKAGECONFIG:class-nativesdk = "egl x11"
 
 BBCLASSEXTEND = "native nativesdk"
 
diff --git a/meta/recipes-graphics/libsdl2/libsdl2_2.0.14.bb b/meta/recipes-graphics/libsdl2/libsdl2_2.0.14.bb
index 3aac32159ad..86b2fc1b7b6 100644
--- a/meta/recipes-graphics/libsdl2/libsdl2_2.0.14.bb
+++ b/meta/recipes-graphics/libsdl2/libsdl2_2.0.14.bb
@@ -11,8 +11,8 @@ LICENSE = "Zlib"
 LIC_FILES_CHKSUM = "file://COPYING.txt;md5=2d4af6adb4d89aad0cdedbcc18c9a32f"
 
 # arm-neon adds MIT license
-LICENSE_append = " ${@bb.utils.contains('PACKAGECONFIG', 'arm-neon', '& MIT', '', d)}"
-LIC_FILES_CHKSUM_append = " ${@bb.utils.contains('PACKAGECONFIG', 'arm-neon', 'file://src/video/arm/pixman-arm-neon-asm.h;md5=9a9cc1e51abbf1da58f4d9528ec9d49b;beginline=1;endline=24', '', d)}"
+LICENSE:append = " ${@bb.utils.contains('PACKAGECONFIG', 'arm-neon', '& MIT', '', d)}"
+LIC_FILES_CHKSUM:append = " ${@bb.utils.contains('PACKAGECONFIG', 'arm-neon', 'file://src/video/arm/pixman-arm-neon-asm.h;md5=9a9cc1e51abbf1da58f4d9528ec9d49b;beginline=1;endline=24', '', d)}"
 
 PROVIDES = "virtual/libsdl2"
 
@@ -45,8 +45,8 @@ EXTRA_OECONF = "--disable-oss --disable-esd --disable-arts \
 # and BSP layers to pick either (desktop) opengl, gles2, or no GL
 PACKAGECONFIG_GL ?= "${@bb.utils.filter('DISTRO_FEATURES', 'opengl', d)}"
 
-PACKAGECONFIG_class-native = "x11 ${PACKAGECONFIG_GL}"
-PACKAGECONFIG_class-nativesdk = "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)} ${PACKAGECONFIG_GL}"
+PACKAGECONFIG:class-native = "x11 ${PACKAGECONFIG_GL}"
+PACKAGECONFIG:class-nativesdk = "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)} ${PACKAGECONFIG_GL}"
 PACKAGECONFIG ??= " \
     ${PACKAGECONFIG_GL} \
     ${@bb.utils.filter('DISTRO_FEATURES', 'alsa directfb pulseaudio x11', d)} \
@@ -65,9 +65,9 @@ PACKAGECONFIG[wayland]    = "--enable-video-wayland,--disable-video-wayland,wayl
 PACKAGECONFIG[x11]        = "--enable-video-x11,--disable-video-x11,virtual/libx11 libxext libxrandr libxrender"
 
 EXTRA_AUTORECONF += "--include=acinclude --exclude=autoheader"
-CFLAGS_append_class-native = " -DNO_SHARED_MEMORY"
+CFLAGS:append:class-native = " -DNO_SHARED_MEMORY"
 
-do_configure_prepend() {
+do_configure:prepend() {
         # Remove old libtool macros.
         MACROS="libtool.m4 lt~obsolete.m4 ltoptions.m4 ltsugar.m4 ltversion.m4"
         for i in ${MACROS}; do
diff --git a/meta/recipes-graphics/libva/libva-initial_2.12.0.bb b/meta/recipes-graphics/libva/libva-initial_2.12.0.bb
index 5c6abeafe6f..4c3045bc650 100644
--- a/meta/recipes-graphics/libva/libva-initial_2.12.0.bb
+++ b/meta/recipes-graphics/libva/libva-initial_2.12.0.bb
@@ -1,5 +1,5 @@
 require libva.inc
 
-do_install_append () {
+do_install:append () {
 	rm -f ${D}${libdir}/*.so*
 }
diff --git a/meta/recipes-graphics/libva/libva_2.12.0.bb b/meta/recipes-graphics/libva/libva_2.12.0.bb
index 4d3fa509635..ed2be289fc1 100644
--- a/meta/recipes-graphics/libva/libva_2.12.0.bb
+++ b/meta/recipes-graphics/libva/libva_2.12.0.bb
@@ -12,9 +12,9 @@ PACKAGECONFIG[wayland] = "-Dwith_wayland=yes,-Dwith_wayland=no,wayland-native wa
 
 PACKAGES =+ "${PN}-x11 ${PN}-glx ${PN}-wayland"
 
-RDEPENDS_${PN}-x11 =+ "${PN}"
-RDEPENDS_${PN}-glx =+ "${PN}-x11"
+RDEPENDS:${PN}-x11 =+ "${PN}"
+RDEPENDS:${PN}-glx =+ "${PN}-x11"
 
-FILES_${PN}-x11 =+ "${libdir}/libva-x11*${SOLIBS}"
-FILES_${PN}-glx =+ "${libdir}/libva-glx*${SOLIBS}"
-FILES_${PN}-wayland =+ "${libdir}/libva-wayland*${SOLIBS}"
+FILES:${PN}-x11 =+ "${libdir}/libva-x11*${SOLIBS}"
+FILES:${PN}-glx =+ "${libdir}/libva-glx*${SOLIBS}"
+FILES:${PN}-wayland =+ "${libdir}/libva-wayland*${SOLIBS}"
diff --git a/meta/recipes-graphics/matchbox-session/matchbox-session_0.1.bb b/meta/recipes-graphics/matchbox-session/matchbox-session_0.1.bb
index 57a3024ea96..53229f2edca 100644
--- a/meta/recipes-graphics/matchbox-session/matchbox-session_0.1.bb
+++ b/meta/recipes-graphics/matchbox-session/matchbox-session_0.1.bb
@@ -7,7 +7,7 @@ LICENSE = "GPLv2"
 LIC_FILES_CHKSUM = "file://matchbox-session;endline=20;md5=180f1c169a15d059a56c30094f6fb5ea"
 
 SECTION = "x11"
-RCONFLICTS_${PN} = "matchbox-common"
+RCONFLICTS:${PN} = "matchbox-common"
 
 SRC_URI = "file://matchbox-session"
 S = "${WORKDIR}"
@@ -16,7 +16,7 @@ PR = "r4"
 
 inherit update-alternatives
 
-ALTERNATIVE_${PN} = "x-session-manager"
+ALTERNATIVE:${PN} = "x-session-manager"
 ALTERNATIVE_TARGET[x-session-manager] = "${bindir}/matchbox-session"
 ALTERNATIVE_PRIORITY = "100"
 
diff --git a/meta/recipes-graphics/matchbox-wm/matchbox-wm_1.2.2.bb b/meta/recipes-graphics/matchbox-wm/matchbox-wm_1.2.2.bb
index a08eb252ce0..95a0604aeea 100644
--- a/meta/recipes-graphics/matchbox-wm/matchbox-wm_1.2.2.bb
+++ b/meta/recipes-graphics/matchbox-wm/matchbox-wm_1.2.2.bb
@@ -22,7 +22,7 @@ inherit autotools pkgconfig features_check
 # depends on virtual/libx11
 REQUIRED_DISTRO_FEATURES = "x11"
 
-FILES_${PN} = "${bindir}/* \
+FILES:${PN} = "${bindir}/* \
                ${datadir}/matchbox \
                ${sysconfdir}/matchbox \
                ${datadir}/themes/blondie/matchbox \
@@ -35,6 +35,6 @@ EXTRA_OECONF = " --enable-startup-notification \
                  --with-expat-lib=${STAGING_LIBDIR} \
                  --with-expat-includes=${STAGING_INCDIR}"
 
-do_install_prepend() {
+do_install:prepend() {
 	install ${WORKDIR}/kbdconfig ${S}/data/kbdconfig
 }
diff --git a/meta/recipes-graphics/mesa/libglu_9.0.2.bb b/meta/recipes-graphics/mesa/libglu_9.0.2.bb
index ae18f86532c..64fa82e5a80 100644
--- a/meta/recipes-graphics/mesa/libglu_9.0.2.bb
+++ b/meta/recipes-graphics/mesa/libglu_9.0.2.bb
@@ -25,4 +25,4 @@ inherit autotools pkgconfig features_check
 REQUIRED_DISTRO_FEATURES = "x11 opengl"
 
 # Remove the mesa-glu dependency in mesa-glu-dev, as mesa-glu is empty
-RDEPENDS_${PN}-dev = ""
+RDEPENDS:${PN}-dev = ""
diff --git a/meta/recipes-graphics/mesa/mesa-demos_8.4.0.bb b/meta/recipes-graphics/mesa/mesa-demos_8.4.0.bb
index 38bdbded294..368af4e9158 100644
--- a/meta/recipes-graphics/mesa/mesa-demos_8.4.0.bb
+++ b/meta/recipes-graphics/mesa/mesa-demos_8.4.0.bb
@@ -49,7 +49,7 @@ PACKAGECONFIG[glew] = "--enable-glew,--disable-glew,glew"
 PACKAGECONFIG[glu] = "--enable-glu,--disable-glu,virtual/libgl"
 PACKAGECONFIG[glx] = "--enable-glx-demos,--disable-glx-demos"
 
-do_install_append() {
+do_install:append() {
 	# it can be completely empty when all PACKAGECONFIG options are disabled
 	rmdir --ignore-fail-on-non-empty ${D}${bindir}
 
diff --git a/meta/recipes-graphics/mesa/mesa-gl_21.1.5.bb b/meta/recipes-graphics/mesa/mesa-gl_21.1.5.bb
index dff79f0be05..142bb743b13 100644
--- a/meta/recipes-graphics/mesa/mesa-gl_21.1.5.bb
+++ b/meta/recipes-graphics/mesa/mesa-gl_21.1.5.bb
@@ -9,7 +9,7 @@ S = "${WORKDIR}/mesa-${PV}"
 # At least one DRI rendering engine is required to build mesa.
 # When no X11 is available, use osmesa for the rendering engine.
 PACKAGECONFIG ??= "opengl dri ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', 'osmesa gallium', d)}"
-PACKAGECONFIG_class-target = "opengl dri ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', 'osmesa gallium', d)}"
+PACKAGECONFIG:class-target = "opengl dri ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', 'osmesa gallium', d)}"
 
 # 21.0.0 version fails to build when any driver is enabled in DRIDRIVERS
 # ./mesa-21.0.0/meson.build:519:4: ERROR: Problem encountered: building dri drivers require at least one windowing system
diff --git a/meta/recipes-graphics/mesa/mesa.inc b/meta/recipes-graphics/mesa/mesa.inc
index 6a0df4fa2ec..87b31b4819c 100644
--- a/meta/recipes-graphics/mesa/mesa.inc
+++ b/meta/recipes-graphics/mesa/mesa.inc
@@ -27,7 +27,7 @@ UPSTREAM_CHECK_GITTAGREGEX = "mesa-(?P<pver>\d+(\.\d+)+)"
 
 #because we cannot rely on the fact that all apps will use pkgconfig,
 #make eglplatform.h independent of MESA_EGL_NO_X11_HEADER
-do_install_append() {
+do_install:append() {
     if ${@bb.utils.contains('PACKAGECONFIG', 'egl', 'true', 'false', d)}; then
         sed -i -e 's/^#elif defined(__unix__) && defined(EGL_NO_X11)$/#elif defined(__unix__) \&\& defined(EGL_NO_X11) || ${@bb.utils.contains('PACKAGECONFIG', 'x11', '0', '1', d)}/' ${D}${includedir}/EGL/eglplatform.h
     fi
@@ -47,7 +47,7 @@ inherit meson pkgconfig python3native gettext features_check
 
 BBCLASSEXTEND = "native nativesdk"
 
-ANY_OF_DISTRO_FEATURES_class-target = "opengl vulkan"
+ANY_OF_DISTRO_FEATURES:class-target = "opengl vulkan"
 
 PLATFORMS ??= "${@bb.utils.filter('PACKAGECONFIG', 'x11 wayland', d)}"
 
@@ -81,16 +81,16 @@ EXTRA_OEMESON = " \
 def strip_comma(s):
     return s.strip(',')
 
-PACKAGECONFIG_class-target ??= "${@bb.utils.filter('DISTRO_FEATURES', 'wayland vulkan', d)} \
+PACKAGECONFIG:class-target ??= "${@bb.utils.filter('DISTRO_FEATURES', 'wayland vulkan', d)} \
                    ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'opengl egl gles gbm dri gallium virgl', '', d)} \
                    ${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'x11 dri3', '', d)} \
                    ${@bb.utils.contains('DISTRO_FEATURES', 'x11 vulkan', 'dri3', '', d)} \
                    elf-tls \
 		   "
-PACKAGECONFIG_class-native ?= "gbm gallium egl opengl elf-tls x11"
-PACKAGECONFIG_class-nativesdk ?= "gbm gallium egl opengl elf-tls x11"
+PACKAGECONFIG:class-native ?= "gbm gallium egl opengl elf-tls x11"
+PACKAGECONFIG:class-nativesdk ?= "gbm gallium egl opengl elf-tls x11"
 
-PACKAGECONFIG_remove_libc-musl = "elf-tls"
+PACKAGECONFIG:remove:libc-musl = "elf-tls"
 
 # "gbm" requires "dri", "opengl"
 PACKAGECONFIG[gbm] = "-Dgbm=enabled,-Dgbm=disabled"
@@ -109,9 +109,9 @@ PACKAGECONFIG[dri3] = "-Ddri3=enabled, -Ddri3=disabled, xorgproto libxshmfence"
 # Vulkan drivers need dri3 enabled
 # amd could be enabled as well but requires gallium-llvm with llvm >= 3.9
 VULKAN_DRIVERS = ""
-VULKAN_DRIVERS_append_x86_class-target = ",intel"
-VULKAN_DRIVERS_append_x86-64_class-target = ",intel"
-VULKAN_DRIVERS_append ="${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ',freedreno', '', d)}"
+VULKAN_DRIVERS:append:x86:class-target = ",intel"
+VULKAN_DRIVERS:append:x86-64:class-target = ",intel"
+VULKAN_DRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ',freedreno', '', d)}"
 PACKAGECONFIG[vulkan] = "-Dvulkan-drivers=${@strip_comma('${VULKAN_DRIVERS}')}, -Dvulkan-drivers='',"
 
 PACKAGECONFIG[opengl] = "-Dopengl=true, -Dopengl=false"
@@ -130,16 +130,16 @@ PACKAGECONFIG[v3d] = ""
 
 GALLIUMDRIVERS = "swrast"
 # gallium swrast was found to crash Xorg on startup in x32 qemu
-GALLIUMDRIVERS_x86-x32 = ""
+GALLIUMDRIVERS:x86-x32 = ""
 # Add crocus when 21.2 is out to the list below to support the full range of Intel GPUs
-GALLIUMDRIVERS_append_x86_class-target = ",i915,iris"
-GALLIUMDRIVERS_append_x86-64_class-target = ",i915,iris"
+GALLIUMDRIVERS:append:x86:class-target = ",i915,iris"
+GALLIUMDRIVERS:append:x86-64:class-target = ",i915,iris"
 
-GALLIUMDRIVERS_append ="${@bb.utils.contains('PACKAGECONFIG', 'etnaviv', ',etnaviv', '', d)}"
-GALLIUMDRIVERS_append ="${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ',freedreno', '', d)}"
-GALLIUMDRIVERS_append ="${@bb.utils.contains('PACKAGECONFIG', 'kmsro', ',kmsro', '', d)}"
-GALLIUMDRIVERS_append ="${@bb.utils.contains('PACKAGECONFIG', 'vc4', ',vc4', '', d)}"
-GALLIUMDRIVERS_append ="${@bb.utils.contains('PACKAGECONFIG', 'v3d', ',v3d', '', d)}"
+GALLIUMDRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'etnaviv', ',etnaviv', '', d)}"
+GALLIUMDRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ',freedreno', '', d)}"
+GALLIUMDRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'kmsro', ',kmsro', '', d)}"
+GALLIUMDRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'vc4', ',vc4', '', d)}"
+GALLIUMDRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'v3d', ',v3d', '', d)}"
 
 # radeonsi requires LLVM
 GALLIUMDRIVERS_RADEONSI = "${@bb.utils.contains('PACKAGECONFIG', 'r600', ',radeonsi', '', d)}"
@@ -148,9 +148,9 @@ GALLIUMDRIVERS_LLVM = "r300,svga,nouveau${GALLIUMDRIVERS_RADEONSI}"
 PACKAGECONFIG[r600] = ""
 PACKAGECONFIG[virgl] = ""
 
-GALLIUMDRIVERS_append = "${@bb.utils.contains('PACKAGECONFIG', 'gallium-llvm', ',${GALLIUMDRIVERS_LLVM}', '', d)}"
-GALLIUMDRIVERS_append = "${@bb.utils.contains('PACKAGECONFIG', 'r600', ',r600', '', d)}"
-GALLIUMDRIVERS_append = "${@bb.utils.contains('PACKAGECONFIG', 'virgl', ',virgl', '', d)}"
+GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'gallium-llvm', ',${GALLIUMDRIVERS_LLVM}', '', d)}"
+GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'r600', ',r600', '', d)}"
+GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'virgl', ',virgl', '', d)}"
 
 PACKAGECONFIG[gallium] = "-Dgallium-drivers=${@strip_comma('${GALLIUMDRIVERS}')}, -Dgallium-drivers='', libdrm"
 PACKAGECONFIG[gallium-llvm] = "-Dllvm=enabled -Dshared-llvm=enabled, -Dllvm=disabled, llvm${MESA_LLVM_RELEASE} llvm-native \
@@ -161,10 +161,10 @@ PACKAGECONFIG[va] = "-Dgallium-va=enabled,-Dgallium-va=disabled,libva-initial"
 PACKAGECONFIG[vdpau] = "-Dgallium-vdpau=enabled,-Dgallium-vdpau=disabled,libvdpau"
 
 PACKAGECONFIG[lima] = ""
-GALLIUMDRIVERS_append ="${@bb.utils.contains('PACKAGECONFIG', 'lima', ',lima', '', d)}"
+GALLIUMDRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'lima', ',lima', '', d)}"
 
 PACKAGECONFIG[panfrost] = ""
-GALLIUMDRIVERS_append ="${@bb.utils.contains('PACKAGECONFIG', 'panfrost', ',panfrost', '', d)}"
+GALLIUMDRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'panfrost', ',panfrost', '', d)}"
 
 PACKAGECONFIG[osmesa] = "-Dosmesa=true,-Dosmesa=false"
 
@@ -173,16 +173,16 @@ PACKAGECONFIG[unwind] = "-Dlibunwind=enabled,-Dlibunwind=disabled,libunwind"
 PACKAGECONFIG[lmsensors] = "-Dlmsensors=enabled,-Dlmsensors=disabled,lmsensors"
 
 # llvmpipe is slow if compiled with -fomit-frame-pointer (e.g. -O2)
-FULL_OPTIMIZATION_append = " -fno-omit-frame-pointer"
+FULL_OPTIMIZATION:append = " -fno-omit-frame-pointer"
 
-CFLAGS_append_armv5 = " -DMISSING_64BIT_ATOMICS"
-CFLAGS_append_armv6 = " -DMISSING_64BIT_ATOMICS"
+CFLAGS:append:armv5 = " -DMISSING_64BIT_ATOMICS"
+CFLAGS:append:armv6 = " -DMISSING_64BIT_ATOMICS"
 
 # Remove the mesa dependency on mesa-dev, as mesa is empty
-RDEPENDS_${PN}-dev = ""
+RDEPENDS:${PN}-dev = ""
 
 # Add dependency so that GLES3 header don't need to be added manually
-RDEPENDS_libgles2-mesa-dev += "libgles3-mesa-dev"
+RDEPENDS:libgles2-mesa-dev += "libgles3-mesa-dev"
 
 PACKAGES =+ "libegl-mesa libegl-mesa-dev \
              libosmesa libosmesa-dev \
@@ -197,7 +197,7 @@ PACKAGES =+ "libegl-mesa libegl-mesa-dev \
              mesa-vdpau-drivers \
             "
 
-do_install_append () {
+do_install:append () {
     # Drivers never need libtool .la files
     rm -f ${D}${libdir}/dri/*.la
     rm -f ${D}${libdir}/egl/*.la
@@ -231,28 +231,28 @@ python __anonymous() {
         fullp = mlprefix + p[1] + "-mesa" + suffix
         mlprefix = d.getVar("MLPREFIX")
         pkgs = " ".join(mlprefix + x + suffix for x in p[1:])
-        d.setVar("DEBIAN_NOAUTONAME_" + fullp, "1")
-        d.appendVar("RREPLACES_" + fullp, pkgs)
-        d.appendVar("RPROVIDES_" + fullp, pkgs)
-        d.appendVar("RCONFLICTS_" + fullp, pkgs)
+        d.setVar("DEBIAN_NOAUTONAME:" + fullp, "1")
+        d.appendVar("RREPLACES:" + fullp, pkgs)
+        d.appendVar("RPROVIDES:" + fullp, pkgs)
+        d.appendVar("RCONFLICTS:" + fullp, pkgs)
 
-        d.appendVar("RRECOMMENDS_" + fullp, " ${MLPREFIX}mesa-megadriver" + suffix)
+        d.appendVar("RRECOMMENDS:" + fullp, " ${MLPREFIX}mesa-megadriver" + suffix)
 
         # For -dev, the first element is both the Debian and original name
         fullp = mlprefix + p[1] + "-mesa-dev" + suffix
         pkgs = mlprefix + p[1] + "-dev" + suffix
-        d.setVar("DEBIAN_NOAUTONAME_" + fullp, "1")
-        d.appendVar("RREPLACES_" + fullp, pkgs)
-        d.appendVar("RPROVIDES_" + fullp, pkgs)
-        d.appendVar("RCONFLICTS_" + fullp, pkgs)
+        d.setVar("DEBIAN_NOAUTONAME:" + fullp, "1")
+        d.appendVar("RREPLACES:" + fullp, pkgs)
+        d.appendVar("RPROVIDES:" + fullp, pkgs)
+        d.appendVar("RCONFLICTS:" + fullp, pkgs)
 }
 
 python mesa_populate_packages() {
     pkgs = ['mesa', 'mesa-dev', 'mesa-dbg']
     for pkg in pkgs:
-        d.setVar("RPROVIDES_%s" % pkg, pkg.replace("mesa", "mesa-dri", 1))
-        d.setVar("RCONFLICTS_%s" % pkg, pkg.replace("mesa", "mesa-dri", 1))
-        d.setVar("RREPLACES_%s" % pkg, pkg.replace("mesa", "mesa-dri", 1))
+        d.setVar("RPROVIDES:%s" % pkg, pkg.replace("mesa", "mesa-dri", 1))
+        d.setVar("RCONFLICTS:%s" % pkg, pkg.replace("mesa", "mesa-dri", 1))
+        d.setVar("RREPLACES:%s" % pkg, pkg.replace("mesa", "mesa-dri", 1))
 
     import re
     dri_drivers_root = oe.path.join(d.getVar('PKGD'), d.getVar('libdir'), "dri")
@@ -263,45 +263,45 @@ python mesa_populate_packages() {
             m = re.match(r'^(.*)_dri\.so$', p)
             if m:
                 pkg_name = " ${MLPREFIX}mesa-driver-%s" % legitimize_package_name(m.group(1))
-                d.appendVar("RPROVIDES_%s" % lib_name, pkg_name)
-                d.appendVar("RCONFLICTS_%s" % lib_name, pkg_name)
-                d.appendVar("RREPLACES_%s" % lib_name, pkg_name)
+                d.appendVar("RPROVIDES:%s" % lib_name, pkg_name)
+                d.appendVar("RCONFLICTS:%s" % lib_name, pkg_name)
+                d.appendVar("RREPLACES:%s" % lib_name, pkg_name)
 
     pipe_drivers_root = os.path.join(d.getVar('libdir'), "gallium-pipe")
     do_split_packages(d, pipe_drivers_root, r'^pipe_(.*)\.so$', 'mesa-driver-pipe-%s', 'Mesa %s pipe driver', extra_depends='')
 }
 
-PACKAGESPLITFUNCS_prepend = "mesa_populate_packages "
+PACKAGESPLITFUNCS:prepend = "mesa_populate_packages "
 
 PACKAGES_DYNAMIC += "^mesa-driver-.*"
-PACKAGES_DYNAMIC_class-native = "^mesa-driver-.*-native"
-
-FILES_mesa-megadriver = "${libdir}/dri/* ${datadir}/drirc.d/00-mesa-defaults.conf"
-FILES_mesa-vulkan-drivers = "${libdir}/libvulkan_*.so ${datadir}/vulkan"
-FILES_${PN}-vdpau-drivers = "${libdir}/vdpau/*.so.*"
-FILES_libegl-mesa = "${libdir}/libEGL.so.*"
-FILES_libgbm = "${libdir}/libgbm.so.*"
-FILES_libgles1-mesa = "${libdir}/libGLESv1*.so.*"
-FILES_libgles2-mesa = "${libdir}/libGLESv2.so.*"
-FILES_libgl-mesa = "${libdir}/libGL.so.*"
-FILES_libglapi = "${libdir}/libglapi.so.*"
-FILES_libosmesa = "${libdir}/libOSMesa.so.*"
-FILES_libxatracker = "${libdir}/libxatracker.so.*"
-
-FILES_${PN}-dev = "${libdir}/pkgconfig/dri.pc ${includedir}/vulkan ${libdir}/vdpau/*.so"
-FILES_libegl-mesa-dev = "${libdir}/libEGL.* ${includedir}/EGL ${includedir}/KHR ${libdir}/pkgconfig/egl.pc"
-FILES_libgbm-dev = "${libdir}/libgbm.* ${libdir}/pkgconfig/gbm.pc ${includedir}/gbm.h"
-FILES_libgl-mesa-dev = "${libdir}/libGL.* ${includedir}/GL ${libdir}/pkgconfig/gl.pc"
-FILES_libglapi-dev = "${libdir}/libglapi.*"
-FILES_libgles1-mesa-dev = "${libdir}/libGLESv1*.* ${includedir}/GLES ${libdir}/pkgconfig/glesv1*.pc"
-FILES_libgles2-mesa-dev = "${libdir}/libGLESv2.* ${includedir}/GLES2 ${libdir}/pkgconfig/glesv2.pc"
-FILES_libgles3-mesa-dev = "${includedir}/GLES3"
-FILES_libosmesa-dev = "${libdir}/libOSMesa.* ${includedir}/GL/osmesa.h ${libdir}/pkgconfig/osmesa.pc"
-FILES_libxatracker-dev = "${libdir}/libxatracker.so ${libdir}/libxatracker.la \
+PACKAGES_DYNAMIC:class-native = "^mesa-driver-.*-native"
+
+FILES:mesa-megadriver = "${libdir}/dri/* ${datadir}/drirc.d/00-mesa-defaults.conf"
+FILES:mesa-vulkan-drivers = "${libdir}/libvulkan_*.so ${datadir}/vulkan"
+FILES:${PN}-vdpau-drivers = "${libdir}/vdpau/*.so.*"
+FILES:libegl-mesa = "${libdir}/libEGL.so.*"
+FILES:libgbm = "${libdir}/libgbm.so.*"
+FILES:libgles1-mesa = "${libdir}/libGLESv1*.so.*"
+FILES:libgles2-mesa = "${libdir}/libGLESv2.so.*"
+FILES:libgl-mesa = "${libdir}/libGL.so.*"
+FILES:libglapi = "${libdir}/libglapi.so.*"
+FILES:libosmesa = "${libdir}/libOSMesa.so.*"
+FILES:libxatracker = "${libdir}/libxatracker.so.*"
+
+FILES:${PN}-dev = "${libdir}/pkgconfig/dri.pc ${includedir}/vulkan ${libdir}/vdpau/*.so"
+FILES:libegl-mesa-dev = "${libdir}/libEGL.* ${includedir}/EGL ${includedir}/KHR ${libdir}/pkgconfig/egl.pc"
+FILES:libgbm-dev = "${libdir}/libgbm.* ${libdir}/pkgconfig/gbm.pc ${includedir}/gbm.h"
+FILES:libgl-mesa-dev = "${libdir}/libGL.* ${includedir}/GL ${libdir}/pkgconfig/gl.pc"
+FILES:libglapi-dev = "${libdir}/libglapi.*"
+FILES:libgles1-mesa-dev = "${libdir}/libGLESv1*.* ${includedir}/GLES ${libdir}/pkgconfig/glesv1*.pc"
+FILES:libgles2-mesa-dev = "${libdir}/libGLESv2.* ${includedir}/GLES2 ${libdir}/pkgconfig/glesv2.pc"
+FILES:libgles3-mesa-dev = "${includedir}/GLES3"
+FILES:libosmesa-dev = "${libdir}/libOSMesa.* ${includedir}/GL/osmesa.h ${libdir}/pkgconfig/osmesa.pc"
+FILES:libxatracker-dev = "${libdir}/libxatracker.so ${libdir}/libxatracker.la \
                           ${includedir}/xa_tracker.h ${includedir}/xa_composite.h ${includedir}/xa_context.h \
                           ${libdir}/pkgconfig/xatracker.pc"
 
 # Fix upgrade path from mesa to mesa-megadriver
-RREPLACES_mesa-megadriver = "mesa"
-RCONFLICTS_mesa-megadriver = "mesa"
-RPROVIDES_mesa-megadriver = "mesa"
+RREPLACES:mesa-megadriver = "mesa"
+RCONFLICTS:mesa-megadriver = "mesa"
+RPROVIDES:mesa-megadriver = "mesa"
diff --git a/meta/recipes-graphics/mesa/mesa_21.1.5.bb b/meta/recipes-graphics/mesa/mesa_21.1.5.bb
index 28abc91a87b..3f62990b29f 100644
--- a/meta/recipes-graphics/mesa/mesa_21.1.5.bb
+++ b/meta/recipes-graphics/mesa/mesa_21.1.5.bb
@@ -1,5 +1,5 @@
 require ${BPN}.inc
 
-DRIDRIVERS_append_x86_class-target = ",r100,r200,nouveau,i965"
-DRIDRIVERS_append_x86-64_class-target = ",r100,r200,nouveau,i965"
+DRIDRIVERS:append:x86:class-target = ",r100,r200,nouveau,i965"
+DRIDRIVERS:append:x86-64:class-target = ",r100,r200,nouveau,i965"
 
diff --git a/meta/recipes-graphics/mini-x-session/mini-x-session_0.1.bb b/meta/recipes-graphics/mini-x-session/mini-x-session_0.1.bb
index 549b0cbdf77..470a5e9ea90 100644
--- a/meta/recipes-graphics/mini-x-session/mini-x-session_0.1.bb
+++ b/meta/recipes-graphics/mini-x-session/mini-x-session_0.1.bb
@@ -9,16 +9,16 @@ LICENSE = "GPLv2"
 LIC_FILES_CHKSUM = "file://mini-x-session;endline=5;md5=b6430bffbcf05f9760e72938826b7487"
 
 SECTION = "x11"
-RCONFLICTS_${PN} = "matchbox-common"
+RCONFLICTS:${PN} = "matchbox-common"
 
 SRC_URI = "file://mini-x-session"
 S = "${WORKDIR}"
 
-RDEPENDS_${PN} = "sudo"
+RDEPENDS:${PN} = "sudo"
 
 inherit update-alternatives
 
-ALTERNATIVE_${PN} = "x-session-manager"
+ALTERNATIVE:${PN} = "x-session-manager"
 ALTERNATIVE_TARGET[x-session-manager] = "${bindir}/mini-x-session"
 ALTERNATIVE_PRIORITY = "50"
 
diff --git a/meta/recipes-graphics/packagegroups/packagegroup-core-weston.bb b/meta/recipes-graphics/packagegroups/packagegroup-core-weston.bb
index 7dcfd6733b9..0ce91ca9403 100644
--- a/meta/recipes-graphics/packagegroups/packagegroup-core-weston.bb
+++ b/meta/recipes-graphics/packagegroups/packagegroup-core-weston.bb
@@ -7,7 +7,7 @@ inherit packagegroup features_check
 # weston-init requires pam enabled if started via systemd
 REQUIRED_DISTRO_FEATURES = "wayland ${@oe.utils.conditional('VIRTUAL-RUNTIME_init_manager', 'systemd', 'pam', '', d)}"
 
-RDEPENDS_${PN} = "\
+RDEPENDS:${PN} = "\
     weston \
     weston-init \
     weston-examples \
diff --git a/meta/recipes-graphics/packagegroups/packagegroup-core-x11-base.bb b/meta/recipes-graphics/packagegroups/packagegroup-core-x11-base.bb
index 9ca2705a5fc..4e6d9908c74 100644
--- a/meta/recipes-graphics/packagegroups/packagegroup-core-x11-base.bb
+++ b/meta/recipes-graphics/packagegroups/packagegroup-core-x11-base.bb
@@ -6,7 +6,7 @@ inherit packagegroup features_check
 # rdepends on matchbox-wm
 REQUIRED_DISTRO_FEATURES = "x11"
 
-RDEPENDS_${PN} = "\
+RDEPENDS:${PN} = "\
     packagegroup-core-x11-xserver \
     packagegroup-core-x11-utils \
     dbus \
diff --git a/meta/recipes-graphics/packagegroups/packagegroup-core-x11-xserver.bb b/meta/recipes-graphics/packagegroups/packagegroup-core-x11-xserver.bb
index a0b944a6787..3bb308fbba4 100644
--- a/meta/recipes-graphics/packagegroups/packagegroup-core-x11-xserver.bb
+++ b/meta/recipes-graphics/packagegroups/packagegroup-core-x11-xserver.bb
@@ -14,7 +14,7 @@ REQUIRED_DISTRO_FEATURES = "x11"
 XSERVER ?= "xserver-xorg xf86-video-fbdev"
 XSERVERCODECS ?= ""
 
-RDEPENDS_${PN} = "\
+RDEPENDS:${PN} = "\
     ${XSERVER} \
     ${XSERVERCODECS} \
     "
diff --git a/meta/recipes-graphics/packagegroups/packagegroup-core-x11.bb b/meta/recipes-graphics/packagegroups/packagegroup-core-x11.bb
index cddf1932f35..9ca058b38bd 100644
--- a/meta/recipes-graphics/packagegroups/packagegroup-core-x11.bb
+++ b/meta/recipes-graphics/packagegroups/packagegroup-core-x11.bb
@@ -16,13 +16,13 @@ VIRTUAL-RUNTIME_xserver_common ?= ""
 VIRTUAL-RUNTIME_graphical_init_manager ?= "xserver-nodm-init"
 
 SUMMARY = "X11 display server and basic utilities"
-RDEPENDS_${PN} = "\
+RDEPENDS:${PN} = "\
     ${PN}-xserver \
     ${PN}-utils \
     "
 
-SUMMARY_${PN}-utils = "X11 basic utilities and init"
-RDEPENDS_${PN}-utils = "\
+SUMMARY:${PN}-utils = "X11 basic utilities and init"
+RDEPENDS:${PN}-utils = "\
     ${VIRTUAL-RUNTIME_xserver_common} \
     ${VIRTUAL-RUNTIME_graphical_init_manager} \
     xauth \
diff --git a/meta/recipes-graphics/pango/pango_1.48.7.bb b/meta/recipes-graphics/pango/pango_1.48.7.bb
index 963fd5d01cb..48a77868f83 100644
--- a/meta/recipes-graphics/pango/pango_1.48.7.bb
+++ b/meta/recipes-graphics/pango/pango_1.48.7.bb
@@ -33,22 +33,22 @@ PACKAGECONFIG[thai] = ",,libthai"
 
 GIR_MESON_OPTION = 'introspection'
 
-do_configure_prepend() {
+do_configure:prepend() {
     chmod +x ${S}/tests/*.py
 }
 
-do_configure_prepend_toolchain-clang() {
+do_configure:prepend:toolchain-clang() {
     sed -i -e "/Werror=implicit-fallthrough/d" ${S}/meson.build
 }
 
 LEAD_SONAME = "libpango-1.0*"
 
-FILES_${PN} = "${bindir}/* ${libdir}/libpango*${SOLIBS}"
+FILES:${PN} = "${bindir}/* ${libdir}/libpango*${SOLIBS}"
 
-RDEPENDS_${PN}-ptest += "cantarell-fonts"
-RDEPENDS_${PN}-ptest_append_libc-glibc = " locale-base-en-us"
+RDEPENDS:${PN}-ptest += "cantarell-fonts"
+RDEPENDS:${PN}-ptest:append:libc-glibc = " locale-base-en-us"
 
-RPROVIDES_${PN} += "pango-modules pango-module-indic-lang \
+RPROVIDES:${PN} += "pango-modules pango-module-indic-lang \
                     pango-module-basic-fc pango-module-arabic-lang"
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-graphics/piglit/piglit_git.bb b/meta/recipes-graphics/piglit/piglit_git.bb
index b64a20a586e..2e0dfeee42b 100644
--- a/meta/recipes-graphics/piglit/piglit_git.bb
+++ b/meta/recipes-graphics/piglit/piglit_git.bb
@@ -46,7 +46,7 @@ PACKAGECONFIG[x11] = "-DPIGLIT_BUILD_GL_TESTS=ON,-DPIGLIT_BUILD_GL_TESTS=OFF,${X
 
 export PIGLIT_BUILD_DIR = "../../../../git"
 
-do_configure_prepend() {
+do_configure:prepend() {
    if [ "${@bb.utils.contains('PACKAGECONFIG', 'freeglut', 'yes', 'no', d)}" = "no" ]; then
         sed -i -e "/^#.*include <GL\/freeglut_ext.h>$/d" ${S}/src/piglit/glut_wrap.h
         sed -i -e "/^#.*include.*<GL\/glut.h>$/d" ${S}/src/piglit/glut_wrap.h
@@ -56,18 +56,18 @@ do_configure_prepend() {
 # Forcibly strip because Piglit is *huge*
 OECMAKE_TARGET_INSTALL = "install/strip"
 
-RDEPENDS_${PN} = "waffle waffle-bin python3 python3-mako python3-json \
+RDEPENDS:${PN} = "waffle waffle-bin python3 python3-mako python3-json \
 	python3-misc \
 	python3-unixadmin python3-xml python3-multiprocessing \
 	python3-six python3-shell python3-io \
 	python3-netserver bash \
 	"
 
-INSANE_SKIP_${PN} += "dev-so already-stripped"
+INSANE_SKIP:${PN} += "dev-so already-stripped"
 
 # As nothing builds against Piglit we don't need to have anything in the
 # sysroot, especially when this is ~2GB of test suite
-SYSROOT_DIRS_remove = "${libdir}"
+SYSROOT_DIRS:remove = "${libdir}"
 
 # Can't be built with ccache
 CCACHE_DISABLE = "1"
diff --git a/meta/recipes-graphics/spir/spirv-tools_2021.2.bb b/meta/recipes-graphics/spir/spirv-tools_2021.2.bb
index 6b5ad1ec00d..f55bd5194a9 100644
--- a/meta/recipes-graphics/spir/spirv-tools_2021.2.bb
+++ b/meta/recipes-graphics/spir/spirv-tools_2021.2.bb
@@ -25,7 +25,7 @@ EXTRA_OECMAKE += "\
     -DSPIRV_SKIP_TESTS=ON \
 "
 
-do_install_append_class-target() {
+do_install:append:class-target() {
     # reproducibility: remove build host path
     sed -i ${D}${libdir}/cmake/SPIRV-Tools/SPIRV-ToolsTarget.cmake \
         -e 's:${STAGING_DIR_HOST}::g'
@@ -36,7 +36,7 @@ SOLIBS = ".so"
 FILES_SOLIBSDEV = ""
 
 PACKAGES =+ "${PN}-lesspipe"
-FILES_${PN}-lesspipe = "${base_bindir}/spirv-lesspipe.sh"
-RDEPENDS_${PN}-lesspipe += "${PN} bash"
+FILES:${PN}-lesspipe = "${base_bindir}/spirv-lesspipe.sh"
+RDEPENDS:${PN}-lesspipe += "${PN} bash"
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-graphics/ttf-fonts/liberation-fonts_2.1.4.bb b/meta/recipes-graphics/ttf-fonts/liberation-fonts_2.1.4.bb
index e33c4d1520d..b8c2946371a 100644
--- a/meta/recipes-graphics/ttf-fonts/liberation-fonts_2.1.4.bb
+++ b/meta/recipes-graphics/ttf-fonts/liberation-fonts_2.1.4.bb
@@ -33,6 +33,6 @@ do_install () {
 }
 
 PACKAGES = "${PN}"
-FILES_${PN} += "${sysconfdir} ${datadir}"
+FILES:${PN} += "${sysconfdir} ${datadir}"
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-graphics/ttf-fonts/ttf-bitstream-vera_1.10.bb b/meta/recipes-graphics/ttf-fonts/ttf-bitstream-vera_1.10.bb
index 5226e84266c..1f1ad83e0bc 100644
--- a/meta/recipes-graphics/ttf-fonts/ttf-bitstream-vera_1.10.bb
+++ b/meta/recipes-graphics/ttf-fonts/ttf-bitstream-vera_1.10.bb
@@ -33,4 +33,4 @@ do_install () {
         done
 }
 
-FILES_${PN} = "${datadir}/fonts"
+FILES:${PN} = "${datadir}/fonts"
diff --git a/meta/recipes-graphics/vulkan/vulkan-headers_1.2.182.0.bb b/meta/recipes-graphics/vulkan/vulkan-headers_1.2.182.0.bb
index 736af7b9e79..5ae56ec0762 100644
--- a/meta/recipes-graphics/vulkan/vulkan-headers_1.2.182.0.bb
+++ b/meta/recipes-graphics/vulkan/vulkan-headers_1.2.182.0.bb
@@ -17,6 +17,6 @@ S = "${WORKDIR}/git"
 
 inherit cmake
 
-FILES_${PN} += "${datadir}/vulkan"
+FILES:${PN} += "${datadir}/vulkan"
 
 UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)"
diff --git a/meta/recipes-graphics/vulkan/vulkan-loader_1.2.182.0.bb b/meta/recipes-graphics/vulkan/vulkan-loader_1.2.182.0.bb
index ec09fd0f72a..a36fa1f844e 100644
--- a/meta/recipes-graphics/vulkan/vulkan-loader_1.2.182.0.bb
+++ b/meta/recipes-graphics/vulkan/vulkan-loader_1.2.182.0.bb
@@ -36,6 +36,6 @@ PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11', d)}"
 PACKAGECONFIG[x11] = "-DBUILD_WSI_XLIB_SUPPORT=ON -DBUILD_WSI_XCB_SUPPORT=ON, -DBUILD_WSI_XLIB_SUPPORT=OFF -DBUILD_WSI_XCB_SUPPORT=OFF, libxcb libx11 libxrandr"
 PACKAGECONFIG[wayland] = "-DBUILD_WSI_WAYLAND_SUPPORT=ON, -DBUILD_WSI_WAYLAND_SUPPORT=OFF, wayland"
 
-RRECOMMENDS_${PN} = "mesa-vulkan-drivers"
+RRECOMMENDS:${PN} = "mesa-vulkan-drivers"
 
 UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)"
diff --git a/meta/recipes-graphics/vulkan/vulkan-samples_git.bb b/meta/recipes-graphics/vulkan/vulkan-samples_git.bb
index 503b0581016..6488c009244 100644
--- a/meta/recipes-graphics/vulkan/vulkan-samples_git.bb
+++ b/meta/recipes-graphics/vulkan/vulkan-samples_git.bb
@@ -20,7 +20,7 @@ REQUIRED_DISTRO_FEATURES = 'vulkan'
 
 inherit cmake features_check
 
-FILES_${PN} += "${datadir}"
+FILES:${PN} += "${datadir}"
 
 #
 # There is code to remove the prefix CMAKE_SOURCE_DIR from __FILENAME__ paths
diff --git a/meta/recipes-graphics/waffle/waffle_1.6.1.bb b/meta/recipes-graphics/waffle/waffle_1.6.1.bb
index 07d7279c2b0..fa5efc12c45 100644
--- a/meta/recipes-graphics/waffle/waffle_1.6.1.bb
+++ b/meta/recipes-graphics/waffle/waffle_1.6.1.bb
@@ -17,7 +17,7 @@ UPSTREAM_CHECK_URI = "http://www.waffle-gl.org/releases.html"
 
 inherit meson features_check lib_package bash-completion
 
-DEPENDS_append = " python3"
+DEPENDS:append = " python3"
 
 # This should be overridden per-machine to reflect the capabilities of the GL
 # stack.
diff --git a/meta/recipes-graphics/wayland/libinput_1.18.0.bb b/meta/recipes-graphics/wayland/libinput_1.18.0.bb
index e46071c67b3..9d1ac811aa2 100644
--- a/meta/recipes-graphics/wayland/libinput_1.18.0.bb
+++ b/meta/recipes-graphics/wayland/libinput_1.18.0.bb
@@ -23,7 +23,7 @@ UPSTREAM_CHECK_REGEX = "libinput-(?P<pver>\d+\.\d+\.(?!9\d+)\d+)"
 inherit meson pkgconfig lib_package ptest
 
 # Patch out build directory, otherwise it leaks into ptest binary
-do_configure_append() {
+do_configure:append() {
     sed -i -e "s,${WORKDIR},,g" config.h
     if [ -e "litest-config.h" ]; then
         sed -i -e "s,${WORKDIR},,g" litest-config.h
@@ -42,8 +42,8 @@ EXTRA_OEMESON += "-Dudev-dir=${UDEVDIR} \
                   -Dzshcompletiondir=no"
 
 # package name changed in 1.8.1 upgrade: make sure package upgrades work
-RPROVIDES_${PN} = "libinput"
-RREPLACES_${PN} = "libinput"
-RCONFLICTS_${PN} = "libinput"
+RPROVIDES:${PN} = "libinput"
+RREPLACES:${PN} = "libinput"
+RCONFLICTS:${PN} = "libinput"
 
-FILES_${PN}-ptest += "${libexecdir}/libinput/libinput-test-suite"
+FILES:${PN}-ptest += "${libexecdir}/libinput/libinput-test-suite"
diff --git a/meta/recipes-graphics/wayland/wayland-protocols_1.21.bb b/meta/recipes-graphics/wayland/wayland-protocols_1.21.bb
index 16452f86e69..4a5a295fc8e 100644
--- a/meta/recipes-graphics/wayland/wayland-protocols_1.21.bb
+++ b/meta/recipes-graphics/wayland/wayland-protocols_1.21.bb
@@ -18,4 +18,4 @@ UPSTREAM_CHECK_URI = "https://wayland.freedesktop.org/releases.html"
 inherit allarch autotools pkgconfig
 
 PACKAGES = "${PN}"
-FILES_${PN} += "${datadir}/pkgconfig/wayland-protocols.pc"
+FILES:${PN} += "${datadir}/pkgconfig/wayland-protocols.pc"
diff --git a/meta/recipes-graphics/wayland/wayland_1.19.0.bb b/meta/recipes-graphics/wayland/wayland_1.19.0.bb
index 0fda80ccaec..d6e468497d2 100644
--- a/meta/recipes-graphics/wayland/wayland_1.19.0.bb
+++ b/meta/recipes-graphics/wayland/wayland_1.19.0.bb
@@ -28,11 +28,11 @@ PACKAGECONFIG ??= "dtd-validation"
 PACKAGECONFIG[dtd-validation] = "-Ddtd_validation=true,-Ddtd_validation=false,libxml2,,"
 
 EXTRA_OEMESON = "-Ddocumentation=false"
-EXTRA_OEMESON_class-native = "-Ddocumentation=false -Dlibraries=false"
+EXTRA_OEMESON:class-native = "-Ddocumentation=false -Dlibraries=false"
 
 # Wayland installs a M4 macro for other projects to use, which uses the target
 # pkg-config to find files.  Replace pkg-config with pkg-config-native.
-do_install_append_class-native() {
+do_install:append:class-native() {
   sed -e 's,PKG_CHECK_MODULES(.*),,g' \
       -e 's,$PKG_CONFIG,pkg-config-native,g' \
       -i ${D}/${datadir}/aclocal/wayland-scanner.m4
@@ -47,16 +47,16 @@ do_install_ptest() {
     cp -rf ${S}/egl/wayland-egl-symbols-check ${D}${PTEST_PATH}/tests/
 }
 
-sysroot_stage_all_append_class-target () {
+sysroot_stage_all:append:class-target () {
 	rm ${SYSROOT_DESTDIR}/${datadir}/aclocal/wayland-scanner.m4
 	cp ${STAGING_DATADIR_NATIVE}/aclocal/wayland-scanner.m4 ${SYSROOT_DESTDIR}/${datadir}/aclocal/
 }
 
 PACKAGES += "${PN}-tools"
 
-FILES_${PN} = "${libdir}/*${SOLIBS}"
-FILES_${PN}-tools += "${bindir} ${datadir}/wayland"
+FILES:${PN} = "${libdir}/*${SOLIBS}"
+FILES:${PN}-tools += "${bindir} ${datadir}/wayland"
 
 BBCLASSEXTEND = "native nativesdk"
 
-RDEPENDS_${PN}-ptest += "binutils sed ${PN}-tools"
+RDEPENDS:${PN}-ptest += "binutils sed ${PN}-tools"
diff --git a/meta/recipes-graphics/wayland/weston-init.bb b/meta/recipes-graphics/wayland/weston-init.bb
index 6b78e6722ff..fecf926fb36 100644
--- a/meta/recipes-graphics/wayland/weston-init.bb
+++ b/meta/recipes-graphics/wayland/weston-init.bb
@@ -19,13 +19,13 @@ PACKAGECONFIG ??= ""
 PACKAGECONFIG[no-idle-timeout] = ",,"
 
 DEFAULTBACKEND ??= ""
-DEFAULTBACKEND_qemuall ?= "fbdev"
-DEFAULTBACKEND_qemuarm64 = "drm"
-DEFAULTBACKEND_qemux86 = "drm"
-DEFAULTBACKEND_qemux86-64 = "drm"
+DEFAULTBACKEND:qemuall ?= "fbdev"
+DEFAULTBACKEND:qemuarm64 = "drm"
+DEFAULTBACKEND:qemux86 = "drm"
+DEFAULTBACKEND:qemux86-64 = "drm"
 # gallium swrast was found to crash weston on startup in x32 qemu
-DEFAULTBACKEND_qemux86-64_x86-x32 = "fbdev"
-DEFAULTBACKEND_x86-x32 = "fbdev"
+DEFAULTBACKEND:qemux86-64:x86-x32 = "fbdev"
+DEFAULTBACKEND:x86-x32 = "fbdev"
 
 do_install() {
         if [ "${VIRTUAL-RUNTIME_init_manager}" != "systemd" ]; then
@@ -70,12 +70,12 @@ USERADD_PACKAGES = "${PN}"
 # requires pam enabled if started via systemd
 REQUIRED_DISTRO_FEATURES = "opengl ${@oe.utils.conditional('VIRTUAL-RUNTIME_init_manager', 'systemd', 'pam', '', d)}"
 
-RDEPENDS_${PN} = "weston kbd"
+RDEPENDS:${PN} = "weston kbd"
 
 INITSCRIPT_NAME = "weston"
 INITSCRIPT_PARAMS = "start 9 5 2 . stop 20 0 1 6 ."
 
-FILES_${PN} += "\
+FILES:${PN} += "\
     ${sysconfdir}/xdg/weston/weston.ini \
     ${systemd_system_unitdir}/weston.service \
     ${systemd_system_unitdir}/weston.socket \
@@ -84,9 +84,9 @@ FILES_${PN} += "\
     /home/weston \
     "
 
-CONFFILES_${PN} += "${sysconfdir}/xdg/weston/weston.ini ${sysconfdir}/default/weston"
+CONFFILES:${PN} += "${sysconfdir}/xdg/weston/weston.ini ${sysconfdir}/default/weston"
 
-SYSTEMD_SERVICE_${PN} = "weston.service weston.socket"
-USERADD_PARAM_${PN} = "--home /home/weston --shell /bin/sh --user-group -G video,input weston"
-GROUPADD_PARAM_${PN} = "-r wayland"
+SYSTEMD_SERVICE:${PN} = "weston.service weston.socket"
+USERADD_PARAM:${PN} = "--home /home/weston --shell /bin/sh --user-group -G video,input weston"
+GROUPADD_PARAM:${PN} = "-r wayland"
 
diff --git a/meta/recipes-graphics/wayland/weston_9.0.0.bb b/meta/recipes-graphics/wayland/weston_9.0.0.bb
index ce2b7d4f37a..fbf181b4a6c 100644
--- a/meta/recipes-graphics/wayland/weston_9.0.0.bb
+++ b/meta/recipes-graphics/wayland/weston_9.0.0.bb
@@ -14,7 +14,7 @@ SRC_URI = "https://wayland.freedesktop.org/releases/${BPN}-${PV}.tar.xz \
            file://0001-meson.build-fix-incorrect-header.patch \
 "
 
-SRC_URI_append_libc-musl = " file://dont-use-plane-add-prop.patch "
+SRC_URI:append:libc-musl = " file://dont-use-plane-add-prop.patch "
 
 SRC_URI[sha256sum] = "5cf5d6ce192e0eb15c1fc861a436bf21b5bb3b91dbdabbdebe83e1f83aa098fe"
 
@@ -91,7 +91,7 @@ PACKAGECONFIG[shell-ivi] = "-Dshell-ivi=true,-Dshell-ivi=false"
 # JPEG image loading support
 PACKAGECONFIG[image-jpeg] = "-Dimage-jpeg=true,-Dimage-jpeg=false, jpeg"
 
-do_install_append() {
+do_install:append() {
 	# Weston doesn't need the .la files to load modules, so wipe them
 	rm -f ${D}/${libdir}/libweston-${WESTON_MAJOR_VERSION}/*.la
 
@@ -116,20 +116,20 @@ do_install_append() {
 PACKAGES += "${@bb.utils.contains('PACKAGECONFIG', 'xwayland', '${PN}-xwayland', '', d)} \
              libweston-${WESTON_MAJOR_VERSION} ${PN}-examples"
 
-FILES_${PN}-dev += "${libdir}/${BPN}/libexec_weston.so"
-FILES_${PN} = "${bindir}/weston ${bindir}/weston-terminal ${bindir}/weston-info ${bindir}/weston-launch ${bindir}/wcap-decode ${libexecdir} ${libdir}/${BPN}/*.so* ${datadir}"
+FILES:${PN}-dev += "${libdir}/${BPN}/libexec_weston.so"
+FILES:${PN} = "${bindir}/weston ${bindir}/weston-terminal ${bindir}/weston-info ${bindir}/weston-launch ${bindir}/wcap-decode ${libexecdir} ${libdir}/${BPN}/*.so* ${datadir}"
 
-FILES_libweston-${WESTON_MAJOR_VERSION} = "${libdir}/lib*${SOLIBS} ${libdir}/libweston-${WESTON_MAJOR_VERSION}/*.so"
-SUMMARY_libweston-${WESTON_MAJOR_VERSION} = "Helper library for implementing 'wayland window managers'."
+FILES:libweston-${WESTON_MAJOR_VERSION} = "${libdir}/lib*${SOLIBS} ${libdir}/libweston-${WESTON_MAJOR_VERSION}/*.so"
+SUMMARY:libweston-${WESTON_MAJOR_VERSION} = "Helper library for implementing 'wayland window managers'."
 
-FILES_${PN}-examples = "${bindir}/*"
+FILES:${PN}-examples = "${bindir}/*"
 
-FILES_${PN}-xwayland = "${libdir}/libweston-${WESTON_MAJOR_VERSION}/xwayland.so"
-RDEPENDS_${PN}-xwayland += "xwayland"
+FILES:${PN}-xwayland = "${libdir}/libweston-${WESTON_MAJOR_VERSION}/xwayland.so"
+RDEPENDS:${PN}-xwayland += "xwayland"
 
-RDEPENDS_${PN} += "xkeyboard-config"
-RRECOMMENDS_${PN} = "weston-init liberation-fonts"
-RRECOMMENDS_${PN}-dev += "wayland-protocols"
+RDEPENDS:${PN} += "xkeyboard-config"
+RRECOMMENDS:${PN} = "weston-init liberation-fonts"
+RRECOMMENDS:${PN}-dev += "wayland-protocols"
 
 USERADD_PACKAGES = "${PN}"
-GROUPADD_PARAM_${PN} = "--system weston-launch"
+GROUPADD_PARAM:${PN} = "--system weston-launch"
diff --git a/meta/recipes-graphics/x11-common/xserver-nodm-init_3.0.bb b/meta/recipes-graphics/x11-common/xserver-nodm-init_3.0.bb
index c2995f99ffe..3f20ad4fc74 100644
--- a/meta/recipes-graphics/x11-common/xserver-nodm-init_3.0.bb
+++ b/meta/recipes-graphics/x11-common/xserver-nodm-init_3.0.bb
@@ -63,10 +63,10 @@ do_install() {
     fi
 }
 
-RDEPENDS_${PN} = "xinit ${@oe.utils.conditional('ROOTLESS_X', '1', 'xuser-account libcap libcap-bin', '', d)}"
+RDEPENDS:${PN} = "xinit ${@oe.utils.conditional('ROOTLESS_X', '1', 'xuser-account libcap libcap-bin', '', d)}"
 
 INITSCRIPT_NAME = "xserver-nodm"
 INITSCRIPT_PARAMS = "start 9 5 . stop 20 0 1 2 3 6 ."
-SYSTEMD_SERVICE_${PN} = "xserver-nodm.service"
+SYSTEMD_SERVICE:${PN} = "xserver-nodm.service"
 
-RCONFLICTS_${PN} = "xserver-common (< 1.34-r9) x11-common"
+RCONFLICTS:${PN} = "xserver-common (< 1.34-r9) x11-common"
diff --git a/meta/recipes-graphics/xcursor-transparent-theme/xcursor-transparent-theme_git.bb b/meta/recipes-graphics/xcursor-transparent-theme/xcursor-transparent-theme_git.bb
index a4ab7f6eb81..f484f537c1a 100644
--- a/meta/recipes-graphics/xcursor-transparent-theme/xcursor-transparent-theme_git.bb
+++ b/meta/recipes-graphics/xcursor-transparent-theme/xcursor-transparent-theme_git.bb
@@ -17,4 +17,4 @@ S = "${WORKDIR}/git"
 
 inherit autotools allarch
 
-FILES_${PN} = "${datadir}/icons/xcursor-transparent/cursors/*"
+FILES:${PN} = "${datadir}/icons/xcursor-transparent/cursors/*"
diff --git a/meta/recipes-graphics/xinput-calibrator/pointercal-xinput_0.0.bb b/meta/recipes-graphics/xinput-calibrator/pointercal-xinput_0.0.bb
index baaf8fa9ad1..b77c940dde9 100644
--- a/meta/recipes-graphics/xinput-calibrator/pointercal-xinput_0.0.bb
+++ b/meta/recipes-graphics/xinput-calibrator/pointercal-xinput_0.0.bb
@@ -20,4 +20,4 @@ do_install() {
 }
 
 PACKAGE_ARCH = "${MACHINE_ARCH}"
-CONFFILES_${PN} = "${sysconfdir}/pointercal.xinput"
+CONFFILES:${PN} = "${sysconfdir}/pointercal.xinput"
diff --git a/meta/recipes-graphics/xinput-calibrator/xinput-calibrator_git.bb b/meta/recipes-graphics/xinput-calibrator/xinput-calibrator_git.bb
index d2a16643fe4..2553d895292 100644
--- a/meta/recipes-graphics/xinput-calibrator/xinput-calibrator_git.bb
+++ b/meta/recipes-graphics/xinput-calibrator/xinput-calibrator_git.bb
@@ -23,7 +23,7 @@ S = "${WORKDIR}/git"
 # force native X11 ui as we don't have gtk+ in DEPENDS
 EXTRA_OECONF += "--with-gui=x11"
 
-do_install_append() {
+do_install:append() {
     install -d ${D}${bindir}
     install -m 0755 ${S}/scripts/xinput_calibrator_pointercal.sh ${D}${bindir}/xinput_calibrator_once.sh
 
@@ -34,6 +34,6 @@ do_install_append() {
     sed -e 's,^Exec=.*,Exec=${bindir}/xinput_calibrator_once.sh,' ${S}/scripts/xinput_calibrator.desktop > ${D}${sysconfdir}/xdg/autostart/xinput_calibrator.desktop
 }
 
-FILES_${PN} += "${sysconfdir}/xdg/autostart"
-RDEPENDS_${PN} = "xinput formfactor"
-RRECOMMENDS_${PN} = "pointercal-xinput"
+FILES:${PN} += "${sysconfdir}/xdg/autostart"
+RDEPENDS:${PN} = "xinput formfactor"
+RRECOMMENDS:${PN} = "pointercal-xinput"
diff --git a/meta/recipes-graphics/xorg-app/mkfontscale_1.2.1.bb b/meta/recipes-graphics/xorg-app/mkfontscale_1.2.1.bb
index a767ee847b7..2d0c51a423e 100644
--- a/meta/recipes-graphics/xorg-app/mkfontscale_1.2.1.bb
+++ b/meta/recipes-graphics/xorg-app/mkfontscale_1.2.1.bb
@@ -11,7 +11,7 @@ is used by the mkfontdir program."
 DEPENDS = "util-macros-native zlib libfontenc freetype xorgproto"
 
 PROVIDES += "mkfontdir"
-RPROVIDES_${PN} += "mkfontdir"
+RPROVIDES:${PN} += "mkfontdir"
 
 BBCLASSEXTEND = "native"
 
diff --git a/meta/recipes-graphics/xorg-app/rgb_1.0.6.bb b/meta/recipes-graphics/xorg-app/rgb_1.0.6.bb
index c3e853631b9..db287a5b57a 100644
--- a/meta/recipes-graphics/xorg-app/rgb_1.0.6.bb
+++ b/meta/recipes-graphics/xorg-app/rgb_1.0.6.bb
@@ -13,4 +13,4 @@ PE = "1"
 SRC_URI[md5sum] = "eab5bbd7642e5c784429307ec210d198"
 SRC_URI[sha256sum] = "bbca7c6aa59939b9f6a0fb9fff15dfd62176420ffd4ae30c8d92a6a125fbe6b0"
 
-FILES_${PN} += "${datadir}/X11"
+FILES:${PN} += "${datadir}/X11"
diff --git a/meta/recipes-graphics/xorg-app/x11perf_1.6.1.bb b/meta/recipes-graphics/xorg-app/x11perf_1.6.1.bb
index c4d443bfb94..651d03caca2 100644
--- a/meta/recipes-graphics/xorg-app/x11perf_1.6.1.bb
+++ b/meta/recipes-graphics/xorg-app/x11perf_1.6.1.bb
@@ -17,11 +17,11 @@ inherit multilib_script
 
 MULTILIB_SCRIPTS = "${PN}:${bindir}/x11perfcomp"
 
-do_install_append_class-target () {
+do_install:append:class-target () {
     sed -i -e 's:${HOSTTOOLS_DIR}/::g' ${D}${bindir}/x11perfcomp
 }
 
-FILES_${PN} += "${libdir}/X11/x11perfcomp/*"
+FILES:${PN} += "${libdir}/X11/x11perfcomp/*"
 
 SRC_URI[md5sum] = "e96b56756990c56c24d2d02c2964456b"
 SRC_URI[sha256sum] = "1c7e0b8ffc2794b4ccf11e04d551823abe0ea47b4f7db0637390db6fbe817c34"
diff --git a/meta/recipes-graphics/xorg-app/xinit_1.4.1.bb b/meta/recipes-graphics/xorg-app/xinit_1.4.1.bb
index 301ea1c2433..e6ebf273e87 100644
--- a/meta/recipes-graphics/xorg-app/xinit_1.4.1.bb
+++ b/meta/recipes-graphics/xorg-app/xinit_1.4.1.bb
@@ -22,4 +22,4 @@ EXTRA_OECONF = "ac_cv_path_MCOOKIE=${bindir}/mcookie"
 PACKAGECONFIG ??= "rxvt"
 PACKAGECONFIG[rxvt] = "--with-xterm=rxvt,,,rxvt-unicode"
 
-RDEPENDS_${PN} += "util-linux-mcookie"
+RDEPENDS:${PN} += "util-linux-mcookie"
diff --git a/meta/recipes-graphics/xorg-app/xorg-app-common.inc b/meta/recipes-graphics/xorg-app/xorg-app-common.inc
index cb8cf4f5fa9..1a200998801 100644
--- a/meta/recipes-graphics/xorg-app/xorg-app-common.inc
+++ b/meta/recipes-graphics/xorg-app/xorg-app-common.inc
@@ -12,4 +12,4 @@ SRC_URI = "${XORG_MIRROR}/individual/app/${BPN}-${PV}.tar.bz2"
 
 inherit autotools pkgconfig features_check
 
-FILES_${PN} += " ${libdir}/X11/${BPN} ${datadir}/X11/app-defaults/"
+FILES:${PN} += " ${libdir}/X11/${BPN} ${datadir}/X11/app-defaults/"
diff --git a/meta/recipes-graphics/xorg-driver/xf86-input-libinput_1.1.0.bb b/meta/recipes-graphics/xorg-driver/xf86-input-libinput_1.1.0.bb
index 5688eb4767e..3b5af3fae9a 100644
--- a/meta/recipes-graphics/xorg-driver/xf86-input-libinput_1.1.0.bb
+++ b/meta/recipes-graphics/xorg-driver/xf86-input-libinput_1.1.0.bb
@@ -8,4 +8,4 @@ DEPENDS += "libinput"
 
 SRC_URI[sha256sum] = "e11d2a41419124a6e9b148f1df181bf7819fc7398c8ee9a1b6390b0742c68d16"
 
-FILES_${PN} += "${datadir}/X11/xorg.conf.d"
+FILES:${PN} += "${datadir}/X11/xorg.conf.d"
diff --git a/meta/recipes-graphics/xorg-driver/xf86-input-vmmouse_13.1.0.bb b/meta/recipes-graphics/xorg-driver/xf86-input-vmmouse_13.1.0.bb
index 92a1b25ebef..5e740037d9e 100644
--- a/meta/recipes-graphics/xorg-driver/xf86-input-vmmouse_13.1.0.bb
+++ b/meta/recipes-graphics/xorg-driver/xf86-input-vmmouse_13.1.0.bb
@@ -9,13 +9,13 @@ standard 'mouse' driver if a VMware virtual machine is not detected."
 SRC_URI[md5sum] = "85e2e464b7219c495ad3a16465c226ed"
 SRC_URI[sha256sum] = "0af558957ac1be1b2863712c2475de8f4d7f14921fd01ded2e2fde4921b19319"
 
-RDEPENDS_${PN} += "xf86-input-mouse"
+RDEPENDS:${PN} += "xf86-input-mouse"
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=622841c068a9d7625fbfe7acffb1a8fc"
 
 COMPATIBLE_HOST = '(i.86|x86_64).*-linux'
 
-do_install_append () {
+do_install:append () {
 	# We don't care about hal
 	rm -rf ${D}${datadir}/hal/
 	rm -rf ${D}${libdir}/hal/
@@ -23,4 +23,4 @@ do_install_append () {
 
 EXTRA_OECONF = "--with-udev-rules-dir=${nonarch_base_libdir}/udev/rules.d"
 
-FILES_${PN} += "${datadir}/X11/xorg.conf.d"
+FILES:${PN} += "${datadir}/X11/xorg.conf.d"
diff --git a/meta/recipes-graphics/xorg-driver/xf86-video-intel_git.bb b/meta/recipes-graphics/xorg-driver/xf86-video-intel_git.bb
index 161371b1183..1d8077a6007 100644
--- a/meta/recipes-graphics/xorg-driver/xf86-video-intel_git.bb
+++ b/meta/recipes-graphics/xorg-driver/xf86-video-intel_git.bb
@@ -39,4 +39,4 @@ EXTRA_OECONF += '${@oe.utils.conditional( "ROOTLESS_X", "1", " --enable-kms-only
 
 COMPATIBLE_HOST = '(i.86|x86_64).*-linux'
 
-FILES_${PN} += "${datadir}/polkit-1"
+FILES:${PN} += "${datadir}/polkit-1"
diff --git a/meta/recipes-graphics/xorg-driver/xf86-video-vesa_2.5.0.bb b/meta/recipes-graphics/xorg-driver/xf86-video-vesa_2.5.0.bb
index d313c8c6a8b..05bb905b353 100644
--- a/meta/recipes-graphics/xorg-driver/xf86-video-vesa_2.5.0.bb
+++ b/meta/recipes-graphics/xorg-driver/xf86-video-vesa_2.5.0.bb
@@ -13,7 +13,7 @@ DEPENDS += "virtual/libx11 xorgproto libpciaccess"
 
 COMPATIBLE_HOST = '(i.86|x86_64).*-linux'
 
-RRECOMMENDS_${PN} += "xserver-xorg-module-libint10"
+RRECOMMENDS:${PN} += "xserver-xorg-module-libint10"
 
 SRC_URI[sha256sum] = "1f1624f3c73906801ad1bc98335a2cb5676a7a4d18e5374d9a1d18464e54c659"
 
diff --git a/meta/recipes-graphics/xorg-driver/xorg-driver-common.inc b/meta/recipes-graphics/xorg-driver/xorg-driver-common.inc
index 493b90a298c..65c5e3c48ae 100644
--- a/meta/recipes-graphics/xorg-driver/xorg-driver-common.inc
+++ b/meta/recipes-graphics/xorg-driver/xorg-driver-common.inc
@@ -10,7 +10,7 @@ DEPENDS = "virtual/xserver xorgproto util-macros"
 
 SRC_URI = "${XORG_MIRROR}/individual/driver/${BPN}-${PV}.tar.bz2"
 
-FILES_${PN} += " ${libdir}/xorg/modules/drivers/*.so"
+FILES:${PN} += " ${libdir}/xorg/modules/drivers/*.so"
 
 XORGBUILDCLASS ??= "autotools"
 inherit ${XORGBUILDCLASS} pkgconfig features_check
@@ -20,7 +20,7 @@ REQUIRED_DISTRO_FEATURES = "x11"
 
 # FIXME: We don't want to include the libtool archives (*.la) from modules
 # directory, as they serve no useful purpose. Upstream should fix Makefile.am
-do_install_append() {
+do_install:append() {
 	find ${D}${libdir}/xorg/modules -regex ".*\.la$" | xargs rm -f --
 }
 
@@ -38,6 +38,6 @@ def _add_xorg_abi_depends(d, name):
     abi = "%sxorg-abi-%s-%s" % (mlprefix, name, output.split(".")[0])
 
     pn = d.getVar("PN")
-    d.appendVar('RDEPENDS_' + pn, ' ' + abi)
+    d.appendVar('RDEPENDS:' + pn, ' ' + abi)
 
 SECURITY_LDFLAGS = "${SECURITY_X_LDFLAGS}"
diff --git a/meta/recipes-graphics/xorg-driver/xorg-driver-input.inc b/meta/recipes-graphics/xorg-driver/xorg-driver-input.inc
index 57912e70dbe..934c3d75c12 100644
--- a/meta/recipes-graphics/xorg-driver/xorg-driver-input.inc
+++ b/meta/recipes-graphics/xorg-driver/xorg-driver-input.inc
@@ -7,6 +7,6 @@ python add_xorg_abi_depends() {
 }
 PACKAGEFUNCS =+ "add_xorg_abi_depends"
 
-FILES_${PN} += " ${libdir}/xorg/modules/input/*.so \
+FILES:${PN} += " ${libdir}/xorg/modules/input/*.so \
                  ${datadir}/X11/xorg.conf.d \
                  "
diff --git a/meta/recipes-graphics/xorg-font/encodings_1.0.5.bb b/meta/recipes-graphics/xorg-font/encodings_1.0.5.bb
index 713fcfb9354..8ddbaf24dde 100644
--- a/meta/recipes-graphics/xorg-font/encodings_1.0.5.bb
+++ b/meta/recipes-graphics/xorg-font/encodings_1.0.5.bb
@@ -10,7 +10,7 @@ PE = "1"
 PR = "r3"
 
 DEPENDS = "mkfontscale-native mkfontdir-native font-util-native"
-RDEPENDS_${PN} = ""
+RDEPENDS:${PN} = ""
 
 SRC_URI += "file://nocompiler.patch"
 SRC_URI[md5sum] = "bbae4f247b88ccde0e85ed6a403da22a"
@@ -21,5 +21,5 @@ inherit allarch
 EXTRA_OECONF += "--with-encodingsdir=${datadir}/fonts/X11/encodings"
 
 # postinst from .inc doesn't apply to this recipe
-pkg_postinst_${PN} () {
+pkg_postinst:${PN} () {
 }
diff --git a/meta/recipes-graphics/xorg-font/font-alias_1.0.4.bb b/meta/recipes-graphics/xorg-font/font-alias_1.0.4.bb
index e4b70c69dc0..d80ecbeb8fd 100644
--- a/meta/recipes-graphics/xorg-font/font-alias_1.0.4.bb
+++ b/meta/recipes-graphics/xorg-font/font-alias_1.0.4.bb
@@ -13,8 +13,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=bf0158b89be493d523d69d9f29265038 \
 SRC_URI += "file://nocompiler.patch"
 
 DEPENDS = "util-macros-native font-util-native"
-RDEPENDS_${PN} = "encodings font-util"
-RDEPENDS_${PN}_class-native = "font-util-native"
+RDEPENDS:${PN} = "encodings font-util"
+RDEPENDS:${PN}:class-native = "font-util-native"
 
 inherit allarch
 
diff --git a/meta/recipes-graphics/xorg-font/font-util_1.3.2.bb b/meta/recipes-graphics/xorg-font/font-util_1.3.2.bb
index ebe7a603faf..8f2d10e25b1 100644
--- a/meta/recipes-graphics/xorg-font/font-util_1.3.2.bb
+++ b/meta/recipes-graphics/xorg-font/font-util_1.3.2.bb
@@ -10,13 +10,13 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=5df208ec65eb84ce5bb8d82d8f3b9675 \
                     file://map-ISO8859-1;beginline=9;endline=23;md5=1cecb984063248f29ffe5c46f5c04f34"
 
 DEPENDS = "encodings util-macros"
-DEPENDS_class-native = "util-macros-native"
-RDEPENDS_${PN} = "mkfontdir mkfontscale encodings"
-RDEPENDS_${PN}_class-native = ""
+DEPENDS:class-native = "util-macros-native"
+RDEPENDS:${PN} = "mkfontdir mkfontscale encodings"
+RDEPENDS:${PN}:class-native = ""
 
 BBCLASSEXTEND = "native"
 
 SRC_URI[md5sum] = "3d6adb76fdd072db8c8fae41b40855e8"
 SRC_URI[sha256sum] = "3ad880444123ac06a7238546fa38a2a6ad7f7e0cc3614de7e103863616522282"
 
-SYSROOT_DIRS_BLACKLIST_remove = "${datadir}/fonts"
+SYSROOT_DIRS_BLACKLIST:remove = "${datadir}/fonts"
diff --git a/meta/recipes-graphics/xorg-font/xorg-font-common.inc b/meta/recipes-graphics/xorg-font/xorg-font-common.inc
index 7ca5c76a660..ba5840425cc 100644
--- a/meta/recipes-graphics/xorg-font/xorg-font-common.inc
+++ b/meta/recipes-graphics/xorg-font/xorg-font-common.inc
@@ -5,7 +5,7 @@ SECTION = "x11/fonts"
 LICENSE = "MIT-X"
 
 DEPENDS = " encodings font-alias font-util-native"
-RDEPENDS_${PN} = "encodings font-util font-alias"
+RDEPENDS:${PN} = "encodings font-util font-alias"
 
 XORG_PN = "${BPN}"
 
@@ -19,17 +19,17 @@ REQUIRED_DISTRO_FEATURES = "x11"
 
 EXTRA_OEMAKE += "FCCACHE=/bin/true UTIL_DIR=${STAGING_DIR_TARGET}\$\(MAPFILES_PATH\)"
 
-do_install_append() {
+do_install:append() {
 	find ${D}${libdir}/X11/fonts -type f -name fonts.dir | xargs rm -f
 	find ${D}${libdir}/X11/fonts -type f -name fonts.scale | xargs rm -f
 	find ${D}${datadir}/fonts/X11 -type f -name fonts.dir | xargs rm -f
 	find ${D}${datadir}/fonts/X11 -type f -name fonts.scale | xargs rm -f	
 }
 
-FILES_${PN} += " ${libdir}/X11/fonts ${datadir}"
+FILES:${PN} += " ${libdir}/X11/fonts ${datadir}"
 
 PACKAGE_WRITE_DEPS += "mkfontdir-native mkfontscale-native"
-pkg_postinst_${PN} () {
+pkg_postinst:${PN} () {
         for fontdir in `find $D/usr/lib/X11/fonts -type d`; do
                 mkfontdir $fontdir
                 mkfontscale $fontdir
diff --git a/meta/recipes-graphics/xorg-font/xorg-minimal-fonts.bb b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts.bb
index f0c77f33bd2..88f534ccf7d 100644
--- a/meta/recipes-graphics/xorg-font/xorg-minimal-fonts.bb
+++ b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts.bb
@@ -25,8 +25,8 @@ REQUIRED_DISTRO_FEATURES = "x11"
 S = "${WORKDIR}/misc"
 
 PACKAGES = "${PN}"
-FILES_${PN} = "${libdir}/X11/ ${datadir}/fonts/X11/"
-RDEPENDS_${PN} += "font-alias"
+FILES:${PN} = "${libdir}/X11/ ${datadir}/fonts/X11/"
+RDEPENDS:${PN} += "font-alias"
 
 do_install() {
 	install -d ${D}/${datadir}/fonts/X11/misc
diff --git a/meta/recipes-graphics/xorg-lib/libpthread-stubs_0.4.bb b/meta/recipes-graphics/xorg-lib/libpthread-stubs_0.4.bb
index ffa1c859d6f..b398e8b626c 100644
--- a/meta/recipes-graphics/xorg-lib/libpthread-stubs_0.4.bb
+++ b/meta/recipes-graphics/xorg-lib/libpthread-stubs_0.4.bb
@@ -13,7 +13,7 @@ SRC_URI[sha256sum] = "e4d05911a3165d3b18321cc067fdd2f023f06436e391c6a28dff618a78
 
 inherit autotools
 
-RDEPENDS_${PN}-dev = ""
-RRECOMMENDS_${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})"
+RDEPENDS:${PN}-dev = ""
+RRECOMMENDS:${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})"
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-graphics/xorg-lib/libx11-compose-data_1.6.8.bb b/meta/recipes-graphics/xorg-lib/libx11-compose-data_1.6.8.bb
index 0f4be357700..7519b4c018d 100644
--- a/meta/recipes-graphics/xorg-lib/libx11-compose-data_1.6.8.bb
+++ b/meta/recipes-graphics/xorg-lib/libx11-compose-data_1.6.8.bb
@@ -23,7 +23,7 @@ EXTRA_OECONF += "--disable-xkb"
 
 PACKAGES = "${PN}"
 
-FILES_${PN} = "${datadir}/X11/locale ${libdir}/X11/locale"
+FILES:${PN} = "${datadir}/X11/locale ${libdir}/X11/locale"
 
 do_compile() {
     oe_runmake -C nls
diff --git a/meta/recipes-graphics/xorg-lib/libx11_1.7.2.bb b/meta/recipes-graphics/xorg-lib/libx11_1.7.2.bb
index 5d7e9e3783d..1acbdf0e165 100644
--- a/meta/recipes-graphics/xorg-lib/libx11_1.7.2.bb
+++ b/meta/recipes-graphics/xorg-lib/libx11_1.7.2.bb
@@ -35,8 +35,8 @@ PACKAGES =+ "${PN}-xcb"
 
 inherit gettext
 
-FILES_${PN} += "${datadir}/X11/XKeysymDB ${datadir}/X11/XErrorDB ${datadir}/X11/Xcms.txt"
-FILES_${PN}-xcb += "${libdir}/libX11-xcb.so.*"
-FILES_${PN}-locale += "${datadir}/X11/locale ${libdir}/X11/locale"
+FILES:${PN} += "${datadir}/X11/XKeysymDB ${datadir}/X11/XErrorDB ${datadir}/X11/Xcms.txt"
+FILES:${PN}-xcb += "${libdir}/libX11-xcb.so.*"
+FILES:${PN}-locale += "${datadir}/X11/locale ${libdir}/X11/locale"
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-graphics/xorg-lib/libxcb_1.14.bb b/meta/recipes-graphics/xorg-lib/libxcb_1.14.bb
index f0a223a19c9..5341bbd4bc8 100644
--- a/meta/recipes-graphics/xorg-lib/libxcb_1.14.bb
+++ b/meta/recipes-graphics/xorg-lib/libxcb_1.14.bb
@@ -21,7 +21,7 @@ DEPENDS = "xcb-proto xorgproto libxau libpthread-stubs libxdmcp"
 
 PACKAGES_DYNAMIC = "^${PN}-.*"
 
-FILES_${PN} = "${libdir}/libxcb.so.*"
+FILES:${PN} = "${libdir}/libxcb.so.*"
 
 inherit autotools pkgconfig features_check
 
@@ -30,10 +30,10 @@ REQUIRED_DISTRO_FEATURES = "x11"
 
 export PYTHON = "python3"
 
-do_install_append () {
+do_install:append () {
 	chown root.root ${D}${datadir}/doc/${BPN}/tutorial -R
 }
 
-python populate_packages_prepend () {
+python populate_packages:prepend () {
     do_split_packages(d, '${libdir}', r'^libxcb-(.*)\.so\..*$', '${PN}-%s', 'XCB library module for %s', allow_links=True)
 }
diff --git a/meta/recipes-graphics/xorg-lib/libxft_2.3.3.bb b/meta/recipes-graphics/xorg-lib/libxft_2.3.3.bb
index 65bd9ae4946..a6fb5642dac 100644
--- a/meta/recipes-graphics/xorg-lib/libxft_2.3.3.bb
+++ b/meta/recipes-graphics/xorg-lib/libxft_2.3.3.bb
@@ -29,5 +29,5 @@ BBCLASSEXTEND = "native nativesdk"
 
 python () {
         if d.getVar('DEBIAN_NAMES'):
-            d.setVar('PKG_${PN}', '${MLPREFIX}libxft2')
+            d.setVar('PKG:${PN}', '${MLPREFIX}libxft2')
 }
diff --git a/meta/recipes-graphics/xorg-lib/libxkbcommon_1.3.0.bb b/meta/recipes-graphics/xorg-lib/libxkbcommon_1.3.0.bb
index 26bbaadcb54..57c318cf5ea 100644
--- a/meta/recipes-graphics/xorg-lib/libxkbcommon_1.3.0.bb
+++ b/meta/recipes-graphics/xorg-lib/libxkbcommon_1.3.0.bb
@@ -23,4 +23,4 @@ PACKAGECONFIG[wayland] = "-Denable-wayland=true,-Denable-wayland=false,wayland-n
 
 # Fix a following runtime error:
 # xkbcommon: ERROR: couldn't find a Compose file for locale "C"
-RDEPENDS_${PN} = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'libx11-locale', 'libx11-compose-data', d)}"
+RDEPENDS:${PN} = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'libx11-locale', 'libx11-compose-data', d)}"
diff --git a/meta/recipes-graphics/xorg-lib/libxmu_1.1.3.bb b/meta/recipes-graphics/xorg-lib/libxmu_1.1.3.bb
index dc3179f53e5..7e92d0499aa 100644
--- a/meta/recipes-graphics/xorg-lib/libxmu_1.1.3.bb
+++ b/meta/recipes-graphics/xorg-lib/libxmu_1.1.3.bb
@@ -23,7 +23,7 @@ LEAD_SONAME = "libXmu"
 
 PACKAGES =+ "libxmuu"
 
-FILES_libxmuu = "${libdir}/libXmuu.so.*"
+FILES:libxmuu = "${libdir}/libXmuu.so.*"
 
 BBCLASSEXTEND = "native"
 
diff --git a/meta/recipes-graphics/xorg-lib/libxpm_3.5.13.bb b/meta/recipes-graphics/xorg-lib/libxpm_3.5.13.bb
index fda8e32d2c5..4f0a5d7ba07 100644
--- a/meta/recipes-graphics/xorg-lib/libxpm_3.5.13.bb
+++ b/meta/recipes-graphics/xorg-lib/libxpm_3.5.13.bb
@@ -18,8 +18,8 @@ PE = "1"
 XORG_PN = "libXpm"
 
 PACKAGES =+ "sxpm cxpm"
-FILES_cxpm = "${bindir}/cxpm"
-FILES_sxpm = "${bindir}/sxpm"
+FILES:cxpm = "${bindir}/cxpm"
+FILES:sxpm = "${bindir}/sxpm"
 
 SRC_URI[md5sum] = "6f0ecf8d103d528cfc803aa475137afa"
 SRC_URI[sha256sum] = "9cd1da57588b6cb71450eff2273ef6b657537a9ac4d02d0014228845b935ac25"
diff --git a/meta/recipes-graphics/xorg-lib/libxscrnsaver_1.2.3.bb b/meta/recipes-graphics/xorg-lib/libxscrnsaver_1.2.3.bb
index aed52e75eed..b52fd00f1ae 100644
--- a/meta/recipes-graphics/xorg-lib/libxscrnsaver_1.2.3.bb
+++ b/meta/recipes-graphics/xorg-lib/libxscrnsaver_1.2.3.bb
@@ -14,7 +14,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=21fd154ee757813632ada871a34113fb"
 
 DEPENDS += "libxext xorgproto"
 PROVIDES = "libxss"
-RREPLACES_${PN} = "libxss"
+RREPLACES:${PN} = "libxss"
 PE = "1"
 
 XORG_PN = "libXScrnSaver"
diff --git a/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.33.bb b/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.33.bb
index 197a870e769..138e451d078 100644
--- a/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.33.bb
+++ b/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.33.bb
@@ -20,11 +20,11 @@ DEPENDS = "util-macros libxslt-native"
 
 EXTRA_OECONF = "--with-xkb-rules-symlink=xorg --disable-runtime-deps"
 
-FILES_${PN} += "${datadir}/X11/xkb"
+FILES:${PN} += "${datadir}/X11/xkb"
 
 inherit autotools pkgconfig gettext python3native
 
-do_install_append () {
+do_install:append () {
     install -d ${D}${datadir}/X11/xkb/compiled
     cd ${D}${datadir}/X11/xkb/rules && ln -sf base xorg
 }
diff --git a/meta/recipes-graphics/xorg-lib/xtrans_1.4.0.bb b/meta/recipes-graphics/xorg-lib/xtrans_1.4.0.bb
index 5bf134b5f88..f33f6f0215d 100644
--- a/meta/recipes-graphics/xorg-lib/xtrans_1.4.0.bb
+++ b/meta/recipes-graphics/xorg-lib/xtrans_1.4.0.bb
@@ -16,7 +16,7 @@ SRC_URI += "file://multilibfix.patch"
 
 PE = "1"
 
-RDEPENDS_${PN}-dev = ""
+RDEPENDS:${PN}-dev = ""
 
 inherit gettext
 
diff --git a/meta/recipes-graphics/xorg-proto/xcb-proto_1.14.1.bb b/meta/recipes-graphics/xorg-proto/xcb-proto_1.14.1.bb
index 52e474a2e98..e530a055ab5 100644
--- a/meta/recipes-graphics/xorg-proto/xcb-proto_1.14.1.bb
+++ b/meta/recipes-graphics/xorg-proto/xcb-proto_1.14.1.bb
@@ -18,11 +18,11 @@ inherit autotools pkgconfig python3native
 
 PACKAGES += "python-xcbgen"
 
-FILES_${PN} = ""
-FILES_${PN}-dev += "${datadir}/xcb/*.xml ${datadir}/xcb/*.xsd"
-FILES_python-xcbgen = "${PYTHON_SITEPACKAGES_DIR}"
+FILES:${PN} = ""
+FILES:${PN}-dev += "${datadir}/xcb/*.xml ${datadir}/xcb/*.xsd"
+FILES:python-xcbgen = "${PYTHON_SITEPACKAGES_DIR}"
 
-RDEPENDS_${PN}-dev = ""
-RRECOMMENDS_${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})"
+RDEPENDS:${PN}-dev = ""
+RRECOMMENDS:${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})"
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-graphics/xorg-proto/xorgproto_2021.4.99.2.bb b/meta/recipes-graphics/xorg-proto/xorgproto_2021.4.99.2.bb
index 8db3e6d7a31..1780e78c562 100644
--- a/meta/recipes-graphics/xorg-proto/xorgproto_2021.4.99.2.bb
+++ b/meta/recipes-graphics/xorg-proto/xorgproto_2021.4.99.2.bb
@@ -19,7 +19,7 @@ PACKAGECONFIG[legacy] = "-Dlegacy=true,-Dlegacy=false"
 # Datadir only used to install pc files, $datadir/pkgconfig
 datadir="${libdir}"
 # ${PN} is empty so we need to tweak -dev and -dbg package dependencies
-RDEPENDS_${PN}-dev = ""
-RRECOMMENDS_${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})"
+RDEPENDS:${PN}-dev = ""
+RRECOMMENDS:${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})"
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-graphics/xorg-util/util-macros_1.19.3.bb b/meta/recipes-graphics/xorg-util/util-macros_1.19.3.bb
index 27898709fc0..80e75904002 100644
--- a/meta/recipes-graphics/xorg-util/util-macros_1.19.3.bb
+++ b/meta/recipes-graphics/xorg-util/util-macros_1.19.3.bb
@@ -13,7 +13,7 @@ SRC_URI[md5sum] = "66cb74d4a0120a06e32c3b01c29417d8"
 SRC_URI[sha256sum] = "624bb6c3a4613d18114a7e3849a3d70f2d7af9dc6eabeaba98060d87e3aef35b"
 
 # ${PN} is empty so we need to tweak -dev and -dbg package dependencies
-RDEPENDS_${PN}-dev = ""
-RRECOMMENDS_${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})"
+RDEPENDS:${PN}-dev = ""
+RRECOMMENDS:${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})"
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bb b/meta/recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bb
index 5420b7d23e5..e9788ab7c6f 100644
--- a/meta/recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bb
+++ b/meta/recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bb
@@ -9,10 +9,10 @@ SRC_URI = "file://xorg.conf"
 
 S = "${WORKDIR}"
 
-CONFFILES_${PN} = "${sysconfdir}/X11/xorg.conf"
+CONFFILES:${PN} = "${sysconfdir}/X11/xorg.conf"
 
 PACKAGE_ARCH = "${MACHINE_ARCH}"
-ALLOW_EMPTY_${PN} = "1"
+ALLOW_EMPTY:${PN} = "1"
 
 do_install () {
 	if test -s ${WORKDIR}/xorg.conf; then
diff --git a/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc b/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc
index 8b0cc27488f..e1fc0a06dc4 100644
--- a/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc
+++ b/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc
@@ -69,41 +69,41 @@ PACKAGES =+ "${PN}-sdl \
              ${PN}-module-libxf4bpp \
              xf86-video-modesetting"
 
-SUMMARY_xf86-video-modesetting = "X.Org X server -- modesetting display driver"
-INSANE_SKIP_${MLPREFIX}xf86-video-modesetting = "xorg-driver-abi"
+SUMMARY:xf86-video-modesetting = "X.Org X server -- modesetting display driver"
+INSANE_SKIP:${MLPREFIX}xf86-video-modesetting = "xorg-driver-abi"
 
 XSERVER_RRECOMMENDS = "xkeyboard-config rgb xserver-xf86-config xkbcomp xf86-input-libinput"
-RRECOMMENDS_${PN} += "${XSERVER_RRECOMMENDS}"
-RRECOMMENDS_${PN}-xwayland += "${XSERVER_RRECOMMENDS}"
-RDEPENDS_${PN}-xvfb += "xkeyboard-config"
-RDEPENDS_${PN}-module-exa = "${PN} (= ${EXTENDPKGV})"
-
-FILES_${PN} = "${bindir} ${libdir}/X11/Options ${libdir}/X11/Cards ${libdir}/X11/getconfig ${libdir}/X11/etc ${libdir}/modules/*.so ${libdir}/xorg/modules/*.so /etc/X11 ${libdir}/xorg/protocol.txt ${datadir}/X11/xorg.conf.d"
-FILES_${PN}-dev += "${libdir}/xorg/modules/*.la ${libdir}/xorg/modules/*/*.la"
-FILES_${PN}-doc += "${libdir}/X11/doc ${datadir}/X11/xkb/compiled/README.compiled ${localstatedir}/lib/xkb/README.compiled"
-FILES_${PN}-sdl = "${bindir}/Xsdl"
-FILES_${PN}-fbdev = "${bindir}/Xfbdev"
-FILES_${PN}-xvfb = "${bindir}/Xvfb"
-FILES_${PN}-utils = "${bindir}/scanpci ${bindir}/pcitweak ${bindir}/ioport ${bindir}/in[bwl] ${bindir}/out[bwl] ${bindir}/mmap[rw] ${bindir}/gtf ${bindir}/getconfig ${bindir}/getconfig.pl"
-FILES_${PN}-xephyr = "${bindir}/Xephyr"
-FILES_${PN}-xwayland = "${bindir}/Xwayland"
-FILES_${PN}-multimedia-modules = "${libdir}/xorg/modules/multimedia/*drv*"
-FILES_${PN}-extension-dri = "${libdir}/xorg/modules/extensions/libdri.so"
-FILES_${PN}-extension-dri2 = "${libdir}/xorg/modules/extensions/libdri2.so"
-FILES_${PN}-extension-glx = "${libdir}/xorg/modules/extensions/libglx.so"
-FILES_${PN}-extension-record = "${libdir}/xorg/modules/extensions/librecord.so"
-FILES_${PN}-extension-extmod = "${libdir}/xorg/modules/extensions/libextmod.so"
-FILES_${PN}-extension-dbe = "${libdir}/xorg/modules/extensions/libdbe.so"
-FILES_${PN}-module-libint10 = "${libdir}/xorg/modules/libint10.so"
-FILES_${PN}-module-libafb = "${libdir}/xorg/modules/libafb.so"
-FILES_${PN}-module-libwfb = "${libdir}/xorg/modules/libwfb.so"
-FILES_${PN}-module-libmfb = "${libdir}/xorg/modules/libmfb.so"
-FILES_${PN}-module-libcfb = "${libdir}/xorg/modules/libcfb.so"
-FILES_${PN}-module-exa = "${libdir}/xorg/modules/libexa.so"
-FILES_${PN}-module-xaa = "${libdir}/xorg/modules/libxaa.so"
-FILES_${PN}-module-libxf1bpp = "${libdir}/xorg/modules/libxf1bpp.so"
-FILES_${PN}-module-libxf4bpp = "${libdir}/xorg/modules/libxf4bpp.so"
-FILES_xf86-video-modesetting = "${libdir}/xorg/modules/drivers/modesetting_drv.so"
+RRECOMMENDS:${PN} += "${XSERVER_RRECOMMENDS}"
+RRECOMMENDS:${PN}-xwayland += "${XSERVER_RRECOMMENDS}"
+RDEPENDS:${PN}-xvfb += "xkeyboard-config"
+RDEPENDS:${PN}-module-exa = "${PN} (= ${EXTENDPKGV})"
+
+FILES:${PN} = "${bindir} ${libdir}/X11/Options ${libdir}/X11/Cards ${libdir}/X11/getconfig ${libdir}/X11/etc ${libdir}/modules/*.so ${libdir}/xorg/modules/*.so /etc/X11 ${libdir}/xorg/protocol.txt ${datadir}/X11/xorg.conf.d"
+FILES:${PN}-dev += "${libdir}/xorg/modules/*.la ${libdir}/xorg/modules/*/*.la"
+FILES:${PN}-doc += "${libdir}/X11/doc ${datadir}/X11/xkb/compiled/README.compiled ${localstatedir}/lib/xkb/README.compiled"
+FILES:${PN}-sdl = "${bindir}/Xsdl"
+FILES:${PN}-fbdev = "${bindir}/Xfbdev"
+FILES:${PN}-xvfb = "${bindir}/Xvfb"
+FILES:${PN}-utils = "${bindir}/scanpci ${bindir}/pcitweak ${bindir}/ioport ${bindir}/in[bwl] ${bindir}/out[bwl] ${bindir}/mmap[rw] ${bindir}/gtf ${bindir}/getconfig ${bindir}/getconfig.pl"
+FILES:${PN}-xephyr = "${bindir}/Xephyr"
+FILES:${PN}-xwayland = "${bindir}/Xwayland"
+FILES:${PN}-multimedia-modules = "${libdir}/xorg/modules/multimedia/*drv*"
+FILES:${PN}-extension-dri = "${libdir}/xorg/modules/extensions/libdri.so"
+FILES:${PN}-extension-dri2 = "${libdir}/xorg/modules/extensions/libdri2.so"
+FILES:${PN}-extension-glx = "${libdir}/xorg/modules/extensions/libglx.so"
+FILES:${PN}-extension-record = "${libdir}/xorg/modules/extensions/librecord.so"
+FILES:${PN}-extension-extmod = "${libdir}/xorg/modules/extensions/libextmod.so"
+FILES:${PN}-extension-dbe = "${libdir}/xorg/modules/extensions/libdbe.so"
+FILES:${PN}-module-libint10 = "${libdir}/xorg/modules/libint10.so"
+FILES:${PN}-module-libafb = "${libdir}/xorg/modules/libafb.so"
+FILES:${PN}-module-libwfb = "${libdir}/xorg/modules/libwfb.so"
+FILES:${PN}-module-libmfb = "${libdir}/xorg/modules/libmfb.so"
+FILES:${PN}-module-libcfb = "${libdir}/xorg/modules/libcfb.so"
+FILES:${PN}-module-exa = "${libdir}/xorg/modules/libexa.so"
+FILES:${PN}-module-xaa = "${libdir}/xorg/modules/libxaa.so"
+FILES:${PN}-module-libxf1bpp = "${libdir}/xorg/modules/libxf1bpp.so"
+FILES:${PN}-module-libxf4bpp = "${libdir}/xorg/modules/libxf4bpp.so"
+FILES:xf86-video-modesetting = "${libdir}/xorg/modules/drivers/modesetting_drv.so"
 
 EXTRA_OECONF += "--with-fop=no \
                  --with-pic \
@@ -149,7 +149,7 @@ PACKAGECONFIG[openssl] = "--with-sha1=libcrypto,,openssl"
 PACKAGECONFIG[nettle] = "--with-sha1=libnettle,,nettle"
 PACKAGECONFIG[gcrypt] = "--with-sha1=libgcrypt,,libgcrypt"
 
-do_install_append () {
+do_install:append () {
 	# Its assumed base-files creates this for us
 	rmdir ${D}${localstatedir}/log/
         sed -i -e 's,${libdir}/xorg/modules,${prefix}/lib*/xorg/modules,' ${D}${mandir}/man5/xorg.conf.5
@@ -157,7 +157,7 @@ do_install_append () {
 
 # Add runtime provides for the ABI versions of the video and input subsystems,
 # so that drivers can depend on the relevant version.
-python populate_packages_prepend() {
+python populate_packages:prepend() {
     import subprocess
 
     # Set PKG_CONFIG_PATH so pkg-config looks at the .pc files that are going
@@ -178,6 +178,6 @@ python populate_packages_prepend() {
         return "%sxorg-abi-%s-%s" % (mlprefix, name, output)
 
     pn = d.getVar("PN")
-    d.appendVar("RPROVIDES_" + pn, " " + get_abi("input"))
-    d.appendVar("RPROVIDES_" + pn, " " + get_abi("video"))
+    d.appendVar("RPROVIDES:" + pn, " " + get_abi("input"))
+    d.appendVar("RPROVIDES:" + pn, " " + get_abi("video"))
 }
diff --git a/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.20.12.bb b/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.20.12.bb
index 8f86bea8781..01b50b9923a 100644
--- a/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.20.12.bb
+++ b/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.20.12.bb
@@ -13,19 +13,19 @@ SRC_URI[sha256sum] = "336dc093431d81ecc03fa36af771f1181334f2746b7de7796f3cc6a8fa
 # These extensions are now integrated into the server, so declare the migration
 # path for in-place upgrades.
 
-RREPLACES_${PN} =  "${PN}-extension-dri \
+RREPLACES:${PN} =  "${PN}-extension-dri \
                     ${PN}-extension-dri2 \
                     ${PN}-extension-record \
                     ${PN}-extension-extmod \
                     ${PN}-extension-dbe \
                    "
-RPROVIDES_${PN} =  "${PN}-extension-dri \
+RPROVIDES:${PN} =  "${PN}-extension-dri \
                     ${PN}-extension-dri2 \
                     ${PN}-extension-record \
                     ${PN}-extension-extmod \
                     ${PN}-extension-dbe \
                    "
-RCONFLICTS_${PN} = "${PN}-extension-dri \
+RCONFLICTS:${PN} = "${PN}-extension-dri \
                     ${PN}-extension-dri2 \
                     ${PN}-extension-record \
                     ${PN}-extension-extmod \
diff --git a/meta/recipes-graphics/xwayland/xwayland_21.1.2.bb b/meta/recipes-graphics/xwayland/xwayland_21.1.2.bb
index 794a7bd98dd..3df6fd1ff90 100644
--- a/meta/recipes-graphics/xwayland/xwayland_21.1.2.bb
+++ b/meta/recipes-graphics/xwayland/xwayland_21.1.2.bb
@@ -35,10 +35,10 @@ PACKAGECONFIG[openssl] = "-Dsha1=libcrypto,,openssl"
 PACKAGECONFIG[nettle] = "-Dsha1=libnettle,,nettle"
 PACKAGECONFIG[gcrypt] = "-Dsha1=libgcrypt,,libgcrypt"
 
-do_install_append() {
+do_install:append() {
     # remove files not needed and clashing with xserver-xorg
     rm -rf ${D}/${libdir}/xorg/
 }
 
-FILES_${PN} += "${libdir}/xorg/protocol.txt"
+FILES:${PN} += "${libdir}/xorg/protocol.txt"
 
diff --git a/meta/recipes-kernel/cryptodev/cryptodev-linux_1.12.bb b/meta/recipes-kernel/cryptodev/cryptodev-linux_1.12.bb
index c55577c661d..d5ea9d85293 100644
--- a/meta/recipes-kernel/cryptodev/cryptodev-linux_1.12.bb
+++ b/meta/recipes-kernel/cryptodev/cryptodev-linux_1.12.bb
@@ -9,5 +9,5 @@ do_install() {
 	install -D ${S}/crypto/cryptodev.h ${D}${includedir}/crypto/cryptodev.h
 }
 
-ALLOW_EMPTY_${PN} = "1"
+ALLOW_EMPTY:${PN} = "1"
 BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-kernel/cryptodev/cryptodev-module_1.12.bb b/meta/recipes-kernel/cryptodev/cryptodev-module_1.12.bb
index b3b554c7d3f..5192cf03ed3 100644
--- a/meta/recipes-kernel/cryptodev/cryptodev-module_1.12.bb
+++ b/meta/recipes-kernel/cryptodev/cryptodev-module_1.12.bb
@@ -12,5 +12,5 @@ SRC_URI += "file://0001-Disable-installing-header-file-provided-by-another-p.pat
 
 EXTRA_OEMAKE='KERNEL_DIR="${STAGING_KERNEL_DIR}" PREFIX="${D}"'
 
-RCONFLICTS_${PN} = "ocf-linux"
-RREPLACES_${PN} = "ocf-linux"
+RCONFLICTS:${PN} = "ocf-linux"
+RREPLACES:${PN} = "ocf-linux"
diff --git a/meta/recipes-kernel/cryptodev/cryptodev-tests_1.12.bb b/meta/recipes-kernel/cryptodev/cryptodev-tests_1.12.bb
index 9cb5dcb94f0..c1adbb6245b 100644
--- a/meta/recipes-kernel/cryptodev/cryptodev-tests_1.12.bb
+++ b/meta/recipes-kernel/cryptodev/cryptodev-tests_1.12.bb
@@ -18,4 +18,4 @@ do_install() {
 	oe_runmake install_tests
 }
 
-FILES_${PN} = "${bindir}/*"
+FILES:${PN} = "${bindir}/*"
diff --git a/meta/recipes-kernel/dtc/dtc.inc b/meta/recipes-kernel/dtc/dtc.inc
index 5da6c24fbf4..12508b235d9 100644
--- a/meta/recipes-kernel/dtc/dtc.inc
+++ b/meta/recipes-kernel/dtc/dtc.inc
@@ -23,6 +23,6 @@ do_install () {
 }
 
 PACKAGES =+ "${PN}-misc"
-FILES_${PN}-misc = "${bindir}/convert-dtsv0 ${bindir}/ftdump ${bindir}/dtdiff"
+FILES:${PN}-misc = "${bindir}/convert-dtsv0 ${bindir}/ftdump ${bindir}/dtdiff"
 
-RDEPENDS_${PN}-misc += "bash diffutils"
+RDEPENDS:${PN}-misc += "bash diffutils"
diff --git a/meta/recipes-kernel/kexec/kexec-tools_2.0.22.bb b/meta/recipes-kernel/kexec/kexec-tools_2.0.22.bb
index dcc44021115..d12ad4e6fee 100644
--- a/meta/recipes-kernel/kexec/kexec-tools_2.0.22.bb
+++ b/meta/recipes-kernel/kexec/kexec-tools_2.0.22.bb
@@ -29,7 +29,7 @@ inherit autotools update-rc.d systemd
 export LDFLAGS = "-L${STAGING_LIBDIR}"
 EXTRA_OECONF = " --with-zlib=yes"
 
-do_compile_prepend() {
+do_compile:prepend() {
     # Remove the prepackaged config.h from the source tree as it overrides
     # the same file generated by configure and placed in the build tree
     rm -f ${S}/include/config.h
@@ -44,7 +44,7 @@ do_compile_prepend() {
     done
 }
 
-do_install_append () {
+do_install:append () {
         install -d ${D}${sysconfdir}/sysconfig
         install -m 0644 ${WORKDIR}/kdump.conf ${D}${sysconfdir}/sysconfig
 
@@ -61,28 +61,28 @@ do_install_append () {
 
 PACKAGES =+ "kexec kdump vmcore-dmesg"
 
-ALLOW_EMPTY_${PN} = "1"
-RRECOMMENDS_${PN} = "kexec kdump vmcore-dmesg"
+ALLOW_EMPTY:${PN} = "1"
+RRECOMMENDS:${PN} = "kexec kdump vmcore-dmesg"
 
-FILES_kexec = "${sbindir}/kexec"
-FILES_kdump = "${sbindir}/kdump \
+FILES:kexec = "${sbindir}/kexec"
+FILES:kdump = "${sbindir}/kdump \
                ${sysconfdir}/sysconfig/kdump.conf \
                ${sysconfdir}/init.d/kdump \
                ${libexecdir}/kdump-helper \
                ${systemd_unitdir}/system/kdump.service \
 "
 
-FILES_vmcore-dmesg = "${sbindir}/vmcore-dmesg"
+FILES:vmcore-dmesg = "${sbindir}/vmcore-dmesg"
 
 INITSCRIPT_PACKAGES = "kdump"
-INITSCRIPT_NAME_kdump = "kdump"
-INITSCRIPT_PARAMS_kdump = "start 56 2 3 4 5 . stop 56 0 1 6 ."
+INITSCRIPT_NAME:kdump = "kdump"
+INITSCRIPT_PARAMS:kdump = "start 56 2 3 4 5 . stop 56 0 1 6 ."
 
 SYSTEMD_PACKAGES = "kdump"
-SYSTEMD_SERVICE_kdump = "kdump.service"
+SYSTEMD_SERVICE:kdump = "kdump.service"
 
-SECURITY_PIE_CFLAGS_remove = "-fPIE -pie"
+SECURITY_PIE_CFLAGS:remove = "-fPIE -pie"
 
 COMPATIBLE_HOST = '(x86_64.*|i.86.*|arm.*|aarch64.*|powerpc.*|mips.*)-(linux|freebsd.*)'
 
-INSANE_SKIP_${PN} = "arch"
+INSANE_SKIP:${PN} = "arch"
diff --git a/meta/recipes-kernel/kmod/kmod-native_git.bb b/meta/recipes-kernel/kmod/kmod-native_git.bb
index f61134bbaf3..4dd34b1c828 100644
--- a/meta/recipes-kernel/kmod/kmod-native_git.bb
+++ b/meta/recipes-kernel/kmod/kmod-native_git.bb
@@ -7,7 +7,7 @@ DEPENDS += "zlib-native"
 
 inherit native
 
-do_install_append (){
+do_install:append (){
 	for tool in depmod insmod lsmod modinfo modprobe rmmod
 	do
 		ln -s kmod ${D}${bindir}/$tool
diff --git a/meta/recipes-kernel/kmod/kmod.inc b/meta/recipes-kernel/kmod/kmod.inc
index e66684fda00..c2d550acafa 100644
--- a/meta/recipes-kernel/kmod/kmod.inc
+++ b/meta/recipes-kernel/kmod/kmod.inc
@@ -6,7 +6,7 @@ DESCRIPTION = "kmod is a set of tools to handle common tasks with Linux kernel m
                insert, remove, list, check properties, resolve dependencies and aliases."
 HOMEPAGE = "http://kernel.org/pub/linux/utils/kernel/kmod/"
 LICENSE = "GPL-2.0+ & LGPL-2.1+"
-LICENSE_libkmod = "LGPL-2.1+"
+LICENSE:libkmod = "LGPL-2.1+"
 SECTION = "base"
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \
diff --git a/meta/recipes-kernel/kmod/kmod_git.bb b/meta/recipes-kernel/kmod/kmod_git.bb
index 4f2b037f2f8..853561a61e9 100644
--- a/meta/recipes-kernel/kmod/kmod_git.bb
+++ b/meta/recipes-kernel/kmod/kmod_git.bb
@@ -5,17 +5,17 @@ require kmod.inc
 
 DEPENDS += "zlib"
 PROVIDES += "module-init-tools-insmod-static module-init-tools-depmod module-init-tools"
-RPROVIDES_${PN} += "module-init-tools-insmod-static module-init-tools-depmod module-init-tools"
-RCONFLICTS_${PN} += "module-init-tools-insmod-static module-init-tools-depmod module-init-tools"
-RREPLACES_${PN} += "module-init-tools-insmod-static module-init-tools-depmod module-init-tools"
+RPROVIDES:${PN} += "module-init-tools-insmod-static module-init-tools-depmod module-init-tools"
+RCONFLICTS:${PN} += "module-init-tools-insmod-static module-init-tools-depmod module-init-tools"
+RREPLACES:${PN} += "module-init-tools-insmod-static module-init-tools-depmod module-init-tools"
 
 # to force user to remove old module-init-tools and replace them with kmod variants
-RCONFLICTS_libkmod2 += "module-init-tools-insmod-static module-init-tools-depmod module-init-tools"
+RCONFLICTS:libkmod2 += "module-init-tools-insmod-static module-init-tools-depmod module-init-tools"
 
 # autotools set prefix to /usr, however we want them in /bin and /sbin
 EXTRA_OECONF += " --bindir=${base_bindir} --sbindir=${base_sbindir}"
 
-do_install_append () {
+do_install:append () {
         install -dm755 ${D}${base_bindir}
         install -dm755 ${D}${base_sbindir}
         # add symlinks to kmod
@@ -33,7 +33,7 @@ do_install_append () {
         install -Dm644 "${WORKDIR}/depmod-search.conf" "${D}${base_libdir}/depmod.d/search.conf"
 }
 
-do_compile_prepend() {
+do_compile:prepend() {
             sed -i 's/ac_pwd=/#ac_pwd=/' config.status ; sed -i "/#ac_pwd=/a\ac_pwd='.'" config.status
 }
 
@@ -41,7 +41,7 @@ inherit update-alternatives bash-completion
 
 ALTERNATIVE_PRIORITY = "70"
 
-ALTERNATIVE_kmod = "insmod modprobe rmmod modinfo bin-lsmod lsmod depmod"
+ALTERNATIVE:kmod = "insmod modprobe rmmod modinfo bin-lsmod lsmod depmod"
 
 ALTERNATIVE_LINK_NAME[insmod] = "${base_sbindir}/insmod"
 ALTERNATIVE_LINK_NAME[modprobe] = "${base_sbindir}/modprobe"
@@ -56,7 +56,7 @@ ALTERNATIVE_LINK_NAME[depmod] = "${base_sbindir}/depmod"
 
 PACKAGES =+ "libkmod"
 
-FILES_libkmod = "${base_libdir}/libkmod*${SOLIBS} ${libdir}/libkmod*${SOLIBS}"
-FILES_${PN} += "${base_libdir}/depmod.d ${base_libdir}/modprobe.d"
+FILES:libkmod = "${base_libdir}/libkmod*${SOLIBS} ${libdir}/libkmod*${SOLIBS}"
+FILES:${PN} += "${base_libdir}/depmod.d ${base_libdir}/modprobe.d"
 
 BBCLASSEXTEND = "nativesdk"
diff --git a/meta/recipes-kernel/linux-firmware/linux-firmware_20210511.bb b/meta/recipes-kernel/linux-firmware/linux-firmware_20210511.bb
index 26091fba707..fe46cb51925 100644
--- a/meta/recipes-kernel/linux-firmware/linux-firmware_20210511.bb
+++ b/meta/recipes-kernel/linux-firmware/linux-firmware_20210511.bb
@@ -312,19 +312,19 @@ PACKAGES =+ "${PN}-ralink-license ${PN}-ralink \
              "
 
 # For atheros
-LICENSE_${PN}-ar9170 = "Firmware-atheros_firmware"
-LICENSE_${PN}-ath6k = "Firmware-atheros_firmware"
-LICENSE_${PN}-ath9k = "Firmware-atheros_firmware"
-LICENSE_${PN}-atheros-license = "Firmware-atheros_firmware"
+LICENSE:${PN}-ar9170 = "Firmware-atheros_firmware"
+LICENSE:${PN}-ath6k = "Firmware-atheros_firmware"
+LICENSE:${PN}-ath9k = "Firmware-atheros_firmware"
+LICENSE:${PN}-atheros-license = "Firmware-atheros_firmware"
 
-FILES_${PN}-atheros-license = "${nonarch_base_libdir}/firmware/LICENCE.atheros_firmware"
-FILES_${PN}-ar9170 = " \
+FILES:${PN}-atheros-license = "${nonarch_base_libdir}/firmware/LICENCE.atheros_firmware"
+FILES:${PN}-ar9170 = " \
   ${nonarch_base_libdir}/firmware/ar9170*.fw \
 "
-FILES_${PN}-ath6k = " \
+FILES:${PN}-ath6k = " \
   ${nonarch_base_libdir}/firmware/ath6k \
 "
-FILES_${PN}-ath9k = " \
+FILES:${PN}-ath9k = " \
   ${nonarch_base_libdir}/firmware/ar9271.fw \
   ${nonarch_base_libdir}/firmware/ar7010*.fw \
   ${nonarch_base_libdir}/firmware/htc_9271.fw \
@@ -333,166 +333,166 @@ FILES_${PN}-ath9k = " \
   ${nonarch_base_libdir}/firmware/ath9k_htc/htc_9271-1.4.0.fw \
 "
 
-RDEPENDS_${PN}-ar9170 += "${PN}-atheros-license"
-RDEPENDS_${PN}-ath6k += "${PN}-atheros-license"
-RDEPENDS_${PN}-ath9k += "${PN}-atheros-license"
+RDEPENDS:${PN}-ar9170 += "${PN}-atheros-license"
+RDEPENDS:${PN}-ath6k += "${PN}-atheros-license"
+RDEPENDS:${PN}-ath9k += "${PN}-atheros-license"
 
 # For carl9170
-LICENSE_${PN}-carl9170 = "Firmware-GPLv2"
-LICENSE_${PN}-gplv2-license = "Firmware-GPLv2"
+LICENSE:${PN}-carl9170 = "Firmware-GPLv2"
+LICENSE:${PN}-gplv2-license = "Firmware-GPLv2"
 
-FILES_${PN}-gplv2-license = "${nonarch_base_libdir}/firmware/GPL-2"
-FILES_${PN}-carl9170 = " \
+FILES:${PN}-gplv2-license = "${nonarch_base_libdir}/firmware/GPL-2"
+FILES:${PN}-carl9170 = " \
   ${nonarch_base_libdir}/firmware/carl9170*.fw \
 "
 
-RDEPENDS_${PN}-carl9170 += "${PN}-gplv2-license"
+RDEPENDS:${PN}-carl9170 += "${PN}-gplv2-license"
 
 # For QualCommAthos
-LICENSE_${PN}-ar3k = "Firmware-qualcommAthos_ar3k"
-LICENSE_${PN}-ar3k-license = "Firmware-qualcommAthos_ar3k"
-LICENSE_${PN}-ath10k = "Firmware-qualcommAthos_ath10k"
-LICENSE_${PN}-ath10k-license = "Firmware-qualcommAthos_ath10k"
-LICENSE_${PN}-qca = "Firmware-qualcommAthos_ath10k"
-
-FILES_${PN}-ar3k-license = "${nonarch_base_libdir}/firmware/LICENSE.QualcommAtheros_ar3k"
-FILES_${PN}-ar3k = " \
+LICENSE:${PN}-ar3k = "Firmware-qualcommAthos_ar3k"
+LICENSE:${PN}-ar3k-license = "Firmware-qualcommAthos_ar3k"
+LICENSE:${PN}-ath10k = "Firmware-qualcommAthos_ath10k"
+LICENSE:${PN}-ath10k-license = "Firmware-qualcommAthos_ath10k"
+LICENSE:${PN}-qca = "Firmware-qualcommAthos_ath10k"
+
+FILES:${PN}-ar3k-license = "${nonarch_base_libdir}/firmware/LICENSE.QualcommAtheros_ar3k"
+FILES:${PN}-ar3k = " \
   ${nonarch_base_libdir}/firmware/ar3k \
 "
 
-FILES_${PN}-ath10k-license = "${nonarch_base_libdir}/firmware/LICENSE.QualcommAtheros_ath10k"
-FILES_${PN}-ath10k = " \
+FILES:${PN}-ath10k-license = "${nonarch_base_libdir}/firmware/LICENSE.QualcommAtheros_ath10k"
+FILES:${PN}-ath10k = " \
   ${nonarch_base_libdir}/firmware/ath10k \
 "
 
-FILES_${PN}-ath11k = " \
+FILES:${PN}-ath11k = " \
   ${nonarch_base_libdir}/firmware/ath11k \
 "
 
-FILES_${PN}-qca = " \
+FILES:${PN}-qca = " \
   ${nonarch_base_libdir}/firmware/qca \
 "
 
-RDEPENDS_${PN}-ar3k += "${PN}-ar3k-license"
-RDEPENDS_${PN}-ath10k += "${PN}-ath10k-license"
-RDEPENDS_${PN}-ath11k += "${PN}-ath10k-license"
-RDEPENDS_${PN}-qca += "${PN}-ath10k-license"
+RDEPENDS:${PN}-ar3k += "${PN}-ar3k-license"
+RDEPENDS:${PN}-ath10k += "${PN}-ath10k-license"
+RDEPENDS:${PN}-ath11k += "${PN}-ath10k-license"
+RDEPENDS:${PN}-qca += "${PN}-ath10k-license"
 
 # For ralink
-LICENSE_${PN}-ralink = "Firmware-ralink-firmware"
-LICENSE_${PN}-ralink-license = "Firmware-ralink-firmware"
+LICENSE:${PN}-ralink = "Firmware-ralink-firmware"
+LICENSE:${PN}-ralink-license = "Firmware-ralink-firmware"
 
-FILES_${PN}-ralink-license = "${nonarch_base_libdir}/firmware/LICENCE.ralink-firmware.txt"
-FILES_${PN}-ralink = " \
+FILES:${PN}-ralink-license = "${nonarch_base_libdir}/firmware/LICENCE.ralink-firmware.txt"
+FILES:${PN}-ralink = " \
   ${nonarch_base_libdir}/firmware/rt*.bin \
 "
 
-RDEPENDS_${PN}-ralink += "${PN}-ralink-license"
+RDEPENDS:${PN}-ralink += "${PN}-ralink-license"
 
 # For mediatek MT7601U
-LICENSE_${PN}-mt7601u = "Firmware-ralink_a_mediatek_company_firmware"
-LICENSE_${PN}-mt7601u-license = "Firmware-ralink_a_mediatek_company_firmware"
+LICENSE:${PN}-mt7601u = "Firmware-ralink_a_mediatek_company_firmware"
+LICENSE:${PN}-mt7601u-license = "Firmware-ralink_a_mediatek_company_firmware"
 
-FILES_${PN}-mt7601u-license = "${nonarch_base_libdir}/firmware/LICENCE.ralink_a_mediatek_company_firmware"
-FILES_${PN}-mt7601u = " \
+FILES:${PN}-mt7601u-license = "${nonarch_base_libdir}/firmware/LICENCE.ralink_a_mediatek_company_firmware"
+FILES:${PN}-mt7601u = " \
   ${nonarch_base_libdir}/firmware/mt7601u.bin \
 "
 
-RDEPENDS_${PN}-mt7601u += "${PN}-mt7601u-license"
+RDEPENDS:${PN}-mt7601u += "${PN}-mt7601u-license"
 
 # For radeon
-LICENSE_${PN}-radeon = "Firmware-radeon"
-LICENSE_${PN}-radeon-license = "Firmware-radeon"
+LICENSE:${PN}-radeon = "Firmware-radeon"
+LICENSE:${PN}-radeon-license = "Firmware-radeon"
 
-FILES_${PN}-radeon-license = "${nonarch_base_libdir}/firmware/LICENSE.radeon"
-FILES_${PN}-radeon = " \
+FILES:${PN}-radeon-license = "${nonarch_base_libdir}/firmware/LICENSE.radeon"
+FILES:${PN}-radeon = " \
   ${nonarch_base_libdir}/firmware/radeon \
 "
 
-RDEPENDS_${PN}-radeon += "${PN}-radeon-license"
+RDEPENDS:${PN}-radeon += "${PN}-radeon-license"
 
 # For lontium
-LICENSE_${PN}-lt9611uxc = "Firmware-Lontium"
+LICENSE:${PN}-lt9611uxc = "Firmware-Lontium"
 
-FILES_${PN}-lontium-license = "${nonarch_base_libdir}/firmware/LICENSE.Lontium"
-FILES_${PN}-lt9611uxc = "${nonarch_base_libdir}/firmware/lt9611uxc_fw.bin"
+FILES:${PN}-lontium-license = "${nonarch_base_libdir}/firmware/LICENSE.Lontium"
+FILES:${PN}-lt9611uxc = "${nonarch_base_libdir}/firmware/lt9611uxc_fw.bin"
 
 # For marvell
-LICENSE_${PN}-pcie8897 = "Firmware-Marvell"
-LICENSE_${PN}-pcie8997 = "Firmware-Marvell"
-LICENSE_${PN}-sd8686 = "Firmware-Marvell"
-LICENSE_${PN}-sd8688 = "Firmware-Marvell"
-LICENSE_${PN}-sd8787 = "Firmware-Marvell"
-LICENSE_${PN}-sd8797 = "Firmware-Marvell"
-LICENSE_${PN}-sd8801 = "Firmware-Marvell"
-LICENSE_${PN}-sd8887 = "Firmware-Marvell"
-LICENSE_${PN}-sd8897 = "Firmware-Marvell"
-LICENSE_${PN}-sd8997 = "Firmware-Marvell"
-LICENSE_${PN}-usb8997 = "Firmware-Marvell"
-LICENSE_${PN}-marvell-license = "Firmware-Marvell"
-
-FILES_${PN}-marvell-license = "${nonarch_base_libdir}/firmware/LICENCE.Marvell"
-FILES_${PN}-pcie8897 = " \
+LICENSE:${PN}-pcie8897 = "Firmware-Marvell"
+LICENSE:${PN}-pcie8997 = "Firmware-Marvell"
+LICENSE:${PN}-sd8686 = "Firmware-Marvell"
+LICENSE:${PN}-sd8688 = "Firmware-Marvell"
+LICENSE:${PN}-sd8787 = "Firmware-Marvell"
+LICENSE:${PN}-sd8797 = "Firmware-Marvell"
+LICENSE:${PN}-sd8801 = "Firmware-Marvell"
+LICENSE:${PN}-sd8887 = "Firmware-Marvell"
+LICENSE:${PN}-sd8897 = "Firmware-Marvell"
+LICENSE:${PN}-sd8997 = "Firmware-Marvell"
+LICENSE:${PN}-usb8997 = "Firmware-Marvell"
+LICENSE:${PN}-marvell-license = "Firmware-Marvell"
+
+FILES:${PN}-marvell-license = "${nonarch_base_libdir}/firmware/LICENCE.Marvell"
+FILES:${PN}-pcie8897 = " \
   ${nonarch_base_libdir}/firmware/mrvl/pcie8897_uapsta.bin \
 "
-FILES_${PN}-pcie8997 = " \
+FILES:${PN}-pcie8997 = " \
   ${nonarch_base_libdir}/firmware/mrvl/pcie8997_wlan_v4.bin \
   ${nonarch_base_libdir}/firmware/mrvl/pcieuart8997_combo_v4.bin \
   ${nonarch_base_libdir}/firmware/mrvl/pcieusb8997_combo_v4.bin \
 "
-FILES_${PN}-sd8686 = " \
+FILES:${PN}-sd8686 = " \
   ${nonarch_base_libdir}/firmware/libertas/sd8686_v9* \
   ${nonarch_base_libdir}/firmware/sd8686* \
 "
-FILES_${PN}-sd8688 = " \
+FILES:${PN}-sd8688 = " \
   ${nonarch_base_libdir}/firmware/libertas/sd8688* \
   ${nonarch_base_libdir}/firmware/mrvl/sd8688* \
 "
-FILES_${PN}-sd8787 = " \
+FILES:${PN}-sd8787 = " \
   ${nonarch_base_libdir}/firmware/mrvl/sd8787_uapsta.bin \
 "
-FILES_${PN}-sd8797 = " \
+FILES:${PN}-sd8797 = " \
   ${nonarch_base_libdir}/firmware/mrvl/sd8797_uapsta.bin \
 "
-FILES_${PN}-sd8801 = " \
+FILES:${PN}-sd8801 = " \
   ${nonarch_base_libdir}/firmware/mrvl/sd8801_uapsta.bin \
 "
-FILES_${PN}-sd8887 = " \
+FILES:${PN}-sd8887 = " \
   ${nonarch_base_libdir}/firmware/mrvl/sd8887_uapsta.bin \
 "
-FILES_${PN}-sd8897 = " \
+FILES:${PN}-sd8897 = " \
   ${nonarch_base_libdir}/firmware/mrvl/sd8897_uapsta.bin \
 "
-do_install_append() {
+do_install:append() {
     # The kernel 5.6.x driver still uses the old name, provide a symlink for
     # older kernels
     ln -fs sdsd8997_combo_v4.bin ${D}${nonarch_base_libdir}/firmware/mrvl/sd8997_uapsta.bin
 }
-FILES_${PN}-sd8997 = " \
+FILES:${PN}-sd8997 = " \
   ${nonarch_base_libdir}/firmware/mrvl/sd8997_uapsta.bin \
   ${nonarch_base_libdir}/firmware/mrvl/sdsd8997_combo_v4.bin \
 "
-FILES_${PN}-usb8997 = " \
+FILES:${PN}-usb8997 = " \
   ${nonarch_base_libdir}/firmware/mrvl/usbusb8997_combo_v4.bin \
 "
 
-RDEPENDS_${PN}-sd8686 += "${PN}-marvell-license"
-RDEPENDS_${PN}-sd8688 += "${PN}-marvell-license"
-RDEPENDS_${PN}-sd8787 += "${PN}-marvell-license"
-RDEPENDS_${PN}-sd8797 += "${PN}-marvell-license"
-RDEPENDS_${PN}-sd8801 += "${PN}-marvell-license"
-RDEPENDS_${PN}-sd8887 += "${PN}-marvell-license"
-RDEPENDS_${PN}-sd8897 += "${PN}-marvell-license"
-RDEPENDS_${PN}-sd8997 += "${PN}-marvell-license"
-RDEPENDS_${PN}-usb8997 += "${PN}-marvell-license"
+RDEPENDS:${PN}-sd8686 += "${PN}-marvell-license"
+RDEPENDS:${PN}-sd8688 += "${PN}-marvell-license"
+RDEPENDS:${PN}-sd8787 += "${PN}-marvell-license"
+RDEPENDS:${PN}-sd8797 += "${PN}-marvell-license"
+RDEPENDS:${PN}-sd8801 += "${PN}-marvell-license"
+RDEPENDS:${PN}-sd8887 += "${PN}-marvell-license"
+RDEPENDS:${PN}-sd8897 += "${PN}-marvell-license"
+RDEPENDS:${PN}-sd8997 += "${PN}-marvell-license"
+RDEPENDS:${PN}-usb8997 += "${PN}-marvell-license"
 
 # For netronome
-LICENSE_${PN}-netronome = "Firmware-netronome"
+LICENSE:${PN}-netronome = "Firmware-netronome"
 
-FILES_${PN}-netronome-license = " \
+FILES:${PN}-netronome-license = " \
   ${nonarch_base_libdir}/firmware/LICENCE.Netronome \
 "
-FILES_${PN}-netronome = " \
+FILES:${PN}-netronome = " \
   ${nonarch_base_libdir}/firmware/netronome/nic_AMDA0081*.nffw \
   ${nonarch_base_libdir}/firmware/netronome/nic_AMDA0096*.nffw \
   ${nonarch_base_libdir}/firmware/netronome/nic_AMDA0097*.nffw \
@@ -506,90 +506,90 @@ FILES_${PN}-netronome = " \
   ${nonarch_base_libdir}/firmware/netronome/nic-sriov \
 "
 
-RDEPENDS_${PN}-netronome += "${PN}-netronome-license"
+RDEPENDS:${PN}-netronome += "${PN}-netronome-license"
 
 # For Nvidia
-LICENSE_${PN}-nvidia-gpu = "Firmware-nvidia"
-LICENSE_${PN}-nvidia-tegra = "Firmware-nvidia"
-LICENSE_${PN}-nvidia-tegra-k1 = "Firmware-nvidia"
-LICENSE_${PN}-nvidia-license = "Firmware-nvidia"
+LICENSE:${PN}-nvidia-gpu = "Firmware-nvidia"
+LICENSE:${PN}-nvidia-tegra = "Firmware-nvidia"
+LICENSE:${PN}-nvidia-tegra-k1 = "Firmware-nvidia"
+LICENSE:${PN}-nvidia-license = "Firmware-nvidia"
 
-FILES_${PN}-nvidia-gpu = "${nonarch_base_libdir}/firmware/nvidia"
-FILES_${PN}-nvidia-tegra = " \
+FILES:${PN}-nvidia-gpu = "${nonarch_base_libdir}/firmware/nvidia"
+FILES:${PN}-nvidia-tegra = " \
   ${nonarch_base_libdir}/firmware/nvidia/tegra* \
   ${nonarch_base_libdir}/firmware/nvidia/gm20b \
   ${nonarch_base_libdir}/firmware/nvidia/gp10b \
 "
-FILES_${PN}-nvidia-tegra-k1 = " \
+FILES:${PN}-nvidia-tegra-k1 = " \
   ${nonarch_base_libdir}/firmware/nvidia/tegra124 \
   ${nonarch_base_libdir}/firmware/nvidia/gk20a \
 "
-FILES_${PN}-nvidia-license = "${nonarch_base_libdir}/firmware/LICENCE.nvidia"
+FILES:${PN}-nvidia-license = "${nonarch_base_libdir}/firmware/LICENCE.nvidia"
 
-RDEPENDS_${PN}-nvidia-gpu += "${PN}-nvidia-license"
-RDEPENDS_${PN}-nvidia-tegra += "${PN}-nvidia-license"
-RDEPENDS_${PN}-nvidia-tegra-k1 += "${PN}-nvidia-license"
+RDEPENDS:${PN}-nvidia-gpu += "${PN}-nvidia-license"
+RDEPENDS:${PN}-nvidia-tegra += "${PN}-nvidia-license"
+RDEPENDS:${PN}-nvidia-tegra-k1 += "${PN}-nvidia-license"
 
 # For RSI RS911x WiFi
-LICENSE_${PN}-rs9113 = "WHENCE"
-LICENSE_${PN}-rs9116 = "WHENCE"
+LICENSE:${PN}-rs9113 = "WHENCE"
+LICENSE:${PN}-rs9116 = "WHENCE"
 
-FILES_${PN}-rs9113 = " ${nonarch_base_libdir}/firmware/rsi/rs9113*.rps "
-FILES_${PN}-rs9116 = " ${nonarch_base_libdir}/firmware/rsi/rs9116*.rps "
+FILES:${PN}-rs9113 = " ${nonarch_base_libdir}/firmware/rsi/rs9113*.rps "
+FILES:${PN}-rs9116 = " ${nonarch_base_libdir}/firmware/rsi/rs9116*.rps "
 
-RDEPENDS_${PN}-rs9113 += "${PN}-whence-license"
-RDEPENDS_${PN}-rs9116 += "${PN}-whence-license"
+RDEPENDS:${PN}-rs9113 += "${PN}-whence-license"
+RDEPENDS:${PN}-rs9116 += "${PN}-whence-license"
 
 # For rtl
-LICENSE_${PN}-rtl8188 = "Firmware-rtlwifi_firmware"
-LICENSE_${PN}-rtl8192cu = "Firmware-rtlwifi_firmware"
-LICENSE_${PN}-rtl8192ce = "Firmware-rtlwifi_firmware"
-LICENSE_${PN}-rtl8192su = "Firmware-rtlwifi_firmware"
-LICENSE_${PN}-rtl8723 = "Firmware-rtlwifi_firmware"
-LICENSE_${PN}-rtl8821 = "Firmware-rtlwifi_firmware"
-LICENSE_${PN}-rtl-license = "Firmware-rtlwifi_firmware"
-LICENSE_${PN}-rtl8168 = "WHENCE"
-
-FILES_${PN}-rtl-license = " \
+LICENSE:${PN}-rtl8188 = "Firmware-rtlwifi_firmware"
+LICENSE:${PN}-rtl8192cu = "Firmware-rtlwifi_firmware"
+LICENSE:${PN}-rtl8192ce = "Firmware-rtlwifi_firmware"
+LICENSE:${PN}-rtl8192su = "Firmware-rtlwifi_firmware"
+LICENSE:${PN}-rtl8723 = "Firmware-rtlwifi_firmware"
+LICENSE:${PN}-rtl8821 = "Firmware-rtlwifi_firmware"
+LICENSE:${PN}-rtl-license = "Firmware-rtlwifi_firmware"
+LICENSE:${PN}-rtl8168 = "WHENCE"
+
+FILES:${PN}-rtl-license = " \
   ${nonarch_base_libdir}/firmware/LICENCE.rtlwifi_firmware.txt \
 "
-FILES_${PN}-rtl8188 = " \
+FILES:${PN}-rtl8188 = " \
   ${nonarch_base_libdir}/firmware/rtlwifi/rtl8188*.bin \
 "
-FILES_${PN}-rtl8192cu = " \
+FILES:${PN}-rtl8192cu = " \
   ${nonarch_base_libdir}/firmware/rtlwifi/rtl8192cufw*.bin \
 "
-FILES_${PN}-rtl8192ce = " \
+FILES:${PN}-rtl8192ce = " \
   ${nonarch_base_libdir}/firmware/rtlwifi/rtl8192cfw*.bin \
 "
-FILES_${PN}-rtl8192su = " \
+FILES:${PN}-rtl8192su = " \
   ${nonarch_base_libdir}/firmware/rtlwifi/rtl8712u.bin \
 "
-FILES_${PN}-rtl8723 = " \
+FILES:${PN}-rtl8723 = " \
   ${nonarch_base_libdir}/firmware/rtlwifi/rtl8723*.bin \
 "
-FILES_${PN}-rtl8821 = " \
+FILES:${PN}-rtl8821 = " \
   ${nonarch_base_libdir}/firmware/rtlwifi/rtl8821*.bin \
 "
-FILES_${PN}-rtl8168 = " \
+FILES:${PN}-rtl8168 = " \
   ${nonarch_base_libdir}/firmware/rtl_nic/rtl8168*.fw \
 "
 
-RDEPENDS_${PN}-rtl8188 += "${PN}-rtl-license"
-RDEPENDS_${PN}-rtl8192ce += "${PN}-rtl-license"
-RDEPENDS_${PN}-rtl8192cu += "${PN}-rtl-license"
-RDEPENDS_${PN}-rtl8192su = "${PN}-rtl-license"
-RDEPENDS_${PN}-rtl8723 += "${PN}-rtl-license"
-RDEPENDS_${PN}-rtl8821 += "${PN}-rtl-license"
-RDEPENDS_${PN}-rtl8168 += "${PN}-whence-license"
+RDEPENDS:${PN}-rtl8188 += "${PN}-rtl-license"
+RDEPENDS:${PN}-rtl8192ce += "${PN}-rtl-license"
+RDEPENDS:${PN}-rtl8192cu += "${PN}-rtl-license"
+RDEPENDS:${PN}-rtl8192su = "${PN}-rtl-license"
+RDEPENDS:${PN}-rtl8723 += "${PN}-rtl-license"
+RDEPENDS:${PN}-rtl8821 += "${PN}-rtl-license"
+RDEPENDS:${PN}-rtl8168 += "${PN}-whence-license"
 
 # For ti-connectivity
-LICENSE_${PN}-wlcommon = "Firmware-ti-connectivity"
-LICENSE_${PN}-wl12xx = "Firmware-ti-connectivity"
-LICENSE_${PN}-wl18xx = "Firmware-ti-connectivity"
-LICENSE_${PN}-ti-connectivity-license = "Firmware-ti-connectivity"
+LICENSE:${PN}-wlcommon = "Firmware-ti-connectivity"
+LICENSE:${PN}-wl12xx = "Firmware-ti-connectivity"
+LICENSE:${PN}-wl18xx = "Firmware-ti-connectivity"
+LICENSE:${PN}-ti-connectivity-license = "Firmware-ti-connectivity"
 
-FILES_${PN}-ti-connectivity-license = "${nonarch_base_libdir}/firmware/LICENCE.ti-connectivity"
+FILES:${PN}-ti-connectivity-license = "${nonarch_base_libdir}/firmware/LICENCE.ti-connectivity"
 # wl18xx optionally needs wl1271-nvs.bin (which itself is a symlink to
 # wl127x-nvs.bin) - see linux/drivers/net/wireless/ti/wlcore/sdio.c
 # and drivers/net/wireless/ti/wlcore/spi.c.
@@ -597,389 +597,389 @@ FILES_${PN}-ti-connectivity-license = "${nonarch_base_libdir}/firmware/LICENCE.t
 # address on wl18xx, driver loading will delay (by udev timout - 60s)
 # if not there. So let's make it available always. Because it's a
 # symlink, both need to go to wlcommon.
-FILES_${PN}-wlcommon = " \
+FILES:${PN}-wlcommon = " \
   ${nonarch_base_libdir}/firmware/ti-connectivity/TI* \
   ${nonarch_base_libdir}/firmware/ti-connectivity/wl127x-nvs.bin \
   ${nonarch_base_libdir}/firmware/ti-connectivity/wl1271-nvs.bin \
 "
-FILES_${PN}-wl12xx = " \
+FILES:${PN}-wl12xx = " \
   ${nonarch_base_libdir}/firmware/ti-connectivity/wl12* \
 "
-FILES_${PN}-wl18xx = " \
+FILES:${PN}-wl18xx = " \
   ${nonarch_base_libdir}/firmware/ti-connectivity/wl18* \
 "
 
-RDEPENDS_${PN}-wl12xx = "${PN}-ti-connectivity-license ${PN}-wlcommon"
-RDEPENDS_${PN}-wl18xx = "${PN}-ti-connectivity-license ${PN}-wlcommon"
+RDEPENDS:${PN}-wl12xx = "${PN}-ti-connectivity-license ${PN}-wlcommon"
+RDEPENDS:${PN}-wl18xx = "${PN}-ti-connectivity-license ${PN}-wlcommon"
 
 # For vt6656
-LICENSE_${PN}-vt6656 = "Firmware-via_vt6656"
-LICENSE_${PN}-vt6656-license = "Firmware-via_vt6656"
+LICENSE:${PN}-vt6656 = "Firmware-via_vt6656"
+LICENSE:${PN}-vt6656-license = "Firmware-via_vt6656"
 
-FILES_${PN}-vt6656-license = "${nonarch_base_libdir}/firmware/LICENCE.via_vt6656"
-FILES_${PN}-vt6656 = " \
+FILES:${PN}-vt6656-license = "${nonarch_base_libdir}/firmware/LICENCE.via_vt6656"
+FILES:${PN}-vt6656 = " \
   ${nonarch_base_libdir}/firmware/vntwusb.fw \
 "
 
-RDEPENDS_${PN}-vt6656 = "${PN}-vt6656-license"
+RDEPENDS:${PN}-vt6656 = "${PN}-vt6656-license"
 
 # For broadcom
 
 # for i in `grep brcm WHENCE  | grep ^File | sed 's/File: brcm.//g'`; do pkg=`echo $i | sed 's/-[sp40].*//g; s/\.bin//g; s/brcmfmac/bcm/g; s/_hdr/-hdr/g; s/BCM/bcm-0bb4-0306/g'`; echo -e "             \${PN}-$pkg \\"; done  | sort -u
 
-LICENSE_${PN}-broadcom-license = "Firmware-broadcom_bcm43xx"
-FILES_${PN}-broadcom-license = "${nonarch_base_libdir}/firmware/LICENCE.broadcom_bcm43xx"
+LICENSE:${PN}-broadcom-license = "Firmware-broadcom_bcm43xx"
+FILES:${PN}-broadcom-license = "${nonarch_base_libdir}/firmware/LICENCE.broadcom_bcm43xx"
 
-# for i in `grep brcm WHENCE  | grep ^File | sed 's/File: brcm.//g'`; do pkg=`echo $i | sed 's/-[sp40].*//g; s/\.bin//g; s/brcmfmac/bcm/g; s/_hdr/-hdr/g; s/BCM/bcm-0bb4-0306/g'`; echo "$i - $pkg"; echo -e "FILES_\${PN}-$pkg = \"\${nonarch_base_libdir}/firmware/brcm/$i\""; done | grep ^FILES
+# for i in `grep brcm WHENCE  | grep ^File | sed 's/File: brcm.//g'`; do pkg=`echo $i | sed 's/-[sp40].*//g; s/\.bin//g; s/brcmfmac/bcm/g; s/_hdr/-hdr/g; s/BCM/bcm-0bb4-0306/g'`; echo "$i - $pkg"; echo -e "FILES:\${PN}-$pkg = \"\${nonarch_base_libdir}/firmware/brcm/$i\""; done | grep ^FILES
 
-FILES_${PN}-bcm43xx = "${nonarch_base_libdir}/firmware/brcm/bcm43xx-0.fw"
-FILES_${PN}-bcm43xx-hdr = "${nonarch_base_libdir}/firmware/brcm/bcm43xx_hdr-0.fw"
-FILES_${PN}-bcm4329-fullmac = "${nonarch_base_libdir}/firmware/brcm/bcm4329-fullmac-4.bin"
-FILES_${PN}-bcm43236b = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43236b.bin"
-FILES_${PN}-bcm4329 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4329-sdio.bin"
-FILES_${PN}-bcm4330 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4330-sdio.*"
-FILES_${PN}-bcm4334 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4334-sdio.bin"
-FILES_${PN}-bcm4335 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4335-sdio.bin"
-FILES_${PN}-bcm4339 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4339-sdio.bin \
+FILES:${PN}-bcm43xx = "${nonarch_base_libdir}/firmware/brcm/bcm43xx-0.fw"
+FILES:${PN}-bcm43xx-hdr = "${nonarch_base_libdir}/firmware/brcm/bcm43xx_hdr-0.fw"
+FILES:${PN}-bcm4329-fullmac = "${nonarch_base_libdir}/firmware/brcm/bcm4329-fullmac-4.bin"
+FILES:${PN}-bcm43236b = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43236b.bin"
+FILES:${PN}-bcm4329 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4329-sdio.bin"
+FILES:${PN}-bcm4330 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4330-sdio.*"
+FILES:${PN}-bcm4334 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4334-sdio.bin"
+FILES:${PN}-bcm4335 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4335-sdio.bin"
+FILES:${PN}-bcm4339 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4339-sdio.bin \
   ${nonarch_base_libdir}/firmware/cypress/cyfmac4339-sdio.bin \
 "
-FILES_${PN}-bcm43241b0 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43241b0-sdio.bin"
-FILES_${PN}-bcm43241b4 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43241b4-sdio.bin"
-FILES_${PN}-bcm43241b5 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43241b5-sdio.bin"
-FILES_${PN}-bcm43242a = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43242a.bin"
-FILES_${PN}-bcm43143 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43143.bin \
+FILES:${PN}-bcm43241b0 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43241b0-sdio.bin"
+FILES:${PN}-bcm43241b4 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43241b4-sdio.bin"
+FILES:${PN}-bcm43241b5 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43241b5-sdio.bin"
+FILES:${PN}-bcm43242a = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43242a.bin"
+FILES:${PN}-bcm43143 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43143.bin \
   ${nonarch_base_libdir}/firmware/brcm/brcmfmac43143-sdio.bin \
 "
-FILES_${PN}-bcm43430a0 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43430a0-sdio.*"
-FILES_${PN}-bcm43455 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43455-sdio.* \
+FILES:${PN}-bcm43430a0 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43430a0-sdio.*"
+FILES:${PN}-bcm43455 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43455-sdio.* \
   ${nonarch_base_libdir}/firmware/cypress/cyfmac43455-sdio.* \
 "
-FILES_${PN}-bcm4350c2 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4350c2-pcie.bin"
-FILES_${PN}-bcm4350 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4350-pcie.bin"
-FILES_${PN}-bcm4356 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4356-sdio.* \
+FILES:${PN}-bcm4350c2 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4350c2-pcie.bin"
+FILES:${PN}-bcm4350 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4350-pcie.bin"
+FILES:${PN}-bcm4356 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4356-sdio.* \
   ${nonarch_base_libdir}/firmware/cypress/cyfmac4356-sdio.* \
 "
-FILES_${PN}-bcm43569 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43569.bin"
-FILES_${PN}-bcm43570 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43570-pcie.bin \
+FILES:${PN}-bcm43569 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43569.bin"
+FILES:${PN}-bcm43570 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43570-pcie.bin \
   ${nonarch_base_libdir}/firmware/cypress/cyfmac43570-pcie.bin \
 "
-FILES_${PN}-bcm4358 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4358-pcie.bin"
-FILES_${PN}-bcm43602 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43602-pcie.bin \
+FILES:${PN}-bcm4358 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4358-pcie.bin"
+FILES:${PN}-bcm43602 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43602-pcie.bin \
   ${nonarch_base_libdir}/firmware/brcm/brcmfmac43602-pcie.ap.bin \
 "
-FILES_${PN}-bcm4366b = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4366b-pcie.bin"
-FILES_${PN}-bcm4366c = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4366c-pcie.bin"
-FILES_${PN}-bcm4371 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4371-pcie.bin"
+FILES:${PN}-bcm4366b = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4366b-pcie.bin"
+FILES:${PN}-bcm4366c = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4366c-pcie.bin"
+FILES:${PN}-bcm4371 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4371-pcie.bin"
 
-# for i in `grep brcm WHENCE  | grep ^File | sed 's/File: brcm.//g'`; do pkg=`echo $i | sed 's/-[sp40].*//g; s/\.bin//g; s/brcmfmac/bcm/g; s/_hdr/-hdr/g; s/BCM/bcm-0bb4-0306/g'`; echo -e "LICENSE_\${PN}-$pkg = \"Firmware-broadcom_bcm43xx\"\nRDEPENDS_\${PN}-$pkg += \"\${PN}-broadcom-license\""; done
+# for i in `grep brcm WHENCE  | grep ^File | sed 's/File: brcm.//g'`; do pkg=`echo $i | sed 's/-[sp40].*//g; s/\.bin//g; s/brcmfmac/bcm/g; s/_hdr/-hdr/g; s/BCM/bcm-0bb4-0306/g'`; echo -e "LICENSE:\${PN}-$pkg = \"Firmware-broadcom_bcm43xx\"\nRDEPENDS_\${PN}-$pkg += \"\${PN}-broadcom-license\""; done
 # Currently 1st one and last 6 have cypress LICENSE
 
-LICENSE_${PN}-bcm43xx = "Firmware-broadcom_bcm43xx"
-RDEPENDS_${PN}-bcm43xx += "${PN}-broadcom-license"
-LICENSE_${PN}-bcm43xx-hdr = "Firmware-broadcom_bcm43xx"
-RDEPENDS_${PN}-bcm43xx-hdr += "${PN}-broadcom-license"
-LICENSE_${PN}-bcm4329-fullmac = "Firmware-broadcom_bcm43xx"
-RDEPENDS_${PN}-bcm4329-fullmac += "${PN}-broadcom-license"
-LICENSE_${PN}-bcm43236b = "Firmware-broadcom_bcm43xx"
-RDEPENDS_${PN}-bcm43236b += "${PN}-broadcom-license"
-LICENSE_${PN}-bcm4329 = "Firmware-broadcom_bcm43xx"
-RDEPENDS_${PN}-bcm4329 += "${PN}-broadcom-license"
-LICENSE_${PN}-bcm4330 = "Firmware-broadcom_bcm43xx"
-RDEPENDS_${PN}-bcm4330 += "${PN}-broadcom-license"
-LICENSE_${PN}-bcm4334 = "Firmware-broadcom_bcm43xx"
-RDEPENDS_${PN}-bcm4334 += "${PN}-broadcom-license"
-LICENSE_${PN}-bcm4335 = "Firmware-broadcom_bcm43xx"
-RDEPENDS_${PN}-bcm4335 += "${PN}-broadcom-license"
-LICENSE_${PN}-bcm4339 = "Firmware-broadcom_bcm43xx"
-RDEPENDS_${PN}-bcm4339 += "${PN}-broadcom-license"
-LICENSE_${PN}-bcm43241b0 = "Firmware-broadcom_bcm43xx"
-RDEPENDS_${PN}-bcm43241b0 += "${PN}-broadcom-license"
-LICENSE_${PN}-bcm43241b4 = "Firmware-broadcom_bcm43xx"
-RDEPENDS_${PN}-bcm43241b4 += "${PN}-broadcom-license"
-LICENSE_${PN}-bcm43241b5 = "Firmware-broadcom_bcm43xx"
-RDEPENDS_${PN}-bcm43241b5 += "${PN}-broadcom-license"
-LICENSE_${PN}-bcm43242a = "Firmware-broadcom_bcm43xx"
-RDEPENDS_${PN}-bcm43242a += "${PN}-broadcom-license"
-LICENSE_${PN}-bcm43143 = "Firmware-broadcom_bcm43xx"
-RDEPENDS_${PN}-bcm43143 += "${PN}-broadcom-license"
-LICENSE_${PN}-bcm43430a0 = "Firmware-broadcom_bcm43xx"
-RDEPENDS_${PN}-bcm43430a0 += "${PN}-broadcom-license"
-LICENSE_${PN}-bcm43455 = "Firmware-broadcom_bcm43xx"
-RDEPENDS_${PN}-bcm43455 += "${PN}-broadcom-license"
-LICENSE_${PN}-bcm4350c2 = "Firmware-broadcom_bcm43xx"
-RDEPENDS_${PN}-bcm4350c2 += "${PN}-broadcom-license"
-LICENSE_${PN}-bcm4350 = "Firmware-broadcom_bcm43xx"
-RDEPENDS_${PN}-bcm4350 += "${PN}-broadcom-license"
-LICENSE_${PN}-bcm4356 = "Firmware-broadcom_bcm43xx"
-RDEPENDS_${PN}-bcm4356 += "${PN}-broadcom-license"
-LICENSE_${PN}-bcm43569 = "Firmware-broadcom_bcm43xx"
-RDEPENDS_${PN}-bcm43569 += "${PN}-broadcom-license"
-LICENSE_${PN}-bcm43570 = "Firmware-broadcom_bcm43xx"
-RDEPENDS_${PN}-bcm43570 += "${PN}-broadcom-license"
-LICENSE_${PN}-bcm4358 = "Firmware-broadcom_bcm43xx"
-RDEPENDS_${PN}-bcm4358 += "${PN}-broadcom-license"
-LICENSE_${PN}-bcm43602 = "Firmware-broadcom_bcm43xx"
-RDEPENDS_${PN}-bcm43602 += "${PN}-broadcom-license"
-LICENSE_${PN}-bcm4366b = "Firmware-broadcom_bcm43xx"
-RDEPENDS_${PN}-bcm4366b += "${PN}-broadcom-license"
-LICENSE_${PN}-bcm4366c = "Firmware-broadcom_bcm43xx"
-RDEPENDS_${PN}-bcm4366c += "${PN}-broadcom-license"
-LICENSE_${PN}-bcm4371 = "Firmware-broadcom_bcm43xx"
-RDEPENDS_${PN}-bcm4371 += "${PN}-broadcom-license"
+LICENSE:${PN}-bcm43xx = "Firmware-broadcom_bcm43xx"
+RDEPENDS:${PN}-bcm43xx += "${PN}-broadcom-license"
+LICENSE:${PN}-bcm43xx-hdr = "Firmware-broadcom_bcm43xx"
+RDEPENDS:${PN}-bcm43xx-hdr += "${PN}-broadcom-license"
+LICENSE:${PN}-bcm4329-fullmac = "Firmware-broadcom_bcm43xx"
+RDEPENDS:${PN}-bcm4329-fullmac += "${PN}-broadcom-license"
+LICENSE:${PN}-bcm43236b = "Firmware-broadcom_bcm43xx"
+RDEPENDS:${PN}-bcm43236b += "${PN}-broadcom-license"
+LICENSE:${PN}-bcm4329 = "Firmware-broadcom_bcm43xx"
+RDEPENDS:${PN}-bcm4329 += "${PN}-broadcom-license"
+LICENSE:${PN}-bcm4330 = "Firmware-broadcom_bcm43xx"
+RDEPENDS:${PN}-bcm4330 += "${PN}-broadcom-license"
+LICENSE:${PN}-bcm4334 = "Firmware-broadcom_bcm43xx"
+RDEPENDS:${PN}-bcm4334 += "${PN}-broadcom-license"
+LICENSE:${PN}-bcm4335 = "Firmware-broadcom_bcm43xx"
+RDEPENDS:${PN}-bcm4335 += "${PN}-broadcom-license"
+LICENSE:${PN}-bcm4339 = "Firmware-broadcom_bcm43xx"
+RDEPENDS:${PN}-bcm4339 += "${PN}-broadcom-license"
+LICENSE:${PN}-bcm43241b0 = "Firmware-broadcom_bcm43xx"
+RDEPENDS:${PN}-bcm43241b0 += "${PN}-broadcom-license"
+LICENSE:${PN}-bcm43241b4 = "Firmware-broadcom_bcm43xx"
+RDEPENDS:${PN}-bcm43241b4 += "${PN}-broadcom-license"
+LICENSE:${PN}-bcm43241b5 = "Firmware-broadcom_bcm43xx"
+RDEPENDS:${PN}-bcm43241b5 += "${PN}-broadcom-license"
+LICENSE:${PN}-bcm43242a = "Firmware-broadcom_bcm43xx"
+RDEPENDS:${PN}-bcm43242a += "${PN}-broadcom-license"
+LICENSE:${PN}-bcm43143 = "Firmware-broadcom_bcm43xx"
+RDEPENDS:${PN}-bcm43143 += "${PN}-broadcom-license"
+LICENSE:${PN}-bcm43430a0 = "Firmware-broadcom_bcm43xx"
+RDEPENDS:${PN}-bcm43430a0 += "${PN}-broadcom-license"
+LICENSE:${PN}-bcm43455 = "Firmware-broadcom_bcm43xx"
+RDEPENDS:${PN}-bcm43455 += "${PN}-broadcom-license"
+LICENSE:${PN}-bcm4350c2 = "Firmware-broadcom_bcm43xx"
+RDEPENDS:${PN}-bcm4350c2 += "${PN}-broadcom-license"
+LICENSE:${PN}-bcm4350 = "Firmware-broadcom_bcm43xx"
+RDEPENDS:${PN}-bcm4350 += "${PN}-broadcom-license"
+LICENSE:${PN}-bcm4356 = "Firmware-broadcom_bcm43xx"
+RDEPENDS:${PN}-bcm4356 += "${PN}-broadcom-license"
+LICENSE:${PN}-bcm43569 = "Firmware-broadcom_bcm43xx"
+RDEPENDS:${PN}-bcm43569 += "${PN}-broadcom-license"
+LICENSE:${PN}-bcm43570 = "Firmware-broadcom_bcm43xx"
+RDEPENDS:${PN}-bcm43570 += "${PN}-broadcom-license"
+LICENSE:${PN}-bcm4358 = "Firmware-broadcom_bcm43xx"
+RDEPENDS:${PN}-bcm4358 += "${PN}-broadcom-license"
+LICENSE:${PN}-bcm43602 = "Firmware-broadcom_bcm43xx"
+RDEPENDS:${PN}-bcm43602 += "${PN}-broadcom-license"
+LICENSE:${PN}-bcm4366b = "Firmware-broadcom_bcm43xx"
+RDEPENDS:${PN}-bcm4366b += "${PN}-broadcom-license"
+LICENSE:${PN}-bcm4366c = "Firmware-broadcom_bcm43xx"
+RDEPENDS:${PN}-bcm4366c += "${PN}-broadcom-license"
+LICENSE:${PN}-bcm4371 = "Firmware-broadcom_bcm43xx"
+RDEPENDS:${PN}-bcm4371 += "${PN}-broadcom-license"
 
 # For broadcom cypress
 
-LICENSE_${PN}-cypress-license = "Firmware-cypress"
-FILES_${PN}-cypress-license = "${nonarch_base_libdir}/firmware/LICENCE.cypress"
+LICENSE:${PN}-cypress-license = "Firmware-cypress"
+FILES:${PN}-cypress-license = "${nonarch_base_libdir}/firmware/LICENCE.cypress"
 
-FILES_${PN}-bcm-0bb4-0306 = "${nonarch_base_libdir}/firmware/brcm/BCM-0bb4-0306.hcd"
-FILES_${PN}-bcm43340 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43340-sdio.* \
+FILES:${PN}-bcm-0bb4-0306 = "${nonarch_base_libdir}/firmware/brcm/BCM-0bb4-0306.hcd"
+FILES:${PN}-bcm43340 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43340-sdio.* \
   ${nonarch_base_libdir}/firmware/cypress/cyfmac43340-sdio.*"
-FILES_${PN}-bcm43362 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43362-sdio.* \
+FILES:${PN}-bcm43362 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43362-sdio.* \
   ${nonarch_base_libdir}/firmware/cypress/cyfmac43362-sdio.*"
-FILES_${PN}-bcm43430 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43430-sdio.* \
+FILES:${PN}-bcm43430 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43430-sdio.* \
   ${nonarch_base_libdir}/firmware/cypress/cyfmac43430-sdio.*"
-FILES_${PN}-bcm4354 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4354-sdio.bin \
+FILES:${PN}-bcm4354 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4354-sdio.bin \
   ${nonarch_base_libdir}/firmware/cypress/cyfmac4354-sdio.bin \
 "
-FILES_${PN}-bcm4356-pcie = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4356-pcie.* \
+FILES:${PN}-bcm4356-pcie = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4356-pcie.* \
   ${nonarch_base_libdir}/firmware/cypress/cyfmac4356-pcie.* \
 "
-FILES_${PN}-bcm4373 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4373-sdio.bin \
+FILES:${PN}-bcm4373 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4373-sdio.bin \
   ${nonarch_base_libdir}/firmware/brcm/brcmfmac4373.bin \
   ${nonarch_base_libdir}/firmware/cypress/cyfmac4373-sdio.bin \
 "
 
-LICENSE_${PN}-bcm-0bb4-0306 = "Firmware-cypress"
-RDEPENDS_${PN}-bcm-0bb4-0306 += "${PN}-cypress-license"
-LICENSE_${PN}-bcm43340 = "Firmware-cypress"
-RDEPENDS_${PN}-bcm43340 += "${PN}-cypress-license"
-LICENSE_${PN}-bcm43362 = "Firmware-cypress"
-RDEPENDS_${PN}-bcm43362 += "${PN}-cypress-license"
-LICENSE_${PN}-bcm43430 = "Firmware-cypress"
-RDEPENDS_${PN}-bcm43430 += "${PN}-cypress-license"
-LICENSE_${PN}-bcm4354 = "Firmware-cypress"
-RDEPENDS_${PN}-bcm4354 += "${PN}-cypress-license"
-LICENSE_${PN}-bcm4356-pcie = "Firmware-cypress"
-RDEPENDS_${PN}-bcm4356-pcie += "${PN}-cypress-license"
-LICENSE_${PN}-bcm4373 = "Firmware-cypress"
-RDEPENDS_${PN}-bcm4373 += "${PN}-cypress-license"
+LICENSE:${PN}-bcm-0bb4-0306 = "Firmware-cypress"
+RDEPENDS:${PN}-bcm-0bb4-0306 += "${PN}-cypress-license"
+LICENSE:${PN}-bcm43340 = "Firmware-cypress"
+RDEPENDS:${PN}-bcm43340 += "${PN}-cypress-license"
+LICENSE:${PN}-bcm43362 = "Firmware-cypress"
+RDEPENDS:${PN}-bcm43362 += "${PN}-cypress-license"
+LICENSE:${PN}-bcm43430 = "Firmware-cypress"
+RDEPENDS:${PN}-bcm43430 += "${PN}-cypress-license"
+LICENSE:${PN}-bcm4354 = "Firmware-cypress"
+RDEPENDS:${PN}-bcm4354 += "${PN}-cypress-license"
+LICENSE:${PN}-bcm4356-pcie = "Firmware-cypress"
+RDEPENDS:${PN}-bcm4356-pcie += "${PN}-cypress-license"
+LICENSE:${PN}-bcm4373 = "Firmware-cypress"
+RDEPENDS:${PN}-bcm4373 += "${PN}-cypress-license"
 
 # For Broadcom bnx2-mips
 #
 # which is a separate case to the other Broadcom firmwares since its
 # license is contained in the shared WHENCE file.
 
-LICENSE_${PN}-bnx2-mips = "WHENCE"
-LICENSE_${PN}-whence-license = "WHENCE"
+LICENSE:${PN}-bnx2-mips = "WHENCE"
+LICENSE:${PN}-whence-license = "WHENCE"
 
-FILES_${PN}-bnx2-mips = "${nonarch_base_libdir}/firmware/bnx2/bnx2-mips-09-6.2.1b.fw"
-FILES_${PN}-whence-license = "${nonarch_base_libdir}/firmware/WHENCE"
+FILES:${PN}-bnx2-mips = "${nonarch_base_libdir}/firmware/bnx2/bnx2-mips-09-6.2.1b.fw"
+FILES:${PN}-whence-license = "${nonarch_base_libdir}/firmware/WHENCE"
 
-RDEPENDS_${PN}-bnx2-mips += "${PN}-whence-license"
+RDEPENDS:${PN}-bnx2-mips += "${PN}-whence-license"
 
 # For imx-sdma
-LICENSE_${PN}-imx-sdma-imx6q       = "Firmware-imx-sdma_firmware"
-LICENSE_${PN}-imx-sdma-imx7d       = "Firmware-imx-sdma_firmware"
-LICENSE_${PN}-imx-sdma-license       = "Firmware-imx-sdma_firmware"
+LICENSE:${PN}-imx-sdma-imx6q       = "Firmware-imx-sdma_firmware"
+LICENSE:${PN}-imx-sdma-imx7d       = "Firmware-imx-sdma_firmware"
+LICENSE:${PN}-imx-sdma-license       = "Firmware-imx-sdma_firmware"
 
-FILES_${PN}-imx-sdma-imx6q = "${nonarch_base_libdir}/firmware/imx/sdma/sdma-imx6q.bin"
+FILES:${PN}-imx-sdma-imx6q = "${nonarch_base_libdir}/firmware/imx/sdma/sdma-imx6q.bin"
 
-RPROVIDES_${PN}-imx-sdma-imx6q = "firmware-imx-sdma-imx6q"
-RREPLACES_${PN}-imx-sdma-imx6q = "firmware-imx-sdma-imx6q"
-RCONFLICTS_${PN}-imx-sdma-imx6q = "firmware-imx-sdma-imx6q"
+RPROVIDES:${PN}-imx-sdma-imx6q = "firmware-imx-sdma-imx6q"
+RREPLACES:${PN}-imx-sdma-imx6q = "firmware-imx-sdma-imx6q"
+RCONFLICTS:${PN}-imx-sdma-imx6q = "firmware-imx-sdma-imx6q"
 
-FILES_${PN}-imx-sdma-imx7d = "${nonarch_base_libdir}/firmware/imx/sdma/sdma-imx7d.bin"
+FILES:${PN}-imx-sdma-imx7d = "${nonarch_base_libdir}/firmware/imx/sdma/sdma-imx7d.bin"
 
-FILES_${PN}-imx-sdma-license = "${nonarch_base_libdir}/firmware/LICENSE.sdma_firmware"
+FILES:${PN}-imx-sdma-license = "${nonarch_base_libdir}/firmware/LICENSE.sdma_firmware"
 
-RDEPENDS_${PN}-imx-sdma-imx6q += "${PN}-imx-sdma-license"
-RDEPENDS_${PN}-imx-sdma-imx7d += "${PN}-imx-sdma-license"
+RDEPENDS:${PN}-imx-sdma-imx6q += "${PN}-imx-sdma-license"
+RDEPENDS:${PN}-imx-sdma-imx7d += "${PN}-imx-sdma-license"
 
 # For iwlwifi
-LICENSE_${PN}-iwlwifi           = "Firmware-iwlwifi_firmware"
-LICENSE_${PN}-iwlwifi-135-6     = "Firmware-iwlwifi_firmware"
-LICENSE_${PN}-iwlwifi-3160-7    = "Firmware-iwlwifi_firmware"
-LICENSE_${PN}-iwlwifi-3160-8    = "Firmware-iwlwifi_firmware"
-LICENSE_${PN}-iwlwifi-3160-9    = "Firmware-iwlwifi_firmware"
-LICENSE_${PN}-iwlwifi-3160-10   = "Firmware-iwlwifi_firmware"
-LICENSE_${PN}-iwlwifi-3160-12   = "Firmware-iwlwifi_firmware"
-LICENSE_${PN}-iwlwifi-3160-13   = "Firmware-iwlwifi_firmware"
-LICENSE_${PN}-iwlwifi-3160-16   = "Firmware-iwlwifi_firmware"
-LICENSE_${PN}-iwlwifi-3160-17   = "Firmware-iwlwifi_firmware"
-LICENSE_${PN}-iwlwifi-6000-4    = "Firmware-iwlwifi_firmware"
-LICENSE_${PN}-iwlwifi-6000g2a-5 = "Firmware-iwlwifi_firmware"
-LICENSE_${PN}-iwlwifi-6000g2a-6 = "Firmware-iwlwifi_firmware"
-LICENSE_${PN}-iwlwifi-6000g2b-5 = "Firmware-iwlwifi_firmware"
-LICENSE_${PN}-iwlwifi-6000g2b-6 = "Firmware-iwlwifi_firmware"
-LICENSE_${PN}-iwlwifi-6050-4    = "Firmware-iwlwifi_firmware"
-LICENSE_${PN}-iwlwifi-6050-5    = "Firmware-iwlwifi_firmware"
-LICENSE_${PN}-iwlwifi-7260      = "Firmware-iwlwifi_firmware"
-LICENSE_${PN}-iwlwifi-7265      = "Firmware-iwlwifi_firmware"
-LICENSE_${PN}-iwlwifi-7265d     = "Firmware-iwlwifi_firmware"
-LICENSE_${PN}-iwlwifi-8000c     = "Firmware-iwlwifi_firmware"
-LICENSE_${PN}-iwlwifi-8265      = "Firmware-iwlwifi_firmware"
-LICENSE_${PN}-iwlwifi-9000      = "Firmware-iwlwifi_firmware"
-LICENSE_${PN}-iwlwifi-misc      = "Firmware-iwlwifi_firmware"
-LICENSE_${PN}-iwlwifi-license   = "Firmware-iwlwifi_firmware"
-
-
-FILES_${PN}-iwlwifi-license = "${nonarch_base_libdir}/firmware/LICENCE.iwlwifi_firmware"
-FILES_${PN}-iwlwifi-135-6 = "${nonarch_base_libdir}/firmware/iwlwifi-135-6.ucode"
-FILES_${PN}-iwlwifi-3160-7 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-7.ucode"
-FILES_${PN}-iwlwifi-3160-8 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-8.ucode"
-FILES_${PN}-iwlwifi-3160-9 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-9.ucode"
-FILES_${PN}-iwlwifi-3160-10 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-10.ucode"
-FILES_${PN}-iwlwifi-3160-12 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-12.ucode"
-FILES_${PN}-iwlwifi-3160-13 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-13.ucode"
-FILES_${PN}-iwlwifi-3160-16 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-16.ucode"
-FILES_${PN}-iwlwifi-3160-17 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-17.ucode"
-FILES_${PN}-iwlwifi-6000-4 = "${nonarch_base_libdir}/firmware/iwlwifi-6000-4.ucode"
-FILES_${PN}-iwlwifi-6000g2a-5 = "${nonarch_base_libdir}/firmware/iwlwifi-6000g2a-5.ucode"
-FILES_${PN}-iwlwifi-6000g2a-6 = "${nonarch_base_libdir}/firmware/iwlwifi-6000g2a-6.ucode"
-FILES_${PN}-iwlwifi-6000g2b-5 = "${nonarch_base_libdir}/firmware/iwlwifi-6000g2b-5.ucode"
-FILES_${PN}-iwlwifi-6000g2b-6 = "${nonarch_base_libdir}/firmware/iwlwifi-6000g2b-6.ucode"
-FILES_${PN}-iwlwifi-6050-4 = "${nonarch_base_libdir}/firmware/iwlwifi-6050-4.ucode"
-FILES_${PN}-iwlwifi-6050-5 = "${nonarch_base_libdir}/firmware/iwlwifi-6050-5.ucode"
-FILES_${PN}-iwlwifi-7260   = "${nonarch_base_libdir}/firmware/iwlwifi-7260-*.ucode"
-FILES_${PN}-iwlwifi-7265   = "${nonarch_base_libdir}/firmware/iwlwifi-7265-*.ucode"
-FILES_${PN}-iwlwifi-7265d   = "${nonarch_base_libdir}/firmware/iwlwifi-7265D-*.ucode"
-FILES_${PN}-iwlwifi-8000c   = "${nonarch_base_libdir}/firmware/iwlwifi-8000C-*.ucode"
-FILES_${PN}-iwlwifi-8265   = "${nonarch_base_libdir}/firmware/iwlwifi-8265-*.ucode"
-FILES_${PN}-iwlwifi-9000   = "${nonarch_base_libdir}/firmware/iwlwifi-9000-*.ucode"
-FILES_${PN}-iwlwifi-misc   = "${nonarch_base_libdir}/firmware/iwlwifi-*.ucode"
-
-RDEPENDS_${PN}-iwlwifi-135-6     = "${PN}-iwlwifi-license"
-RDEPENDS_${PN}-iwlwifi-3160-7    = "${PN}-iwlwifi-license"
-RDEPENDS_${PN}-iwlwifi-3160-8    = "${PN}-iwlwifi-license"
-RDEPENDS_${PN}-iwlwifi-3160-9    = "${PN}-iwlwifi-license"
-RDEPENDS_${PN}-iwlwifi-3160-10   = "${PN}-iwlwifi-license"
-RDEPENDS_${PN}-iwlwifi-3160-12   = "${PN}-iwlwifi-license"
-RDEPENDS_${PN}-iwlwifi-3160-13   = "${PN}-iwlwifi-license"
-RDEPENDS_${PN}-iwlwifi-3160-16   = "${PN}-iwlwifi-license"
-RDEPENDS_${PN}-iwlwifi-3160-17   = "${PN}-iwlwifi-license"
-RDEPENDS_${PN}-iwlwifi-6000-4    = "${PN}-iwlwifi-license"
-RDEPENDS_${PN}-iwlwifi-6000g2a-5 = "${PN}-iwlwifi-license"
-RDEPENDS_${PN}-iwlwifi-6000g2a-6 = "${PN}-iwlwifi-license"
-RDEPENDS_${PN}-iwlwifi-6000g2b-5 = "${PN}-iwlwifi-license"
-RDEPENDS_${PN}-iwlwifi-6000g2b-6 = "${PN}-iwlwifi-license"
-RDEPENDS_${PN}-iwlwifi-6050-4    = "${PN}-iwlwifi-license"
-RDEPENDS_${PN}-iwlwifi-6050-5    = "${PN}-iwlwifi-license"
-RDEPENDS_${PN}-iwlwifi-7260      = "${PN}-iwlwifi-license"
-RDEPENDS_${PN}-iwlwifi-7265      = "${PN}-iwlwifi-license"
-RDEPENDS_${PN}-iwlwifi-7265d     = "${PN}-iwlwifi-license"
-RDEPENDS_${PN}-iwlwifi-8000c     = "${PN}-iwlwifi-license"
-RDEPENDS_${PN}-iwlwifi-8265      = "${PN}-iwlwifi-license"
-RDEPENDS_${PN}-iwlwifi-9000      = "${PN}-iwlwifi-license"
-RDEPENDS_${PN}-iwlwifi-misc      = "${PN}-iwlwifi-license"
+LICENSE:${PN}-iwlwifi           = "Firmware-iwlwifi_firmware"
+LICENSE:${PN}-iwlwifi-135-6     = "Firmware-iwlwifi_firmware"
+LICENSE:${PN}-iwlwifi-3160-7    = "Firmware-iwlwifi_firmware"
+LICENSE:${PN}-iwlwifi-3160-8    = "Firmware-iwlwifi_firmware"
+LICENSE:${PN}-iwlwifi-3160-9    = "Firmware-iwlwifi_firmware"
+LICENSE:${PN}-iwlwifi-3160-10   = "Firmware-iwlwifi_firmware"
+LICENSE:${PN}-iwlwifi-3160-12   = "Firmware-iwlwifi_firmware"
+LICENSE:${PN}-iwlwifi-3160-13   = "Firmware-iwlwifi_firmware"
+LICENSE:${PN}-iwlwifi-3160-16   = "Firmware-iwlwifi_firmware"
+LICENSE:${PN}-iwlwifi-3160-17   = "Firmware-iwlwifi_firmware"
+LICENSE:${PN}-iwlwifi-6000-4    = "Firmware-iwlwifi_firmware"
+LICENSE:${PN}-iwlwifi-6000g2a-5 = "Firmware-iwlwifi_firmware"
+LICENSE:${PN}-iwlwifi-6000g2a-6 = "Firmware-iwlwifi_firmware"
+LICENSE:${PN}-iwlwifi-6000g2b-5 = "Firmware-iwlwifi_firmware"
+LICENSE:${PN}-iwlwifi-6000g2b-6 = "Firmware-iwlwifi_firmware"
+LICENSE:${PN}-iwlwifi-6050-4    = "Firmware-iwlwifi_firmware"
+LICENSE:${PN}-iwlwifi-6050-5    = "Firmware-iwlwifi_firmware"
+LICENSE:${PN}-iwlwifi-7260      = "Firmware-iwlwifi_firmware"
+LICENSE:${PN}-iwlwifi-7265      = "Firmware-iwlwifi_firmware"
+LICENSE:${PN}-iwlwifi-7265d     = "Firmware-iwlwifi_firmware"
+LICENSE:${PN}-iwlwifi-8000c     = "Firmware-iwlwifi_firmware"
+LICENSE:${PN}-iwlwifi-8265      = "Firmware-iwlwifi_firmware"
+LICENSE:${PN}-iwlwifi-9000      = "Firmware-iwlwifi_firmware"
+LICENSE:${PN}-iwlwifi-misc      = "Firmware-iwlwifi_firmware"
+LICENSE:${PN}-iwlwifi-license   = "Firmware-iwlwifi_firmware"
+
+
+FILES:${PN}-iwlwifi-license = "${nonarch_base_libdir}/firmware/LICENCE.iwlwifi_firmware"
+FILES:${PN}-iwlwifi-135-6 = "${nonarch_base_libdir}/firmware/iwlwifi-135-6.ucode"
+FILES:${PN}-iwlwifi-3160-7 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-7.ucode"
+FILES:${PN}-iwlwifi-3160-8 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-8.ucode"
+FILES:${PN}-iwlwifi-3160-9 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-9.ucode"
+FILES:${PN}-iwlwifi-3160-10 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-10.ucode"
+FILES:${PN}-iwlwifi-3160-12 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-12.ucode"
+FILES:${PN}-iwlwifi-3160-13 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-13.ucode"
+FILES:${PN}-iwlwifi-3160-16 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-16.ucode"
+FILES:${PN}-iwlwifi-3160-17 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-17.ucode"
+FILES:${PN}-iwlwifi-6000-4 = "${nonarch_base_libdir}/firmware/iwlwifi-6000-4.ucode"
+FILES:${PN}-iwlwifi-6000g2a-5 = "${nonarch_base_libdir}/firmware/iwlwifi-6000g2a-5.ucode"
+FILES:${PN}-iwlwifi-6000g2a-6 = "${nonarch_base_libdir}/firmware/iwlwifi-6000g2a-6.ucode"
+FILES:${PN}-iwlwifi-6000g2b-5 = "${nonarch_base_libdir}/firmware/iwlwifi-6000g2b-5.ucode"
+FILES:${PN}-iwlwifi-6000g2b-6 = "${nonarch_base_libdir}/firmware/iwlwifi-6000g2b-6.ucode"
+FILES:${PN}-iwlwifi-6050-4 = "${nonarch_base_libdir}/firmware/iwlwifi-6050-4.ucode"
+FILES:${PN}-iwlwifi-6050-5 = "${nonarch_base_libdir}/firmware/iwlwifi-6050-5.ucode"
+FILES:${PN}-iwlwifi-7260   = "${nonarch_base_libdir}/firmware/iwlwifi-7260-*.ucode"
+FILES:${PN}-iwlwifi-7265   = "${nonarch_base_libdir}/firmware/iwlwifi-7265-*.ucode"
+FILES:${PN}-iwlwifi-7265d   = "${nonarch_base_libdir}/firmware/iwlwifi-7265D-*.ucode"
+FILES:${PN}-iwlwifi-8000c   = "${nonarch_base_libdir}/firmware/iwlwifi-8000C-*.ucode"
+FILES:${PN}-iwlwifi-8265   = "${nonarch_base_libdir}/firmware/iwlwifi-8265-*.ucode"
+FILES:${PN}-iwlwifi-9000   = "${nonarch_base_libdir}/firmware/iwlwifi-9000-*.ucode"
+FILES:${PN}-iwlwifi-misc   = "${nonarch_base_libdir}/firmware/iwlwifi-*.ucode"
+
+RDEPENDS:${PN}-iwlwifi-135-6     = "${PN}-iwlwifi-license"
+RDEPENDS:${PN}-iwlwifi-3160-7    = "${PN}-iwlwifi-license"
+RDEPENDS:${PN}-iwlwifi-3160-8    = "${PN}-iwlwifi-license"
+RDEPENDS:${PN}-iwlwifi-3160-9    = "${PN}-iwlwifi-license"
+RDEPENDS:${PN}-iwlwifi-3160-10   = "${PN}-iwlwifi-license"
+RDEPENDS:${PN}-iwlwifi-3160-12   = "${PN}-iwlwifi-license"
+RDEPENDS:${PN}-iwlwifi-3160-13   = "${PN}-iwlwifi-license"
+RDEPENDS:${PN}-iwlwifi-3160-16   = "${PN}-iwlwifi-license"
+RDEPENDS:${PN}-iwlwifi-3160-17   = "${PN}-iwlwifi-license"
+RDEPENDS:${PN}-iwlwifi-6000-4    = "${PN}-iwlwifi-license"
+RDEPENDS:${PN}-iwlwifi-6000g2a-5 = "${PN}-iwlwifi-license"
+RDEPENDS:${PN}-iwlwifi-6000g2a-6 = "${PN}-iwlwifi-license"
+RDEPENDS:${PN}-iwlwifi-6000g2b-5 = "${PN}-iwlwifi-license"
+RDEPENDS:${PN}-iwlwifi-6000g2b-6 = "${PN}-iwlwifi-license"
+RDEPENDS:${PN}-iwlwifi-6050-4    = "${PN}-iwlwifi-license"
+RDEPENDS:${PN}-iwlwifi-6050-5    = "${PN}-iwlwifi-license"
+RDEPENDS:${PN}-iwlwifi-7260      = "${PN}-iwlwifi-license"
+RDEPENDS:${PN}-iwlwifi-7265      = "${PN}-iwlwifi-license"
+RDEPENDS:${PN}-iwlwifi-7265d     = "${PN}-iwlwifi-license"
+RDEPENDS:${PN}-iwlwifi-8000c     = "${PN}-iwlwifi-license"
+RDEPENDS:${PN}-iwlwifi-8265      = "${PN}-iwlwifi-license"
+RDEPENDS:${PN}-iwlwifi-9000      = "${PN}-iwlwifi-license"
+RDEPENDS:${PN}-iwlwifi-misc      = "${PN}-iwlwifi-license"
 
 # -iwlwifi-misc is a "catch all" package that includes all the iwlwifi
 # firmwares that are not already included in other -iwlwifi- packages.
 # -iwlwifi is a virtual package that depends upon all iwlwifi packages.
 # These are distinct in order to allow the -misc firmwares to be installed
 # without pulling in every other iwlwifi package.
-ALLOW_EMPTY_${PN}-iwlwifi = "1"
-ALLOW_EMPTY_${PN}-iwlwifi-misc = "1"
+ALLOW_EMPTY:${PN}-iwlwifi = "1"
+ALLOW_EMPTY:${PN}-iwlwifi-misc = "1"
 
 # Handle package updating for the newly merged iwlwifi groupings
-RPROVIDES_${PN}-iwlwifi-7265 = "${PN}-iwlwifi-7265-8 ${PN}-iwlwifi-7265-9"
-RREPLACES_${PN}-iwlwifi-7265 = "${PN}-iwlwifi-7265-8 ${PN}-iwlwifi-7265-9"
-RCONFLICTS_${PN}-iwlwifi-7265 = "${PN}-iwlwifi-7265-8 ${PN}-iwlwifi-7265-9"
+RPROVIDES:${PN}-iwlwifi-7265 = "${PN}-iwlwifi-7265-8 ${PN}-iwlwifi-7265-9"
+RREPLACES:${PN}-iwlwifi-7265 = "${PN}-iwlwifi-7265-8 ${PN}-iwlwifi-7265-9"
+RCONFLICTS:${PN}-iwlwifi-7265 = "${PN}-iwlwifi-7265-8 ${PN}-iwlwifi-7265-9"
 
-RPROVIDES_${PN}-iwlwifi-7260 = "${PN}-iwlwifi-7260-7 ${PN}-iwlwifi-7260-8 ${PN}-iwlwifi-7260-9"
-RREPLACES_${PN}-iwlwifi-7260 = "${PN}-iwlwifi-7260-7 ${PN}-iwlwifi-7260-8 ${PN}-iwlwifi-7260-9"
-RCONFLICTS_${PN}-iwlwifi-7260 = "${PN}-iwlwifi-7260-7 ${PN}-iwlwifi-7260-8 ${PN}-iwlwifi-7260-9"
+RPROVIDES:${PN}-iwlwifi-7260 = "${PN}-iwlwifi-7260-7 ${PN}-iwlwifi-7260-8 ${PN}-iwlwifi-7260-9"
+RREPLACES:${PN}-iwlwifi-7260 = "${PN}-iwlwifi-7260-7 ${PN}-iwlwifi-7260-8 ${PN}-iwlwifi-7260-9"
+RCONFLICTS:${PN}-iwlwifi-7260 = "${PN}-iwlwifi-7260-7 ${PN}-iwlwifi-7260-8 ${PN}-iwlwifi-7260-9"
 
 # For ibt
-LICENSE_${PN}-ibt-license = "Firmware-ibt_firmware"
-LICENSE_${PN}-ibt-hw-37-7 = "Firmware-ibt_firmware"
-LICENSE_${PN}-ibt-hw-37-8 = "Firmware-ibt_firmware"
-LICENSE_${PN}-ibt-11-5    = "Firmware-ibt_firmware"
-LICENSE_${PN}-ibt-12-16   = "Firmware-ibt_firmware"
-LICENSE_${PN}-ibt-17 = "Firmware-ibt_firmware"
-LICENSE_${PN}-ibt-20 = "Firmware-ibt_firmware"
-LICENSE_${PN}-ibt-misc    = "Firmware-ibt_firmware"
-
-FILES_${PN}-ibt-license = "${nonarch_base_libdir}/firmware/LICENCE.ibt_firmware"
-FILES_${PN}-ibt-hw-37-7 = "${nonarch_base_libdir}/firmware/intel/ibt-hw-37.7*.bseq"
-FILES_${PN}-ibt-hw-37-8 = "${nonarch_base_libdir}/firmware/intel/ibt-hw-37.8*.bseq"
-FILES_${PN}-ibt-11-5    = "${nonarch_base_libdir}/firmware/intel/ibt-11-5.sfi ${nonarch_base_libdir}/firmware/intel/ibt-11-5.ddc"
-FILES_${PN}-ibt-12-16   = "${nonarch_base_libdir}/firmware/intel/ibt-12-16.sfi ${nonarch_base_libdir}/firmware/intel/ibt-12-16.ddc"
-FILES_${PN}-ibt-17 = "${nonarch_base_libdir}/firmware/intel/ibt-17-*.sfi ${nonarch_base_libdir}/firmware/intel/ibt-17-*.ddc"
-FILES_${PN}-ibt-20 = "${nonarch_base_libdir}/firmware/intel/ibt-20-*.sfi ${nonarch_base_libdir}/firmware/intel/ibt-20-*.ddc"
-FILES_${PN}-ibt-misc    = "${nonarch_base_libdir}/firmware/intel/ibt-*"
-
-RDEPENDS_${PN}-ibt-hw-37-7 = "${PN}-ibt-license"
-RDEPENDS_${PN}-ibt-hw-37.8 = "${PN}-ibt-license"
-RDEPENDS_${PN}-ibt-11-5    = "${PN}-ibt-license"
-RDEPENDS_${PN}-ibt-12-16   = "${PN}-ibt-license"
-RDEPENDS_${PN}-ibt-17 = "${PN}-ibt-license"
-RDEPENDS_${PN}-ibt-20 = "${PN}-ibt-license"
-RDEPENDS_${PN}-ibt-misc    = "${PN}-ibt-license"
-
-ALLOW_EMPTY_${PN}-ibt= "1"
-ALLOW_EMPTY_${PN}-ibt-misc = "1"
-
-LICENSE_${PN}-i915       = "Firmware-i915"
-LICENSE_${PN}-i915-license = "Firmware-i915"
-FILES_${PN}-i915-license = "${nonarch_base_libdir}/firmware/LICENSE.i915"
-FILES_${PN}-i915         = "${nonarch_base_libdir}/firmware/i915"
-RDEPENDS_${PN}-i915      = "${PN}-i915-license"
-
-LICENSE_${PN}-ice       = "Firmware-ice"
-LICENSE_${PN}-ice-license = "Firmware-ice"
-FILES_${PN}-ice-license = "${nonarch_base_libdir}/firmware/LICENSE.ice"
-FILES_${PN}-ice         = "${nonarch_base_libdir}/firmware/intel/ice"
-RDEPENDS_${PN}-ice      = "${PN}-ice-license"
-
-FILES_${PN}-adsp-sst-license      = "${nonarch_base_libdir}/firmware/LICENCE.adsp_sst"
-LICENSE_${PN}-adsp-sst            = "Firmware-adsp_sst"
-LICENSE_${PN}-adsp-sst-license    = "Firmware-adsp_sst"
-FILES_${PN}-adsp-sst              = "${nonarch_base_libdir}/firmware/intel/dsp_fw*"
-RDEPENDS_${PN}-adsp-sst           = "${PN}-adsp-sst-license"
+LICENSE:${PN}-ibt-license = "Firmware-ibt_firmware"
+LICENSE:${PN}-ibt-hw-37-7 = "Firmware-ibt_firmware"
+LICENSE:${PN}-ibt-hw-37-8 = "Firmware-ibt_firmware"
+LICENSE:${PN}-ibt-11-5    = "Firmware-ibt_firmware"
+LICENSE:${PN}-ibt-12-16   = "Firmware-ibt_firmware"
+LICENSE:${PN}-ibt-17 = "Firmware-ibt_firmware"
+LICENSE:${PN}-ibt-20 = "Firmware-ibt_firmware"
+LICENSE:${PN}-ibt-misc    = "Firmware-ibt_firmware"
+
+FILES:${PN}-ibt-license = "${nonarch_base_libdir}/firmware/LICENCE.ibt_firmware"
+FILES:${PN}-ibt-hw-37-7 = "${nonarch_base_libdir}/firmware/intel/ibt-hw-37.7*.bseq"
+FILES:${PN}-ibt-hw-37-8 = "${nonarch_base_libdir}/firmware/intel/ibt-hw-37.8*.bseq"
+FILES:${PN}-ibt-11-5    = "${nonarch_base_libdir}/firmware/intel/ibt-11-5.sfi ${nonarch_base_libdir}/firmware/intel/ibt-11-5.ddc"
+FILES:${PN}-ibt-12-16   = "${nonarch_base_libdir}/firmware/intel/ibt-12-16.sfi ${nonarch_base_libdir}/firmware/intel/ibt-12-16.ddc"
+FILES:${PN}-ibt-17 = "${nonarch_base_libdir}/firmware/intel/ibt-17-*.sfi ${nonarch_base_libdir}/firmware/intel/ibt-17-*.ddc"
+FILES:${PN}-ibt-20 = "${nonarch_base_libdir}/firmware/intel/ibt-20-*.sfi ${nonarch_base_libdir}/firmware/intel/ibt-20-*.ddc"
+FILES:${PN}-ibt-misc    = "${nonarch_base_libdir}/firmware/intel/ibt-*"
+
+RDEPENDS:${PN}-ibt-hw-37-7 = "${PN}-ibt-license"
+RDEPENDS:${PN}-ibt-hw-37.8 = "${PN}-ibt-license"
+RDEPENDS:${PN}-ibt-11-5    = "${PN}-ibt-license"
+RDEPENDS:${PN}-ibt-12-16   = "${PN}-ibt-license"
+RDEPENDS:${PN}-ibt-17 = "${PN}-ibt-license"
+RDEPENDS:${PN}-ibt-20 = "${PN}-ibt-license"
+RDEPENDS:${PN}-ibt-misc    = "${PN}-ibt-license"
+
+ALLOW_EMPTY:${PN}-ibt= "1"
+ALLOW_EMPTY:${PN}-ibt-misc = "1"
+
+LICENSE:${PN}-i915       = "Firmware-i915"
+LICENSE:${PN}-i915-license = "Firmware-i915"
+FILES:${PN}-i915-license = "${nonarch_base_libdir}/firmware/LICENSE.i915"
+FILES:${PN}-i915         = "${nonarch_base_libdir}/firmware/i915"
+RDEPENDS:${PN}-i915      = "${PN}-i915-license"
+
+LICENSE:${PN}-ice       = "Firmware-ice"
+LICENSE:${PN}-ice-license = "Firmware-ice"
+FILES:${PN}-ice-license = "${nonarch_base_libdir}/firmware/LICENSE.ice"
+FILES:${PN}-ice         = "${nonarch_base_libdir}/firmware/intel/ice"
+RDEPENDS:${PN}-ice      = "${PN}-ice-license"
+
+FILES:${PN}-adsp-sst-license      = "${nonarch_base_libdir}/firmware/LICENCE.adsp_sst"
+LICENSE:${PN}-adsp-sst            = "Firmware-adsp_sst"
+LICENSE:${PN}-adsp-sst-license    = "Firmware-adsp_sst"
+FILES:${PN}-adsp-sst              = "${nonarch_base_libdir}/firmware/intel/dsp_fw*"
+RDEPENDS:${PN}-adsp-sst           = "${PN}-adsp-sst-license"
 
 # For QAT
-LICENSE_${PN}-qat         = "Firmware-qat"
-LICENSE_${PN}-qat-license = "Firmware-qat"
-FILES_${PN}-qat-license   = "${nonarch_base_libdir}/firmware/LICENCE.qat_firmware"
-FILES_${PN}-qat           = "${nonarch_base_libdir}/firmware/qat*.bin"
-RDEPENDS_${PN}-qat        = "${PN}-qat-license"
+LICENSE:${PN}-qat         = "Firmware-qat"
+LICENSE:${PN}-qat-license = "Firmware-qat"
+FILES:${PN}-qat-license   = "${nonarch_base_libdir}/firmware/LICENCE.qat_firmware"
+FILES:${PN}-qat           = "${nonarch_base_libdir}/firmware/qat*.bin"
+RDEPENDS:${PN}-qat        = "${PN}-qat-license"
 
 # For QCOM VPU/GPU and SDM845
-LICENSE_${PN}-qcom-license = "Firmware-qcom"
-FILES_${PN}-qcom-license   = "${nonarch_base_libdir}/firmware/LICENSE.qcom ${nonarch_base_libdir}/firmware/qcom/NOTICE.txt"
-FILES_${PN}-qcom-venus-1.8 = "${nonarch_base_libdir}/firmware/qcom/venus-1.8/*"
-FILES_${PN}-qcom-venus-4.2 = "${nonarch_base_libdir}/firmware/qcom/venus-4.2/*"
-FILES_${PN}-qcom-venus-5.2 = "${nonarch_base_libdir}/firmware/qcom/venus-5.2/*"
-FILES_${PN}-qcom-venus-5.4 = "${nonarch_base_libdir}/firmware/qcom/venus-5.4/*"
-FILES_${PN}-qcom-adreno-a3xx = "${nonarch_base_libdir}/firmware/qcom/a300_*.fw ${nonarch_base_libdir}/firmware/a300_*.fw"
-FILES_${PN}-qcom-adreno-a530 = "${nonarch_base_libdir}/firmware/qcom/a530*.*"
-FILES_${PN}-qcom-adreno-a630 = "${nonarch_base_libdir}/firmware/qcom/a630*.* ${nonarch_base_libdir}/firmware/qcom/sdm845/a630*.*"
-FILES_${PN}-qcom-sdm845-audio = "${nonarch_base_libdir}/firmware/qcom/sdm845/adsp*.*"
-FILES_${PN}-qcom-sdm845-compute = "${nonarch_base_libdir}/firmware/qcom/sdm845/cdsp*.*"
-FILES_${PN}-qcom-sdm845-modem = "${nonarch_base_libdir}/firmware/qcom/sdm845/mba.mbn ${nonarch_base_libdir}/firmware/qcom/sdm845/modem*.* ${nonarch_base_libdir}/firmware/qcom/sdm845/wlanmdsp.mbn"
-RDEPENDS_${PN}-qcom-venus-1.8 = "${PN}-qcom-license"
-RDEPENDS_${PN}-qcom-venus-4.2 = "${PN}-qcom-license"
-RDEPENDS_${PN}-qcom-venus-5.2 = "${PN}-qcom-license"
-RDEPENDS_${PN}-qcom-venus-5.4 = "${PN}-qcom-license"
-RDEPENDS_${PN}-qcom-adreno-a3xx = "${PN}-qcom-license"
-RDEPENDS_${PN}-qcom-adreno-a530 = "${PN}-qcom-license"
-RDEPENDS_${PN}-qcom-adreno-a630 = "${PN}-qcom-license"
-RDEPENDS_${PN}-qcom-sdm845-audio = "${PN}-qcom-license"
-RDEPENDS_${PN}-qcom-sdm845-compute = "${PN}-qcom-license"
-RDEPENDS_${PN}-qcom-sdm845-modem = "${PN}-qcom-license"
-
-FILES_${PN}-liquidio = "${nonarch_base_libdir}/firmware/liquidio"
+LICENSE:${PN}-qcom-license = "Firmware-qcom"
+FILES:${PN}-qcom-license   = "${nonarch_base_libdir}/firmware/LICENSE.qcom ${nonarch_base_libdir}/firmware/qcom/NOTICE.txt"
+FILES:${PN}-qcom-venus-1.8 = "${nonarch_base_libdir}/firmware/qcom/venus-1.8/*"
+FILES:${PN}-qcom-venus-4.2 = "${nonarch_base_libdir}/firmware/qcom/venus-4.2/*"
+FILES:${PN}-qcom-venus-5.2 = "${nonarch_base_libdir}/firmware/qcom/venus-5.2/*"
+FILES:${PN}-qcom-venus-5.4 = "${nonarch_base_libdir}/firmware/qcom/venus-5.4/*"
+FILES:${PN}-qcom-adreno-a3xx = "${nonarch_base_libdir}/firmware/qcom/a300_*.fw ${nonarch_base_libdir}/firmware/a300_*.fw"
+FILES:${PN}-qcom-adreno-a530 = "${nonarch_base_libdir}/firmware/qcom/a530*.*"
+FILES:${PN}-qcom-adreno-a630 = "${nonarch_base_libdir}/firmware/qcom/a630*.* ${nonarch_base_libdir}/firmware/qcom/sdm845/a630*.*"
+FILES:${PN}-qcom-sdm845-audio = "${nonarch_base_libdir}/firmware/qcom/sdm845/adsp*.*"
+FILES:${PN}-qcom-sdm845-compute = "${nonarch_base_libdir}/firmware/qcom/sdm845/cdsp*.*"
+FILES:${PN}-qcom-sdm845-modem = "${nonarch_base_libdir}/firmware/qcom/sdm845/mba.mbn ${nonarch_base_libdir}/firmware/qcom/sdm845/modem*.* ${nonarch_base_libdir}/firmware/qcom/sdm845/wlanmdsp.mbn"
+RDEPENDS:${PN}-qcom-venus-1.8 = "${PN}-qcom-license"
+RDEPENDS:${PN}-qcom-venus-4.2 = "${PN}-qcom-license"
+RDEPENDS:${PN}-qcom-venus-5.2 = "${PN}-qcom-license"
+RDEPENDS:${PN}-qcom-venus-5.4 = "${PN}-qcom-license"
+RDEPENDS:${PN}-qcom-adreno-a3xx = "${PN}-qcom-license"
+RDEPENDS:${PN}-qcom-adreno-a530 = "${PN}-qcom-license"
+RDEPENDS:${PN}-qcom-adreno-a630 = "${PN}-qcom-license"
+RDEPENDS:${PN}-qcom-sdm845-audio = "${PN}-qcom-license"
+RDEPENDS:${PN}-qcom-sdm845-compute = "${PN}-qcom-license"
+RDEPENDS:${PN}-qcom-sdm845-modem = "${PN}-qcom-license"
+
+FILES:${PN}-liquidio = "${nonarch_base_libdir}/firmware/liquidio"
 
 # For Amlogic VDEC
-LICENSE_${PN}-amlogic-vdec = "Firmware-amlogic_vdec"
-FILES_${PN}-amlogic-vdec-license = "${nonarch_base_libdir}/firmware/LICENSE.amlogic_vdec"
-FILES_${PN}-amlogic-vdec = "${nonarch_base_libdir}/firmware/meson/vdec/*"
-RDEPENDS_${PN}-amlogic-vdec = "${PN}-amlogic-vdec-license"
+LICENSE:${PN}-amlogic-vdec = "Firmware-amlogic_vdec"
+FILES:${PN}-amlogic-vdec-license = "${nonarch_base_libdir}/firmware/LICENSE.amlogic_vdec"
+FILES:${PN}-amlogic-vdec = "${nonarch_base_libdir}/firmware/meson/vdec/*"
+RDEPENDS:${PN}-amlogic-vdec = "${PN}-amlogic-vdec-license"
 
 # For other firmwares
 # Maybe split out to separate packages when needed.
-LICENSE_${PN} = "\
+LICENSE:${PN} = "\
     Firmware-Abilis \
     & Firmware-agere \
     & Firmware-amdgpu \
@@ -1028,23 +1028,23 @@ LICENSE_${PN} = "\
     & WHENCE \
 "
 
-FILES_${PN}-license += "${nonarch_base_libdir}/firmware/LICEN*"
-FILES_${PN} += "${nonarch_base_libdir}/firmware/*"
-RDEPENDS_${PN} += "${PN}-license"
-RDEPENDS_${PN} += "${PN}-whence-license"
+FILES:${PN}-license += "${nonarch_base_libdir}/firmware/LICEN*"
+FILES:${PN} += "${nonarch_base_libdir}/firmware/*"
+RDEPENDS:${PN} += "${PN}-license"
+RDEPENDS:${PN} += "${PN}-whence-license"
 
 # Make linux-firmware depend on all of the split-out packages.
 # Make linux-firmware-iwlwifi depend on all of the split-out iwlwifi packages.
 # Make linux-firmware-ibt depend on all of the split-out ibt packages.
-python populate_packages_prepend () {
+python populate_packages:prepend () {
     firmware_pkgs = oe.utils.packages_filter_out_system(d)
-    d.appendVar('RRECOMMENDS_linux-firmware', ' ' + ' '.join(firmware_pkgs))
+    d.appendVar('RRECOMMENDS:linux-firmware', ' ' + ' '.join(firmware_pkgs))
 
     iwlwifi_pkgs = filter(lambda x: x.find('-iwlwifi-') != -1, firmware_pkgs)
-    d.appendVar('RRECOMMENDS_linux-firmware-iwlwifi', ' ' + ' '.join(iwlwifi_pkgs))
+    d.appendVar('RRECOMMENDS:linux-firmware-iwlwifi', ' ' + ' '.join(iwlwifi_pkgs))
 
     ibt_pkgs = filter(lambda x: x.find('-ibt-') != -1, firmware_pkgs)
-    d.appendVar('RRECOMMENDS_linux-firmware-ibt', ' ' + ' '.join(ibt_pkgs))
+    d.appendVar('RRECOMMENDS:linux-firmware-ibt', ' ' + ' '.join(ibt_pkgs))
 }
 
 # Firmware files are generally not ran on the CPU, so they can be
diff --git a/meta/recipes-kernel/linux-libc-headers/linux-libc-headers.inc b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers.inc
index 175b2d18194..3867d09d082 100644
--- a/meta/recipes-kernel/linux-libc-headers/linux-libc-headers.inc
+++ b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers.inc
@@ -75,15 +75,15 @@ do_install() {
 	find ${D}${includedir} -name ..install.cmd | xargs rm -f
 }
 
-do_install_append_aarch64 () {
+do_install:append:aarch64 () {
         do_install_armmultilib
 }
 
-do_install_append_arm () {
+do_install:append:arm () {
 	do_install_armmultilib
 }
 
-do_install_append_armeb () {
+do_install:append:armeb () {
 	do_install_armmultilib
 }
 
@@ -103,8 +103,8 @@ do_install_armmultilib () {
 
 BBCLASSEXTEND = "nativesdk"
 
-RDEPENDS_${PN}-dev = ""
-RRECOMMENDS_${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})"
+RDEPENDS:${PN}-dev = ""
+RRECOMMENDS:${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})"
 
 INHIBIT_DEFAULT_DEPS = "1"
 DEPENDS += "unifdef-native bison-native rsync-native"
diff --git a/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_5.13.bb b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_5.13.bb
index 251d00440d6..556ca07f2c0 100644
--- a/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_5.13.bb
+++ b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_5.13.bb
@@ -1,13 +1,13 @@
 require linux-libc-headers.inc
 
-SRC_URI_append_libc-musl = "\
+SRC_URI:append:libc-musl = "\
     file://0001-libc-compat.h-fix-some-issues-arising-from-in6.h.patch \
     file://0003-remove-inclusion-of-sysinfo.h-in-kernel.h.patch \
     file://0001-libc-compat.h-musl-_does_-define-IFF_LOWER_UP-DORMAN.patch \
     file://0001-include-linux-stddef.h-in-swab.h-uapi-header.patch \
    "
 
-SRC_URI_append = "\
+SRC_URI:append = "\
     file://0001-scripts-Use-fixed-input-and-output-files-instead-of-.patch \
     file://0001-kbuild-install_headers.sh-Strip-_UAPI-from-if-define.patch \
 "
diff --git a/meta/recipes-kernel/linux/kernel-devsrc.bb b/meta/recipes-kernel/linux/kernel-devsrc.bb
index 21b42833bae..3b5fdda7734 100644
--- a/meta/recipes-kernel/linux/kernel-devsrc.bb
+++ b/meta/recipes-kernel/linux/kernel-devsrc.bb
@@ -315,17 +315,17 @@ do_install() {
 # Ensure we don't race against "make scripts" during cpio
 do_install[lockfiles] = "${TMPDIR}/kernel-scripts.lock"
 
-FILES_${PN} = "${KERNEL_BUILD_ROOT} ${KERNEL_SRC_PATH}"
-FILES_${PN}-dbg += "${KERNEL_BUILD_ROOT}*/build/scripts/*/.debug/*"
+FILES:${PN} = "${KERNEL_BUILD_ROOT} ${KERNEL_SRC_PATH}"
+FILES:${PN}-dbg += "${KERNEL_BUILD_ROOT}*/build/scripts/*/.debug/*"
 
-RDEPENDS_${PN} = "bc python3 flex bison ${TCLIBC}-utils"
+RDEPENDS:${PN} = "bc python3 flex bison ${TCLIBC}-utils"
 # 4.15+ needs these next two RDEPENDS
-RDEPENDS_${PN} += "openssl-dev util-linux"
+RDEPENDS:${PN} += "openssl-dev util-linux"
 # and x86 needs a bit more for 4.15+
-RDEPENDS_${PN} += "${@bb.utils.contains('ARCH', 'x86', 'elfutils', '', d)}"
+RDEPENDS:${PN} += "${@bb.utils.contains('ARCH', 'x86', 'elfutils', '', d)}"
 # 5.8+ needs gcc-plugins libmpc-dev
-RDEPENDS_${PN} += "gcc-plugins libmpc-dev"
+RDEPENDS:${PN} += "gcc-plugins libmpc-dev"
 # 5.13+ needs awk for arm64
-RDEPENDS_${PN}_append_aarch64 = " gawk"
+RDEPENDS:${PN}:append:aarch64 = " gawk"
 # 5.13+ needs grep for powerpc
-RDEPENDS_${PN}_append_powerpc = " grep"
+RDEPENDS:${PN}:append:powerpc = " grep"
diff --git a/meta/recipes-kernel/linux/linux-dummy.bb b/meta/recipes-kernel/linux/linux-dummy.bb
index c56f8990de2..175e660687e 100644
--- a/meta/recipes-kernel/linux/linux-dummy.bb
+++ b/meta/recipes-kernel/linux/linux-dummy.bb
@@ -16,12 +16,12 @@ PACKAGES_DYNAMIC += "^kernel-image-.*"
 PACKAGES_DYNAMIC += "^kernel-firmware-.*"
 
 PACKAGES += "kernel-modules kernel-vmlinux"
-FILES_kernel-modules = ""
-ALLOW_EMPTY_kernel-modules = "1"
-DESCRIPTION_kernel-modules = "Kernel modules meta package"
-FILES_kernel-vmlinux = ""
-ALLOW_EMPTY_kernel-vmlinux = "1"
-DESCRIPTION_kernel-vmlinux = "Kernel vmlinux meta package"
+FILES:kernel-modules = ""
+ALLOW_EMPTY:kernel-modules = "1"
+DESCRIPTION:kernel-modules = "Kernel modules meta package"
+FILES:kernel-vmlinux = ""
+ALLOW_EMPTY:kernel-vmlinux = "1"
+DESCRIPTION:kernel-vmlinux = "Kernel vmlinux meta package"
 
 
 INHIBIT_DEFAULT_DEPS = "1"
diff --git a/meta/recipes-kernel/linux/linux-yocto-dev.bb b/meta/recipes-kernel/linux/linux-yocto-dev.bb
index f407882316e..28a255a0c01 100644
--- a/meta/recipes-kernel/linux/linux-yocto-dev.bb
+++ b/meta/recipes-kernel/linux/linux-yocto-dev.bb
@@ -41,16 +41,16 @@ DEPENDS += "openssl-native util-linux-native"
 
 COMPATIBLE_MACHINE = "(qemuarm|qemux86|qemuppc|qemumips|qemumips64|qemux86-64|qemuriscv64)"
 
-KERNEL_DEVICETREE_qemuarmv5 = "versatile-pb.dtb"
+KERNEL_DEVICETREE:qemuarmv5 = "versatile-pb.dtb"
 
 # Functionality flags
 KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc features/taskstats/taskstats.scc"
-KERNEL_FEATURES_append = " ${KERNEL_EXTRA_FEATURES}"
-KERNEL_FEATURES_append_qemuall=" cfg/virtio.scc features/drm-bochs/drm-bochs.scc"
-KERNEL_FEATURES_append_qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc"
-KERNEL_FEATURES_append_qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc"
-KERNEL_FEATURES_append = " ${@bb.utils.contains("TUNE_FEATURES", "mx32", " cfg/x32.scc", "", d)}"
-KERNEL_FEATURES_append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/scsi/scsi-debug.scc", "", d)}"
-KERNEL_FEATURES_append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/gpio/mockup.scc", "", d)}"
+KERNEL_FEATURES:append = " ${KERNEL_EXTRA_FEATURES}"
+KERNEL_FEATURES:append:qemuall=" cfg/virtio.scc features/drm-bochs/drm-bochs.scc"
+KERNEL_FEATURES:append:qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc"
+KERNEL_FEATURES:append:qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc"
+KERNEL_FEATURES:append = " ${@bb.utils.contains("TUNE_FEATURES", "mx32", " cfg/x32.scc", "", d)}"
+KERNEL_FEATURES:append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/scsi/scsi-debug.scc", "", d)}"
+KERNEL_FEATURES:append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/gpio/mockup.scc", "", d)}"
 
 KERNEL_VERSION_SANITY_SKIP = "1"
diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_5.10.bb b/meta/recipes-kernel/linux/linux-yocto-rt_5.10.bb
index 133b1f6fe35..d4046599928 100644
--- a/meta/recipes-kernel/linux/linux-yocto-rt_5.10.bb
+++ b/meta/recipes-kernel/linux/linux-yocto-rt_5.10.bb
@@ -33,13 +33,13 @@ LINUX_KERNEL_TYPE = "preempt-rt"
 
 COMPATIBLE_MACHINE = "(qemux86|qemux86-64|qemuarm|qemuarmv5|qemuarm64|qemuppc|qemumips)"
 
-KERNEL_DEVICETREE_qemuarmv5 = "versatile-pb.dtb"
+KERNEL_DEVICETREE:qemuarmv5 = "versatile-pb.dtb"
 
 # Functionality flags
 KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc features/taskstats/taskstats.scc"
-KERNEL_FEATURES_append = " ${KERNEL_EXTRA_FEATURES}"
-KERNEL_FEATURES_append_qemuall=" cfg/virtio.scc features/drm-bochs/drm-bochs.scc"
-KERNEL_FEATURES_append_qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc"
-KERNEL_FEATURES_append_qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc"
-KERNEL_FEATURES_append = "${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/scsi/scsi-debug.scc", "", d)}"
-KERNEL_FEATURES_append = "${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/gpio/mockup.scc", "", d)}"
+KERNEL_FEATURES:append = " ${KERNEL_EXTRA_FEATURES}"
+KERNEL_FEATURES:append:qemuall=" cfg/virtio.scc features/drm-bochs/drm-bochs.scc"
+KERNEL_FEATURES:append:qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc"
+KERNEL_FEATURES:append:qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc"
+KERNEL_FEATURES:append = "${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/scsi/scsi-debug.scc", "", d)}"
+KERNEL_FEATURES:append = "${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/gpio/mockup.scc", "", d)}"
diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_5.13.bb b/meta/recipes-kernel/linux/linux-yocto-rt_5.13.bb
index adcc84bd4a3..d7916a56794 100644
--- a/meta/recipes-kernel/linux/linux-yocto-rt_5.13.bb
+++ b/meta/recipes-kernel/linux/linux-yocto-rt_5.13.bb
@@ -33,13 +33,13 @@ LINUX_KERNEL_TYPE = "preempt-rt"
 
 COMPATIBLE_MACHINE = "(qemux86|qemux86-64|qemuarm|qemuarmv5|qemuarm64|qemuppc|qemumips)"
 
-KERNEL_DEVICETREE_qemuarmv5 = "versatile-pb.dtb"
+KERNEL_DEVICETREE:qemuarmv5 = "versatile-pb.dtb"
 
 # Functionality flags
 KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc features/taskstats/taskstats.scc"
-KERNEL_FEATURES_append = " ${KERNEL_EXTRA_FEATURES}"
-KERNEL_FEATURES_append_qemuall=" cfg/virtio.scc features/drm-bochs/drm-bochs.scc"
-KERNEL_FEATURES_append_qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc"
-KERNEL_FEATURES_append_qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc"
-KERNEL_FEATURES_append = "${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/scsi/scsi-debug.scc", "", d)}"
-KERNEL_FEATURES_append = "${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/gpio/mockup.scc", "", d)}"
+KERNEL_FEATURES:append = " ${KERNEL_EXTRA_FEATURES}"
+KERNEL_FEATURES:append:qemuall=" cfg/virtio.scc features/drm-bochs/drm-bochs.scc"
+KERNEL_FEATURES:append:qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc"
+KERNEL_FEATURES:append:qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc"
+KERNEL_FEATURES:append = "${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/scsi/scsi-debug.scc", "", d)}"
+KERNEL_FEATURES:append = "${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/gpio/mockup.scc", "", d)}"
diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_5.4.bb b/meta/recipes-kernel/linux/linux-yocto-rt_5.4.bb
index a975004d764..2e55e283971 100644
--- a/meta/recipes-kernel/linux/linux-yocto-rt_5.4.bb
+++ b/meta/recipes-kernel/linux/linux-yocto-rt_5.4.bb
@@ -33,13 +33,13 @@ LINUX_KERNEL_TYPE = "preempt-rt"
 
 COMPATIBLE_MACHINE = "(qemux86|qemux86-64|qemuarm|qemuarmv5|qemuarm64|qemuppc|qemumips)"
 
-KERNEL_DEVICETREE_qemuarmv5 = "versatile-pb.dtb"
+KERNEL_DEVICETREE:qemuarmv5 = "versatile-pb.dtb"
 
 # Functionality flags
 KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc features/taskstats/taskstats.scc"
-KERNEL_FEATURES_append = " ${KERNEL_EXTRA_FEATURES}"
-KERNEL_FEATURES_append_qemuall=" cfg/virtio.scc features/drm-bochs/drm-bochs.scc"
-KERNEL_FEATURES_append_qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc"
-KERNEL_FEATURES_append_qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc"
-KERNEL_FEATURES_append = "${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/scsi/scsi-debug.scc", "", d)}"
-KERNEL_FEATURES_append = "${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/gpio/mockup.scc", "", d)}"
+KERNEL_FEATURES:append = " ${KERNEL_EXTRA_FEATURES}"
+KERNEL_FEATURES:append:qemuall=" cfg/virtio.scc features/drm-bochs/drm-bochs.scc"
+KERNEL_FEATURES:append:qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc"
+KERNEL_FEATURES:append:qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc"
+KERNEL_FEATURES:append = "${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/scsi/scsi-debug.scc", "", d)}"
+KERNEL_FEATURES:append = "${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/gpio/mockup.scc", "", d)}"
diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny_5.10.bb b/meta/recipes-kernel/linux/linux-yocto-tiny_5.10.bb
index 238123a42fe..c66d5072f45 100644
--- a/meta/recipes-kernel/linux/linux-yocto-tiny_5.10.bb
+++ b/meta/recipes-kernel/linux/linux-yocto-tiny_5.10.bb
@@ -1,5 +1,5 @@
 KBRANCH ?= "v5.10/standard/tiny/base"
-KBRANCH_qemuarm  ?= "v5.10/standard/tiny/arm-versatile-926ejs"
+KBRANCH:qemuarm  ?= "v5.10/standard/tiny/arm-versatile-926ejs"
 
 LINUX_KERNEL_TYPE = "tiny"
 KCONFIG_MODE = "--allnoconfig"
@@ -15,7 +15,7 @@ DEPENDS += "openssl-native util-linux-native"
 KMETA = "kernel-meta"
 KCONF_BSP_AUDIT_LEVEL = "2"
 
-SRCREV_machine_qemuarm ?= "faa3b7802d0ee1fe0217283ecaf2c54c9503fa20"
+SRCREV_machine:qemuarm ?= "faa3b7802d0ee1fe0217283ecaf2c54c9503fa20"
 SRCREV_machine ?= "240422889570d39c3f7d63808159c8e743117a1d"
 SRCREV_meta ?= "c3900f83a5679b563adff82c24fdeb02096ed736"
 
@@ -29,4 +29,4 @@ COMPATIBLE_MACHINE = "qemux86|qemux86-64|qemuarm|qemuarmv5"
 # Functionality flags
 KERNEL_FEATURES = ""
 
-KERNEL_DEVICETREE_qemuarmv5 = "versatile-pb.dtb"
+KERNEL_DEVICETREE:qemuarmv5 = "versatile-pb.dtb"
diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny_5.13.bb b/meta/recipes-kernel/linux/linux-yocto-tiny_5.13.bb
index 6598684bbb9..2f9478baa9e 100644
--- a/meta/recipes-kernel/linux/linux-yocto-tiny_5.13.bb
+++ b/meta/recipes-kernel/linux/linux-yocto-tiny_5.13.bb
@@ -1,5 +1,5 @@
 KBRANCH ?= "v5.13/standard/tiny/base"
-KBRANCH_qemuarm  ?= "v5.13/standard/tiny/arm-versatile-926ejs"
+KBRANCH:qemuarm  ?= "v5.13/standard/tiny/arm-versatile-926ejs"
 
 LINUX_KERNEL_TYPE = "tiny"
 KCONFIG_MODE = "--allnoconfig"
@@ -15,7 +15,7 @@ DEPENDS += "openssl-native util-linux-native"
 KMETA = "kernel-meta"
 KCONF_BSP_AUDIT_LEVEL = "2"
 
-SRCREV_machine_qemuarm ?= "e394a72e8bc77484bf7bae8c842c75b23cc3dd63"
+SRCREV_machine:qemuarm ?= "e394a72e8bc77484bf7bae8c842c75b23cc3dd63"
 SRCREV_machine ?= "7275d462cec720120d1767e277a2525d88901c80"
 SRCREV_meta ?= "ab5f1940535350791d2e111e0e16b08be277568d"
 
@@ -29,4 +29,4 @@ COMPATIBLE_MACHINE = "qemux86|qemux86-64|qemuarm|qemuarmv5"
 # Functionality flags
 KERNEL_FEATURES = ""
 
-KERNEL_DEVICETREE_qemuarmv5 = "versatile-pb.dtb"
+KERNEL_DEVICETREE:qemuarmv5 = "versatile-pb.dtb"
diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny_5.4.bb b/meta/recipes-kernel/linux/linux-yocto-tiny_5.4.bb
index 95ead533d12..99149868225 100644
--- a/meta/recipes-kernel/linux/linux-yocto-tiny_5.4.bb
+++ b/meta/recipes-kernel/linux/linux-yocto-tiny_5.4.bb
@@ -1,5 +1,5 @@
 KBRANCH ?= "v5.4/standard/tiny/base"
-KBRANCH_qemuarm  ?= "v5.4/standard/tiny/arm-versatile-926ejs"
+KBRANCH:qemuarm  ?= "v5.4/standard/tiny/arm-versatile-926ejs"
 
 LINUX_KERNEL_TYPE = "tiny"
 KCONFIG_MODE = "--allnoconfig"
@@ -15,7 +15,7 @@ DEPENDS += "openssl-native util-linux-native"
 KMETA = "kernel-meta"
 KCONF_BSP_AUDIT_LEVEL = "2"
 
-SRCREV_machine_qemuarm ?= "86c31c51c87557af60e4d4dbee73f18618bc4c92"
+SRCREV_machine:qemuarm ?= "86c31c51c87557af60e4d4dbee73f18618bc4c92"
 SRCREV_machine ?= "bf89a54b3f77fbac15dd0194870db288aee5c8b7"
 SRCREV_meta ?= "d6aec4fb69bae34f34db6f153871a0847d8198f3"
 
@@ -29,4 +29,4 @@ COMPATIBLE_MACHINE = "qemux86|qemux86-64|qemuarm|qemuarmv5"
 # Functionality flags
 KERNEL_FEATURES = ""
 
-KERNEL_DEVICETREE_qemuarmv5 = "versatile-pb.dtb"
+KERNEL_DEVICETREE:qemuarmv5 = "versatile-pb.dtb"
diff --git a/meta/recipes-kernel/linux/linux-yocto.inc b/meta/recipes-kernel/linux/linux-yocto.inc
index eb3081ee31c..331727d62c3 100644
--- a/meta/recipes-kernel/linux/linux-yocto.inc
+++ b/meta/recipes-kernel/linux/linux-yocto.inc
@@ -19,22 +19,22 @@ python () {
 }
 
 DEPENDS += "xz-native bc-native"
-DEPENDS_append_aarch64 = " libgcc"
-KERNEL_CC_append_aarch64 = " ${TOOLCHAIN_OPTIONS}"
-KERNEL_LD_append_aarch64 = " ${TOOLCHAIN_OPTIONS}"
+DEPENDS:append:aarch64 = " libgcc"
+KERNEL_CC:append:aarch64 = " ${TOOLCHAIN_OPTIONS}"
+KERNEL_LD:append:aarch64 = " ${TOOLCHAIN_OPTIONS}"
 
-DEPENDS_append_nios2 = " libgcc"
-KERNEL_CC_append_nios2 = " ${TOOLCHAIN_OPTIONS}"
-KERNEL_LD_append_nios2 = " ${TOOLCHAIN_OPTIONS}"
+DEPENDS:append:nios2 = " libgcc"
+KERNEL_CC:append:nios2 = " ${TOOLCHAIN_OPTIONS}"
+KERNEL_LD:append:nios2 = " ${TOOLCHAIN_OPTIONS}"
 
-DEPENDS_append_arc = " libgcc"
-KERNEL_CC_append_arc = " ${TOOLCHAIN_OPTIONS}"
-KERNEL_LD_append_arc = " ${TOOLCHAIN_OPTIONS}"
+DEPENDS:append:arc = " libgcc"
+KERNEL_CC:append:arc = " ${TOOLCHAIN_OPTIONS}"
+KERNEL_LD:append:arc = " ${TOOLCHAIN_OPTIONS}"
 
-KERNEL_FEATURES_append_qemuall=" features/debug/printk.scc"
+KERNEL_FEATURES:append:qemuall=" features/debug/printk.scc"
 
-KERNEL_FEATURES_append = " ${@bb.utils.contains('MACHINE_FEATURES', 'numa', 'features/numa/numa.scc', '', d)}"
-KERNEL_FEATURES_append = " ${@bb.utils.contains('MACHINE_FEATURES', 'vfat', 'cfg/fs/vfat.scc', '', d)}"
+KERNEL_FEATURES:append = " ${@bb.utils.contains('MACHINE_FEATURES', 'numa', 'features/numa/numa.scc', '', d)}"
+KERNEL_FEATURES:append = " ${@bb.utils.contains('MACHINE_FEATURES', 'vfat', 'cfg/fs/vfat.scc', '', d)}"
 
 # A KMACHINE is the mapping of a yocto $MACHINE to what is built
 # by the kernel. This is typically the branch that should be built,
@@ -49,11 +49,11 @@ inherit kernel-yocto
 
 B = "${WORKDIR}/linux-${PACKAGE_ARCH}-${LINUX_KERNEL_TYPE}-build"
 
-do_install_append(){
+do_install:append(){
 	if [ -n "${KMETA}" ]; then
 		rm -rf ${STAGING_KERNEL_DIR}/${KMETA}
 	fi
 }
 
 # enable kernel-sample for oeqa/runtime/cases's ksample.py test
-KERNEL_FEATURES_append_qemuall=" features/kernel-sample/kernel-sample.scc"
+KERNEL_FEATURES:append:qemuall=" features/kernel-sample/kernel-sample.scc"
diff --git a/meta/recipes-kernel/linux/linux-yocto_5.10.bb b/meta/recipes-kernel/linux/linux-yocto_5.10.bb
index 40a2a5e3b2a..ca4aff8b429 100644
--- a/meta/recipes-kernel/linux/linux-yocto_5.10.bb
+++ b/meta/recipes-kernel/linux/linux-yocto_5.10.bb
@@ -3,30 +3,30 @@ KBRANCH ?= "v5.10/standard/base"
 require recipes-kernel/linux/linux-yocto.inc
 
 # board specific branches
-KBRANCH_qemuarm  ?= "v5.10/standard/arm-versatile-926ejs"
-KBRANCH_qemuarm64 ?= "v5.10/standard/qemuarm64"
-KBRANCH_qemumips ?= "v5.10/standard/mti-malta32"
-KBRANCH_qemuppc  ?= "v5.10/standard/qemuppc"
-KBRANCH_qemuriscv64  ?= "v5.10/standard/base"
-KBRANCH_qemuriscv32  ?= "v5.10/standard/base"
-KBRANCH_qemux86  ?= "v5.10/standard/base"
-KBRANCH_qemux86-64 ?= "v5.10/standard/base"
-KBRANCH_qemumips64 ?= "v5.10/standard/mti-malta64"
-
-SRCREV_machine_qemuarm ?= "96a6083817785461bcabad63f3872d0a08b21c29"
-SRCREV_machine_qemuarm64 ?= "c8d8b20a749f476020d0844d76f63cd9e4cca644"
-SRCREV_machine_qemumips ?= "acdebd5080a846f3906ba1d5343d5af5c4b76522"
-SRCREV_machine_qemuppc ?= "afd31d567447f4693b7c9af35f09bb37cc0c0fa4"
-SRCREV_machine_qemuriscv64 ?= "c2dc854ee7392d43728093bfc206a2ade98c76dd"
-SRCREV_machine_qemuriscv32 ?= "c2dc854ee7392d43728093bfc206a2ade98c76dd"
-SRCREV_machine_qemux86 ?= "c2dc854ee7392d43728093bfc206a2ade98c76dd"
-SRCREV_machine_qemux86-64 ?= "c2dc854ee7392d43728093bfc206a2ade98c76dd"
-SRCREV_machine_qemumips64 ?= "efad0ca4150cddffa6d052ffb53fec0553de4da8"
+KBRANCH:qemuarm  ?= "v5.10/standard/arm-versatile-926ejs"
+KBRANCH:qemuarm64 ?= "v5.10/standard/qemuarm64"
+KBRANCH:qemumips ?= "v5.10/standard/mti-malta32"
+KBRANCH:qemuppc  ?= "v5.10/standard/qemuppc"
+KBRANCH:qemuriscv64  ?= "v5.10/standard/base"
+KBRANCH:qemuriscv32  ?= "v5.10/standard/base"
+KBRANCH:qemux86  ?= "v5.10/standard/base"
+KBRANCH:qemux86-64 ?= "v5.10/standard/base"
+KBRANCH:qemumips64 ?= "v5.10/standard/mti-malta64"
+
+SRCREV_machine:qemuarm ?= "96a6083817785461bcabad63f3872d0a08b21c29"
+SRCREV_machine:qemuarm64 ?= "c8d8b20a749f476020d0844d76f63cd9e4cca644"
+SRCREV_machine:qemumips ?= "acdebd5080a846f3906ba1d5343d5af5c4b76522"
+SRCREV_machine:qemuppc ?= "afd31d567447f4693b7c9af35f09bb37cc0c0fa4"
+SRCREV_machine:qemuriscv64 ?= "c2dc854ee7392d43728093bfc206a2ade98c76dd"
+SRCREV_machine:qemuriscv32 ?= "c2dc854ee7392d43728093bfc206a2ade98c76dd"
+SRCREV_machine:qemux86 ?= "c2dc854ee7392d43728093bfc206a2ade98c76dd"
+SRCREV_machine:qemux86-64 ?= "c2dc854ee7392d43728093bfc206a2ade98c76dd"
+SRCREV_machine:qemumips64 ?= "efad0ca4150cddffa6d052ffb53fec0553de4da8"
 SRCREV_machine ?= "c2dc854ee7392d43728093bfc206a2ade98c76dd"
 SRCREV_meta ?= "c3900f83a5679b563adff82c24fdeb02096ed736"
 
 # remap qemuarm to qemuarma15 for the 5.8 kernel
-# KMACHINE_qemuarm ?= "qemuarma15"
+# KMACHINE:qemuarm ?= "qemuarma15"
 
 SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;name=machine;branch=${KBRANCH}; \
            git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.10;destsuffix=${KMETA}"
@@ -43,16 +43,16 @@ PV = "${LINUX_VERSION}+git${SRCPV}"
 KMETA = "kernel-meta"
 KCONF_BSP_AUDIT_LEVEL = "1"
 
-KERNEL_DEVICETREE_qemuarmv5 = "versatile-pb.dtb"
+KERNEL_DEVICETREE:qemuarmv5 = "versatile-pb.dtb"
 
 COMPATIBLE_MACHINE = "qemuarm|qemuarmv5|qemuarm64|qemux86|qemuppc|qemuppc64|qemumips|qemumips64|qemux86-64|qemuriscv64|qemuriscv32"
 
 # Functionality flags
 KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc"
-KERNEL_FEATURES_append = " ${KERNEL_EXTRA_FEATURES}"
-KERNEL_FEATURES_append_qemuall=" cfg/virtio.scc features/drm-bochs/drm-bochs.scc"
-KERNEL_FEATURES_append_qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc"
-KERNEL_FEATURES_append_qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc"
-KERNEL_FEATURES_append = " ${@bb.utils.contains("TUNE_FEATURES", "mx32", " cfg/x32.scc", "", d)}"
-KERNEL_FEATURES_append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/scsi/scsi-debug.scc", "", d)}"
-KERNEL_FEATURES_append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/gpio/mockup.scc", "", d)}"
+KERNEL_FEATURES:append = " ${KERNEL_EXTRA_FEATURES}"
+KERNEL_FEATURES:append:qemuall=" cfg/virtio.scc features/drm-bochs/drm-bochs.scc"
+KERNEL_FEATURES:append:qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc"
+KERNEL_FEATURES:append:qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc"
+KERNEL_FEATURES:append = " ${@bb.utils.contains("TUNE_FEATURES", "mx32", " cfg/x32.scc", "", d)}"
+KERNEL_FEATURES:append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/scsi/scsi-debug.scc", "", d)}"
+KERNEL_FEATURES:append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/gpio/mockup.scc", "", d)}"
diff --git a/meta/recipes-kernel/linux/linux-yocto_5.13.bb b/meta/recipes-kernel/linux/linux-yocto_5.13.bb
index 497c3307d5d..f4c7f31c1ef 100644
--- a/meta/recipes-kernel/linux/linux-yocto_5.13.bb
+++ b/meta/recipes-kernel/linux/linux-yocto_5.13.bb
@@ -3,25 +3,25 @@ KBRANCH ?= "v5.13/standard/base"
 require recipes-kernel/linux/linux-yocto.inc
 
 # board specific branches
-KBRANCH_qemuarm  ?= "v5.13/standard/arm-versatile-926ejs"
-KBRANCH_qemuarm64 ?= "v5.13/standard/qemuarm64"
-KBRANCH_qemumips ?= "v5.13/standard/mti-malta32"
-KBRANCH_qemuppc  ?= "v5.13/standard/qemuppc"
-KBRANCH_qemuriscv64  ?= "v5.13/standard/base"
-KBRANCH_qemuriscv32  ?= "v5.13/standard/base"
-KBRANCH_qemux86  ?= "v5.13/standard/base"
-KBRANCH_qemux86-64 ?= "v5.13/standard/base"
-KBRANCH_qemumips64 ?= "v5.13/standard/mti-malta64"
+KBRANCH:qemuarm  ?= "v5.13/standard/arm-versatile-926ejs"
+KBRANCH:qemuarm64 ?= "v5.13/standard/qemuarm64"
+KBRANCH:qemumips ?= "v5.13/standard/mti-malta32"
+KBRANCH:qemuppc  ?= "v5.13/standard/qemuppc"
+KBRANCH:qemuriscv64  ?= "v5.13/standard/base"
+KBRANCH:qemuriscv32  ?= "v5.13/standard/base"
+KBRANCH:qemux86  ?= "v5.13/standard/base"
+KBRANCH:qemux86-64 ?= "v5.13/standard/base"
+KBRANCH:qemumips64 ?= "v5.13/standard/mti-malta64"
 
-SRCREV_machine_qemuarm ?= "dc19ba17f4d43a220ae8129312703add02d03d1e"
-SRCREV_machine_qemuarm64 ?= "1e086c08b65e8bd1f45f01fd8026599a62deb6c0"
-SRCREV_machine_qemumips ?= "4dd19bc8178a6100a2cb9ffd8364e359230253c8"
-SRCREV_machine_qemuppc ?= "73c8e406db9beb3a99a5dd3ea67824f0e3c0d7a8"
-SRCREV_machine_qemuriscv64 ?= "5e41c505c6057535da2c289d2cc2fec1f64a5068"
-SRCREV_machine_qemuriscv32 ?= "5e41c505c6057535da2c289d2cc2fec1f64a5068"
-SRCREV_machine_qemux86 ?= "5e41c505c6057535da2c289d2cc2fec1f64a5068"
-SRCREV_machine_qemux86-64 ?= "5e41c505c6057535da2c289d2cc2fec1f64a5068"
-SRCREV_machine_qemumips64 ?= "0632623fd488acc7c78a4f48d4630caba5e6044e"
+SRCREV_machine:qemuarm ?= "dc19ba17f4d43a220ae8129312703add02d03d1e"
+SRCREV_machine:qemuarm64 ?= "1e086c08b65e8bd1f45f01fd8026599a62deb6c0"
+SRCREV_machine:qemumips ?= "4dd19bc8178a6100a2cb9ffd8364e359230253c8"
+SRCREV_machine:qemuppc ?= "73c8e406db9beb3a99a5dd3ea67824f0e3c0d7a8"
+SRCREV_machine:qemuriscv64 ?= "5e41c505c6057535da2c289d2cc2fec1f64a5068"
+SRCREV_machine:qemuriscv32 ?= "5e41c505c6057535da2c289d2cc2fec1f64a5068"
+SRCREV_machine:qemux86 ?= "5e41c505c6057535da2c289d2cc2fec1f64a5068"
+SRCREV_machine:qemux86-64 ?= "5e41c505c6057535da2c289d2cc2fec1f64a5068"
+SRCREV_machine:qemumips64 ?= "0632623fd488acc7c78a4f48d4630caba5e6044e"
 SRCREV_machine ?= "5e41c505c6057535da2c289d2cc2fec1f64a5068"
 SRCREV_meta ?= "ab5f1940535350791d2e111e0e16b08be277568d"
 
@@ -30,13 +30,13 @@ SRCREV_meta ?= "ab5f1940535350791d2e111e0e16b08be277568d"
 # meta SRCREV as the linux-yocto-standard builds. Select your version using the
 # normal PREFERRED_VERSION settings.
 BBCLASSEXTEND = "devupstream:target"
-DEFAULT_PREFERENCE_class-devupstream = "-1"
-SRCREV_machine_class-devupstream ?= "64376a981a0e2e57c46efa63197c2ebb7dab35df"
-PN_class-devupstream = "linux-yocto-upstream"
-KBRANCH_class-devupstream = "v5.13/base"
+DEFAULT_PREFERENCE:class-devupstream = "-1"
+SRCREV_machine:class-devupstream ?= "64376a981a0e2e57c46efa63197c2ebb7dab35df"
+PN:class-devupstream = "linux-yocto-upstream"
+KBRANCH:class-devupstream = "v5.13/base"
 
 # remap qemuarm to qemuarma15 for the 5.8 kernel
-# KMACHINE_qemuarm ?= "qemuarma15"
+# KMACHINE:qemuarm ?= "qemuarma15"
 
 SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;name=machine;branch=${KBRANCH}; \
            git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.13;destsuffix=${KMETA}"
@@ -53,16 +53,16 @@ PV = "${LINUX_VERSION}+git${SRCPV}"
 KMETA = "kernel-meta"
 KCONF_BSP_AUDIT_LEVEL = "1"
 
-KERNEL_DEVICETREE_qemuarmv5 = "versatile-pb.dtb"
+KERNEL_DEVICETREE:qemuarmv5 = "versatile-pb.dtb"
 
 COMPATIBLE_MACHINE = "qemuarm|qemuarmv5|qemuarm64|qemux86|qemuppc|qemuppc64|qemumips|qemumips64|qemux86-64|qemuriscv64|qemuriscv32"
 
 # Functionality flags
 KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc"
-KERNEL_FEATURES_append = " ${KERNEL_EXTRA_FEATURES}"
-KERNEL_FEATURES_append_qemuall=" cfg/virtio.scc features/drm-bochs/drm-bochs.scc"
-KERNEL_FEATURES_append_qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc"
-KERNEL_FEATURES_append_qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc"
-KERNEL_FEATURES_append = " ${@bb.utils.contains("TUNE_FEATURES", "mx32", " cfg/x32.scc", "", d)}"
-KERNEL_FEATURES_append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/scsi/scsi-debug.scc", "", d)}"
-KERNEL_FEATURES_append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/gpio/mockup.scc", "", d)}"
+KERNEL_FEATURES:append = " ${KERNEL_EXTRA_FEATURES}"
+KERNEL_FEATURES:append:qemuall=" cfg/virtio.scc features/drm-bochs/drm-bochs.scc"
+KERNEL_FEATURES:append:qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc"
+KERNEL_FEATURES:append:qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc"
+KERNEL_FEATURES:append = " ${@bb.utils.contains("TUNE_FEATURES", "mx32", " cfg/x32.scc", "", d)}"
+KERNEL_FEATURES:append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/scsi/scsi-debug.scc", "", d)}"
+KERNEL_FEATURES:append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/gpio/mockup.scc", "", d)}"
diff --git a/meta/recipes-kernel/linux/linux-yocto_5.4.bb b/meta/recipes-kernel/linux/linux-yocto_5.4.bb
index 90a557bb636..a6bcc81726f 100644
--- a/meta/recipes-kernel/linux/linux-yocto_5.4.bb
+++ b/meta/recipes-kernel/linux/linux-yocto_5.4.bb
@@ -3,28 +3,28 @@ KBRANCH ?= "v5.4/standard/base"
 require recipes-kernel/linux/linux-yocto.inc
 
 # board specific branches
-KBRANCH_qemuarm  ?= "v5.4/standard/arm-versatile-926ejs"
-KBRANCH_qemuarm64 ?= "v5.4/standard/qemuarm64"
-KBRANCH_qemumips ?= "v5.4/standard/mti-malta32"
-KBRANCH_qemuppc  ?= "v5.4/standard/qemuppc"
-KBRANCH_qemuriscv64  ?= "v5.4/standard/base"
-KBRANCH_qemux86  ?= "v5.4/standard/base"
-KBRANCH_qemux86-64 ?= "v5.4/standard/base"
-KBRANCH_qemumips64 ?= "v5.4/standard/mti-malta64"
-
-SRCREV_machine_qemuarm ?= "bea52ab7529ef152f99a0f6ebd97cc7e904e5360"
-SRCREV_machine_qemuarm64 ?= "8a29c9de0fc366bd89ce6954685dce0e330dbabe"
-SRCREV_machine_qemumips ?= "b15816ccad0762d27c78c269e7a1986504e60c63"
-SRCREV_machine_qemuppc ?= "906f9509a8d2f842ec8766bf81287f8939ff1fa8"
-SRCREV_machine_qemuriscv64 ?= "dd8a64a523fb714a98328441e0de72cde115a6fc"
-SRCREV_machine_qemux86 ?= "dd8a64a523fb714a98328441e0de72cde115a6fc"
-SRCREV_machine_qemux86-64 ?= "dd8a64a523fb714a98328441e0de72cde115a6fc"
-SRCREV_machine_qemumips64 ?= "152e33a0782920e9707c36ccacf53585a8911e9f"
+KBRANCH:qemuarm  ?= "v5.4/standard/arm-versatile-926ejs"
+KBRANCH:qemuarm64 ?= "v5.4/standard/qemuarm64"
+KBRANCH:qemumips ?= "v5.4/standard/mti-malta32"
+KBRANCH:qemuppc  ?= "v5.4/standard/qemuppc"
+KBRANCH:qemuriscv64  ?= "v5.4/standard/base"
+KBRANCH:qemux86  ?= "v5.4/standard/base"
+KBRANCH:qemux86-64 ?= "v5.4/standard/base"
+KBRANCH:qemumips64 ?= "v5.4/standard/mti-malta64"
+
+SRCREV_machine:qemuarm ?= "bea52ab7529ef152f99a0f6ebd97cc7e904e5360"
+SRCREV_machine:qemuarm64 ?= "8a29c9de0fc366bd89ce6954685dce0e330dbabe"
+SRCREV_machine:qemumips ?= "b15816ccad0762d27c78c269e7a1986504e60c63"
+SRCREV_machine:qemuppc ?= "906f9509a8d2f842ec8766bf81287f8939ff1fa8"
+SRCREV_machine:qemuriscv64 ?= "dd8a64a523fb714a98328441e0de72cde115a6fc"
+SRCREV_machine:qemux86 ?= "dd8a64a523fb714a98328441e0de72cde115a6fc"
+SRCREV_machine:qemux86-64 ?= "dd8a64a523fb714a98328441e0de72cde115a6fc"
+SRCREV_machine:qemumips64 ?= "152e33a0782920e9707c36ccacf53585a8911e9f"
 SRCREV_machine ?= "dd8a64a523fb714a98328441e0de72cde115a6fc"
 SRCREV_meta ?= "d6aec4fb69bae34f34db6f153871a0847d8198f3"
 
 # remap qemuarm to qemuarma15 for the 5.4 kernel
-# KMACHINE_qemuarm ?= "qemuarma15"
+# KMACHINE:qemuarm ?= "qemuarma15"
 
 SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;name=machine;branch=${KBRANCH}; \
            git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.4;destsuffix=${KMETA}"
@@ -40,16 +40,16 @@ PV = "${LINUX_VERSION}+git${SRCPV}"
 KMETA = "kernel-meta"
 KCONF_BSP_AUDIT_LEVEL = "1"
 
-KERNEL_DEVICETREE_qemuarmv5 = "versatile-pb.dtb"
+KERNEL_DEVICETREE:qemuarmv5 = "versatile-pb.dtb"
 
 COMPATIBLE_MACHINE = "qemuarm|qemuarmv5|qemuarm64|qemux86|qemuppc|qemumips|qemumips64|qemux86-64|qemuriscv64"
 
 # Functionality flags
 KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc"
-KERNEL_FEATURES_append = " ${KERNEL_EXTRA_FEATURES}"
-KERNEL_FEATURES_append_qemuall=" cfg/virtio.scc features/drm-bochs/drm-bochs.scc"
-KERNEL_FEATURES_append_qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc"
-KERNEL_FEATURES_append_qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc"
-KERNEL_FEATURES_append = " ${@bb.utils.contains("TUNE_FEATURES", "mx32", " cfg/x32.scc", "", d)}"
-KERNEL_FEATURES_append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/scsi/scsi-debug.scc", "", d)}"
-KERNEL_FEATURES_append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/gpio/mockup.scc", "", d)}"
+KERNEL_FEATURES:append = " ${KERNEL_EXTRA_FEATURES}"
+KERNEL_FEATURES:append:qemuall=" cfg/virtio.scc features/drm-bochs/drm-bochs.scc"
+KERNEL_FEATURES:append:qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc"
+KERNEL_FEATURES:append:qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc"
+KERNEL_FEATURES:append = " ${@bb.utils.contains("TUNE_FEATURES", "mx32", " cfg/x32.scc", "", d)}"
+KERNEL_FEATURES:append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/scsi/scsi-debug.scc", "", d)}"
+KERNEL_FEATURES:append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/gpio/mockup.scc", "", d)}"
diff --git a/meta/recipes-kernel/lttng/babeltrace2_2.0.4.bb b/meta/recipes-kernel/lttng/babeltrace2_2.0.4.bb
index 7fb524eeb00..2aafe817345 100644
--- a/meta/recipes-kernel/lttng/babeltrace2_2.0.4.bb
+++ b/meta/recipes-kernel/lttng/babeltrace2_2.0.4.bb
@@ -24,12 +24,12 @@ EXTRA_OECONF = "--disable-debug-info"
 PACKAGECONFIG ??= "manpages"
 PACKAGECONFIG[manpages] = ", --disable-man-pages, asciidoc-native xmlto-native"
 
-FILES_${PN}-staticdev += "${libdir}/babeltrace2/plugins/*.a"
-FILES_${PN} += "${libdir}/babeltrace2/plugins/*.so"
+FILES:${PN}-staticdev += "${libdir}/babeltrace2/plugins/*.a"
+FILES:${PN} += "${libdir}/babeltrace2/plugins/*.so"
 
 ASNEEDED = ""
 
-RDEPENDS_${PN}-ptest += "bash gawk python3"
+RDEPENDS:${PN}-ptest += "bash gawk python3"
 
 do_compile_ptest () {
     make -C tests all
diff --git a/meta/recipes-kernel/lttng/babeltrace_1.5.8.bb b/meta/recipes-kernel/lttng/babeltrace_1.5.8.bb
index 9e5d3a7a978..9f8b0351283 100644
--- a/meta/recipes-kernel/lttng/babeltrace_1.5.8.bb
+++ b/meta/recipes-kernel/lttng/babeltrace_1.5.8.bb
@@ -21,7 +21,7 @@ EXTRA_OECONF = "--disable-debug-info"
 
 ASNEEDED = ""
 
-RDEPENDS_${PN}-ptest += "bash gawk"
+RDEPENDS:${PN}-ptest += "bash gawk"
 
 addtask do_patch_ptest_path after do_patch before do_configure
 do_patch_ptest_path () {
diff --git a/meta/recipes-kernel/lttng/lttng-modules_2.12.6.bb b/meta/recipes-kernel/lttng/lttng-modules_2.12.6.bb
index 94e849de599..c46faaee58e 100644
--- a/meta/recipes-kernel/lttng/lttng-modules_2.12.6.bb
+++ b/meta/recipes-kernel/lttng/lttng-modules_2.12.6.bb
@@ -19,24 +19,24 @@ export INSTALL_MOD_DIR="kernel/lttng-modules"
 
 EXTRA_OEMAKE += "KERNELDIR='${STAGING_KERNEL_DIR}'"
 
-do_install_append() {
+do_install:append() {
 	# Delete empty directories to avoid QA failures if no modules were built
 	find ${D}/${nonarch_base_libdir} -depth -type d -empty -exec rmdir {} \;
 }
 
-python do_package_prepend() {
+python do_package:prepend() {
     if not os.path.exists(os.path.join(d.getVar('D'), d.getVar('nonarch_base_libdir')[1:], 'modules')):
         bb.warn("%s: no modules were created; this may be due to CONFIG_TRACEPOINTS not being enabled in your kernel." % d.getVar('PN'))
 }
 
 BBCLASSEXTEND = "devupstream:target"
-LIC_FILES_CHKSUM_class-devupstream = "file://LICENSE;md5=0464cff101a009c403cd2ed65d01d4c4"
-DEFAULT_PREFERENCE_class-devupstream = "-1"
-SRC_URI_class-devupstream = "git://git.lttng.org/lttng-modules;branch=stable-2.13 \
+LIC_FILES_CHKSUM:class-devupstream = "file://LICENSE;md5=0464cff101a009c403cd2ed65d01d4c4"
+DEFAULT_PREFERENCE:class-devupstream = "-1"
+SRC_URI:class-devupstream = "git://git.lttng.org/lttng-modules;branch=stable-2.13 \
            file://0001-src-Kbuild-change-missing-CONFIG_TRACEPOINTS-to-warn.patch \
            "
 
-SRCREV_class-devupstream = "f982b51a98a29cb4aaf607cb9bbf2b509d8e6933"
-PV_class-devupstream = "2.13.0-rc2+git${SRCPV}"
-S_class-devupstream = "${WORKDIR}/git"
+SRCREV:class-devupstream = "f982b51a98a29cb4aaf607cb9bbf2b509d8e6933"
+PV:class-devupstream = "2.13.0-rc2+git${SRCPV}"
+S:class-devupstream = "${WORKDIR}/git"
 SRCREV_FORMAT ?= "lttng_git"
diff --git a/meta/recipes-kernel/lttng/lttng-platforms.inc b/meta/recipes-kernel/lttng/lttng-platforms.inc
index aa8220bbb44..933c65d85d5 100644
--- a/meta/recipes-kernel/lttng/lttng-platforms.inc
+++ b/meta/recipes-kernel/lttng/lttng-platforms.inc
@@ -2,16 +2,16 @@
 # Whether the platform supports kernel tracing
 #
 LTTNGMODULES = "lttng-modules"
-LTTNGMODULES_arc = ""
-LTTNGMODULES_riscv64 = ""
+LTTNGMODULES:arc = ""
+LTTNGMODULES:riscv64 = ""
 
-COMPATIBLE_HOST_riscv64_pn-lttng-modules = "null"
-COMPATIBLE_HOST_arc_pn-lttng-modules = "null"
+COMPATIBLE_HOST:riscv64:pn-lttng-modules = "null"
+COMPATIBLE_HOST:arc:pn-lttng-modules = "null"
 
 # Whether the platform supports userspace tracing
 # lttng-ust uses sched_getcpu() which is not there on for some platforms.
 LTTNGUST = "lttng-ust"
-LTTNGUST_arc = ""
+LTTNGUST:arc = ""
 
-COMPATIBLE_HOST_arc_pn-lttng-ust = "null"
+COMPATIBLE_HOST:arc:pn-lttng-ust = "null"
 
diff --git a/meta/recipes-kernel/lttng/lttng-tools_2.12.4.bb b/meta/recipes-kernel/lttng/lttng-tools_2.12.4.bb
index 133d7561b8c..dc2e1f32489 100644
--- a/meta/recipes-kernel/lttng/lttng-tools_2.12.4.bb
+++ b/meta/recipes-kernel/lttng/lttng-tools_2.12.4.bb
@@ -13,13 +13,13 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=40ef17463fbd6f377db3c47b1cbaded8 \
 include lttng-platforms.inc
 
 DEPENDS = "liburcu popt libxml2 util-linux"
-RDEPENDS_${PN} = "libgcc"
-RRECOMMENDS_${PN} += "${LTTNGMODULES}"
-RDEPENDS_${PN}-ptest += "make perl bash gawk babeltrace procps perl-module-overloading coreutils util-linux kmod ${LTTNGMODULES} sed python3-core grep"
-RDEPENDS_${PN}-ptest_append_libc-glibc = " glibc-utils"
-RDEPENDS_${PN}-ptest_append_libc-musl = " musl-utils"
+RDEPENDS:${PN} = "libgcc"
+RRECOMMENDS:${PN} += "${LTTNGMODULES}"
+RDEPENDS:${PN}-ptest += "make perl bash gawk babeltrace procps perl-module-overloading coreutils util-linux kmod ${LTTNGMODULES} sed python3-core grep"
+RDEPENDS:${PN}-ptest:append:libc-glibc = " glibc-utils"
+RDEPENDS:${PN}-ptest:append:libc-musl = " musl-utils"
 # babelstats.pl wants getopt-long
-RDEPENDS_${PN}-ptest += "perl-module-getopt-long"
+RDEPENDS:${PN}-ptest += "perl-module-getopt-long"
 
 PYTHON_OPTION = "am_cv_python_pyexecdir='${PYTHON_SITEPACKAGES_DIR}' \
                  am_cv_python_pythondir='${PYTHON_SITEPACKAGES_DIR}' \
@@ -43,26 +43,26 @@ SRC_URI[sha256sum] = "d729f8c2373a41194f171aeb0da0a9bb35ac181f31afa7e260786d19a5
 
 inherit autotools ptest pkgconfig useradd python3-dir manpages systemd
 
-SYSTEMD_SERVICE_${PN} = "lttng-sessiond.service"
+SYSTEMD_SERVICE:${PN} = "lttng-sessiond.service"
 SYSTEMD_AUTO_ENABLE = "disable"
 
 USERADD_PACKAGES = "${PN}"
-GROUPADD_PARAM_${PN} = "tracing"
+GROUPADD_PARAM:${PN} = "tracing"
 
-FILES_${PN} += "${libdir}/lttng/libexec/* ${datadir}/xml/lttng \
+FILES:${PN} += "${libdir}/lttng/libexec/* ${datadir}/xml/lttng \
                 ${PYTHON_SITEPACKAGES_DIR}/*"
-FILES_${PN}-staticdev += "${PYTHON_SITEPACKAGES_DIR}/*.a"
-FILES_${PN}-dev += "${PYTHON_SITEPACKAGES_DIR}/*.la"
+FILES:${PN}-staticdev += "${PYTHON_SITEPACKAGES_DIR}/*.a"
+FILES:${PN}-dev += "${PYTHON_SITEPACKAGES_DIR}/*.la"
 
 # Since files are installed into ${libdir}/lttng/libexec we match 
 # the libexec insane test so skip it.
 # Python module needs to keep _lttng.so
-INSANE_SKIP_${PN} = "libexec dev-so"
-INSANE_SKIP_${PN}-dbg = "libexec"
+INSANE_SKIP:${PN} = "libexec dev-so"
+INSANE_SKIP:${PN}-dbg = "libexec"
 
-PRIVATE_LIBS_${PN}-ptest = "libfoo.so"
+PRIVATE_LIBS:${PN}-ptest = "libfoo.so"
 
-do_install_append () {
+do_install:append () {
     # install systemd unit file
     install -d ${D}${systemd_unitdir}/system
     install -m 0644 ${WORKDIR}/lttng-sessiond.service ${D}${systemd_unitdir}/system
diff --git a/meta/recipes-kernel/lttng/lttng-ust_2.12.2.bb b/meta/recipes-kernel/lttng/lttng-ust_2.12.2.bb
index e340ff34600..54a473d2cbf 100644
--- a/meta/recipes-kernel/lttng/lttng-ust_2.12.2.bb
+++ b/meta/recipes-kernel/lttng/lttng-ust_2.12.2.bb
@@ -20,12 +20,12 @@ include lttng-platforms.inc
 EXTRA_OECONF = "--disable-numa"
 
 DEPENDS = "liburcu util-linux"
-RDEPENDS_${PN}-bin = "python3-core"
+RDEPENDS:${PN}-bin = "python3-core"
 
 # For backwards compatibility after rename
-RPROVIDES_${PN} = "lttng2-ust"
-RREPLACES_${PN} = "lttng2-ust"
-RCONFLICTS_${PN} = "lttng2-ust"
+RPROVIDES:${PN} = "lttng2-ust"
+RREPLACES:${PN} = "lttng2-ust"
+RCONFLICTS:${PN} = "lttng2-ust"
 
 PE = "2"
 
@@ -41,11 +41,11 @@ PACKAGECONFIG[examples] = "--enable-examples, --disable-examples,"
 PACKAGECONFIG[manpages] = "--enable-man-pages, --disable-man-pages, asciidoc-native xmlto-native libxslt-native"
 PACKAGECONFIG[python3-agent] = "--enable-python-agent ${PYTHON_OPTION}, --disable-python-agent, python3, python3"
 
-FILES_${PN} += " ${PYTHON_SITEPACKAGES_DIR}/*"
-FILES_${PN}-staticdev += " ${PYTHON_SITEPACKAGES_DIR}/*.a"
-FILES_${PN}-dev += " ${PYTHON_SITEPACKAGES_DIR}/*.la"
+FILES:${PN} += " ${PYTHON_SITEPACKAGES_DIR}/*"
+FILES:${PN}-staticdev += " ${PYTHON_SITEPACKAGES_DIR}/*.a"
+FILES:${PN}-dev += " ${PYTHON_SITEPACKAGES_DIR}/*.la"
 
-do_install_append() {
+do_install:append() {
         # Patch python tools to use Python 3; they should be source compatible, but
         # still refer to Python 2 in the shebang
         sed -i -e '1s,#!.*python.*,#!${bindir}/python3,' ${D}${bindir}/lttng-gen-tp
diff --git a/meta/recipes-kernel/make-mod-scripts/make-mod-scripts_1.0.bb b/meta/recipes-kernel/make-mod-scripts/make-mod-scripts_1.0.bb
index b2b50b9bcfd..e5a1628898e 100644
--- a/meta/recipes-kernel/make-mod-scripts/make-mod-scripts_1.0.bb
+++ b/meta/recipes-kernel/make-mod-scripts/make-mod-scripts_1.0.bb
@@ -13,7 +13,7 @@ S = "${WORKDIR}"
 do_configure[depends] += "virtual/kernel:do_shared_workdir openssl-native:do_populate_sysroot"
 do_compile[depends] += "virtual/kernel:do_compile_kernelmodules"
 
-RDEPENDS_${PN}-dev = ""
+RDEPENDS:${PN}-dev = ""
 
 DEPENDS += "bc-native bison-native"
 DEPENDS += "gmp-native"
diff --git a/meta/recipes-kernel/modutils-initscripts/modutils-initscripts.bb b/meta/recipes-kernel/modutils-initscripts/modutils-initscripts.bb
index 97b4ddb88b6..aa71309126f 100644
--- a/meta/recipes-kernel/modutils-initscripts/modutils-initscripts.bb
+++ b/meta/recipes-kernel/modutils-initscripts/modutils-initscripts.bb
@@ -22,8 +22,8 @@ do_install () {
 	install -m 0755 ${WORKDIR}/modutils.sh ${D}${sysconfdir}/init.d/
 }
 
-PACKAGE_WRITE_DEPS_append = " ${@bb.utils.contains('DISTRO_FEATURES','systemd','systemd-systemctl-native','',d)}"
-pkg_postinst_${PN} () {
+PACKAGE_WRITE_DEPS:append = " ${@bb.utils.contains('DISTRO_FEATURES','systemd','systemd-systemctl-native','',d)}"
+pkg_postinst:${PN} () {
 	if type systemctl >/dev/null 2>/dev/null; then
 		if [ -n "$D" ]; then
 			OPTS="--root=$D"
diff --git a/meta/recipes-kernel/perf/perf.bb b/meta/recipes-kernel/perf/perf.bb
index 99808d636b3..8ebd7d7cb52 100644
--- a/meta/recipes-kernel/perf/perf.bb
+++ b/meta/recipes-kernel/perf/perf.bb
@@ -30,9 +30,9 @@ PACKAGECONFIG[cap] = ",,libcap"
 PACKAGECONFIG[coresight] = "CORESIGHT=1,,opencsd"
 
 # libunwind is not yet ported for some architectures
-PACKAGECONFIG_remove_arc = "libunwind"
-PACKAGECONFIG_remove_riscv64 = "libunwind"
-PACKAGECONFIG_remove_riscv32 = "libunwind"
+PACKAGECONFIG:remove:arc = "libunwind"
+PACKAGECONFIG:remove:riscv64 = "libunwind"
+PACKAGECONFIG:remove:riscv32 = "libunwind"
 
 DEPENDS = " \
     virtual/${MLPREFIX}libc \
@@ -110,7 +110,7 @@ EXTRA_OEMAKE += "\
 # that it has to be done this way rather than by passing -j1, since
 # perf's build system by default ignores any -j argument, but does
 # honour a JOBS variable.
-EXTRA_OEMAKE_append_task-configure = " JOBS=1"
+EXTRA_OEMAKE:append_task-configure = " JOBS=1"
 
 PERF_SRC ?= "Makefile \
              tools/arch \
@@ -127,8 +127,8 @@ PERF_SRC ?= "Makefile \
 PERF_EXTRA_LDFLAGS = ""
 
 # MIPS N32
-PERF_EXTRA_LDFLAGS_mipsarchn32eb = "-m elf32btsmipn32"
-PERF_EXTRA_LDFLAGS_mipsarchn32el = "-m elf32ltsmipn32"
+PERF_EXTRA_LDFLAGS:mipsarchn32eb = "-m elf32btsmipn32"
+PERF_EXTRA_LDFLAGS:mipsarchn32el = "-m elf32ltsmipn32"
 
 do_compile() {
 	# Linux kernel build system is expected to do the right thing
@@ -166,7 +166,7 @@ python copy_perf_source_from_kernel() {
             bb.utils.copyfile(src, dest)
 }
 
-do_configure_prepend () {
+do_configure:prepend () {
     # If building a multlib based perf, the incorrect library path will be
     # detected by perf, since it triggers via: ifeq ($(ARCH),x86_64). In a 32 bit
     # build, with a 64 bit multilib, the arch won't match and the detection of a 
@@ -311,7 +311,7 @@ do_configure_prepend () {
     done
 }
 
-python do_package_prepend() {
+python do_package:prepend() {
     d.setVar('PKGV', d.getVar("KERNEL_VERSION").split("-")[0])
 }
 
@@ -320,25 +320,25 @@ PACKAGE_ARCH = "${MACHINE_ARCH}"
 
 PACKAGES =+ "${PN}-archive ${PN}-tests ${PN}-perl ${PN}-python"
 
-RDEPENDS_${PN} += "elfutils bash"
-RDEPENDS_${PN}-archive =+ "bash"
-RDEPENDS_${PN}-python =+ "bash python3 python3-modules ${@bb.utils.contains('PACKAGECONFIG', 'audit', 'audit-python', '', d)}"
-RDEPENDS_${PN}-perl =+ "bash perl perl-modules"
-RDEPENDS_${PN}-tests =+ "python3 bash"
+RDEPENDS:${PN} += "elfutils bash"
+RDEPENDS:${PN}-archive =+ "bash"
+RDEPENDS:${PN}-python =+ "bash python3 python3-modules ${@bb.utils.contains('PACKAGECONFIG', 'audit', 'audit-python', '', d)}"
+RDEPENDS:${PN}-perl =+ "bash perl perl-modules"
+RDEPENDS:${PN}-tests =+ "python3 bash"
 
 RSUGGESTS_SCRIPTING = "${@bb.utils.contains('PACKAGECONFIG', 'scripting', '${PN}-perl ${PN}-python', '',d)}"
-RSUGGESTS_${PN} += "${PN}-archive ${PN}-tests ${RSUGGESTS_SCRIPTING}"
+RSUGGESTS:${PN} += "${PN}-archive ${PN}-tests ${RSUGGESTS_SCRIPTING}"
 
 FILES_SOLIBSDEV = ""
-FILES_${PN} += "${libexecdir}/perf-core ${exec_prefix}/libexec/perf-core ${libdir}/traceevent ${libdir}/libperf-jvmti.so"
-FILES_${PN}-archive = "${libdir}/perf/perf-core/perf-archive"
-FILES_${PN}-tests = "${libdir}/perf/perf-core/tests ${libexecdir}/perf-core/tests"
-FILES_${PN}-python = " \
+FILES:${PN} += "${libexecdir}/perf-core ${exec_prefix}/libexec/perf-core ${libdir}/traceevent ${libdir}/libperf-jvmti.so"
+FILES:${PN}-archive = "${libdir}/perf/perf-core/perf-archive"
+FILES:${PN}-tests = "${libdir}/perf/perf-core/tests ${libexecdir}/perf-core/tests"
+FILES:${PN}-python = " \
                        ${PYTHON_SITEPACKAGES_DIR} \
                        ${libexecdir}/perf-core/scripts/python \
                        "
-FILES_${PN}-perl = "${libexecdir}/perf-core/scripts/perl"
+FILES:${PN}-perl = "${libexecdir}/perf-core/scripts/perl"
 
 
 INHIBIT_PACKAGE_DEBUG_SPLIT="1"
-DEBUG_OPTIMIZATION_append = " -Wno-error=maybe-uninitialized"
+DEBUG_OPTIMIZATION:append = " -Wno-error=maybe-uninitialized"
diff --git a/meta/recipes-kernel/powertop/powertop_2.14.bb b/meta/recipes-kernel/powertop/powertop_2.14.bb
index cb7f3c4dc18..c176cba388e 100644
--- a/meta/recipes-kernel/powertop/powertop_2.14.bb
+++ b/meta/recipes-kernel/powertop/powertop_2.14.bb
@@ -13,12 +13,12 @@ SRCREV = "52f022f9bbe6e060fba11701d657a8d9762702ba"
 
 S = "${WORKDIR}/git"
 
-LDFLAGS_append = " -pthread"
+LDFLAGS:append = " -pthread"
 
 inherit autotools gettext pkgconfig bash-completion
 
 inherit update-alternatives
-ALTERNATIVE_${PN} = "powertop"
+ALTERNATIVE:${PN} = "powertop"
 ALTERNATIVE_TARGET[powertop] = "${sbindir}/powertop"
 ALTERNATIVE_LINK_NAME[powertop] = "${sbindir}/powertop"
 ALTERNATIVE_PRIORITY = "100"
diff --git a/meta/recipes-kernel/systemtap/systemtap-uprobes_git.bb b/meta/recipes-kernel/systemtap/systemtap-uprobes_git.bb
index 6ee0be5e3e1..2181e45a8d6 100644
--- a/meta/recipes-kernel/systemtap/systemtap-uprobes_git.bb
+++ b/meta/recipes-kernel/systemtap/systemtap-uprobes_git.bb
@@ -5,13 +5,13 @@ require systemtap_git.inc
 DEPENDS = "systemtap virtual/kernel"
 
 # On systems without CONFIG_UTRACE, this package is empty.
-ALLOW_EMPTY_${PN} = "1"
+ALLOW_EMPTY:${PN} = "1"
 
 inherit module-base gettext
 
 FILESEXTRAPATHS =. "${FILE_DIRNAME}/systemtap:"
 
-FILES_${PN} += "${datadir}/systemtap/runtime/uprobes"
+FILES:${PN} += "${datadir}/systemtap/runtime/uprobes"
 
 # Compile and install the uprobes kernel module on machines with utrace
 # support.  Note that staprun expects it in the systemtap/runtime directory,
diff --git a/meta/recipes-kernel/systemtap/systemtap_git.bb b/meta/recipes-kernel/systemtap/systemtap_git.bb
index c4a6eef59a0..8161a448c8c 100644
--- a/meta/recipes-kernel/systemtap/systemtap_git.bb
+++ b/meta/recipes-kernel/systemtap/systemtap_git.bb
@@ -33,46 +33,46 @@ inherit ${@bb.utils.contains('PACKAGECONFIG', 'python3-probes', 'distutils3-base
 
 # exporter comes with python3-probes
 PACKAGES =+ "${PN}-exporter"
-FILES_${PN}-exporter = "${sysconfdir}/stap-exporter/* \
+FILES:${PN}-exporter = "${sysconfdir}/stap-exporter/* \
                         ${sysconfdir}/sysconfig/stap-exporter \
                         ${systemd_unitdir}/system/stap-exporter.service \
                         ${sbindir}/stap-exporter"
-RDEPENDS_${PN}-exporter = "${PN} python3-core python3-netclient"
-SYSTEMD_SERVICE_${PN}-exporter = "stap-exporter.service"
+RDEPENDS:${PN}-exporter = "${PN} python3-core python3-netclient"
+SYSTEMD_SERVICE:${PN}-exporter = "stap-exporter.service"
 
 PACKAGES =+ "${PN}-runtime"
-FILES_${PN}-runtime = "\
+FILES:${PN}-runtime = "\
  ${bindir}/staprun \
  ${bindir}/stap-merge \
  ${bindir}/stapsh \
  ${libexecdir}/${BPN}/stapio \
 "
-RDEPENDS_${PN}_class-target += "${PN}-runtime"
+RDEPENDS:${PN}:class-target += "${PN}-runtime"
 
 PACKAGES =+ "${PN}-examples"
-FILES_${PN}-examples = "${datadir}/${BPN}/examples/"
-RDEPENDS_${PN}-examples += "${PN}"
+FILES:${PN}-examples = "${datadir}/${BPN}/examples/"
+RDEPENDS:${PN}-examples += "${PN}"
 
 # don't complain that some examples involve bash, perl, php...
-INSANE_SKIP_${PN}-examples += "file-rdeps"
+INSANE_SKIP:${PN}-examples += "file-rdeps"
 
 PACKAGES =+ "${PN}-python"
-FILES_${PN}-python += "\
+FILES:${PN}-python += "\
  ${bindir}/dtrace \
  ${libdir}/python*/ \
  ${libexecdir}/${BPN}/python/ \
 "
 # python material requires sdt headers
-RDEPENDS_${PN}-python += "${PN}-dev python3-core"
-INSANE_SKIP_${PN}-python += "dev-deps"
+RDEPENDS:${PN}-python += "${PN}-dev python3-core"
+INSANE_SKIP:${PN}-python += "dev-deps"
 
-do_configure_prepend () {
+do_configure:prepend () {
     # Improve reproducibility for c++ object files
     reltivepath="${@os.path.relpath(d.getVar('STAGING_INCDIR'), d.getVar('S'))}"
     sed -i "s:@RELATIVE_STAGING_INCDIR@:$reltivepath:g" ${S}/stringtable.h
 }
 
-do_install_append () {
+do_install:append () {
    if [ ! -f ${D}${bindir}/stap ]; then
       # translator disabled case, need to leave only minimal runtime
       rm -rf ${D}${datadir}/${PN}
diff --git a/meta/recipes-kernel/systemtap/systemtap_git.inc b/meta/recipes-kernel/systemtap/systemtap_git.inc
index 23ecc619877..1f0e67002d9 100644
--- a/meta/recipes-kernel/systemtap/systemtap_git.inc
+++ b/meta/recipes-kernel/systemtap/systemtap_git.inc
@@ -10,7 +10,7 @@ SRC_URI = "git://sourceware.org/git/systemtap.git \
            "
 
 COMPATIBLE_HOST = '(x86_64|i.86|powerpc|arm|aarch64|microblazeel|mips).*-linux'
-COMPATIBLE_HOST_libc-musl = 'null'
+COMPATIBLE_HOST:libc-musl = 'null'
 
 S = "${WORKDIR}/git"
 
diff --git a/meta/recipes-kernel/wireless-regdb/wireless-regdb_2021.04.21.bb b/meta/recipes-kernel/wireless-regdb/wireless-regdb_2021.04.21.bb
index f79c0b29ea5..7b54d8c0599 100644
--- a/meta/recipes-kernel/wireless-regdb/wireless-regdb_2021.04.21.bb
+++ b/meta/recipes-kernel/wireless-regdb/wireless-regdb_2021.04.21.bb
@@ -24,9 +24,9 @@ do_install() {
 # For kernel <= v4.14, inherit the kernel_wireless_regdb.bbclass
 # (in meta-networking) in kernel's recipe.
 PACKAGES = "${PN}-static ${PN}"
-RCONFLICTS_${PN} = "${PN}-static"
+RCONFLICTS:${PN} = "${PN}-static"
 
-FILES_${PN}-static = " \
+FILES:${PN}-static = " \
     ${nonarch_base_libdir}/firmware/regulatory.db \
     ${nonarch_base_libdir}/firmware/regulatory.db.p7s \
 "
@@ -34,10 +34,10 @@ FILES_${PN}-static = " \
 # Native users might want to use the source of regulatory DB.
 # This is for example used by Linux kernel <= v4.14 and
 # kernel_wireless_regdb.bbclass in meta-networking.
-do_install_append_class-native() {
+do_install:append:class-native() {
     install -m 0644 -D db.txt ${D}${libdir}/crda/db.txt
 }
 
-RSUGGESTS_${PN} = "crda"
+RSUGGESTS:${PN} = "crda"
 
 BBCLASSEXTEND = "native"
diff --git a/meta/recipes-multimedia/alsa/alsa-lib_1.2.5.1.bb b/meta/recipes-multimedia/alsa/alsa-lib_1.2.5.1.bb
index 151d63c0e8c..cf7c3fcd437 100644
--- a/meta/recipes-multimedia/alsa/alsa-lib_1.2.5.1.bb
+++ b/meta/recipes-multimedia/alsa/alsa-lib_1.2.5.1.bb
@@ -21,24 +21,24 @@ EXTRA_OECONF += " \
 
 PACKAGES =+ "alsa-server alsa-conf libatopology"
 
-FILES_alsa-server = "${bindir}/*"
-FILES_alsa-conf = "${datadir}/alsa/"
-FILES_libatopology = "${libdir}/libatopology.so.*"
+FILES:alsa-server = "${bindir}/*"
+FILES:alsa-conf = "${datadir}/alsa/"
+FILES:libatopology = "${libdir}/libatopology.so.*"
 
-RDEPENDS_${PN}_class-target = "alsa-conf alsa-ucm-conf"
-RDEPENDS_libatopology_class-target = "alsa-topology-conf"
+RDEPENDS:${PN}:class-target = "alsa-conf alsa-ucm-conf"
+RDEPENDS:libatopology:class-target = "alsa-topology-conf"
 
 # upgrade path
-RPROVIDES_${PN} = "libasound"
-RREPLACES_${PN} = "libasound"
-RCONFLICTS_${PN} = "libasound"
+RPROVIDES:${PN} = "libasound"
+RREPLACES:${PN} = "libasound"
+RCONFLICTS:${PN} = "libasound"
 
-RPROVIDES_${PN}-dev = "alsa-dev"
-RREPLACES_${PN}-dev = "alsa-dev"
-RCONFLICTS_${PN}-dev = "alsa-dev"
+RPROVIDES:${PN}-dev = "alsa-dev"
+RREPLACES:${PN}-dev = "alsa-dev"
+RCONFLICTS:${PN}-dev = "alsa-dev"
 
-RPROVIDES_alsa-conf = "alsa-conf-base"
-RREPLACES_alsa-conf = "alsa-conf-base"
-RCONFLICTS_alsa-conf = "alsa-conf-base"
+RPROVIDES:alsa-conf = "alsa-conf-base"
+RREPLACES:alsa-conf = "alsa-conf-base"
+RCONFLICTS:alsa-conf = "alsa-conf-base"
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-multimedia/alsa/alsa-plugins_1.2.5.bb b/meta/recipes-multimedia/alsa/alsa-plugins_1.2.5.bb
index f940a4bd354..0eac982e1af 100644
--- a/meta/recipes-multimedia/alsa/alsa-plugins_1.2.5.bb
+++ b/meta/recipes-multimedia/alsa/alsa-plugins_1.2.5.bb
@@ -49,10 +49,10 @@ PACKAGES_DYNAMIC = "^libasound-module-.*"
 
 # The alsa-plugins package doesn't itself contain anything, it just depends on
 # all built plugins.
-FILES_${PN} = ""
-ALLOW_EMPTY_${PN} = "1"
+FILES:${PN} = ""
+ALLOW_EMPTY:${PN} = "1"
 
-do_install_append() {
+do_install:append() {
 	rm -f ${D}${libdir}/alsa-lib/*.la
 
 	if [ "${@bb.utils.contains('PACKAGECONFIG', 'pulseaudio', 'yes', 'no', d)}" = "yes" ]; then
@@ -65,10 +65,10 @@ do_install_append() {
 	fi
 }
 
-python populate_packages_prepend() {
+python populate_packages:prepend() {
     plugindir = d.expand('${libdir}/alsa-lib/')
     packages = " ".join(do_split_packages(d, plugindir, r'^libasound_module_(.*)\.so$', 'libasound-module-%s', 'Alsa plugin for %s', extra_depends=''))
-    d.setVar("RDEPENDS_alsa-plugins", packages)
+    d.setVar("RDEPENDS:alsa-plugins", packages)
 }
 
 # Many plugins have a configuration file (plus a symlink in /etc) associated
@@ -84,51 +84,51 @@ python populate_packages_prepend() {
 # cause big problems, but some kind of improvement to the packaging could
 # probably be done here (at least it would be good to handle the different
 # plugins in a consistent way).
-FILES_${MLPREFIX}libasound-module-ctl-arcam-av += "\
+FILES:${MLPREFIX}libasound-module-ctl-arcam-av += "\
         ${datadir}/alsa/alsa.conf.d/50-arcam-av-ctl.conf \
         ${sysconfdir}/alsa/conf.d/50-arcam-av-ctl.conf \
 "
-FILES_${MLPREFIX}libasound-module-pcm-a52 += "\
+FILES:${MLPREFIX}libasound-module-pcm-a52 += "\
         ${datadir}/alsa/alsa.conf.d/60-a52-encoder.conf \
         ${sysconfdir}/alsa/conf.d/60-a52-encoder.conf \
 "
-FILES_${MLPREFIX}libasound-module-pcm-alsa-dsp += "\
+FILES:${MLPREFIX}libasound-module-pcm-alsa-dsp += "\
         ${datadir}/alsa/alsa.conf.d/98-maemo.conf \
         ${sysconfdir}/alsa/conf.d/98-maemo.conf \
 "
-FILES_${MLPREFIX}libasound-module-pcm-jack += "\
+FILES:${MLPREFIX}libasound-module-pcm-jack += "\
         ${datadir}/alsa/alsa.conf.d/50-jack.conf \
         ${sysconfdir}/alsa/conf.d/50-jack.conf \
 "
-FILES_${MLPREFIX}libasound-module-pcm-oss += "\
+FILES:${MLPREFIX}libasound-module-pcm-oss += "\
         ${datadir}/alsa/alsa.conf.d/50-oss.conf \
         ${sysconfdir}/alsa/conf.d/50-oss.conf \
 "
-FILES_${MLPREFIX}libasound-module-pcm-speex += "\
+FILES:${MLPREFIX}libasound-module-pcm-speex += "\
         ${datadir}/alsa/alsa.conf.d/60-speex.conf \
         ${sysconfdir}/alsa/conf.d/60-speex.conf \
 "
-FILES_${MLPREFIX}libasound-module-pcm-upmix += "\
+FILES:${MLPREFIX}libasound-module-pcm-upmix += "\
         ${datadir}/alsa/alsa.conf.d/60-upmix.conf \
         ${sysconfdir}/alsa/conf.d/60-upmix.conf \
 "
-FILES_${MLPREFIX}libasound-module-pcm-usb-stream += "\
+FILES:${MLPREFIX}libasound-module-pcm-usb-stream += "\
         ${datadir}/alsa/alsa.conf.d/98-usb-stream.conf \
         ${sysconfdir}/alsa/conf.d/98-usb-stream.conf \
 "
-FILES_${MLPREFIX}libasound-module-pcm-vdownmix += "\
+FILES:${MLPREFIX}libasound-module-pcm-vdownmix += "\
         ${datadir}/alsa/alsa.conf.d/60-vdownmix.conf \
         ${sysconfdir}/alsa/conf.d/60-vdownmix.conf \
 "
-FILES_${MLPREFIX}libasound-module-rate-lavrate += "\
+FILES:${MLPREFIX}libasound-module-rate-lavrate += "\
         ${datadir}/alsa/alsa.conf.d/10-rate-lav.conf \
         ${sysconfdir}/alsa/conf.d/10-rate-lav.conf \
 "
-FILES_${MLPREFIX}libasound-module-rate-samplerate += "\
+FILES:${MLPREFIX}libasound-module-rate-samplerate += "\
         ${datadir}/alsa/alsa.conf.d/10-samplerate.conf \
         ${sysconfdir}/alsa/conf.d/10-samplerate.conf \
 "
-FILES_${MLPREFIX}libasound-module-rate-speexrate += "\
+FILES:${MLPREFIX}libasound-module-rate-speexrate += "\
         ${datadir}/alsa/alsa.conf.d/10-speexrate.conf \
         ${sysconfdir}/alsa/conf.d/10-speexrate.conf \
 "
@@ -149,25 +149,25 @@ FILES_${MLPREFIX}libasound-module-rate-speexrate += "\
 # The symlinks cause QA errors, because usually it's a bug if a non
 # -dev/-dbg/-nativesdk package contains links to .so files, but in this case
 # the errors are false positives, so we disable the QA checks.
-FILES_${MLPREFIX}libasound-module-rate-lavrate += "${libdir}/alsa-lib/*rate_lavrate_*.so"
-FILES_${MLPREFIX}libasound-module-rate-samplerate += "${libdir}/alsa-lib/*rate_samplerate_*.so"
-FILES_${MLPREFIX}libasound-module-rate-speexrate += "${libdir}/alsa-lib/*rate_speexrate_*.so"
-INSANE_SKIP_${MLPREFIX}libasound-module-rate-lavrate = "dev-so"
-INSANE_SKIP_${MLPREFIX}libasound-module-rate-samplerate = "dev-so"
-INSANE_SKIP_${MLPREFIX}libasound-module-rate-speexrate = "dev-so"
+FILES:${MLPREFIX}libasound-module-rate-lavrate += "${libdir}/alsa-lib/*rate_lavrate_*.so"
+FILES:${MLPREFIX}libasound-module-rate-samplerate += "${libdir}/alsa-lib/*rate_samplerate_*.so"
+FILES:${MLPREFIX}libasound-module-rate-speexrate += "${libdir}/alsa-lib/*rate_speexrate_*.so"
+INSANE_SKIP:${MLPREFIX}libasound-module-rate-lavrate = "dev-so"
+INSANE_SKIP:${MLPREFIX}libasound-module-rate-samplerate = "dev-so"
+INSANE_SKIP:${MLPREFIX}libasound-module-rate-speexrate = "dev-so"
 
 # 50-pulseaudio.conf defines a device named "pulse" that applications can use
 # if they explicitly want to use the PulseAudio plugin.
 # 99-pulseaudio-default.conf configures the "default" device to use the
 # PulseAudio plugin.
-FILES_${PN}-pulseaudio-conf += "\
+FILES:${PN}-pulseaudio-conf += "\
         ${datadir}/alsa/alsa.conf.d/50-pulseaudio.conf \
         ${datadir}/alsa/alsa.conf.d/99-pulseaudio-default.conf \
         ${sysconfdir}/alsa/conf.d/50-pulseaudio.conf \
         ${sysconfdir}/alsa/conf.d/99-pulseaudio-default.conf \
 "
 
-RDEPENDS_${PN}-pulseaudio-conf += "\
+RDEPENDS:${PN}-pulseaudio-conf += "\
         ${MLPREFIX}libasound-module-conf-pulse \
         ${MLPREFIX}libasound-module-ctl-pulse \
         ${MLPREFIX}libasound-module-pcm-pulse \
diff --git a/meta/recipes-multimedia/alsa/alsa-tools_1.2.5.bb b/meta/recipes-multimedia/alsa/alsa-tools_1.2.5.bb
index 8f9c77e4fc0..540f4f79f4a 100644
--- a/meta/recipes-multimedia/alsa/alsa-tools_1.2.5.bb
+++ b/meta/recipes-multimedia/alsa/alsa-tools_1.2.5.bb
@@ -85,4 +85,4 @@ python do_install() {
         pass
 }
 
-FILES_${PN} += "${datadir}"
+FILES:${PN} += "${datadir}"
diff --git a/meta/recipes-multimedia/alsa/alsa-topology-conf_1.2.5.1.bb b/meta/recipes-multimedia/alsa/alsa-topology-conf_1.2.5.1.bb
index c96826c4bd2..4374a6bb6d0 100644
--- a/meta/recipes-multimedia/alsa/alsa-topology-conf_1.2.5.1.bb
+++ b/meta/recipes-multimedia/alsa/alsa-topology-conf_1.2.5.1.bb
@@ -20,4 +20,4 @@ do_install() {
 
 PACKAGES = "${PN}"
 
-FILES_${PN} = "*"
+FILES:${PN} = "*"
diff --git a/meta/recipes-multimedia/alsa/alsa-ucm-conf_1.2.5.1.bb b/meta/recipes-multimedia/alsa/alsa-ucm-conf_1.2.5.1.bb
index 4d5f3742f07..9d874eca134 100644
--- a/meta/recipes-multimedia/alsa/alsa-ucm-conf_1.2.5.1.bb
+++ b/meta/recipes-multimedia/alsa/alsa-ucm-conf_1.2.5.1.bb
@@ -21,4 +21,4 @@ do_install() {
 
 PACKAGES = "${PN}"
 
-FILES_${PN} = "*"
+FILES:${PN} = "*"
diff --git a/meta/recipes-multimedia/alsa/alsa-utils-scripts_1.2.5.1.bb b/meta/recipes-multimedia/alsa/alsa-utils-scripts_1.2.5.1.bb
index 048fef68a57..000e984a7da 100644
--- a/meta/recipes-multimedia/alsa/alsa-utils-scripts_1.2.5.1.bb
+++ b/meta/recipes-multimedia/alsa/alsa-utils-scripts_1.2.5.1.bb
@@ -3,12 +3,12 @@ require alsa-utils.inc
 SUMMARY = "Shell scripts that show help info and create ALSA configuration files"
 PROVIDES = "alsa-utils-alsaconf"
 
-FILESEXTRAPATHS_prepend := "${THISDIR}/alsa-utils:"
+FILESEXTRAPATHS:prepend := "${THISDIR}/alsa-utils:"
 
 PACKAGES = "${PN}"
-RDEPENDS_${PN} += "bash"
+RDEPENDS:${PN} += "bash"
 
-FILES_${PN} = "${sbindir}/alsaconf \
+FILES:${PN} = "${sbindir}/alsaconf \
                ${sbindir}/alsa-info.sh \
                ${sbindir}/alsabat-test.sh \
               "
diff --git a/meta/recipes-multimedia/alsa/alsa-utils.inc b/meta/recipes-multimedia/alsa/alsa-utils.inc
index 733bb2456ca..95b93d4432b 100644
--- a/meta/recipes-multimedia/alsa/alsa-utils.inc
+++ b/meta/recipes-multimedia/alsa/alsa-utils.inc
@@ -55,41 +55,41 @@ ALSA_UTILS_PKGS = "\
             "
 
 PACKAGES += "${ALSA_UTILS_PKGS}"
-RDEPENDS_${PN} += "${ALSA_UTILS_PKGS}"
+RDEPENDS:${PN} += "${ALSA_UTILS_PKGS}"
 
-FILES_${PN} = ""
-ALLOW_EMPTY_alsa-utils = "1"
-FILES_alsa-utils-alsabat     = "${bindir}/alsabat"
-FILES_alsa-utils-alsatplg    = "${bindir}/alsatplg"
-FILES_alsa-utils-aplay       = "${bindir}/aplay ${bindir}/arecord ${bindir}/axfer"
-FILES_alsa-utils-amixer      = "${bindir}/amixer"
-FILES_alsa-utils-alsamixer   = "${bindir}/alsamixer"
-FILES_alsa-utils-speakertest = "${bindir}/speaker-test ${datadir}/sounds/alsa/ ${datadir}/alsa/speaker-test/"
-FILES_alsa-utils-midi        = "${bindir}/aplaymidi ${bindir}/arecordmidi ${bindir}/amidi"
-FILES_alsa-utils-aconnect    = "${bindir}/aconnect"
-FILES_alsa-utils-aseqnet     = "${bindir}/aseqnet"
-FILES_alsa-utils-iecset      = "${bindir}/iecset"
-FILES_alsa-utils-alsactl     = "${sbindir}/alsactl */udev/rules.d/90-alsa-restore.rules */*/udev/rules.d/90-alsa-restore.rules ${systemd_unitdir} ${localstatedir}/lib/alsa ${datadir}/alsa/init/"
-FILES_alsa-utils-aseqdump    = "${bindir}/aseqdump"
-FILES_alsa-utils-alsaloop    = "${bindir}/alsaloop"
-FILES_alsa-utils-alsaucm     = "${bindir}/alsaucm */udev/rules.d/89-alsa-ucm.rules */*/udev/rules.d/89-alsa-ucm.rules"
+FILES:${PN} = ""
+ALLOW_EMPTY:alsa-utils = "1"
+FILES:alsa-utils-alsabat     = "${bindir}/alsabat"
+FILES:alsa-utils-alsatplg    = "${bindir}/alsatplg"
+FILES:alsa-utils-aplay       = "${bindir}/aplay ${bindir}/arecord ${bindir}/axfer"
+FILES:alsa-utils-amixer      = "${bindir}/amixer"
+FILES:alsa-utils-alsamixer   = "${bindir}/alsamixer"
+FILES:alsa-utils-speakertest = "${bindir}/speaker-test ${datadir}/sounds/alsa/ ${datadir}/alsa/speaker-test/"
+FILES:alsa-utils-midi        = "${bindir}/aplaymidi ${bindir}/arecordmidi ${bindir}/amidi"
+FILES:alsa-utils-aconnect    = "${bindir}/aconnect"
+FILES:alsa-utils-aseqnet     = "${bindir}/aseqnet"
+FILES:alsa-utils-iecset      = "${bindir}/iecset"
+FILES:alsa-utils-alsactl     = "${sbindir}/alsactl */udev/rules.d/90-alsa-restore.rules */*/udev/rules.d/90-alsa-restore.rules ${systemd_unitdir} ${localstatedir}/lib/alsa ${datadir}/alsa/init/"
+FILES:alsa-utils-aseqdump    = "${bindir}/aseqdump"
+FILES:alsa-utils-alsaloop    = "${bindir}/alsaloop"
+FILES:alsa-utils-alsaucm     = "${bindir}/alsaucm */udev/rules.d/89-alsa-ucm.rules */*/udev/rules.d/89-alsa-ucm.rules"
 
-SUMMARY_alsa-utils-alsabat      = "Command-line sound tester for ALSA sound card driver"
-SUMMARY_alsa-utils-alsatplg     = "Converts topology text files into binary format for kernel"
-SUMMARY_alsa-utils-aplay        = "Play (and record) sound files using ALSA"
-SUMMARY_alsa-utils-amixer       = "Command-line control for ALSA mixer and settings"
-SUMMARY_alsa-utils-alsamixer    = "ncurses-based control for ALSA mixer and settings"
-SUMMARY_alsa-utils-speakertest  = "ALSA surround speaker test utility"
-SUMMARY_alsa-utils-midi         = "Miscellaneous MIDI utilities for ALSA"
-SUMMARY_alsa-utils-aconnect     = "ALSA sequencer connection manager"
-SUMMARY_alsa-utils-aseqnet      = "Network client/server for ALSA sequencer"
-SUMMARY_alsa-utils-iecset       = "ALSA utility for setting/showing IEC958 (S/PDIF) status bits"
-SUMMARY_alsa-utils-alsactl      = "Saves/restores ALSA-settings in /etc/asound.state"
-SUMMARY_alsa-utils-aseqdump     = "Shows the events received at an ALSA sequencer port"
-SUMMARY_alsa-utils-alsaloop     = "ALSA PCM loopback utility"
-SUMMARY_alsa-utils-alsaucm      = "ALSA Use Case Manager"
+SUMMARY:alsa-utils-alsabat      = "Command-line sound tester for ALSA sound card driver"
+SUMMARY:alsa-utils-alsatplg     = "Converts topology text files into binary format for kernel"
+SUMMARY:alsa-utils-aplay        = "Play (and record) sound files using ALSA"
+SUMMARY:alsa-utils-amixer       = "Command-line control for ALSA mixer and settings"
+SUMMARY:alsa-utils-alsamixer    = "ncurses-based control for ALSA mixer and settings"
+SUMMARY:alsa-utils-speakertest  = "ALSA surround speaker test utility"
+SUMMARY:alsa-utils-midi         = "Miscellaneous MIDI utilities for ALSA"
+SUMMARY:alsa-utils-aconnect     = "ALSA sequencer connection manager"
+SUMMARY:alsa-utils-aseqnet      = "Network client/server for ALSA sequencer"
+SUMMARY:alsa-utils-iecset       = "ALSA utility for setting/showing IEC958 (S/PDIF) status bits"
+SUMMARY:alsa-utils-alsactl      = "Saves/restores ALSA-settings in /etc/asound.state"
+SUMMARY:alsa-utils-aseqdump     = "Shows the events received at an ALSA sequencer port"
+SUMMARY:alsa-utils-alsaloop     = "ALSA PCM loopback utility"
+SUMMARY:alsa-utils-alsaucm      = "ALSA Use Case Manager"
 
-RRECOMMENDS_alsa-utils-alsactl = "alsa-states"
+RRECOMMENDS:alsa-utils-alsactl = "alsa-states"
 
 do_install() {
 	autotools_do_install
diff --git a/meta/recipes-multimedia/ffmpeg/ffmpeg_4.4.bb b/meta/recipes-multimedia/ffmpeg/ffmpeg_4.4.bb
index 3ed009bbb7f..dbc6ab8155b 100644
--- a/meta/recipes-multimedia/ffmpeg/ffmpeg_4.4.bb
+++ b/meta/recipes-multimedia/ffmpeg/ffmpeg_4.4.bb
@@ -6,16 +6,16 @@ HOMEPAGE = "https://www.ffmpeg.org/"
 SECTION = "libs"
 
 LICENSE = "BSD & GPLv2+ & LGPLv2.1+ & MIT"
-LICENSE_${PN} = "GPLv2+"
-LICENSE_libavcodec = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}"
-LICENSE_libavdevice = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}"
-LICENSE_libavfilter = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}"
-LICENSE_libavformat = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}"
-LICENSE_libavresample = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}"
-LICENSE_libavutil = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}"
-LICENSE_libpostproc = "GPLv2+"
-LICENSE_libswresample = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}"
-LICENSE_libswscale = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}"
+LICENSE:${PN} = "GPLv2+"
+LICENSE:libavcodec = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}"
+LICENSE:libavdevice = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}"
+LICENSE:libavfilter = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}"
+LICENSE:libavformat = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}"
+LICENSE:libavresample = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}"
+LICENSE:libavutil = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}"
+LICENSE:libpostproc = "GPLv2+"
+LICENSE:libswresample = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}"
+LICENSE:libswscale = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}"
 LICENSE_FLAGS = "commercial"
 
 LIC_FILES_CHKSUM = "file://COPYING.GPLv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
@@ -29,9 +29,9 @@ SRC_URI = "https://www.ffmpeg.org/releases/${BP}.tar.xz \
 SRC_URI[sha256sum] = "06b10a183ce5371f915c6bb15b7b1fffbe046e8275099c96affc29e17645d909"
 
 # Build fails when thumb is enabled: https://bugzilla.yoctoproject.org/show_bug.cgi?id=7717
-ARM_INSTRUCTION_SET_armv4 = "arm"
-ARM_INSTRUCTION_SET_armv5 = "arm"
-ARM_INSTRUCTION_SET_armv6 = "arm"
+ARM_INSTRUCTION_SET:armv4 = "arm"
+ARM_INSTRUCTION_SET:armv5 = "arm"
+ARM_INSTRUCTION_SET:armv6 = "arm"
 
 # Should be API compatible with libav (which was a fork of ffmpeg)
 # libpostproc was previously packaged from a separate recipe
@@ -121,20 +121,20 @@ EXTRA_OECONF = " \
     --pkg-config=pkg-config \
 "
 
-EXTRA_OECONF_append_linux-gnux32 = " --disable-asm"
+EXTRA_OECONF:append:linux-gnux32 = " --disable-asm"
 
 EXTRA_OECONF += "${@bb.utils.contains('TUNE_FEATURES', 'mipsisa64r6', '--disable-mips64r2 --disable-mips32r2', '', d)}"
 EXTRA_OECONF += "${@bb.utils.contains('TUNE_FEATURES', 'mipsisa64r2', '--disable-mips64r6 --disable-mips32r6', '', d)}"
 EXTRA_OECONF += "${@bb.utils.contains('TUNE_FEATURES', 'mips32r2', '--disable-mips64r6 --disable-mips32r6', '', d)}"
 EXTRA_OECONF += "${@bb.utils.contains('TUNE_FEATURES', 'mips32r6', '--disable-mips64r2 --disable-mips32r2', '', d)}"
-EXTRA_OECONF_append_mips = " --extra-libs=-latomic --disable-mips32r5 --disable-mipsdsp --disable-mipsdspr2 \
+EXTRA_OECONF:append:mips = " --extra-libs=-latomic --disable-mips32r5 --disable-mipsdsp --disable-mipsdspr2 \
                              --disable-loongson2 --disable-loongson3 --disable-mmi --disable-msa --disable-msa2"
-EXTRA_OECONF_append_riscv32 = " --extra-libs=-latomic"
+EXTRA_OECONF:append:riscv32 = " --extra-libs=-latomic"
 
 # gold crashes on x86, another solution is to --disable-asm but thats more hacky
 # ld.gold: internal error in relocate_section, at ../../gold/i386.cc:3684
 
-LDFLAGS_append_x86 = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}"
+LDFLAGS:append:x86 = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}"
 
 EXTRA_OEMAKE = "V=1"
 
@@ -143,7 +143,7 @@ do_configure() {
 }
 
 # patch out build host paths for reproducibility
-do_compile_prepend_class-target() {
+do_compile:prepend:class-target() {
         sed -i -e "s,${WORKDIR},,g" ${B}/config.h
 }
 
@@ -157,23 +157,23 @@ PACKAGES =+ "libavcodec \
              libswresample \
              libswscale"
 
-FILES_libavcodec = "${libdir}/libavcodec${SOLIBS}"
-FILES_libavdevice = "${libdir}/libavdevice${SOLIBS}"
-FILES_libavfilter = "${libdir}/libavfilter${SOLIBS}"
-FILES_libavformat = "${libdir}/libavformat${SOLIBS}"
-FILES_libavresample = "${libdir}/libavresample${SOLIBS}"
-FILES_libavutil = "${libdir}/libavutil${SOLIBS}"
-FILES_libpostproc = "${libdir}/libpostproc${SOLIBS}"
-FILES_libswresample = "${libdir}/libswresample${SOLIBS}"
-FILES_libswscale = "${libdir}/libswscale${SOLIBS}"
+FILES:libavcodec = "${libdir}/libavcodec${SOLIBS}"
+FILES:libavdevice = "${libdir}/libavdevice${SOLIBS}"
+FILES:libavfilter = "${libdir}/libavfilter${SOLIBS}"
+FILES:libavformat = "${libdir}/libavformat${SOLIBS}"
+FILES:libavresample = "${libdir}/libavresample${SOLIBS}"
+FILES:libavutil = "${libdir}/libavutil${SOLIBS}"
+FILES:libpostproc = "${libdir}/libpostproc${SOLIBS}"
+FILES:libswresample = "${libdir}/libswresample${SOLIBS}"
+FILES:libswscale = "${libdir}/libswscale${SOLIBS}"
 
 # ffmpeg disables PIC on some platforms (e.g. x86-32)
-INSANE_SKIP_${MLPREFIX}libavcodec = "textrel"
-INSANE_SKIP_${MLPREFIX}libavdevice = "textrel"
-INSANE_SKIP_${MLPREFIX}libavfilter = "textrel"
-INSANE_SKIP_${MLPREFIX}libavformat = "textrel"
-INSANE_SKIP_${MLPREFIX}libavutil = "textrel"
-INSANE_SKIP_${MLPREFIX}libavresample = "textrel"
-INSANE_SKIP_${MLPREFIX}libswscale = "textrel"
-INSANE_SKIP_${MLPREFIX}libswresample = "textrel"
-INSANE_SKIP_${MLPREFIX}libpostproc = "textrel"
+INSANE_SKIP:${MLPREFIX}libavcodec = "textrel"
+INSANE_SKIP:${MLPREFIX}libavdevice = "textrel"
+INSANE_SKIP:${MLPREFIX}libavfilter = "textrel"
+INSANE_SKIP:${MLPREFIX}libavformat = "textrel"
+INSANE_SKIP:${MLPREFIX}libavutil = "textrel"
+INSANE_SKIP:${MLPREFIX}libavresample = "textrel"
+INSANE_SKIP:${MLPREFIX}libswscale = "textrel"
+INSANE_SKIP:${MLPREFIX}libswresample = "textrel"
+INSANE_SKIP:${MLPREFIX}libpostproc = "textrel"
diff --git a/meta/recipes-multimedia/flac/flac_1.3.3.bb b/meta/recipes-multimedia/flac/flac_1.3.3.bb
index cb6692aedf5..57e6bcb2443 100644
--- a/meta/recipes-multimedia/flac/flac_1.3.3.bb
+++ b/meta/recipes-multimedia/flac/flac_1.3.3.bb
@@ -38,9 +38,9 @@ EXTRA_OECONF += "${@bb.utils.contains("TUNE_FEATURES", "core2", " --enable-sse",
 EXTRA_OECONF += "${@bb.utils.contains("TUNE_FEATURES", "corei7", " --enable-sse", "", d)}"
 
 PACKAGES += "libflac libflac++ liboggflac liboggflac++"
-FILES_${PN} = "${bindir}/*"
-FILES_libflac = "${libdir}/libFLAC.so.*"
-FILES_libflac++ = "${libdir}/libFLAC++.so.*"
-FILES_liboggflac = "${libdir}/libOggFLAC.so.*"
-FILES_liboggflac++ = "${libdir}/libOggFLAC++.so.*"
+FILES:${PN} = "${bindir}/*"
+FILES:libflac = "${libdir}/libFLAC.so.*"
+FILES:libflac++ = "${libdir}/libFLAC++.so.*"
+FILES:liboggflac = "${libdir}/libOggFLAC.so.*"
+FILES:liboggflac++ = "${libdir}/libOggFLAC++.so.*"
 
diff --git a/meta/recipes-multimedia/gstreamer/gst-devtools_1.18.4.bb b/meta/recipes-multimedia/gstreamer/gst-devtools_1.18.4.bb
index 2a56967f7b7..be554a6a147 100644
--- a/meta/recipes-multimedia/gstreamer/gst-devtools_1.18.4.bb
+++ b/meta/recipes-multimedia/gstreamer/gst-devtools_1.18.4.bb
@@ -15,9 +15,9 @@ SRC_URI = "https://gstreamer.freedesktop.org/src/gst-devtools/gst-devtools-${PV}
 SRC_URI[sha256sum] = "ffbd194c40912cb5e7fca2863648bf9dd8257b7af97d3a60c4fcd4efd8526ccf"
 
 DEPENDS = "json-glib glib-2.0 glib-2.0-native gstreamer1.0 gstreamer1.0-plugins-base"
-RRECOMMENDS_${PN} = "git"
+RRECOMMENDS:${PN} = "git"
 
-FILES_${PN} += "${datadir}/gstreamer-1.0/* ${libdir}/gst-validate-launcher/* ${libdir}/gstreamer-1.0/*"
+FILES:${PN} += "${datadir}/gstreamer-1.0/* ${libdir}/gst-validate-launcher/* ${libdir}/gstreamer-1.0/*"
 
 inherit meson pkgconfig gettext upstream-version-is-even gobject-introspection
 
@@ -38,7 +38,7 @@ EXTRA_OEMESON += " \
     ${@gettext_oemeson(d)} \
 "
 
-do_install_append () {
+do_install:append () {
      for fn in ${bindir}/gst-validate-launcher \
          ${libdir}/gst-validate-launcher/python/launcher/config.py; do
              sed -i -e 's,${B},/usr/src/debug/${PN},g' -e 's,${S},/usr/src/debug/${PN},g' ${D}$fn
diff --git a/meta/recipes-multimedia/gstreamer/gst-examples_1.18.4.bb b/meta/recipes-multimedia/gstreamer/gst-examples_1.18.4.bb
index 4670ab34db8..9d8fef86ed4 100644
--- a/meta/recipes-multimedia/gstreamer/gst-examples_1.18.4.bb
+++ b/meta/recipes-multimedia/gstreamer/gst-examples_1.18.4.bb
@@ -22,14 +22,14 @@ UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+\.(\d*[02468])+(\.\d+)+)"
 
 ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
 
-do_install_append() {
+do_install:append() {
 	install -m 0644 -D ${WORKDIR}/gst-player.desktop ${D}${datadir}/applications/gst-player.desktop
 }
 
-RDEPENDS_${PN} = "gstreamer1.0-plugins-base-playback"
-RRECOMMENDS_${PN} = "gstreamer1.0-plugins-base-meta \
+RDEPENDS:${PN} = "gstreamer1.0-plugins-base-playback"
+RRECOMMENDS:${PN} = "gstreamer1.0-plugins-base-meta \
                      gstreamer1.0-plugins-good-meta \
                      gstreamer1.0-plugins-bad-meta \
                       ${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "gstreamer1.0-libav", "", d)} \
                      ${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "gstreamer1.0-plugins-ugly-meta", "", d)}"
-RPROVIDES_${PN} += "gst-player gst-player-bin"
+RPROVIDES:${PN} += "gst-player gst-player-bin"
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.18.4.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.18.4.bb
index 6a84f92f31d..0c4f50c564f 100644
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.18.4.bb
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.18.4.bb
@@ -20,5 +20,5 @@ DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base ffmpeg"
 
 inherit meson pkgconfig upstream-version-is-even
 
-FILES_${PN} += "${libdir}/gstreamer-1.0/*.so"
-FILES_${PN}-staticdev += "${libdir}/gstreamer-1.0/*.a"
+FILES:${PN} += "${libdir}/gstreamer-1.0/*.so"
+FILES:${PN}-staticdev += "${libdir}/gstreamer-1.0/*.a"
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-meta-base.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-meta-base.bb
index 016e176707e..57a9adbaec5 100644
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-meta-base.bb
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-meta-base.bb
@@ -18,13 +18,13 @@ PACKAGES = "\
     gstreamer1.0-meta-debug \
     gstreamer1.0-meta-video"
 
-ALLOW_EMPTY_gstreamer1.0-meta-base = "1"
-ALLOW_EMPTY_gstreamer1.0-meta-x11-base = "1"
-ALLOW_EMPTY_gstreamer1.0-meta-audio = "1"
-ALLOW_EMPTY_gstreamer1.0-meta-debug = "1"
-ALLOW_EMPTY_gstreamer1.0-meta-video = "1"
+ALLOW_EMPTY:gstreamer1.0-meta-base = "1"
+ALLOW_EMPTY:gstreamer1.0-meta-x11-base = "1"
+ALLOW_EMPTY:gstreamer1.0-meta-audio = "1"
+ALLOW_EMPTY:gstreamer1.0-meta-debug = "1"
+ALLOW_EMPTY:gstreamer1.0-meta-video = "1"
 
-RDEPENDS_gstreamer1.0-meta-base = "\
+RDEPENDS:gstreamer1.0-meta-base = "\
     ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'gstreamer1.0-meta-x11-base', '', d)} \
     gstreamer1.0 \
     gstreamer1.0-plugins-base-playback \
@@ -39,11 +39,11 @@ RDEPENDS_gstreamer1.0-meta-base = "\
     gstreamer1.0-plugins-good-autodetect \
     gstreamer1.0-plugins-good-soup"
 
-RRECOMMENDS_gstreamer1.0-meta-x11-base = "\
+RRECOMMENDS:gstreamer1.0-meta-x11-base = "\
     gstreamer1.0-plugins-base-ximagesink \
     gstreamer1.0-plugins-base-xvimagesink"
 
-RDEPENDS_gstreamer1.0-meta-audio = "\
+RDEPENDS:gstreamer1.0-meta-audio = "\
     gstreamer1.0-meta-base \
     gstreamer1.0-plugins-base-vorbis \
     gstreamer1.0-plugins-base-ogg \
@@ -51,18 +51,18 @@ RDEPENDS_gstreamer1.0-meta-audio = "\
     gstreamer1.0-plugins-good-flac \
     ${COMMERCIAL_AUDIO_PLUGINS}"
 
-RDEPENDS_gstreamer1.0-meta-debug = "\
+RDEPENDS:gstreamer1.0-meta-debug = "\
     gstreamer1.0-meta-base \
     gstreamer1.0-plugins-good-debug \
     gstreamer1.0-plugins-base-audiotestsrc \
     gstreamer1.0-plugins-base-videotestsrc"
 
-RDEPENDS_gstreamer1.0-meta-video = "\
+RDEPENDS:gstreamer1.0-meta-video = "\
     gstreamer1.0-meta-base \
     gstreamer1.0-plugins-good-avi \
     gstreamer1.0-plugins-good-matroska \
     gstreamer1.0-plugins-base-theora \
     ${COMMERCIAL_VIDEO_PLUGINS}"
 
-RRECOMMENDS_gstreamer1.0-meta-video = "\
+RRECOMMENDS:gstreamer1.0-meta-video = "\
     gstreamer1.0-meta-audio"
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.18.4.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.18.4.bb
index d38be035f9c..7baccfe2888 100644
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.18.4.bb
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.18.4.bb
@@ -40,8 +40,8 @@ set_omx_core_name() {
 }
 do_install[postfuncs] += " set_omx_core_name "
 
-FILES_${PN} += "${libdir}/gstreamer-1.0/*.so"
-FILES_${PN}-staticdev += "${libdir}/gstreamer-1.0/*.a"
+FILES:${PN} += "${libdir}/gstreamer-1.0/*.so"
+FILES:${PN}-staticdev += "${libdir}/gstreamer-1.0/*.a"
 
 VIRTUAL-RUNTIME_libomxil ?= "libomxil"
-RDEPENDS_${PN} = "${VIRTUAL-RUNTIME_libomxil}"
+RDEPENDS:${PN} = "${VIRTUAL-RUNTIME_libomxil}"
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.18.4.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.18.4.bb
index 96f01391b4c..81c8391213a 100644
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.18.4.bb
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.18.4.bb
@@ -145,10 +145,10 @@ EXTRA_OEMESON += " \
 
 export OPENCV_PREFIX = "${STAGING_DIR_TARGET}${prefix}"
 
-ARM_INSTRUCTION_SET_armv4 = "arm"
-ARM_INSTRUCTION_SET_armv5 = "arm"
+ARM_INSTRUCTION_SET:armv4 = "arm"
+ARM_INSTRUCTION_SET:armv5 = "arm"
 
-FILES_${PN}-freeverb += "${datadir}/gstreamer-1.0/presets/GstFreeverb.prs"
-FILES_${PN}-opencv += "${datadir}/gst-plugins-bad/1.0/opencv*"
-FILES_${PN}-transcode += "${datadir}/gstreamer-1.0/encoding-profiles"
-FILES_${PN}-voamrwbenc += "${datadir}/gstreamer-1.0/presets/GstVoAmrwbEnc.prs"
+FILES:${PN}-freeverb += "${datadir}/gstreamer-1.0/presets/GstFreeverb.prs"
+FILES:${PN}-opencv += "${datadir}/gst-plugins-bad/1.0/opencv*"
+FILES:${PN}-transcode += "${datadir}/gstreamer-1.0/encoding-profiles"
+FILES:${PN}-voamrwbenc += "${datadir}/gstreamer-1.0/presets/GstVoAmrwbEnc.prs"
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.18.4.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.18.4.bb
index 73b433ab91b..90a8d7dfbb9 100644
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.18.4.bb
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.18.4.bb
@@ -78,8 +78,8 @@ EXTRA_OEMESON += " \
     ${@get_opengl_cmdline_list('gl_winsys', d.getVar('OPENGL_WINSYS'), d)} \
 "
 
-FILES_${PN}-dev += "${libdir}/gstreamer-1.0/include/gst/gl/gstglconfig.h"
-FILES_${MLPREFIX}libgsttag-1.0 += "${datadir}/gst-plugins-base/1.0/license-translations.dict"
+FILES:${PN}-dev += "${libdir}/gstreamer-1.0/include/gst/gl/gstglconfig.h"
+FILES:${MLPREFIX}libgsttag-1.0 += "${datadir}/gst-plugins-base/1.0/license-translations.dict"
 
 def get_opengl_cmdline_list(switch_name, options, d):
     selected_options = []
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc
index cb1c9aaec18..54dd92873f0 100644
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc
@@ -21,7 +21,7 @@ GSTREAMER_ORC ?= "orc"
 # workaround to disable orc on mips to fix the build failure
 # {standard input}: Assembler messages:
 # {standard input}:46587: Error: branch out of range
-GSTREAMER_ORC_mips = ""
+GSTREAMER_ORC:mips = ""
 PACKAGECONFIG[orc] = "-Dorc=enabled,-Dorc=disabled,orc orc-native"
 
 # TODO: put this in a gettext.bbclass patch (with variables to allow for
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.18.4.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.18.4.bb
index c7d31d206d6..a90594ade5c 100644
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.18.4.bb
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.18.4.bb
@@ -19,8 +19,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \
                     file://gst/replaygain/rganalysis.c;beginline=1;endline=23;md5=b60ebefd5b2f5a8e0cab6bfee391a5fe"
 
 DEPENDS += "gstreamer1.0-plugins-base libcap zlib"
-RPROVIDES_${PN}-pulseaudio += "${PN}-pulse"
-RPROVIDES_${PN}-soup += "${PN}-souphttpsrc"
+RPROVIDES:${PN}-pulseaudio += "${PN}-pulse"
+RPROVIDES:${PN}-soup += "${PN}-souphttpsrc"
 
 PACKAGECONFIG ??= " \
     ${GSTREAMER_ORC} \
@@ -75,4 +75,4 @@ EXTRA_OEMESON += " \
     -Dwaveform=disabled \
 "
 
-FILES_${PN}-equalizer += "${datadir}/gstreamer-1.0/presets/*.prs"
+FILES:${PN}-equalizer += "${datadir}/gstreamer-1.0/presets/*.prs"
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-packaging.inc b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-packaging.inc
index 5b80a46b404..e906053ac02 100644
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-packaging.inc
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-packaging.inc
@@ -9,8 +9,8 @@
 # Dynamically generate packages for all enabled plugins
 PACKAGES_DYNAMIC = "^${PN}-.* ^libgst.*"
 
-PACKAGESPLITFUNCS_prepend = " split_gstreamer10_packages "
-PACKAGESPLITFUNCS_append = " set_gstreamer10_metapkg_rdepends "
+PACKAGESPLITFUNCS:prepend = " split_gstreamer10_packages "
+PACKAGESPLITFUNCS:append = " set_gstreamer10_metapkg_rdepends "
 
 python split_gstreamer10_packages () {
     gst_libdir = d.expand('${libdir}/gstreamer-1.0')
@@ -36,8 +36,8 @@ python set_gstreamer10_metapkg_rdepends () {
 
     pn = d.getVar('PN')
     metapkg =  pn + '-meta'
-    d.setVar('ALLOW_EMPTY_' + metapkg, "1")
-    d.setVar('FILES_' + metapkg, "")
+    d.setVar('ALLOW_EMPTY:' + metapkg, "1")
+    d.setVar('FILES:' + metapkg, "")
     blacklist = [ pn, pn + '-meta' ]
     metapkg_rdepends = []
     pkgdest = d.getVar('PKGDEST')
@@ -54,20 +54,20 @@ python set_gstreamer10_metapkg_rdepends () {
             is_empty = len(dir_contents) == 0
             if not is_empty:
                 metapkg_rdepends.append(pkg)
-    d.setVar('RDEPENDS_' + metapkg, ' '.join(metapkg_rdepends))
-    d.setVar('DESCRIPTION_' + metapkg, pn + ' meta package')
+    d.setVar('RDEPENDS:' + metapkg, ' '.join(metapkg_rdepends))
+    d.setVar('DESCRIPTION:' + metapkg, pn + ' meta package')
 }
 
 # each plugin-dev depends on PN-dev, plugin-staticdev on PN-staticdev
 # so we need them even when empty (like in gst-plugins-good case)
-ALLOW_EMPTY_${PN} = "1"
-ALLOW_EMPTY_${PN}-dev = "1"
-ALLOW_EMPTY_${PN}-staticdev = "1"
+ALLOW_EMPTY:${PN} = "1"
+ALLOW_EMPTY:${PN}-dev = "1"
+ALLOW_EMPTY:${PN}-staticdev = "1"
 
 PACKAGES += "${PN}-apps ${PN}-meta ${PN}-glib"
 
-FILES_${PN} = ""
-FILES_${PN}-apps = "${bindir}"
-FILES_${PN}-glib = "${datadir}/glib-2.0"
+FILES:${PN} = ""
+FILES:${PN}-apps = "${bindir}"
+FILES:${PN}-glib = "${datadir}/glib-2.0"
 
-RRECOMMENDS_${PN} += "${PN}-meta"
+RRECOMMENDS:${PN} += "${PN}-meta"
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.18.4.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.18.4.bb
index 932fa7f6fb5..817dffe8391 100644
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.18.4.bb
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.18.4.bb
@@ -39,5 +39,5 @@ EXTRA_OEMESON += " \
     -Dsidplay=disabled \
 "
 
-FILES_${PN}-amrnb += "${datadir}/gstreamer-1.0/presets/GstAmrnbEnc.prs"
-FILES_${PN}-x264 += "${datadir}/gstreamer-1.0/presets/GstX264Enc.prs"
+FILES:${PN}-amrnb += "${datadir}/gstreamer-1.0/presets/GstAmrnbEnc.prs"
+FILES:${PN}-x264 += "${datadir}/gstreamer-1.0/presets/GstX264Enc.prs"
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.18.4.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.18.4.bb
index 49de3dac841..2fd73cb3898 100644
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.18.4.bb
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.18.4.bb
@@ -11,7 +11,7 @@ SRC_URI = "https://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${PV}.tar.x
 SRC_URI[sha256sum] = "cb68e08a7e825e08b83a12a22dcd6e4f1b328a7b02a7ac84f42f68f4ddc7098e"
 
 DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base python3-pygobject"
-RDEPENDS_${PN} += "gstreamer1.0 gstreamer1.0-plugins-base python3-pygobject"
+RDEPENDS:${PN} += "gstreamer1.0 gstreamer1.0-plugins-base python3-pygobject"
 
 PNREAL = "gst-python"
 
@@ -21,6 +21,6 @@ EXTRA_OEMESON += "-Dlibpython-dir=${libdir}"
 
 # gobject-introspection is mandatory and cannot be configured
 REQUIRED_DISTRO_FEATURES = "gobject-introspection-data"
-UNKNOWN_CONFIGURE_WHITELIST_append = " introspection"
+UNKNOWN_CONFIGURE_WHITELIST:append = " introspection"
 
 inherit meson pkgconfig distutils3-base upstream-version-is-even gobject-introspection features_check
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.18.4.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.18.4.bb
index a268d79541f..5c9025fbb67 100644
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.18.4.bb
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.18.4.bb
@@ -47,7 +47,7 @@ PACKAGECONFIG[glx] = "-Dwith_glx=yes,-Dwith_glx=no,virtual/libgl"
 PACKAGECONFIG[wayland] = "-Dwith_wayland=yes,-Dwith_wayland=no,wayland-native wayland wayland-protocols"
 PACKAGECONFIG[x11] = "-Dwith_x11=yes,-Dwith_x11=no,virtual/libx11 libxrandr libxrender"
 
-FILES_${PN} += "${libdir}/gstreamer-*/*.so"
-FILES_${PN}-dbg += "${libdir}/gstreamer-*/.debug"
-FILES_${PN}-dev += "${libdir}/gstreamer-*/*.a"
-FILES_${PN}-tests = "${bindir}/*"
+FILES:${PN} += "${libdir}/gstreamer-*/*.so"
+FILES:${PN}-dbg += "${libdir}/gstreamer-*/.debug"
+FILES:${PN}-dev += "${libdir}/gstreamer-*/*.a"
+FILES:${PN}-tests = "${bindir}/*"
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.18.4.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.18.4.bb
index 8f135b38390..ee418322ad0 100644
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.18.4.bb
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.18.4.bb
@@ -65,10 +65,10 @@ GIR_MESON_DISABLE_FLAG = "disabled"
 PACKAGES += "${PN}-bash-completion"
 
 # Add the core element plugins to the main package
-FILES_${PN} += "${libdir}/gstreamer-1.0/*.so"
-FILES_${PN}-dev += "${libdir}/gstreamer-1.0/*.a ${libdir}/gstreamer-1.0/include"
-FILES_${PN}-bash-completion += "${datadir}/bash-completion/completions/ ${datadir}/bash-completion/helpers/gst*"
-FILES_${PN}-dbg += "${datadir}/gdb ${datadir}/gstreamer-1.0/gdb"
+FILES:${PN} += "${libdir}/gstreamer-1.0/*.so"
+FILES:${PN}-dev += "${libdir}/gstreamer-1.0/*.a ${libdir}/gstreamer-1.0/include"
+FILES:${PN}-bash-completion += "${datadir}/bash-completion/completions/ ${datadir}/bash-completion/helpers/gst*"
+FILES:${PN}-dbg += "${datadir}/gdb ${datadir}/gstreamer-1.0/gdb"
 
 CVE_PRODUCT = "gstreamer"
 
diff --git a/meta/recipes-multimedia/lame/lame_3.100.bb b/meta/recipes-multimedia/lame/lame_3.100.bb
index d007e0a4959..4927c9f2b3e 100644
--- a/meta/recipes-multimedia/lame/lame_3.100.bb
+++ b/meta/recipes-multimedia/lame/lame_3.100.bb
@@ -20,7 +20,7 @@ SRC_URI[sha256sum] = "ddfe36cab873794038ae2c1210557ad34857a4b6bdc515785d1da9e175
 inherit autotools pkgconfig
 
 PACKAGES += "libmp3lame libmp3lame-dev"
-FILES_${PN} = "${bindir}/lame"
-FILES_libmp3lame = "${libdir}/libmp3lame.so.*"
-FILES_libmp3lame-dev = "${includedir} ${libdir}/*"
-FILES_${PN}-dev = ""
+FILES:${PN} = "${bindir}/lame"
+FILES:libmp3lame = "${libdir}/libmp3lame.so.*"
+FILES:libmp3lame-dev = "${includedir} ${libdir}/*"
+FILES:${PN}-dev = ""
diff --git a/meta/recipes-multimedia/liba52/liba52_0.7.4.bb b/meta/recipes-multimedia/liba52/liba52_0.7.4.bb
index 0ef5d947c31..ea16270cf89 100644
--- a/meta/recipes-multimedia/liba52/liba52_0.7.4.bb
+++ b/meta/recipes-multimedia/liba52/liba52_0.7.4.bb
@@ -25,5 +25,5 @@ EXTRA_OECONF = " --enable-shared "
 
 PACKAGES =+ "a52dec a52dec-doc"
 
-FILES_a52dec = " ${bindir}/* "
-FILES_a52dec-doc = " ${mandir}/man1/* "
+FILES:a52dec = " ${bindir}/* "
+FILES:a52dec-doc = " ${mandir}/man1/* "
diff --git a/meta/recipes-multimedia/libomxil/libomxil_0.9.3.bb b/meta/recipes-multimedia/libomxil/libomxil_0.9.3.bb
index 82cdaf54c7c..864d6bbeeac 100644
--- a/meta/recipes-multimedia/libomxil/libomxil_0.9.3.bb
+++ b/meta/recipes-multimedia/libomxil/libomxil_0.9.3.bb
@@ -36,10 +36,10 @@ PACKAGECONFIG[amr] = "--enable-amr,,"
 # The .so files under ${libdir}/bellagio are not intended to be versioned and symlinked.
 # Make sure they get packaged in the main package.
 #
-FILES_${PN} += "${libdir}/bellagio/*.so \
+FILES:${PN} += "${libdir}/bellagio/*.so \
                 ${libdir}/omxloaders/*${SOLIBS}"
-FILES_${PN}-staticdev += "${libdir}/bellagio/*.a \
+FILES:${PN}-staticdev += "${libdir}/bellagio/*.a \
                           ${libdir}/omxloaders/*.a"
-FILES_${PN}-dev += "${libdir}/bellagio/*.la \
+FILES:${PN}-dev += "${libdir}/bellagio/*.la \
                     ${libdir}/omxloaders/*.la \
                     ${libdir}/omxloaders/*${SOLIBSDEV}"
diff --git a/meta/recipes-multimedia/libpng/libpng_1.6.37.bb b/meta/recipes-multimedia/libpng/libpng_1.6.37.bb
index 0b0af756f64..7791b0eecfc 100644
--- a/meta/recipes-multimedia/libpng/libpng_1.6.37.bb
+++ b/meta/recipes-multimedia/libpng/libpng_1.6.37.bb
@@ -23,11 +23,11 @@ BINCONFIG = "${bindir}/libpng-config ${bindir}/libpng16-config"
 inherit autotools binconfig-disabled pkgconfig
 
 # Work around missing symbols
-EXTRA_OECONF_append_class-target = " ${@bb.utils.contains("TUNE_FEATURES", "neon", "--enable-arm-neon=on", "--enable-arm-neon=off", d)}"
+EXTRA_OECONF:append:class-target = " ${@bb.utils.contains("TUNE_FEATURES", "neon", "--enable-arm-neon=on", "--enable-arm-neon=off", d)}"
 
 PACKAGES =+ "${PN}-tools"
 
-FILES_${PN}-tools = "${bindir}/png-fix-itxt ${bindir}/pngfix ${bindir}/pngcp"
+FILES:${PN}-tools = "${bindir}/png-fix-itxt ${bindir}/pngfix ${bindir}/pngcp"
 
 BBCLASSEXTEND = "native nativesdk"
 
diff --git a/meta/recipes-multimedia/libsndfile/libsndfile1_1.0.28.bb b/meta/recipes-multimedia/libsndfile/libsndfile1_1.0.28.bb
index 044881a8591..443ca95e32f 100644
--- a/meta/recipes-multimedia/libsndfile/libsndfile1_1.0.28.bb
+++ b/meta/recipes-multimedia/libsndfile/libsndfile1_1.0.28.bb
@@ -37,7 +37,7 @@ PACKAGECONFIG[regtest] = "--enable-sqlite,--disable-sqlite,sqlite3"
 
 inherit autotools lib_package pkgconfig multilib_header
 
-do_install_append() {
+do_install:append() {
     oe_multilib_header sndfile.h
 }
 
diff --git a/meta/recipes-multimedia/libtiff/tiff_4.3.0.bb b/meta/recipes-multimedia/libtiff/tiff_4.3.0.bb
index 8f929ffb55d..6852758c6a9 100644
--- a/meta/recipes-multimedia/libtiff/tiff_4.3.0.bb
+++ b/meta/recipes-multimedia/libtiff/tiff_4.3.0.bb
@@ -47,10 +47,10 @@ PACKAGECONFIG[check-ycbcr-subsampling] = "--enable-check-ycbcr-subsampling,--dis
 PACKAGECONFIG[chunky-strip-read] = "--enable-chunky-strip-read,--disable-chunky-strip-read,,"
 
 PACKAGES =+ "tiffxx tiff-utils"
-FILES_tiffxx = "${libdir}/libtiffxx.so.*"
-FILES_tiff-utils = "${bindir}/*"
+FILES:tiffxx = "${libdir}/libtiffxx.so.*"
+FILES:tiff-utils = "${bindir}/*"
 
-do_install_append() {
+do_install:append() {
     oe_multilib_header tiffconf.h
 }
 
diff --git a/meta/recipes-multimedia/mpeg2dec/mpeg2dec_0.5.1.bb b/meta/recipes-multimedia/mpeg2dec/mpeg2dec_0.5.1.bb
index d6036025848..ee4b754c12c 100644
--- a/meta/recipes-multimedia/mpeg2dec/mpeg2dec_0.5.1.bb
+++ b/meta/recipes-multimedia/mpeg2dec/mpeg2dec_0.5.1.bb
@@ -34,18 +34,18 @@ PACKAGECONFIG[x11] = "--with-x,--without-x,virtual/libx11 libxext libxv"
 
 PACKAGES = "mpeg2dec-dbg mpeg2dec mpeg2dec-doc libmpeg2 libmpeg2-dev libmpeg2convert libmpeg2convert-dev libmpeg2-staticdev libmpeg2convert-staticdev"
 
-FILES_${PN} = "${bindir}/*"
-FILES_libmpeg2 = "${libdir}/libmpeg2.so.*"
-FILES_libmpeg2convert = "${libdir}/libmpeg2convert.so.*"
-FILES_libmpeg2-dev = "${libdir}/libmpeg2.so \
+FILES:${PN} = "${bindir}/*"
+FILES:libmpeg2 = "${libdir}/libmpeg2.so.*"
+FILES:libmpeg2convert = "${libdir}/libmpeg2convert.so.*"
+FILES:libmpeg2-dev = "${libdir}/libmpeg2.so \
                       ${libdir}/libmpeg2.la \
                       ${libdir}/libmpeg2arch.la \
                       ${libdir}/pkgconfig/libmpeg2.pc \
                       ${includedir}/mpeg2dec/mpeg2.h"
-FILES_libmpeg2-staticdev = "${libdir}/libmpeg2.a"
-FILES_libmpeg2convert-dev = "${libdir}/libmpeg2convert.so \
+FILES:libmpeg2-staticdev = "${libdir}/libmpeg2.a"
+FILES:libmpeg2convert-dev = "${libdir}/libmpeg2convert.so \
                              ${libdir}/libmpeg2convert.la \
                              ${libdir}/libmpeg2convertarch.la \
                              ${libdir}/pkgconfig/libmpeg2convert.pc \
                              ${includedir}/mpeg2dec/mpeg2convert.h"
-FILES_libmpeg2convert-staticdev = "${libdir}/libmpeg2convert.a"
+FILES:libmpeg2convert-staticdev = "${libdir}/libmpeg2convert.a"
diff --git a/meta/recipes-multimedia/mpg123/mpg123_1.28.2.bb b/meta/recipes-multimedia/mpg123/mpg123_1.28.2.bb
index ebe11d41382..896162a2510 100644
--- a/meta/recipes-multimedia/mpg123/mpg123_1.28.2.bb
+++ b/meta/recipes-multimedia/mpg123/mpg123_1.28.2.bb
@@ -48,5 +48,5 @@ EXTRA_OECONF = " \
 #| {standard input}:48: Error: shifts in CMP/MOV instructions are only supported in unified syntax -- `mov r5,r5,lsr#24'
 #...
 #| make[3]: *** [equalizer.lo] Error 1
-ARM_INSTRUCTION_SET_armv4 = "arm"
-ARM_INSTRUCTION_SET_armv5 = "arm"
+ARM_INSTRUCTION_SET:armv4 = "arm"
+ARM_INSTRUCTION_SET:armv5 = "arm"
diff --git a/meta/recipes-multimedia/pulseaudio/pulseaudio.inc b/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
index 4e226c616da..2fb107797a8 100644
--- a/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
+++ b/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
@@ -133,20 +133,20 @@ set_cfg_value () {
 	fi
 }
 
-do_compile_append () {
+do_compile:append () {
 	if ${@bb.utils.contains('PACKAGECONFIG', 'autospawn-for-root', 'true', 'false', d)}; then
 		set_cfg_value src/pulse/client.conf allow-autospawn-for-root yes
 	fi
 }
 
-do_install_append() {
+do_install:append() {
 	install -d ${D}${sysconfdir}/default/volatiles
 	install -m 0644 ${WORKDIR}/volatiles.04_pulse  ${D}${sysconfdir}/default/volatiles/04_pulse
 }
 
 USERADD_PACKAGES = "pulseaudio-server"
-GROUPADD_PARAM_pulseaudio-server = "--system pulse"
-USERADD_PARAM_pulseaudio-server = "--system --home /var/run/pulse \
+GROUPADD_PARAM:pulseaudio-server = "--system pulse"
+USERADD_PARAM:pulseaudio-server = "--system --home /var/run/pulse \
                               --no-create-home --shell /bin/false \
                               --groups audio,pulse --gid pulse pulse"
 
@@ -168,49 +168,49 @@ PACKAGES =+ "\
 PACKAGES =+ "${@bb.utils.contains('PACKAGECONFIG', 'dbus', 'pulseaudio-module-console-kit', '', d)}"
 
 #upgrade path:
-RREPLACES_pulseaudio-server = "libpulse-bin libpulse-conf"
+RREPLACES:pulseaudio-server = "libpulse-bin libpulse-conf"
 
 PACKAGES_DYNAMIC += "^pulseaudio-lib-.* ^pulseaudio-module-.*"
 
-FILES_libpulsecore = "${libdir}/pulseaudio/libpulsecore*.so"
-FILES_libpulsecommon = "${libdir}/pulseaudio/libpulsecommon*.so"
+FILES:libpulsecore = "${libdir}/pulseaudio/libpulsecore*.so"
+FILES:libpulsecommon = "${libdir}/pulseaudio/libpulsecommon*.so"
 
 # client.conf configures the behaviour of libpulse, so it belongs in the same
 # package.
-FILES_libpulse = "${libdir}/libpulse.so.* ${sysconfdir}/pulse/client.conf"
+FILES:libpulse = "${libdir}/libpulse.so.* ${sysconfdir}/pulse/client.conf"
 
-FILES_libpulse-simple = "${libdir}/libpulse-simple.so.*"
-FILES_libpulse-mainloop-glib = "${libdir}/libpulse-mainloop-glib.so.*"
+FILES:libpulse-simple = "${libdir}/libpulse-simple.so.*"
+FILES:libpulse-mainloop-glib = "${libdir}/libpulse-mainloop-glib.so.*"
 
-FILES_${PN}-dev += "${libdir}/pulse-${PV}/modules/*.la ${datadir}/vala"
-FILES_${PN}-bin += "${sysconfdir}/default/volatiles/04_pulse"
-FILES_${PN}-pa-info = "${bindir}/pa-info"
-FILES_${PN}-server = "${bindir}/pulseaudio ${bindir}/start-* ${sysconfdir} ${bindir}/pactl */udev/rules.d/*.rules */*/udev/rules.d/*.rules ${systemd_user_unitdir}/*"
+FILES:${PN}-dev += "${libdir}/pulse-${PV}/modules/*.la ${datadir}/vala"
+FILES:${PN}-bin += "${sysconfdir}/default/volatiles/04_pulse"
+FILES:${PN}-pa-info = "${bindir}/pa-info"
+FILES:${PN}-server = "${bindir}/pulseaudio ${bindir}/start-* ${sysconfdir} ${bindir}/pactl */udev/rules.d/*.rules */*/udev/rules.d/*.rules ${systemd_user_unitdir}/*"
 
 #SYSTEMD_PACKAGES = "${PN}-server"
-SYSTEMD_SERVICE_${PN}-server = "pulseaudio.service"
+SYSTEMD_SERVICE:${PN}-server = "pulseaudio.service"
 
-FILES_${PN}-misc = "${bindir}/* ${libdir}/pulseaudio/libpulsedsp.so"
+FILES:${PN}-misc = "${bindir}/* ${libdir}/pulseaudio/libpulsedsp.so"
 
 # Allow the pulseaudio package to be created empty as a placeholder (-dbg and -dev depend on it)
-FILES_${PN} = ""
-ALLOW_EMPTY_${PN} = "1"
+FILES:${PN} = ""
+ALLOW_EMPTY:${PN} = "1"
 
-CONFFILES_libpulse = "${sysconfdir}/pulse/client.conf"
+CONFFILES:libpulse = "${sysconfdir}/pulse/client.conf"
 
-CONFFILES_pulseaudio-server = "\ 
+CONFFILES:pulseaudio-server = "\ 
   ${sysconfdir}/pulse/default.pa \
   ${sysconfdir}/pulse/daemon.conf \
   ${sysconfdir}/pulse/system.pa \
   "
 
-pkg_postinst_${PN}-server() {
+pkg_postinst:${PN}-server() {
         if [ -z "$D" ] && [ -e ${sysconfdir}/init.d/populate-volatile.sh ] ; then
             ${sysconfdir}/init.d/populate-volatile.sh update
         fi
 }
 
-python populate_packages_prepend() {
+python populate_packages:prepend() {
     plugindir = d.expand('${libdir}/pulse-${PV}/modules/')
     do_split_packages(d, plugindir, r'^module-(.*)\.so$', '${PN}-module-%s', 'PulseAudio module for %s', extra_depends='', prepend=True)
     do_split_packages(d, plugindir, r'^lib(.*)\.so$', '${PN}-lib-%s', 'PulseAudio library for %s', extra_depends='', prepend=True)
@@ -218,7 +218,7 @@ python populate_packages_prepend() {
 
 # pa-info is a bash script that collects information about the audio setup.
 # It's primarily useful for attaching an information dump when reporting bugs.
-RDEPENDS_${PN}-pa-info = "\
+RDEPENDS:${PN}-pa-info = "\
                           alsa-utils-amixer \
                           alsa-utils-aplay \
                           alsa-utils-scripts \
@@ -226,7 +226,7 @@ RDEPENDS_${PN}-pa-info = "\
                           ${PN}-server \
                           "
 
-RDEPENDS_pulseaudio-server = " \
+RDEPENDS:pulseaudio-server = " \
     pulseaudio-module-filter-apply \
     pulseaudio-module-filter-heuristics \
     pulseaudio-module-udev-detect \
@@ -252,23 +252,23 @@ RDEPENDS_pulseaudio-server = " \
 # If the server is installed, it's usually desirable to make ALSA applications
 # use PulseAudio. alsa-plugins-pulseaudio-conf will install the configuration
 # that makes the PulseAudio plugin the default ALSA device.
-RDEPENDS_pulseaudio-server += "alsa-plugins-pulseaudio-conf"
+RDEPENDS:pulseaudio-server += "alsa-plugins-pulseaudio-conf"
 
 # pulseaudio-module-console-kit is built whenever dbus is enabled by PACKAGECONFIG
 # but consolekit depends on libx11 and is available only for DISTRO with x11 in DISTRO_FEATURES
-RDEPENDS_pulseaudio-module-console-kit =+ "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'consolekit', '', d)}"
-RDEPENDS_pulseaudio-misc += "pulseaudio-module-cli-protocol-unix"
+RDEPENDS:pulseaudio-module-console-kit =+ "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'consolekit', '', d)}"
+RDEPENDS:pulseaudio-misc += "pulseaudio-module-cli-protocol-unix"
 
-FILES_${PN}-module-alsa-card += "${datadir}/pulseaudio/alsa-mixer"
+FILES:${PN}-module-alsa-card += "${datadir}/pulseaudio/alsa-mixer"
 
 GSETTINGS_PACKAGE = "${@bb.utils.contains('PACKAGECONFIG', 'gsettings', '${PN}-module-gsettings', '', d)}"
-FILES_${PN}-module-gsettings += "${libexecdir}/pulse/gsettings-helper ${datadir}/GConf/gsettings ${datadir}/glib-2.0/schemas"
+FILES:${PN}-module-gsettings += "${libexecdir}/pulse/gsettings-helper ${datadir}/GConf/gsettings ${datadir}/glib-2.0/schemas"
 
 # The console-kit module is good to have on X11 systems (it keeps PulseAudio
 # running for the duration of the user login session). The device-manager and
 # x11-* modules are referenced from the start-pulseaudio-x11 script, so those
 # modules must be installed when X11 is enabled.
-RDEPENDS_pulseaudio-server += "\
+RDEPENDS:pulseaudio-server += "\
         ${@bb.utils.contains('DISTRO_FEATURES', 'x11', '\
                 pulseaudio-module-device-manager \
                 pulseaudio-module-x11-cork-request \
@@ -276,6 +276,6 @@ RDEPENDS_pulseaudio-server += "\
                 pulseaudio-module-x11-xsmp \
         ', '', d)}"
 
-RDEPENDS_pulseaudio-server += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', \
+RDEPENDS:pulseaudio-server += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', \
                                   bb.utils.contains('DISTRO_FEATURES', 'systemd', 'pulseaudio-module-systemd-login', 'pulseaudio-module-console-kit', d), \
                                   '', d)}"
diff --git a/meta/recipes-multimedia/sbc/sbc_1.5.bb b/meta/recipes-multimedia/sbc/sbc_1.5.bb
index 04d82320c9a..13bba6b6b35 100644
--- a/meta/recipes-multimedia/sbc/sbc_1.5.bb
+++ b/meta/recipes-multimedia/sbc/sbc_1.5.bb
@@ -3,8 +3,8 @@ DESCRIPTION = "Bluetooth low-complexity, subband codec (SBC) library."
 HOMEPAGE = "https://www.bluez.org"
 SECTION = "libs"
 LICENSE = "GPLv2+ & LGPLv2.1+"
-LICENSE_${PN} = "LGPLv2.1+"
-LICENSE_${PN}-examples = "GPLv2+"
+LICENSE:${PN} = "LGPLv2.1+"
+LICENSE:${PN}-examples = "GPLv2+"
 LIC_FILES_CHKSUM = "file://COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e \
                     file://COPYING.LIB;md5=fb504b67c50331fc78734fed90fb0e09 \
                     file://src/sbcenc.c;beginline=1;endline=24;md5=08e7a70b127f4100ff2cd7d629147d8d \
@@ -21,4 +21,4 @@ SRC_URI[sha256sum] = "0cbad69823a99e8421fe0700e8cf9eeb8fa0c1ad28e8dbc2182b335350
 inherit autotools pkgconfig
 
 PACKAGES =+ "${PN}-examples"
-FILES_${PN}-examples += "${bindir}/*"
+FILES:${PN}-examples += "${bindir}/*"
diff --git a/meta/recipes-multimedia/speex/speexdsp_1.2.0.bb b/meta/recipes-multimedia/speex/speexdsp_1.2.0.bb
index 63696467613..bb7bc9aadec 100644
--- a/meta/recipes-multimedia/speex/speexdsp_1.2.0.bb
+++ b/meta/recipes-multimedia/speex/speexdsp_1.2.0.bb
@@ -21,7 +21,7 @@ EXTRA_OECONF = "\
 
 # speexdsp was split off from speex in 1.2rc2. Older versions of speex can't
 # be installed together with speexdsp, since they contain overlapping files.
-RCONFLICTS_${PN} = "speex (< 1.2rc2)"
-RCONFLICTS_${PN}-dbg = "speex-dbg (< 1.2rc2)"
-RCONFLICTS_${PN}-dev = "speex-dev (< 1.2rc2)"
-RCONFLICTS_${PN}-staticdev = "speex-staticdev (< 1.2rc2)"
+RCONFLICTS:${PN} = "speex (< 1.2rc2)"
+RCONFLICTS:${PN}-dbg = "speex-dbg (< 1.2rc2)"
+RCONFLICTS:${PN}-dev = "speex-dev (< 1.2rc2)"
+RCONFLICTS:${PN}-staticdev = "speex-staticdev (< 1.2rc2)"
diff --git a/meta/recipes-multimedia/webp/libwebp_1.2.0.bb b/meta/recipes-multimedia/webp/libwebp_1.2.0.bb
index 33bec2fe70c..9a3b5cd6b5f 100644
--- a/meta/recipes-multimedia/webp/libwebp_1.2.0.bb
+++ b/meta/recipes-multimedia/webp/libwebp_1.2.0.bb
@@ -30,8 +30,8 @@ EXTRA_OECONF = " \
 EXTRA_OECONF_ARM = " \
     ${@bb.utils.contains("TUNE_FEATURES","neon","--enable-neon","--disable-neon",d)} \
 "
-EXTRA_OECONF_append_arm = " ${EXTRA_OECONF_ARM}"
-EXTRA_OECONF_append_armeb = " ${EXTRA_OECONF_ARM}"
+EXTRA_OECONF:append:arm = " ${EXTRA_OECONF_ARM}"
+EXTRA_OECONF:append:armeb = " ${EXTRA_OECONF_ARM}"
 
 inherit autotools lib_package
 
@@ -51,5 +51,5 @@ PACKAGECONFIG[gl] = "--enable-gl,--disable-gl,mesa-glut"
 
 PACKAGES =+ "${PN}-gif2webp"
 
-DESCRIPTION_${PN}-gif2webp = "Simple tool to convert animated GIFs to WebP"
-FILES_${PN}-gif2webp = "${bindir}/gif2webp"
+DESCRIPTION:${PN}-gif2webp = "Simple tool to convert animated GIFs to WebP"
+FILES:${PN}-gif2webp = "${bindir}/gif2webp"
diff --git a/meta/recipes-multimedia/x264/x264_git.bb b/meta/recipes-multimedia/x264/x264_git.bb
index 902396e4bf2..9f23794df18 100644
--- a/meta/recipes-multimedia/x264/x264_git.bb
+++ b/meta/recipes-multimedia/x264/x264_git.bb
@@ -23,11 +23,11 @@ S = "${WORKDIR}/git"
 inherit lib_package pkgconfig
 
 X264_DISABLE_ASM = ""
-X264_DISABLE_ASM_x86 = "--disable-asm"
-X264_DISABLE_ASM_armv4 = "--disable-asm"
-X264_DISABLE_ASM_armv5 = "--disable-asm"
-X264_DISABLE_ASM_powerpc = "${@bb.utils.contains("TUNE_FEATURES", "spe", "--disable-asm", "", d)}"
-X264_DISABLE_ASM_mipsarch = "${@bb.utils.contains("TUNE_FEATURES", "r6", "", "--disable-asm", d)}"
+X264_DISABLE_ASM:x86 = "--disable-asm"
+X264_DISABLE_ASM:armv4 = "--disable-asm"
+X264_DISABLE_ASM:armv5 = "--disable-asm"
+X264_DISABLE_ASM:powerpc = "${@bb.utils.contains("TUNE_FEATURES", "spe", "--disable-asm", "", d)}"
+X264_DISABLE_ASM:mipsarch = "${@bb.utils.contains("TUNE_FEATURES", "r6", "", "--disable-asm", d)}"
 
 EXTRA_OECONF = '--prefix=${prefix} \
                 --host=${HOST_SYS} \
diff --git a/meta/recipes-rt/rt-tests/hwlatdetect_git.bb b/meta/recipes-rt/rt-tests/hwlatdetect_git.bb
index 5f61c4ecddc..14e319ae576 100644
--- a/meta/recipes-rt/rt-tests/hwlatdetect_git.bb
+++ b/meta/recipes-rt/rt-tests/hwlatdetect_git.bb
@@ -21,6 +21,6 @@ do_install() {
         sed -i -e '1s,#!.*python.*,#!${bindir}/python3,' ${D}${libdir}/python${PYTHON_BASEVERSION}/dist-packages/hwlatdetect.py
 }
 
-FILES_${PN} += "${libdir}/python${PYTHON_BASEVERSION}/dist-packages/hwlatdetect.py"
-RDEPENDS_${PN} = "python3-core "
-RRECOMMENDS_${PN} = "kernel-module-hwlat-detector"
+FILES:${PN} += "${libdir}/python${PYTHON_BASEVERSION}/dist-packages/hwlatdetect.py"
+RDEPENDS:${PN} = "python3-core "
+RRECOMMENDS:${PN} = "kernel-module-hwlat-detector"
diff --git a/meta/recipes-rt/rt-tests/rt-tests_git.bb b/meta/recipes-rt/rt-tests/rt-tests_git.bb
index 89e3323b69e..e86f7922bf3 100644
--- a/meta/recipes-rt/rt-tests/rt-tests_git.bb
+++ b/meta/recipes-rt/rt-tests/rt-tests_git.bb
@@ -16,7 +16,7 @@ SRC_URI += " \
            "
 
 # rt-tests needs PI mutex support in libc
-COMPATIBLE_HOST_libc-musl = 'null'
+COMPATIBLE_HOST:libc-musl = 'null'
 
 # Do not install hwlatdetect
 EXTRA_OEMAKE += "PYLIB=''"
@@ -30,7 +30,7 @@ do_install_ptest() {
         cp ${WORKDIR}/rt_bmark.py ${D}${PTEST_PATH}
 }
 
-RDEPENDS_${PN}-ptest += " stress-ng python3 python3-multiprocessing python3-datetime python3-misc"
+RDEPENDS:${PN}-ptest += " stress-ng python3 python3-multiprocessing python3-datetime python3-misc"
 
-FILES_${PN} += "${prefix}/src/backfire"
-RDEPENDS_${PN} += "bash"
+FILES:${PN} += "${prefix}/src/backfire"
+RDEPENDS:${PN} += "bash"
diff --git a/meta/recipes-sato/images/core-image-sato.bb b/meta/recipes-sato/images/core-image-sato.bb
index e50b24a4769..35d06677379 100644
--- a/meta/recipes-sato/images/core-image-sato.bb
+++ b/meta/recipes-sato/images/core-image-sato.bb
@@ -9,8 +9,8 @@ LICENSE = "MIT"
 
 inherit core-image
 
-TOOLCHAIN_HOST_TASK_append = " nativesdk-intltool nativesdk-glib-2.0"
-TOOLCHAIN_HOST_TASK_remove_task-populate-sdk-ext = " nativesdk-intltool nativesdk-glib-2.0"
+TOOLCHAIN_HOST_TASK:append = " nativesdk-intltool nativesdk-glib-2.0"
+TOOLCHAIN_HOST_TASK:remove:task-populate-sdk-ext = " nativesdk-intltool nativesdk-glib-2.0"
 
 QB_MEM = '${@bb.utils.contains("DISTRO_FEATURES", "opengl", "-m 512", "-m 256", d)}'
-QB_MEM_qemumips = "-m 256"
+QB_MEM:qemumips = "-m 256"
diff --git a/meta/recipes-sato/l3afpad/l3afpad_git.bb b/meta/recipes-sato/l3afpad/l3afpad_git.bb
index 85c2c500ead..f19d03896bb 100644
--- a/meta/recipes-sato/l3afpad/l3afpad_git.bb
+++ b/meta/recipes-sato/l3afpad/l3afpad_git.bb
@@ -26,4 +26,4 @@ inherit autotools pkgconfig features_check mime-xdg
 ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
 
 EXTRA_OECONF = "--disable-emacs --disable-print"
-FILES_${PN} += "${datadir}/icons"
+FILES:${PN} += "${datadir}/icons"
diff --git a/meta/recipes-sato/matchbox-config-gtk/matchbox-config-gtk_0.2.bb b/meta/recipes-sato/matchbox-config-gtk/matchbox-config-gtk_0.2.bb
index 547e851c152..d5fe9b5dcea 100644
--- a/meta/recipes-sato/matchbox-config-gtk/matchbox-config-gtk_0.2.bb
+++ b/meta/recipes-sato/matchbox-config-gtk/matchbox-config-gtk_0.2.bb
@@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
                     file://appearance/mb-appearance.c;endline=25;md5=ea92333cf8a6802639d62d874c114a28"
 
 DEPENDS = "gconf gtk+3"
-RDEPENDS_${PN} = "settings-daemon"
+RDEPENDS:${PN} = "settings-daemon"
 
 # SRCREV tagged 0.2
 SRCREV = "ef2192ce98d9374ffdad5f78544c3f8f353c16aa"
diff --git a/meta/recipes-sato/matchbox-desktop/matchbox-desktop_2.2.bb b/meta/recipes-sato/matchbox-desktop/matchbox-desktop_2.2.bb
index d775b5c6513..79ccb0391b0 100644
--- a/meta/recipes-sato/matchbox-desktop/matchbox-desktop_2.2.bb
+++ b/meta/recipes-sato/matchbox-desktop/matchbox-desktop_2.2.bb
@@ -26,9 +26,9 @@ inherit autotools pkgconfig features_check
 # The startup-notification requires x11 in DISTRO_FEATURES
 REQUIRED_DISTRO_FEATURES = "x11"
 
-do_install_append() {
+do_install:append() {
     install -d ${D}${datadir}/matchbox/vfolders/
     install -m 0644 ${WORKDIR}/vfolders/* ${D}${datadir}/matchbox/vfolders/
 }
 
-FILES_${PN} += "${datadir}/matchbox/vfolders/"
+FILES:${PN} += "${datadir}/matchbox/vfolders/"
diff --git a/meta/recipes-sato/matchbox-keyboard/matchbox-keyboard_0.1.1.bb b/meta/recipes-sato/matchbox-keyboard/matchbox-keyboard_0.1.1.bb
index 49e37bd77c6..a8784118146 100644
--- a/meta/recipes-sato/matchbox-keyboard/matchbox-keyboard_0.1.1.bb
+++ b/meta/recipes-sato/matchbox-keyboard/matchbox-keyboard_0.1.1.bb
@@ -33,19 +33,19 @@ PACKAGECONFIG[gtk3-im] = "--enable-gtk3-im,--disable-gtk3-im,gtk+3"
 
 PACKAGES += "${PN}-im ${PN}-applet"
 
-FILES_${PN} = "${bindir}/ \
+FILES:${PN} = "${bindir}/ \
 	       ${sysconfdir} \
 	       ${datadir}/applications \
 	       ${datadir}/pixmaps \
 	       ${datadir}/matchbox-keyboard"
 
-FILES_${PN}-im = "${libdir}/gtk-2.0/*/immodules/*.so \
+FILES:${PN}-im = "${libdir}/gtk-2.0/*/immodules/*.so \
                   ${libdir}/gtk-3.0/*/immodules/*.so"
 
-FILES_${PN}-applet = "${libdir}/matchbox-panel/*.so"
+FILES:${PN}-applet = "${libdir}/matchbox-panel/*.so"
 
 
-do_install_append () {
+do_install:append () {
 	install -d ${D}/${sysconfdir}/X11/Xsession.d/
 	install -m 755 ${WORKDIR}/80matchboxkeyboard.sh ${D}/${sysconfdir}/X11/Xsession.d/
 
@@ -56,5 +56,5 @@ do_install_append () {
 
 GTKIMMODULES_PACKAGES = "${PN}-im"
 
-RDEPENDS_${PN} = "formfactor dbus-wait"
-RRECOMMENDS_${PN} = "${PN}-applet"
+RDEPENDS:${PN} = "formfactor dbus-wait"
+RRECOMMENDS:${PN} = "${PN}-applet"
diff --git a/meta/recipes-sato/matchbox-panel-2/matchbox-panel-2_2.11.bb b/meta/recipes-sato/matchbox-panel-2/matchbox-panel-2_2.11.bb
index c659964a2b1..c6de14e34eb 100644
--- a/meta/recipes-sato/matchbox-panel-2/matchbox-panel-2_2.11.bb
+++ b/meta/recipes-sato/matchbox-panel-2/matchbox-panel-2_2.11.bb
@@ -19,9 +19,9 @@ REQUIRED_DISTRO_FEATURES = "x11"
 # SRCREV tagged 2.11 plus some autotools fixes
 SRCREV = "f82ca3f42510fb3ef10f598b393eb373a2c34ca7"
 
-RPROVIDES_${PN} = "matchbox-panel"
-RREPLACES_${PN} = "matchbox-panel"
-RCONFLICTS_${PN} = "matchbox-panel"
+RPROVIDES:${PN} = "matchbox-panel"
+RREPLACES:${PN} = "matchbox-panel"
+RCONFLICTS:${PN} = "matchbox-panel"
 
 SRC_URI = "git://git.yoctoproject.org/${BPN} \
            file://0001-applets-systray-Allow-icons-to-be-smaller.patch \
@@ -33,10 +33,10 @@ EXTRA_OECONF += " ${@bb.utils.contains("MACHINE_FEATURES", "apm", "--with-batter
 
 S = "${WORKDIR}/git"
 
-FILES_${PN} += "${libdir}/matchbox-panel/*.so \
+FILES:${PN} += "${libdir}/matchbox-panel/*.so \
                 ${datadir}/matchbox-panel/brightness/*.png \
                 ${datadir}/matchbox-panel/startup/*.png \
                 ${datadir}/icons/"
-FILES_${PN}-dev += "${libdir}/matchbox-panel/*.la"
+FILES:${PN}-dev += "${libdir}/matchbox-panel/*.la"
 
 inherit autotools pkgconfig features_check gettext
diff --git a/meta/recipes-sato/matchbox-sato/matchbox-session-sato_0.1.bb b/meta/recipes-sato/matchbox-sato/matchbox-session-sato_0.1.bb
index 966c5b5b92b..7af11c2f508 100644
--- a/meta/recipes-sato/matchbox-sato/matchbox-session-sato_0.1.bb
+++ b/meta/recipes-sato/matchbox-sato/matchbox-session-sato_0.1.bb
@@ -6,7 +6,7 @@ LICENSE = "GPLv2.0+"
 LIC_FILES_CHKSUM = "file://session;endline=3;md5=f8a5c5b9c279e52dc094d10e11c2be63"
 
 SECTION = "x11"
-RDEPENDS_${PN} = "formfactor matchbox-theme-sato matchbox-panel-2 matchbox-desktop matchbox-session gconf"
+RDEPENDS:${PN} = "formfactor matchbox-theme-sato matchbox-panel-2 matchbox-desktop matchbox-session gconf"
 PR = "r30"
 
 # This package is architecture specific because the session script is modified
@@ -22,7 +22,7 @@ SRC_URI = "file://session \
            file://index.theme"
 S = "${WORKDIR}"
 
-FILES_${PN} += "${datadir}/themes/Sato/index.theme"
+FILES:${PN} += "${datadir}/themes/Sato/index.theme"
 
 do_install() {
 	# This is the set of machine features that the script has markers for
@@ -43,7 +43,7 @@ do_install() {
 }
 
 PACKAGE_WRITE_DEPS += "gconf-native"
-pkg_postinst_${PN} () {
+pkg_postinst:${PN} () {
 	set_value() {
 		#type, name, value
 		gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults --direct --type $1 --set /desktop/poky/interface/$2 "$3"
diff --git a/meta/recipes-sato/matchbox-theme-sato/matchbox-theme-sato.inc b/meta/recipes-sato/matchbox-theme-sato/matchbox-theme-sato.inc
index ce683e9630a..bd680111d95 100644
--- a/meta/recipes-sato/matchbox-theme-sato/matchbox-theme-sato.inc
+++ b/meta/recipes-sato/matchbox-theme-sato/matchbox-theme-sato.inc
@@ -10,7 +10,7 @@ SECTION = "x11/wm"
 
 inherit autotools pkgconfig features_check
 
-FILES_${PN} += "${datadir}/themes"
+FILES:${PN} += "${datadir}/themes"
 
 # The matchbox-wm requires x11 in DISTRO_FEATURES
 REQUIRED_DISTRO_FEATURES = "x11"
diff --git a/meta/recipes-sato/packagegroups/packagegroup-core-x11-sato.bb b/meta/recipes-sato/packagegroups/packagegroup-core-x11-sato.bb
index 25725e078d6..cfa301a58d2 100644
--- a/meta/recipes-sato/packagegroups/packagegroup-core-x11-sato.bb
+++ b/meta/recipes-sato/packagegroups/packagegroup-core-x11-sato.bb
@@ -14,7 +14,7 @@ REQUIRED_DISTRO_FEATURES = "x11"
 
 PACKAGES = "${PN} ${PN}-base ${PN}-apps ${PN}-games"
 
-RDEPENDS_${PN} = "\
+RDEPENDS:${PN} = "\
     ${PN}-base \
     ${PN}-apps \
     ${PN}-games \
@@ -22,8 +22,8 @@ RDEPENDS_${PN} = "\
 
 NETWORK_MANAGER ?= "connman-gnome"
 
-SUMMARY_${PN}-base = "Sato desktop - base packages"
-RDEPENDS_${PN}-base = "\
+SUMMARY:${PN}-base = "Sato desktop - base packages"
+RDEPENDS:${PN}-base = "\
     matchbox-desktop \
     matchbox-session-sato \
     matchbox-keyboard \
@@ -45,10 +45,10 @@ WEB ?= ""
 #WEB = "epiphany"
 
 GSTEXAMPLES ?= "gst-examples"
-GSTEXAMPLES_riscv64 = ""
+GSTEXAMPLES:riscv64 = ""
 
-SUMMARY_${PN}-apps = "Sato desktop - applications"
-RDEPENDS_${PN}-apps = "\
+SUMMARY:${PN}-apps = "Sato desktop - applications"
+RDEPENDS:${PN}-apps = "\
     l3afpad \
     matchbox-terminal \
     sato-screenshot \
@@ -57,7 +57,7 @@ RDEPENDS_${PN}-apps = "\
     ${WEB} \
     "
 
-SUMMARY_${PN}-games = "Sato desktop - games"
-RDEPENDS_${PN}-games = "\
+SUMMARY:${PN}-games = "Sato desktop - games"
+RDEPENDS:${PN}-games = "\
     puzzles \
     "
diff --git a/meta/recipes-sato/pcmanfm/pcmanfm_1.3.2.bb b/meta/recipes-sato/pcmanfm/pcmanfm_1.3.2.bb
index d3a9b842275..aa1ac77e16d 100644
--- a/meta/recipes-sato/pcmanfm/pcmanfm_1.3.2.bb
+++ b/meta/recipes-sato/pcmanfm/pcmanfm_1.3.2.bb
@@ -28,13 +28,13 @@ REQUIRED_DISTRO_FEATURES = "x11"
 
 EXTRA_OECONF = "--with-gtk=3"
 
-do_install_append () {
+do_install:append () {
 	install -d ${D}/${datadir}
 	install -d ${D}/${datadir}/pixmaps/
 
 	install -m 0644 ${WORKDIR}/*.png ${D}/${datadir}/pixmaps
 }
 
-FILES_${PN} += "${libdir}/pcmanfm"
+FILES:${PN} += "${libdir}/pcmanfm"
 
-RRECOMMENDS_${PN} += "adwaita-icon-theme"
+RRECOMMENDS:${PN} += "adwaita-icon-theme"
diff --git a/meta/recipes-sato/pulseaudio-sato/pulseaudio-client-conf-sato_1.bb b/meta/recipes-sato/pulseaudio-sato/pulseaudio-client-conf-sato_1.bb
index e27339fb462..ec187ed9bd4 100644
--- a/meta/recipes-sato/pulseaudio-sato/pulseaudio-client-conf-sato_1.bb
+++ b/meta/recipes-sato/pulseaudio-sato/pulseaudio-client-conf-sato_1.bb
@@ -13,5 +13,5 @@ do_install() {
 	install -m 0644 ${S}/50-sato.conf ${D}${sysconfdir}/pulse/client.conf.d/50-sato.conf
 }
 
-FILES_${PN} = "${sysconfdir}/pulse/client.conf.d/50-sato.conf"
-CONFFILES_${PN} = "${sysconfdir}/pulse/client.conf.d/50-sato.conf"
+FILES:${PN} = "${sysconfdir}/pulse/client.conf.d/50-sato.conf"
+CONFFILES:${PN} = "${sysconfdir}/pulse/client.conf.d/50-sato.conf"
diff --git a/meta/recipes-sato/puzzles/puzzles_git.bb b/meta/recipes-sato/puzzles/puzzles_git.bb
index 44fa597008d..298e29f5599 100644
--- a/meta/recipes-sato/puzzles/puzzles_git.bb
+++ b/meta/recipes-sato/puzzles/puzzles_git.bb
@@ -27,7 +27,7 @@ inherit cmake features_check pkgconfig
 
 DEPENDS += "gtk+3"
 
-do_install_append () {
+do_install:append () {
     # net conflicts with Samba, so rename it
     mv ${D}${bindir}/net ${D}${bindir}/puzzles-net
 
diff --git a/meta/recipes-sato/rxvt-unicode/rxvt-unicode.inc b/meta/recipes-sato/rxvt-unicode/rxvt-unicode.inc
index ff2c8f009db..69b8a659ed4 100644
--- a/meta/recipes-sato/rxvt-unicode/rxvt-unicode.inc
+++ b/meta/recipes-sato/rxvt-unicode/rxvt-unicode.inc
@@ -16,10 +16,10 @@ SRC_URI = "http://dist.schmorp.de/rxvt-unicode/Attic/rxvt-unicode-${PV}.tar.bz2
 inherit autotools pkgconfig update-alternatives
 
 PROVIDES = "virtual/x-terminal-emulator"
-ALTERNATIVE_${PN} = "x-terminal-emulator"
+ALTERNATIVE:${PN} = "x-terminal-emulator"
 ALTERNATIVE_TARGET[x-terminal-emulator] = "${bindir}/rxvt"
 
-CFLAGS_append = " -fpermissive"
+CFLAGS:append = " -fpermissive"
 
 EXTRA_OECONF = "--enable-xim \
 		--enable-utmp --enable-wtmp --enable-lastlog \
@@ -31,25 +31,25 @@ EXTRA_OECONF = "--enable-xim \
 		--enable-combining --disable-perl \
 		--with-x=${STAGING_DIR_HOST}${prefix}"
 
-EXTRA_OECONF_append_libc-musl = " --disable-wtmp --disable-lastlog"
+EXTRA_OECONF:append:libc-musl = " --disable-wtmp --disable-lastlog"
 
 PACKAGECONFIG ??= ""
 PACKAGECONFIG[startup] = "--enable-startup-notification,--disable-startup-notification,startup-notification,"
 
-do_configure_prepend () {
+do_configure:prepend () {
 	if [ ! -e ${S}/acinclude.m4 ]; then
 		cp ${S}/aclocal.m4 ${S}/acinclude.m4
 	fi
 }
 
-do_compile_prepend () {
+do_compile:prepend () {
 	echo '#define UTMP_FILE "${localstatedir}/run/utmp"' >> config.h
 	echo '#define WTMP_FILE "${localstatedir}/log/wtmp"' >> config.h
 	echo '#define LASTLOG_FILE "${localstatedir}/log/lastlog"' >> config.h
 	echo '#define HAVE_XLOCALE 1' >> config.h
 }
 
-do_install_append () {
+do_install:append () {
 	install -d ${D}/${datadir}
 	install -d ${D}/${datadir}/applications
 	install -d ${D}/${datadir}/pixmaps/
@@ -58,4 +58,4 @@ do_install_append () {
 	install -m 0644 ${WORKDIR}/rxvt.desktop ${D}/${datadir}/applications
 }
 
-FILES_${PN} += "${datadir}/applications/rxvt.desktop ${datadir}/pixmaps/rxvt.png"
+FILES:${PN} += "${datadir}/applications/rxvt.desktop ${datadir}/pixmaps/rxvt.png"
diff --git a/meta/recipes-sato/sato-screenshot/sato-screenshot_0.3.bb b/meta/recipes-sato/sato-screenshot/sato-screenshot_0.3.bb
index 2b1f513f1c7..b2913b4ed5c 100644
--- a/meta/recipes-sato/sato-screenshot/sato-screenshot_0.3.bb
+++ b/meta/recipes-sato/sato-screenshot/sato-screenshot_0.3.bb
@@ -18,9 +18,9 @@ S = "${WORKDIR}/git"
 
 inherit autotools pkgconfig features_check
 
-FILES_${PN} += "${libdir}/matchbox-panel/*.so"
+FILES:${PN} += "${libdir}/matchbox-panel/*.so"
 
-do_install_append () {
+do_install:append () {
 	rm -f ${D}${libdir}/matchbox-panel/*.la
 }
 
diff --git a/meta/recipes-sato/settings-daemon/settings-daemon_0.0.2.bb b/meta/recipes-sato/settings-daemon/settings-daemon_0.0.2.bb
index d01177f9b95..742364f699c 100644
--- a/meta/recipes-sato/settings-daemon/settings-daemon_0.0.2.bb
+++ b/meta/recipes-sato/settings-daemon/settings-daemon_0.0.2.bb
@@ -19,12 +19,12 @@ S = "${WORKDIR}/git"
 
 inherit autotools pkgconfig gconf features_check
 
-FILES_${PN} = 	"${bindir}/* ${sysconfdir}"
+FILES:${PN} = 	"${bindir}/* ${sysconfdir}"
 
 # Requires gdk-x11-2.0 which is provided by gtk when x11 in DISTRO_FEATURES
 REQUIRED_DISTRO_FEATURES = "x11"
 
-do_install_append () {
+do_install:append () {
 	install -d ${D}/${sysconfdir}/X11/Xsession.d
 	install -m 755 ${WORKDIR}/70settings-daemon.sh ${D}/${sysconfdir}/X11/Xsession.d/
 }
diff --git a/meta/recipes-sato/shutdown-desktop/shutdown-desktop.bb b/meta/recipes-sato/shutdown-desktop/shutdown-desktop.bb
index 28d50960230..4bb896fc7bb 100644
--- a/meta/recipes-sato/shutdown-desktop/shutdown-desktop.bb
+++ b/meta/recipes-sato/shutdown-desktop/shutdown-desktop.bb
@@ -15,7 +15,7 @@ do_install() {
 	sed -i ${D}${datadir}/applications/shutdown.desktop -e 's#^Exec=\(.*\)#Exec=${base_sbindir}/\1#'
 }
 
-pkg_postinst_${PN} () {
+pkg_postinst:${PN} () {
     grep -q qemuarm $D${sysconfdir}/hostname && \
         sed -i $D${datadir}/applications/shutdown.desktop -e 's#^Exec=\(.*\)/halt#Exec=\1/reboot#' \
         || true
diff --git a/meta/recipes-sato/webkit/libwpe_1.10.1.bb b/meta/recipes-sato/webkit/libwpe_1.10.1.bb
index 4680c1e95e9..22fff93cab7 100644
--- a/meta/recipes-sato/webkit/libwpe_1.10.1.bb
+++ b/meta/recipes-sato/webkit/libwpe_1.10.1.bb
@@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=371a616eb4903c6cb79e9893a5f615cc"
 DEPENDS = "virtual/egl libxkbcommon"
 
 # Workaround build issue with RPi userland EGL libraries.
-CFLAGS_append_rpi = " ${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', '', '-D_GNU_SOURCE', d)}"
+CFLAGS:append_rpi = " ${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', '', '-D_GNU_SOURCE', d)}"
 
 inherit cmake features_check
 
diff --git a/meta/recipes-sato/webkit/webkitgtk_2.32.2.bb b/meta/recipes-sato/webkit/webkitgtk_2.32.2.bb
index 96b6cab49c1..89b13314e50 100644
--- a/meta/recipes-sato/webkit/webkitgtk_2.32.2.bb
+++ b/meta/recipes-sato/webkit/webkitgtk_2.32.2.bb
@@ -79,61 +79,61 @@ EXTRA_OECMAKE = " \
 		"
 
 # Javascript JIT is not supported on ARC
-EXTRA_OECMAKE_append_arc = " -DENABLE_JIT=OFF "
+EXTRA_OECMAKE:append:arc = " -DENABLE_JIT=OFF "
 # By default 25-bit "medium" calls are used on ARC
 # which is not enough for binaries larger than 32 MiB
-CFLAGS_append_arc = " -mlong-calls"
-CXXFLAGS_append_arc = " -mlong-calls"
+CFLAGS:append:arc = " -mlong-calls"
+CXXFLAGS:append:arc = " -mlong-calls"
 
 # Javascript JIT is not supported on powerpc
-EXTRA_OECMAKE_append_powerpc = " -DENABLE_JIT=OFF "
-EXTRA_OECMAKE_append_powerpc64 = " -DENABLE_JIT=OFF "
+EXTRA_OECMAKE:append:powerpc = " -DENABLE_JIT=OFF "
+EXTRA_OECMAKE:append:powerpc64 = " -DENABLE_JIT=OFF "
 
 # ARM JIT code does not build on ARMv4/5/6 anymore
-EXTRA_OECMAKE_append_armv5 = " -DENABLE_JIT=OFF "
-EXTRA_OECMAKE_append_armv6 = " -DENABLE_JIT=OFF "
-EXTRA_OECMAKE_append_armv4 = " -DENABLE_JIT=OFF "
+EXTRA_OECMAKE:append:armv5 = " -DENABLE_JIT=OFF "
+EXTRA_OECMAKE:append:armv6 = " -DENABLE_JIT=OFF "
+EXTRA_OECMAKE:append:armv4 = " -DENABLE_JIT=OFF "
 
-EXTRA_OECMAKE_append_mipsarch = " -DUSE_LD_GOLD=OFF "
-EXTRA_OECMAKE_append_powerpc = " -DUSE_LD_GOLD=OFF "
+EXTRA_OECMAKE:append:mipsarch = " -DUSE_LD_GOLD=OFF "
+EXTRA_OECMAKE:append:powerpc = " -DUSE_LD_GOLD=OFF "
 
 # JIT and gold linker does not work on RISCV
-EXTRA_OECMAKE_append_riscv32 = " -DUSE_LD_GOLD=OFF -DENABLE_JIT=OFF"
-EXTRA_OECMAKE_append_riscv64 = " -DUSE_LD_GOLD=OFF -DENABLE_JIT=OFF"
+EXTRA_OECMAKE:append:riscv32 = " -DUSE_LD_GOLD=OFF -DENABLE_JIT=OFF"
+EXTRA_OECMAKE:append:riscv64 = " -DUSE_LD_GOLD=OFF -DENABLE_JIT=OFF"
 
 # JIT not supported on MIPS either
-EXTRA_OECMAKE_append_mipsarch = " -DENABLE_JIT=OFF -DENABLE_C_LOOP=ON "
+EXTRA_OECMAKE:append:mipsarch = " -DENABLE_JIT=OFF -DENABLE_C_LOOP=ON "
 
 # JIT not supported on X32
 # An attempt was made to upstream JIT support for x32 in
 # https://bugs.webkit.org/show_bug.cgi?id=100450, but this was closed as
 # unresolved due to limited X32 adoption.
-EXTRA_OECMAKE_append_x86-x32 = " -DENABLE_JIT=OFF "
+EXTRA_OECMAKE:append:x86-x32 = " -DENABLE_JIT=OFF "
 
-SECURITY_CFLAGS_remove_aarch64 = "-fpie"
-SECURITY_CFLAGS_append_aarch64 = " -fPIE"
+SECURITY_CFLAGS:remove:aarch64 = "-fpie"
+SECURITY_CFLAGS:append:aarch64 = " -fPIE"
 
-FILES_${PN} += "${libdir}/webkit2gtk-4.0/injected-bundle/libwebkit2gtkinjectedbundle.so"
+FILES:${PN} += "${libdir}/webkit2gtk-4.0/injected-bundle/libwebkit2gtkinjectedbundle.so"
 
-RRECOMMENDS_${PN} += "ca-certificates shared-mime-info"
+RRECOMMENDS:${PN} += "ca-certificates shared-mime-info"
 
 # http://errors.yoctoproject.org/Errors/Details/20370/
-ARM_INSTRUCTION_SET_armv4 = "arm"
-ARM_INSTRUCTION_SET_armv5 = "arm"
-ARM_INSTRUCTION_SET_armv6 = "arm"
+ARM_INSTRUCTION_SET:armv4 = "arm"
+ARM_INSTRUCTION_SET:armv5 = "arm"
+ARM_INSTRUCTION_SET:armv6 = "arm"
 
 # https://bugzilla.yoctoproject.org/show_bug.cgi?id=9474
 # https://bugs.webkit.org/show_bug.cgi?id=159880
 # JSC JIT can build on ARMv7 with -marm, but doesn't work on runtime.
 # Upstream only tests regularly the JSC JIT on ARMv7 with Thumb2 (-mthumb).
-ARM_INSTRUCTION_SET_armv7a = "thumb"
-ARM_INSTRUCTION_SET_armv7r = "thumb"
-ARM_INSTRUCTION_SET_armv7ve = "thumb"
+ARM_INSTRUCTION_SET:armv7a = "thumb"
+ARM_INSTRUCTION_SET:armv7r = "thumb"
+ARM_INSTRUCTION_SET:armv7ve = "thumb"
 
 # introspection inside qemu-arm hangs forever on musl/arm builds
 # therefore disable GI_DATA
-GI_DATA_ENABLED_libc-musl_armv7a = "False"
-GI_DATA_ENABLED_libc-musl_armv7ve = "False"
+GI_DATA_ENABLED:libc-musl:armv7a = "False"
+GI_DATA_ENABLED:libc-musl:armv7ve = "False"
 
 # Can't be built with ccache
 CCACHE_DISABLE = "1"
diff --git a/meta/recipes-sato/webkit/wpebackend-fdo_1.10.0.bb b/meta/recipes-sato/webkit/wpebackend-fdo_1.10.0.bb
index 38a32dad167..4588ee10eaf 100644
--- a/meta/recipes-sato/webkit/wpebackend-fdo_1.10.0.bb
+++ b/meta/recipes-sato/webkit/wpebackend-fdo_1.10.0.bb
@@ -6,7 +6,7 @@ LICENSE = "BSD"
 LIC_FILES_CHKSUM = "file://COPYING;md5=1f62cef2e3645e3e74eb05fd389d7a66"
 DEPENDS = "glib-2.0 libxkbcommon wayland virtual/egl libwpe libepoxy"
 
-DEPENDS_append_class-target = " wayland-native"
+DEPENDS:append:class-target = " wayland-native"
 
 inherit meson features_check
 
diff --git a/meta/recipes-support/apr/apr-util_1.6.1.bb b/meta/recipes-support/apr/apr-util_1.6.1.bb
index 4e183ca3749..b851d463511 100644
--- a/meta/recipes-support/apr/apr-util_1.6.1.bb
+++ b/meta/recipes-support/apr/apr-util_1.6.1.bb
@@ -32,35 +32,35 @@ MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/apu-1-config"
 
 OE_BINCONFIG_EXTRA_MANGLE = " -e 's:location=source:location=installed:'"
 
-do_configure_append() {
+do_configure:append() {
 	if [ "${CLASSOVERRIDE}" = "class-target" ]; then
 		cp ${STAGING_DATADIR}/apr/apr_rules.mk ${B}/build/rules.mk
 		sed -i -e 's#^CFLAGS=.*#CFLAGS=${TARGET_CFLAGS}#g' ${B}/build/rules.mk
 	fi
 }
-do_configure_prepend_class-native() {
+do_configure:prepend:class-native() {
 	mkdir ${B}/build
 	cp ${STAGING_DATADIR_NATIVE}/apr/apr_rules.mk ${B}/build/rules.mk
 }
-do_configure_append_class-native() {
+do_configure:append:class-native() {
 	sed -i "s#LIBTOOL=\$(SHELL) \$(apr_builddir)#LIBTOOL=\$(SHELL) ${STAGING_BINDIR_NATIVE}#" ${B}/build/rules.mk
 	# sometimes there isn't SHELL
 	sed -i "s#LIBTOOL=\$(apr_builddir)#LIBTOOL=${STAGING_BINDIR_NATIVE}#" ${B}/build/rules.mk
 }
 
-do_configure_prepend_class-nativesdk() {
+do_configure:prepend:class-nativesdk() {
 	cp ${STAGING_DATADIR}/apr/apr_rules.mk ${S}/build/rules.mk
 	sed -i -e 's#^CFLAGS=.*#CFLAGS=${TARGET_CFLAGS}#g' ${S}/build/rules.mk
 }
 
-do_configure_append_class-nativesdk() {
+do_configure:append:class-nativesdk() {
 	sed -i "s#\(apr_builddir\)=.*#\1=${STAGING_DATADIR}/build-1#" ${B}/build/rules.mk
 	sed -i "s#\(apr_builders\)=.*#\1=${STAGING_DATADIR}/build-1#" ${B}/build/rules.mk
 	sed -i "s#\(top_builddir\)=.*#\1=${STAGING_DATADIR}/build-1#" ${B}/build/rules.mk
 	sed -i "s#\(LIBTOOL=\$(apr_builddir)\).*#\1/libtool#" ${B}/build/rules.mk
 }
 
-do_install_append_class-target() {
+do_install:append:class-target() {
 	sed -i -e 's,${STAGING_DIR_HOST},,g' \
 	       -e 's,APU_SOURCE_DIR=.*,APR_SOURCE_DIR=,g' \
 	       -e 's,APU_BUILD_DIR=.*,APR_BUILD_DIR=,g' ${D}${bindir}/apu-1-config
@@ -73,16 +73,16 @@ PACKAGECONFIG[sqlite3] = "--with-sqlite3=${STAGING_DIR_HOST}${prefix},--without-
 PACKAGECONFIG[gdbm] = "--with-dbm=gdbm --with-gdbm=${STAGING_DIR_HOST}${prefix},--without-gdbm,gdbm"
 
 #files ${libdir}/apr-util-1/*.so are not symlinks but loadable modules thus they are packaged in ${PN}
-FILES_${PN}     += "${libdir}/apr-util-1/apr*${SOLIBS} ${libdir}/apr-util-1/apr*${SOLIBSDEV}"
-FILES_${PN}-dev += "${libdir}/aprutil.exp ${libdir}/apr-util-1/*.la"
-FILES_${PN}-staticdev += "${libdir}/apr-util-1/*.a"
+FILES:${PN}     += "${libdir}/apr-util-1/apr*${SOLIBS} ${libdir}/apr-util-1/apr*${SOLIBSDEV}"
+FILES:${PN}-dev += "${libdir}/aprutil.exp ${libdir}/apr-util-1/*.la"
+FILES:${PN}-staticdev += "${libdir}/apr-util-1/*.a"
 
-INSANE_SKIP_${PN} += "dev-so"
+INSANE_SKIP:${PN} += "dev-so"
 
 inherit ptest
 
-RDEPENDS_${PN}-ptest_append_libc-glibc = " glibc-gconv-iso8859-1 glibc-gconv-iso8859-2 glibc-gconv-utf-7"
-RDEPENDS_${PN}-ptest += "libgcc"
+RDEPENDS:${PN}-ptest:append:libc-glibc = " glibc-gconv-iso8859-1 glibc-gconv-iso8859-2 glibc-gconv-utf-7"
+RDEPENDS:${PN}-ptest += "libgcc"
 
 do_compile_ptest() {
 	cd ${B}/test
diff --git a/meta/recipes-support/apr/apr_1.7.0.bb b/meta/recipes-support/apr/apr_1.7.0.bb
index 82317396cd4..08d9edf3c29 100644
--- a/meta/recipes-support/apr/apr_1.7.0.bb
+++ b/meta/recipes-support/apr/apr_1.7.0.bb
@@ -47,7 +47,7 @@ PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
 PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
 PACKAGECONFIG[timed-tests] = "--enable-timed-tests,--disable-timed-tests,"
 
-do_configure_prepend() {
+do_configure:prepend() {
 	# Avoid absolute paths for grep since it causes failures
 	# when using sstate between different hosts with different
 	# install paths for grep.
@@ -61,24 +61,24 @@ do_configure_prepend() {
 MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/apr-1-config \
                     ${PN}-dev:${datadir}/build-1/apr_rules.mk"
 
-FILES_${PN}-dev += "${libdir}/apr.exp ${datadir}/build-1/*"
-RDEPENDS_${PN}-dev += "bash"
+FILES:${PN}-dev += "${libdir}/apr.exp ${datadir}/build-1/*"
+RDEPENDS:${PN}-dev += "bash"
 
-RDEPENDS_${PN}-ptest += "libgcc"
+RDEPENDS:${PN}-ptest += "libgcc"
 
 #for some reason, build/libtool.m4 handled by buildconf still be overwritten
 #when autoconf, so handle it again.
-do_configure_append() {
+do_configure:append() {
 	sed -i -e 's/LIBTOOL=\(.*\)top_build/LIBTOOL=\1apr_build/' ${S}/build/libtool.m4
 	sed -i -e 's/LIBTOOL=\(.*\)top_build/LIBTOOL=\1apr_build/' ${S}/build/apr_rules.mk
 }
 
-do_install_append() {
+do_install:append() {
 	oe_multilib_header apr.h
 	install -d ${D}${datadir}/apr
 }
 
-do_install_append_class-target() {
+do_install:append:class-target() {
 	sed -i -e 's,${DEBUG_PREFIX_MAP},,g' \
 	       -e 's,${STAGING_DIR_HOST},,g' ${D}${datadir}/build-1/apr_rules.mk
 	sed -i -e 's,${STAGING_DIR_HOST},,g' \
diff --git a/meta/recipes-support/argp-standalone/argp-standalone_1.3.bb b/meta/recipes-support/argp-standalone/argp-standalone_1.3.bb
index d1db562bb55..317f71b7728 100644
--- a/meta/recipes-support/argp-standalone/argp-standalone_1.3.bb
+++ b/meta/recipes-support/argp-standalone/argp-standalone_1.3.bb
@@ -20,8 +20,8 @@ inherit autotools
 
 CFLAGS += "-fPIC -U__OPTIMIZE__"
 
-RDEPENDS_${PN}-dev = ""
-RDEPENDS_${PN}-staticdev = ""
+RDEPENDS:${PN}-dev = ""
+RDEPENDS:${PN}-staticdev = ""
 
 do_install() {
 	install -D -m 0644 ${B}/libargp.a ${D}${libdir}/libargp.a
diff --git a/meta/recipes-support/aspell/aspell_0.60.8.bb b/meta/recipes-support/aspell/aspell_0.60.8.bb
index 6548c54b648..2fe8f669085 100644
--- a/meta/recipes-support/aspell/aspell_0.60.8.bb
+++ b/meta/recipes-support/aspell/aspell_0.60.8.bb
@@ -22,17 +22,17 @@ PACKAGECONFIG[curses] = "--enable-curses,--disable-curses,ncurses"
 
 PACKAGES += "libaspell libpspell aspell-utils"
 
-RDEPENDS_${PN}-utils += "perl"
+RDEPENDS:${PN}-utils += "perl"
 
-FILES_libaspell = "${libdir}/libaspell.so.* ${libdir}/aspell*"
-FILES_aspell-utils = "${bindir}/word-list-compress ${bindir}/aspell-import ${bindir}/run-with-aspell ${bindir}/pre*"
-FILES_${PN} = "${bindir}/aspell"
-FILES_libpspell = "${libdir}/libpspell.so.*"
-FILES_${PN}-dev += "${bindir}/pspell-config"
+FILES:libaspell = "${libdir}/libaspell.so.* ${libdir}/aspell*"
+FILES:aspell-utils = "${bindir}/word-list-compress ${bindir}/aspell-import ${bindir}/run-with-aspell ${bindir}/pre*"
+FILES:${PN} = "${bindir}/aspell"
+FILES:libpspell = "${libdir}/libpspell.so.*"
+FILES:${PN}-dev += "${bindir}/pspell-config"
 
-ARM_INSTRUCTION_SET_armv4 = "arm"
-ARM_INSTRUCTION_SET_armv5 = "arm"
-ARM_INSTRUCTION_SET_armv6 = "arm"
+ARM_INSTRUCTION_SET:armv4 = "arm"
+ARM_INSTRUCTION_SET:armv5 = "arm"
+ARM_INSTRUCTION_SET:armv6 = "arm"
 
 inherit autotools-brokensep gettext texinfo binconfig-disabled
 
diff --git a/meta/recipes-support/atk/at-spi2-atk_2.38.0.bb b/meta/recipes-support/atk/at-spi2-atk_2.38.0.bb
index c7aee346289..f0415848782 100644
--- a/meta/recipes-support/atk/at-spi2-atk_2.38.0.bb
+++ b/meta/recipes-support/atk/at-spi2-atk_2.38.0.bb
@@ -14,7 +14,7 @@ inherit gnomebase upstream-version-is-even
 
 PACKAGES =+ "${PN}-gnome ${PN}-gtk2"
 
-FILES_${PN}-gnome = "${libdir}/gnome-settings-daemon-3.0/gtk-modules"
-FILES_${PN}-gtk2 = "${libdir}/gtk-2.0/modules/libatk-bridge.*"
+FILES:${PN}-gnome = "${libdir}/gnome-settings-daemon-3.0/gtk-modules"
+FILES:${PN}-gtk2 = "${libdir}/gtk-2.0/modules/libatk-bridge.*"
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-support/atk/at-spi2-core_2.40.3.bb b/meta/recipes-support/atk/at-spi2-core_2.40.3.bb
index b1a7b51b922..427ea7c1650 100644
--- a/meta/recipes-support/atk/at-spi2-core_2.40.3.bb
+++ b/meta/recipes-support/atk/at-spi2-core_2.40.3.bb
@@ -31,7 +31,7 @@ GIR_MESON_OPTION = 'introspection'
 GIR_MESON_ENABLE_FLAG = 'yes'
 GIR_MESON_DISABLE_FLAG = 'no'
 
-FILES_${PN} += "${datadir}/dbus-1/services/*.service \
+FILES:${PN} += "${datadir}/dbus-1/services/*.service \
                 ${datadir}/dbus-1/accessibility-services/*.service \
                 ${datadir}/defaults/at-spi2 \
                 ${systemd_user_unitdir}/at-spi-dbus-bus.service \
diff --git a/meta/recipes-support/attr/acl_2.3.1.bb b/meta/recipes-support/attr/acl_2.3.1.bb
index 7f6cbf5c43c..c965ac553f1 100644
--- a/meta/recipes-support/attr/acl_2.3.1.bb
+++ b/meta/recipes-support/attr/acl_2.3.1.bb
@@ -8,8 +8,8 @@ BUGTRACKER = "http://savannah.nongnu.org/bugs/?group=acl"
 SECTION = "libs"
 
 LICENSE = "LGPLv2.1+ & GPLv2+"
-LICENSE_${PN} = "GPLv2+"
-LICENSE_lib${BPN} = "LGPLv2.1+"
+LICENSE:${PN} = "GPLv2+"
+LICENSE:lib${BPN} = "LGPLv2.1+"
 LIC_FILES_CHKSUM = "file://doc/COPYING;md5=c781d70ed2b4d48995b790403217a249 \
                     file://doc/COPYING.LGPL;md5=9e9a206917f8af112da634ce3ab41764"
 
@@ -27,7 +27,7 @@ inherit autotools gettext ptest
 
 PACKAGES =+ "lib${BPN}"
 
-FILES_lib${BPN} = "${libdir}/lib*${SOLIBS}"
+FILES:lib${BPN} = "${libdir}/lib*${SOLIBS}"
 
 PTEST_BUILD_HOST_FILES = "builddefs"
 PTEST_BUILD_HOST_PATTERN = "^RPM"
@@ -58,7 +58,7 @@ do_install_ptest() {
         rm ${D}${PTEST_PATH}/.libs/libtestlookup.lai
 }
 
-RDEPENDS_${PN}-ptest = "acl \
+RDEPENDS:${PN}-ptest = "acl \
                         bash \
                         coreutils \
                         perl \
diff --git a/meta/recipes-support/attr/attr.inc b/meta/recipes-support/attr/attr.inc
index e427ba9901b..02645db7481 100644
--- a/meta/recipes-support/attr/attr.inc
+++ b/meta/recipes-support/attr/attr.inc
@@ -7,8 +7,8 @@ SECTION = "libs"
 DEPENDS = "virtual/libintl"
 
 LICENSE = "LGPLv2.1+ & GPLv2+"
-LICENSE_${PN} = "GPLv2+"
-LICENSE_lib${BPN} = "LGPLv2.1+"
+LICENSE:${PN} = "GPLv2+"
+LICENSE:lib${BPN} = "LGPLv2.1+"
 LIC_FILES_CHKSUM = "file://doc/COPYING;md5=2d0aa14b3fce4694e4f615e30186335f \
                     file://doc/COPYING.LGPL;md5=b8d31f339300bc239d73461d68e77b9c \
                     file://tools/attr.c;endline=17;md5=be0403261f0847e5f43ed5b08d19593c \
@@ -22,10 +22,10 @@ inherit ptest update-alternatives autotools gettext
 
 PACKAGES =+ "lib${BPN}"
 
-FILES_lib${BPN} = "${libdir}/lib*${SOLIBS}"
+FILES:lib${BPN} = "${libdir}/lib*${SOLIBS}"
 
 ALTERNATIVE_PRIORITY = "100"
-ALTERNATIVE_${PN} = "setfattr"
+ALTERNATIVE:${PN} = "setfattr"
 ALTERNATIVE_TARGET[setfattr] = "${bindir}/setfattr"
 
 PTEST_BUILD_HOST_FILES = "builddefs"
@@ -48,7 +48,7 @@ do_install_ptest() {
 	cp -rf ${S}/test/ ${D}${PTEST_PATH}
 }
 
-RDEPENDS_${PN}-ptest = "attr \
+RDEPENDS:${PN}-ptest = "attr \
                         coreutils \
                         perl-module-filehandle \
                         perl-module-getopt-std \
diff --git a/meta/recipes-support/bash-completion/bash-completion_2.11.bb b/meta/recipes-support/bash-completion/bash-completion_2.11.bb
index 67738c3c83a..f63a69b5b4e 100644
--- a/meta/recipes-support/bash-completion/bash-completion_2.11.bb
+++ b/meta/recipes-support/bash-completion/bash-completion_2.11.bb
@@ -23,18 +23,18 @@ PARALLEL_MAKE = ""
 
 inherit autotools
 
-do_install_append() {
+do_install:append() {
 	# compatdir
 	install -d ${D}${sysconfdir}/bash_completion.d/
 	echo '. ${datadir}/${BPN}/bash_completion' >${D}${sysconfdir}/bash_completion
 
 }
 
-RDEPENDS_${PN} = "bash"
+RDEPENDS:${PN} = "bash"
 
 # Some recipes are providing ${PN}-bash-completion packages
 PACKAGES =+ "${PN}-extra"
-FILES_${PN}-extra = "${datadir}/${BPN}/completions/ \
+FILES:${PN}-extra = "${datadir}/${BPN}/completions/ \
     ${datadir}/${BPN}/helpers/"
 
 BBCLASSEXTEND = "nativesdk"
diff --git a/meta/recipes-support/bmap-tools/bmap-tools_3.6.bb b/meta/recipes-support/bmap-tools/bmap-tools_3.6.bb
index 611c0fb680e..c830a927760 100644
--- a/meta/recipes-support/bmap-tools/bmap-tools_3.6.bb
+++ b/meta/recipes-support/bmap-tools/bmap-tools_3.6.bb
@@ -18,7 +18,7 @@ PV .= "+git${SRCPV}"
 UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)"
 
 # Need df from coreutils
-RDEPENDS_${PN} = "python3-core python3-compression python3-mmap python3-setuptools python3-fcntl python3-six coreutils"
+RDEPENDS:${PN} = "python3-core python3-compression python3-mmap python3-setuptools python3-fcntl python3-six coreutils"
 
 inherit python3native
 inherit setuptools3
diff --git a/meta/recipes-support/boost/boost-build-native_4.4.1.bb b/meta/recipes-support/boost/boost-build-native_4.4.1.bb
index d4df5b5cf1c..2de05369a82 100644
--- a/meta/recipes-support/boost/boost-build-native_4.4.1.bb
+++ b/meta/recipes-support/boost/boost-build-native_4.4.1.bb
@@ -24,4 +24,4 @@ do_install() {
 }
 
 # The build is either release mode (pre-stripped) or debug (-O0).
-INSANE_SKIP_${PN} = "already-stripped"
+INSANE_SKIP:${PN} = "already-stripped"
diff --git a/meta/recipes-support/boost/boost.inc b/meta/recipes-support/boost/boost.inc
index 291a052ec6f..fa49ed3f8a9 100644
--- a/meta/recipes-support/boost/boost.inc
+++ b/meta/recipes-support/boost/boost.inc
@@ -8,8 +8,8 @@ DEPENDS = "boost-build-native zlib bzip2"
 
 CVE_PRODUCT = "boost:boost"
 
-ARM_INSTRUCTION_SET_armv4 = "arm"
-ARM_INSTRUCTION_SET_armv5 = "arm"
+ARM_INSTRUCTION_SET:armv4 = "arm"
+ARM_INSTRUCTION_SET:armv5 = "arm"
 
 B = "${WORKDIR}/build"
 do_configure[cleandirs] = "${B}"
@@ -71,35 +71,35 @@ python __anonymous () {
         if "-native" in pn:
             pkg = pkg + "-native"
         packages.append(mlprefix + pkg)
-        if not d.getVar("FILES_%s" % pkg):
-                d.setVar("FILES_%s%s" % (mlprefix, pkg), "${libdir}/libboost_%s*.so.*" % lib)
+        if not d.getVar("FILES:%s" % pkg):
+                d.setVar("FILES:%s%s" % (mlprefix, pkg), "${libdir}/libboost_%s*.so.*" % lib)
         else:
-                d.setVar("FILES_%s%s" % (mlprefix, pkg), d.getVar("FILES_%s" % pkg))
+                d.setVar("FILES:%s%s" % (mlprefix, pkg), d.getVar("FILES:%s" % pkg))
 
     d.setVar("BOOST_PACKAGES", " ".join(packages))
     d.setVar("BJAM_EXTRA", " ".join(extras))
 }
 
 # Override the contents of specific packages
-FILES_${PN}-graph_parallel = "${libdir}/libboost_graph_parallel.so.*"
-FILES_${PN}-locale = "${libdir}/libboost_locale.so.*"
-FILES_${PN}-mpi = "${libdir}/mpi.so ${libdir}/libboost_mpi*.so.*"
-FILES_boost-serialization = "${libdir}/libboost_serialization*.so.* \
+FILES:${PN}-graph_parallel = "${libdir}/libboost_graph_parallel.so.*"
+FILES:${PN}-locale = "${libdir}/libboost_locale.so.*"
+FILES:${PN}-mpi = "${libdir}/mpi.so ${libdir}/libboost_mpi*.so.*"
+FILES:boost-serialization = "${libdir}/libboost_serialization*.so.* \
 	${libdir}/libboost_wserialization*.so.*"
-FILES_boost-test = "${libdir}/libboost_prg_exec_monitor*.so.* \
+FILES:boost-test = "${libdir}/libboost_prg_exec_monitor*.so.* \
 	${libdir}/libboost_unit_test_framework*.so.*"
 
 # -dev last to pick up the remaining stuff
 PACKAGES += "${PN}-dev ${PN}-staticdev"
-FILES_${PN}-dev = "${includedir} ${libdir}/libboost_*.so ${libdir}/cmake"
-FILES_${PN}-staticdev = "${libdir}/libboost_*.a"
+FILES:${PN}-dev = "${includedir} ${libdir}/libboost_*.so ${libdir}/cmake"
+FILES:${PN}-staticdev = "${libdir}/libboost_*.a"
 
 # "boost" is a metapackage which pulls in all boost librabries
 PACKAGES += "${PN}"
-FILES_${PN} = ""
-ALLOW_EMPTY_${PN} = "1"
-RRECOMMENDS_${PN} += "${BOOST_PACKAGES}"
-RRECOMMENDS_${PN}_class-native = ""
+FILES:${PN} = ""
+ALLOW_EMPTY:${PN} = "1"
+RRECOMMENDS:${PN} += "${BOOST_PACKAGES}"
+RRECOMMENDS:${PN}:class-native = ""
 
 # to avoid GNU_HASH QA errors added LDFLAGS to ARCH; a little bit dirty but at least it works
 TARGET_CC_ARCH += "${LDFLAGS}"
@@ -155,14 +155,14 @@ BJAM_OPTS    = '${BOOST_PARALLEL_MAKE} -d+2 -q \
 		${BJAM_EXTRA}'
 
 # Native compilation of bzip2 isn't working
-BJAM_OPTS_append_class-native = ' -sNO_BZIP2=1'
+BJAM_OPTS:append:class-native = ' -sNO_BZIP2=1'
 
 # Adjust the build for x32
-BJAM_OPTS_append_x86-x32 = " abi=x32 address-model=64"
+BJAM_OPTS:append:x86-x32 = " abi=x32 address-model=64"
 
 # cross compiling for arm fails to detect abi, so provide some help
-BJAM_OPTS_append_arm = " abi=aapcs architecture=arm"
-BJAM_OPTS_append_aarch64 = " abi=aapcs address-model=64 architecture=arm"
+BJAM_OPTS:append:arm = " abi=aapcs architecture=arm"
+BJAM_OPTS:append:aarch64 = " abi=aapcs address-model=64 architecture=arm"
 
 do_configure() {
 	cd ${S}
diff --git a/meta/recipes-support/ca-certificates/ca-certificates_20210119.bb b/meta/recipes-support/ca-certificates/ca-certificates_20210119.bb
index 7dcc86fdc1f..363203854f5 100644
--- a/meta/recipes-support/ca-certificates/ca-certificates_20210119.bb
+++ b/meta/recipes-support/ca-certificates/ca-certificates_20210119.bb
@@ -9,8 +9,8 @@ LIC_FILES_CHKSUM = "file://debian/copyright;md5=ae5b36b514e3f12ce1aa8e2ee67f3d7e
 
 # This is needed to ensure we can run the postinst at image creation time
 DEPENDS = ""
-DEPENDS_class-native = "openssl-native"
-DEPENDS_class-nativesdk = "openssl-native"
+DEPENDS:class-native = "openssl-native"
+DEPENDS:class-nativesdk = "openssl-native"
 # Need rehash from openssl and run-parts from debianutils
 PACKAGE_WRITE_DEPS += "openssl-native debianutils-native"
 
@@ -35,7 +35,7 @@ EXTRA_OEMAKE = "\
     'SBINDIR=${sbindir}' \
 "
 
-do_compile_prepend() {
+do_compile:prepend() {
     oe_runmake clean
 }
 
@@ -58,7 +58,7 @@ do_install () {
     } >${D}${sysconfdir}/ca-certificates.conf
 }
 
-do_install_append_class-target () {
+do_install:append:class-target () {
     sed -i -e 's,/etc/,${sysconfdir}/,' \
            -e 's,/usr/share/,${datadir}/,' \
            -e 's,/usr/local,${prefix}/local,' \
@@ -66,25 +66,25 @@ do_install_append_class-target () {
         ${D}${mandir}/man8/update-ca-certificates.8
 }
 
-pkg_postinst_${PN}_class-target () {
+pkg_postinst:${PN}:class-target () {
     SYSROOT="$D" $D${sbindir}/update-ca-certificates
 }
 
-CONFFILES_${PN} += "${sysconfdir}/ca-certificates.conf"
+CONFFILES:${PN} += "${sysconfdir}/ca-certificates.conf"
 
 # Rather than make a postinst script that works for both target and nativesdk,
 # we just run update-ca-certificate from do_install() for nativesdk.
-CONFFILES_${PN}_append_class-nativesdk = " ${sysconfdir}/ssl/certs/ca-certificates.crt"
-do_install_append_class-nativesdk () {
+CONFFILES:${PN}:append:class-nativesdk = " ${sysconfdir}/ssl/certs/ca-certificates.crt"
+do_install:append:class-nativesdk () {
     SYSROOT="${D}${SDKPATHNATIVE}" ${D}${sbindir}/update-ca-certificates
 }
 
-do_install_append_class-native () {
+do_install:append:class-native () {
     SYSROOT="${D}${base_prefix}" ${D}${sbindir}/update-ca-certificates
 }
 
-RDEPENDS_${PN}_append_class-target = " openssl-bin openssl"
-RDEPENDS_${PN}_append_class-native = " openssl-native"
-RDEPENDS_${PN}_append_class-nativesdk = " nativesdk-openssl-bin nativesdk-openssl"
+RDEPENDS:${PN}:append:class-target = " openssl-bin openssl"
+RDEPENDS:${PN}:append:class-native = " openssl-native"
+RDEPENDS:${PN}:append:class-nativesdk = " nativesdk-openssl-bin nativesdk-openssl"
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-support/consolekit/consolekit_0.4.6.bb b/meta/recipes-support/consolekit/consolekit_0.4.6.bb
index 22e755747b0..3d28ba2a242 100644
--- a/meta/recipes-support/consolekit/consolekit_0.4.6.bb
+++ b/meta/recipes-support/consolekit/consolekit_0.4.6.bb
@@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \
                     file://src/main.c;endline=21;md5=0a994e09769780220163255d8f9071c3"
 
 DEPENDS = "glib-2.0 glib-2.0-native dbus dbus-glib virtual/libx11"
-RDEPENDS_${PN} += "base-files"
+RDEPENDS:${PN} += "base-files"
 
 inherit autotools pkgconfig features_check
 # depends on virtual/libx11
@@ -31,15 +31,15 @@ PACKAGECONFIG[pam] = "--enable-pam-module --with-pam-module-dir=${base_libdir}/s
 PACKAGECONFIG[polkit] = "--with-polkit,--without-polkit,polkit"
 PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/,--with-systemdsystemunitdir="
 
-FILES_${PN} += "${exec_prefix}/lib/ConsoleKit \
+FILES:${PN} += "${exec_prefix}/lib/ConsoleKit \
                 ${libdir}/ConsoleKit  ${systemd_unitdir} ${base_libdir} \
                 ${datadir}/dbus-1 ${datadir}/PolicyKit ${datadir}/polkit*"
 
 PACKAGES =+ "pam-plugin-ck-connector"
-FILES_pam-plugin-ck-connector += "${base_libdir}/security/*.so"
-RDEPENDS_pam-plugin-ck-connector += "${PN}"
+FILES:pam-plugin-ck-connector += "${base_libdir}/security/*.so"
+RDEPENDS:pam-plugin-ck-connector += "${PN}"
 
-do_install_append() {
+do_install:append() {
 	if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
 		install -d ${D}${sysconfdir}/tmpfiles.d
 		echo "d ${localstatedir}/log/ConsoleKit - - - -" \
diff --git a/meta/recipes-support/curl/curl_7.77.0.bb b/meta/recipes-support/curl/curl_7.77.0.bb
index ee1aa89f275..6b15a6a3e88 100644
--- a/meta/recipes-support/curl/curl_7.77.0.bb
+++ b/meta/recipes-support/curl/curl_7.77.0.bb
@@ -21,8 +21,8 @@ CVE_PRODUCT = "haxx:curl haxx:libcurl curl:curl curl:libcurl libcurl:libcurl dan
 inherit autotools pkgconfig binconfig multilib_header
 
 PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} ssl libidn proxy threaded-resolver verbose zlib"
-PACKAGECONFIG_class-native = "ipv6 proxy ssl threaded-resolver verbose zlib"
-PACKAGECONFIG_class-nativesdk = "ipv6 proxy ssl threaded-resolver verbose zlib"
+PACKAGECONFIG:class-native = "ipv6 proxy ssl threaded-resolver verbose zlib"
+PACKAGECONFIG:class-nativesdk = "ipv6 proxy ssl threaded-resolver verbose zlib"
 
 # 'ares' and 'threaded-resolver' are mutually exclusive
 PACKAGECONFIG[ares] = "--enable-ares,--disable-ares,c-ares,,,threaded-resolver"
@@ -68,7 +68,7 @@ EXTRA_OECONF = " \
     --disable-curldebug \
 "
 
-do_install_append_class-target() {
+do_install:append:class-target() {
 	# cleanup buildpaths from curl-config
 	sed -i \
 	    -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \
@@ -79,10 +79,10 @@ do_install_append_class-target() {
 
 PACKAGES =+ "lib${BPN}"
 
-FILES_lib${BPN} = "${libdir}/lib*.so.*"
-RRECOMMENDS_lib${BPN} += "ca-certificates"
+FILES:lib${BPN} = "${libdir}/lib*.so.*"
+RRECOMMENDS:lib${BPN} += "ca-certificates"
 
-FILES_${PN} += "${datadir}/zsh"
+FILES:${PN} += "${datadir}/zsh"
 
 inherit multilib_script
 MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/curl-config"
diff --git a/meta/recipes-support/db/db_5.3.28.bb b/meta/recipes-support/db/db_5.3.28.bb
index b2ae98f05c0..d5b788a3d78 100644
--- a/meta/recipes-support/db/db_5.3.28.bb
+++ b/meta/recipes-support/db/db_5.3.28.bb
@@ -13,7 +13,7 @@ SUMMARY = "Berkeley Database v5"
 DESCRIPTION = "Provides the foundational storage services for your application, no matter how demanding and unique your requirements may seem to be"
 HOMEPAGE = "https://www.oracle.com/database/technologies/related/berkeleydb.html"
 LICENSE = "Sleepycat"
-RCONFLICTS_${PN} = "db3"
+RCONFLICTS:${PN} = "db3"
 
 CVE_PRODUCT = "oracle_berkeley_db berkeley_db"
 CVE_VERSION = "11.2.${PV}"
@@ -47,7 +47,7 @@ inherit autotools
 inherit lib_package
 
 PACKAGES =+ "${PN}-cxx"
-FILES_${PN}-cxx = "${libdir}/*cxx*so"
+FILES:${PN}-cxx = "${libdir}/*cxx*so"
 
 # The dev package has the .so link (as in db3) and the .a's -
 # it is therefore incompatible (cannot be installed at the
@@ -75,7 +75,7 @@ AUTOTOOLS_SCRIPT_PATH = "${S}/dist"
 # configure.
 CONFIG_SITE = ""
 
-oe_runconf_prepend() {
+oe_runconf:prepend() {
 	. ${S}/dist/RELEASE
 	# Edit version information we couldn't pre-compute.
 	sed -i -e "s/__EDIT_DB_VERSION_FAMILY__/$DB_VERSION_FAMILY/g" \
@@ -89,12 +89,12 @@ oe_runconf_prepend() {
 	    -e "s/__EDIT_DB_VERSION__/$DB_VERSION/g" ${S}/dist/configure
 }
 
-do_compile_prepend() {
+do_compile:prepend() {
     # Stop libtool adding RPATHs
     sed -i -e 's|hardcode_into_libs=yes|hardcode_into_libs=no|' ${B}/${HOST_SYS}-libtool
 }
 
-do_install_append() {
+do_install:append() {
 	mkdir -p ${D}/${includedir}/db51
 	mv ${D}/${includedir}/db.h ${D}/${includedir}/db51/.
 	mv ${D}/${includedir}/db_cxx.h ${D}/${includedir}/db51/.
@@ -115,7 +115,7 @@ do_install_append() {
 	fi
 }
 
-INSANE_SKIP_${PN} = "dev-so"
-INSANE_SKIP_${PN}-cxx = "dev-so"
+INSANE_SKIP:${PN} = "dev-so"
+INSANE_SKIP:${PN}-cxx = "dev-so"
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-support/debianutils/debianutils_4.11.2.bb b/meta/recipes-support/debianutils/debianutils_4.11.2.bb
index 1aedd8e6f3d..231666c4dca 100644
--- a/meta/recipes-support/debianutils/debianutils_4.11.2.bb
+++ b/meta/recipes-support/debianutils/debianutils_4.11.2.bb
@@ -18,11 +18,11 @@ SRC_URI[sha256sum] = "3b680e81709b740387335fac8f8806d71611dcf60874e1a792e862e48a
 inherit autotools update-alternatives
 
 S = "${WORKDIR}/debianutils"
-do_configure_prepend() {
+do_configure:prepend() {
     sed -i -e 's:tempfile.1 which.1:which.1:g' ${S}/Makefile.am
 }
 
-do_install_append() {
+do_install:append() {
     if [ "${base_bindir}" != "${bindir}" ]; then
         # Debian places some utils into ${base_bindir} as does busybox
         install -d ${D}${base_bindir}
@@ -35,18 +35,18 @@ do_install_append() {
 # Note that we package the update-alternatives name.
 #
 PACKAGES =+ "${PN}-run-parts"
-FILES_${PN}-run-parts = "${base_bindir}/run-parts.debianutils"
+FILES:${PN}-run-parts = "${base_bindir}/run-parts.debianutils"
 
-RDEPENDS_${PN} += "${PN}-run-parts"
-RDEPENDS_${PN}_class-native = ""
+RDEPENDS:${PN} += "${PN}-run-parts"
+RDEPENDS:${PN}:class-native = ""
 
 ALTERNATIVE_PRIORITY = "30"
-ALTERNATIVE_${PN} = "add-shell installkernel remove-shell savelog tempfile which"
+ALTERNATIVE:${PN} = "add-shell installkernel remove-shell savelog tempfile which"
 
 ALTERNATIVE_PRIORITY_${PN}-run-parts = "60"
-ALTERNATIVE_${PN}-run-parts = "run-parts"
+ALTERNATIVE:${PN}-run-parts = "run-parts"
 
-ALTERNATIVE_${PN}-doc = "which.1"
+ALTERNATIVE:${PN}-doc = "which.1"
 ALTERNATIVE_LINK_NAME[which.1] = "${mandir}/man1/which.1"
 
 ALTERNATIVE_LINK_NAME[add-shell] = "${sbindir}/add-shell"
diff --git a/meta/recipes-support/diffoscope/diffoscope_177.bb b/meta/recipes-support/diffoscope/diffoscope_177.bb
index 0d9061dda07..107e97cd770 100644
--- a/meta/recipes-support/diffoscope/diffoscope_177.bb
+++ b/meta/recipes-support/diffoscope/diffoscope_177.bb
@@ -14,12 +14,12 @@ inherit pypi setuptools3
 
 SRC_URI[sha256sum] = "8ac0cad150914bab2a53caa3f21876a78b092f3d2a36b9134874cd5c04a26b2e"
 
-RDEPENDS_${PN} += "binutils vim squashfs-tools python3-libarchive-c python3-magic python3-rpm"
+RDEPENDS:${PN} += "binutils vim squashfs-tools python3-libarchive-c python3-magic python3-rpm"
 
 # Dependencies don't build for musl
-COMPATIBLE_HOST_libc-musl = 'null'
+COMPATIBLE_HOST:libc-musl = 'null'
 
-do_install_append_class-native() {
+do_install:append:class-native() {
 	create_wrapper ${D}${bindir}/diffoscope \
 		MAGIC=${STAGING_DIR_NATIVE}${datadir_native}/misc/magic.mgc \
 		RPM_CONFIGDIR=${STAGING_LIBDIR_NATIVE}/rpm \
diff --git a/meta/recipes-support/dos2unix/dos2unix_7.4.2.bb b/meta/recipes-support/dos2unix/dos2unix_7.4.2.bb
index 9005bdea59b..15d097ebedc 100644
--- a/meta/recipes-support/dos2unix/dos2unix_7.4.2.bb
+++ b/meta/recipes-support/dos2unix/dos2unix_7.4.2.bb
@@ -25,7 +25,7 @@ PACKAGECONFIG ??= ""
 PACKAGECONFIG[nls] = "ENABLE_NLS=1,ENABLE_NLS=,po4a-native"
 
 EXTRA_OEMAKE = "${PACKAGECONFIG_CONFARGS} LDFLAGS_USER='${LDFLAGS}'"
-EXTRA_OEMAKE_class-native = "ENABLE_NLS="
+EXTRA_OEMAKE:class-native = "ENABLE_NLS="
 
 do_install () {
 	oe_runmake DESTDIR="${D}${base_prefix}" install
diff --git a/meta/recipes-support/enchant/enchant2_2.3.0.bb b/meta/recipes-support/enchant/enchant2_2.3.0.bb
index 5d0f10d0bc8..165b08f8717 100644
--- a/meta/recipes-support/enchant/enchant2_2.3.0.bb
+++ b/meta/recipes-support/enchant/enchant2_2.3.0.bb
@@ -24,8 +24,8 @@ PACKAGECONFIG ??= "aspell"
 PACKAGECONFIG[aspell]  = "--with-aspell,--without-aspell,aspell,aspell"
 PACKAGECONFIG[hunspell]  = "--with-hunspell,--without-hunspell,hunspell,hunspell"
 
-FILES_${PN} += " \
+FILES:${PN} += " \
     ${datadir}/enchant-2 \
     ${libdir}/enchant-2 \
 "
-FILES_${PN}-staticdev += "${libdir}/enchant-2/*.a"
+FILES:${PN}-staticdev += "${libdir}/enchant-2/*.a"
diff --git a/meta/recipes-support/gdbm/gdbm_1.19.bb b/meta/recipes-support/gdbm/gdbm_1.19.bb
index cd2617b130e..1d1a0c8dd12 100644
--- a/meta/recipes-support/gdbm/gdbm_1.19.bb
+++ b/meta/recipes-support/gdbm/gdbm_1.19.bb
@@ -26,7 +26,7 @@ CACHED_CONFIGUREVARS += "ac_cv_lib_ndbm_main=no ac_cv_lib_dbm_main=no"
 
 BBCLASSEXTEND = "native nativesdk"
 
-do_install_append () {
+do_install:append () {
     # Create a symlink to ndbm.h and gdbm.h in include/gdbm to let other packages to find
     # these headers
     install -d ${D}${includedir}/gdbm
@@ -34,7 +34,7 @@ do_install_append () {
     ln -sf ../gdbm.h ${D}/${includedir}/gdbm/gdbm.h
 }
 
-RDEPENDS_${PN}-ptest += "diffutils ${PN}-bin"
+RDEPENDS:${PN}-ptest += "diffutils ${PN}-bin"
 
 do_compile_ptest() {
     oe_runmake -C tests buildtests
@@ -42,5 +42,5 @@ do_compile_ptest() {
 
 PACKAGES =+ "${PN}-compat \
             "
-FILES_${PN}-compat = "${libdir}/libgdbm_compat${SOLIBS} \
+FILES:${PN}-compat = "${libdir}/libgdbm_compat${SOLIBS} \
                      "
diff --git a/meta/recipes-support/gmp/gmp.inc b/meta/recipes-support/gmp/gmp.inc
index 948b89288e0..18722266167 100644
--- a/meta/recipes-support/gmp/gmp.inc
+++ b/meta/recipes-support/gmp/gmp.inc
@@ -8,5 +8,5 @@ inherit autotools texinfo multilib_header
 PACKAGECONFIG ??= ""
 PACKAGECONFIG[readline] = "--with-readline=yes,--with-readline=no,readline"
 
-ARM_INSTRUCTION_SET_armv4 = "arm"
-ARM_INSTRUCTION_SET_armv5 = "arm"
+ARM_INSTRUCTION_SET:armv4 = "arm"
+ARM_INSTRUCTION_SET:armv5 = "arm"
diff --git a/meta/recipes-support/gmp/gmp_6.2.1.bb b/meta/recipes-support/gmp/gmp_6.2.1.bb
index 3c50f928ab7..d5996abd002 100644
--- a/meta/recipes-support/gmp/gmp_6.2.1.bb
+++ b/meta/recipes-support/gmp/gmp_6.2.1.bb
@@ -19,16 +19,16 @@ SRC_URI[sha256sum] = "eae9326beb4158c386e39a356818031bd28f3124cf915f8c5b1dc4c7a3
 acpaths = ""
 
 EXTRA_OECONF += " --enable-cxx=detect"
-EXTRA_OECONF_mipsarchr6_append = " --disable-assembly"
+EXTRA_OECONF:mipsarchr6:append = " --disable-assembly"
 
 PACKAGES =+ "libgmpxx"
-FILES_libgmpxx = "${libdir}/libgmpxx${SOLIBS}"
+FILES:libgmpxx = "${libdir}/libgmpxx${SOLIBS}"
 
-do_install_append() {
+do_install:append() {
 	oe_multilib_header gmp.h
 }
 
-do_install_prepend_class-target() {
+do_install:prepend:class-target() {
         sed -i \
         -e "s|--sysroot=${STAGING_DIR_HOST}||g" \
         -e "s|${DEBUG_PREFIX_MAP}||g" \
diff --git a/meta/recipes-support/gnupg/gnupg_2.3.1.bb b/meta/recipes-support/gnupg/gnupg_2.3.1.bb
index 77331efc0b2..b8b0314d2f0 100644
--- a/meta/recipes-support/gnupg/gnupg_2.3.1.bb
+++ b/meta/recipes-support/gnupg/gnupg_2.3.1.bb
@@ -20,9 +20,9 @@ SRC_URI = "${GNUPG_MIRROR}/${BPN}/${BPN}-${PV}.tar.bz2 \
            file://0004-autogen.sh-fix-find-version-for-beta-checking.patch \
            file://0001-Woverride-init-is-not-needed-with-gcc-9.patch \
            "
-SRC_URI_append_class-native = " file://0001-configure.ac-use-a-custom-value-for-the-location-of-.patch \
+SRC_URI:append:class-native = " file://0001-configure.ac-use-a-custom-value-for-the-location-of-.patch \
                                 file://relocate.patch"
-SRC_URI_append_class-nativesdk = " file://relocate.patch"
+SRC_URI:append:class-nativesdk = " file://relocate.patch"
 
 SRC_URI[sha256sum] = "c498db346a9b9a4b399e514c8f56dfc0a888ce8f327f10376ff984452cd154ec"
 
@@ -36,7 +36,7 @@ EXTRA_OECONF = "--disable-ldap \
 
 # A minimal package containing just enough to run gpg+gpgagent (E.g. use gpgme in opkg)
 PACKAGES =+ "${PN}-gpg"
-FILES_${PN}-gpg = " \
+FILES:${PN}-gpg = " \
 	${bindir}/gpg \
 	${bindir}/gpg2 \
 	${bindir}/gpg-agent \
@@ -46,11 +46,11 @@ FILES_${PN}-gpg = " \
 # to ensure all tools are included. This is done only in non-native
 # builds. Native builds don't have sub-packages, so appending RDEPENDS
 # in this case breaks recipe parsing.
-RDEPENDS_${PN} += "${@ "" if ("native" in d.getVar("PN")) else (d.getVar("PN") + "-gpg")}"
+RDEPENDS:${PN} += "${@ "" if ("native" in d.getVar("PN")) else (d.getVar("PN") + "-gpg")}"
 
-RRECOMMENDS_${PN} = "pinentry"
+RRECOMMENDS:${PN} = "pinentry"
 
-do_configure_prepend () {
+do_configure:prepend () {
 	# Else these could be used in prefernce to those in aclocal-copy
 	rm -f ${S}/m4/gpg-error.m4
 	rm -f ${S}/m4/libassuan.m4
@@ -58,16 +58,16 @@ do_configure_prepend () {
 	rm -f ${S}/m4/libgcrypt.m4
 }
 
-do_install_append() {
+do_install:append() {
 	ln -sf gpg2 ${D}${bindir}/gpg
 	ln -sf gpgv2 ${D}${bindir}/gpgv
 }
 
-do_install_append_class-native() {
+do_install:append:class-native() {
 	create_wrappers ${STAGING_BINDIR_NATIVE}
 }
 
-do_install_append_class-nativesdk() {
+do_install:append:class-nativesdk() {
 	create_wrappers ${SDKPATHNATIVE}${bindir_nativesdk}
 }
 
diff --git a/meta/recipes-support/gnutls/gnutls_3.7.2.bb b/meta/recipes-support/gnutls/gnutls_3.7.2.bb
index 430d1f2d7d2..e1a084fac4e 100644
--- a/meta/recipes-support/gnutls/gnutls_3.7.2.bb
+++ b/meta/recipes-support/gnutls/gnutls_3.7.2.bb
@@ -5,17 +5,17 @@ HOMEPAGE = "https://gnutls.org/"
 BUGTRACKER = "https://savannah.gnu.org/support/?group=gnutls"
 
 LICENSE = "GPLv3+ & LGPLv2.1+"
-LICENSE_${PN} = "LGPLv2.1+"
-LICENSE_${PN}-xx = "LGPLv2.1+"
-LICENSE_${PN}-bin = "GPLv3+"
-LICENSE_${PN}-openssl = "GPLv3+"
+LICENSE:${PN} = "LGPLv2.1+"
+LICENSE:${PN}-xx = "LGPLv2.1+"
+LICENSE:${PN}-bin = "GPLv3+"
+LICENSE:${PN}-openssl = "GPLv3+"
 
 LIC_FILES_CHKSUM = "file://LICENSE;md5=71391c8e0c1cfe68077e7fce3b586283 \
                     file://doc/COPYING;md5=c678957b0c8e964aa6c70fd77641a71e \
                     file://doc/COPYING.LESSER;md5=a6f89e2100d9b6cdffcea4f398e37343"
 
 DEPENDS = "nettle gmp virtual/libiconv libunistring"
-DEPENDS_append_libc-musl = " argp-standalone"
+DEPENDS:append:libc-musl = " argp-standalone"
 
 SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}"
 
@@ -52,9 +52,9 @@ EXTRA_OECONF = " \
 # Otherwise the tools try and use HOSTTOOLS_DIR/bash as a shell.
 export POSIX_SHELL="${base_bindir}/sh"
 
-LDFLAGS_append_libc-musl = " -largp"
+LDFLAGS:append:libc-musl = " -largp"
 
-do_configure_prepend() {
+do_configure:prepend() {
 	for dir in . lib; do
 		rm -f ${dir}/aclocal.m4 ${dir}/m4/libtool.m4 ${dir}/m4/lt*.m4
 	done
@@ -62,8 +62,8 @@ do_configure_prepend() {
 
 PACKAGES =+ "${PN}-openssl ${PN}-xx"
 
-FILES_${PN}-dev += "${bindir}/gnutls-cli-debug"
-FILES_${PN}-openssl = "${libdir}/libgnutls-openssl.so.*"
-FILES_${PN}-xx = "${libdir}/libgnutlsxx.so.*"
+FILES:${PN}-dev += "${bindir}/gnutls-cli-debug"
+FILES:${PN}-openssl = "${libdir}/libgnutls-openssl.so.*"
+FILES:${PN}-xx = "${libdir}/libgnutlsxx.so.*"
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-support/gnutls/libtasn1_4.17.0.bb b/meta/recipes-support/gnutls/libtasn1_4.17.0.bb
index 64e798b1889..111f5ac13d3 100644
--- a/meta/recipes-support/gnutls/libtasn1_4.17.0.bb
+++ b/meta/recipes-support/gnutls/libtasn1_4.17.0.bb
@@ -4,8 +4,8 @@ DER/BER data following an ASN.1 schema. "
 HOMEPAGE = "http://www.gnu.org/software/libtasn1/"
 
 LICENSE = "GPLv3+ & LGPLv2.1+"
-LICENSE_${PN}-bin = "GPLv3+"
-LICENSE_${PN} = "LGPLv2.1+"
+LICENSE:${PN}-bin = "GPLv3+"
+LICENSE:${PN} = "LGPLv2.1+"
 LIC_FILES_CHKSUM = "file://doc/COPYING;md5=d32239bcb673463ab874e80d47fae504 \
                     file://doc/COPYING.LESSER;md5=4fbd65380cdd255951079008b364516c \
                     file://COPYING;md5=75ac100ec923f959898182307970c360"
diff --git a/meta/recipes-support/gpgme/gpgme_1.16.0.bb b/meta/recipes-support/gpgme/gpgme_1.16.0.bb
index 13f456fcfc7..0ab30d93b9e 100644
--- a/meta/recipes-support/gpgme/gpgme_1.16.0.bb
+++ b/meta/recipes-support/gpgme/gpgme_1.16.0.bb
@@ -26,10 +26,10 @@ SRC_URI = "${GNUPG_MIRROR}/gpgme/${BP}.tar.bz2 \
 SRC_URI[sha256sum] = "6c8cc4aedb10d5d4c905894ba1d850544619ee765606ac43df7405865de29ed0"
 
 DEPENDS = "libgpg-error libassuan"
-RDEPENDS_${PN}-cpp += "libstdc++"
+RDEPENDS:${PN}-cpp += "libstdc++"
 
-RDEPENDS_python2-gpg += "python-unixadmin"
-RDEPENDS_python3-gpg += "python3-unixadmin"
+RDEPENDS:python2-gpg += "python-unixadmin"
+RDEPENDS:python3-gpg += "python3-unixadmin"
 
 BINCONFIG = "${bindir}/gpgme-config"
 
@@ -45,7 +45,7 @@ PACKAGECONFIG[python3] = ",,python3 swig-native,"
 # Building the C++ bindings for native requires a C++ compiler with C++11
 # support. Since these bindings are currently not needed, we can disable them.
 DEFAULT_LANGUAGES = ""
-DEFAULT_LANGUAGES_class-target = "cpp"
+DEFAULT_LANGUAGES:class-target = "cpp"
 LANGUAGES ?= "${DEFAULT_LANGUAGES} python"
 
 PYTHON_INHERIT = "${@bb.utils.contains('PACKAGECONFIG', 'python2', 'pythonnative', '', d)}"
@@ -69,19 +69,19 @@ PACKAGES =+ "${PN}-cpp"
 PACKAGES =. "${@bb.utils.contains('PACKAGECONFIG', 'python2', 'python2-gpg ', '', d)}"
 PACKAGES =. "${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3-gpg ', '', d)}"
 
-FILES_${PN}-cpp = "${libdir}/libgpgmepp.so.*"
-FILES_python2-gpg = "${PYTHON_SITEPACKAGES_DIR}/*"
-FILES_python3-gpg = "${PYTHON_SITEPACKAGES_DIR}/*"
-FILES_${PN}-dev += "${datadir}/common-lisp/source/gpgme/*"
+FILES:${PN}-cpp = "${libdir}/libgpgmepp.so.*"
+FILES:python2-gpg = "${PYTHON_SITEPACKAGES_DIR}/*"
+FILES:python3-gpg = "${PYTHON_SITEPACKAGES_DIR}/*"
+FILES:${PN}-dev += "${datadir}/common-lisp/source/gpgme/*"
 
-CFLAGS_append_libc-musl = " -D__error_t_defined "
-do_configure_prepend () {
+CFLAGS:append:libc-musl = " -D__error_t_defined "
+do_configure:prepend () {
 	# Else these could be used in preference to those in aclocal-copy
 	rm -f ${S}/m4/gpg-error.m4
 	rm -f ${S}/m4/libassuan.m4
 	rm -f ${S}/m4/python.m4
 }
 
-do_install_append() {
+do_install:append() {
        oe_multilib_header gpgme.h
 }
diff --git a/meta/recipes-support/icu/icu_69.1.bb b/meta/recipes-support/icu/icu_69.1.bb
index bfeea8d2f05..4daf0fe82e2 100644
--- a/meta/recipes-support/icu/icu_69.1.bb
+++ b/meta/recipes-support/icu/icu_69.1.bb
@@ -7,7 +7,7 @@ HOMEPAGE = "http://site.icu-project.org/"
 
 LICENSE = "ICU"
 DEPENDS = "icu-native"
-DEPENDS_class-native = ""
+DEPENDS:class-native = ""
 
 CVE_PRODUCT = "international_components_for_unicode"
 
@@ -27,15 +27,15 @@ MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/icu-config"
 # cross-compiling. Taken the situation that different builds may share a common sstate-cache
 # into consideration, the native build directory needs to be staged.
 EXTRA_OECONF = "--with-cross-build=${STAGING_ICU_DIR_NATIVE}"
-EXTRA_OECONF_class-native = ""
-EXTRA_OECONF_class-nativesdk = "--with-cross-build=${STAGING_ICU_DIR_NATIVE}"
+EXTRA_OECONF:class-native = ""
+EXTRA_OECONF:class-nativesdk = "--with-cross-build=${STAGING_ICU_DIR_NATIVE}"
 
-EXTRA_OECONF_append_class-target = "${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'be', ' --with-data-packaging=archive', '', d)}"
-TARGET_CXXFLAGS_append = "${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'be', ' -DICU_DATA_DIR=\\""${datadir}/${BPN}/${PV}\\""', '', d)}"
+EXTRA_OECONF:append:class-target = "${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'be', ' --with-data-packaging=archive', '', d)}"
+TARGET_CXXFLAGS:append = "${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'be', ' -DICU_DATA_DIR=\\""${datadir}/${BPN}/${PV}\\""', '', d)}"
 
 ASNEEDED = ""
 
-do_compile_prepend_class-target () {
+do_compile:prepend:class-target () {
 	# Make sure certain build host references do not end up being compiled
 	# in the image. This only affects libicutu and icu-dbg
 	sed  \
@@ -45,7 +45,7 @@ do_compile_prepend_class-target () {
 }
 
 PREPROCESS_RELOCATE_DIRS = "${datadir}/${BPN}/${PV}"
-do_install_append_class-native() {
+do_install:append:class-native() {
 	mkdir -p ${D}/${STAGING_ICU_DIR_NATIVE}/config
 	cp -r ${B}/config/icucross.mk ${D}/${STAGING_ICU_DIR_NATIVE}/config
 	cp -r ${B}/config/icucross.inc ${D}/${STAGING_ICU_DIR_NATIVE}/config
@@ -54,7 +54,7 @@ do_install_append_class-native() {
 	cp -r ${B}/tools ${D}/${STAGING_ICU_DIR_NATIVE}
 }
 
-do_install_append_class-target() {
+do_install:append:class-target() {
     # The native pkgdata can not generate the correct data file.
     # Use icupkg to re-generate it.
     if [ "${SITEINFO_ENDIANNESS}" = "be" ] ; then
@@ -73,13 +73,13 @@ do_install_append_class-target() {
 
 PACKAGES =+ "libicudata libicuuc libicui18n libicutu libicuio"
 
-FILES_${PN}-dev += "${libdir}/${BPN}/"
+FILES:${PN}-dev += "${libdir}/${BPN}/"
 
-FILES_libicudata = "${libdir}/libicudata.so.*"
-FILES_libicuuc = "${libdir}/libicuuc.so.*"
-FILES_libicui18n = "${libdir}/libicui18n.so.*"
-FILES_libicutu = "${libdir}/libicutu.so.*"
-FILES_libicuio = "${libdir}/libicuio.so.*"
+FILES:libicudata = "${libdir}/libicudata.so.*"
+FILES:libicuuc = "${libdir}/libicuuc.so.*"
+FILES:libicui18n = "${libdir}/libicui18n.so.*"
+FILES:libicutu = "${libdir}/libicutu.so.*"
+FILES:libicuio = "${libdir}/libicuio.so.*"
 
 BBCLASSEXTEND = "native nativesdk"
 
@@ -97,8 +97,8 @@ ICU_PV = "${@icu_download_version(d)}"
 ICU_FOLDER = "${@icu_download_folder(d)}"
 
 # http://errors.yoctoproject.org/Errors/Details/20486/
-ARM_INSTRUCTION_SET_armv4 = "arm"
-ARM_INSTRUCTION_SET_armv5 = "arm"
+ARM_INSTRUCTION_SET:armv4 = "arm"
+ARM_INSTRUCTION_SET:armv5 = "arm"
 
 BASE_SRC_URI = "https://github.com/unicode-org/icu/releases/download/release-${ICU_FOLDER}/icu4c-${ICU_PV}-src.tgz"
 DATA_SRC_URI = "https://github.com/unicode-org/icu/releases/download/release-${ICU_FOLDER}/icu4c-${ICU_PV}-data.zip"
@@ -109,7 +109,7 @@ SRC_URI = "${BASE_SRC_URI};name=code \
            file://0001-icu-Added-armeb-support.patch \
            "
 
-SRC_URI_append_class-target = "\
+SRC_URI:append:class-target = "\
            file://0001-Disable-LDFLAGSICUDT-for-Linux.patch \
           "
 SRC_URI[code.sha256sum] = "4cba7b7acd1d3c42c44bb0c14be6637098c7faf2b330ce876bc5f3b915d09745"
@@ -118,12 +118,12 @@ SRC_URI[data.sha256sum] = "4fc2d8cfc3343673123586fca3967404abd4e346fba5515829204
 UPSTREAM_CHECK_REGEX = "icu4c-(?P<pver>\d+(_\d+)+)-src"
 UPSTREAM_CHECK_URI = "https://github.com/unicode-org/icu/releases"
 
-EXTRA_OECONF_append_libc-musl = " ac_cv_func_strtod_l=no"
+EXTRA_OECONF:append:libc-musl = " ac_cv_func_strtod_l=no"
 
 PACKAGECONFIG ?= ""
 PACKAGECONFIG[make-icudata] = ",,,"
 
-do_make_icudata_class-target () {
+do_make_icudata:class-target () {
     ${@bb.utils.contains('PACKAGECONFIG', 'make-icudata', '', 'exit 0', d)}
     cd ${S}
     rm -rf data
diff --git a/meta/recipes-support/iso-codes/iso-codes_4.6.0.bb b/meta/recipes-support/iso-codes/iso-codes_4.6.0.bb
index f915716ce70..6dd9bfa24c8 100644
--- a/meta/recipes-support/iso-codes/iso-codes_4.6.0.bb
+++ b/meta/recipes-support/iso-codes/iso-codes_4.6.0.bb
@@ -19,4 +19,4 @@ S = "${WORKDIR}/git"
 
 inherit allarch autotools
 
-FILES_${PN} += "${datadir}/xml/"
+FILES:${PN} += "${datadir}/xml/"
diff --git a/meta/recipes-support/itstool/itstool_2.0.6.bb b/meta/recipes-support/itstool/itstool_2.0.6.bb
index e28e2a2005b..eba53e728d1 100644
--- a/meta/recipes-support/itstool/itstool_2.0.6.bb
+++ b/meta/recipes-support/itstool/itstool_2.0.6.bb
@@ -12,13 +12,13 @@ inherit autotools python3native
 DEPENDS = "libxml2-native"
 
 SRC_URI = "http://files.itstool.org/${BPN}/${BPN}-${PV}.tar.bz2"
-SRC_URI_append_class-native = " file://0001-Native-Don-t-use-build-time-hardcoded-python-binary-.patch"
-SRC_URI_append_class-nativesdk = " file://0001-Native-Don-t-use-build-time-hardcoded-python-binary-.patch"
-SRC_URI_append_class-target = " file://0002-Don-t-use-build-time-hardcoded-python-binary-path.patch"
+SRC_URI:append:class-native = " file://0001-Native-Don-t-use-build-time-hardcoded-python-binary-.patch"
+SRC_URI:append:class-nativesdk = " file://0001-Native-Don-t-use-build-time-hardcoded-python-binary-.patch"
+SRC_URI:append:class-target = " file://0002-Don-t-use-build-time-hardcoded-python-binary-path.patch"
 
 SRC_URI[md5sum] = "4306eeba4f4aee6b393d14f9c3c57ca1"
 SRC_URI[sha256sum] = "6233cc22726a9a5a83664bf67d1af79549a298c23185d926c3677afa917b92a9"
 
 BBCLASSEXTEND = "native nativesdk"
 
-RDEPENDS_${PN} += "libxml2-python"
+RDEPENDS:${PN} += "libxml2-python"
diff --git a/meta/recipes-support/libassuan/libassuan_2.5.5.bb b/meta/recipes-support/libassuan/libassuan_2.5.5.bb
index 3d12ea09e88..2d78911c651 100644
--- a/meta/recipes-support/libassuan/libassuan_2.5.5.bb
+++ b/meta/recipes-support/libassuan/libassuan_2.5.5.bb
@@ -6,8 +6,8 @@ HOMEPAGE = "http://www.gnupg.org/related_software/libassuan/"
 BUGTRACKER = "https://bugs.g10code.com/gnupg/index"
 
 LICENSE = "GPLv3+ & LGPLv2.1+"
-LICENSE_${PN} = "LGPLv2.1+"
-LICENSE_${PN}-doc = "GPLv3+"
+LICENSE:${PN} = "LGPLv2.1+"
+LICENSE:${PN}-doc = "GPLv3+"
 LIC_FILES_CHKSUM = "file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949 \
                     file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1 \
                     file://src/assuan.c;endline=20;md5=ab92143a5a2adabd06d7994d1467ea5c\
@@ -26,12 +26,12 @@ BINCONFIG = "${bindir}/libassuan-config"
 
 inherit autotools texinfo binconfig-disabled pkgconfig multilib_header
 
-do_configure_prepend () {
+do_configure:prepend () {
 	# Else these could be used in preference to those in aclocal-copy
 	rm -f ${S}/m4/*.m4
 }
 
-do_install_append () {
+do_install:append () {
     oe_multilib_header assuan.h
 }
 
diff --git a/meta/recipes-support/libatomic-ops/libatomic-ops_7.6.10.bb b/meta/recipes-support/libatomic-ops/libatomic-ops_7.6.10.bb
index 3089d1f7ffd..74afe9c92fa 100644
--- a/meta/recipes-support/libatomic-ops/libatomic-ops_7.6.10.bb
+++ b/meta/recipes-support/libatomic-ops/libatomic-ops_7.6.10.bb
@@ -16,7 +16,7 @@ SRC_URI[sha256sum] = "587edf60817f56daf1e1ab38a4b3c729b8e846ff67b4f62a6157183708
 
 S = "${WORKDIR}/libatomic_ops-${PV}"
 
-ALLOW_EMPTY_${PN} = "1"
+ALLOW_EMPTY:${PN} = "1"
 
 inherit autotools pkgconfig
 
diff --git a/meta/recipes-support/libbsd/libbsd_0.11.3.bb b/meta/recipes-support/libbsd/libbsd_0.11.3.bb
index 55ecae2ea52..8daea9f7622 100644
--- a/meta/recipes-support/libbsd/libbsd_0.11.3.bb
+++ b/meta/recipes-support/libbsd/libbsd_0.11.3.bb
@@ -28,7 +28,7 @@ HOMEPAGE = "https://libbsd.freedesktop.org/wiki/"
 # License: public-domain
 # License: public-domain-Colin-Plumb
 LICENSE = "BSD-3-Clause & BSD-4-Clause & ISC & PD"
-LICENSE_${PN} = "BSD-3-Clause & ISC & PD"
+LICENSE:${PN} = "BSD-3-Clause & ISC & PD"
 LIC_FILES_CHKSUM = "file://COPYING;md5=adf6172075bcc5837e33a8a688eb7e22"
 SECTION = "libs"
 
diff --git a/meta/recipes-support/libcap-ng/libcap-ng-python_0.8.2.bb b/meta/recipes-support/libcap-ng/libcap-ng-python_0.8.2.bb
index 6cea422d113..1240589d007 100644
--- a/meta/recipes-support/libcap-ng/libcap-ng-python_0.8.2.bb
+++ b/meta/recipes-support/libcap-ng/libcap-ng-python_0.8.2.bb
@@ -1,6 +1,6 @@
 require libcap-ng.inc
 
-FILESEXTRAPATHS_prepend := "${THISDIR}/libcap-ng:"
+FILESEXTRAPATHS:prepend := "${THISDIR}/libcap-ng:"
 
 SUMMARY .= " - python"
 
@@ -12,7 +12,7 @@ S = "${WORKDIR}/libcap-ng-${PV}"
 
 EXTRA_OECONF += "--with-python --with-python3"
 
-do_install_append() {
+do_install:append() {
     rm -rf ${D}${bindir}
     rm -rf ${D}${libdir}/.debug
     rm -f ${D}${libdir}/lib*
@@ -23,6 +23,6 @@ do_install_append() {
 
 # PACKAGES = "${PN}"
 
-FILES_${PN} = "${libdir}/python${PYTHON_BASEVERSION}"
-FILES_${PN}-dbg =+ "${PYTHON_SITEPACKAGES_DIR}/.debug/_capng.so"
+FILES:${PN} = "${libdir}/python${PYTHON_BASEVERSION}"
+FILES:${PN}-dbg =+ "${PYTHON_SITEPACKAGES_DIR}/.debug/_capng.so"
 
diff --git a/meta/recipes-support/libcap-ng/libcap-ng.inc b/meta/recipes-support/libcap-ng/libcap-ng.inc
index 64bc62de241..34374b4dbf2 100644
--- a/meta/recipes-support/libcap-ng/libcap-ng.inc
+++ b/meta/recipes-support/libcap-ng/libcap-ng.inc
@@ -13,7 +13,7 @@ SRC_URI = "https://people.redhat.com/sgrubb/libcap-ng/libcap-ng-${PV}.tar.gz \
 
 SRC_URI[sha256sum] = "52c083b77c2b0d8449dee141f9c3eba76e6d4c5ad44ef05df25891126cb85ae9"
 
-EXTRA_OECONF_append_class-target = " --with-capability_header=${STAGING_INCDIR}/linux/capability.h"
-EXTRA_OECONF_append_class-nativesdk = " --with-capability_header=${STAGING_INCDIR}/linux/capability.h"
+EXTRA_OECONF:append:class-target = " --with-capability_header=${STAGING_INCDIR}/linux/capability.h"
+EXTRA_OECONF:append:class-nativesdk = " --with-capability_header=${STAGING_INCDIR}/linux/capability.h"
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-support/libcap-ng/libcap-ng_0.8.2.bb b/meta/recipes-support/libcap-ng/libcap-ng_0.8.2.bb
index 6e6de454940..6e16e886b9d 100644
--- a/meta/recipes-support/libcap-ng/libcap-ng_0.8.2.bb
+++ b/meta/recipes-support/libcap-ng/libcap-ng_0.8.2.bb
@@ -6,7 +6,7 @@ EXTRA_OECONF += "--without-python --without-python3"
 
 BBCLASSEXTEND = "native nativesdk"
 
-do_install_append() {
+do_install:append() {
 	# Moving libcap-ng to base_libdir
 	if [ ! ${D}${libdir} -ef ${D}${base_libdir} ]; then
 		mkdir -p ${D}/${base_libdir}/
diff --git a/meta/recipes-support/libcap/libcap_2.51.bb b/meta/recipes-support/libcap/libcap_2.51.bb
index a43dca9f138..3e653e371e2 100644
--- a/meta/recipes-support/libcap/libcap_2.51.bb
+++ b/meta/recipes-support/libcap/libcap_2.51.bb
@@ -21,7 +21,7 @@ UPSTREAM_CHECK_URI = "https://www.kernel.org/pub/linux/libs/security/linux-privs
 inherit lib_package
 
 PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}"
-PACKAGECONFIG_class-native ??= ""
+PACKAGECONFIG:class-native ??= ""
 
 PACKAGECONFIG[pam] = "PAM_CAP=yes,PAM_CAP=no,libpam"
 
@@ -33,7 +33,7 @@ EXTRA_OEMAKE = " \
   BUILD_GPERF=yes \
 "
 
-EXTRA_OEMAKE_append_class-target = " SYSTEM_HEADERS=${STAGING_INCDIR}"
+EXTRA_OEMAKE:append:class-target = " SYSTEM_HEADERS=${STAGING_INCDIR}"
 
 do_compile() {
 	unset CFLAGS BUILD_CFLAGS
@@ -54,7 +54,7 @@ do_install() {
 		SBINDIR="${sbindir}"
 }
 
-do_install_append() {
+do_install:append() {
 	# Move the library to base_libdir
 	install -d ${D}${base_libdir}
 	if [ ! ${D}${libdir} -ef ${D}${base_libdir} ]; then
@@ -65,9 +65,9 @@ do_install_append() {
 	fi
 }
 
-FILES_${PN}-dev += "${base_libdir}/*.so"
+FILES:${PN}-dev += "${base_libdir}/*.so"
 
 # pam files
-FILES_${PN} += "${base_libdir}/security/*.so"
+FILES:${PN} += "${base_libdir}/security/*.so"
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-support/libcheck/libcheck_0.15.2.bb b/meta/recipes-support/libcheck/libcheck_0.15.2.bb
index 62823023c70..89bcafc4532 100644
--- a/meta/recipes-support/libcheck/libcheck_0.15.2.bb
+++ b/meta/recipes-support/libcheck/libcheck_0.15.2.bb
@@ -21,13 +21,13 @@ inherit autotools pkgconfig texinfo
 
 CACHED_CONFIGUREVARS += "ac_cv_path_AWK_PATH=${bindir}/gawk"
 
-RREPLACES_${PN} = "check (<= 0.9.5)"
+RREPLACES:${PN} = "check (<= 0.9.5)"
 
 BBCLASSEXTEND = "native nativesdk"
 
 PACKAGES =+ "checkmk"
 
-FILES_checkmk = "${bindir}/checkmk"
+FILES:checkmk = "${bindir}/checkmk"
 
-RDEPENDS_checkmk = "gawk"
+RDEPENDS:checkmk = "gawk"
 
diff --git a/meta/recipes-support/libevent/libevent_2.1.12.bb b/meta/recipes-support/libevent/libevent_2.1.12.bb
index 6d53fea5a8e..2a562fe2e96 100644
--- a/meta/recipes-support/libevent/libevent_2.1.12.bb
+++ b/meta/recipes-support/libevent/libevent_2.1.12.bb
@@ -40,11 +40,11 @@ PACKAGES_DYNAMIC = "^${PN}-.*$"
 python split_libevent_libs () {
     do_split_packages(d, '${libdir}', r'^libevent_([a-z]*)-.*\.so\..*', '${PN}-%s', '${SUMMARY} (%s)', prepend=True, allow_links=True)
 }
-PACKAGESPLITFUNCS_prepend = "split_libevent_libs "
+PACKAGESPLITFUNCS:prepend = "split_libevent_libs "
 
 BBCLASSEXTEND = "native nativesdk"
 
-do_install_append() {
+do_install:append() {
 	rm ${D}${bindir}/event_rpcgen.py
 	rmdir ${D}${bindir}
         oe_multilib_header event2/event-config.h
diff --git a/meta/recipes-support/libffi/libffi_3.4.2.bb b/meta/recipes-support/libffi/libffi_3.4.2.bb
index 19b6ed3e58d..733fcc5e6ca 100644
--- a/meta/recipes-support/libffi/libffi_3.4.2.bb
+++ b/meta/recipes-support/libffi/libffi_3.4.2.bb
@@ -19,14 +19,14 @@ UPSTREAM_CHECK_URI = "https://github.com/libffi/libffi/releases/"
 UPSTREAM_CHECK_REGEX = "libffi-(?P<pver>\d+(\.\d+)+)\.tar"
 
 EXTRA_OECONF += "--disable-builddir --disable-exec-static-tramp"
-EXTRA_OEMAKE_class-target = "LIBTOOLFLAGS='--tag=CC'"
+EXTRA_OEMAKE:class-target = "LIBTOOLFLAGS='--tag=CC'"
 inherit autotools texinfo multilib_header
 
-do_install_append() {
+do_install:append() {
 	oe_multilib_header ffi.h ffitarget.h
 }
 
-FILES_${PN}-dev += "${libdir}/libffi-${PV}"
+FILES:${PN}-dev += "${libdir}/libffi-${PV}"
 
 # Doesn't compile in MIPS16e mode due to use of hand-written
 # assembly
diff --git a/meta/recipes-support/libfm/libfm_1.3.2.bb b/meta/recipes-support/libfm/libfm_1.3.2.bb
index eb0949ae7d2..79c7c8eedaf 100644
--- a/meta/recipes-support/libfm/libfm_1.3.2.bb
+++ b/meta/recipes-support/libfm/libfm_1.3.2.bb
@@ -29,7 +29,7 @@ do_configure[dirs] =+ "${S}/m4"
 
 PACKAGES =+ "libfm-gtk"
 PACKAGES += "${PN}-mime"
-FILES_libfm-gtk = " \
+FILES:libfm-gtk = " \
     ${libdir}/libfm-gtk*so.* \
     ${libdir}/libfm/modules/gtk* \
     ${bindir}/libfm-pref-apps \
@@ -40,9 +40,9 @@ FILES_libfm-gtk = " \
     ${datadir}/libfm/images/unknown.png \
     ${datadir}/libfm/ui/*.ui \
 "
-FILES_${PN}-mime = "${datadir}/mime/"
+FILES:${PN}-mime = "${datadir}/mime/"
 
-do_install_append () {
+do_install:append () {
     # remove files which are part of libfm-extra
     rm -f ${D}${includedir}/libfm-1.0/fm-xml-file.h
     rm -f ${D}${includedir}/libfm-1.0/fm-version.h
diff --git a/meta/recipes-support/libgcrypt/libgcrypt_1.9.3.bb b/meta/recipes-support/libgcrypt/libgcrypt_1.9.3.bb
index fd3d8e09f2d..dee936dbc4c 100644
--- a/meta/recipes-support/libgcrypt/libgcrypt_1.9.3.bb
+++ b/meta/recipes-support/libgcrypt/libgcrypt_1.9.3.bb
@@ -8,9 +8,9 @@ SECTION = "libs"
 
 # helper program gcryptrnd and getrandom are under GPL, rest LGPL
 LICENSE = "GPLv2+ & LGPLv2.1+ & GPLv3+"
-LICENSE_${PN} = "LGPLv2.1+"
-LICENSE_${PN}-dev = "GPLv2+ & LGPLv2.1+"
-LICENSE_dumpsexp-dev = "GPLv3+"
+LICENSE:${PN} = "LGPLv2.1+"
+LICENSE:${PN}-dev = "GPLv2+ & LGPLv2.1+"
+LICENSE:dumpsexp-dev = "GPLv3+"
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
                     file://COPYING.LIB;md5=bbb461211a33b134d42ed5ee802b37ff \
@@ -37,25 +37,25 @@ BINCONFIG = "${bindir}/libgcrypt-config"
 inherit autotools texinfo binconfig-disabled pkgconfig
 
 EXTRA_OECONF = "--disable-asm"
-EXTRA_OEMAKE_class-target = "LIBTOOLFLAGS='--tag=CC'"
+EXTRA_OEMAKE:class-target = "LIBTOOLFLAGS='--tag=CC'"
 
 PACKAGECONFIG ??= "capabilities"
 PACKAGECONFIG[capabilities] = "--with-capabilities,--without-capabilities,libcap"
 
-do_configure_prepend () {
+do_configure:prepend () {
 	# Else this could be used in preference to the one in aclocal-copy
 	rm -f ${S}/m4/gpg-error.m4
 }
 
 # libgcrypt.pc is added locally and thus installed here
-do_install_append() {
+do_install:append() {
 	install -d ${D}/${libdir}/pkgconfig
 	install -m 0644 ${B}/src/libgcrypt.pc ${D}/${libdir}/pkgconfig/
 }
 
 PACKAGES =+ "dumpsexp-dev"
 
-FILES_${PN}-dev += "${bindir}/hmac256"
-FILES_dumpsexp-dev += "${bindir}/dumpsexp"
+FILES:${PN}-dev += "${bindir}/hmac256"
+FILES:dumpsexp-dev += "${bindir}/dumpsexp"
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-support/libgpg-error/libgpg-error_1.42.bb b/meta/recipes-support/libgpg-error/libgpg-error_1.42.bb
index c972d9a953a..04f5760b761 100644
--- a/meta/recipes-support/libgpg-error/libgpg-error_1.42.bb
+++ b/meta/recipes-support/libgpg-error/libgpg-error_1.42.bb
@@ -31,13 +31,13 @@ MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/gpgrt-config"
 
 CPPFLAGS += "-P"
 
-do_install_append() {
+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"
+FILES:${PN}-dev += "${bindir}/gpg-error"
+FILES:${PN}-doc += "${datadir}/libgpg-error/errorref.txt"
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-support/libical/libical_3.0.10.bb b/meta/recipes-support/libical/libical_3.0.10.bb
index 30d6bbfd0fd..aa5f11e8170 100644
--- a/meta/recipes-support/libical/libical_3.0.10.bb
+++ b/meta/recipes-support/libical/libical_3.0.10.bb
@@ -19,7 +19,7 @@ UPSTREAM_CHECK_URI = "https://github.com/libical/libical/releases"
 
 inherit cmake pkgconfig
 
-DEPENDS_append_class-target = "libical-native"
+DEPENDS:append:class-target = "libical-native"
 
 PACKAGECONFIG ??= "icu glib"
 PACKAGECONFIG[bdb] = ",-DCMAKE_DISABLE_FIND_PACKAGE_BDB=True,db"
@@ -32,9 +32,9 @@ EXTRA_OECMAKE += "-DPERL_EXECUTABLE=${HOSTTOOLS_DIR}/perl"
 # doc build fails with linker error (??) for libical-glib so disable it
 EXTRA_OECMAKE += "-DICAL_BUILD_DOCS=false"
 
-EXTRA_OECMAKE_append_class-target = " -DIMPORT_ICAL_GLIB_SRC_GENERATOR=${STAGING_LIBDIR_NATIVE}/cmake/LibIcal/IcalGlibSrcGenerator.cmake"
+EXTRA_OECMAKE:append:class-target = " -DIMPORT_ICAL_GLIB_SRC_GENERATOR=${STAGING_LIBDIR_NATIVE}/cmake/LibIcal/IcalGlibSrcGenerator.cmake"
 
-do_install_append () {
+do_install:append () {
     # Remove build host references
     sed -i \
        -e 's,${STAGING_LIBDIR},${libdir},g' \
diff --git a/meta/recipes-support/libksba/libksba_1.6.0.bb b/meta/recipes-support/libksba/libksba_1.6.0.bb
index 552007d6cc4..1374394610c 100644
--- a/meta/recipes-support/libksba/libksba_1.6.0.bb
+++ b/meta/recipes-support/libksba/libksba_1.6.0.bb
@@ -6,8 +6,8 @@ library does not rely on another cryptographic library but provides \
 hooks for easy integration with Libgcrypt. "
 HOMEPAGE = "http://www.gnupg.org/related_software/libksba/"
 LICENSE = "GPLv3+ & (GPLv2+ | LGPLv3+)"
-LICENSE_${PN} = "GPLv2+ | LGPLv3+"
-LICENSE_${PN}-doc = "GPLv3+"
+LICENSE:${PN} = "GPLv2+ | LGPLv3+"
+LICENSE:${PN}-doc = "GPLv3+"
 LIC_FILES_CHKSUM = "file://COPYING;md5=fd541d83f75d038c4e0617b672ed8bda \
                     file://COPYING.GPLv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
                     file://COPYING.GPLv3;md5=2f31b266d3440dd7ee50f92cf67d8e6c \
@@ -26,7 +26,7 @@ SRC_URI = "${GNUPG_MIRROR}/${BPN}/${BPN}-${PV}.tar.bz2 \
 
 SRC_URI[sha256sum] = "dad683e6f2d915d880aa4bed5cea9a115690b8935b78a1bbe01669189307a48b"
 
-do_configure_prepend () {
+do_configure:prepend () {
 	# Else these could be used in preference to those in aclocal-copy
 	rm -f ${S}/m4/gpg-error.m4
 }
diff --git a/meta/recipes-support/libmicrohttpd/libmicrohttpd_0.9.73.bb b/meta/recipes-support/libmicrohttpd/libmicrohttpd_0.9.73.bb
index 219f0c44d65..0b5901bc740 100644
--- a/meta/recipes-support/libmicrohttpd/libmicrohttpd_0.9.73.bb
+++ b/meta/recipes-support/libmicrohttpd/libmicrohttpd_0.9.73.bb
@@ -17,14 +17,14 @@ CFLAGS += "-pthread -D_REENTRANT"
 EXTRA_OECONF += "--disable-static --with-gnutls=${STAGING_LIBDIR}/../"
 
 PACKAGECONFIG ?= "curl https"
-PACKAGECONFIG_append_class-target = "\
+PACKAGECONFIG:append:class-target = "\
         ${@bb.utils.filter('DISTRO_FEATURES', 'largefile', d)} \
 "
 PACKAGECONFIG[largefile] = "--enable-largefile,--disable-largefile,,"
 PACKAGECONFIG[curl] = "--enable-curl,--disable-curl,curl,"
 PACKAGECONFIG[https] = "--enable-https,--disable-https,libgcrypt gnutls,"
 
-do_compile_append() {
+do_compile:append() {
     sed -i s:-L${STAGING_LIBDIR}::g libmicrohttpd.pc
 }
 
diff --git a/meta/recipes-support/libnl/libnl_3.5.0.bb b/meta/recipes-support/libnl/libnl_3.5.0.bb
index 9753f93267a..7480202f13b 100644
--- a/meta/recipes-support/libnl/libnl_3.5.0.bb
+++ b/meta/recipes-support/libnl/libnl_3.5.0.bb
@@ -28,32 +28,32 @@ UPSTREAM_CHECK_URI = "https://github.com/thom311/${BPN}/releases"
 
 inherit autotools pkgconfig ptest
 
-FILES_${PN} = "${libdir}/libnl-3.so.* \
+FILES:${PN} = "${libdir}/libnl-3.so.* \
                ${libdir}/libnl.so.* \
                ${sysconfdir}"
-RREPLACES_${PN} = "libnl2"
-RCONFLICTS_${PN} = "libnl2"
+RREPLACES:${PN} = "libnl2"
+RCONFLICTS:${PN} = "libnl2"
 
-FILES_${PN}-dev += "${libdir}/libnl/cli/*/*.la"
-FILES_${PN}-staticdev += "${libdir}/libnl/cli/*/*.a"
+FILES:${PN}-dev += "${libdir}/libnl/cli/*/*.la"
+FILES:${PN}-staticdev += "${libdir}/libnl/cli/*/*.a"
 
 PACKAGES += "${PN}-cli ${PN}-genl ${PN}-idiag ${PN}-nf ${PN}-route ${PN}-xfrm"
-FILES_${PN}-cli   = "${libdir}/libnl-cli-3.so.* \
+FILES:${PN}-cli   = "${libdir}/libnl-cli-3.so.* \
                      ${libdir}/libnl/cli/*/*.so \
                      ${bindir}/genl-ctrl-list \
                      ${bindir}/idiag-socket-details \
                      ${bindir}/nf-* \
                      ${bindir}/nl-*"
-FILES_${PN}-genl  = "${libdir}/libnl-genl-3.so.* \
+FILES:${PN}-genl  = "${libdir}/libnl-genl-3.so.* \
                      ${libdir}/libnl-genl.so.*"
-FILES_${PN}-idiag = "${libdir}/libnl-idiag-3.so.*"
-FILES_${PN}-nf    = "${libdir}/libnl-nf-3.so.*"
-FILES_${PN}-route = "${libdir}/libnl-route-3.so.*"
-FILES_${PN}-xfrm  = "${libdir}/libnl-xfrm-3.so.*"
-RREPLACES_${PN}-genl = "libnl-genl2"
-RCONFLICTS_${PN}-genl = "libnl-genl2"
-
-RDEPENDS_${PN}-ptest += "libcheck"
+FILES:${PN}-idiag = "${libdir}/libnl-idiag-3.so.*"
+FILES:${PN}-nf    = "${libdir}/libnl-nf-3.so.*"
+FILES:${PN}-route = "${libdir}/libnl-route-3.so.*"
+FILES:${PN}-xfrm  = "${libdir}/libnl-xfrm-3.so.*"
+RREPLACES:${PN}-genl = "libnl-genl2"
+RCONFLICTS:${PN}-genl = "libnl-genl2"
+
+RDEPENDS:${PN}-ptest += "libcheck"
 DEPENDS += "${@bb.utils.contains('PTEST_ENABLED', '1', 'libcheck', '', d)}"
 
 # make sure the tests don't link against wrong so file
diff --git a/meta/recipes-support/libpcre/libpcre2_10.37.bb b/meta/recipes-support/libpcre/libpcre2_10.37.bb
index b596fbe87d7..e0ead59da68 100644
--- a/meta/recipes-support/libpcre/libpcre2_10.37.bb
+++ b/meta/recipes-support/libpcre/libpcre2_10.37.bb
@@ -33,20 +33,20 @@ EXTRA_OECONF = "\
     --enable-pcre2-32 \
 "
 CFLAGS += "-D_REENTRANT"
-CXXFLAGS_append_powerpc = " -lstdc++"
+CXXFLAGS:append:powerpc = " -lstdc++"
 
 PACKAGES =+ "libpcre2-16 libpcre2-32 pcre2grep pcre2grep-doc pcre2test pcre2test-doc"
 
-SUMMARY_pcre2grep = "grep utility that uses perl 5 compatible regexes"
-SUMMARY_pcre2grep-doc = "grep utility that uses perl 5 compatible regexes - docs"
-SUMMARY_pcre2test = "program for testing Perl-comatible regular expressions"
-SUMMARY_pcre2test-doc = "program for testing Perl-comatible regular expressions - docs"
-
-FILES_libpcre2-16 = "${libdir}/libpcre2-16.so.*"
-FILES_libpcre2-32 = "${libdir}/libpcre2-32.so.*"
-FILES_pcre2grep = "${bindir}/pcre2grep"
-FILES_pcre2grep-doc = "${mandir}/man1/pcre2grep.1"
-FILES_pcre2test = "${bindir}/pcre2test"
-FILES_pcre2test-doc = "${mandir}/man1/pcre2test.1"
+SUMMARY:pcre2grep = "grep utility that uses perl 5 compatible regexes"
+SUMMARY:pcre2grep-doc = "grep utility that uses perl 5 compatible regexes - docs"
+SUMMARY:pcre2test = "program for testing Perl-comatible regular expressions"
+SUMMARY:pcre2test-doc = "program for testing Perl-comatible regular expressions - docs"
+
+FILES:libpcre2-16 = "${libdir}/libpcre2-16.so.*"
+FILES:libpcre2-32 = "${libdir}/libpcre2-32.so.*"
+FILES:pcre2grep = "${bindir}/pcre2grep"
+FILES:pcre2grep-doc = "${mandir}/man1/pcre2grep.1"
+FILES:pcre2test = "${bindir}/pcre2test"
+FILES:pcre2test-doc = "${mandir}/man1/pcre2test.1"
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-support/libpcre/libpcre_8.45.bb b/meta/recipes-support/libpcre/libpcre_8.45.bb
index 345c46e86e7..76b20f5f088 100644
--- a/meta/recipes-support/libpcre/libpcre_8.45.bb
+++ b/meta/recipes-support/libpcre/libpcre_8.45.bb
@@ -38,19 +38,19 @@ EXTRA_OECONF = "--enable-utf"
 
 PACKAGES =+ "libpcrecpp libpcreposix pcregrep pcregrep-doc pcretest pcretest-doc"
 
-SUMMARY_libpcrecpp = "${SUMMARY} - C++ wrapper functions"
-SUMMARY_libpcreposix = "${SUMMARY} - C wrapper functions based on the POSIX regex API"
-SUMMARY_pcregrep = "grep utility that uses perl 5 compatible regexes"
-SUMMARY_pcregrep-doc = "grep utility that uses perl 5 compatible regexes - docs"
-SUMMARY_pcretest = "program for testing Perl-comatible regular expressions"
-SUMMARY_pcretest-doc = "program for testing Perl-comatible regular expressions - docs"
+SUMMARY:libpcrecpp = "${SUMMARY} - C++ wrapper functions"
+SUMMARY:libpcreposix = "${SUMMARY} - C wrapper functions based on the POSIX regex API"
+SUMMARY:pcregrep = "grep utility that uses perl 5 compatible regexes"
+SUMMARY:pcregrep-doc = "grep utility that uses perl 5 compatible regexes - docs"
+SUMMARY:pcretest = "program for testing Perl-comatible regular expressions"
+SUMMARY:pcretest-doc = "program for testing Perl-comatible regular expressions - docs"
 
-FILES_libpcrecpp = "${libdir}/libpcrecpp.so.*"
-FILES_libpcreposix = "${libdir}/libpcreposix.so.*"
-FILES_pcregrep = "${bindir}/pcregrep"
-FILES_pcregrep-doc = "${mandir}/man1/pcregrep.1"
-FILES_pcretest = "${bindir}/pcretest"
-FILES_pcretest-doc = "${mandir}/man1/pcretest.1"
+FILES:libpcrecpp = "${libdir}/libpcrecpp.so.*"
+FILES:libpcreposix = "${libdir}/libpcreposix.so.*"
+FILES:pcregrep = "${bindir}/pcregrep"
+FILES:pcregrep-doc = "${mandir}/man1/pcregrep.1"
+FILES:pcretest = "${bindir}/pcretest"
+FILES:pcretest-doc = "${mandir}/man1/pcretest.1"
 
 BBCLASSEXTEND = "native nativesdk"
 
@@ -70,4 +70,4 @@ do_install_ptest() {
 	sed -i -e 's:do3=yes:do3=no:g' ${D}${PTEST_PATH}/RunTest 
 }
 
-RDEPENDS_${PN}-ptest += "make"
+RDEPENDS:${PN}-ptest += "make"
diff --git a/meta/recipes-support/libproxy/libproxy_0.4.17.bb b/meta/recipes-support/libproxy/libproxy_0.4.17.bb
index c2579b39414..7e97d363398 100644
--- a/meta/recipes-support/libproxy/libproxy_0.4.17.bb
+++ b/meta/recipes-support/libproxy/libproxy_0.4.17.bb
@@ -37,6 +37,6 @@ EXTRA_OECMAKE += " \
     -DLIB_INSTALL_DIR=${libdir} \
     -DLIBEXEC_INSTALL_DIR=${libexecdir} \
 "
-SECURITY_PIE_CFLAGS_remove = "-fPIE -pie"
+SECURITY_PIE_CFLAGS:remove = "-fPIE -pie"
 
-FILES_${PN} += "${libdir}/${BPN}/${PV}/modules"
+FILES:${PN} += "${libdir}/${BPN}/${PV}/modules"
diff --git a/meta/recipes-support/libseccomp/libseccomp_2.5.1.bb b/meta/recipes-support/libseccomp/libseccomp_2.5.1.bb
index 79736f2ad1e..74bface4a18 100644
--- a/meta/recipes-support/libseccomp/libseccomp_2.5.1.bb
+++ b/meta/recipes-support/libseccomp/libseccomp_2.5.1.bb
@@ -50,7 +50,7 @@ do_install_ptest() {
     done
 }
 
-FILES_${PN} = "${bindir} ${libdir}/${BPN}.so*"
-FILES_${PN}-dbg += "${libdir}/${PN}/tests/.debug/* ${libdir}/${PN}/tools/.debug"
+FILES:${PN} = "${bindir} ${libdir}/${BPN}.so*"
+FILES:${PN}-dbg += "${libdir}/${PN}/tests/.debug/* ${libdir}/${PN}/tools/.debug"
 
-RDEPENDS_${PN}-ptest = "coreutils bash"
+RDEPENDS:${PN}-ptest = "coreutils bash"
diff --git a/meta/recipes-support/libsoup/libsoup-2.4_2.72.0.bb b/meta/recipes-support/libsoup/libsoup-2.4_2.72.0.bb
index 5b74119d94f..31498964661 100644
--- a/meta/recipes-support/libsoup/libsoup-2.4_2.72.0.bb
+++ b/meta/recipes-support/libsoup/libsoup-2.4_2.72.0.bb
@@ -28,7 +28,7 @@ PACKAGECONFIG ??= ""
 PACKAGECONFIG[gnome] = "-Dgnome=true,-Dgnome=false"
 PACKAGECONFIG[gssapi] = "-Dgssapi=enabled,-Dgssapi=disabled,krb5"
 
-EXTRA_OEMESON_append = " -Dvapi=disabled -Dtls_check=false"
+EXTRA_OEMESON:append = " -Dvapi=disabled -Dtls_check=false"
 
 GTKDOC_MESON_OPTION = "gtk_doc"
 
@@ -36,9 +36,9 @@ GTKDOC_MESON_OPTION = "gtk_doc"
 # and will therefore become subject to renaming by debian.bbclass. Prevent
 # renaming in order to keep the package name consistent regardless of whether
 # gnome support is enabled or disabled.
-DEBIAN_NOAUTONAME_${PN} = "1"
+DEBIAN_NOAUTONAME:${PN} = "1"
 
 # glib-networking is needed for SSL, proxies, etc.
-RRECOMMENDS_${PN} = "glib-networking"
+RRECOMMENDS:${PN} = "glib-networking"
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-support/libssh2/libssh2_1.9.0.bb b/meta/recipes-support/libssh2/libssh2_1.9.0.bb
index f290bf3268c..9ae736d25ad 100644
--- a/meta/recipes-support/libssh2/libssh2_1.9.0.bb
+++ b/meta/recipes-support/libssh2/libssh2_1.9.0.bb
@@ -14,7 +14,7 @@ SRC_URI = "http://www.libssh2.org/download/${BP}.tar.gz \
            file://0001-kex.c-move-EC-macro-outside-of-if-check-549-550.patch \
 "
 
-SRC_URI_append_ptest = " file://0001-Don-t-let-host-enviroment-to-decide-if-a-test-is-bui.patch"
+SRC_URI:append_ptest = " file://0001-Don-t-let-host-enviroment-to-decide-if-a-test-is-bui.patch"
 
 SRC_URI[md5sum] = "1beefafe8963982adc84b408b2959927"
 SRC_URI[sha256sum] = "d5fb8bd563305fd1074dda90bd053fb2d29fc4bce048d182f96eaa466dfadafd"
@@ -34,8 +34,8 @@ PACKAGECONFIG[gcrypt] = "--with-crypto=libgcrypt --with-libgcrypt-prefix=${STAGI
 BBCLASSEXTEND = "native nativesdk"
 
 # required for ptest on documentation
-RDEPENDS_${PN}-ptest = "man-db openssh util-linux-col"
-RDEPENDS_${PN}-ptest_append_libc-glibc = " locale-base-en-us"
+RDEPENDS:${PN}-ptest = "man-db openssh util-linux-col"
+RDEPENDS:${PN}-ptest:append:libc-glibc = " locale-base-en-us"
 
 do_compile_ptest() {
 	sed -i "/\$(MAKE) \$(AM_MAKEFLAGS) check-TESTS/d" tests/Makefile
diff --git a/meta/recipes-support/libunwind/libunwind.inc b/meta/recipes-support/libunwind/libunwind.inc
index 17ba1519338..bf74f9fa3c7 100644
--- a/meta/recipes-support/libunwind/libunwind.inc
+++ b/meta/recipes-support/libunwind/libunwind.inc
@@ -4,7 +4,7 @@ HOMEPAGE = "http://www.nongnu.org/libunwind"
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://COPYING;md5=2d80c8ed4062b8339b715f90fa68cc9f"
 DEPENDS += "libatomic-ops"
-DEPENDS_append_libc-musl = " libucontext"
+DEPENDS:append:libc-musl = " libucontext"
 
 inherit autotools multilib_header
 
@@ -12,11 +12,11 @@ PACKAGECONFIG ??= ""
 PACKAGECONFIG[lzma] = "--enable-minidebuginfo,--disable-minidebuginfo,xz"
 PACKAGECONFIG[latexdocs] = "--enable-documentation, --disable-documentation, latex2man-native"
 
-EXTRA_OECONF_arm = "--enable-debug-frame"
-EXTRA_OECONF_armeb = "--enable-debug-frame"
-EXTRA_OECONF_aarch64 = "--enable-debug-frame"
+EXTRA_OECONF:arm = "--enable-debug-frame"
+EXTRA_OECONF:armeb = "--enable-debug-frame"
+EXTRA_OECONF:aarch64 = "--enable-debug-frame"
 
-do_install_append () {
+do_install:append () {
 	oe_multilib_header libunwind.h
 }
 
diff --git a/meta/recipes-support/libunwind/libunwind_1.5.0.bb b/meta/recipes-support/libunwind/libunwind_1.5.0.bb
index 6392cac5c93..9b515b58f47 100644
--- a/meta/recipes-support/libunwind/libunwind_1.5.0.bb
+++ b/meta/recipes-support/libunwind/libunwind_1.5.0.bb
@@ -8,21 +8,21 @@ SRC_URI = "http://download.savannah.nongnu.org/releases/libunwind/libunwind-${PV
            file://0006-Fix-for-X32.patch \
            file://0001-configure-Do-not-enforce-libdir-for-ppc64.patch \
            "
-SRC_URI_append_libc-musl = " file://musl-header-conflict.patch"
+SRC_URI:append:libc-musl = " file://musl-header-conflict.patch"
 
 SRC_URI[md5sum] = "c6923dda0675f6a4ef21426164dc8b6a"
 SRC_URI[sha256sum] = "90337653d92d4a13de590781371c604f9031cdb50520366aa1e3a91e1efb1017"
 
-EXTRA_OECONF_append_libc-musl = " --disable-documentation --disable-tests --enable-static"
+EXTRA_OECONF:append:libc-musl = " --disable-documentation --disable-tests --enable-static"
 
 # http://errors.yoctoproject.org/Errors/Details/20487/
-ARM_INSTRUCTION_SET_armv4 = "arm"
-ARM_INSTRUCTION_SET_armv5 = "arm"
+ARM_INSTRUCTION_SET:armv4 = "arm"
+ARM_INSTRUCTION_SET:armv5 = "arm"
 
-COMPATIBLE_HOST_riscv64 = "null"
-COMPATIBLE_HOST_riscv32 = "null"
+COMPATIBLE_HOST:riscv64 = "null"
+COMPATIBLE_HOST:riscv32 = "null"
 
 LDFLAGS += "-Wl,-z,relro,-z,now ${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}"
 
-SECURITY_LDFLAGS_append_libc-musl = " -lssp_nonshared"
-CACHED_CONFIGUREVARS_append_libc-musl = " LDFLAGS='${LDFLAGS} -lucontext'"
+SECURITY_LDFLAGS:append:libc-musl = " -lssp_nonshared"
+CACHED_CONFIGUREVARS:append:libc-musl = " LDFLAGS='${LDFLAGS} -lucontext'"
diff --git a/meta/recipes-support/liburcu/liburcu_0.13.0.bb b/meta/recipes-support/liburcu/liburcu_0.13.0.bb
index c9fef897891..aba8d070edf 100644
--- a/meta/recipes-support/liburcu/liburcu_0.13.0.bb
+++ b/meta/recipes-support/liburcu/liburcu_0.13.0.bb
@@ -18,8 +18,8 @@ SRC_URI[sha256sum] = "cbb20dbe1a892c2a4d8898bac4316176e585392693d498766ccbbc68cf
 S = "${WORKDIR}/userspace-rcu-${PV}"
 inherit autotools multilib_header
 
-CPPFLAGS_append_riscv64  = " -pthread -D_REENTRANT"
+CPPFLAGS:append:riscv64  = " -pthread -D_REENTRANT"
 
-do_install_append() {
+do_install:append() {
     oe_multilib_header urcu/config.h
 }
diff --git a/meta/recipes-support/libusb/libusb1_1.0.24.bb b/meta/recipes-support/libusb/libusb1_1.0.24.bb
index 92e66b1b160..95a20958a11 100644
--- a/meta/recipes-support/libusb/libusb1_1.0.24.bb
+++ b/meta/recipes-support/libusb/libusb1_1.0.24.bb
@@ -20,12 +20,12 @@ S = "${WORKDIR}/libusb-${PV}"
 
 inherit autotools pkgconfig ptest
 
-PACKAGECONFIG_class-target ??= "udev"
+PACKAGECONFIG:class-target ??= "udev"
 PACKAGECONFIG[udev] = "--enable-udev,--disable-udev,udev"
 
 EXTRA_OECONF = "--libdir=${base_libdir}"
 
-do_install_append() {
+do_install:append() {
 	install -d ${D}${libdir}
 	if [ ! ${D}${libdir} -ef ${D}${base_libdir} ]; then
 		mv ${D}${base_libdir}/pkgconfig ${D}${libdir}
@@ -40,6 +40,6 @@ do_install_ptest() {
     install -m 755 ${B}/tests/.libs/stress ${D}${PTEST_PATH}         
 }
 
-FILES_${PN} += "${base_libdir}/*.so.*"
+FILES:${PN} += "${base_libdir}/*.so.*"
 
-FILES_${PN}-dev += "${base_libdir}/*.so ${base_libdir}/*.la"
+FILES:${PN}-dev += "${base_libdir}/*.so ${base_libdir}/*.la"
diff --git a/meta/recipes-support/libxslt/libxslt_1.1.34.bb b/meta/recipes-support/libxslt/libxslt_1.1.34.bb
index 63cce6fe06c..c888f3d7e18 100644
--- a/meta/recipes-support/libxslt/libxslt_1.1.34.bb
+++ b/meta/recipes-support/libxslt/libxslt_1.1.34.bb
@@ -27,7 +27,7 @@ BINCONFIG = "${bindir}/xslt-config"
 
 inherit autotools pkgconfig binconfig-disabled lib_package multilib_header
 
-do_configure_prepend () {
+do_configure:prepend () {
 	# We don't DEPEND on binutils for ansidecl.h so ensure we don't use the header.
 	# This can be removed when upgrading to 1.1.34.
 	sed -i -e 's/ansidecl.h//' ${S}/configure.ac
@@ -39,20 +39,20 @@ do_configure_prepend () {
 
 EXTRA_OECONF = "--without-python --without-debug --without-mem-debug --without-crypto --with-html-subdir=${BPN}"
 # older versions of this recipe had ${PN}-utils
-RPROVIDES_${PN}-bin += "${PN}-utils"
-RCONFLICTS_${PN}-bin += "${PN}-utils"
-RREPLACES_${PN}-bin += "${PN}-utils"
+RPROVIDES:${PN}-bin += "${PN}-utils"
+RCONFLICTS:${PN}-bin += "${PN}-utils"
+RREPLACES:${PN}-bin += "${PN}-utils"
 
 # This is only needed until libxml can load the relocated catalog itself
-do_install_append_class-native () {
+do_install:append:class-native () {
     create_wrapper ${D}/${bindir}/xsltproc XML_CATALOG_FILES=${sysconfdir}/xml/catalog
 }
 
-do_install_append () {
+do_install:append () {
    oe_multilib_header libxslt/xsltconfig.h
 }
 
-FILES_${PN} += "${libdir}/libxslt-plugins"
-FILES_${PN}-dev += "${libdir}/xsltConf.sh"
+FILES:${PN} += "${libdir}/libxslt-plugins"
+FILES:${PN}-dev += "${libdir}/xsltConf.sh"
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-support/libyaml/libyaml_0.2.5.bb b/meta/recipes-support/libyaml/libyaml_0.2.5.bb
index 778e0916386..4cb5717ece8 100644
--- a/meta/recipes-support/libyaml/libyaml_0.2.5.bb
+++ b/meta/recipes-support/libyaml/libyaml_0.2.5.bb
@@ -15,7 +15,7 @@ S = "${WORKDIR}/yaml-${PV}"
 
 inherit autotools
 
-DISABLE_STATIC_class-nativesdk = ""
-DISABLE_STATIC_class-native = ""
+DISABLE_STATIC:class-nativesdk = ""
+DISABLE_STATIC:class-native = ""
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-support/lzop/lzop_1.04.bb b/meta/recipes-support/lzop/lzop_1.04.bb
index 59c2003b74e..8ac7efbbfd8 100644
--- a/meta/recipes-support/lzop/lzop_1.04.bb
+++ b/meta/recipes-support/lzop/lzop_1.04.bb
@@ -20,7 +20,7 @@ SRC_URI[sha256sum] = "7e72b62a8a60aff5200a047eea0773a8fb205caf7acbe1774d95147f30
 
 inherit autotools
 
-do_configure_prepend () {
+do_configure:prepend () {
     install -Dm 0644 ${WORKDIR}/acinclude.m4 ${S}/acinclude.m4
 }
 
diff --git a/meta/recipes-support/nettle/nettle_3.7.3.bb b/meta/recipes-support/nettle/nettle_3.7.3.bb
index 031500d7415..877f5f169fb 100644
--- a/meta/recipes-support/nettle/nettle_3.7.3.bb
+++ b/meta/recipes-support/nettle/nettle_3.7.3.bb
@@ -20,7 +20,7 @@ SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.gz \
            file://check-header-files-of-openssl-only-if-enable_.patch \
            "
 
-SRC_URI_append_class-target = "\
+SRC_URI:append:class-target = "\
             file://dlopen-test.patch \
             "
 
@@ -38,7 +38,7 @@ do_compile_ptest() {
         oe_runmake buildtest
 }
 
-do_install_append() {
+do_install:append() {
     oe_multilib_header nettle/version.h
 }
 
@@ -51,7 +51,7 @@ do_install_ptest() {
         install ${B}/testsuite/*-test ${D}${PTEST_PATH}/testsuite/
 }
 
-RDEPENDS_${PN}-ptest += "${PN}-dev"
-INSANE_SKIP_${PN}-ptest += "dev-deps"
+RDEPENDS:${PN}-ptest += "${PN}-dev"
+INSANE_SKIP:${PN}-ptest += "dev-deps"
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-support/npth/npth_1.6.bb b/meta/recipes-support/npth/npth_1.6.bb
index d5a149e0412..8c94cc22c1d 100644
--- a/meta/recipes-support/npth/npth_1.6.bb
+++ b/meta/recipes-support/npth/npth_1.6.bb
@@ -19,10 +19,10 @@ BINCONFIG = "${bindir}/npth-config"
 
 inherit autotools binconfig-disabled multilib_header
 
-FILES_${PN} = "${libdir}/libnpth.so.*"
-FILES_${PN}-dev += "${bindir}/npth-config"
+FILES:${PN} = "${libdir}/libnpth.so.*"
+FILES:${PN}-dev += "${bindir}/npth-config"
 
-do_install_append() {
+do_install:append() {
     oe_multilib_header npth.h
 }
 
diff --git a/meta/recipes-support/nss-myhostname/nss-myhostname_0.3.bb b/meta/recipes-support/nss-myhostname/nss-myhostname_0.3.bb
index 074f7132053..969e20e2835 100644
--- a/meta/recipes-support/nss-myhostname/nss-myhostname_0.3.bb
+++ b/meta/recipes-support/nss-myhostname/nss-myhostname_0.3.bb
@@ -14,18 +14,18 @@ SRC_URI[sha256sum] = "2ba744ea8d578d1c57c85884e94a3042ee17843a5294434d3a7f6c4d67
 
 inherit autotools features_check
 
-COMPATIBLE_HOST_libc-musl = 'null'
+COMPATIBLE_HOST:libc-musl = 'null'
 
 # The systemd has its own copy of nss-myhostname
 CONFLICT_DISTRO_FEATURES = "systemd"
 
-pkg_postinst_${PN} () {
+pkg_postinst:${PN} () {
 	sed -e '/^hosts:/s/\s*\<myhostname\>//' \
 		-e 's/\(^hosts:.*\)\(\<files\>\)\(.*\)\(\<dns\>\)\(.*\)/\1\2 myhostname \3\4\5/' \
 		-i $D${sysconfdir}/nsswitch.conf
 }
 
-pkg_prerm_${PN} () {
+pkg_prerm:${PN} () {
 	sed -e '/^hosts:/s/\s*\<myhostname\>//' \
 		-e '/^hosts:/s/\s*myhostname//' \
 		-i $D${sysconfdir}/nsswitch.conf
diff --git a/meta/recipes-support/numactl/numactl_git.bb b/meta/recipes-support/numactl/numactl_git.bb
index 6c8a667a41b..7b1b14d1d54 100644
--- a/meta/recipes-support/numactl/numactl_git.bb
+++ b/meta/recipes-support/numactl/numactl_git.bb
@@ -22,8 +22,8 @@ SRC_URI = "git://github.com/numactl/numactl \
 
 S = "${WORKDIR}/git"
 
-LDFLAGS_append_riscv64 = " -latomic"
-LDFLAGS_append_riscv32 = " -latomic"
+LDFLAGS:append:riscv64 = " -latomic"
+LDFLAGS:append:riscv32 = " -latomic"
 
 do_install() {
     oe_runmake DESTDIR=${D} prefix=${D}/usr install
@@ -56,4 +56,4 @@ do_install_ptest() {
     install -m 0755 ${B}/.libs/numactl ${D}${PTEST_PATH}/
 }
 
-RDEPENDS_${PN}-ptest = "bash"
+RDEPENDS:${PN}-ptest = "bash"
diff --git a/meta/recipes-support/p11-kit/p11-kit_0.24.0.bb b/meta/recipes-support/p11-kit/p11-kit_0.24.0.bb
index 6759168b372..9cac87ed324 100644
--- a/meta/recipes-support/p11-kit/p11-kit_0.24.0.bb
+++ b/meta/recipes-support/p11-kit/p11-kit_0.24.0.bb
@@ -8,7 +8,7 @@ inherit meson gettext pkgconfig gtk-doc bash-completion manpages
 
 DEPENDS = "libtasn1 libtasn1-native libffi"
 
-DEPENDS_append = "${@' glib-2.0' if d.getVar('GTKDOC_ENABLED') == 'True' else ''}"
+DEPENDS:append = "${@' glib-2.0' if d.getVar('GTKDOC_ENABLED') == 'True' else ''}"
 
 SRC_URI = "git://github.com/p11-glue/p11-kit"
 SRCREV = "34826623f58399b24c21f1788e2cdaea34521b7b"
@@ -20,13 +20,13 @@ PACKAGECONFIG[trust-paths] = "-Dtrust_paths=/etc/ssl/certs/ca-certificates.crt,,
 
 GTKDOC_MESON_OPTION = 'gtk_doc'
 
-FILES_${PN} += " \
+FILES:${PN} += " \
     ${libdir}/p11-kit-proxy.so \
     ${libdir}/pkcs11/*.so \
     ${libdir}/pkcs11/*.la \
     ${systemd_user_unitdir}/*"
 
 # PN contains p11-kit-proxy.so, a symlink to a loadable module
-INSANE_SKIP_${PN} = "dev-so"
+INSANE_SKIP:${PN} = "dev-so"
 
 BBCLASSEXTEND = "nativesdk"
diff --git a/meta/recipes-support/ptest-runner/ptest-runner_2.4.1.bb b/meta/recipes-support/ptest-runner/ptest-runner_2.4.1.bb
index 6bd10d2feca..c6a1ab17812 100644
--- a/meta/recipes-support/ptest-runner/ptest-runner_2.4.1.bb
+++ b/meta/recipes-support/ptest-runner/ptest-runner_2.4.1.bb
@@ -15,7 +15,7 @@ SRC_URI = "git://git.yoctoproject.org/ptest-runner2 \
 
 S = "${WORKDIR}/git"
 
-FILES_${PN} = "${bindir}/ptest-runner"
+FILES:${PN} = "${bindir}/ptest-runner"
 
 EXTRA_OEMAKE = "-e MAKEFLAGS= CFLAGS="${CFLAGS} -DDEFAULT_DIRECTORY=\\\"${libdir}\\\"""
 
@@ -27,4 +27,4 @@ do_install () {
 	install -D -m 0755 ${S}/ptest-runner ${D}${bindir}/ptest-runner
 }
 
-RDEPENDS_${PN}_append_libc-glibc = " libgcc"
+RDEPENDS:${PN}:append:libc-glibc = " libgcc"
diff --git a/meta/recipes-support/rng-tools/rng-tools_6.13.bb b/meta/recipes-support/rng-tools/rng-tools_6.13.bb
index fb2fd63c5dd..84dbc768557 100644
--- a/meta/recipes-support/rng-tools/rng-tools_6.13.bb
+++ b/meta/recipes-support/rng-tools/rng-tools_6.13.bb
@@ -23,7 +23,7 @@ inherit autotools update-rc.d systemd pkgconfig
 EXTRA_OECONF = "--without-rtlsdr"
 
 PACKAGECONFIG ??= "libjitterentropy"
-PACKAGECONFIG_libc-musl = "libargp libjitterentropy"
+PACKAGECONFIG:libc-musl = "libargp libjitterentropy"
 
 PACKAGECONFIG[libargp] = "--with-libargp,--without-libargp,argp-standalone,"
 PACKAGECONFIG[libjitterentropy] = "--enable-jitterentropy,--disable-jitterentropy,libjitterentropy"
@@ -33,14 +33,14 @@ PACKAGECONFIG[nistbeacon] = "--with-nistbeacon,--without-nistbeacon,curl libxml2
 INITSCRIPT_NAME = "rng-tools"
 INITSCRIPT_PARAMS = "start 03 2 3 4 5 . stop 30 0 6 1 ."
 
-SYSTEMD_SERVICE_${PN} = "rngd.service"
+SYSTEMD_SERVICE:${PN} = "rngd.service"
 
 # Refer autogen.sh in rng-tools
-do_configure_prepend() {
+do_configure:prepend() {
     cp ${S}/README.md ${S}/README
 }
 
-do_install_append() {
+do_install:append() {
     install -Dm 0644 ${WORKDIR}/default ${D}${sysconfdir}/default/rng-tools
     install -Dm 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/rng-tools
     install -Dm 0644 ${WORKDIR}/rngd.service \
diff --git a/meta/recipes-support/serf/serf_1.3.9.bb b/meta/recipes-support/serf/serf_1.3.9.bb
index 3276d40df6e..21515866a90 100644
--- a/meta/recipes-support/serf/serf_1.3.9.bb
+++ b/meta/recipes-support/serf/serf_1.3.9.bb
@@ -36,7 +36,7 @@ EXTRA_OESCONS = " \
                   "
 
 # scons creates non-reproducible archives
-do_install_append() {
+do_install:append() {
 	rm ${D}/${libdir}/*.a
 }
 
diff --git a/meta/recipes-support/shared-mime-info/shared-mime-info_git.bb b/meta/recipes-support/shared-mime-info/shared-mime-info_git.bb
index ff32259d8e6..714aca62f0f 100644
--- a/meta/recipes-support/shared-mime-info/shared-mime-info_git.bb
+++ b/meta/recipes-support/shared-mime-info/shared-mime-info_git.bb
@@ -17,13 +17,13 @@ inherit meson pkgconfig gettext python3native mime
 
 EXTRA_OEMESON = "-Dupdate-mimedb=true"
 
-FILES_${PN} += "${datadir}/mime"
-FILES_${PN}-dev += "${datadir}/pkgconfig/shared-mime-info.pc ${datadir}/gettext/its"
+FILES:${PN} += "${datadir}/mime"
+FILES:${PN}-dev += "${datadir}/pkgconfig/shared-mime-info.pc ${datadir}/gettext/its"
 
 # freedesktop.org.xml is only required when updating the mime database,
 # package it separately
 PACKAGES =+ "shared-mime-info-data"
-FILES_shared-mime-info-data = "${datadir}/mime/packages/freedesktop.org.xml"
-RDEPENDS_shared-mime-info-data = "shared-mime-info"
+FILES:shared-mime-info-data = "${datadir}/mime/packages/freedesktop.org.xml"
+RDEPENDS:shared-mime-info-data = "shared-mime-info"
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-support/sqlite/sqlite3.inc b/meta/recipes-support/sqlite/sqlite3.inc
index 1adc0eba665..aa5dc0974b4 100644
--- a/meta/recipes-support/sqlite/sqlite3.inc
+++ b/meta/recipes-support/sqlite/sqlite3.inc
@@ -24,7 +24,7 @@ inherit autotools pkgconfig siteinfo
 
 # enable those which are enabled by default in configure
 PACKAGECONFIG ?= "fts4 fts5 json1 rtree dyn_ext"
-PACKAGECONFIG_class-native ?= "fts4 fts5 json1 rtree dyn_ext"
+PACKAGECONFIG:class-native ?= "fts4 fts5 json1 rtree dyn_ext"
 
 PACKAGECONFIG[editline] = "--enable-editline,--disable-editline,libedit"
 PACKAGECONFIG[readline] = "--enable-readline,--disable-readline,readline ncurses"
@@ -46,23 +46,23 @@ EXTRA_OECONF = " \
 "
 
 # pread() is in POSIX.1-2001 so any reasonable system must surely support it
-CFLAGS_append = " -DUSE_PREAD"
+CFLAGS:append = " -DUSE_PREAD"
 
 # Provide column meta-data API
-CFLAGS_append = " -DSQLITE_ENABLE_COLUMN_METADATA"
+CFLAGS:append = " -DSQLITE_ENABLE_COLUMN_METADATA"
 
 # Unless SQLITE_BYTEORDER is predefined, the code falls back to build time
 # huristics, which are not always correct
-CFLAGS_append = " ${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'le', '-DSQLITE_BYTEORDER=1234', '-DSQLITE_BYTEORDER=4321', d)}"
+CFLAGS:append = " ${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'le', '-DSQLITE_BYTEORDER=1234', '-DSQLITE_BYTEORDER=4321', d)}"
 
 PACKAGES = "lib${BPN} lib${BPN}-dev lib${BPN}-doc ${PN}-dbg lib${BPN}-staticdev ${PN}"
 
-FILES_${PN} = "${bindir}/*"
-FILES_lib${BPN} = "${libdir}/*.so.*"
-FILES_lib${BPN}-dev = "${libdir}/*.la ${libdir}/*.so \
+FILES:${PN} = "${bindir}/*"
+FILES:lib${BPN} = "${libdir}/*.so.*"
+FILES:lib${BPN}-dev = "${libdir}/*.la ${libdir}/*.so \
                        ${libdir}/pkgconfig ${includedir}"
-FILES_lib${BPN}-doc = "${docdir} ${mandir} ${infodir}"
-FILES_lib${BPN}-staticdev = "${libdir}/lib*.a"
+FILES:lib${BPN}-doc = "${docdir} ${mandir} ${infodir}"
+FILES:lib${BPN}-staticdev = "${libdir}/lib*.a"
 
 AUTO_LIBNAME_PKGS = "${MLPREFIX}lib${BPN}"
 
diff --git a/meta/recipes-support/taglib/taglib_1.12.bb b/meta/recipes-support/taglib/taglib_1.12.bb
index efa56253bb3..2b0961818a2 100644
--- a/meta/recipes-support/taglib/taglib_1.12.bb
+++ b/meta/recipes-support/taglib/taglib_1.12.bb
@@ -21,7 +21,7 @@ BINCONFIG = "${bindir}/taglib-config"
 inherit cmake pkgconfig binconfig-disabled
 
 PACKAGES =+ "${PN}-c"
-FILES_${PN}-c = "${libdir}/libtag_c.so.*"
+FILES:${PN}-c = "${libdir}/libtag_c.so.*"
 
 EXTRA_OECMAKE = "-DBUILD_SHARED_LIBS=ON \
                  -DCMAKE_DISABLE_FIND_PACKAGE_Boost=TRUE \
@@ -32,7 +32,7 @@ EXTRA_OECMAKE = "-DBUILD_SHARED_LIBS=ON \
 "
 CXXFLAGS += "-std=c++11"
 
-do_configure_prepend () {
+do_configure:prepend () {
 	rm -f ${S}/admin/ltmain.sh
 	rm -f ${S}/admin/libtool.m4.in
 }
diff --git a/meta/recipes-support/user-creation/xuser-account_0.1.bb b/meta/recipes-support/user-creation/xuser-account_0.1.bb
index 81817d1e25c..639b01f6eb0 100644
--- a/meta/recipes-support/user-creation/xuser-account_0.1.bb
+++ b/meta/recipes-support/user-creation/xuser-account_0.1.bb
@@ -18,11 +18,11 @@ do_install() {
     install -D -m 0644 ${WORKDIR}/system-xuser.conf ${D}${sysconfdir}/dbus-1/system.d/system-xuser.conf
 }
 
-FILES_${PN} = "${sysconfdir}/dbus-1/system.d/system-xuser.conf"
+FILES:${PN} = "${sysconfdir}/dbus-1/system.d/system-xuser.conf"
 
 USERADD_PACKAGES = "${PN}"
-USERADD_PARAM_${PN} = "--create-home \
+USERADD_PARAM:${PN} = "--create-home \
                        --groups video,tty,audio,input,shutdown,disk \
                        --user-group xuser"
 
-ALLOW_EMPTY_${PN} = "1"
+ALLOW_EMPTY:${PN} = "1"
diff --git a/meta/recipes-support/vim/vim.inc b/meta/recipes-support/vim/vim.inc
index 878d0f18ae9..9e4117466e0 100644
--- a/meta/recipes-support/vim/vim.inc
+++ b/meta/recipes-support/vim/vim.inc
@@ -7,7 +7,7 @@ BUGTRACKER = "https://github.com/vim/vim/issues"
 
 DEPENDS = "ncurses gettext-native"
 # vimdiff doesn't like busybox diff
-RSUGGESTS_${PN} = "diffutils"
+RSUGGESTS:${PN} = "diffutils"
 LICENSE = "vim"
 LIC_FILES_CHKSUM = "file://runtime/doc/uganda.txt;endline=287;md5=a19edd7ec70d573a005d9e509375a99a"
 
@@ -113,18 +113,18 @@ do_install() {
 PARALLEL_MAKEINST = ""
 
 PACKAGES =+ "${PN}-common ${PN}-syntax ${PN}-help ${PN}-tutor ${PN}-vimrc ${PN}-tools"
-FILES_${PN}-syntax = "${datadir}/${BPN}/${VIMDIR}/syntax"
-FILES_${PN}-help = "${datadir}/${BPN}/${VIMDIR}/doc"
-FILES_${PN}-tutor = "${datadir}/${BPN}/${VIMDIR}/tutor ${bindir}/${BPN}tutor"
-FILES_${PN}-vimrc = "${datadir}/${BPN}/vimrc"
-FILES_${PN}-data = "${datadir}/${BPN}"
+FILES:${PN}-syntax = "${datadir}/${BPN}/${VIMDIR}/syntax"
+FILES:${PN}-help = "${datadir}/${BPN}/${VIMDIR}/doc"
+FILES:${PN}-tutor = "${datadir}/${BPN}/${VIMDIR}/tutor ${bindir}/${BPN}tutor"
+FILES:${PN}-vimrc = "${datadir}/${BPN}/vimrc"
+FILES:${PN}-data = "${datadir}/${BPN}"
 
 # We do not want to complain if perl or gawk are not on the target.
 #
-FILES_${PN}-tools = "${datadir}/${BPN}/${VIMDIR}/tools"
-INSANE_SKIP_${PN}-tools = "file-rdeps"
+FILES:${PN}-tools = "${datadir}/${BPN}/${VIMDIR}/tools"
+INSANE_SKIP:${PN}-tools = "file-rdeps"
 
-FILES_${PN}-common = " \
+FILES:${PN}-common = " \
     ${datadir}/${BPN}/${VIMDIR}/*.vim \
     ${datadir}/${BPN}/${VIMDIR}/autoload \
     ${datadir}/${BPN}/${VIMDIR}/colors \
@@ -140,11 +140,11 @@ FILES_${PN}-common = " \
     ${datadir}/icons \
 "
 
-RDEPENDS_${BPN} = "ncurses-terminfo-base"
+RDEPENDS:${BPN} = "ncurses-terminfo-base"
 # Recommend that runtime data is installed along with vim
-RRECOMMENDS_${BPN} = "${PN}-syntax ${PN}-help ${PN}-tutor ${PN}-vimrc ${PN}-common"
+RRECOMMENDS:${BPN} = "${PN}-syntax ${PN}-help ${PN}-tutor ${PN}-vimrc ${PN}-common"
 
-ALTERNATIVE_${PN} = "vi vim"
+ALTERNATIVE:${PN} = "vi vim"
 ALTERNATIVE_PRIORITY = "100"
 ALTERNATIVE_TARGET = "${bindir}/${BPN}.${BPN}"
 ALTERNATIVE_LINK_NAME[vi] = "${base_bindir}/vi"
diff --git a/meta/recipes-support/vim/vim_8.2.bb b/meta/recipes-support/vim/vim_8.2.bb
index 7e4654e472d..3c1b98dca08 100644
--- a/meta/recipes-support/vim/vim_8.2.bb
+++ b/meta/recipes-support/vim/vim_8.2.bb
@@ -2,10 +2,10 @@ require vim.inc
 
 PROVIDES = "xxd"
 
-PACKAGECONFIG_class-native = ""
+PACKAGECONFIG:class-native = ""
 BBCLASSEXTEND = "native nativesdk"
 
-ALTERNATIVE_${PN}_append = " xxd"
+ALTERNATIVE:${PN}:append = " xxd"
 ALTERNATIVE_TARGET[xxd] = "${bindir}/xxd"
 ALTERNATIVE_LINK_NAME[xxd] = "${bindir}/xxd"
 
diff --git a/meta/recipes-support/vte/vte_0.64.2.bb b/meta/recipes-support/vte/vte_0.64.2.bb
index b0baa3f422f..a79f2e44511 100644
--- a/meta/recipes-support/vte/vte_0.64.2.bb
+++ b/meta/recipes-support/vte/vte_0.64.2.bb
@@ -3,7 +3,7 @@ DESCRIPTION = "VTE provides a virtual terminal widget for GTK applications."
 HOMEPAGE = "https://wiki.gnome.org/Apps/Terminal/VTE"
 BUGTRACKER = "https://bugzilla.gnome.org/buglist.cgi?product=vte"
 LICENSE = "GPLv3 & LGPLv3+ & MIT-X"
-LICENSE_libvte = "LGPLv3+"
+LICENSE:libvte = "LGPLv3+"
 
 LIC_FILES_CHKSUM = " \
     file://COPYING.GPL3;md5=cc702cf3444d1f19680c794cc61948f9 \
@@ -33,29 +33,29 @@ export STAGING_DATADIR
 export XDG_DATA_DIRS = "${STAGING_DATADIR}"
 
 # Help g-ir-scanner find the .so for linking
-do_compile_prepend() {
+do_compile:prepend() {
     export GIR_EXTRA_LIBS_PATH="${B}/src/.libs"
 }
 
 # Package additional files
-FILES_${PN}-dev += "${datadir}/vala/vapi/*"
+FILES:${PN}-dev += "${datadir}/vala/vapi/*"
 
 PACKAGECONFIG ??= "gnutls"
 PACKAGECONFIG[vala] = "-Dvapi=true,-Dvapi=false,vala-native vala"
 PACKAGECONFIG[gnutls] = "-Dgnutls=true,-Dgnutls=false,gnutls"
 PACKAGECONFIG[systemd] = "-D_systemd=true,-D_systemd=false,systemd"
 # vala requires gir
-PACKAGECONFIG_remove_class-native = "vala"
+PACKAGECONFIG:remove:class-native = "vala"
 
 CFLAGS += "-D_GNU_SOURCE"
 
 PACKAGES =+ "libvte ${PN}-prompt"
-FILES_libvte = "${libdir}/*.so.* ${libdir}/girepository-1.0/*"
-FILES_${PN}-prompt = " \
+FILES:libvte = "${libdir}/*.so.* ${libdir}/girepository-1.0/*"
+FILES:${PN}-prompt = " \
     ${sysconfdir}/profile.d \
     ${libexecdir}/vte-urlencode-cwd \
 "
 
-FILES_${PN}-dev += "${datadir}/glade/"
+FILES:${PN}-dev += "${datadir}/glade/"
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/scripts/buildhistory-collect-srcrevs b/scripts/buildhistory-collect-srcrevs
index 340bee78bb1..bca01a922b1 100755
--- a/scripts/buildhistory-collect-srcrevs
+++ b/scripts/buildhistory-collect-srcrevs
@@ -101,7 +101,7 @@ def main():
                 if name:
                     print('SRCREV_%s_pn-%s%s = "%s"' % (name, pn, forcevariable, srcrev))
                 else:
-                    print('SRCREV_pn-%s%s = "%s"' % (pn, forcevariable, srcrev))
+                    print('SRCREV:pn-%s%s = "%s"' % (pn, forcevariable, srcrev))
 
 
 if __name__ == "__main__":
diff --git a/scripts/crosstap b/scripts/crosstap
index 40856bc208d..73c89474422 100755
--- a/scripts/crosstap
+++ b/scripts/crosstap
@@ -365,13 +365,13 @@ IMAGE_FSTYPES_DEBUGFS = "tar.bz2"
 USER_CLASSES += "image-combined-dbg"
 
 # enables kernel debug symbols
-KERNEL_EXTRA_FEATURES_append = " features/debug/debug-kernel.scc"
+KERNEL_EXTRA_FEATURES:append = " features/debug/debug-kernel.scc"
 
 # minimal, just run-time systemtap configuration in target image
-PACKAGECONFIG_pn-systemtap = "monitor"
+PACKAGECONFIG:pn-systemtap = "monitor"
 
 # add systemtap run-time into target image if it is not there yet
-IMAGE_INSTALL_append = " systemtap"
+IMAGE_INSTALL:append = " systemtap"
 """
     option_parser = optparse.OptionParser(usage=usage)
 
diff --git a/scripts/lib/devtool/build_image.py b/scripts/lib/devtool/build_image.py
index 9388abbacf6..980f90ddd63 100644
--- a/scripts/lib/devtool/build_image.py
+++ b/scripts/lib/devtool/build_image.py
@@ -113,7 +113,7 @@ def build_image_task(config, basepath, workspace, image, add_packages=None, task
                 with open(appendfile, 'w') as afile:
                     if packages:
                         # include packages from workspace recipes into the image
-                        afile.write('IMAGE_INSTALL_append = " %s"\n' % ' '.join(packages))
+                        afile.write('IMAGE_INSTALL:append = " %s"\n' % ' '.join(packages))
                         if not task:
                             logger.info('Building image %s with the following '
                                         'additional packages: %s', image, ' '.join(packages))
diff --git a/scripts/lib/devtool/sdk.py b/scripts/lib/devtool/sdk.py
index 3aa42a14663..ae3fc4caf9f 100644
--- a/scripts/lib/devtool/sdk.py
+++ b/scripts/lib/devtool/sdk.py
@@ -207,7 +207,7 @@ def sdk_update(args, config, basepath, workspace):
         if not sstate_mirrors:
             with open(os.path.join(conf_dir, 'site.conf'), 'a') as f:
                 f.write('SCONF_VERSION = "%s"\n' % site_conf_version)
-                f.write('SSTATE_MIRRORS_append = " file://.* %s/sstate-cache/PATH \\n "\n' % updateserver)
+                f.write('SSTATE_MIRRORS:append = " file://.* %s/sstate-cache/PATH \\n "\n' % updateserver)
     finally:
         shutil.rmtree(tmpsdk_dir)
 
diff --git a/scripts/lib/devtool/standard.py b/scripts/lib/devtool/standard.py
index 5eba2191d91..61f40da90f5 100644
--- a/scripts/lib/devtool/standard.py
+++ b/scripts/lib/devtool/standard.py
@@ -254,13 +254,13 @@ def add(args, config, basepath, workspace):
                 f.write('\n# initial_rev: %s\n' % initial_rev)
 
             if args.binary:
-                f.write('do_install_append() {\n')
+                f.write('do_install:append() {\n')
                 f.write('    rm -rf ${D}/.git\n')
                 f.write('    rm -f ${D}/singletask.lock\n')
                 f.write('}\n')
 
             if bb.data.inherits_class('npm', rd):
-                f.write('python do_configure_append() {\n')
+                f.write('python do_configure:append() {\n')
                 f.write('    pkgdir = d.getVar("NPM_PACKAGE")\n')
                 f.write('    lockfile = os.path.join(pkgdir, "singletask.lock")\n')
                 f.write('    bb.utils.remove(lockfile)\n')
@@ -936,20 +936,20 @@ def modify(args, config, basepath, workspace):
 
         bb.utils.mkdirhier(os.path.dirname(appendfile))
         with open(appendfile, 'w') as f:
-            f.write('FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n')
+            f.write('FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"\n')
             # Local files can be modified/tracked in separate subdir under srctree
             # Mostly useful for packages with S != WORKDIR
-            f.write('FILESPATH_prepend := "%s:"\n' %
+            f.write('FILESPATH:prepend := "%s:"\n' %
                     os.path.join(srctreebase, 'oe-local-files'))
             f.write('# srctreebase: %s\n' % srctreebase)
 
             f.write('\ninherit externalsrc\n')
             f.write('# NOTE: We use pn- overrides here to avoid affecting multiple variants in the case where the recipe uses BBCLASSEXTEND\n')
-            f.write('EXTERNALSRC_pn-%s = "%s"\n' % (pn, srctree))
+            f.write('EXTERNALSRC:pn-%s = "%s"\n' % (pn, srctree))
 
             b_is_s = use_external_build(args.same_dir, args.no_same_dir, rd)
             if b_is_s:
-                f.write('EXTERNALSRC_BUILD_pn-%s = "%s"\n' % (pn, srctree))
+                f.write('EXTERNALSRC_BUILD:pn-%s = "%s"\n' % (pn, srctree))
 
             if bb.data.inherits_class('kernel', rd):
                 f.write('SRCTREECOVEREDTASKS = "do_validate_branches do_kernel_checkout '
diff --git a/scripts/lib/devtool/upgrade.py b/scripts/lib/devtool/upgrade.py
index da1456a01a5..63362b4900c 100644
--- a/scripts/lib/devtool/upgrade.py
+++ b/scripts/lib/devtool/upgrade.py
@@ -103,14 +103,14 @@ def _write_append(rc, srctree, same_dir, no_same_dir, rev, copied, workspace, d)
     pn = d.getVar('PN')
     af = os.path.join(appendpath, '%s.bbappend' % brf)
     with open(af, 'w') as f:
-        f.write('FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n\n')
+        f.write('FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"\n\n')
         f.write('inherit externalsrc\n')
         f.write(('# NOTE: We use pn- overrides here to avoid affecting'
                  'multiple variants in the case where the recipe uses BBCLASSEXTEND\n'))
-        f.write('EXTERNALSRC_pn-%s = "%s"\n' % (pn, srctree))
+        f.write('EXTERNALSRC:pn-%s = "%s"\n' % (pn, srctree))
         b_is_s = use_external_build(same_dir, no_same_dir, d)
         if b_is_s:
-            f.write('EXTERNALSRC_BUILD_pn-%s = "%s"\n' % (pn, srctree))
+            f.write('EXTERNALSRC_BUILD:pn-%s = "%s"\n' % (pn, srctree))
         f.write('\n')
         if rev:
             f.write('# initial_rev: %s\n' % rev)
diff --git a/scripts/lib/recipetool/append.py b/scripts/lib/recipetool/append.py
index e9d52bb67b4..5f629c07d8e 100644
--- a/scripts/lib/recipetool/append.py
+++ b/scripts/lib/recipetool/append.py
@@ -49,7 +49,7 @@ def find_target_file(targetpath, d, pkglist=None):
                       '/etc/group': '/etc/group should be managed through the useradd and extrausers classes',
                       '/etc/shadow': '/etc/shadow should be managed through the useradd and extrausers classes',
                       '/etc/gshadow': '/etc/gshadow should be managed through the useradd and extrausers classes',
-                      '${sysconfdir}/hostname': '${sysconfdir}/hostname contents should be set by setting hostname_pn-base-files = "value" in configuration',}
+                      '${sysconfdir}/hostname': '${sysconfdir}/hostname contents should be set by setting hostname:pn-base-files = "value" in configuration',}
 
     for pthspec, message in invalidtargets.items():
         if fnmatch.fnmatchcase(targetpath, d.expand(pthspec)):
@@ -79,7 +79,7 @@ def find_target_file(targetpath, d, pkglist=None):
                         for fullpth in dictval.keys():
                             if fnmatch.fnmatchcase(fullpth, targetpath):
                                 recipes[targetpath].append(pn)
-                    elif line.startswith('pkg_preinst_') or line.startswith('pkg_postinst_'):
+                    elif line.startswith('pkg_preinst:') or line.startswith('pkg_postinst:'):
                         scriptval = line.split(':', 1)[1].strip().encode('utf-8').decode('unicode_escape')
                         if 'update-alternatives --install %s ' % targetpath in scriptval:
                             recipes[targetpath].append('?%s' % pn)
diff --git a/scripts/lib/recipetool/create.py b/scripts/lib/recipetool/create.py
index 566c75369a9..0ac97e02e94 100644
--- a/scripts/lib/recipetool/create.py
+++ b/scripts/lib/recipetool/create.py
@@ -710,7 +710,7 @@ def create_recipe(args):
         lines_after.append('')
 
     if args.binary:
-        lines_after.append('INSANE_SKIP_${PN} += "already-stripped"')
+        lines_after.append('INSANE_SKIP:${PN} += "already-stripped"')
         lines_after.append('')
 
     if args.npm_dev:
@@ -1177,7 +1177,7 @@ def split_pkg_licenses(licvalues, packages, outlines, fallback_licenses=None, pn
         license = ' '.join(list(set(pkglicenses.get(pkgname, ['Unknown'])))) or 'Unknown'
         if license == 'Unknown' and pkgname in fallback_licenses:
             license = fallback_licenses[pkgname]
-        outlines.append('LICENSE_%s = "%s"' % (pkgname, license))
+        outlines.append('LICENSE:%s = "%s"' % (pkgname, license))
         outlicenses[pkgname] = license.split()
     return outlicenses
 
diff --git a/scripts/lib/recipetool/create_buildsys_python.py b/scripts/lib/recipetool/create_buildsys_python.py
index adfa3779561..fdd33660387 100644
--- a/scripts/lib/recipetool/create_buildsys_python.py
+++ b/scripts/lib/recipetool/create_buildsys_python.py
@@ -45,9 +45,9 @@ class PythonRecipeHandler(RecipeHandler):
         'Summary': 'SUMMARY',
         'Description': 'DESCRIPTION',
         'License': 'LICENSE',
-        'Requires': 'RDEPENDS_${PN}',
-        'Provides': 'RPROVIDES_${PN}',
-        'Obsoletes': 'RREPLACES_${PN}',
+        'Requires': 'RDEPENDS:${PN}',
+        'Provides': 'RPROVIDES:${PN}',
+        'Obsoletes': 'RREPLACES:${PN}',
     }
     # PN/PV are already set by recipetool core & desc can be extremely long
     excluded_fields = [
@@ -301,7 +301,7 @@ class PythonRecipeHandler(RecipeHandler):
                 inst_req_deps = ('python3-' + r.replace('.', '-').lower() for r in sorted(inst_reqs))
                 lines_after.append('# WARNING: the following rdepends are from setuptools install_requires. These')
                 lines_after.append('# upstream names may not correspond exactly to bitbake package names.')
-                lines_after.append('RDEPENDS_${{PN}} += "{}"'.format(' '.join(inst_req_deps)))
+                lines_after.append('RDEPENDS:${{PN}} += "{}"'.format(' '.join(inst_req_deps)))
 
         if mapped_deps:
             name = info.get('Name')
@@ -313,7 +313,7 @@ class PythonRecipeHandler(RecipeHandler):
                 lines_after.append('')
             lines_after.append('# WARNING: the following rdepends are determined through basic analysis of the')
             lines_after.append('# python sources, and might not be 100% accurate.')
-            lines_after.append('RDEPENDS_${{PN}} += "{}"'.format(' '.join(sorted(mapped_deps))))
+            lines_after.append('RDEPENDS:${{PN}} += "{}"'.format(' '.join(sorted(mapped_deps))))
 
         unmapped_deps -= set(extensions)
         unmapped_deps -= set(self.assume_provided)
diff --git a/scripts/lib/recipetool/create_kmod.py b/scripts/lib/recipetool/create_kmod.py
index 85b5c48e531..cc001069613 100644
--- a/scripts/lib/recipetool/create_kmod.py
+++ b/scripts/lib/recipetool/create_kmod.py
@@ -113,7 +113,7 @@ class KernelModuleRecipeHandler(RecipeHandler):
                 kdirpath, _ = check_target(compile_lines, install=False)
 
             if manual_install or not install_lines:
-                lines_after.append('EXTRA_OEMAKE_append_task-install = " -C ${STAGING_KERNEL_DIR} M=${S}"')
+                lines_after.append('EXTRA_OEMAKE:append:task-install = " -C ${STAGING_KERNEL_DIR} M=${S}"')
             elif install_target and install_target != 'modules_install':
                 lines_after.append('MODULES_INSTALL_TARGET = "install"')
 
diff --git a/scripts/oe-check-sstate b/scripts/oe-check-sstate
index ca249ca67b9..59bcb32a8c5 100755
--- a/scripts/oe-check-sstate
+++ b/scripts/oe-check-sstate
@@ -47,8 +47,8 @@ def check(args):
     try:
         env = os.environ.copy()
         if not args.same_tmpdir:
-            env['BB_ENV_EXTRAWHITE'] = env.get('BB_ENV_EXTRAWHITE', '') + ' TMPDIR_forcevariable'
-            env['TMPDIR_forcevariable'] = tmpdir
+            env['BB_ENV_EXTRAWHITE'] = env.get('BB_ENV_EXTRAWHITE', '') + ' TMPDIR:forcevariable'
+            env['TMPDIR:forcevariable'] = tmpdir
 
         try:
             output = subprocess.check_output(
diff --git a/scripts/oe-debuginfod b/scripts/oe-debuginfod
index 55607698882..9e5482d8698 100755
--- a/scripts/oe-debuginfod
+++ b/scripts/oe-debuginfod
@@ -23,4 +23,4 @@ if __name__ == "__main__":
     subprocess.call(['bitbake', '-c', 'addto_recipe_sysroot', 'elfutils-native'])
 
     subprocess.call(['oe-run-native', 'elfutils-native', 'debuginfod', '--verbose', '-R', '-U', feed_dir])
-    print("\nTo use the debuginfod server please ensure that this variable PACKAGECONFIG_pn-elfutils-native = \"debuginfod libdebuginfod\" is set in the local.conf")
+    print("\nTo use the debuginfod server please ensure that this variable PACKAGECONFIG:pn-elfutils-native = \"debuginfod libdebuginfod\" is set in the local.conf")
diff --git a/scripts/oe-pkgdata-util b/scripts/oe-pkgdata-util
index 75dd23efa32..94d44002ab4 100755
--- a/scripts/oe-pkgdata-util
+++ b/scripts/oe-pkgdata-util
@@ -96,7 +96,7 @@ def glob(args):
                 pn = os.path.basename(pkgdata_file)
                 with open(pkgdata_file, 'r') as f:
                     for line in f:
-                        if line.startswith("PKG_%s:" % pn):
+                        if line.startswith("PKG:%s:" % pn):
                             renamed = line.split(': ')[1].rstrip()
                 return renamed
 
@@ -213,7 +213,7 @@ def lookup_pkglist(pkgs, pkgdata_dir, reverse):
                 with open(pkgfile, 'r') as f:
                     for line in f:
                         fields = line.rstrip().split(': ')
-                        if fields[0] == 'PKG_%s' % pkg:
+                        if fields[0] == 'PKG:%s' % pkg:
                             mappings[pkg].append(fields[1])
                             break
     return mappings
-- 
2.30.2


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [PATCH 3/3] meta: Manual override fixes
  2021-07-28 14:15 [PATCH 1/3] scripts/contrib: Add override conversion script Richard Purdie
  2021-07-28 14:15 ` [PATCH 2/3] Convert to new override syntax Richard Purdie
@ 2021-07-28 14:15 ` Richard Purdie
  2021-07-28 19:32   ` [OE-core] " Andre McCurdy
  2021-07-28 14:52 ` [OE-core] [PATCH 1/3] scripts/contrib: Add override conversion script Michael Opdenacker
  2 siblings, 1 reply; 12+ messages in thread
From: Richard Purdie @ 2021-07-28 14:15 UTC (permalink / raw)
  To: openembedded-core

The automated conversion of OE-Core to use the new override sytax isn't
perfect. This patches some mis-converted lines and some lines which were missed
by the automation.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
 meta/classes/insane.bbclass                      |  2 +-
 meta/classes/kernel-grub.bbclass                 |  8 ++++----
 meta/classes/native.bbclass                      |  2 +-
 meta/classes/package.bbclass                     |  4 ++--
 meta/classes/populate_sdk_ext.bbclass            |  2 +-
 meta/classes/qemuboot.bbclass                    |  2 ++
 meta/classes/sanity.bbclass                      |  2 +-
 meta/classes/systemd.bbclass                     |  4 ++--
 meta/classes/useradd.bbclass                     |  2 +-
 meta/lib/oe/classextend.py                       |  4 ++--
 meta/lib/oe/recipeutils.py                       | 16 ++++++++--------
 meta/lib/oeqa/selftest/cases/efibootpartition.py |  2 +-
 meta/lib/oeqa/selftest/cases/incompatible_lic.py |  6 +++---
 meta/lib/oeqa/selftest/cases/recipetool.py       |  4 ++--
 meta/lib/oeqa/selftest/cases/wic.py              |  4 ++--
 meta/recipes-core/dbus/dbus-test_1.12.20.bb      |  2 +-
 .../volatile-binds/volatile-binds.bb             |  2 +-
 meta/recipes-devtools/gdb/gdb.inc                |  2 +-
 meta/recipes-graphics/mesa/mesa.inc              |  4 ++--
 scripts/devtool                                  |  2 +-
 20 files changed, 39 insertions(+), 37 deletions(-)

diff --git a/meta/classes/insane.bbclass b/meta/classes/insane.bbclass
index f9a35f2daac..ee858f84b7d 100644
--- a/meta/classes/insane.bbclass
+++ b/meta/classes/insane.bbclass
@@ -1306,7 +1306,7 @@ python () {
     # Checking ${FILESEXTRAPATHS}
     extrapaths = (d.getVar("FILESEXTRAPATHS") or "")
     if '__default' not in extrapaths.split(":"):
-        msg = "FILESEXTRAPATHS-variable, must always use _prepend (or _append)\n"
+        msg = "FILESEXTRAPATHS-variable, must always use :prepend (or :append)\n"
         msg += "type of assignment, and don't forget the colon.\n"
         msg += "Please assign it with the format of:\n"
         msg += "  FILESEXTRAPATHS:append := \":${THISDIR}/Your_Files_Path\" or\n"
diff --git a/meta/classes/kernel-grub.bbclass b/meta/classes/kernel-grub.bbclass
index 0bf8fda3e17..44b2015468a 100644
--- a/meta/classes/kernel-grub.bbclass
+++ b/meta/classes/kernel-grub.bbclass
@@ -97,9 +97,9 @@ python __anonymous () {
 
     for type in imagetypes.split():
         typelower = type.lower()
-        preinst:append = preinst.replace('KERNEL_IMAGETYPE', type)
-        postinst:prepend = postinst.replace('KERNEL_IMAGETYPE', type)
-        d.setVar('pkg_preinst:kernel-image-' + typelower + '_append', preinst:append)
-        d.setVar('pkg_postinst:kernel-image-' + typelower + '_prepend', postinst:prepend)
+        preinst_append = preinst.replace('KERNEL_IMAGETYPE', type)
+        postinst_prepend = postinst.replace('KERNEL_IMAGETYPE', type)
+        d.setVar('pkg_preinst:kernel-image-' + typelower + ':append', preinst_append)
+        d.setVar('pkg_postinst:kernel-image-' + typelower + ':prepend', postinst_prepend)
 }
 
diff --git a/meta/classes/native.bbclass b/meta/classes/native.bbclass
index 61becfb6d5e..76a599bc155 100644
--- a/meta/classes/native.bbclass
+++ b/meta/classes/native.bbclass
@@ -133,7 +133,7 @@ python native_virtclass_handler () {
 
     def map_dependencies(varname, d, suffix = "", selfref=True):
         if suffix:
-            varname = varname + "_" + suffix
+            varname = varname + ":" + suffix
         deps = d.getVar(varname)
         if not deps:
             return
diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass
index 18f931ee947..a659a1ef5cc 100644
--- a/meta/classes/package.bbclass
+++ b/meta/classes/package.bbclass
@@ -1583,7 +1583,7 @@ fi
                     scriptlet = scriptlet_split[0] + "\nset -e\n" + "\n".join(scriptlet_split[1:])
                 else:
                     scriptlet = "set -e\n" + "\n".join(scriptlet_split[0:])
-            d.setVar('%s_%s' % (scriptlet_name, pkg), scriptlet)
+            d.setVar('%s:%s' % (scriptlet_name, pkg), scriptlet)
 
     def write_if_exists(f, pkg, var):
         def encode(str):
@@ -2310,7 +2310,7 @@ def gen_packagevar(d, pkgvars="PACKAGEVARS"):
         ret.append(v)
     for p in pkgs:
         for v in vars:
-            ret.append(v + "_" + p)
+            ret.append(v + ":" + p)
 
         # Ensure that changes to INCOMPATIBLE_LICENSE re-run do_package for
         # affected recipes.
diff --git a/meta/classes/populate_sdk_ext.bbclass b/meta/classes/populate_sdk_ext.bbclass
index f67849708cd..10f3265e91b 100644
--- a/meta/classes/populate_sdk_ext.bbclass
+++ b/meta/classes/populate_sdk_ext.bbclass
@@ -147,7 +147,7 @@ def create_filtered_tasklist(d, sdkbasepath, tasklistfile, conf_initpath):
     try:
         with open(sdkbasepath + '/conf/local.conf', 'a') as f:
             # Force the use of sstate from the build system
-            f.write('\nSSTATE_DIR_forcevariable = "%s"\n' % d.getVar('SSTATE_DIR'))
+            f.write('\nSSTATE_DIR:forcevariable = "%s"\n' % d.getVar('SSTATE_DIR'))
             f.write('SSTATE_MIRRORS:forcevariable = "file://universal/(.*) file://universal-4.9/\\1 file://universal-4.9/(.*) file://universal-4.8/\\1"\n')
             # Ensure TMPDIR is the default so that clean_esdk_builddir() can delete it
             f.write('TMPDIR:forcevariable = "${TOPDIR}/tmp"\n')
diff --git a/meta/classes/qemuboot.bbclass b/meta/classes/qemuboot.bbclass
index aaf821d6ddc..bf529e9aa4b 100644
--- a/meta/classes/qemuboot.bbclass
+++ b/meta/classes/qemuboot.bbclass
@@ -122,6 +122,8 @@ python do_write_qemuboot_conf() {
     cf = configparser.ConfigParser()
     cf.add_section('config_bsp')
     for k in sorted(qemuboot_vars(d)):
+        if ":" in k:
+            continue
         # qemu-helper-native sysroot is not removed by rm_work and
         # contains all tools required by runqemu
         if k == 'STAGING_BINDIR_NATIVE':
diff --git a/meta/classes/sanity.bbclass b/meta/classes/sanity.bbclass
index 29cc42efe77..ddba1e6e1ed 100644
--- a/meta/classes/sanity.bbclass
+++ b/meta/classes/sanity.bbclass
@@ -199,7 +199,7 @@ def check_toolchain_tune_args(data, tune, multilib, errs):
 
 def check_toolchain_args_present(data, tune, multilib, tune_errors, which):
     args_set = (data.getVar("TUNE_%s" % which) or "").split()
-    args_wanted = (data.getVar("TUNEABI_REQUIRED_%s_tune-%s" % (which, tune)) or "").split()
+    args_wanted = (data.getVar("TUNEABI_REQUIRED_%s:tune-%s" % (which, tune)) or "").split()
     args_missing = []
 
     # If no args are listed/required, we are done.
diff --git a/meta/classes/systemd.bbclass b/meta/classes/systemd.bbclass
index 071affbecc8..09ec52792d5 100644
--- a/meta/classes/systemd.bbclass
+++ b/meta/classes/systemd.bbclass
@@ -70,7 +70,7 @@ python systemd_populate_packages() {
         return
 
     def get_package_var(d, var, pkg):
-        val = (d.getVar('%s_%s' % (var, pkg)) or "").strip()
+        val = (d.getVar('%s:%s' % (var, pkg)) or "").strip()
         if val == "":
             val = (d.getVar(var) or "").strip()
         return val
@@ -86,7 +86,7 @@ python systemd_populate_packages() {
         bb.debug(1, 'adding systemd calls to postinst/postrm for %s' % pkg)
 
         paths_escaped = ' '.join(shlex.quote(s) for s in d.getVar('SYSTEMD_SERVICE:' + pkg).split())
-        d.setVar('SYSTEMD_SERVICE:ESCAPED_' + pkg, paths_escaped)
+        d.setVar('SYSTEMD_SERVICE_ESCAPED:' + pkg, paths_escaped)
 
         # Add pkg to the overrides so that it finds the SYSTEMD_SERVICE:pkg
         # variable.
diff --git a/meta/classes/useradd.bbclass b/meta/classes/useradd.bbclass
index fdec5cca560..287ef843340 100644
--- a/meta/classes/useradd.bbclass
+++ b/meta/classes/useradd.bbclass
@@ -199,7 +199,7 @@ python __anonymous() {
 def get_all_cmd_params(d, cmd_type):
     import string
     
-    param_type = cmd_type.upper() + "_PARAM_%s"
+    param_type = cmd_type.upper() + "_PARAM:%s"
     params = []
 
     useradd_packages = d.getVar('USERADD_PACKAGES') or ""
diff --git a/meta/lib/oe/classextend.py b/meta/lib/oe/classextend.py
index d3d8fbe7244..e08d788b755 100644
--- a/meta/lib/oe/classextend.py
+++ b/meta/lib/oe/classextend.py
@@ -87,7 +87,7 @@ class ClassExtender(object):
     def map_depends_variable(self, varname, suffix = ""):
         # We need to preserve EXTENDPKGV so it can be expanded correctly later
         if suffix:
-            varname = varname + "_" + suffix
+            varname = varname + ":" + suffix
         orig = self.d.getVar("EXTENDPKGV", False)
         self.d.setVar("EXTENDPKGV", "EXTENDPKGV")
         deps = self.d.getVar(varname)
@@ -142,7 +142,7 @@ class ClassExtender(object):
             if pkg_mapping[0].startswith("${") and pkg_mapping[0].endswith("}"):
                 continue
             for subs in variables:
-                self.d.renameVar("%s_%s" % (subs, pkg_mapping[0]), "%s_%s" % (subs, pkg_mapping[1]))
+                self.d.renameVar("%s:%s" % (subs, pkg_mapping[0]), "%s:%s" % (subs, pkg_mapping[1]))
 
 class NativesdkClassExtender(ClassExtender):
     def map_depends(self, dep):
diff --git a/meta/lib/oe/recipeutils.py b/meta/lib/oe/recipeutils.py
index a66bb92823b..a0c6974f04a 100644
--- a/meta/lib/oe/recipeutils.py
+++ b/meta/lib/oe/recipeutils.py
@@ -47,7 +47,7 @@ def simplify_history(history, d):
                 continue
             has_set = True
         elif event['op'] in ('append', 'prepend', 'postdot', 'predot'):
-            # Reminder: "append" and "prepend" mean += and =+ respectively, NOT _append / _prepend
+            # Reminder: "append" and "prepend" mean += and =+ respectively, NOT :append / :prepend
             if has_set:
                 continue
         ret_history.insert(0, event)
@@ -342,7 +342,7 @@ def patch_recipe(d, fn, varvalues, patch=False, relpath='', redirect_output=None
     def override_applicable(hevent):
         op = hevent['op']
         if '[' in op:
-            opoverrides = op.split('[')[1].split(']')[0].split('_')
+            opoverrides = op.split('[')[1].split(']')[0].split(':')
             for opoverride in opoverrides:
                 if not opoverride in overrides:
                     return False
@@ -368,13 +368,13 @@ def patch_recipe(d, fn, varvalues, patch=False, relpath='', redirect_output=None
                                 recipe_set = True
                     if not recipe_set:
                         for event in history:
-                            if event['op'].startswith('_remove'):
+                            if event['op'].startswith(':remove'):
                                 continue
                             if not override_applicable(event):
                                 continue
                             newvalue = value.replace(event['detail'], '')
-                            if newvalue == value and os.path.abspath(event['file']) == fn and event['op'].startswith('_'):
-                                op = event['op'].replace('[', '_').replace(']', '')
+                            if newvalue == value and os.path.abspath(event['file']) == fn and event['op'].startswith(':'):
+                                op = event['op'].replace('[', ':').replace(']', '')
                                 extravals[var + op] = None
                             value = newvalue
                             vals[var] = ('+=', value)
@@ -758,7 +758,7 @@ def bbappend_recipe(rd, destlayerdir, srcfiles, install=None, wildcardver=False,
     appendoverride = ''
     if machine:
         bbappendlines.append(('PACKAGE_ARCH', '=', '${MACHINE_ARCH}'))
-        appendoverride = '_%s' % machine
+        appendoverride = ':%s' % machine
     copyfiles = {}
     if srcfiles:
         instfunclines = []
@@ -853,11 +853,11 @@ def bbappend_recipe(rd, destlayerdir, srcfiles, install=None, wildcardver=False,
                     newvalue = splitval
                     if len(newvalue) == 1:
                         # Ensure it's written out as one line
-                        if '_append' in varname:
+                        if ':append' in varname:
                             newvalue = ' ' + newvalue[0]
                         else:
                             newvalue = newvalue[0]
-                    if not newvalue and (op in ['+=', '.='] or '_append' in varname):
+                    if not newvalue and (op in ['+=', '.='] or ':append' in varname):
                         # There's no point appending nothing
                         newvalue = None
                     if varname.endswith('()'):
diff --git a/meta/lib/oeqa/selftest/cases/efibootpartition.py b/meta/lib/oeqa/selftest/cases/efibootpartition.py
index 3203a7b71d0..26de3a07c9e 100644
--- a/meta/lib/oeqa/selftest/cases/efibootpartition.py
+++ b/meta/lib/oeqa/selftest/cases/efibootpartition.py
@@ -26,7 +26,7 @@ class GenericEFITest(OESelftestTestCase):
         self.write_config(self,
 """
 EFI_PROVIDER = "%s"
-IMAGE_FSTYPES:pn-%s_append = " wic"
+IMAGE_FSTYPES:pn-%s:append = " wic"
 MACHINE = "%s"
 MACHINE_FEATURES:append = " efi"
 WKS_FILE = "efi-bootdisk.wks.in"
diff --git a/meta/lib/oeqa/selftest/cases/incompatible_lic.py b/meta/lib/oeqa/selftest/cases/incompatible_lic.py
index 93be434650a..aa8e0857545 100644
--- a/meta/lib/oeqa/selftest/cases/incompatible_lic.py
+++ b/meta/lib/oeqa/selftest/cases/incompatible_lic.py
@@ -98,7 +98,7 @@ INCOMPATIBLE_LICENSE:pn-core-image-minimal = "GPL-3.0 LGPL-3.0"
             raise AssertionError(result.output)
 
     def test_bash_and_license(self):
-        self.write_config(self.default_config() + '\nLICENSE_append_pn-bash = " & SomeLicense"')
+        self.write_config(self.default_config() + '\nLICENSE:append:pn-bash = " & SomeLicense"')
         error_msg = "ERROR: core-image-minimal-1.0-r0 do_rootfs: Package bash cannot be installed into the image because it has incompatible license(s): GPL-3.0-or-later"
 
         result = bitbake('core-image-minimal', ignore_status=True)
@@ -106,12 +106,12 @@ INCOMPATIBLE_LICENSE:pn-core-image-minimal = "GPL-3.0 LGPL-3.0"
             raise AssertionError(result.output)
 
     def test_bash_or_license(self):
-        self.write_config(self.default_config() + '\nLICENSE_append_pn-bash = " | SomeLicense"')
+        self.write_config(self.default_config() + '\nLICENSE:append:pn-bash = " | SomeLicense"')
 
         bitbake('core-image-minimal')
 
     def test_bash_whitelist(self):
-        self.write_config(self.default_config() + '\nWHITELIST_GPL-3.0_pn-core-image-minimal = "bash"')
+        self.write_config(self.default_config() + '\nWHITELIST_GPL-3.0:pn-core-image-minimal = "bash"')
 
         bitbake('core-image-minimal')
 
diff --git a/meta/lib/oeqa/selftest/cases/recipetool.py b/meta/lib/oeqa/selftest/cases/recipetool.py
index 3b99417e841..6f531dfa364 100644
--- a/meta/lib/oeqa/selftest/cases/recipetool.py
+++ b/meta/lib/oeqa/selftest/cases/recipetool.py
@@ -183,9 +183,9 @@ class RecipetoolTests(RecipetoolBase):
                          '\n',
                          'PACKAGE_ARCH = "${MACHINE_ARCH}"\n',
                          '\n',
-                         'SRC_URI:append_mymachine = " file://testfile"\n',
+                         'SRC_URI:append:mymachine = " file://testfile"\n',
                          '\n',
-                         'do_install:append_mymachine() {\n',
+                         'do_install:append:mymachine() {\n',
                          '    install -d ${D}${datadir}\n',
                          '    install -m 0644 ${WORKDIR}/testfile ${D}${datadir}/something\n',
                          '}\n']
diff --git a/meta/lib/oeqa/selftest/cases/wic.py b/meta/lib/oeqa/selftest/cases/wic.py
index 32044e74d09..2efbe514c1b 100644
--- a/meta/lib/oeqa/selftest/cases/wic.py
+++ b/meta/lib/oeqa/selftest/cases/wic.py
@@ -1035,7 +1035,7 @@ class Wic2(WicTestCase):
     @only_for_arch(['i586', 'i686', 'x86_64'])
     def test_biosplusefi_plugin_qemu(self):
         """Test biosplusefi plugin in qemu"""
-        config = 'IMAGE_FSTYPES = "wic"\nWKS_FILE = "test_biosplusefi_plugin.wks"\nMACHINE_FEATURES_append = " efi"\n'
+        config = 'IMAGE_FSTYPES = "wic"\nWKS_FILE = "test_biosplusefi_plugin.wks"\nMACHINE_FEATURES:append = " efi"\n'
         self.append_config(config)
         self.assertEqual(0, bitbake('core-image-minimal').status)
         self.remove_config(config)
@@ -1072,7 +1072,7 @@ class Wic2(WicTestCase):
         # If an image hasn't been built yet, directory ${STAGING_DATADIR}/syslinux won't exists and _get_bootimg_dir()
         #   will raise with "Couldn't find correct bootimg_dir"
         # The easiest way to work-around this issue is to make sure we already built an image here, hence the bitbake call
-        config = 'IMAGE_FSTYPES = "wic"\nWKS_FILE = "test_biosplusefi_plugin.wks"\nMACHINE_FEATURES_append = " efi"\n'
+        config = 'IMAGE_FSTYPES = "wic"\nWKS_FILE = "test_biosplusefi_plugin.wks"\nMACHINE_FEATURES:append = " efi"\n'
         self.append_config(config)
         self.assertEqual(0, bitbake('core-image-minimal').status)
         self.remove_config(config)
diff --git a/meta/recipes-core/dbus/dbus-test_1.12.20.bb b/meta/recipes-core/dbus/dbus-test_1.12.20.bb
index 11b84cec959..ae703014319 100644
--- a/meta/recipes-core/dbus/dbus-test_1.12.20.bb
+++ b/meta/recipes-core/dbus/dbus-test_1.12.20.bb
@@ -59,6 +59,6 @@ do_install_ptest() {
 }
 
 RDEPENDS:${PN}-ptest += "bash make dbus"
-RDEPENDS_${PN}-ptest_remove = "${PN}"
+RDEPENDS:${PN}-ptest:remove = "${PN}"
 
 PRIVATE_LIBS:${PN}-ptest = "libdbus-1.so.3"
diff --git a/meta/recipes-core/volatile-binds/volatile-binds.bb b/meta/recipes-core/volatile-binds/volatile-binds.bb
index 5eeb6513301..d3863f2b47a 100644
--- a/meta/recipes-core/volatile-binds/volatile-binds.bb
+++ b/meta/recipes-core/volatile-binds/volatile-binds.bb
@@ -68,7 +68,7 @@ do_install () {
     install -m 0755 mount-copybind ${D}${base_sbindir}/
 
     install -d ${D}${systemd_unitdir}/system
-    for service in ${SYSTEMD_SERVICE_${PN}}; do
+    for service in ${@d.getVar('SYSTEMD_SERVICE:${PN}')}; do
         install -m 0644 $service ${D}${systemd_unitdir}/system/
     done
 
diff --git a/meta/recipes-devtools/gdb/gdb.inc b/meta/recipes-devtools/gdb/gdb.inc
index f4cd0a5c01b..2b0ae1655f6 100644
--- a/meta/recipes-devtools/gdb/gdb.inc
+++ b/meta/recipes-devtools/gdb/gdb.inc
@@ -2,7 +2,7 @@ require gdb-common.inc
 
 inherit gettext
 
-#LDFLAGS_append = " -s"
+#LDFLAGS:append = " -s"
 #export CFLAGS:append=" -L${STAGING_LIBDIR}"
 
 # cross-canadian must not see this
diff --git a/meta/recipes-graphics/mesa/mesa.inc b/meta/recipes-graphics/mesa/mesa.inc
index 87b31b4819c..f2585479bd1 100644
--- a/meta/recipes-graphics/mesa/mesa.inc
+++ b/meta/recipes-graphics/mesa/mesa.inc
@@ -230,7 +230,7 @@ python __anonymous() {
         mlprefix = d.getVar("MLPREFIX")
         fullp = mlprefix + p[1] + "-mesa" + suffix
         mlprefix = d.getVar("MLPREFIX")
-        pkgs = " ".join(mlprefix + x + suffix for x in p[1:])
+        pkgs = " " + " ".join(mlprefix + x + suffix for x in p[1:])
         d.setVar("DEBIAN_NOAUTONAME:" + fullp, "1")
         d.appendVar("RREPLACES:" + fullp, pkgs)
         d.appendVar("RPROVIDES:" + fullp, pkgs)
@@ -240,7 +240,7 @@ python __anonymous() {
 
         # For -dev, the first element is both the Debian and original name
         fullp = mlprefix + p[1] + "-mesa-dev" + suffix
-        pkgs = mlprefix + p[1] + "-dev" + suffix
+        pkgs = " " + mlprefix + p[1] + "-dev" + suffix
         d.setVar("DEBIAN_NOAUTONAME:" + fullp, "1")
         d.appendVar("RREPLACES:" + fullp, pkgs)
         d.appendVar("RPROVIDES:" + fullp, pkgs)
diff --git a/scripts/devtool b/scripts/devtool
index 8a4f41bc372..af4811b9221 100755
--- a/scripts/devtool
+++ b/scripts/devtool
@@ -100,7 +100,7 @@ def read_workspace():
         _enable_workspace_layer(config.workspace_path, config, basepath)
 
     logger.debug('Reading workspace in %s' % config.workspace_path)
-    externalsrc_re = re.compile(r'^EXTERNALSRC(_pn-([^ =]+))? *= *"([^"]*)"$')
+    externalsrc_re = re.compile(r'^EXTERNALSRC(:pn-([^ =]+))? *= *"([^"]*)"$')
     for fn in glob.glob(os.path.join(config.workspace_path, 'appends', '*.bbappend')):
         with open(fn, 'r') as f:
             pnvalues = {}
-- 
2.30.2


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* Re: [OE-core] [PATCH 1/3] scripts/contrib: Add override conversion script
  2021-07-28 14:15 [PATCH 1/3] scripts/contrib: Add override conversion script Richard Purdie
  2021-07-28 14:15 ` [PATCH 2/3] Convert to new override syntax Richard Purdie
  2021-07-28 14:15 ` [PATCH 3/3] meta: Manual override fixes Richard Purdie
@ 2021-07-28 14:52 ` Michael Opdenacker
  2 siblings, 0 replies; 12+ messages in thread
From: Michael Opdenacker @ 2021-07-28 14:52 UTC (permalink / raw)
  To: Richard Purdie, openembedded-core


On 7/28/21 4:15 PM, Richard Purdie wrote:
> This adds a script I've developed to migrate metadata to use the new override
> syntax. It is a bit rough but since its for a single use with validation, it
> doesn't need to be perfect. It is run simply as:
>
> scripts/contrib/convert-overrides.py <directory>
>
> It is setup and has been tested to work with OE-Core, Bitbake, yocto-docs,
> meta-yocto, meta-gplv2 and meta-mingw. For OE-Core, it converts around 10,100
> lines with about 34 manual fixes needed.
>
> For other layers it would need updating for override names and exclusions for
> functions/variable names with "append", "prepend" or "remove" in them.
>
> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
> ---
>  scripts/contrib/convert-overrides.py | 146 +++++++++++++++++++++++++++
>  1 file changed, 146 insertions(+)
>  create mode 100755 scripts/contrib/convert-overrides.py
>
> diff --git a/scripts/contrib/convert-overrides.py b/scripts/contrib/convert-overrides.py


Tested-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Working fine on documentation sources, though I'll exclude the changes
to migration guides from past versions.
Thanks!

-- 
Michael Opdenacker, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [OE-core] [PATCH 3/3] meta: Manual override fixes
  2021-07-28 14:15 ` [PATCH 3/3] meta: Manual override fixes Richard Purdie
@ 2021-07-28 19:32   ` Andre McCurdy
  2021-07-28 20:00     ` Richard Purdie
       [not found]     ` <16960CD0F3F5D3AD.12099@lists.openembedded.org>
  0 siblings, 2 replies; 12+ messages in thread
From: Andre McCurdy @ 2021-07-28 19:32 UTC (permalink / raw)
  To: Richard Purdie; +Cc: OE Core mailing list

On Wed, Jul 28, 2021 at 7:15 AM Richard Purdie
<richard.purdie@linuxfoundation.org> wrote:
>
> The automated conversion of OE-Core to use the new override sytax isn't
> perfect. This patches some mis-converted lines and some lines which were missed
> by the automation.
>
> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
> ---
>  meta/classes/insane.bbclass                      |  2 +-
>  meta/classes/kernel-grub.bbclass                 |  8 ++++----
>  meta/classes/native.bbclass                      |  2 +-
>  meta/classes/package.bbclass                     |  4 ++--
>  meta/classes/populate_sdk_ext.bbclass            |  2 +-
>  meta/classes/qemuboot.bbclass                    |  2 ++
>  meta/classes/sanity.bbclass                      |  2 +-
>  meta/classes/systemd.bbclass                     |  4 ++--
>  meta/classes/useradd.bbclass                     |  2 +-
>  meta/lib/oe/classextend.py                       |  4 ++--
>  meta/lib/oe/recipeutils.py                       | 16 ++++++++--------
>  meta/lib/oeqa/selftest/cases/efibootpartition.py |  2 +-
>  meta/lib/oeqa/selftest/cases/incompatible_lic.py |  6 +++---
>  meta/lib/oeqa/selftest/cases/recipetool.py       |  4 ++--
>  meta/lib/oeqa/selftest/cases/wic.py              |  4 ++--
>  meta/recipes-core/dbus/dbus-test_1.12.20.bb      |  2 +-
>  .../volatile-binds/volatile-binds.bb             |  2 +-
>  meta/recipes-devtools/gdb/gdb.inc                |  2 +-
>  meta/recipes-graphics/mesa/mesa.inc              |  4 ++--
>  scripts/devtool                                  |  2 +-
>  20 files changed, 39 insertions(+), 37 deletions(-)
>
> diff --git a/meta/classes/insane.bbclass b/meta/classes/insane.bbclass
> index f9a35f2daac..ee858f84b7d 100644
> --- a/meta/classes/insane.bbclass
> +++ b/meta/classes/insane.bbclass
> @@ -1306,7 +1306,7 @@ python () {
>      # Checking ${FILESEXTRAPATHS}
>      extrapaths = (d.getVar("FILESEXTRAPATHS") or "")
>      if '__default' not in extrapaths.split(":"):
> -        msg = "FILESEXTRAPATHS-variable, must always use _prepend (or _append)\n"
> +        msg = "FILESEXTRAPATHS-variable, must always use :prepend (or :append)\n"
>          msg += "type of assignment, and don't forget the colon.\n"
>          msg += "Please assign it with the format of:\n"
>          msg += "  FILESEXTRAPATHS:append := \":${THISDIR}/Your_Files_Path\" or\n"
> diff --git a/meta/classes/kernel-grub.bbclass b/meta/classes/kernel-grub.bbclass
> index 0bf8fda3e17..44b2015468a 100644
> --- a/meta/classes/kernel-grub.bbclass
> +++ b/meta/classes/kernel-grub.bbclass
> @@ -97,9 +97,9 @@ python __anonymous () {
>
>      for type in imagetypes.split():
>          typelower = type.lower()
> -        preinst:append = preinst.replace('KERNEL_IMAGETYPE', type)
> -        postinst:prepend = postinst.replace('KERNEL_IMAGETYPE', type)
> -        d.setVar('pkg_preinst:kernel-image-' + typelower + '_append', preinst:append)
> -        d.setVar('pkg_postinst:kernel-image-' + typelower + '_prepend', postinst:prepend)
> +        preinst_append = preinst.replace('KERNEL_IMAGETYPE', type)
> +        postinst_prepend = postinst.replace('KERNEL_IMAGETYPE', type)
> +        d.setVar('pkg_preinst:kernel-image-' + typelower + ':append', preinst_append)
> +        d.setVar('pkg_postinst:kernel-image-' + typelower + ':prepend', postinst_prepend)
>  }
>
> diff --git a/meta/classes/native.bbclass b/meta/classes/native.bbclass
> index 61becfb6d5e..76a599bc155 100644
> --- a/meta/classes/native.bbclass
> +++ b/meta/classes/native.bbclass
> @@ -133,7 +133,7 @@ python native_virtclass_handler () {
>
>      def map_dependencies(varname, d, suffix = "", selfref=True):
>          if suffix:
> -            varname = varname + "_" + suffix
> +            varname = varname + ":" + suffix
>          deps = d.getVar(varname)
>          if not deps:
>              return
> diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass
> index 18f931ee947..a659a1ef5cc 100644
> --- a/meta/classes/package.bbclass
> +++ b/meta/classes/package.bbclass
> @@ -1583,7 +1583,7 @@ fi
>                      scriptlet = scriptlet_split[0] + "\nset -e\n" + "\n".join(scriptlet_split[1:])
>                  else:
>                      scriptlet = "set -e\n" + "\n".join(scriptlet_split[0:])
> -            d.setVar('%s_%s' % (scriptlet_name, pkg), scriptlet)
> +            d.setVar('%s:%s' % (scriptlet_name, pkg), scriptlet)
>
>      def write_if_exists(f, pkg, var):
>          def encode(str):
> @@ -2310,7 +2310,7 @@ def gen_packagevar(d, pkgvars="PACKAGEVARS"):
>          ret.append(v)
>      for p in pkgs:
>          for v in vars:
> -            ret.append(v + "_" + p)
> +            ret.append(v + ":" + p)
>
>          # Ensure that changes to INCOMPATIBLE_LICENSE re-run do_package for
>          # affected recipes.
> diff --git a/meta/classes/populate_sdk_ext.bbclass b/meta/classes/populate_sdk_ext.bbclass
> index f67849708cd..10f3265e91b 100644
> --- a/meta/classes/populate_sdk_ext.bbclass
> +++ b/meta/classes/populate_sdk_ext.bbclass
> @@ -147,7 +147,7 @@ def create_filtered_tasklist(d, sdkbasepath, tasklistfile, conf_initpath):
>      try:
>          with open(sdkbasepath + '/conf/local.conf', 'a') as f:
>              # Force the use of sstate from the build system
> -            f.write('\nSSTATE_DIR_forcevariable = "%s"\n' % d.getVar('SSTATE_DIR'))
> +            f.write('\nSSTATE_DIR:forcevariable = "%s"\n' % d.getVar('SSTATE_DIR'))
>              f.write('SSTATE_MIRRORS:forcevariable = "file://universal/(.*) file://universal-4.9/\\1 file://universal-4.9/(.*) file://universal-4.8/\\1"\n')
>              # Ensure TMPDIR is the default so that clean_esdk_builddir() can delete it
>              f.write('TMPDIR:forcevariable = "${TOPDIR}/tmp"\n')
> diff --git a/meta/classes/qemuboot.bbclass b/meta/classes/qemuboot.bbclass
> index aaf821d6ddc..bf529e9aa4b 100644
> --- a/meta/classes/qemuboot.bbclass
> +++ b/meta/classes/qemuboot.bbclass
> @@ -122,6 +122,8 @@ python do_write_qemuboot_conf() {
>      cf = configparser.ConfigParser()
>      cf.add_section('config_bsp')
>      for k in sorted(qemuboot_vars(d)):
> +        if ":" in k:
> +            continue
>          # qemu-helper-native sysroot is not removed by rm_work and
>          # contains all tools required by runqemu
>          if k == 'STAGING_BINDIR_NATIVE':
> diff --git a/meta/classes/sanity.bbclass b/meta/classes/sanity.bbclass
> index 29cc42efe77..ddba1e6e1ed 100644
> --- a/meta/classes/sanity.bbclass
> +++ b/meta/classes/sanity.bbclass
> @@ -199,7 +199,7 @@ def check_toolchain_tune_args(data, tune, multilib, errs):
>
>  def check_toolchain_args_present(data, tune, multilib, tune_errors, which):
>      args_set = (data.getVar("TUNE_%s" % which) or "").split()
> -    args_wanted = (data.getVar("TUNEABI_REQUIRED_%s_tune-%s" % (which, tune)) or "").split()
> +    args_wanted = (data.getVar("TUNEABI_REQUIRED_%s:tune-%s" % (which, tune)) or "").split()
>      args_missing = []
>
>      # If no args are listed/required, we are done.
> diff --git a/meta/classes/systemd.bbclass b/meta/classes/systemd.bbclass
> index 071affbecc8..09ec52792d5 100644
> --- a/meta/classes/systemd.bbclass
> +++ b/meta/classes/systemd.bbclass
> @@ -70,7 +70,7 @@ python systemd_populate_packages() {
>          return
>
>      def get_package_var(d, var, pkg):
> -        val = (d.getVar('%s_%s' % (var, pkg)) or "").strip()
> +        val = (d.getVar('%s:%s' % (var, pkg)) or "").strip()
>          if val == "":
>              val = (d.getVar(var) or "").strip()
>          return val
> @@ -86,7 +86,7 @@ python systemd_populate_packages() {
>          bb.debug(1, 'adding systemd calls to postinst/postrm for %s' % pkg)
>
>          paths_escaped = ' '.join(shlex.quote(s) for s in d.getVar('SYSTEMD_SERVICE:' + pkg).split())
> -        d.setVar('SYSTEMD_SERVICE:ESCAPED_' + pkg, paths_escaped)
> +        d.setVar('SYSTEMD_SERVICE_ESCAPED:' + pkg, paths_escaped)

This is manually fixing the misconversion of _ESCAPED to :ESCAPED,
right? If so then does it mean a bug in the automatic conversion
script since overrides can't be uppercase?

>          # Add pkg to the overrides so that it finds the SYSTEMD_SERVICE:pkg
>          # variable.
> diff --git a/meta/classes/useradd.bbclass b/meta/classes/useradd.bbclass
> index fdec5cca560..287ef843340 100644
> --- a/meta/classes/useradd.bbclass
> +++ b/meta/classes/useradd.bbclass
> @@ -199,7 +199,7 @@ python __anonymous() {
>  def get_all_cmd_params(d, cmd_type):
>      import string
>
> -    param_type = cmd_type.upper() + "_PARAM_%s"
> +    param_type = cmd_type.upper() + "_PARAM:%s"
>      params = []
>
>      useradd_packages = d.getVar('USERADD_PACKAGES') or ""
> diff --git a/meta/lib/oe/classextend.py b/meta/lib/oe/classextend.py
> index d3d8fbe7244..e08d788b755 100644
> --- a/meta/lib/oe/classextend.py
> +++ b/meta/lib/oe/classextend.py
> @@ -87,7 +87,7 @@ class ClassExtender(object):
>      def map_depends_variable(self, varname, suffix = ""):
>          # We need to preserve EXTENDPKGV so it can be expanded correctly later
>          if suffix:
> -            varname = varname + "_" + suffix
> +            varname = varname + ":" + suffix
>          orig = self.d.getVar("EXTENDPKGV", False)
>          self.d.setVar("EXTENDPKGV", "EXTENDPKGV")
>          deps = self.d.getVar(varname)
> @@ -142,7 +142,7 @@ class ClassExtender(object):
>              if pkg_mapping[0].startswith("${") and pkg_mapping[0].endswith("}"):
>                  continue
>              for subs in variables:
> -                self.d.renameVar("%s_%s" % (subs, pkg_mapping[0]), "%s_%s" % (subs, pkg_mapping[1]))
> +                self.d.renameVar("%s:%s" % (subs, pkg_mapping[0]), "%s:%s" % (subs, pkg_mapping[1]))
>
>  class NativesdkClassExtender(ClassExtender):
>      def map_depends(self, dep):
> diff --git a/meta/lib/oe/recipeutils.py b/meta/lib/oe/recipeutils.py
> index a66bb92823b..a0c6974f04a 100644
> --- a/meta/lib/oe/recipeutils.py
> +++ b/meta/lib/oe/recipeutils.py
> @@ -47,7 +47,7 @@ def simplify_history(history, d):
>                  continue
>              has_set = True
>          elif event['op'] in ('append', 'prepend', 'postdot', 'predot'):
> -            # Reminder: "append" and "prepend" mean += and =+ respectively, NOT _append / _prepend
> +            # Reminder: "append" and "prepend" mean += and =+ respectively, NOT :append / :prepend
>              if has_set:
>                  continue
>          ret_history.insert(0, event)
> @@ -342,7 +342,7 @@ def patch_recipe(d, fn, varvalues, patch=False, relpath='', redirect_output=None
>      def override_applicable(hevent):
>          op = hevent['op']
>          if '[' in op:
> -            opoverrides = op.split('[')[1].split(']')[0].split('_')
> +            opoverrides = op.split('[')[1].split(']')[0].split(':')
>              for opoverride in opoverrides:
>                  if not opoverride in overrides:
>                      return False
> @@ -368,13 +368,13 @@ def patch_recipe(d, fn, varvalues, patch=False, relpath='', redirect_output=None
>                                  recipe_set = True
>                      if not recipe_set:
>                          for event in history:
> -                            if event['op'].startswith('_remove'):
> +                            if event['op'].startswith(':remove'):
>                                  continue
>                              if not override_applicable(event):
>                                  continue
>                              newvalue = value.replace(event['detail'], '')
> -                            if newvalue == value and os.path.abspath(event['file']) == fn and event['op'].startswith('_'):
> -                                op = event['op'].replace('[', '_').replace(']', '')
> +                            if newvalue == value and os.path.abspath(event['file']) == fn and event['op'].startswith(':'):
> +                                op = event['op'].replace('[', ':').replace(']', '')
>                                  extravals[var + op] = None
>                              value = newvalue
>                              vals[var] = ('+=', value)
> @@ -758,7 +758,7 @@ def bbappend_recipe(rd, destlayerdir, srcfiles, install=None, wildcardver=False,
>      appendoverride = ''
>      if machine:
>          bbappendlines.append(('PACKAGE_ARCH', '=', '${MACHINE_ARCH}'))
> -        appendoverride = '_%s' % machine
> +        appendoverride = ':%s' % machine
>      copyfiles = {}
>      if srcfiles:
>          instfunclines = []
> @@ -853,11 +853,11 @@ def bbappend_recipe(rd, destlayerdir, srcfiles, install=None, wildcardver=False,
>                      newvalue = splitval
>                      if len(newvalue) == 1:
>                          # Ensure it's written out as one line
> -                        if '_append' in varname:
> +                        if ':append' in varname:
>                              newvalue = ' ' + newvalue[0]
>                          else:
>                              newvalue = newvalue[0]
> -                    if not newvalue and (op in ['+=', '.='] or '_append' in varname):
> +                    if not newvalue and (op in ['+=', '.='] or ':append' in varname):
>                          # There's no point appending nothing
>                          newvalue = None
>                      if varname.endswith('()'):
> diff --git a/meta/lib/oeqa/selftest/cases/efibootpartition.py b/meta/lib/oeqa/selftest/cases/efibootpartition.py
> index 3203a7b71d0..26de3a07c9e 100644
> --- a/meta/lib/oeqa/selftest/cases/efibootpartition.py
> +++ b/meta/lib/oeqa/selftest/cases/efibootpartition.py
> @@ -26,7 +26,7 @@ class GenericEFITest(OESelftestTestCase):
>          self.write_config(self,
>  """
>  EFI_PROVIDER = "%s"
> -IMAGE_FSTYPES:pn-%s_append = " wic"
> +IMAGE_FSTYPES:pn-%s:append = " wic"
>  MACHINE = "%s"
>  MACHINE_FEATURES:append = " efi"
>  WKS_FILE = "efi-bootdisk.wks.in"
> diff --git a/meta/lib/oeqa/selftest/cases/incompatible_lic.py b/meta/lib/oeqa/selftest/cases/incompatible_lic.py
> index 93be434650a..aa8e0857545 100644
> --- a/meta/lib/oeqa/selftest/cases/incompatible_lic.py
> +++ b/meta/lib/oeqa/selftest/cases/incompatible_lic.py
> @@ -98,7 +98,7 @@ INCOMPATIBLE_LICENSE:pn-core-image-minimal = "GPL-3.0 LGPL-3.0"
>              raise AssertionError(result.output)
>
>      def test_bash_and_license(self):
> -        self.write_config(self.default_config() + '\nLICENSE_append_pn-bash = " & SomeLicense"')
> +        self.write_config(self.default_config() + '\nLICENSE:append:pn-bash = " & SomeLicense"')
>          error_msg = "ERROR: core-image-minimal-1.0-r0 do_rootfs: Package bash cannot be installed into the image because it has incompatible license(s): GPL-3.0-or-later"
>
>          result = bitbake('core-image-minimal', ignore_status=True)
> @@ -106,12 +106,12 @@ INCOMPATIBLE_LICENSE:pn-core-image-minimal = "GPL-3.0 LGPL-3.0"
>              raise AssertionError(result.output)
>
>      def test_bash_or_license(self):
> -        self.write_config(self.default_config() + '\nLICENSE_append_pn-bash = " | SomeLicense"')
> +        self.write_config(self.default_config() + '\nLICENSE:append:pn-bash = " | SomeLicense"')
>
>          bitbake('core-image-minimal')
>
>      def test_bash_whitelist(self):
> -        self.write_config(self.default_config() + '\nWHITELIST_GPL-3.0_pn-core-image-minimal = "bash"')
> +        self.write_config(self.default_config() + '\nWHITELIST_GPL-3.0:pn-core-image-minimal = "bash"')
>
>          bitbake('core-image-minimal')
>
> diff --git a/meta/lib/oeqa/selftest/cases/recipetool.py b/meta/lib/oeqa/selftest/cases/recipetool.py
> index 3b99417e841..6f531dfa364 100644
> --- a/meta/lib/oeqa/selftest/cases/recipetool.py
> +++ b/meta/lib/oeqa/selftest/cases/recipetool.py
> @@ -183,9 +183,9 @@ class RecipetoolTests(RecipetoolBase):
>                           '\n',
>                           'PACKAGE_ARCH = "${MACHINE_ARCH}"\n',
>                           '\n',
> -                         'SRC_URI:append_mymachine = " file://testfile"\n',
> +                         'SRC_URI:append:mymachine = " file://testfile"\n',
>                           '\n',
> -                         'do_install:append_mymachine() {\n',
> +                         'do_install:append:mymachine() {\n',
>                           '    install -d ${D}${datadir}\n',
>                           '    install -m 0644 ${WORKDIR}/testfile ${D}${datadir}/something\n',
>                           '}\n']
> diff --git a/meta/lib/oeqa/selftest/cases/wic.py b/meta/lib/oeqa/selftest/cases/wic.py
> index 32044e74d09..2efbe514c1b 100644
> --- a/meta/lib/oeqa/selftest/cases/wic.py
> +++ b/meta/lib/oeqa/selftest/cases/wic.py
> @@ -1035,7 +1035,7 @@ class Wic2(WicTestCase):
>      @only_for_arch(['i586', 'i686', 'x86_64'])
>      def test_biosplusefi_plugin_qemu(self):
>          """Test biosplusefi plugin in qemu"""
> -        config = 'IMAGE_FSTYPES = "wic"\nWKS_FILE = "test_biosplusefi_plugin.wks"\nMACHINE_FEATURES_append = " efi"\n'
> +        config = 'IMAGE_FSTYPES = "wic"\nWKS_FILE = "test_biosplusefi_plugin.wks"\nMACHINE_FEATURES:append = " efi"\n'
>          self.append_config(config)
>          self.assertEqual(0, bitbake('core-image-minimal').status)
>          self.remove_config(config)
> @@ -1072,7 +1072,7 @@ class Wic2(WicTestCase):
>          # If an image hasn't been built yet, directory ${STAGING_DATADIR}/syslinux won't exists and _get_bootimg_dir()
>          #   will raise with "Couldn't find correct bootimg_dir"
>          # The easiest way to work-around this issue is to make sure we already built an image here, hence the bitbake call
> -        config = 'IMAGE_FSTYPES = "wic"\nWKS_FILE = "test_biosplusefi_plugin.wks"\nMACHINE_FEATURES_append = " efi"\n'
> +        config = 'IMAGE_FSTYPES = "wic"\nWKS_FILE = "test_biosplusefi_plugin.wks"\nMACHINE_FEATURES:append = " efi"\n'
>          self.append_config(config)
>          self.assertEqual(0, bitbake('core-image-minimal').status)
>          self.remove_config(config)
> diff --git a/meta/recipes-core/dbus/dbus-test_1.12.20.bb b/meta/recipes-core/dbus/dbus-test_1.12.20.bb
> index 11b84cec959..ae703014319 100644
> --- a/meta/recipes-core/dbus/dbus-test_1.12.20.bb
> +++ b/meta/recipes-core/dbus/dbus-test_1.12.20.bb
> @@ -59,6 +59,6 @@ do_install_ptest() {
>  }
>
>  RDEPENDS:${PN}-ptest += "bash make dbus"
> -RDEPENDS_${PN}-ptest_remove = "${PN}"
> +RDEPENDS:${PN}-ptest:remove = "${PN}"
>
>  PRIVATE_LIBS:${PN}-ptest = "libdbus-1.so.3"
> diff --git a/meta/recipes-core/volatile-binds/volatile-binds.bb b/meta/recipes-core/volatile-binds/volatile-binds.bb
> index 5eeb6513301..d3863f2b47a 100644
> --- a/meta/recipes-core/volatile-binds/volatile-binds.bb
> +++ b/meta/recipes-core/volatile-binds/volatile-binds.bb
> @@ -68,7 +68,7 @@ do_install () {
>      install -m 0755 mount-copybind ${D}${base_sbindir}/
>
>      install -d ${D}${systemd_unitdir}/system
> -    for service in ${SYSTEMD_SERVICE_${PN}}; do
> +    for service in ${@d.getVar('SYSTEMD_SERVICE:${PN}')}; do
>          install -m 0644 $service ${D}${systemd_unitdir}/system/
>      done
>
> diff --git a/meta/recipes-devtools/gdb/gdb.inc b/meta/recipes-devtools/gdb/gdb.inc
> index f4cd0a5c01b..2b0ae1655f6 100644
> --- a/meta/recipes-devtools/gdb/gdb.inc
> +++ b/meta/recipes-devtools/gdb/gdb.inc
> @@ -2,7 +2,7 @@ require gdb-common.inc
>
>  inherit gettext
>
> -#LDFLAGS_append = " -s"
> +#LDFLAGS:append = " -s"
>  #export CFLAGS:append=" -L${STAGING_LIBDIR}"
>
>  # cross-canadian must not see this
> diff --git a/meta/recipes-graphics/mesa/mesa.inc b/meta/recipes-graphics/mesa/mesa.inc
> index 87b31b4819c..f2585479bd1 100644
> --- a/meta/recipes-graphics/mesa/mesa.inc
> +++ b/meta/recipes-graphics/mesa/mesa.inc
> @@ -230,7 +230,7 @@ python __anonymous() {
>          mlprefix = d.getVar("MLPREFIX")
>          fullp = mlprefix + p[1] + "-mesa" + suffix
>          mlprefix = d.getVar("MLPREFIX")
> -        pkgs = " ".join(mlprefix + x + suffix for x in p[1:])
> +        pkgs = " " + " ".join(mlprefix + x + suffix for x in p[1:])
>          d.setVar("DEBIAN_NOAUTONAME:" + fullp, "1")
>          d.appendVar("RREPLACES:" + fullp, pkgs)
>          d.appendVar("RPROVIDES:" + fullp, pkgs)
> @@ -240,7 +240,7 @@ python __anonymous() {
>
>          # For -dev, the first element is both the Debian and original name
>          fullp = mlprefix + p[1] + "-mesa-dev" + suffix
> -        pkgs = mlprefix + p[1] + "-dev" + suffix
> +        pkgs = " " + mlprefix + p[1] + "-dev" + suffix
>          d.setVar("DEBIAN_NOAUTONAME:" + fullp, "1")
>          d.appendVar("RREPLACES:" + fullp, pkgs)
>          d.appendVar("RPROVIDES:" + fullp, pkgs)
> diff --git a/scripts/devtool b/scripts/devtool
> index 8a4f41bc372..af4811b9221 100755
> --- a/scripts/devtool
> +++ b/scripts/devtool
> @@ -100,7 +100,7 @@ def read_workspace():
>          _enable_workspace_layer(config.workspace_path, config, basepath)
>
>      logger.debug('Reading workspace in %s' % config.workspace_path)
> -    externalsrc_re = re.compile(r'^EXTERNALSRC(_pn-([^ =]+))? *= *"([^"]*)"$')
> +    externalsrc_re = re.compile(r'^EXTERNALSRC(:pn-([^ =]+))? *= *"([^"]*)"$')
>      for fn in glob.glob(os.path.join(config.workspace_path, 'appends', '*.bbappend')):
>          with open(fn, 'r') as f:
>              pnvalues = {}
> --
> 2.30.2
>
>
> 
>

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [OE-core] [PATCH 3/3] meta: Manual override fixes
  2021-07-28 19:32   ` [OE-core] " Andre McCurdy
@ 2021-07-28 20:00     ` Richard Purdie
       [not found]     ` <16960CD0F3F5D3AD.12099@lists.openembedded.org>
  1 sibling, 0 replies; 12+ messages in thread
From: Richard Purdie @ 2021-07-28 20:00 UTC (permalink / raw)
  To: Andre McCurdy; +Cc: OE Core mailing list

On Wed, 2021-07-28 at 12:32 -0700, Andre McCurdy wrote:
> On Wed, Jul 28, 2021 at 7:15 AM Richard Purdie
> <richard.purdie@linuxfoundation.org> wrote:
> > 
> > The automated conversion of OE-Core to use the new override sytax isn't
> > perfect. This patches some mis-converted lines and some lines which were missed
> > by the automation.
> > 
> > Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
> > @@ -86,7 +86,7 @@ python systemd_populate_packages() {
> >          bb.debug(1, 'adding systemd calls to postinst/postrm for %s' % pkg)
> > 
> >          paths_escaped = ' '.join(shlex.quote(s) for s in d.getVar('SYSTEMD_SERVICE:' + pkg).split())
> > -        d.setVar('SYSTEMD_SERVICE:ESCAPED_' + pkg, paths_escaped)
> > +        d.setVar('SYSTEMD_SERVICE_ESCAPED:' + pkg, paths_escaped)
> 
> This is manually fixing the misconversion of _ESCAPED to :ESCAPED,
> right? If so then does it mean a bug in the automatic conversion
> script since overrides can't be uppercase?

There are several bugs in the script, yes. The question is how far to go 
in trying to address them and this wasn't a common issue.

Cheers,

Richard


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [OE-core] [PATCH 3/3] meta: Manual override fixes
       [not found]     ` <16960CD0F3F5D3AD.12099@lists.openembedded.org>
@ 2021-07-28 20:24       ` Richard Purdie
  2021-07-28 20:43         ` Andre McCurdy
  0 siblings, 1 reply; 12+ messages in thread
From: Richard Purdie @ 2021-07-28 20:24 UTC (permalink / raw)
  To: Andre McCurdy; +Cc: OE Core mailing list

On Wed, 2021-07-28 at 21:00 +0100, Richard Purdie via lists.openembedded.org wrote:
> On Wed, 2021-07-28 at 12:32 -0700, Andre McCurdy wrote:
> > On Wed, Jul 28, 2021 at 7:15 AM Richard Purdie
> > <richard.purdie@linuxfoundation.org> wrote:
> > > 
> > > The automated conversion of OE-Core to use the new override sytax isn't
> > > perfect. This patches some mis-converted lines and some lines which were missed
> > > by the automation.
> > > 
> > > Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
> > > @@ -86,7 +86,7 @@ python systemd_populate_packages() {
> > >          bb.debug(1, 'adding systemd calls to postinst/postrm for %s' % pkg)
> > > 
> > >          paths_escaped = ' '.join(shlex.quote(s) for s in d.getVar('SYSTEMD_SERVICE:' + pkg).split())
> > > -        d.setVar('SYSTEMD_SERVICE:ESCAPED_' + pkg, paths_escaped)
> > > +        d.setVar('SYSTEMD_SERVICE_ESCAPED:' + pkg, paths_escaped)
> > 
> > This is manually fixing the misconversion of _ESCAPED to :ESCAPED,
> > right? If so then does it mean a bug in the automatic conversion
> > script since overrides can't be uppercase?
> 
> There are several bugs in the script, yes. The question is how far to go 
> in trying to address them and this wasn't a common issue.

In case it isn't clear, this isn't as easy as you might first think. We need
to convert SYSTEMD_SERVICE_${PN} which has uppercase characters in it. Can it
be fixed? Probably, yes. Is it worth the effort/complexity? Maybe not.

Cheers,

Richard


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [OE-core] [PATCH 3/3] meta: Manual override fixes
  2021-07-28 20:24       ` Richard Purdie
@ 2021-07-28 20:43         ` Andre McCurdy
  2021-07-28 20:53           ` Richard Purdie
  0 siblings, 1 reply; 12+ messages in thread
From: Andre McCurdy @ 2021-07-28 20:43 UTC (permalink / raw)
  To: Richard Purdie; +Cc: OE Core mailing list

On Wed, Jul 28, 2021 at 1:24 PM Richard Purdie
<richard.purdie@linuxfoundation.org> wrote:
>
> On Wed, 2021-07-28 at 21:00 +0100, Richard Purdie via lists.openembedded.org wrote:
> > On Wed, 2021-07-28 at 12:32 -0700, Andre McCurdy wrote:
> > > On Wed, Jul 28, 2021 at 7:15 AM Richard Purdie
> > > <richard.purdie@linuxfoundation.org> wrote:
> > > >
> > > > The automated conversion of OE-Core to use the new override sytax isn't
> > > > perfect. This patches some mis-converted lines and some lines which were missed
> > > > by the automation.
> > > >
> > > > Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
> > > > @@ -86,7 +86,7 @@ python systemd_populate_packages() {
> > > >          bb.debug(1, 'adding systemd calls to postinst/postrm for %s' % pkg)
> > > >
> > > >          paths_escaped = ' '.join(shlex.quote(s) for s in d.getVar('SYSTEMD_SERVICE:' + pkg).split())
> > > > -        d.setVar('SYSTEMD_SERVICE:ESCAPED_' + pkg, paths_escaped)
> > > > +        d.setVar('SYSTEMD_SERVICE_ESCAPED:' + pkg, paths_escaped)
> > >
> > > This is manually fixing the misconversion of _ESCAPED to :ESCAPED,
> > > right? If so then does it mean a bug in the automatic conversion
> > > script since overrides can't be uppercase?
> >
> > There are several bugs in the script, yes. The question is how far to go
> > in trying to address them and this wasn't a common issue.
>
> In case it isn't clear, this isn't as easy as you might first think. We need
> to convert SYSTEMD_SERVICE_${PN} which has uppercase characters in it. Can it
> be fixed? Probably, yes. Is it worth the effort/complexity? Maybe not.

I haven't read the script but doesn't it distinguish between things
following an _ which might be an override (and will never be all
uppercase) and the variable name which is being overridden (which may
be uppercase)?

Since the script will be reused many times for many private layers I'd
say making it as robust as possible is a worthy goal.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [OE-core] [PATCH 3/3] meta: Manual override fixes
  2021-07-28 20:43         ` Andre McCurdy
@ 2021-07-28 20:53           ` Richard Purdie
  2021-07-28 21:21             ` Andre McCurdy
  0 siblings, 1 reply; 12+ messages in thread
From: Richard Purdie @ 2021-07-28 20:53 UTC (permalink / raw)
  To: Andre McCurdy; +Cc: OE Core mailing list

On Wed, 2021-07-28 at 13:43 -0700, Andre McCurdy wrote:
> On Wed, Jul 28, 2021 at 1:24 PM Richard Purdie
> <richard.purdie@linuxfoundation.org> wrote:
> > 
> > On Wed, 2021-07-28 at 21:00 +0100, Richard Purdie via lists.openembedded.org wrote:
> > > On Wed, 2021-07-28 at 12:32 -0700, Andre McCurdy wrote:
> > > > On Wed, Jul 28, 2021 at 7:15 AM Richard Purdie
> > > > <richard.purdie@linuxfoundation.org> wrote:
> > > > > 
> > > > > The automated conversion of OE-Core to use the new override sytax isn't
> > > > > perfect. This patches some mis-converted lines and some lines which were missed
> > > > > by the automation.
> > > > > 
> > > > > Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
> > > > > @@ -86,7 +86,7 @@ python systemd_populate_packages() {
> > > > >          bb.debug(1, 'adding systemd calls to postinst/postrm for %s' % pkg)
> > > > > 
> > > > >          paths_escaped = ' '.join(shlex.quote(s) for s in d.getVar('SYSTEMD_SERVICE:' + pkg).split())
> > > > > -        d.setVar('SYSTEMD_SERVICE:ESCAPED_' + pkg, paths_escaped)
> > > > > +        d.setVar('SYSTEMD_SERVICE_ESCAPED:' + pkg, paths_escaped)
> > > > 
> > > > This is manually fixing the misconversion of _ESCAPED to :ESCAPED,
> > > > right? If so then does it mean a bug in the automatic conversion
> > > > script since overrides can't be uppercase?
> > > 
> > > There are several bugs in the script, yes. The question is how far to go
> > > in trying to address them and this wasn't a common issue.
> > 
> > In case it isn't clear, this isn't as easy as you might first think. We need
> > to convert SYSTEMD_SERVICE_${PN} which has uppercase characters in it. Can it
> > be fixed? Probably, yes. Is it worth the effort/complexity? Maybe not.
> 
> I haven't read the script but doesn't it distinguish between things
> following an _ which might be an override (and will never be all
> uppercase) and the variable name which is being overridden (which may
> be uppercase)?

The script is not a parser in any sense, it is looking for expressions using
pattern matching and making changes based upon that. It is quite horrible in
some ways, equally it is doing a reasonable job of the conversion on the most
part too.

> Since the script will be reused many times for many private layers I'd
> say making it as robust as possible is a worthy goal.

Well, sure. I have spent days on it and improved it several times over compared
to what it did do. I have it working for 10,000 cases in OE-Core with around 40 
exceptions which I didn't think was too bad. I felt I'd reached the point of 
diminishing returns with it. As with most things, we can improve it and patches
are welcome.

I'm more worried that the patterns of metadata in the wild may be quite different
to what we've trained the script with in OE-Core too, that may be a much more
important issue.

Cheers,

Richard



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [OE-core] [PATCH 3/3] meta: Manual override fixes
  2021-07-28 20:53           ` Richard Purdie
@ 2021-07-28 21:21             ` Andre McCurdy
  2021-07-28 21:28               ` Richard Purdie
       [not found]               ` <169611A4DF65986F.13113@lists.openembedded.org>
  0 siblings, 2 replies; 12+ messages in thread
From: Andre McCurdy @ 2021-07-28 21:21 UTC (permalink / raw)
  To: Richard Purdie; +Cc: OE Core mailing list

On Wed, Jul 28, 2021 at 1:54 PM Richard Purdie
<richard.purdie@linuxfoundation.org> wrote:
>
> On Wed, 2021-07-28 at 13:43 -0700, Andre McCurdy wrote:
> > On Wed, Jul 28, 2021 at 1:24 PM Richard Purdie
> > <richard.purdie@linuxfoundation.org> wrote:
> > >
> > > On Wed, 2021-07-28 at 21:00 +0100, Richard Purdie via lists.openembedded.org wrote:
> > > > On Wed, 2021-07-28 at 12:32 -0700, Andre McCurdy wrote:
> > > > > On Wed, Jul 28, 2021 at 7:15 AM Richard Purdie
> > > > > <richard.purdie@linuxfoundation.org> wrote:
> > > > > >
> > > > > > The automated conversion of OE-Core to use the new override sytax isn't
> > > > > > perfect. This patches some mis-converted lines and some lines which were missed
> > > > > > by the automation.
> > > > > >
> > > > > > Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
> > > > > > @@ -86,7 +86,7 @@ python systemd_populate_packages() {
> > > > > >          bb.debug(1, 'adding systemd calls to postinst/postrm for %s' % pkg)
> > > > > >
> > > > > >          paths_escaped = ' '.join(shlex.quote(s) for s in d.getVar('SYSTEMD_SERVICE:' + pkg).split())
> > > > > > -        d.setVar('SYSTEMD_SERVICE:ESCAPED_' + pkg, paths_escaped)
> > > > > > +        d.setVar('SYSTEMD_SERVICE_ESCAPED:' + pkg, paths_escaped)
> > > > >
> > > > > This is manually fixing the misconversion of _ESCAPED to :ESCAPED,
> > > > > right? If so then does it mean a bug in the automatic conversion
> > > > > script since overrides can't be uppercase?
> > > >
> > > > There are several bugs in the script, yes. The question is how far to go
> > > > in trying to address them and this wasn't a common issue.
> > >
> > > In case it isn't clear, this isn't as easy as you might first think. We need
> > > to convert SYSTEMD_SERVICE_${PN} which has uppercase characters in it. Can it
> > > be fixed? Probably, yes. Is it worth the effort/complexity? Maybe not.
> >
> > I haven't read the script but doesn't it distinguish between things
> > following an _ which might be an override (and will never be all
> > uppercase) and the variable name which is being overridden (which may
> > be uppercase)?
>
> The script is not a parser in any sense, it is looking for expressions using
> pattern matching and making changes based upon that. It is quite horrible in
> some ways, equally it is doing a reasonable job of the conversion on the most
> part too.
>
> > Since the script will be reused many times for many private layers I'd
> > say making it as robust as possible is a worthy goal.
>
> Well, sure. I have spent days on it and improved it several times over compared
> to what it did do. I have it working for 10,000 cases in OE-Core with around 40
> exceptions which I didn't think was too bad. I felt I'd reached the point of
> diminishing returns with it. As with most things, we can improve it and patches
> are welcome.

Unfortunately those most affected by shortcomings in the script are
probably also those least likely to submit patches for it. Just as
those most affected by the new recipe syntax were probably not reading
oe-arch when you proposed the change and asked for feedback. They will
instead find out about it months or years from now when they discover
their meta layers don't work when they try using a new release of OE.
At that point a lot of them will just shug and keep on using 3.1
LTS...

> I'm more worried that the patterns of metadata in the wild may be quite different
> to what we've trained the script with in OE-Core too, that may be a much more
> important issue.

Yes, that's a concern too. Looking at the script now it seems to be
mostly a long list of exceptions. The chances of it working well on
layers you haven't considered don't look too good.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [OE-core] [PATCH 3/3] meta: Manual override fixes
  2021-07-28 21:21             ` Andre McCurdy
@ 2021-07-28 21:28               ` Richard Purdie
       [not found]               ` <169611A4DF65986F.13113@lists.openembedded.org>
  1 sibling, 0 replies; 12+ messages in thread
From: Richard Purdie @ 2021-07-28 21:28 UTC (permalink / raw)
  To: Andre McCurdy; +Cc: OE Core mailing list

On Wed, 2021-07-28 at 14:21 -0700, Andre McCurdy wrote:
> On Wed, Jul 28, 2021 at 1:54 PM Richard Purdie
> <richard.purdie@linuxfoundation.org> wrote:
> > 
> > On Wed, 2021-07-28 at 13:43 -0700, Andre McCurdy wrote:
> > 
> > > Since the script will be reused many times for many private layers I'd
> > > say making it as robust as possible is a worthy goal.
> > 
> > Well, sure. I have spent days on it and improved it several times over compared
> > to what it did do. I have it working for 10,000 cases in OE-Core with around 40
> > exceptions which I didn't think was too bad. I felt I'd reached the point of
> > diminishing returns with it. As with most things, we can improve it and patches
> > are welcome.
> 
> Unfortunately those most affected by shortcomings in the script are
> probably also those least likely to submit patches for it. Just as
> those most affected by the new recipe syntax were probably not reading
> oe-arch when you proposed the change and asked for feedback. They will
> instead find out about it months or years from now when they discover
> their meta layers don't work when they try using a new release of OE.
> At that point a lot of them will just shug and keep on using 3.1
> LTS...
> 
> > I'm more worried that the patterns of metadata in the wild may be quite different
> > to what we've trained the script with in OE-Core too, that may be a much more
> > important issue.
> 
> Yes, that's a concern too. Looking at the script now it seems to be
> mostly a long list of exceptions. The chances of it working well on
> layers you haven't considered don't look too good.

I'm not sure that is entirely true/fair. The bulk of the exceptions are for 
python function/variable names and OE-Core and bitbake itself have a much 
higher fraction of code like that than most layers do.

I am interested in real world feedback on layers people can test it against
though to see how much of an issue that really is.

The goal here isn't 100% perfect automated conversion (in which case bitbake 
could just markup things internally) but to help people convert layers with
minimal pain.

Cheers,

Richard



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [OE-core] [PATCH 3/3] meta: Manual override fixes
       [not found]               ` <169611A4DF65986F.13113@lists.openembedded.org>
@ 2021-07-28 22:42                 ` Richard Purdie
  0 siblings, 0 replies; 12+ messages in thread
From: Richard Purdie @ 2021-07-28 22:42 UTC (permalink / raw)
  To: Andre McCurdy; +Cc: OE Core mailing list

On Wed, 2021-07-28 at 22:28 +0100, Richard Purdie via lists.openembedded.org wrote:
> On Wed, 2021-07-28 at 14:21 -0700, Andre McCurdy wrote:
> > On Wed, Jul 28, 2021 at 1:54 PM Richard Purdie
> > <richard.purdie@linuxfoundation.org> wrote:
> > > 
> > > On Wed, 2021-07-28 at 13:43 -0700, Andre McCurdy wrote:
> > > 
> > > > Since the script will be reused many times for many private layers I'd
> > > > say making it as robust as possible is a worthy goal.
> > > 
> > > Well, sure. I have spent days on it and improved it several times over compared
> > > to what it did do. I have it working for 10,000 cases in OE-Core with around 40
> > > exceptions which I didn't think was too bad. I felt I'd reached the point of
> > > diminishing returns with it. As with most things, we can improve it and patches
> > > are welcome.
> > 
> > Unfortunately those most affected by shortcomings in the script are
> > probably also those least likely to submit patches for it. Just as
> > those most affected by the new recipe syntax were probably not reading
> > oe-arch when you proposed the change and asked for feedback. They will
> > instead find out about it months or years from now when they discover
> > their meta layers don't work when they try using a new release of OE.
> > At that point a lot of them will just shug and keep on using 3.1
> > LTS...
> > 
> > > I'm more worried that the patterns of metadata in the wild may be quite different
> > > to what we've trained the script with in OE-Core too, that may be a much more
> > > important issue.
> > 
> > Yes, that's a concern too. Looking at the script now it seems to be
> > mostly a long list of exceptions. The chances of it working well on
> > layers you haven't considered don't look too good.
> 
> I'm not sure that is entirely true/fair. The bulk of the exceptions are for 
> python function/variable names and OE-Core and bitbake itself have a much 
> higher fraction of code like that than most layers do.
> 
> I am interested in real world feedback on layers people can test it against
> though to see how much of an issue that really is.
> 
> The goal here isn't 100% perfect automated conversion (in which case bitbake 
> could just markup things internally) but to help people convert layers with
> minimal pain.

I've rewritten the regex in the conversion script to account for this and have 
tested it on a subset of metdata, so far so good. I'll have to run more tests 
tomorrow to reconvert other layers and validate the output is the same. The 
updated script and patches are in master-next.

Cheers,

Richard


^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2021-07-28 22:42 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-07-28 14:15 [PATCH 1/3] scripts/contrib: Add override conversion script Richard Purdie
2021-07-28 14:15 ` [PATCH 2/3] Convert to new override syntax Richard Purdie
2021-07-28 14:15 ` [PATCH 3/3] meta: Manual override fixes Richard Purdie
2021-07-28 19:32   ` [OE-core] " Andre McCurdy
2021-07-28 20:00     ` Richard Purdie
     [not found]     ` <16960CD0F3F5D3AD.12099@lists.openembedded.org>
2021-07-28 20:24       ` Richard Purdie
2021-07-28 20:43         ` Andre McCurdy
2021-07-28 20:53           ` Richard Purdie
2021-07-28 21:21             ` Andre McCurdy
2021-07-28 21:28               ` Richard Purdie
     [not found]               ` <169611A4DF65986F.13113@lists.openembedded.org>
2021-07-28 22:42                 ` Richard Purdie
2021-07-28 14:52 ` [OE-core] [PATCH 1/3] scripts/contrib: Add override conversion script Michael Opdenacker

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.