meta-arm.lists.yoctoproject.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/4] switch from :append to +=
@ 2023-02-16 10:56 Mikko Rapeli
  2023-02-16 10:56 ` [PATCH 1/4] meta-arm-bsp/conf: " Mikko Rapeli
                   ` (4 more replies)
  0 siblings, 5 replies; 7+ messages in thread
From: Mikko Rapeli @ 2023-02-16 10:56 UTC (permalink / raw)
  To: meta-arm; +Cc: Mikko Rapeli

When using meta-arm with product specific layers, it is hard to
update optee-os recipe to newer version while still using the main
recipe and include files from meta-arm. This is because meta-arm
recipe uses :append to apply changes to recipe variables and those can
not be easily overwritten in other layers via bbappends. Anything
added with :append can only be removed via explicit :remove for the same
string, e.g. patch file name which is not possible to know in advance.

If += is used in meta-arm side recipes, then bbappends in other layers
can overwrite the variables when they know better, for example when
updating optee-os recipe from version 3.19 to 3.20. This is done
in an optee-os_%.bbappend file by overwriting the SRC_URI,
PV and SRCREV variables.

This same pattern is used with a lot of variables so try to find and fix
all of them. Hopefully there are no regressions due to :append and +=
being applied in different order to the result variable.

Mikko Rapeli (4):
  meta-arm-bsp/conf: switch from :append to +=
  generic-arm64.conf: switch from :append to +=
  meta-arm: switch from :append to +=
  meta-arm-bsp: switch from :append to +=

 meta-arm-bsp/conf/machine/corstone500.conf    |  2 +-
 .../conf/machine/fvp-baser-aemv8r64.conf      |  4 +-
 .../conf/machine/include/corstone1000.inc     |  2 +-
 meta-arm-bsp/conf/machine/n1sdp.conf          |  2 +-
 meta-arm-bsp/conf/machine/sgi575.conf         |  2 +-
 ...oot-wrapper-aarch64-fvp-baser-aemv8r64.inc |  4 +-
 .../recipes-bsp/hafnium/hafnium-tc.inc        |  4 +-
 .../scp-firmware/scp-firmware-juno.inc        |  2 +-
 .../scp-firmware/scp-firmware-n1sdp.inc       |  2 +-
 .../trusted-firmware-a-corstone1000.inc       | 34 +++++------
 .../trusted-firmware-a-corstone500.inc        | 16 ++---
 .../trusted-firmware-a-fvp-arm32.inc          |  5 +-
 .../trusted-firmware-a-juno.inc               |  2 +-
 .../trusted-firmware-a-n1sdp.inc              | 18 +++---
 .../trusted-firmware-a-tc.inc                 |  4 +-
 .../recipes-bsp/uefi/edk2-firmware-n1sdp.inc  |  2 +-
 .../linux/linux-arm64-ack-clang.inc           |  2 +-
 .../recipes-kernel/linux/linux-yocto_5.19.bb  |  8 +--
 .../optee/optee-os-corstone1000-common.inc    |  6 +-
 .../recipes-security/optee/optee-os-n1sdp.inc |  4 +-
 meta-arm/conf/machine/generic-arm64.conf      |  2 +-
 .../trusted-firmware-a/trusted-firmware-a.inc |  8 +--
 .../recipes-kernel/linux/arm-ffa-5.15.inc     |  4 +-
 .../linux/arm-ffa-transport.inc               |  4 +-
 .../optee-ftpm/optee-os_%.bbappend            | 11 ++--
 .../recipes-security/optee/optee-os-3_19.inc  |  7 +--
 .../recipes-security/optee/optee-os-ts.inc    | 58 +++++++++----------
 meta-arm/recipes-security/optee/optee-os.inc  |  7 +--
 .../recipes-security/optee/optee-os_3.18.0.bb |  4 +-
 .../recipes-security/optee/optee-os_3.19.0.bb |  6 +-
 .../optee/optee-test_3.18.0.bb                |  4 +-
 .../trusted-services/trusted-services.inc     |  2 +-
 32 files changed, 118 insertions(+), 124 deletions(-)

-- 
2.34.1



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

* [PATCH 1/4] meta-arm-bsp/conf: switch from :append to +=
  2023-02-16 10:56 [PATCH 0/4] switch from :append to += Mikko Rapeli
@ 2023-02-16 10:56 ` Mikko Rapeli
  2023-02-16 10:56 ` [PATCH 2/4] generic-arm64.conf: " Mikko Rapeli
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 7+ messages in thread
From: Mikko Rapeli @ 2023-02-16 10:56 UTC (permalink / raw)
  To: meta-arm; +Cc: Mikko Rapeli

:append is hard to override in product specific layers so use +=
when possible.

Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org>
---
 meta-arm-bsp/conf/machine/corstone500.conf         | 2 +-
 meta-arm-bsp/conf/machine/fvp-baser-aemv8r64.conf  | 4 ++--
 meta-arm-bsp/conf/machine/include/corstone1000.inc | 2 +-
 meta-arm-bsp/conf/machine/n1sdp.conf               | 2 +-
 meta-arm-bsp/conf/machine/sgi575.conf              | 2 +-
 5 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/meta-arm-bsp/conf/machine/corstone500.conf b/meta-arm-bsp/conf/machine/corstone500.conf
index a599660c..0ade230c 100644
--- a/meta-arm-bsp/conf/machine/corstone500.conf
+++ b/meta-arm-bsp/conf/machine/corstone500.conf
@@ -29,7 +29,7 @@ UBOOT_IMAGE_LOADADDRESS = "0x84000000"
 PREFERRED_VERSION_u-boot ?= "2023.01"
 
 # making sure EXTRA_IMAGEDEPENDS will be used while creating the image
-WKS_FILE_DEPENDS:append = " ${EXTRA_IMAGEDEPENDS}"
+WKS_FILE_DEPENDS += "${EXTRA_IMAGEDEPENDS}"
 
 WKS_FILE ?= "core-image-minimal.corstone500.wks"
 
diff --git a/meta-arm-bsp/conf/machine/fvp-baser-aemv8r64.conf b/meta-arm-bsp/conf/machine/fvp-baser-aemv8r64.conf
index 0c2ea122..b4ca1259 100644
--- a/meta-arm-bsp/conf/machine/fvp-baser-aemv8r64.conf
+++ b/meta-arm-bsp/conf/machine/fvp-baser-aemv8r64.conf
@@ -18,11 +18,11 @@ UBOOT_MACHINE ?= "vexpress_aemv8r_defconfig"
 
 SERIAL_CONSOLES = "115200;ttyAMA0"
 
