Bläddra i källkod

Convert to new override syntax

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 "_".

(From OE-Core rev: 42344347be29f0997cc2f7636d9603b1fe1875ae)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie 3 år sedan
förälder
incheckning
bb6ddc3691
100 ändrade filer med 536 tillägg och 535 borttagningar
  1. 1 1
      meta-selftest/recipes-devtools/python/python-async-test.inc
  2. 10 10
      meta-selftest/recipes-test/aspell/aspell_0.0.0.1.bb
  3. 1 1
      meta-selftest/recipes-test/container-image/container-image-testpkg.bb
  4. 2 2
      meta-selftest/recipes-test/devtool/devtool-patch-overrides.bb
  5. 3 3
      meta-selftest/recipes-test/images/wic-image-minimal.bb
  6. 4 4
      meta-selftest/recipes-test/multiconfig/multiconfig-image-packager_0.1.bb
  7. 10 10
      meta-selftest/recipes-test/postinst/postinst_1.0.bb
  8. 2 2
      meta-selftest/recipes-test/recipetool/selftest-recipetool-appendfile.bb
  9. 1 1
      meta-selftest/recipes-test/recipeutils/recipeutils-test_1.2.bb
  10. 2 2
      meta-selftest/recipes-test/selftest-chown/selftest-chown.bb
  11. 3 3
      meta-selftest/recipes-test/selftest-ed/selftest-ed_0.5.bb
  12. 2 2
      meta-selftest/recipes-test/selftest-hardlink/selftest-hardlink.bb
  13. 1 1
      meta-skeleton/conf/multilib-example.conf
  14. 1 1
      meta-skeleton/conf/multilib-example2.conf
  15. 6 6
      meta-skeleton/recipes-baremetal/baremetal-examples/baremetal-helloworld_git.bb
  16. 2 2
      meta-skeleton/recipes-core/busybox/busybox_%.bbappend
  17. 1 1
      meta-skeleton/recipes-kernel/hello-mod/hello-mod_0.1.bb
  18. 1 1
      meta-skeleton/recipes-kernel/linux/linux-yocto-custom.bb
  19. 2 2
      meta-skeleton/recipes-skeleton/service/service_0.1.bb
  20. 6 6
      meta-skeleton/recipes-skeleton/useradd/useradd-example.bb
  21. 5 4
      meta/classes/autotools.bbclass
  22. 7 7
      meta/classes/baremetal-image.bbclass
  23. 6 6
      meta/classes/base.bbclass
  24. 3 3
      meta/classes/bash-completion.bbclass
  25. 1 1
      meta/classes/bin_package.bbclass
  26. 2 2
      meta/classes/binconfig-disabled.bbclass
  27. 1 1
      meta/classes/binconfig.bbclass
  28. 7 7
      meta/classes/buildhistory.bbclass
  29. 5 5
      meta/classes/cmake.bbclass
  30. 3 3
      meta/classes/compress_doc.bbclass
  31. 3 3
      meta/classes/cpan-base.bbclass
  32. 2 2
      meta/classes/cpan.bbclass
  33. 3 3
      meta/classes/cross-canadian.bbclass
  34. 1 1
      meta/classes/cross.bbclass
  35. 1 1
      meta/classes/cve-check.bbclass
  36. 7 7
      meta/classes/debian.bbclass
  37. 1 1
      meta/classes/devicetree.bbclass
  38. 2 2
      meta/classes/devupstream.bbclass
  39. 3 3
      meta/classes/distrooverrides.bbclass
  40. 3 3
      meta/classes/distutils-common-base.bbclass
  41. 3 3
      meta/classes/distutils3-base.bbclass
  42. 1 1
      meta/classes/distutils3.bbclass
  43. 5 5
      meta/classes/externalsrc.bbclass
  44. 2 2
      meta/classes/extrausers.bbclass
  45. 5 5
      meta/classes/fontcache.bbclass
  46. 6 6
      meta/classes/gconf.bbclass
  47. 3 3
      meta/classes/gettext.bbclass
  48. 4 4
      meta/classes/gi-docgen.bbclass
  49. 5 5
      meta/classes/gio-module-cache.bbclass
  50. 2 2
      meta/classes/glide.bbclass
  51. 3 3
      meta/classes/gnomebase.bbclass
  52. 1 1
      meta/classes/go-mod.bbclass
  53. 1 1
      meta/classes/go-ptest.bbclass
  54. 22 22
      meta/classes/go.bbclass
  55. 27 27
      meta/classes/goarch.bbclass
  56. 12 12
      meta/classes/gobject-introspection.bbclass
  57. 7 7
      meta/classes/gsettings.bbclass
  58. 11 11
      meta/classes/gtk-doc.bbclass
  59. 9 9
      meta/classes/gtk-icon-cache.bbclass
  60. 5 5
      meta/classes/gtk-immodules-cache.bbclass
  61. 9 9
      meta/classes/icecc.bbclass
  62. 1 1
      meta/classes/image-combined-dbg.bbclass
  63. 1 1
      meta/classes/image-prelink.bbclass
  64. 10 10
      meta/classes/image.bbclass
  65. 25 25
      meta/classes/image_types.bbclass
  66. 5 5
      meta/classes/image_types_wic.bbclass
  67. 15 15
      meta/classes/insane.bbclass
  68. 6 6
      meta/classes/kernel-devicetree.bbclass
  69. 1 1
      meta/classes/kernel-fitimage.bbclass
  70. 4 4
      meta/classes/kernel-grub.bbclass
  71. 20 20
      meta/classes/kernel-module-split.bbclass
  72. 1 1
      meta/classes/kernel-yocto.bbclass
  73. 30 30
      meta/classes/kernel.bbclass
  74. 16 16
      meta/classes/libc-package.bbclass
  75. 6 6
      meta/classes/license.bbclass
  76. 2 2
      meta/classes/license_image.bbclass
  77. 2 2
      meta/classes/linux-dummy.bbclass
  78. 4 4
      meta/classes/manpages.bbclass
  79. 4 4
      meta/classes/meson.bbclass
  80. 6 6
      meta/classes/mime-xdg.bbclass
  81. 6 6
      meta/classes/mime.bbclass
  82. 3 3
      meta/classes/module.bbclass
  83. 2 2
      meta/classes/multilib.bbclass
  84. 6 6
      meta/classes/multilib_global.bbclass
  85. 2 2
      meta/classes/multilib_header.bbclass
  86. 2 2
      meta/classes/multilib_script.bbclass
  87. 2 2
      meta/classes/native.bbclass
  88. 1 1
      meta/classes/nativesdk.bbclass
  89. 3 3
      meta/classes/npm.bbclass
  90. 1 1
      meta/classes/own-mirrors.bbclass
  91. 57 57
      meta/classes/package.bbclass
  92. 1 1
      meta/classes/package_deb.bbclass
  93. 1 1
      meta/classes/package_ipk.bbclass
  94. 1 1
      meta/classes/package_rpm.bbclass
  95. 1 1
      meta/classes/packagedata.bbclass
  96. 1 1
      meta/classes/packagegroup.bbclass
  97. 1 1
      meta/classes/patch.bbclass
  98. 8 8
      meta/classes/pixbufcache.bbclass
  99. 1 1
      meta/classes/pkgconfig.bbclass
  100. 7 7
      meta/classes/populate_sdk_base.bbclass

