diff --git a/meta-phosphor/classes/image_types_phosphor.bbclass b/meta-phosphor/classes/image_types_phosphor.bbclass
index 21c451a..be3bbdf 100644
--- a/meta-phosphor/classes/image_types_phosphor.bbclass
+++ b/meta-phosphor/classes/image_types_phosphor.bbclass
@@ -10,7 +10,7 @@
 
 # Image composition
 FLASH_KERNEL_IMAGE ?= "fitImage-${INITRAMFS_IMAGE}-${MACHINE}-${MACHINE}"
-FLASH_KERNEL_IMAGE_df-obmc-ubi-fs ?= "fitImage-${MACHINE}.bin"
+FLASH_KERNEL_IMAGE:df-obmc-ubi-fs ?= "fitImage-${MACHINE}.bin"
 
 IMAGE_BASETYPE ?= "squashfs-xz"
 OVERLAY_BASETYPE ?= "jffs2"
@@ -21,12 +21,12 @@
 
 IMAGE_TYPES += "mtd-static mtd-static-alltar mtd-static-tar mtd-ubi mtd-ubi-tar mmc-ext4-tar"
 
-IMAGE_TYPEDEP_mtd-static = "${IMAGE_BASETYPE}"
-IMAGE_TYPEDEP_mtd-static-tar = "${IMAGE_BASETYPE}"
-IMAGE_TYPEDEP_mtd-static-alltar = "mtd-static"
-IMAGE_TYPEDEP_mtd-ubi = "${FLASH_UBI_BASETYPE}"
-IMAGE_TYPEDEP_mtd-ubi-tar = "${FLASH_UBI_BASETYPE}"
-IMAGE_TYPEDEP_mmc-ext4-tar = "${FLASH_EXT4_BASETYPE}"
+IMAGE_TYPEDEP:mtd-static = "${IMAGE_BASETYPE}"
+IMAGE_TYPEDEP:mtd-static-tar = "${IMAGE_BASETYPE}"
+IMAGE_TYPEDEP:mtd-static-alltar = "mtd-static"
+IMAGE_TYPEDEP:mtd-ubi = "${FLASH_UBI_BASETYPE}"
+IMAGE_TYPEDEP:mtd-ubi-tar = "${FLASH_UBI_BASETYPE}"
+IMAGE_TYPEDEP:mmc-ext4-tar = "${FLASH_EXT4_BASETYPE}"
 IMAGE_TYPES_MASKED += "mtd-static mtd-static-alltar mtd-static-tar mtd-ubi mtd-ubi-tar mmc-ext4-tar"
 
 # Flash characteristics in KB unless otherwise noted
@@ -41,21 +41,21 @@
 FLASH_UBOOT_SPL_SIZE ?= "64"
 FLASH_UBOOT_OFFSET ?= "0"
 FLASH_KERNEL_OFFSET ?= "512"
-FLASH_KERNEL_OFFSET_flash-65536 ?= "1024"
-FLASH_KERNEL_OFFSET_flash-131072 ?= "1024"
+FLASH_KERNEL_OFFSET:flash-65536 ?= "1024"
+FLASH_KERNEL_OFFSET:flash-131072 ?= "1024"
 FLASH_UBI_OFFSET ?= "${FLASH_KERNEL_OFFSET}"
 FLASH_ROFS_OFFSET ?= "4864"
-FLASH_ROFS_OFFSET_flash-65536 ?= "10240"
-FLASH_ROFS_OFFSET_flash-131072 ?= "10240"
+FLASH_ROFS_OFFSET:flash-65536 ?= "10240"
+FLASH_ROFS_OFFSET:flash-131072 ?= "10240"
 FLASH_RWFS_OFFSET ?= "28672"
-FLASH_RWFS_OFFSET_flash-65536 ?= "43008"
-FLASH_RWFS_OFFSET_flash-131072 ?= "98304"
+FLASH_RWFS_OFFSET:flash-65536 ?= "43008"
+FLASH_RWFS_OFFSET:flash-131072 ?= "98304"
 
 # UBI volume sizes in KB unless otherwise noted.
 FLASH_UBI_RWFS_SIZE ?= "6144"
-FLASH_UBI_RWFS_SIZE_flash-131072 ?= "32768"
+FLASH_UBI_RWFS_SIZE:flash-131072 ?= "32768"
 FLASH_UBI_RWFS_TXT_SIZE ?= "6MiB"