-IMAGE_CLASSES:append = " fvpboot"
+IMAGE_CLASSES += "fvpboot"
 IMAGE_FSTYPES += "wic"
 WKS_FILE ?= "efi-disk.wks.in"
 EFI_PROVIDER ?= "grub-efi"
-MACHINE_FEATURES:append = " efi"
+MACHINE_FEATURES += "efi"
 
 # As this is a virtual target that will not be used in the real world there is
 # no need for real SSH keys.
diff --git a/meta-arm-bsp/conf/machine/include/corstone1000.inc b/meta-arm-bsp/conf/machine/include/corstone1000.inc
index 7f25cd54..36beb2e0 100644
--- a/meta-arm-bsp/conf/machine/include/corstone1000.inc
+++ b/meta-arm-bsp/conf/machine/include/corstone1000.inc
@@ -70,7 +70,7 @@ PACKAGE_EXCLUDE = "kernel-image-*"
 SERIAL_CONSOLES ?= "115200;ttyAMA0"
 
 # making sure EXTRA_IMAGEDEPENDS will be used while creating the image
-WKS_FILE_DEPENDS:append = " ${EXTRA_IMAGEDEPENDS}"
+WKS_FILE_DEPENDS += "${EXTRA_IMAGEDEPENDS}"
 
 WKS_FILE ?= "corstone1000-image.corstone1000.wks"
 
diff --git a/meta-arm-bsp/conf/machine/n1sdp.conf b/meta-arm-bsp/conf/machine/n1sdp.conf
index 581e6af0..7544ad13 100644
--- a/meta-arm-bsp/conf/machine/n1sdp.conf
+++ b/meta-arm-bsp/conf/machine/n1sdp.conf
@@ -15,7 +15,7 @@ SERIAL_CONSOLES = "115200;ttyAMA0"
 # Set default WKS
 WKS_FILE ?= "n1sdp-efidisk.wks"
 IMAGE_EFI_BOOT_FILES ?= "n1sdp-multi-chip.dtb n1sdp-single-chip.dtb"
-WKS_FILE_DEPENDS:append = " ${EXTRA_IMAGEDEPENDS}"
+WKS_FILE_DEPENDS += "${EXTRA_IMAGEDEPENDS}"
 
 # Use kernel provided by yocto
 PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"
diff --git a/meta-arm-bsp/conf/machine/sgi575.conf b/meta-arm-bsp/conf/machine/sgi575.conf
index 3c2c94b6..b48e05e5 100644
--- a/meta-arm-bsp/conf/machine/sgi575.conf
+++ b/meta-arm-bsp/conf/machine/sgi575.conf
@@ -21,4 +21,4 @@ MACHINE_FEATURES += "efi"
 IMAGE_FSTYPES += "cpio.gz wic"
 
 WKS_FILE ?= "sgi575-efidisk.wks"
-WKS_FILE_DEPENDS:append = " ${EXTRA_IMAGEDEPENDS}"
+WKS_FILE_DEPENDS += "${EXTRA_IMAGEDEPENDS}"
-- 
2.34.1



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

* [PATCH 2/4] generic-arm64.conf: switch from :append to +=
  2023-02-16 10:56 [PATCH 0/4] switch from :append to += Mikko Rapeli
  2023-02-16 10:56 ` [PATCH 1/4] meta-arm-bsp/conf: " Mikko Rapeli
@ 2023-02-16 10:56 ` Mikko Rapeli
  2023-02-16 10:56 ` [PATCH 3/4] meta-arm: " Mikko Rapeli
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 7+ messages in thread
From: Mikko Rapeli @ 2023-02-16 10:56 UTC (permalink / raw)
  To: meta-arm; +Cc: Mikko Rapeli

:append is hard to override in product specific layers so use +=
when possible.

Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org>
---
 meta-arm/conf/machine/generic-arm64.conf | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta-arm/conf/machine/generic-arm64.conf b/meta-arm/conf/machine/generic-arm64.conf
index 2ee78056..34c1a413 100644
--- a/meta-arm/conf/machine/generic-arm64.conf
+++ b/meta-arm/conf/machine/generic-arm64.conf
@@ -15,4 +15,4 @@ IMAGE_FSTYPES ?= "wic"
 WKS_FILE ?= "efi-disk.wks.in"
 EFI_PROVIDER ?= "${@bb.utils.contains("DISTRO_FEATURES", "systemd", "systemd-boot", "grub-efi", d)}"
 
-MACHINE_FEATURES:append = " alsa bluetooth efi qemu-usermode rtc screen usbhost vfat wifi"
+MACHINE_FEATURES += "alsa bluetooth efi qemu-usermode rtc screen usbhost vfat wifi"
-- 
2.34.1



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

* [PATCH 3/4] meta-arm: switch from :append to +=
  2023-02-16 10:56 [PATCH 0/4] switch from :append to += Mikko Rapeli
  2023-02-16 10:56 ` [PATCH 1/4] meta-arm-bsp/conf: " Mikko Rapeli
  2023-02-16 10:56 ` [PATCH 2/4] generic-arm64.conf: " Mikko Rapeli
@ 2023-02-16 10:56 ` Mikko Rapeli
  2023-02-16 10:56 ` [PATCH 4/4] meta-arm-bsp: " Mikko Rapeli
  2023-02-16 11:15 ` [meta-arm] [PATCH 0/4] " Ross Burton
  4 siblings, 0 replies; 7+ messages in thread
From: Mikko Rapeli @ 2023-02-16 10:56 UTC (permalink / raw)
  To: meta-arm; +Cc: Mikko Rapeli

:append is hard to override in product specific layers so use +=
when possible.

Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org>
---
 .../trusted-firmware-a/trusted-firmware-a.inc |  8 +--
 .../recipes-kernel/linux/arm-ffa-5.15.inc     |  4 +-
 .../linux/arm-ffa-transport.inc               |  4 +-
 .../optee-ftpm/optee-os_%.bbappend            | 11 ++--
 .../recipes-security/optee/optee-os-3_19.inc  |  7 +--
 .../recipes-security/optee/optee-os-ts.inc    | 58 +++++++++----------
 meta-arm/recipes-security/optee/optee-os.inc  |  7 +--
 .../recipes-security/optee/optee-os_3.18.0.bb |  4 +-
 .../recipes-security/optee/optee-os_3.19.0.bb |  6 +-
 .../optee/optee-test_3.18.0.bb                |  4 +-
 .../trusted-services/trusted-services.inc     |  2 +-
 11 files changed, 55 insertions(+), 60 deletions(-)

diff --git a/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a.inc b/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a.inc
index b0533a1e..14c9ad69 100644
--- a/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a.inc
+++ b/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a.inc
@@ -51,12 +51,12 @@ SRC_URI_MBEDTLS ??= ""
 # This should be set to MBEDTLS LIC FILES checksum
 LIC_FILES_CHKSUM_MBEDTLS ??= ""
 # add MBEDTLS to our sources if activated