+ 1 - 1
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"

+ 10 - 10
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

+ 1 - 1
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
 }

+ 2 - 2
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"

+ 3 - 3
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"
 

+ 4 - 4
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}"
 

+ 10 - 10
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

+ 2 - 2
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}"
 

+ 1 - 1
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"

+ 2 - 2
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/*"

+ 3 - 3
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"

+ 2 - 2
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"

+ 1 - 1
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"

+ 1 - 1
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"

+ 6 - 6
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 \
 "

+ 2 - 2
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 \
            "

+ 1 - 1
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"

+ 1 - 1
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.

+ 2 - 2
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"

+ 6 - 6
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:

+ 5 - 4
meta/classes/autotools.bbclass

@@ -19,7 +19,8 @@ def get_autotools_dep(d):
 
     return deps
 
-DEPENDS_prepend = "${@get_autotools_dep(d)} "
+
+DEPENDS:prepend = "${@get_autotools_dep(d)} "
 
 inherit siteinfo
 
@@ -131,7 +132,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 +141,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))

+ 7 - 7
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

+ 6 - 6
meta/classes/base.bbclass

@@ -74,10 +74,10 @@ def get_base_dep(d):
 BASE_DEFAULT_DEPS = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}compilerlibs virtual/libc"
 
 BASEDEPENDS = ""
-BASEDEPENDS_class-target = "${@get_base_dep(d)}"
-BASEDEPENDS_class-nativesdk = "${@get_base_dep(d)}"
+BASEDEPENDS:class-target = "${@get_base_dep(d)}"
+BASEDEPENDS:class-nativesdk = "${@get_base_dep(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')

+ 3 - 3
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"

+ 1 - 1
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

+ 2 - 2
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.

+ 1 - 1
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):

+ 7 - 7
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"
 

+ 5 - 5
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"

+ 3 - 3
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))
 }
 

+ 3 - 3
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(' '):

+ 2 - 2
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'
 }

+ 3 - 3
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}"

+ 1 - 1
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}"

+ 1 - 1
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):

+ 7 - 7
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)

+ 1 - 1
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"

+ 2 - 2
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.

+ 3 - 3
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

+ 3 - 3
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 \

+ 3 - 3
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
 

+ 1 - 1
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}"
 

+ 5 - 5
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:

+ 2 - 2
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 () {

+ 5 - 5
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"

+ 6 - 6
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')
 }

+ 3 - 3
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

+ 4 - 4
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 ''}"
 

+ 5 - 5
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)
 }
 

+ 2 - 2
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 )
 }

+ 3 - 3
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

+ 1 - 1
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
 

+ 1 - 1
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"
 

+ 22 - 22
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')
 }

+ 27 - 27
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:

+ 12 - 12
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"

+ 7 - 7
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)
 }

+ 11 - 11
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.

+ 9 - 9
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)
 }
 

+ 5 - 5
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() {

+ 9 - 9
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
@@ -105,7 +105,7 @@ def get_icecc_dep(d):
         return "icecc-create-env-native"
     return ""
 
-DEPENDS_prepend = "${@get_icecc_dep(d)} "
+DEPENDS:prepend = "${@get_icecc_dep(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}"

+ 1 - 1
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

+ 1 - 1
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)

+ 10 - 10
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 = ""

+ 25 - 25
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 --shrink"
-EXTRA_IMAGECMD_f2fs ?= ""
+EXTRA_IMAGECMD:ext2 ?= "-i 4096"
+EXTRA_IMAGECMD:ext3 ?= "-i 4096"
+EXTRA_IMAGECMD:ext4 ?= "-i 4096"
+EXTRA_IMAGECMD:btrfs ?= "-n 4096 --shrink"
+EXTRA_IMAGECMD:f2fs ?= ""
 
 do_image_cpio[depends] += "cpio-native:do_populate_sysroot"
 do_image_jffs2[depends] += "mtd-utils-native:do_populate_sysroot"

+ 5 - 5
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}"
 

+ 15 - 15
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

+ 6 - 6
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##*.}

+ 1 - 1
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
 

+ 4 - 4
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)
 }
 

+ 20 - 20
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

+ 1 - 1
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 = [ "" ]

+ 30 - 30
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='')

+ 16 - 16
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)
 }

+ 6 - 6
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)

+ 2 - 2
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() {

+ 2 - 2
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')
 }
 

+ 4 - 4
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

+ 4 - 4
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"

+ 6 - 6
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")
 }

+ 6 - 6
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")
 }

+ 3 - 3
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"

+ 2 - 2
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() {
 

+ 6 - 6
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

+ 2 - 2
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
 }

+ 2 - 2
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}")
 }

+ 2 - 2
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.

+ 1 - 1
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}"

+ 3 - 3
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} \
 "

+ 1 - 1
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 \

+ 57 - 57
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)
 }
@@ -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.

+ 1 - 1
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)

+ 1 - 1
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)

+ 1 - 1
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)

+ 1 - 1
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):

+ 1 - 1
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

+ 1 - 1
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"

+ 8 - 8
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}

+ 1 - 1
meta/classes/pkgconfig.bbclass

@@ -1,2 +1,2 @@
-DEPENDS_prepend = "pkgconfig-native "
+DEPENDS:prepend = "pkgconfig-native "
 

+ 7 - 7
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}"

Vissa filer visades inte eftersom för många filer har ändrats