-FLASH_UBI_RWFS_TXT_SIZE_flash-131072 ?= "32MiB"
+FLASH_UBI_RWFS_TXT_SIZE:flash-131072 ?= "32MiB"
 
 # eMMC sizes in KB unless otherwise noted.
 MMC_UBOOT_SIZE ?= "1024"
@@ -96,10 +96,10 @@
 UBIFS_RWFS_CMD = "mkfs.ubifs -r ubifs -c ${FLASH_UBI_RWFS_LEBS} -m ${FLASH_PAGE_SIZE} -e ${FLASH_LEB_SIZE} ${IMGDEPLOYDIR}/${IMAGE_LINK_NAME}.ubifs"
 EXT4_RWFS_CMD = "mkfs.ext4 -F ${IMGDEPLOYDIR}/${IMAGE_LINK_NAME}.rwfs.ext4"
 
-FLASH_STATIC_RWFS_CMD_static-rwfs-jffs2 = "${JFFS2_RWFS_CMD}"
-FLASH_UBI_RWFS_CMD_ubi-rwfs-jffs2 = "${JFFS2_RWFS_CMD}"
-FLASH_UBI_RWFS_CMD_ubi-rwfs-ubifs = "${UBIFS_RWFS_CMD}"
-FLASH_EXT4_RWFS_CMD_mmc-rwfs-ext4 = "${EXT4_RWFS_CMD}"
+FLASH_STATIC_RWFS_CMD:static-rwfs-jffs2 = "${JFFS2_RWFS_CMD}"
+FLASH_UBI_RWFS_CMD:ubi-rwfs-jffs2 = "${JFFS2_RWFS_CMD}"
+FLASH_UBI_RWFS_CMD:ubi-rwfs-ubifs = "${UBIFS_RWFS_CMD}"
+FLASH_EXT4_RWFS_CMD:mmc-rwfs-ext4 = "${EXT4_RWFS_CMD}"
 
 mk_empty_image() {
 	image_dst="$1"
diff --git a/meta-phosphor/classes/image_types_phosphor_nuvoton.bbclass b/meta-phosphor/classes/image_types_phosphor_nuvoton.bbclass
index d9d179e..0909273 100644
--- a/meta-phosphor/classes/image_types_phosphor_nuvoton.bbclass
+++ b/meta-phosphor/classes/image_types_phosphor_nuvoton.bbclass
@@ -2,7 +2,7 @@
 BOOTBLOCK = "Poleg_bootblock.bin"
 FULL_SUFFIX = "full"
 MERGED_SUFFIX = "merged"
-UBOOT_SUFFIX_append = ".${MERGED_SUFFIX}"
+UBOOT_SUFFIX:append = ".${MERGED_SUFFIX}"
 
 IGPS_DIR = "${STAGING_DIR_NATIVE}/${datadir}/npcm7xx-igps"
 
@@ -30,14 +30,14 @@
 addtask do_prepare_bootloaders before do_generate_static after do_generate_rwfs_static
 
 # Include the full bootblock and u-boot in the final static image
-python do_generate_static_append() {
+python do_generate_static:append() {
     _append_image(os.path.join(d.getVar('DEPLOY_DIR_IMAGE', True),
                                'u-boot.%s' % d.getVar('UBOOT_SUFFIX',True)),
                   int(d.getVar('FLASH_UBOOT_OFFSET', True)),
                   int(d.getVar('FLASH_KERNEL_OFFSET', True)))
 }
 
-do_make_ubi_append() {
+do_make_ubi:append() {
     # Concatenate the uboot and ubi partitions
     dd bs=1k conv=notrunc seek=${FLASH_UBOOT_OFFSET} \
         if=${DEPLOY_DIR_IMAGE}/u-boot.${UBOOT_SUFFIX} \
diff --git a/meta-phosphor/classes/image_version.bbclass b/meta-phosphor/classes/image_version.bbclass
index a4b4c3d..56ebe66 100644
--- a/meta-phosphor/classes/image_version.bbclass
+++ b/meta-phosphor/classes/image_version.bbclass
@@ -1,6 +1,6 @@
 # Base image version class extension
 
-DEPENDS_append = " os-release"
+DEPENDS:append = " os-release"
 
 def do_get_version(d):
     import configparser
diff --git a/meta-phosphor/classes/obmc-phosphor-dbus-service.bbclass b/meta-phosphor/classes/obmc-phosphor-dbus-service.bbclass
index 77fffe0..b60c9b8 100644
--- a/meta-phosphor/classes/obmc-phosphor-dbus-service.bbclass
+++ b/meta-phosphor/classes/obmc-phosphor-dbus-service.bbclass
@@ -3,7 +3,7 @@
 #  DBUS_PACKAGES ?= "${PN}"
 #    The list of packages to which files should be added.
 #
-#  DBUS_SERVICE_${PN} += "org.openbmc.Foo.service"
+#  DBUS_SERVICE:${PN} += "org.openbmc.Foo.service"
 #    A list of dbus service names.  The class will look for a
 #    dbus configuration file with the same base name with .conf
 #    appended.  If one is found, it is added to the package
@@ -11,7 +11,7 @@
 #    (with very open permissions) is generated and used.
 #
 #    Additionally the class will instantiate obmc-phosphor-systemd
-#    with any SYSTEMD_SERVICE_%s variables translated appropriately.
+#    with any SYSTEMD_SERVICE:%s variables translated appropriately.
 #
 #    If a service begins with 'dbus-' DBus activation will be
 #    configured.  The class will look for an activation file
@@ -23,7 +23,7 @@
 inherit dbus-dir
 inherit obmc-phosphor-utils
 
-RDEPENDS_${PN}_append_class-target = " dbus-perms"
+RDEPENDS:${PN}:append:class-target = " dbus-perms"
 DBUS_PACKAGES ?= "${PN}"
 
 _INSTALL_DBUS_CONFIGS=""
@@ -95,12 +95,12 @@
         path = bb.utils.which(searchpaths, '%s.conf' % unit.base)
         if not os.path.isfile(path):
             user = get_user(d, unit.name, pkg)
-            set_append(d, '_DEFAULT_DBUS_CONFIGS', '%s:%s' % (
+            set_doappend(d, '_DEFAULT_DBUS_CONFIGS', '%s:%s' % (
                 unit.name, user))
         else:
-            set_append(d, 'SRC_URI', 'file://%s.conf' % unit.base)
-            set_append(d, '_INSTALL_DBUS_CONFIGS', '%s.conf' % unit.base)
-        set_append(d, 'FILES_%s' % pkg, '%s%s.conf' \
+            set_doappend(d, 'SRC_URI', 'file://%s.conf' % unit.base)
+            set_doappend(d, '_INSTALL_DBUS_CONFIGS', '%s.conf' % unit.base)
+        set_doappend(d, 'FILES:%s' % pkg, '%s%s.conf' \
             % (d.getVar('dbus_system_confdir', True), unit.base))
 
 
@@ -115,12 +115,12 @@
 
         if not os.path.isfile(path):
             user = get_user(d, unit.base, pkg)
-            set_append(d, '_DEFAULT_DBUS_ACTIVATIONS', '%s:%s' % (
+            set_doappend(d, '_DEFAULT_DBUS_ACTIVATIONS', '%s:%s' % (
                 unit.name, user))
         else:
-            set_append(d, 'SRC_URI', 'file://%s' % search_match)
-            set_append(d, '_INSTALL_DBUS_ACTIVATIONS', search_match)
-        set_append(d, 'FILES_%s' % pkg, '%s%s' \
+            set_doappend(d, 'SRC_URI', 'file://%s' % search_match)
+            set_doappend(d, '_INSTALL_DBUS_ACTIVATIONS', search_match)
+        set_doappend(d, 'FILES:%s' % pkg, '%s%s' \
             % (d.getVar('dbus_system_servicesdir', True), search_match))
 
 
@@ -131,9 +131,9 @@
 
     for pkg in listvar_to_list(d, 'DBUS_PACKAGES'):
         if pkg not in (d.getVar('SYSTEMD_PACKAGES', True) or ''):
-            set_append(d, 'SYSTEMD_PACKAGES', pkg)
+            set_doappend(d, 'SYSTEMD_PACKAGES', pkg)
 
-        svc = listvar_to_list(d, 'DBUS_SERVICE_%s' % pkg)
+        svc = listvar_to_list(d, 'DBUS_SERVICE:%s' % pkg)
         svc = [SystemdUnit(x) for x in svc]
         inst = [x for x in svc if x.is_instance]
         tmpl = [x.template for x in svc if x.is_instance]
@@ -142,20 +142,20 @@
         svc = [x for x in svc if not x.is_instance]
 
         for unit in inst:
-            set_append(
-                d, 'SYSTEMD_SERVICE_%s' % pkg, unit.name)
+            set_doappend(
+                d, 'SYSTEMD_SERVICE:%s' % pkg, unit.name)
 
         for unit in tmpl + svc:
             add_dbus_config(d, unit, pkg)
             add_dbus_activation(d, unit, pkg)
-            set_append(
-                d, 'SYSTEMD_SERVICE_%s' % pkg, unit.name)
-            set_append(d, 'SYSTEMD_SUBSTITUTIONS',
+            set_doappend(
+                d, 'SYSTEMD_SERVICE:%s' % pkg, unit.name)
+            set_doappend(d, 'SYSTEMD_SUBSTITUTIONS',
                 'BUSNAME:%s:%s' % (unit.base, unit.name))
 }
 
 
-do_install_append() {
+do_install:append() {
         # install the dbus configuration files
         [ -z "${_INSTALL_DBUS_CONFIGS}" ] && \
                 [ -z "${_DEFAULT_DBUS_CONFIGS}" ] || \
diff --git a/meta-phosphor/classes/obmc-phosphor-debug-tarball.bbclass b/meta-phosphor/classes/obmc-phosphor-debug-tarball.bbclass
index d4088ce..9262a94 100644
--- a/meta-phosphor/classes/obmc-phosphor-debug-tarball.bbclass
+++ b/meta-phosphor/classes/obmc-phosphor-debug-tarball.bbclass
@@ -7,13 +7,13 @@
 
 LICENSE = "Apache-2.0"
 
-IMAGE_INSTALL_append = " busybox packagegroup-obmc-phosphor-debugtools perf "
+IMAGE_INSTALL:append = " busybox packagegroup-obmc-phosphor-debugtools perf "
 
 # Override from image_types.bbclass to restrict tarball to /usr tree.
-IMAGE_CMD_tar = "${IMAGE_CMD_TAR} -cvf ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.tar -C ${IMAGE_ROOTFS}/usr ."
+IMAGE_CMD:tar = "${IMAGE_CMD_TAR} -cvf ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.tar -C ${IMAGE_ROOTFS}/usr ."
 
 # Remove packages installed by 'extrausers'.
-IMAGE_INSTALL_remove = "base-passwd shadow"
+IMAGE_INSTALL:remove = "base-passwd shadow"
 EXTRA_USERS_PARAMS = ""
 
 # Remove extra packages defaulted by image.bbclass.
diff --git a/meta-phosphor/classes/obmc-phosphor-discovery-service.bbclass b/meta-phosphor/classes/obmc-phosphor-discovery-service.bbclass
index 48760f3..4afd9e0 100644
--- a/meta-phosphor/classes/obmc-phosphor-discovery-service.bbclass
+++ b/meta-phosphor/classes/obmc-phosphor-discovery-service.bbclass
@@ -13,11 +13,11 @@
     syscnfdir = d.getVar('sysconfdir', True)
     dest_dir = d.getVar('D', True)
 
-    set_append(d, 'AVAHI_SERVICES_DIR', os.path.join(
+    set_doappend(d, 'AVAHI_SERVICES_DIR', os.path.join(
         dest_dir+syscnfdir,
         'avahi',
         'services'))
-    set_append(d, 'SLP_SERVICES_DIR', os.path.join(
+    set_doappend(d, 'SLP_SERVICES_DIR', os.path.join(
         dest_dir+syscnfdir,
         'slp',
         'services'))
@@ -26,18 +26,18 @@
     for pkg in listvar_to_list(d, 'DISCOVERY_SVC_PACKAGES'):
         for service in listvar_to_list(d, 'REGISTERED_SERVICES_%s' % pkg):
             if avahi_enabled:
-                set_append(d, 'RRECOMMENDS_%s' % pkg, 'avahi-daemon')
+                set_doappend(d, 'RRECOMMENDS:%s' % pkg, 'avahi-daemon')
                 svc_name, svc_type, svc_port, svc_txt_data = service.split(':')
-                set_append(d, 'FILES_%s' % pkg, os.path.join(
+                set_doappend(d, 'FILES:%s' % pkg, os.path.join(
                     syscnfdir,
                     'avahi',
                     'services',
                     '%s.service' % svc_name))
 
             if slp_enabled:
-                set_append(d, 'RRECOMMENDS_%s' % pkg, 'slpd-lite')
+                set_doappend(d, 'RRECOMMENDS:%s' % pkg, 'slpd-lite')
                 svc_name, svc_type, svc_port, svc_txt_data = service.split(':')
-                set_append(d, 'FILES_%s' % pkg, os.path.join(
+                set_doappend(d, 'FILES:%s' % pkg, os.path.join(
                     syscnfdir,
                     'slp',
                     'services',
diff --git a/meta-phosphor/classes/obmc-phosphor-image.bbclass b/meta-phosphor/classes/obmc-phosphor-image.bbclass
index c83dce3..80c16d2 100644
--- a/meta-phosphor/classes/obmc-phosphor-image.bbclass
+++ b/meta-phosphor/classes/obmc-phosphor-image.bbclass
@@ -70,7 +70,7 @@
 # FIXME: phosphor-net-ipmi depends on phosphor-ipmi-host !?!? and
 # cannot be built on core-qemu machines because of the dependency
 # tree under phosphor-ipmi-host
-FEATURE_PACKAGES_obmc-net-ipmi_qemuall = ""
+FEATURE_PACKAGES_obmc-net-ipmi:qemuall = ""
 
 # Add new packages to be installed to a package group in
 # packagegroup-obmc-apps, not here.
diff --git a/meta-phosphor/classes/obmc-phosphor-kernel-version.bbclass b/meta-phosphor/classes/obmc-phosphor-kernel-version.bbclass
index 8fa8947..cc08dc3 100644
--- a/meta-phosphor/classes/obmc-phosphor-kernel-version.bbclass
+++ b/meta-phosphor/classes/obmc-phosphor-kernel-version.bbclass
@@ -1,4 +1,4 @@
-do_kernel_configme_append() {
+do_kernel_configme:append() {
     # Remove previous CONFIG_LOCALVERSION
     sed -i '/CONFIG_LOCALVERSION/d' ${B}/.config
 
diff --git a/meta-phosphor/classes/obmc-phosphor-py-daemon.bbclass b/meta-phosphor/classes/obmc-phosphor-py-daemon.bbclass
index e691263..09a5582 100644
--- a/meta-phosphor/classes/obmc-phosphor-py-daemon.bbclass
+++ b/meta-phosphor/classes/obmc-phosphor-py-daemon.bbclass
@@ -3,11 +3,11 @@
 inherit allarch
 inherit obmc-phosphor-systemd
 
-RDEPENDS_${PN} += "python3-dbus python3-pygobject"
+RDEPENDS:${PN} += "python3-dbus python3-pygobject"
 INSTALL_NAME ?= "${PN}"
 SCRIPT_NAME ?= "${INSTALL_NAME}.py"
 
-do_install_append() {
+do_install:append() {
         # install the script
         install -d ${D}${sbindir}
         install -m 0755 ${S}/${SCRIPT_NAME} ${D}${sbindir}/${INSTALL_NAME}
diff --git a/meta-phosphor/classes/obmc-phosphor-sdbus-service.bbclass b/meta-phosphor/classes/obmc-phosphor-sdbus-service.bbclass
index bc190d4..e4578e6 100644
--- a/meta-phosphor/classes/obmc-phosphor-sdbus-service.bbclass
+++ b/meta-phosphor/classes/obmc-phosphor-sdbus-service.bbclass
@@ -3,6 +3,6 @@
 # Class users should define DBUS_SERVICES prior to including.
 
 DEPENDS += "systemd"
-RDEPENDS_${PN} += "libsystemd"
+RDEPENDS:${PN} += "libsystemd"
 
 inherit obmc-phosphor-dbus-service
diff --git a/meta-phosphor/classes/obmc-phosphor-systemd.bbclass b/meta-phosphor/classes/obmc-phosphor-systemd.bbclass
index 740f6ec..baea3af 100644
--- a/meta-phosphor/classes/obmc-phosphor-systemd.bbclass
+++ b/meta-phosphor/classes/obmc-phosphor-systemd.bbclass
@@ -2,7 +2,7 @@
 #
 # Prior to inheriting this class, recipes can define services like this:
 #
-# SYSTEMD_SERVICE_${PN} = "foo.service bar.socket baz@.service"
+# SYSTEMD_SERVICE:${PN} = "foo.service bar.socket baz@.service"
 #
 # and these files will be added to the main package if they exist.
 #
@@ -56,7 +56,7 @@
 # If there are users to be added, we'll add them in our post-parse.
 # If not...there don't seem to be any ill effects...
 USERADD_PACKAGES ?= " "
-USERADD_PARAM_${PN} ?= ";"
+USERADD_PARAM:${PN} ?= ";"
 
 
 def SystemdUnit(unit):
@@ -136,7 +136,7 @@
                 'localstatedir',
                 'datadir',
                 'SYSTEMD_DEFAULT_TARGET' ]:
-            set_append(d, 'SYSTEMD_SUBSTITUTIONS',
+            set_doappend(d, 'SYSTEMD_SUBSTITUTIONS',
                 '%s:%s:%s' % (x, d.getVar(x, True), file))
 
 
@@ -148,9 +148,9 @@
 
         name = unit.name
         unit_dir = d.getVar('systemd_system_unitdir', True)
-        set_append(d, 'SRC_URI', 'file://%s' % name)
-        set_append(d, 'FILES_%s' % pkg, '%s/%s' % (unit_dir, name))
-        set_append(d, '_INSTALL_SD_UNITS', name)
+        set_doappend(d, 'SRC_URI', 'file://%s' % name)
+        set_doappend(d, 'FILES:%s' % pkg, '%s/%s' % (unit_dir, name))
+        set_doappend(d, '_INSTALL_SD_UNITS', name)
         add_default_subs(d, name)
 
 
@@ -173,38 +173,38 @@
                 bb.fatal('Too many users assigned to %s: \'%s\'' % (var, ' '.join(user)))
 
             user = user[0]
-            set_append(d, 'SYSTEMD_SUBSTITUTIONS',
+            set_doappend(d, 'SYSTEMD_SUBSTITUTIONS',
                 'USER:%s:%s' % (user, file))
-            if user not in d.getVar('USERADD_PARAM_%s' % pkg, True):
-                set_append(
+            if user not in d.getVar('USERADD_PARAM:%s' % pkg, True):
+                set_doappend(
                     d,
-                    'USERADD_PARAM_%s' % pkg,
+                    'USERADD_PARAM:%s' % pkg,
                     '%s' % (' '.join(opts + [user])),
                     ';')
             if pkg not in d.getVar('USERADD_PACKAGES', True):
-                set_append(d, 'USERADD_PACKAGES', pkg)
+                set_doappend(d, 'USERADD_PACKAGES', pkg)
 
 
     def add_env_file(d, name, pkg):
-        set_append(d, 'SRC_URI', 'file://%s' % name)
-        set_append(d, 'FILES_%s' % pkg, '%s/%s' \
+        set_doappend(d, 'SRC_URI', 'file://%s' % name)
+        set_doappend(d, 'FILES:%s' % pkg, '%s/%s' \
             % (d.getVar('envfiledir', True), name))
-        set_append(d, '_INSTALL_ENV_FILES', name)
+        set_doappend(d, '_INSTALL_ENV_FILES', name)
 
 
     def install_link(d, spec, pkg):
         tgt, dest = spec.split(':')
 
-        set_append(d, 'FILES_%s' % pkg, '%s/%s' \
+        set_doappend(d, 'FILES:%s' % pkg, '%s/%s' \
             % (d.getVar('systemd_system_unitdir', True), dest))
-        set_append(d, '_INSTALL_LINKS', spec)
+        set_doappend(d, '_INSTALL_LINKS', spec)
 
 
     def add_override(d, spec, pkg):
         tmpl, dest = spec.split(':')
-        set_append(d, '_INSTALL_OVERRIDES', '%s' % spec)
+        set_doappend(d, '_INSTALL_OVERRIDES', '%s' % spec)
         unit_dir = d.getVar('systemd_system_unitdir', True)
-        set_append(d, 'FILES_%s' % pkg, '%s/%s' % (unit_dir, dest))
+        set_doappend(d, 'FILES:%s' % pkg, '%s/%s' % (unit_dir, dest))
         add_default_subs(d, '%s' % dest)
         add_sd_user(d, '%s' % dest, pkg)
 
@@ -215,11 +215,11 @@
     d.appendVarFlag('do_install', 'postfuncs', ' systemd_do_postinst')
 
     pn = d.getVar('PN', True)
-    if d.getVar('SYSTEMD_SERVICE_%s' % pn, True) is None:
-        d.setVar('SYSTEMD_SERVICE_%s' % pn, '%s.service' % pn)
+    if d.getVar('SYSTEMD_SERVICE:%s' % pn, True) is None:
+        d.setVar('SYSTEMD_SERVICE:%s' % pn, '%s.service' % pn)
 
     for pkg in listvar_to_list(d, 'SYSTEMD_PACKAGES'):
-        svc = listvar_to_list(d, 'SYSTEMD_SERVICE_%s' % pkg)
+        svc = listvar_to_list(d, 'SYSTEMD_SERVICE:%s' % pkg)
         svc = [SystemdUnit(x) for x in svc]
         tmpl = [x.template for x in svc if x.is_instance]
         tmpl = list(set(tmpl))
@@ -329,7 +329,7 @@
 }
 
 
-do_install_append() {
+do_install:append() {
         # install systemd service/socket/template files
         [ -z "${_INSTALL_SD_UNITS}" ] || \
                 install -d ${D}${systemd_system_unitdir}
diff --git a/meta-phosphor/classes/obmc-phosphor-utils.bbclass b/meta-phosphor/classes/obmc-phosphor-utils.bbclass
index a8f7175..b0f1faf 100644
--- a/meta-phosphor/classes/obmc-phosphor-utils.bbclass
+++ b/meta-phosphor/classes/obmc-phosphor-utils.bbclass
@@ -1,4 +1,4 @@
-def set_append(d, var, val, sep=' '):
+def set_doappend(d, var, val, sep=' '):
     values = (d.getVar(var, True) or '').split(sep)
     if filter(bool, values):
         d.appendVar(var, '%s%s' %(sep, val))
diff --git a/meta-phosphor/classes/phosphor-dbus-yaml.bbclass b/meta-phosphor/classes/phosphor-dbus-yaml.bbclass
index 973c2bd..b42b349 100644
--- a/meta-phosphor/classes/phosphor-dbus-yaml.bbclass
+++ b/meta-phosphor/classes/phosphor-dbus-yaml.bbclass
@@ -1,4 +1,4 @@
 yaml_dir = "${datadir}/phosphor-dbus-yaml/yaml"
 
 PACKAGE_BEFORE_PN += "${PN}-yaml"
-FILES_${PN}-yaml += "${yaml_dir}"
+FILES:${PN}-yaml += "${yaml_dir}"
diff --git a/meta-phosphor/classes/phosphor-logging-yaml-provider.bbclass b/meta-phosphor/classes/phosphor-logging-yaml-provider.bbclass
index 89d031c..f51e262 100644
--- a/meta-phosphor/classes/phosphor-logging-yaml-provider.bbclass
+++ b/meta-phosphor/classes/phosphor-logging-yaml-provider.bbclass
@@ -2,7 +2,7 @@
 
 LOGGING_YAML_SUBDIRS ??= "${OBMC_ORG_YAML_SUBDIRS}"
 
-do_install_append() {
+do_install:append() {
     for yaml_d in ${LOGGING_YAML_SUBDIRS} ;
     do
         if [ ! -d ${S}/${yaml_d} ];
diff --git a/meta-phosphor/classes/phosphor-mapper.bbclass b/meta-phosphor/classes/phosphor-mapper.bbclass
index 3374a76..1ee95d7 100644
--- a/meta-phosphor/classes/phosphor-mapper.bbclass
+++ b/meta-phosphor/classes/phosphor-mapper.bbclass
@@ -13,13 +13,13 @@
 # or interfaces to the mapper watchlist.
 
 # Add service namespaces to be monitored:
-# PHOSPHOR_MAPPER_SERVICE_append = " foo.bar"
+# PHOSPHOR_MAPPER_SERVICE:append = " foo.bar"
 
 # Add interfaces to be monitored:
-# PHOSPHOR_MAPPER_INTERFACE_append = " foo.bar"
+# PHOSPHOR_MAPPER_INTERFACE:append = " foo.bar"
 
 # Blacklist services from being monitored:
-# PHOSPHOR_MAPPER_SERVICE_BLACKLIST_append = " foo.bar"
+# PHOSPHOR_MAPPER_SERVICE_BLACKLIST:append = " foo.bar"
 
 inherit phosphor-mapperdir
 inherit obmc-phosphor-utils
diff --git a/meta-phosphor/classes/phosphor-software-manager-mmc.bbclass b/meta-phosphor/classes/phosphor-software-manager-mmc.bbclass
index f30f0c0..479619c 100644
--- a/meta-phosphor/classes/phosphor-software-manager-mmc.bbclass
+++ b/meta-phosphor/classes/phosphor-software-manager-mmc.bbclass
@@ -1,18 +1,18 @@
 # eMMC-specific configuration for the phosphor-manager-software package
 
-PACKAGECONFIG_append = " mmc_layout"
+PACKAGECONFIG:append = " mmc_layout"
 
 EXTRA_OEMESON += "-Dactive-bmc-max-allowed=2"
 EXTRA_OEMESON += "-Dmedia-dir='/media'"
 EXTRA_OEMESON += "-Doptional-images='image-hostfw'"
 
-RDEPENDS_phosphor-software-manager-updater-mmc += " \
+RDEPENDS:phosphor-software-manager-updater-mmc += " \
     gptfdisk \
     parted \
     zstd \
 "
 
-SYSTEMD_SERVICE_phosphor-software-manager-updater-mmc += " \
+SYSTEMD_SERVICE:phosphor-software-manager-updater-mmc += " \
     obmc-flash-mmc@.service \
     obmc-flash-mmc-remove@.service \
     obmc-flash-mmc-setprimary@.service \
diff --git a/meta-phosphor/classes/phosphor-software-manager-ubi-fs.bbclass b/meta-phosphor/classes/phosphor-software-manager-ubi-fs.bbclass
index 6ca1fb1..71f8c6f 100644
--- a/meta-phosphor/classes/phosphor-software-manager-ubi-fs.bbclass
+++ b/meta-phosphor/classes/phosphor-software-manager-ubi-fs.bbclass
@@ -1,8 +1,8 @@
 # UBI-specific configuration for the phosphor-manager-software package
 
-PACKAGECONFIG_append = " ubifs_layout"
+PACKAGECONFIG:append = " ubifs_layout"
 
-RDEPENDS_phosphor-software-manager-updater-ubi += " \
+RDEPENDS:phosphor-software-manager-updater-ubi += " \
     mtd-utils-ubifs \
 "
 
@@ -10,7 +10,7 @@
 EXTRA_OEMESON += "-Dactive-bmc-max-allowed=2"
 EXTRA_OEMESON += "-Dmedia-dir='/media'"
 
-SYSTEMD_SERVICE_phosphor-software-manager-updater-ubi += " \
+SYSTEMD_SERVICE:phosphor-software-manager-updater-ubi += " \
     obmc-flash-bmc-ubirw.service \
     obmc-flash-bmc-ubiro@.service \
     obmc-flash-bmc-ubirw-remove.service \
@@ -28,7 +28,7 @@
 FLASH_SIZE ?= "32768"
 DISTROOVERRIDES .= ":flash-${FLASH_SIZE}"
 BMC_RW_SIZE ??= "0x600000"
-BMC_RW_SIZE_flash-131072 = "0x2000000"
+BMC_RW_SIZE:flash-131072 = "0x2000000"
 SYSTEMD_SUBSTITUTIONS += "RW_MTD:${BMC_RW_MTD}:obmc-flash-bmc-ubirw.service"
 SYSTEMD_SUBSTITUTIONS += "RO_MTD:${BMC_RO_MTD}:obmc-flash-bmc-ubiro@.service"
 SYSTEMD_SUBSTITUTIONS += "KERNEL_MTD:${BMC_KERNEL_MTD}:obmc-flash-bmc-ubiro@.service"
diff --git a/meta-phosphor/classes/skeleton-gdbus.bbclass b/meta-phosphor/classes/skeleton-gdbus.bbclass
index 75bfc83..77870a5 100644
--- a/meta-phosphor/classes/skeleton-gdbus.bbclass
+++ b/meta-phosphor/classes/skeleton-gdbus.bbclass
@@ -1,11 +1,11 @@
 inherit skeleton
 
-DEPENDS_append_class-target = " glib-2.0 obmc-libobmc-intf"
+DEPENDS:append:class-target = " glib-2.0 obmc-libobmc-intf"
 
-do_compile_class-native() {
+do_compile:class-native() {
     :
 }
 
-do_install_append_class-target() {
+do_install:append:class-target() {
         oe_runmake install DESTDIR=${D}
 }
diff --git a/meta-phosphor/classes/skeleton-python.bbclass b/meta-phosphor/classes/skeleton-python.bbclass
index b81edac..935aaed 100644
--- a/meta-phosphor/classes/skeleton-python.bbclass
+++ b/meta-phosphor/classes/skeleton-python.bbclass
@@ -1,14 +1,14 @@
 inherit setuptools3
 
-do_compile_class-native() {
+do_compile:class-native() {
     :
 }
 
-do_install_class-native() {
+do_install:class-native() {
     :
 }
 
-DEPENDS_append_class-target = " python"
+DEPENDS:append:class-target = " python"
 
 inherit skeleton
 inherit allarch
diff --git a/meta-phosphor/classes/skeleton-sdbus.bbclass b/meta-phosphor/classes/skeleton-sdbus.bbclass
index d6a1eab..c126b31 100644
--- a/meta-phosphor/classes/skeleton-sdbus.bbclass
+++ b/meta-phosphor/classes/skeleton-sdbus.bbclass
@@ -1,11 +1,11 @@
 inherit skeleton
 
-DEPENDS_append_class-target = " systemd"
+DEPENDS:append:class-target = " systemd"
 
-do_compile_class-native() {
+do_compile:class-native() {
     :
 }
 
-do_install_append_class-target() {
+do_install:append:class-target() {
         oe_runmake install DESTDIR=${D}
 }