-SRC_URI:append = " ${@bb.utils.contains('TFA_MBEDTLS', '1', '${SRC_URI_MBEDTLS}', '', d)}"
+SRC_URI += "${@bb.utils.contains('TFA_MBEDTLS', '1', '${SRC_URI_MBEDTLS}', '', d)}"
 # Update license variables
-LICENSE:append = "${@bb.utils.contains('TFA_MBEDTLS', '1', ' & Apache-2.0', '', d)}"
-LIC_FILES_CHKSUM:append = "${@bb.utils.contains('TFA_MBEDTLS', '1', ' ${LIC_FILES_CHKSUM_MBEDTLS}', '', d)}"
+LICENSE += "${@bb.utils.contains('TFA_MBEDTLS', '1', ' & Apache-2.0', '', d)}"
+LIC_FILES_CHKSUM += "${@bb.utils.contains('TFA_MBEDTLS', '1', ' ${LIC_FILES_CHKSUM_MBEDTLS}', '', d)}"
 # add mbed TLS to version
-SRCREV_FORMAT:append = "${@bb.utils.contains('TFA_MBEDTLS', '1', '_mbedtls', '', d)}"
+SRCREV_FORMAT += "${@bb.utils.contains('TFA_MBEDTLS', '1', '_mbedtls', '', d)}"
 
 # U-boot support (set TFA_UBOOT to 1 to activate)
 # When U-Boot support is activated BL33 is activated with u-boot.bin file
diff --git a/meta-arm/recipes-kernel/linux/arm-ffa-5.15.inc b/meta-arm/recipes-kernel/linux/arm-ffa-5.15.inc
index bc66efbf..a46ba1ac 100644
--- a/meta-arm/recipes-kernel/linux/arm-ffa-5.15.inc
+++ b/meta-arm/recipes-kernel/linux/arm-ffa-5.15.inc
@@ -1,5 +1,5 @@
 # Include a backport kernel patch for TEE driver
 
-SRC_URI:append = " \
+SRC_URI += " \
     file://Add-sec_world_id-to-struct-tee_shm.patch \
-    "
+"
diff --git a/meta-arm/recipes-kernel/linux/arm-ffa-transport.inc b/meta-arm/recipes-kernel/linux/arm-ffa-transport.inc
index b3d377b4..27189ab1 100644
--- a/meta-arm/recipes-kernel/linux/arm-ffa-transport.inc
+++ b/meta-arm/recipes-kernel/linux/arm-ffa-transport.inc
@@ -1,6 +1,6 @@
 FILESEXTRAPATHS:prepend := "${ARMFILESPATHS}"
 
 # Enable ARM-FFA transport
-SRC_URI:append = " \
+SRC_URI += " \
     file://arm-ffa-transport.cfg \
-    "
+"
diff --git a/meta-arm/recipes-security/optee-ftpm/optee-os_%.bbappend b/meta-arm/recipes-security/optee-ftpm/optee-os_%.bbappend
index 40423615..8a17854c 100644
--- a/meta-arm/recipes-security/optee-ftpm/optee-os_%.bbappend
+++ b/meta-arm/recipes-security/optee-ftpm/optee-os_%.bbappend
@@ -1,13 +1,10 @@
 FTPM_UUID="bc50d971-d4c9-42c4-82cb-343fb7f37896"
 
-DEPENDS:append = "\
-                  ${@bb.utils.contains('MACHINE_FEATURES', \
-                 'optee-ftpm', \
-                 'optee-ftpm', \
-                 '' , \
-                 d)}"
+DEPENDS += "\
+    ${@bb.utils.contains('MACHINE_FEATURES', 'optee-ftpm', 'optee-ftpm', '' , d)} \
+"
 
-EXTRA_OEMAKE:append = "\
+EXTRA_OEMAKE += "\
                        ${@bb.utils.contains('MACHINE_FEATURES', \
                       'optee-ftpm', \
                       'CFG_EARLY_TA=y EARLY_TA_PATHS="${STAGING_DIR_TARGET}/lib/optee_armtz/${FTPM_UUID}.stripped.elf"', \
diff --git a/meta-arm/recipes-security/optee/optee-os-3_19.inc b/meta-arm/recipes-security/optee/optee-os-3_19.inc
index 61475dcf..00aa326d 100644
--- a/meta-arm/recipes-security/optee/optee-os-3_19.inc
+++ b/meta-arm/recipes-security/optee/optee-os-3_19.inc
@@ -16,13 +16,12 @@ DEPENDS = "python3-pyelftools-native python3-cryptography-native"
 
 DEPENDS:append:toolchain-clang = " compiler-rt"
 
-SRC_URI = "git://github.com/OP-TEE/optee_os.git;branch=master;protocol=https"
-
-SRC_URI:append = " \
+SRC_URI = "\
+    git://github.com/OP-TEE/optee_os.git;branch=master;protocol=https \
     file://0006-allow-setting-sysroot-for-libgcc-lookup.patch \
     file://0007-allow-setting-sysroot-for-clang.patch \
     file://0008-no-warn-rwx-segments.patch \
-   "
+"
 
 S = "${WORKDIR}/git"
 B = "${WORKDIR}/build"
diff --git a/meta-arm/recipes-security/optee/optee-os-ts.inc b/meta-arm/recipes-security/optee/optee-os-ts.inc
index 73b8c14f..60d9459c 100644
--- a/meta-arm/recipes-security/optee/optee-os-ts.inc
+++ b/meta-arm/recipes-security/optee/optee-os-ts.inc
@@ -10,45 +10,45 @@ TS_ENV = "opteesp"
 TS_BIN = "${RECIPE_SYSROOT}/usr/${TS_ENV}/bin"
 
 # ITS SP
-DEPENDS:append  = "${@bb.utils.contains('MACHINE_FEATURES', 'ts-its', \
-                                        ' ts-sp-its', '' , d)}"
-SP_PATHS:append = "${@bb.utils.contains('MACHINE_FEATURES', 'ts-its', \
-                                        ' ${TS_BIN}/${ITS_UUID}.stripped.elf', '', d)}"
+DEPENDS += "${@bb.utils.contains('MACHINE_FEATURES', 'ts-its', \
+                                 ' ts-sp-its', '' , d)}"
+SP_PATHS += "${@bb.utils.contains('MACHINE_FEATURES', 'ts-its', \
+                                  ' ${TS_BIN}/${ITS_UUID}.stripped.elf', '', d)}"
 
 # Storage SP
-DEPENDS:append  = "${@bb.utils.contains('MACHINE_FEATURES', 'ts-storage', \
-                                        ' ts-sp-storage', '' , d)}"
-SP_PATHS:append = "${@bb.utils.contains('MACHINE_FEATURES', 'ts-storage', \
-                                        ' ${TS_BIN}/${STORAGE_UUID}.stripped.elf', '', d)}"
+DEPENDS += "${@bb.utils.contains('MACHINE_FEATURES', 'ts-storage', \
+                                 ' ts-sp-storage', '' , d)}"
+SP_PATHS += "${@bb.utils.contains('MACHINE_FEATURES', 'ts-storage', \
+                                  ' ${TS_BIN}/${STORAGE_UUID}.stripped.elf', '', d)}"
 
 # Crypto SP.
-DEPENDS:append  = "${@bb.utils.contains('MACHINE_FEATURES', 'ts-crypto', \
-                                        ' ts-sp-crypto', '' , d)}"
-SP_PATHS:append = "${@bb.utils.contains('MACHINE_FEATURES', 'ts-crypto', \
-                                        ' ${TS_BIN}/${CRYPTO_UUID}.stripped.elf', '', d)}"
+DEPENDS += "${@bb.utils.contains('MACHINE_FEATURES', 'ts-crypto', \
+                                 ' ts-sp-crypto', '' , d)}"
+SP_PATHS += "${@bb.utils.contains('MACHINE_FEATURES', 'ts-crypto', \
+                                  ' ${TS_BIN}/${CRYPTO_UUID}.stripped.elf', '', d)}"
 
 # Attestation SP
-DEPENDS:append  = "${@bb.utils.contains('MACHINE_FEATURES', 'ts-attestation', \
-                                        ' ts-sp-attestation', '' , d)}"
-SP_PATHS:append = "${@bb.utils.contains('MACHINE_FEATURES', 'ts-attestation', \
-                                        ' ${TS_BIN}/${ATTESTATION_UUID}.stripped.elf', '', d)}"
+DEPENDS += "${@bb.utils.contains('MACHINE_FEATURES', 'ts-attestation', \
+                                 ' ts-sp-attestation', '' , d)}"
+SP_PATHS += "${@bb.utils.contains('MACHINE_FEATURES', 'ts-attestation', \
+                                  ' ${TS_BIN}/${ATTESTATION_UUID}.stripped.elf', '', d)}"
 
 # Env-test SP
-DEPENDS:append  = "${@bb.utils.contains('MACHINE_FEATURES', 'ts-env-test', \
-                                        ' ts-sp-env-test', '' , d)}"
-SP_PATHS:append = "${@bb.utils.contains('MACHINE_FEATURES', 'ts-env-test', \
-                                        ' ${TS_BIN}/${ENV_TEST_UUID}.stripped.elf', '', d)}"
+DEPENDS += "${@bb.utils.contains('MACHINE_FEATURES', 'ts-env-test', \
+                                 ' ts-sp-env-test', '' , d)}"
+SP_PATHS += "${@bb.utils.contains('MACHINE_FEATURES', 'ts-env-test', \
+                                  ' ${TS_BIN}/${ENV_TEST_UUID}.stripped.elf', '', d)}"
 
 # SE-Proxy SP
-DEPENDS:append  = "${@bb.utils.contains('MACHINE_FEATURES', 'ts-se-proxy', \
-                                        ' ts-sp-se-proxy', '' , d)}"
-SP_PATHS:append = "${@bb.utils.contains('MACHINE_FEATURES', 'ts-se-proxy', \
-                                        ' ${TS_BIN}/${SE_PROXY_UUID}.stripped.elf', '', d)}"
+DEPENDS += "${@bb.utils.contains('MACHINE_FEATURES', 'ts-se-proxy', \
+                                 ' ts-sp-se-proxy', '' , d)}"
+SP_PATHS += "${@bb.utils.contains('MACHINE_FEATURES', 'ts-se-proxy', \
+                                 ' ${TS_BIN}/${SE_PROXY_UUID}.stripped.elf', '', d)}"
 
 # SMM Gateway
-DEPENDS:append  = "${@bb.utils.contains('MACHINE_FEATURES', 'ts-smm-gateway', \
-                                        ' ts-sp-smm-gateway', '' , d)}"
-SP_PATHS:append = "${@bb.utils.contains('MACHINE_FEATURES', 'ts-smm-gateway', \
-                                        ' ${TS_BIN}/${SMM_GATEWAY_UUID}.stripped.elf', '', d)}"
+DEPENDS += "${@bb.utils.contains('MACHINE_FEATURES', 'ts-smm-gateway', \
+                                 ' ts-sp-smm-gateway', '' , d)}"
+SP_PATHS += "${@bb.utils.contains('MACHINE_FEATURES', 'ts-smm-gateway', \
+                                  ' ${TS_BIN}/${SMM_GATEWAY_UUID}.stripped.elf', '', d)}"
 
-EXTRA_OEMAKE:append = "${@oe.utils.conditional('SP_PATHS', '', '', ' CFG_SECURE_PARTITION=y SP_PATHS="${SP_PATHS}" ', d)}"
+EXTRA_OEMAKE += "${@oe.utils.conditional('SP_PATHS', '', '', ' CFG_SECURE_PARTITION=y SP_PATHS="${SP_PATHS}" ', d)}"
diff --git a/meta-arm/recipes-security/optee/optee-os.inc b/meta-arm/recipes-security/optee/optee-os.inc
index a03ea6a3..8c29ec95 100644
--- a/meta-arm/recipes-security/optee/optee-os.inc
+++ b/meta-arm/recipes-security/optee/optee-os.inc
@@ -14,13 +14,12 @@ DEPENDS = "python3-pyelftools-native python3-cryptography-native"
 
 DEPENDS:append:toolchain-clang = " compiler-rt"
 
-SRC_URI = "git://github.com/OP-TEE/optee_os.git;branch=master;protocol=https"
-
-SRC_URI:append = " \
+SRC_URI = " \
+    git://github.com/OP-TEE/optee_os.git;branch=master;protocol=https \
     file://0006-allow-setting-sysroot-for-libgcc-lookup.patch \
     file://0007-allow-setting-sysroot-for-clang.patch \
     file://0008-no-warn-rwx-segments.patch \
-   "
+"
 
 S = "${WORKDIR}/git"
 B = "${WORKDIR}/build"
diff --git a/meta-arm/recipes-security/optee/optee-os_3.18.0.bb b/meta-arm/recipes-security/optee/optee-os_3.18.0.bb
index 31da5ded..9369ad62 100644
--- a/meta-arm/recipes-security/optee/optee-os_3.18.0.bb
+++ b/meta-arm/recipes-security/optee/optee-os_3.18.0.bb
@@ -5,8 +5,8 @@ DEPENDS += "dtc-native"
 FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}-3.18.0:"
 
 SRCREV = "1ee647035939e073a2e8dddb727c0f019cc035f1"
-SRC_URI:append = " \
+SRC_URI += " \
     file://0001-core-Define-section-attributes-for-clang.patch \
     file://0009-add-z-execstack.patch \
     file://0010-add-note-GNU-stack-section.patch \
-   "
+"
diff --git a/meta-arm/recipes-security/optee/optee-os_3.19.0.bb b/meta-arm/recipes-security/optee/optee-os_3.19.0.bb
index 656a0974..3683308c 100644
--- a/meta-arm/recipes-security/optee/optee-os_3.19.0.bb
+++ b/meta-arm/recipes-security/optee/optee-os_3.19.0.bb
@@ -4,6 +4,6 @@ DEPENDS += "dtc-native"
 
 SRCREV = "afacf356f9593a7f83cae9f96026824ec242ff52"
 
-SRC_URI:append = " \
-    file://0001-core-Define-section-attributes-for-clang.patch \ 
-    "
+SRC_URI += " \
+    file://0001-core-Define-section-attributes-for-clang.patch \
+"
diff --git a/meta-arm/recipes-security/optee/optee-test_3.18.0.bb b/meta-arm/recipes-security/optee/optee-test_3.18.0.bb
index 05706876..457e540d 100644
--- a/meta-arm/recipes-security/optee/optee-test_3.18.0.bb
+++ b/meta-arm/recipes-security/optee/optee-test_3.18.0.bb
@@ -1,8 +1,8 @@
 require optee-test.inc
 
-SRC_URI:append = " \
+SRC_URI += " \
     file://musl-workaround.patch \
-   "
+"
 SRCREV = "da5282a011b40621a2cf7a296c11a35c833ed91b"
 
 EXTRA_OEMAKE:append:libc-musl = " OPTEE_OPENSSL_EXPORT=${STAGING_INCDIR}"
diff --git a/meta-arm/recipes-security/trusted-services/trusted-services.inc b/meta-arm/recipes-security/trusted-services/trusted-services.inc
index c64a1d41..e21c8f9d 100644
--- a/meta-arm/recipes-security/trusted-services/trusted-services.inc
+++ b/meta-arm/recipes-security/trusted-services/trusted-services.inc
@@ -13,7 +13,7 @@ require trusted-services-src.inc
 
 # By default bitbake includes only ${S} (i.e git/trusted-services) in the maps.
 # We also need to include the TS dependencies source trees.
-DEBUG_PREFIX_MAP:append = "-fmacro-prefix-map=${WORKDIR}/git=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR} \
+DEBUG_PREFIX_MAP += "-fmacro-prefix-map=${WORKDIR}/git=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR} \
  -fdebug-prefix-map=${WORKDIR}/git=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR} \
 "
 
-- 
2.34.1



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

* [PATCH 4/4] meta-arm-bsp: switch from :append to +=
  2023-02-16 10:56 [PATCH 0/4] switch from :append to += Mikko Rapeli
                   ` (2 preceding siblings ...)
  2023-02-16 10:56 ` [PATCH 3/4] meta-arm: " Mikko Rapeli
@ 2023-02-16 10:56 ` Mikko Rapeli
  2023-02-16 11:15 ` [meta-arm] [PATCH 0/4] " Ross Burton
  4 siblings, 0 replies; 7+ messages in thread
From: Mikko Rapeli @ 2023-02-16 10:56 UTC (permalink / raw)
  To: meta-arm; +Cc: Mikko Rapeli

:append is hard to override in product specific layers so use +=
when possible.

Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org>
---
 ...oot-wrapper-aarch64-fvp-baser-aemv8r64.inc |  4 +--
 .../recipes-bsp/hafnium/hafnium-tc.inc        |  4 +--
 .../scp-firmware/scp-firmware-juno.inc        |  2 +-
 .../scp-firmware/scp-firmware-n1sdp.inc       |  2 +-
 .../trusted-firmware-a-corstone1000.inc       | 34 +++++++++----------
 .../trusted-firmware-a-corstone500.inc        | 16 ++++-----
 .../trusted-firmware-a-fvp-arm32.inc          |  5 ++-
 .../trusted-firmware-a-juno.inc               |  2 +-
 .../trusted-firmware-a-n1sdp.inc              | 18 +++++-----
 .../trusted-firmware-a-tc.inc                 |  4 +--
 .../recipes-bsp/uefi/edk2-firmware-n1sdp.inc  |  2 +-
 .../linux/linux-arm64-ack-clang.inc           |  2 +-
 .../recipes-kernel/linux/linux-yocto_5.19.bb  |  8 ++---
 .../optee/optee-os-corstone1000-common.inc    |  6 ++--
 .../recipes-security/optee/optee-os-n1sdp.inc |  4 +--
 15 files changed, 56 insertions(+), 57 deletions(-)

diff --git a/meta-arm-bsp/recipes-bsp/boot-wrapper-aarch64/boot-wrapper-aarch64-fvp-baser-aemv8r64.inc b/meta-arm-bsp/recipes-bsp/boot-wrapper-aarch64/boot-wrapper-aarch64-fvp-baser-aemv8r64.inc
index 8ffa0aa2..4f9a98e2 100644
--- a/meta-arm-bsp/recipes-bsp/boot-wrapper-aarch64/boot-wrapper-aarch64-fvp-baser-aemv8r64.inc
+++ b/meta-arm-bsp/recipes-bsp/boot-wrapper-aarch64/boot-wrapper-aarch64-fvp-baser-aemv8r64.inc
@@ -1,7 +1,7 @@
 COMPATIBLE_MACHINE = "fvp-baser-aemv8r64"
 
 FILESEXTRAPATHS:prepend := "${THISDIR}/files/${MACHINE}:"
-SRC_URI:append = " \
+SRC_URI += " \
     file://0001-aarch64-Rename-labels-and-prepare-for-lower-EL-booti.patch \
     file://0002-aarch64-Prepare-for-EL1-booting.patch \
     file://0003-aarch64-Prepare-for-lower-EL-booting.patch \
@@ -23,7 +23,7 @@ SRC_URI:append = " \
     file://0019-lds-Rearrange-and-mark-the-sections.patch \
     file://0020-common-Provide-firmware-info-using-libfdt.patch \
     file://0021-boot-Enable-firmware-node-initialization.patch \
-    "
+"
 
 BOOT_WRAPPER_AARCH64_CMDLINE = "\
 earlycon console=ttyAMA0 loglevel=8 rootfstype=ext4 root=/dev/vda1 rw"
diff --git a/meta-arm-bsp/recipes-bsp/hafnium/hafnium-tc.inc b/meta-arm-bsp/recipes-bsp/hafnium/hafnium-tc.inc
index 433d5612..e38e5c19 100644
--- a/meta-arm-bsp/recipes-bsp/hafnium/hafnium-tc.inc
+++ b/meta-arm-bsp/recipes-bsp/hafnium/hafnium-tc.inc
@@ -11,14 +11,14 @@ FILESEXTRAPATHS:prepend:tc := "${THISDIR}/files/tc:"
 
 SRC_URI:remove = "file://0003-Fix-build-with-clang-15.patch"
 
-SRC_URI:append = " \
+SRC_URI += " \
         file://0001-feat-emulate-cntp-timer-register-accesses-using-cnth.patch \
         file://0002-feat-emulate-interrupt-controller-register-access.patch \
         file://0003-feat-disable-alignment-check-for-EL0-partitions.patch \
         file://0004-feat-vhe-set-STAGE1_NS-while-mapping-memory-from-NWd.patch \
         file://0001-tc-increase-heap-pages.patch;patchdir=project/reference \
         file://0002-feat-vhe-enable-vhe-and-disable-branch-protection-fo.patch;patchdir=project/reference \
-        "
+"
 
 do_compile() {
     PATH="${S}/prebuilts/linux-x64/clang/bin:$PATH" oe_runmake -C ${S}
diff --git a/meta-arm-bsp/recipes-bsp/scp-firmware/scp-firmware-juno.inc b/meta-arm-bsp/recipes-bsp/scp-firmware/scp-firmware-juno.inc
index ea2faceb..76062631 100644
--- a/meta-arm-bsp/recipes-bsp/scp-firmware/scp-firmware-juno.inc
+++ b/meta-arm-bsp/recipes-bsp/scp-firmware/scp-firmware-juno.inc
@@ -4,7 +4,7 @@ COMPATIBLE_MACHINE = "juno"
 
 SCP_PLATFORM = "juno"
 FW_TARGETS = "scp"
-FW_INSTALL:append = " romfw_bypass"
+FW_INSTALL += "romfw_bypass"
 
 do_install:append() {
     for TYPE in ${FW_INSTALL}; do
diff --git a/meta-arm-bsp/recipes-bsp/scp-firmware/scp-firmware-n1sdp.inc b/meta-arm-bsp/recipes-bsp/scp-firmware/scp-firmware-n1sdp.inc
index 85f89a01..3c7aeb27 100644
--- a/meta-arm-bsp/recipes-bsp/scp-firmware/scp-firmware-n1sdp.inc
+++ b/meta-arm-bsp/recipes-bsp/scp-firmware/scp-firmware-n1sdp.inc
@@ -14,7 +14,7 @@ DEPENDS += "n1sdp-board-firmware"
 
 # The n1sdp sensor library is needed for building SCP N1SDP Platform
 # https://github.com/ARM-software/SCP-firmware/tree/master/product/n1sdp
-EXTRA_OECMAKE:append = " \
+EXTRA_OECMAKE += " \
     -DSCP_N1SDP_SENSOR_LIB_PATH=${RECIPE_SYSROOT}/n1sdp-board-firmware_source/LIB/sensor.a \
 "
 
diff --git a/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-corstone1000.inc b/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-corstone1000.inc
index 3034680d..9a20ec49 100644
--- a/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-corstone1000.inc
+++ b/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-corstone1000.inc
@@ -4,9 +4,9 @@ COMPATIBLE_MACHINE = "(corstone1000)"
 
 FILESEXTRAPATHS:prepend := "${THISDIR}/files/corstone1000:"
 
-SRC_URI:append = " \ 
+SRC_URI += " \
 	file://0001-Fix-FF-A-version-in-SPMC-manifest.patch \
-	"
+"
 
 TFA_DEBUG = "1"
 TFA_UBOOT ?= "1"
@@ -22,18 +22,18 @@ TFA_SPMD_SPM_AT_SEL2 = "0"
 # BL2 loads BL32 (optee). So, optee needs to be built first:
 DEPENDS += "optee-os"
 
-EXTRA_OEMAKE:append = " \
-                        ARCH=aarch64 \
-                        TARGET_PLATFORM=${TFA_TARGET_PLATFORM} \
-                        ENABLE_STACK_PROTECTOR=strong \
-                        ENABLE_PIE=1 \
-                        BL2_AT_EL3=1 \
-                        CREATE_KEYS=1 \
-                        GENERATE_COT=1 \
-                        TRUSTED_BOARD_BOOT=1 \
-                        COT=tbbr \
-                        ARM_ROTPK_LOCATION=devel_rsa  \
-                        ROT_KEY=plat/arm/board/common/rotpk/arm_rotprivk_rsa.pem \
-                        BL32=${RECIPE_SYSROOT}/lib/firmware/tee-pager_v2.bin \
-                        LOG_LEVEL=50 \
-                        "
+EXTRA_OEMAKE += " \
+    ARCH=aarch64 \
+    TARGET_PLATFORM=${TFA_TARGET_PLATFORM} \
+    ENABLE_STACK_PROTECTOR=strong \
+    ENABLE_PIE=1 \
+    BL2_AT_EL3=1 \
+    CREATE_KEYS=1 \
+    GENERATE_COT=1 \
+    TRUSTED_BOARD_BOOT=1 \
+    COT=tbbr \
+    ARM_ROTPK_LOCATION=devel_rsa  \
+    ROT_KEY=plat/arm/board/common/rotpk/arm_rotprivk_rsa.pem \
+    BL32=${RECIPE_SYSROOT}/lib/firmware/tee-pager_v2.bin \
+    LOG_LEVEL=50 \
+"
diff --git a/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-corstone500.inc b/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-corstone500.inc
index acd9e3db..97c536c3 100644
--- a/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-corstone500.inc
+++ b/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-corstone500.inc
@@ -7,11 +7,11 @@ TFA_UBOOT = "1"
 TFA_BUILD_TARGET = "all fip"
 TFA_INSTALL_TARGET = "bl1.bin fip.bin"
 
-EXTRA_OEMAKE:append = " \
-                    ARCH=aarch32 \
-                    FVP_HW_CONFIG_DTS=fdts/a5ds.dts \
-                    ARM_ARCH_MAJOR=7 \
-                    AARCH32_SP=sp_min \
-                    ARM_CORTEX_A5=yes \
-                    ARM_XLAT_TABLES_LIB_V1=1 \
-                    "
+EXTRA_OEMAKE += " \
+    ARCH=aarch32 \
+    FVP_HW_CONFIG_DTS=fdts/a5ds.dts \
+    ARM_ARCH_MAJOR=7 \
+    AARCH32_SP=sp_min \
+    ARM_CORTEX_A5=yes \
+    ARM_XLAT_TABLES_LIB_V1=1 \
+"
diff --git a/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-fvp-arm32.inc b/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-fvp-arm32.inc
index fdaadb9f..ff0c43a3 100644
--- a/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-fvp-arm32.inc
+++ b/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-fvp-arm32.inc
@@ -5,8 +5,7 @@ TFA_PLATFORM = "fvp"
 TFA_UBOOT = "1"
 TFA_BUILD_TARGET = "dtbs bl1 bl32 fip"
 
-EXTRA_OEMAKE:append = " \
+EXTRA_OEMAKE += " \
     ARCH=aarch32 \
     AARCH32_SP=sp_min \
-    "
-
+"
diff --git a/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-juno.inc b/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-juno.inc
index 3ddd8cb5..3395b41c 100644
--- a/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-juno.inc
+++ b/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-juno.inc
@@ -10,4 +10,4 @@ TFA_BUILD_TARGET = "bl1 bl2 bl31 dtbs fip"
 # Juno needs the System Control Processor Firmware
 DEPENDS += "virtual/control-processor-firmware"
 
-EXTRA_OEMAKE:append = " SCP_BL2=${RECIPE_SYSROOT}/firmware/scp_ramfw.bin"
+EXTRA_OEMAKE += "SCP_BL2=${RECIPE_SYSROOT}/firmware/scp_ramfw.bin"
diff --git a/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-n1sdp.inc b/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-n1sdp.inc
index 9fb567fa..3a8eb56e 100644
--- a/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-n1sdp.inc
+++ b/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-n1sdp.inc
@@ -24,12 +24,12 @@ TFA_SPMD_SPM_AT_SEL2 = "0"
 # BL2 loads BL32 (optee). So, optee needs to be built first:
 DEPENDS += "optee-os"
 
-EXTRA_OEMAKE:append = "\
-                    TRUSTED_BOARD_BOOT=1 \
-		    GENERATE_COT=1 \
-		    CREATE_KEYS=1 \
-		    ARM_ROTPK_LOCATION="devel_rsa" \
-		    ROT_KEY="${TFA_ROT_KEY}" \
-		    BL32=${RECIPE_SYSROOT}/lib/firmware/tee-pager_v2.bin \
-		    BL33=${RECIPE_SYSROOT}/firmware/uefi.bin \
-		    "
+EXTRA_OEMAKE += "\
+    TRUSTED_BOARD_BOOT=1 \
+    GENERATE_COT=1 \
+    CREATE_KEYS=1 \
+    ARM_ROTPK_LOCATION="devel_rsa" \
+    ROT_KEY="${TFA_ROT_KEY}" \
+    BL32=${RECIPE_SYSROOT}/lib/firmware/tee-pager_v2.bin \
+    BL33=${RECIPE_SYSROOT}/firmware/uefi.bin \
+"
diff --git a/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-tc.inc b/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-tc.inc
index 301f97c8..2069593d 100644
--- a/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-tc.inc
+++ b/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-tc.inc
@@ -7,7 +7,7 @@ PV = "2.7+git${SRCPV}"
 DEPENDS += "scp-firmware util-linux-native gptfdisk-native"
 
 FILESEXTRAPATHS:prepend := "${THISDIR}/files/tc:"
-SRC_URI:append = " \
+SRC_URI += " \
     file://0001-plat-tc-Increase-maximum-BL2-size.patch \
     file://0002-Makefile-add-trusty_sp_fw_config-build-option.patch \
     file://0003-fix-plat-arm-increase-sp-max-image-size.patch \
@@ -18,7 +18,7 @@ SRC_URI:append = " \
     file://0008-feat-plat-tc-add-firmware-update-secure-partition.patch \
     file://0009-feat-plat-tc-reserve-4-MB-for-stmm-communication-use.patch \
     file://generate_metadata.py \
-    "
+"
 
 COMPATIBLE_MACHINE = "(tc?)"
 
diff --git a/meta-arm-bsp/recipes-bsp/uefi/edk2-firmware-n1sdp.inc b/meta-arm-bsp/recipes-bsp/uefi/edk2-firmware-n1sdp.inc
index 629ea049..66411c24 100644
--- a/meta-arm-bsp/recipes-bsp/uefi/edk2-firmware-n1sdp.inc
+++ b/meta-arm-bsp/recipes-bsp/uefi/edk2-firmware-n1sdp.inc
@@ -18,7 +18,7 @@ EFI_BOOT_IMAGE     = "bootaa64.efi"
 
 FILESEXTRAPATHS:prepend := "${THISDIR}/files/edk2-platforms:"
 
-SRC_URI:append = "\
+SRC_URI += "\
     file://0001-Platform-ARM-N1sdp-Add-support-to-parse-NT_FW_CONFIG.patch;patchdir=edk2-platforms \
     file://0002-Platform-ARM-N1Sdp-Fix-RemoteDdrSize-cast.patch;patchdir=edk2-platforms            \
     file://0003-Platform-ARM-N1Sdp-Modify-the-IRQ-ID-of-Debug-UART-a.patch;patchdir=edk2-platforms \
diff --git a/meta-arm-bsp/recipes-kernel/linux/linux-arm64-ack-clang.inc b/meta-arm-bsp/recipes-kernel/linux/linux-arm64-ack-clang.inc
index c5b74634..0ddb4f95 100644
--- a/meta-arm-bsp/recipes-kernel/linux/linux-arm64-ack-clang.inc
+++ b/meta-arm-bsp/recipes-kernel/linux/linux-arm64-ack-clang.inc
@@ -3,6 +3,6 @@
 # We need to add this dependency as the kernel configuration depends on the compiler
 do_kernel_configme[depends] += "androidclang-native:do_populate_sysroot"
 
-DEPENDS:append = " androidclang-native"
+DEPENDS += "androidclang-native"
 
 KERNEL_CC = "${CCACHE}clang ${HOST_CC_KERNEL_ARCH}"
diff --git a/meta-arm-bsp/recipes-kernel/linux/linux-yocto_5.19.bb b/meta-arm-bsp/recipes-kernel/linux/linux-yocto_5.19.bb
index 3bd4c756..dc6fbb84 100644
--- a/meta-arm-bsp/recipes-kernel/linux/linux-yocto_5.19.bb
+++ b/meta-arm-bsp/recipes-kernel/linux/linux-yocto_5.19.bb
@@ -22,7 +22,7 @@ KCONF_BSP_AUDIT_LEVEL = "1"
 
 # Functionality flags
 KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc"
-KERNEL_FEATURES:append = " ${KERNEL_EXTRA_FEATURES}"
-KERNEL_FEATURES:append = " ${@bb.utils.contains("TUNE_FEATURES", "mx32", " cfg/x32.scc", "", d)}"
-KERNEL_FEATURES:append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/scsi/scsi-debug.scc", "", d)}"
-KERNEL_FEATURES:append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/gpio/mockup.scc", "", d)}"
+KERNEL_FEATURES += "${KERNEL_EXTRA_FEATURES}"
+KERNEL_FEATURES += "${@bb.utils.contains("TUNE_FEATURES", "mx32", " cfg/x32.scc", "", d)}"
+KERNEL_FEATURES += "${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/scsi/scsi-debug.scc", "", d)}"
+KERNEL_FEATURES += "${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/gpio/mockup.scc", "", d)}"
diff --git a/meta-arm-bsp/recipes-security/optee/optee-os-corstone1000-common.inc b/meta-arm-bsp/recipes-security/optee/optee-os-corstone1000-common.inc
index c54e0041..876e98db 100644
--- a/meta-arm-bsp/recipes-security/optee/optee-os-corstone1000-common.inc
+++ b/meta-arm-bsp/recipes-security/optee/optee-os-corstone1000-common.inc
@@ -6,9 +6,9 @@ SRC_URI:remove = " \
                  "
 
 FILESEXTRAPATHS:prepend := "${THISDIR}/files/optee-os/corstone1000:"
-SRC_URI:append = " \
-                  file://0004-Handle-logging-syscall.patch \
-		  "
+SRC_URI += " \
+    file://0004-Handle-logging-syscall.patch \
+"
 
 COMPATIBLE_MACHINE = "corstone1000"
 
diff --git a/meta-arm-bsp/recipes-security/optee/optee-os-n1sdp.inc b/meta-arm-bsp/recipes-security/optee/optee-os-n1sdp.inc
index a40c93dc..fd42841f 100644
--- a/meta-arm-bsp/recipes-security/optee/optee-os-n1sdp.inc
+++ b/meta-arm-bsp/recipes-security/optee/optee-os-n1sdp.inc
@@ -5,14 +5,14 @@ require optee-os-generic-n1sdp.inc
 TS_INSTALL_PREFIX_PATH = "${RECIPE_SYSROOT}/firmware/sp/opteesp"
 
 FILESEXTRAPATHS:prepend := "${THISDIR}/files/optee-os/n1sdp:"
-SRC_URI:append = " \
+SRC_URI += " \
     file://0001-core-arm-add-MPIDR-affinity-shift-and-mask-for-32-bi.patch \
     file://0002-plat-n1sdp-add-N1SDP-platform-support.patch \
     file://0003-HACK-disable-instruction-cache-and-data-cache.patch \
     file://0004-Handle-logging-syscall.patch \
     file://0005-plat-n1sdp-register-DRAM1-to-optee-os.patch \
     file://0006-plat-n1sdp-add-external-device-tree-base-and-size.patch \
-    "
+"
 
 EXTRA_OEMAKE += " CFG_TEE_CORE_LOG_LEVEL=4"
 
-- 
2.34.1



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

* Re: [meta-arm] [PATCH 0/4] switch from :append to +=
  2023-02-16 10:56 [PATCH 0/4] switch from :append to += Mikko Rapeli
                   ` (3 preceding siblings ...)
  2023-02-16 10:56 ` [PATCH 4/4] meta-arm-bsp: " Mikko Rapeli
@ 2023-02-16 11:15 ` Ross Burton
  2023-02-16 11:27   ` Mikko Rapeli
  4 siblings, 1 reply; 7+ messages in thread
From: Ross Burton @ 2023-02-16 11:15 UTC (permalink / raw)
  To: Mikko Rapeli; +Cc: meta-arm

On 16 Feb 2023, at 10:56, Mikko Rapeli via lists.yoctoproject.org <mikko.rapeli=linaro.org@lists.yoctoproject.org> wrote:
> This same pattern is used with a lot of variables so try to find and fix
> all of them. Hopefully there are no regressions due to :append and +=
> being applied in different order to the result variable.

That’s a pretty huge “hopefully”.

Did you just blanket change every :append, and did you verify that the parsed datastore is unchanged?

Ross

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

* Re: [meta-arm] [PATCH 0/4] switch from :append to +=
  2023-02-16 11:15 ` [meta-arm] [PATCH 0/4] " Ross Burton
@ 2023-02-16 11:27   ` Mikko Rapeli
  0 siblings, 0 replies; 7+ messages in thread
From: Mikko Rapeli @ 2023-02-16 11:27 UTC (permalink / raw)
  To: Ross Burton; +Cc: meta-arm

Hi,

On Thu, Feb 16, 2023 at 11:15:42AM +0000, Ross Burton wrote:
> On 16 Feb 2023, at 10:56, Mikko Rapeli via lists.yoctoproject.org <mikko.rapeli=linaro.org@lists.yoctoproject.org> wrote:
> > This same pattern is used with a lot of variables so try to find and fix
> > all of them. Hopefully there are no regressions due to :append and +=
> > being applied in different order to the result variable.
> 
> That’s a pretty huge “hopefully”.

Yep :) It's a risk which I'm highlighting.

> Did you just blanket change every :append, and did you verify that the parsed datastore is unchanged?

I did not verify the data store. I'm in the process of changing our setup from
kirkstone to master for a number of boards and this became a blocking issue at recipe
parsing time.

In our setup we may not be using all these recipes and appends so I
would need help validating this. For optee-os recipes, the changes work
correctly and we can now update the recipe from our layer.

How should I validate this more? A world "bitbake -e" output before and
after? Which machines?

I did check the details several times and the changes make sense to me.
There may be some corner case which I did not spot, for example variable
being appended to and then bbclass inherited later which would break
with switch to +=.

Cheers,

-Mikko


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

end of thread, other threads:[~2023-02-16 11:27 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-02-16 10:56 [PATCH 0/4] switch from :append to += Mikko Rapeli
2023-02-16 10:56 ` [PATCH 1/4] meta-arm-bsp/conf: " Mikko Rapeli
2023-02-16 10:56 ` [PATCH 2/4] generic-arm64.conf: " Mikko Rapeli
2023-02-16 10:56 ` [PATCH 3/4] meta-arm: " Mikko Rapeli
2023-02-16 10:56 ` [PATCH 4/4] meta-arm-bsp: " Mikko Rapeli
2023-02-16 11:15 ` [meta-arm] [PATCH 0/4] " Ross Burton
2023-02-16 11:27   ` Mikko Rapeli

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).