diff mbox series

[2/2] arm: WORKDIR fixes

Message ID 20250627195123.14524-2-jon.mason@arm.com
State New
Headers show
Series [1/2] arm-bsp/sbsa-ref: modify network device and pflash for runqemu | expand

Commit Message

Jon Mason June 27, 2025, 7:51 p.m. UTC
Upstream has removed the need for setting S to WORKDIR, and is throwing
an error if still doing so.  Make the necessary changes.

From the upstream commit, much of the changes where made via:
  sed -i "/^S = \"\${WORKDIR}\/git\"/d" `find . -name *.bb -o -name *.inc -o -name *.bbclass`
  sed -i "s/^S = \"\${WORKDIR}\//S = \"\${UNPACKDIR}\//g" `find . -name *.bb -o -name *.inc -o -name *.bbclass`

Suggested-by: Marcin Juszkiewicz <marcin-oe@juszkiewicz.com.pl>
Signed-off-by: Jon Mason <jon.mason@arm.com>
---
 .../external-system/external-system_0.1.0.bb  |  1 -
 .../trusted-firmware-a-fvp-base.inc           |  2 +-
 .../uefi/edk2-basetools-native_202408.bb      |  4 +-
 .../corstone1000-external-sys-tests_1.0.bb    |  2 -
 .../arm-systemready-ir-acs.bb                 |  2 +-
 .../arm-systemready-scripts-native.bb         |  1 -
 .../edk2-test-parser-native.bb                |  1 -
 .../arm-systemready-linux-distros.inc         |  2 +-
 .../gcc-aarch64-none-elf_13.3.rel1.bb         |  2 +-
 .../gcc-arm-none-eabi_13.3.rel1.bb            |  2 +-
 .../boot-wrapper-aarch64_git.bb               |  2 -
 .../recipes-bsp/hafnium/hafnium_2.12.0.bb     |  2 -
 .../scp-firmware/scp-firmware_2.16.0.bb       |  1 -
 .../trusted-firmware-a/cot-dt2c_0.1.0.bb      |  2 -
 .../trusted-firmware-a/tf-a-tests_2.10.15.bb  |  1 -
 .../trusted-firmware-a/tf-a-tests_2.12.3.bb   |  1 -
 .../trusted-firmware-a/tf-a-tests_2.13.0.bb   |  1 -
 .../trusted-firmware-a/trusted-firmware-a.inc |  1 -
 .../trusted-firmware-a_2.10.17.bb             |  2 +-
 .../trusted-firmware-a_2.12.3.bb              |  2 +-
 .../trusted-firmware-a_2.13.0.bb              |  2 +-
 .../trusted-firmware-a_git.bb                 |  2 +-
 .../trusted-firmware-m-2.1.1-src.inc          | 18 ++++----
 .../trusted-firmware-m-2.2.0-src.inc          | 20 ++++-----
 .../trusted-firmware-m-git-src.inc            | 20 ++++-----
 .../trusted-firmware-rmm_0.6.0.bb             |  2 -
 .../uefi/edk2-basetools-native_202502.bb      |  2 -
 meta-arm/recipes-bsp/uefi/edk2-firmware.inc   |  2 +-
 .../gator-daemon/gator-daemon_7.8.0.bb        |  2 +-
 meta-arm/recipes-devtools/gn/gn_git.bb        |  1 -
 .../recipes-devtools/opencsd/opencsd_1.5.6.bb |  2 -
 .../arm-ffa-user/arm-ffa-user_5.0.2.bb        |  3 +-
 .../optee-ftpm/optee-ftpm_git.bb              |  2 -
 .../recipes-security/optee/optee-client.inc   |  2 -
 .../recipes-security/optee/optee-examples.inc |  2 -
 meta-arm/recipes-security/optee/optee-os.inc  |  1 -
 .../recipes-security/optee/optee-test.inc     |  1 -
 .../trusted-services/trusted-services-src.inc | 41 +++++++++----------
 .../trusted-services/trusted-services.inc     |  3 ++
 .../ts-psa-api-test-common_git.inc            |  6 +--
 .../ts-psa-iat-api-test_git.bb                |  2 +-
 .../trusted-services/ts-sp-fwu_git.bb         |  6 +--
 meta-arm/recipes-test/pacbti/test-pacbti.bb   |  3 +-
 43 files changed, 73 insertions(+), 106 deletions(-)
diff mbox series

Patch

diff --git a/meta-arm-bsp/recipes-bsp/external-system/external-system_0.1.0.bb b/meta-arm-bsp/recipes-bsp/external-system/external-system_0.1.0.bb
index 1f2d02dfcf8d..d297c9d04703 100644
--- a/meta-arm-bsp/recipes-bsp/external-system/external-system_0.1.0.bb
+++ b/meta-arm-bsp/recipes-bsp/external-system/external-system_0.1.0.bb
@@ -19,7 +19,6 @@  PACKAGE_ARCH = "${MACHINE_ARCH}"
 # PRODUCT is passed to the Makefile to specify the platform to be used.
 PRODUCT = "corstone-1000"
 
-S = "${WORKDIR}/git"
 B = "${WORKDIR}/build"
 
 # remove once arm-none-eabi-gcc updates to 13 or newer like poky
diff --git a/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-fvp-base.inc b/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-fvp-base.inc
index 32e9dd7d9511..b93dc72a9c68 100644
--- a/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-fvp-base.inc
+++ b/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-fvp-base.inc
@@ -7,7 +7,7 @@ 
 FILESEXTRAPATHS:prepend := "${THISDIR}/files/:${THISDIR}/files/fvp-base:"
 
 SRC_URI:append = " \
-    file://optee_spmc_maifest.dts;subdir=git/plat/arm/board/fvp/fdts \
+    file://optee_spmc_maifest.dts;subdir=${BB_GIT_DEFAULT_DESTSUFFIX}/plat/arm/board/fvp/fdts \
 "
 
 # OP-TEE SPMC related configuration
diff --git a/meta-arm-bsp/recipes-bsp/uefi/edk2-basetools-native_202408.bb b/meta-arm-bsp/recipes-bsp/uefi/edk2-basetools-native_202408.bb
index d89a79015a83..0c08fce758d7 100644
--- a/meta-arm-bsp/recipes-bsp/uefi/edk2-basetools-native_202408.bb
+++ b/meta-arm-bsp/recipes-bsp/uefi/edk2-basetools-native_202408.bb
@@ -14,13 +14,11 @@  SRCREV = "b158dad150bf02879668f72ce306445250838201"
 
 UPSTREAM_CHECK_GITTAGREGEX = "^edk2-stable(?P<pver>\d+)$"
 
-S = "${WORKDIR}/git"
-
 inherit native
 
 RDEPENDS:${PN} += "python3-core"
 
 do_install () {
     mkdir -p ${D}${bindir}/edk2-BaseTools
-    cp -r ${WORKDIR}/git/BaseTools/* ${D}${bindir}/edk2-BaseTools/
+    cp -r ${S}/BaseTools/* ${D}${bindir}/edk2-BaseTools/
 }
diff --git a/meta-arm-bsp/recipes-test/corstone1000-external-sys-tests/corstone1000-external-sys-tests_1.0.bb b/meta-arm-bsp/recipes-test/corstone1000-external-sys-tests/corstone1000-external-sys-tests_1.0.bb
index 0fa01b58b97b..01bcdf871c8d 100644
--- a/meta-arm-bsp/recipes-test/corstone1000-external-sys-tests/corstone1000-external-sys-tests_1.0.bb
+++ b/meta-arm-bsp/recipes-test/corstone1000-external-sys-tests/corstone1000-external-sys-tests_1.0.bb
@@ -10,8 +10,6 @@  PV .= "+git"
 
 COMPATIBLE_MACHINE = "corstone1000"
 
-S = "${WORKDIR}/git"
-
 do_compile() {
     ${CC} ${S}/test-app.c ${CFLAGS} ${LDFLAGS} -o ${S}/systems-comms-tests
 }
diff --git a/meta-arm-systemready/recipes-test/arm-systemready-acs/arm-systemready-ir-acs.bb b/meta-arm-systemready/recipes-test/arm-systemready-acs/arm-systemready-ir-acs.bb
index 3558d4a08e86..7d6fd6ae718f 100644
--- a/meta-arm-systemready/recipes-test/arm-systemready-acs/arm-systemready-ir-acs.bb
+++ b/meta-arm-systemready/recipes-test/arm-systemready-acs/arm-systemready-ir-acs.bb
@@ -58,6 +58,6 @@  SRC_URI[acs-img.sha256sum] = "ea52f84dab44bde97de3e2d2224d883acaae35724dd8e2bdfb
 # Revision pointing to v2023.04 tag
 SRCREV_sr-ir-template = "c714db178ddf72e5ae5017f15421095297d5bf0e"
 
-S = "${WORKDIR}/sources-unpack"
+S = "${UNPACKDIR}"
 
 inherit arm-systemready-acs
diff --git a/meta-arm-systemready/recipes-test/arm-systemready-acs/arm-systemready-scripts-native.bb b/meta-arm-systemready/recipes-test/arm-systemready-acs/arm-systemready-scripts-native.bb
index ccc87ed24fb3..42f2508f4cce 100644
--- a/meta-arm-systemready/recipes-test/arm-systemready-acs/arm-systemready-scripts-native.bb
+++ b/meta-arm-systemready/recipes-test/arm-systemready-acs/arm-systemready-scripts-native.bb
@@ -12,7 +12,6 @@  python3-chardet-native python3-requests-native python3-construct-native \
 dtc-native python3-dtschema-wrapper-native"
 
 PV = "v2023.04"
-S = "${WORKDIR}/git"
 SRC_URI = "\
         git://git.gitlab.arm.com/systemready/systemready-scripts.git;protocol=https;nobranch=1 \
         file://0001-check-sr-results-Return-non-zero-exit-code-on-failur.patch \
diff --git a/meta-arm-systemready/recipes-test/arm-systemready-acs/edk2-test-parser-native.bb b/meta-arm-systemready/recipes-test/arm-systemready-acs/edk2-test-parser-native.bb
index ad93c41e7bcb..ea7c070c26e6 100644
--- a/meta-arm-systemready/recipes-test/arm-systemready-acs/edk2-test-parser-native.bb
+++ b/meta-arm-systemready/recipes-test/arm-systemready-acs/edk2-test-parser-native.bb
@@ -11,7 +11,6 @@  RDEPENDS:${PN} = "python3-packaging-native python3-pyyaml-native \
                   python3-jsonschema-native"
 
 PV = "v2023.04"
-S = "${WORKDIR}/git"
 SRC_URI = "git://git.gitlab.arm.com/systemready/edk2-test-parser.git;protocol=https;nobranch=1"
 
 # The SRCREV is at the v2023.04 tag
diff --git a/meta-arm-systemready/recipes-test/arm-systemready-linux-distros/arm-systemready-linux-distros.inc b/meta-arm-systemready/recipes-test/arm-systemready-linux-distros/arm-systemready-linux-distros.inc
index 5e8a18e2f1ec..74aa937e2f6e 100644
--- a/meta-arm-systemready/recipes-test/arm-systemready-linux-distros/arm-systemready-linux-distros.inc
+++ b/meta-arm-systemready/recipes-test/arm-systemready-linux-distros/arm-systemready-linux-distros.inc
@@ -27,7 +27,7 @@  ARM_SYSTEMREADY_LINUX_DISTRO_ISO_IMAGE = \
 # Size of installation disk in MB
 ARM_SYSTEMREADY_LINUX_DISTRO_INSTALL_SIZE ?= "4096"
 
-S = "${WORKDIR}/sources-unpack"
+S = "${UNPACKDIR}"
 
 do_image() {
     dd if=/dev/zero of=${WORKDIR}/${IMAGE_LINK_NAME}.wic \
diff --git a/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/gcc-aarch64-none-elf_13.3.rel1.bb b/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/gcc-aarch64-none-elf_13.3.rel1.bb
index edb4ff6fcfac..dde7ddeb7adc 100644
--- a/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/gcc-aarch64-none-elf_13.3.rel1.bb
+++ b/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/gcc-aarch64-none-elf_13.3.rel1.bb
@@ -15,7 +15,7 @@  SRC_URI = "https://developer.arm.com/-/media/Files/downloads/gnu/${PV}/binrel/ar
 SRC_URI[gcc-aarch64.sha256sum] = "fad7d567be5c095943d42f7078ea6f9a8452062dfe151152c2ec825814d254e0"
 SRC_URI[gcc-x86_64.sha256sum] = "7fedf894040580b1db747d06ac5d4263c46e591ffe7695656d1da5accb00a159"
 
-S = "${WORKDIR}/arm-gnu-toolchain-${PV}-${HOST_ARCH}-${BINNAME}"
+S = "${UNPACKDIR}/arm-gnu-toolchain-${PV}-${HOST_ARCH}-${BINNAME}"
 
 UPSTREAM_CHECK_URI = "https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads"
 UPSTREAM_CHECK_REGEX = "arm-gnu-toolchain-(?P<pver>\d+\.\d*\.[A-z]*\d*).*-${HOST_ARCH}-${BINNAME}\.tar\.\w+"
diff --git a/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/gcc-arm-none-eabi_13.3.rel1.bb b/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/gcc-arm-none-eabi_13.3.rel1.bb
index 185ecfed4a29..7660509b2fde 100644
--- a/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/gcc-arm-none-eabi_13.3.rel1.bb
+++ b/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/gcc-arm-none-eabi_13.3.rel1.bb
@@ -15,7 +15,7 @@  SRC_URI = "https://developer.arm.com/-/media/Files/downloads/gnu/${PV}/binrel/ar
 SRC_URI[gcc-aarch64.sha256sum] = "c8824bffd057afce2259f7618254e840715f33523a3d4e4294f471208f976764"
 SRC_URI[gcc-x86_64.sha256sum] = "95c011cee430e64dd6087c75c800f04b9c49832cc1000127a92a97f9c8d83af4"
 
-S = "${WORKDIR}/arm-gnu-toolchain-${PV}-${HOST_ARCH}-${BINNAME}"
+S = "${UNPACKDIR}/arm-gnu-toolchain-${PV}-${HOST_ARCH}-${BINNAME}"
 
 UPSTREAM_CHECK_URI = "https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads"
 UPSTREAM_CHECK_REGEX = "arm-gnu-toolchain-(?P<pver>\d+\.\d*\.[A-z]*\d*).*-${HOST_ARCH}-${BINNAME}\.tar\.\w+"
diff --git a/meta-arm/recipes-bsp/boot-wrapper-aarch64/boot-wrapper-aarch64_git.bb b/meta-arm/recipes-bsp/boot-wrapper-aarch64/boot-wrapper-aarch64_git.bb
index 8a37dd9e9492..ce31bff43aa4 100644
--- a/meta-arm/recipes-bsp/boot-wrapper-aarch64/boot-wrapper-aarch64_git.bb
+++ b/meta-arm/recipes-bsp/boot-wrapper-aarch64/boot-wrapper-aarch64_git.bb
@@ -11,8 +11,6 @@  UPSTREAM_CHECK_COMMITS = "1"
 
 PV = "0+git"
 
-S = "${WORKDIR}/git"
-
 inherit autotools deploy
 
 PACKAGE_ARCH = "${MACHINE_ARCH}"
diff --git a/meta-arm/recipes-bsp/hafnium/hafnium_2.12.0.bb b/meta-arm/recipes-bsp/hafnium/hafnium_2.12.0.bb
index 86034de6ab4a..d4bf501fbe4f 100644
--- a/meta-arm/recipes-bsp/hafnium/hafnium_2.12.0.bb
+++ b/meta-arm/recipes-bsp/hafnium/hafnium_2.12.0.bb
@@ -7,7 +7,6 @@  LIC_FILES_CHKSUM = "file://LICENSE;md5=782b40c14bad5294672c500501edc103"
 
 PACKAGE_ARCH = "${MACHINE_ARCH}"
 
-
 CLANGNATIVE = ""
 CLANGNATIVE:runtime-llvm = "clang-native"
 
@@ -18,7 +17,6 @@  SRC_URI = "gitsm://git.trustedfirmware.org/hafnium/hafnium.git;protocol=https;br
            file://0001-Use-pkg-config-native-to-find-the-libssl-headers.patch;patchdir=third_party/linux \
           "
 SRCREV = "2cf2ca7c4b81ab18e9cd363d9a5c8288e2a94fda"
-S = "${WORKDIR}/git"
 B = "${WORKDIR}/build"
 
 COMPATIBLE_MACHINE ?= "invalid"
diff --git a/meta-arm/recipes-bsp/scp-firmware/scp-firmware_2.16.0.bb b/meta-arm/recipes-bsp/scp-firmware/scp-firmware_2.16.0.bb
index 66cf4e44962f..d41a9892109f 100644
--- a/meta-arm/recipes-bsp/scp-firmware/scp-firmware_2.16.0.bb
+++ b/meta-arm/recipes-bsp/scp-firmware/scp-firmware_2.16.0.bb
@@ -34,7 +34,6 @@  TOOLCHAIN = "gcc"
 inherit deploy
 
 B = "${WORKDIR}/build"
-S = "${WORKDIR}/git"
 
 # Allow platform specific copying of only scp or both scp & mcp, default to both
 FW_TARGETS ?= "scp mcp"
diff --git a/meta-arm/recipes-bsp/trusted-firmware-a/cot-dt2c_0.1.0.bb b/meta-arm/recipes-bsp/trusted-firmware-a/cot-dt2c_0.1.0.bb
index 8f64b8a66b8a..ce021527b7fe 100644
--- a/meta-arm/recipes-bsp/trusted-firmware-a/cot-dt2c_0.1.0.bb
+++ b/meta-arm/recipes-bsp/trusted-firmware-a/cot-dt2c_0.1.0.bb
@@ -14,8 +14,6 @@  inherit python_poetry_core
 
 BBCLASSEXTEND = "native nativesdk"
 
-S = "${UNPACKDIR}/git"
-
 # Dependencies of plotly and igraph are not needed for the standard case
 RDEPENDS:${PN} += "python3-click \
                    python3-pydevicetree \
diff --git a/meta-arm/recipes-bsp/trusted-firmware-a/tf-a-tests_2.10.15.bb b/meta-arm/recipes-bsp/trusted-firmware-a/tf-a-tests_2.10.15.bb
index 5b2899600bfb..e2e46aa038c1 100644
--- a/meta-arm/recipes-bsp/trusted-firmware-a/tf-a-tests_2.10.15.bb
+++ b/meta-arm/recipes-bsp/trusted-firmware-a/tf-a-tests_2.10.15.bb
@@ -25,7 +25,6 @@  TFA_PLATFORM ?= "invalid"
 EXTRA_OEMAKE += "ARCH=aarch64"
 EXTRA_OEMAKE += "LOG_LEVEL=50"
 
-S = "${WORKDIR}/git"
 B = "${WORKDIR}/build"
 
 # Add platform parameter
diff --git a/meta-arm/recipes-bsp/trusted-firmware-a/tf-a-tests_2.12.3.bb b/meta-arm/recipes-bsp/trusted-firmware-a/tf-a-tests_2.12.3.bb
index 84984fe76883..32baefa4cacc 100644
--- a/meta-arm/recipes-bsp/trusted-firmware-a/tf-a-tests_2.12.3.bb
+++ b/meta-arm/recipes-bsp/trusted-firmware-a/tf-a-tests_2.12.3.bb
@@ -27,7 +27,6 @@  TFA_PLATFORM ?= "invalid"
 EXTRA_OEMAKE += "ARCH=aarch64"
 EXTRA_OEMAKE += "LOG_LEVEL=50"
 
-S = "${WORKDIR}/git"
 B = "${WORKDIR}/build"
 
 # Add platform parameter
diff --git a/meta-arm/recipes-bsp/trusted-firmware-a/tf-a-tests_2.13.0.bb b/meta-arm/recipes-bsp/trusted-firmware-a/tf-a-tests_2.13.0.bb
index 14a9043a5914..08da7cbabb47 100644
--- a/meta-arm/recipes-bsp/trusted-firmware-a/tf-a-tests_2.13.0.bb
+++ b/meta-arm/recipes-bsp/trusted-firmware-a/tf-a-tests_2.13.0.bb
@@ -25,7 +25,6 @@  TFA_PLATFORM ?= "invalid"
 EXTRA_OEMAKE += "ARCH=aarch64"
 EXTRA_OEMAKE += "LOG_LEVEL=50"
 
-S = "${WORKDIR}/git"
 B = "${WORKDIR}/build"
 
 # Add platform parameter
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 c168cdea4058..4ebcd3c73f0d 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
@@ -39,7 +39,6 @@  TFA_ARM_SPMC_MANIFEST_DTS ?= ""
 # Build for debug (set TFA_DEBUG to 1 to activate)
 TFA_DEBUG ?= "0"
 
-S = "${WORKDIR}/git"
 B = "${WORKDIR}/build"
 
 # mbed TLS support (set TFA_MBEDTLS to 1 to activate)
diff --git a/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a_2.10.17.bb b/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a_2.10.17.bb
index e7dd90a5fec5..ca887e0e80ae 100644
--- a/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a_2.10.17.bb
+++ b/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a_2.10.17.bb
@@ -9,7 +9,7 @@  LIC_FILES_CHKSUM += "file://docs/license.rst;md5=b2c740efedc159745b9b31f88ff03dd
 # in TF-A src, docs/getting_started/prerequisites.rst lists the expected version mbedtls
 # mbedtls-3.6.3
 SRCBRANCH_MBEDTLS = "mbedtls-3.6"
-SRC_URI_MBEDTLS = "git://github.com/ARMmbed/mbedtls.git;name=mbedtls;protocol=https;destsuffix=git/mbedtls;branch=${SRCBRANCH_MBEDTLS}"
+SRC_URI_MBEDTLS = "git://github.com/ARMmbed/mbedtls.git;name=mbedtls;protocol=https;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/mbedtls;branch=${SRCBRANCH_MBEDTLS}"
 SRCREV_mbedtls = "22098d41c6620ce07cf8a0134d37302355e1e5ef"
 
 LIC_FILES_CHKSUM_MBEDTLS = "file://mbedtls/LICENSE;md5=379d5819937a6c2f1ef1630d341e026d"
diff --git a/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a_2.12.3.bb b/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a_2.12.3.bb
index d7f83fe716c4..970773265d5c 100644
--- a/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a_2.12.3.bb
+++ b/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a_2.12.3.bb
@@ -9,7 +9,7 @@  LIC_FILES_CHKSUM += "file://docs/license.rst;md5=83b7626b8c7a37263c6a58af8d19bee
 # in TF-A src, docs/getting_started/prerequisites.rst lists the expected version mbedtls
 # mbedtls-3.6.3
 SRCBRANCH_MBEDTLS = "mbedtls-3.6"
-SRC_URI_MBEDTLS = "git://github.com/ARMmbed/mbedtls.git;name=mbedtls;protocol=https;destsuffix=git/mbedtls;branch=${SRCBRANCH_MBEDTLS}"
+SRC_URI_MBEDTLS = "git://github.com/ARMmbed/mbedtls.git;name=mbedtls;protocol=https;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/mbedtls;branch=${SRCBRANCH_MBEDTLS}"
 SRCREV_mbedtls = "22098d41c6620ce07cf8a0134d37302355e1e5ef"
 
 LIC_FILES_CHKSUM_MBEDTLS = "file://mbedtls/LICENSE;md5=379d5819937a6c2f1ef1630d341e026d"
diff --git a/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a_2.13.0.bb b/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a_2.13.0.bb
index 40d7e319c860..5c99446ee57b 100644
--- a/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a_2.13.0.bb
+++ b/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a_2.13.0.bb
@@ -9,7 +9,7 @@  LIC_FILES_CHKSUM += "file://docs/license.rst;md5=1118e32884721c0be33267bd7ae1113
 # in TF-A src, docs/getting_started/prerequisites.rst lists the expected version mbedtls
 # mbedtls-3.6.3
 SRCBRANCH_MBEDTLS = "mbedtls-3.6"
-SRC_URI_MBEDTLS = "git://github.com/ARMmbed/mbedtls.git;name=mbedtls;protocol=https;destsuffix=git/mbedtls;branch=${SRCBRANCH_MBEDTLS}"
+SRC_URI_MBEDTLS = "git://github.com/ARMmbed/mbedtls.git;name=mbedtls;protocol=https;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/mbedtls;branch=${SRCBRANCH_MBEDTLS}"
 SRCREV_mbedtls = "22098d41c6620ce07cf8a0134d37302355e1e5ef"
 
 LIC_FILES_CHKSUM_MBEDTLS = "file://mbedtls/LICENSE;md5=379d5819937a6c2f1ef1630d341e026d"
diff --git a/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a_git.bb b/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a_git.bb
index d168457938a8..6383fefa9c0f 100644
--- a/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a_git.bb
+++ b/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a_git.bb
@@ -9,7 +9,7 @@  LIC_FILES_CHKSUM += "file://docs/license.rst;md5=1118e32884721c0be33267bd7ae1113
 # in TF-A src, docs/getting_started/prerequisites.rst lists the expected version mbedtls
 # mbedtls-3.6.3
 SRCBRANCH_MBEDTLS = "mbedtls-3.6"
-SRC_URI_MBEDTLS = "git://github.com/ARMmbed/mbedtls.git;name=mbedtls;protocol=https;destsuffix=git/mbedtls;branch=${SRCBRANCH_MBEDTLS}"
+SRC_URI_MBEDTLS = "git://github.com/ARMmbed/mbedtls.git;name=mbedtls;protocol=https;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/mbedtls;branch=${SRCBRANCH_MBEDTLS}"
 SRCREV_mbedtls = "22098d41c6620ce07cf8a0134d37302355e1e5ef"
 
 LIC_FILES_CHKSUM_MBEDTLS = "file://mbedtls/LICENSE;md5=379d5819937a6c2f1ef1630d341e026d"
diff --git a/meta-arm/recipes-bsp/trusted-firmware-m/trusted-firmware-m-2.1.1-src.inc b/meta-arm/recipes-bsp/trusted-firmware-m/trusted-firmware-m-2.1.1-src.inc
index 6b483995f82d..1e47589df8a1 100644
--- a/meta-arm/recipes-bsp/trusted-firmware-m/trusted-firmware-m-2.1.1-src.inc
+++ b/meta-arm/recipes-bsp/trusted-firmware-m/trusted-firmware-m-2.1.1-src.inc
@@ -16,14 +16,14 @@  SRC_URI_TRUSTED_FIRMWARE_M_MBEDTLS ?= "gitsm://github.com/ARMmbed/mbedtls.git;pr
 SRC_URI_TRUSTED_FIRMWARE_M_MCUBOOT ?= "git://github.com/mcu-tools/mcuboot.git;protocol=https"
 SRC_URI_TRUSTED_FIRMWARE_M_QCBOR ?= "git://github.com/laurencelundblade/QCBOR.git;protocol=https"
 SRC_URI_TRUSTED_FIRMWARE_M_PSA_ADAC ?= "git://git.trustedfirmware.org/shared/psa-adac.git;protocol=https"
-SRC_URI  = "${SRC_URI_TRUSTED_FIRMWARE_M};branch=${SRCBRANCH_tfm};name=tfm;destsuffix=git/tfm \
-            ${SRC_URI_TRUSTED_FIRMWARE_M_EXTRAS};branch=${SRCBRANCH_tfm-extras};name=tfm-extras;destsuffix=git/tfm-extras \
-            ${SRC_URI_TRUSTED_FIRMWARE_M_TESTS};branch=${SRCBRANCH_tfm-tests};name=tfm-tests;destsuffix=git/tf-m-tests \
-            ${SRC_URI_TRUSTED_FIRMWARE_M_CMSIS};branch=${SRCBRANCH_cmsis};name=cmsis;destsuffix=git/cmsis \
-            ${SRC_URI_TRUSTED_FIRMWARE_M_MBEDTLS};branch=${SRCBRANCH_mbedtls};name=mbedtls;destsuffix=git/mbedtls \
-            ${SRC_URI_TRUSTED_FIRMWARE_M_MCUBOOT};branch=${SRCBRANCH_mcuboot};name=mcuboot;destsuffix=git/mcuboot \
-            ${SRC_URI_TRUSTED_FIRMWARE_M_QCBOR};branch=${SRCBRANCH_qcbor};name=qcbor;destsuffix=git/qcbor \
-            ${SRC_URI_TRUSTED_FIRMWARE_M_PSA_ADAC};branch=${SRCBRANCH_tfm-psa-adac};name=tfm-psa-adac;destsuffix=git/tfm-psa-adac \
+SRC_URI  = "${SRC_URI_TRUSTED_FIRMWARE_M};branch=${SRCBRANCH_tfm};name=tfm;destsuffix=tfm \
+            ${SRC_URI_TRUSTED_FIRMWARE_M_EXTRAS};branch=${SRCBRANCH_tfm-extras};name=tfm-extras;destsuffix=tfm-extras \
+            ${SRC_URI_TRUSTED_FIRMWARE_M_TESTS};branch=${SRCBRANCH_tfm-tests};name=tfm-tests;destsuffix=tf-m-tests \
+            ${SRC_URI_TRUSTED_FIRMWARE_M_CMSIS};branch=${SRCBRANCH_cmsis};name=cmsis;destsuffix=cmsis \
+            ${SRC_URI_TRUSTED_FIRMWARE_M_MBEDTLS};branch=${SRCBRANCH_mbedtls};name=mbedtls;destsuffix=mbedtls \
+            ${SRC_URI_TRUSTED_FIRMWARE_M_MCUBOOT};branch=${SRCBRANCH_mcuboot};name=mcuboot;destsuffix=mcuboot \
+            ${SRC_URI_TRUSTED_FIRMWARE_M_QCBOR};branch=${SRCBRANCH_qcbor};name=qcbor;destsuffix=qcbor \
+            ${SRC_URI_TRUSTED_FIRMWARE_M_PSA_ADAC};branch=${SRCBRANCH_tfm-psa-adac};name=tfm-psa-adac;destsuffix=tfm-psa-adac \
             "
 
 # The required dependencies are documented in tf-m/config/config_base.cmake
@@ -54,4 +54,4 @@  SRCREV_tfm-psa-adac = "5f5490cebe66ae997f316f83c3fbf1f97deef625"
 
 SRCREV_FORMAT = "tfm"
 
-S = "${WORKDIR}/git/tfm"
+S = "${UNPACKDIR}/tfm"
diff --git a/meta-arm/recipes-bsp/trusted-firmware-m/trusted-firmware-m-2.2.0-src.inc b/meta-arm/recipes-bsp/trusted-firmware-m/trusted-firmware-m-2.2.0-src.inc
index b475b7a3baf8..c201525382b8 100644
--- a/meta-arm/recipes-bsp/trusted-firmware-m/trusted-firmware-m-2.2.0-src.inc
+++ b/meta-arm/recipes-bsp/trusted-firmware-m/trusted-firmware-m-2.2.0-src.inc
@@ -21,15 +21,15 @@  SRC_URI_TRUSTED_FIRMWARE_M_MCUBOOT ?= "git://github.com/mcu-tools/mcuboot.git;pr
 SRC_URI_TRUSTED_FIRMWARE_M_QCBOR ?= "git://github.com/laurencelundblade/QCBOR.git;protocol=https"
 SRC_URI_TRUSTED_FIRMWARE_M_PSA_ADAC ?= "git://git.trustedfirmware.org/shared/psa-adac.git;protocol=https"
 SRC_URI_TRUSTED_FIRMWARE_M_T_COSE ?= "git://github.com/laurencelundblade/t_cose.git;protocol=https"
-SRC_URI  = "${SRC_URI_TRUSTED_FIRMWARE_M};branch=${SRCBRANCH_tfm};name=tfm;destsuffix=git/tfm \
-            ${SRC_URI_TRUSTED_FIRMWARE_M_EXTRAS};branch=${SRCBRANCH_tfm-extras};name=tfm-extras;destsuffix=git/tfm-extras \
-            ${SRC_URI_TRUSTED_FIRMWARE_M_TESTS};branch=${SRCBRANCH_tfm-tests};name=tfm-tests;destsuffix=git/tf-m-tests \
-            ${SRC_URI_TRUSTED_FIRMWARE_M_CMSIS};branch=${SRCBRANCH_cmsis};name=cmsis;destsuffix=git/cmsis \
-            ${SRC_URI_TRUSTED_FIRMWARE_M_MBEDTLS};branch=${SRCBRANCH_mbedtls};name=mbedtls;destsuffix=git/mbedtls \
-            ${SRC_URI_TRUSTED_FIRMWARE_M_MCUBOOT};branch=${SRCBRANCH_mcuboot};name=mcuboot;destsuffix=git/mcuboot \
-            ${SRC_URI_TRUSTED_FIRMWARE_M_QCBOR};branch=${SRCBRANCH_qcbor};name=qcbor;destsuffix=git/qcbor \
-            ${SRC_URI_TRUSTED_FIRMWARE_M_PSA_ADAC};branch=${SRCBRANCH_tfm-psa-adac};name=tfm-psa-adac;destsuffix=git/tfm-psa-adac \
-            ${SRC_URI_TRUSTED_FIRMWARE_M_T_COSE};branch=${SRCBRANCH_t-cose};name=t-cose;destsuffix=git/t_cose \
+SRC_URI  = "${SRC_URI_TRUSTED_FIRMWARE_M};branch=${SRCBRANCH_tfm};name=tfm;destsuffix=tfm \
+            ${SRC_URI_TRUSTED_FIRMWARE_M_EXTRAS};branch=${SRCBRANCH_tfm-extras};name=tfm-extras;destsuffix=tfm-extras \
+            ${SRC_URI_TRUSTED_FIRMWARE_M_TESTS};branch=${SRCBRANCH_tfm-tests};name=tfm-tests;destsuffix=tf-m-tests \
+            ${SRC_URI_TRUSTED_FIRMWARE_M_CMSIS};branch=${SRCBRANCH_cmsis};name=cmsis;destsuffix=cmsis \
+            ${SRC_URI_TRUSTED_FIRMWARE_M_MBEDTLS};branch=${SRCBRANCH_mbedtls};name=mbedtls;destsuffix=mbedtls \
+            ${SRC_URI_TRUSTED_FIRMWARE_M_MCUBOOT};branch=${SRCBRANCH_mcuboot};name=mcuboot;destsuffix=mcuboot \
+            ${SRC_URI_TRUSTED_FIRMWARE_M_QCBOR};branch=${SRCBRANCH_qcbor};name=qcbor;destsuffix=qcbor \
+            ${SRC_URI_TRUSTED_FIRMWARE_M_PSA_ADAC};branch=${SRCBRANCH_tfm-psa-adac};name=tfm-psa-adac;destsuffix=tfm-psa-adac \
+            ${SRC_URI_TRUSTED_FIRMWARE_M_T_COSE};branch=${SRCBRANCH_t-cose};name=t-cose;destsuffix=t_cose \
             "
 
 # The required dependencies are documented in tf-m/config/config_base.cmake
@@ -63,4 +63,4 @@  SRCREV_t-cose = "3076010eeb6383f0827bd992c75b68af9311cf1d"
 
 SRCREV_FORMAT = "tfm"
 
-S = "${WORKDIR}/git/tfm"
+S = "${UNPACKDIR}/tfm"
diff --git a/meta-arm/recipes-bsp/trusted-firmware-m/trusted-firmware-m-git-src.inc b/meta-arm/recipes-bsp/trusted-firmware-m/trusted-firmware-m-git-src.inc
index 9a7f23ff556d..b4e24c9ee580 100644
--- a/meta-arm/recipes-bsp/trusted-firmware-m/trusted-firmware-m-git-src.inc
+++ b/meta-arm/recipes-bsp/trusted-firmware-m/trusted-firmware-m-git-src.inc
@@ -21,15 +21,15 @@  SRC_URI_TRUSTED_FIRMWARE_M_MCUBOOT ?= "git://github.com/mcu-tools/mcuboot.git;pr
 SRC_URI_TRUSTED_FIRMWARE_M_QCBOR ?= "git://github.com/laurencelundblade/QCBOR.git;protocol=https"
 SRC_URI_TRUSTED_FIRMWARE_M_PSA_ADAC ?= "git://git.trustedfirmware.org/shared/psa-adac.git;protocol=https"
 SRC_URI_TRUSTED_FIRMWARE_M_T_COSE ?= "git://github.com/laurencelundblade/t_cose.git;protocol=https"
-SRC_URI  = "${SRC_URI_TRUSTED_FIRMWARE_M};branch=${SRCBRANCH_tfm};name=tfm;destsuffix=git/tfm \
-            ${SRC_URI_TRUSTED_FIRMWARE_M_EXTRAS};branch=${SRCBRANCH_tfm-extras};name=tfm-extras;destsuffix=git/tfm-extras \
-            ${SRC_URI_TRUSTED_FIRMWARE_M_TESTS};branch=${SRCBRANCH_tfm-tests};name=tfm-tests;destsuffix=git/tf-m-tests \
-            ${SRC_URI_TRUSTED_FIRMWARE_M_CMSIS};branch=${SRCBRANCH_cmsis};name=cmsis;destsuffix=git/cmsis \
-            ${SRC_URI_TRUSTED_FIRMWARE_M_MBEDTLS};branch=${SRCBRANCH_mbedtls};name=mbedtls;destsuffix=git/mbedtls \
-            ${SRC_URI_TRUSTED_FIRMWARE_M_MCUBOOT};branch=${SRCBRANCH_mcuboot};name=mcuboot;destsuffix=git/mcuboot \
-            ${SRC_URI_TRUSTED_FIRMWARE_M_QCBOR};branch=${SRCBRANCH_qcbor};name=qcbor;destsuffix=git/qcbor \
-            ${SRC_URI_TRUSTED_FIRMWARE_M_PSA_ADAC};branch=${SRCBRANCH_tfm-psa-adac};name=tfm-psa-adac;destsuffix=git/tfm-psa-adac \
-            ${SRC_URI_TRUSTED_FIRMWARE_M_T_COSE};branch=${SRCBRANCH_t-cose};name=t-cose;destsuffix=git/t_cose \
+SRC_URI  = "${SRC_URI_TRUSTED_FIRMWARE_M};branch=${SRCBRANCH_tfm};name=tfm;destsuffix=tfm \
+            ${SRC_URI_TRUSTED_FIRMWARE_M_EXTRAS};branch=${SRCBRANCH_tfm-extras};name=tfm-extras;destsuffix=tfm-extras \
+            ${SRC_URI_TRUSTED_FIRMWARE_M_TESTS};branch=${SRCBRANCH_tfm-tests};name=tfm-tests;destsuffix=tf-m-tests \
+            ${SRC_URI_TRUSTED_FIRMWARE_M_CMSIS};branch=${SRCBRANCH_cmsis};name=cmsis;destsuffix=cmsis \
+            ${SRC_URI_TRUSTED_FIRMWARE_M_MBEDTLS};branch=${SRCBRANCH_mbedtls};name=mbedtls;destsuffix=mbedtls \
+            ${SRC_URI_TRUSTED_FIRMWARE_M_MCUBOOT};branch=${SRCBRANCH_mcuboot};name=mcuboot;destsuffix=mcuboot \
+            ${SRC_URI_TRUSTED_FIRMWARE_M_QCBOR};branch=${SRCBRANCH_qcbor};name=qcbor;destsuffix=qcbor \
+            ${SRC_URI_TRUSTED_FIRMWARE_M_PSA_ADAC};branch=${SRCBRANCH_tfm-psa-adac};name=tfm-psa-adac;destsuffix=tfm-psa-adac \
+            ${SRC_URI_TRUSTED_FIRMWARE_M_T_COSE};branch=${SRCBRANCH_t-cose};name=t-cose;destsuffix=t_cose \
             "
 
 # The required dependencies are documented in tf-m/config/config_base.cmake
@@ -63,4 +63,4 @@  SRCREV_t-cose = "3076010eeb6383f0827bd992c75b68af9311cf1d"
 
 SRCREV_FORMAT = "tfm"
 
-S = "${WORKDIR}/git/tfm"
+S = "${UNPACKDIR}/tfm"
diff --git a/meta-arm/recipes-bsp/trusted-firmware-rmm/trusted-firmware-rmm_0.6.0.bb b/meta-arm/recipes-bsp/trusted-firmware-rmm/trusted-firmware-rmm_0.6.0.bb
index 96b1bd058e02..60558b6bca6b 100644
--- a/meta-arm/recipes-bsp/trusted-firmware-rmm/trusted-firmware-rmm_0.6.0.bb
+++ b/meta-arm/recipes-bsp/trusted-firmware-rmm/trusted-firmware-rmm_0.6.0.bb
@@ -16,8 +16,6 @@  RMM_CONFIG:qemuarm64 = "qemu_virt_defcfg"
 PACKAGE_ARCH = "${MACHINE_ARCH}"
 COMPATIBLE_MACHINE = "qemuarm64"
 
-S = "${WORKDIR}/git"
-
 # Build for debug (set RMM_DEBUG to 1 to activate)
 RMM_DEBUG ?= "0"
 RMM_BUILD_MODE ?= "${@bb.utils.contains('RMM_DEBUG', '1', 'Debug', 'Release', d)}"
diff --git a/meta-arm/recipes-bsp/uefi/edk2-basetools-native_202502.bb b/meta-arm/recipes-bsp/uefi/edk2-basetools-native_202502.bb
index d89a79015a83..e9e48217984b 100644
--- a/meta-arm/recipes-bsp/uefi/edk2-basetools-native_202502.bb
+++ b/meta-arm/recipes-bsp/uefi/edk2-basetools-native_202502.bb
@@ -14,8 +14,6 @@  SRCREV = "b158dad150bf02879668f72ce306445250838201"
 
 UPSTREAM_CHECK_GITTAGREGEX = "^edk2-stable(?P<pver>\d+)$"
 
-S = "${WORKDIR}/git"
-
 inherit native
 
 RDEPENDS:${PN} += "python3-core"
diff --git a/meta-arm/recipes-bsp/uefi/edk2-firmware.inc b/meta-arm/recipes-bsp/uefi/edk2-firmware.inc
index 92f080bfa8d0..a1840b16ec7d 100644
--- a/meta-arm/recipes-bsp/uefi/edk2-firmware.inc
+++ b/meta-arm/recipes-bsp/uefi/edk2-firmware.inc
@@ -57,7 +57,7 @@  DEPENDS += "util-linux-native iasl-native"
 
 inherit deploy
 
-S = "${WORKDIR}/edk2"
+S = "${UNPACKDIR}/edk2"
 B = "${WORKDIR}/build"
 
 LDFLAGS[unexport] = "1"
diff --git a/meta-arm/recipes-devtools/gator-daemon/gator-daemon_7.8.0.bb b/meta-arm/recipes-devtools/gator-daemon/gator-daemon_7.8.0.bb
index 6188b07e84f1..ffd308fa95c2 100644
--- a/meta-arm/recipes-devtools/gator-daemon/gator-daemon_7.8.0.bb
+++ b/meta-arm/recipes-devtools/gator-daemon/gator-daemon_7.8.0.bb
@@ -21,7 +21,7 @@  SRC_URI = "git://github.com/ARM-software/gator.git;protocol=http;branch=main;pro
            file://0001-Include-missing-cstdint.patch;striplevel=2 \
           "
 
-S = "${WORKDIR}/git/daemon"
+S = "${UNPACKDIR}/${BP}/daemon"
 
 COMPATIBLE_HOST = "aarch64.*-linux"
 
diff --git a/meta-arm/recipes-devtools/gn/gn_git.bb b/meta-arm/recipes-devtools/gn/gn_git.bb
index cc25b73f77e6..d4294bd36aa1 100644
--- a/meta-arm/recipes-devtools/gn/gn_git.bb
+++ b/meta-arm/recipes-devtools/gn/gn_git.bb
@@ -10,7 +10,6 @@  SRC_URI = "git://gn.googlesource.com/gn;protocol=https;branch=main"
 SRCREV = "ab638bd7cbb9ac8468bf2fbe60c74ed4706a14a7"
 PV = "0+git"
 
-S = "${WORKDIR}/git"
 B = "${WORKDIR}/build"
 
 # Map from our _OS strings to the GN's platform values.
diff --git a/meta-arm/recipes-devtools/opencsd/opencsd_1.5.6.bb b/meta-arm/recipes-devtools/opencsd/opencsd_1.5.6.bb
index 8deafd323ae5..7b0cfded9037 100644
--- a/meta-arm/recipes-devtools/opencsd/opencsd_1.5.6.bb
+++ b/meta-arm/recipes-devtools/opencsd/opencsd_1.5.6.bb
@@ -6,8 +6,6 @@  LIC_FILES_CHKSUM = "file://LICENSE;md5=ad8cb685eb324d2fa2530b985a43f3e5"
 SRC_URI = "git://github.com/Linaro/OpenCSD;protocol=https;branch=master"
 SRCREV = "1900c6fd110275305b956aa47bd9f0c76b13a134"
 
-S = "${WORKDIR}/git"
-
 COMPATIBLE_HOST = "(i.86|x86_64|arm|aarch64).*-linux"
 
 EXTRA_OEMAKE = "ARCH='${TARGET_ARCH}' \
diff --git a/meta-arm/recipes-kernel/arm-ffa-user/arm-ffa-user_5.0.2.bb b/meta-arm/recipes-kernel/arm-ffa-user/arm-ffa-user_5.0.2.bb
index 741a410ba614..fdb23a5c7f3a 100644
--- a/meta-arm/recipes-kernel/arm-ffa-user/arm-ffa-user_5.0.2.bb
+++ b/meta-arm/recipes-kernel/arm-ffa-user/arm-ffa-user_5.0.2.bb
@@ -7,9 +7,8 @@  LIC_FILES_CHKSUM = "file://COPYING;md5=05e355bbd617507216a836c56cf24983"
 inherit module
 
 SRC_URI = "git://gitlab.arm.com/linux-arm/linux-trusted-services;protocol=https;branch=debugfs \
-           file://Makefile;subdir=git \
+           file://Makefile;subdir=${S} \
           "
-S = "${WORKDIR}/git"
 
 # Tag debugfs-v5.0.2
 SRCREV = "885af0d1c3bf11aba12320d5484429160a9b9f26"
diff --git a/meta-arm/recipes-security/optee-ftpm/optee-ftpm_git.bb b/meta-arm/recipes-security/optee-ftpm/optee-ftpm_git.bb
index 1aa46f9ae0d2..3d459d6f905e 100644
--- a/meta-arm/recipes-security/optee-ftpm/optee-ftpm_git.bb
+++ b/meta-arm/recipes-security/optee-ftpm/optee-ftpm_git.bb
@@ -26,8 +26,6 @@  SRCREV = "e9fc7b89d865536c46deb63f9c7d0121a3ded49c"
 
 UPSTREAM_CHECK_COMMITS = "1"
 
-S = "${WORKDIR}/git"
-
 OPTEE_CLIENT_EXPORT = "${STAGING_DIR_HOST}${prefix}"
 TEEC_EXPORT = "${STAGING_DIR_HOST}${prefix}"
 TA_DEV_KIT_DIR = "${STAGING_INCDIR}/optee/export-user_ta"
diff --git a/meta-arm/recipes-security/optee/optee-client.inc b/meta-arm/recipes-security/optee/optee-client.inc
index f965024992c2..0c3aefbb6c36 100644
--- a/meta-arm/recipes-security/optee/optee-client.inc
+++ b/meta-arm/recipes-security/optee/optee-client.inc
@@ -14,8 +14,6 @@  SRC_URI = " \
 
 UPSTREAM_CHECK_GITTAGREGEX = "^(?P<pver>\d+(\.\d+)+)$"
 
-S = "${WORKDIR}/git"
-
 EXTRA_OECMAKE = " \
     -DBUILD_SHARED_LIBS=ON \
     -DCFG_USE_PKGCONFIG=ON \
diff --git a/meta-arm/recipes-security/optee/optee-examples.inc b/meta-arm/recipes-security/optee/optee-examples.inc
index 5011f4804523..648e8c2e9539 100644
--- a/meta-arm/recipes-security/optee/optee-examples.inc
+++ b/meta-arm/recipes-security/optee/optee-examples.inc
@@ -20,10 +20,8 @@  EXTRA_OEMAKE += "TA_DEV_KIT_DIR=${TA_DEV_KIT_DIR} \
                  OUTPUT_DIR=${B} \
                "
 
-S = "${WORKDIR}/git"
 B = "${WORKDIR}/build"
 
-
 do_compile() {
     oe_runmake -C ${S}
 }
diff --git a/meta-arm/recipes-security/optee/optee-os.inc b/meta-arm/recipes-security/optee/optee-os.inc
index 7f515cb41d43..cf50dabed332 100644
--- a/meta-arm/recipes-security/optee/optee-os.inc
+++ b/meta-arm/recipes-security/optee/optee-os.inc
@@ -16,7 +16,6 @@  DEPENDS:append:toolchain-clang = " compiler-rt"
 
 SRC_URI = "git://github.com/OP-TEE/optee_os.git;branch=master;protocol=https"
 
-S = "${WORKDIR}/git"
 B = "${WORKDIR}/build"
 
 EXTRA_OEMAKE += " \
diff --git a/meta-arm/recipes-security/optee/optee-test.inc b/meta-arm/recipes-security/optee/optee-test.inc
index 5f35ad9e1feb..6f81f0de6db3 100644
--- a/meta-arm/recipes-security/optee/optee-test.inc
+++ b/meta-arm/recipes-security/optee/optee-test.inc
@@ -14,7 +14,6 @@  SRC_URI = "git://github.com/OP-TEE/optee_test.git;branch=master;protocol=https \
            file://run-ptest \
           "
 
-S = "${WORKDIR}/git"
 B = "${WORKDIR}/build"
 
 EXTRA_OEMAKE += "TA_DEV_KIT_DIR=${TA_DEV_KIT_DIR} \
diff --git a/meta-arm/recipes-security/trusted-services/trusted-services-src.inc b/meta-arm/recipes-security/trusted-services/trusted-services-src.inc
index c321c1c19179..5a7ab785c28c 100644
--- a/meta-arm/recipes-security/trusted-services/trusted-services-src.inc
+++ b/meta-arm/recipes-security/trusted-services/trusted-services-src.inc
@@ -2,11 +2,10 @@ 
 
 LICENSE = "Apache-2.0 & BSD-3-Clause & BSD-2-Clause & Zlib"
 
-SRC_URI = "git://git.trustedfirmware.org/TS/trusted-services.git;protocol=https;branch=main;name=trusted-services;destsuffix=git/trusted-services \
+SRC_URI = "git://git.trustedfirmware.org/TS/trusted-services.git;protocol=https;branch=main;name=trusted-services;destsuffix=trusted-services \
 "
 
 FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
-
 SRC_URI:append = "\
     file://0001-Allow-configuring-flash-image-files-compile-time.patch \
     file://0002-Fix-MbedTLS-3.6-and-GCC-14-compatibility.patch \
@@ -17,37 +16,37 @@  SRC_URI:append = "\
 SRCREV_trusted-services = "83bd53b6689ebb071bc13fcd4e01618bab2e74ca"
 LIC_FILES_CHKSUM = "file://${S}/license.rst;md5=ea160bac7f690a069c608516b17997f4"
 
-S = "${WORKDIR}/git/trusted-services"
+S = "${UNPACKDIR}/trusted-services"
 PV ?= "0.0+git"
 UPSTREAM_CHECK_COMMITS = "1"
 
 # DTC, tag "v1.6.1"
-SRC_URI += "git://github.com/dgibson/dtc;name=dtc;protocol=https;branch=main;destsuffix=git/dtc"
+SRC_URI += "git://github.com/dgibson/dtc;name=dtc;protocol=https;branch=main;destsuffix=dtc"
 SRCREV_dtc = "b6910bec11614980a21e46fbccc35934b671bd81"
 LIC_FILES_CHKSUM += "file://../dtc/README.license;md5=a1eb22e37f09df5b5511b8a278992d0e"
 
 # MbedTLS, tag "v3.6.0"
-SRC_URI += "gitsm://github.com/ARMmbed/mbedtls.git;name=mbedtls;protocol=https;branch=master;destsuffix=git/mbedtls"
+SRC_URI += "gitsm://github.com/ARMmbed/mbedtls.git;name=mbedtls;protocol=https;branch=master;destsuffix=mbedtls"
 SRCREV_mbedtls = "2ca6c285a0dd3f33982dd57299012dacab1ff206"
 LIC_FILES_CHKSUM += "file://../mbedtls/LICENSE;md5=379d5819937a6c2f1ef1630d341e026d"
 
 # Nanopb, tag "nanopb-0.4.8" plus some further fixes
-SRC_URI += "git://github.com/nanopb/nanopb.git;name=nanopb;protocol=https;branch=master;destsuffix=git/nanopb"
+SRC_URI += "git://github.com/nanopb/nanopb.git;name=nanopb;protocol=https;branch=master;destsuffix=nanopb"
 SRCREV_nanopb = "6cfe48d6f1593f8fa5c0f90437f5e6522587745e"
 LIC_FILES_CHKSUM += "file://../nanopb/LICENSE.txt;md5=9db4b73a55a3994384112efcdb37c01f"
 
 # qcbor, tag "v1.0.0"
-SRC_URI += "git://github.com/laurencelundblade/QCBOR.git;name=qcbor;protocol=https;branch=master;destsuffix=git/qcbor"
+SRC_URI += "git://github.com/laurencelundblade/QCBOR.git;name=qcbor;protocol=https;branch=master;destsuffix=qcbor"
 SRCREV_qcbor = "56b17bf9f74096774944bcac0829adcd887d391e"
 LIC_FILES_CHKSUM += "file://../qcbor/README.md;md5=e8ff2e88a722cdc55eddd0bb9aeca002"
 
 # T_Cose
-SRC_URI += "git://github.com/laurencelundblade/t_cose.git;name=tcose;protocol=https;branch=master;destsuffix=git/tcose"
+SRC_URI += "git://github.com/laurencelundblade/t_cose.git;name=tcose;protocol=https;branch=master;destsuffix=tcose"
 SRCREV_tcose = "fc3a4b2c7196ff582e8242de8bd4a1bc4eec577f"
 LIC_FILES_CHKSUM += "file://../tcose/LICENSE;md5=b2ebdbfb82602b97aa628f64cf4b65ad"
 
 # CppUTest,  tag "v3.8"
-SRC_URI += "git://github.com/cpputest/cpputest.git;name=cpputest;protocol=https;branch=master;destsuffix=git/cpputest"
+SRC_URI += "git://github.com/cpputest/cpputest.git;name=cpputest;protocol=https;branch=master;destsuffix=cpputest"
 SRCREV_cpputest = "e25097614e1c4856036366877a02346c4b36bb5b"
 LIC_FILES_CHKSUM += "file://../cpputest/COPYING;md5=ce5d5f1fe02bcd1343ced64a06fd4177"
 
@@ -57,19 +56,19 @@  inherit apply_local_src_patches
 LOCAL_SRC_PATCHES_INPUT_DIR = "N/A"
 
 do_apply_local_src_patches() {
-    apply_local_src_patches ${S}/external/qcbor ${WORKDIR}/git/qcbor
-    apply_local_src_patches ${S}/external/t_cose ${WORKDIR}/git/tcose
-    apply_local_src_patches ${S}/external/MbedTLS ${WORKDIR}/git/mbedtls
-    apply_local_src_patches ${S}/external/CppUTest ${WORKDIR}/git/cpputest
-    apply_local_src_patches ${S}/external/libfdt ${WORKDIR}/git/dtc
-    apply_local_src_patches ${S}/external/nanopb ${WORKDIR}/git/nanopb
+    apply_local_src_patches ${S}/external/qcbor ${WORKDIR}/sources/qcbor
+    apply_local_src_patches ${S}/external/t_cose ${WORKDIR}/sources/tcose
+    apply_local_src_patches ${S}/external/MbedTLS ${WORKDIR}/sources/mbedtls
+    apply_local_src_patches ${S}/external/CppUTest ${WORKDIR}/sources/cpputest
+    apply_local_src_patches ${S}/external/libfdt ${WORKDIR}/sources/dtc
+    apply_local_src_patches ${S}/external/nanopb ${WORKDIR}/sources/nanopb
 }
 
 # Paths to dependencies required by some TS SPs/tools
-EXTRA_OECMAKE += "-DDTC_SOURCE_DIR=${WORKDIR}/git/dtc \
-                  -DCPPUTEST_SOURCE_DIR=${WORKDIR}/git/cpputest \
-                  -DNANOPB_SOURCE_DIR=${WORKDIR}/git/nanopb \
-                  -DT_COSE_SOURCE_DIR=${WORKDIR}/git/tcose \
-                  -DQCBOR_SOURCE_DIR=${WORKDIR}/git/qcbor \
-                  -DMBEDTLS_SOURCE_DIR=${WORKDIR}/git/mbedtls \
+EXTRA_OECMAKE += "-DDTC_SOURCE_DIR=${WORKDIR}/sources/dtc \
+                  -DCPPUTEST_SOURCE_DIR=${WORKDIR}/sources/cpputest \
+                  -DNANOPB_SOURCE_DIR=${WORKDIR}/sources/nanopb \
+                  -DT_COSE_SOURCE_DIR=${WORKDIR}/sources/tcose \
+                  -DQCBOR_SOURCE_DIR=${WORKDIR}/sources/qcbor \
+                  -DMBEDTLS_SOURCE_DIR=${WORKDIR}/sources/mbedtls \
                  "
diff --git a/meta-arm/recipes-security/trusted-services/trusted-services.inc b/meta-arm/recipes-security/trusted-services/trusted-services.inc
index 2ba64af867cf..2ffc7c90ba10 100644
--- a/meta-arm/recipes-security/trusted-services/trusted-services.inc
+++ b/meta-arm/recipes-security/trusted-services/trusted-services.inc
@@ -56,3 +56,6 @@  EXTRA_OECMAKE += "${@get_ts_toolchain_option(d)}"
 EXTRA_OECMAKE += "-Dlibts_ROOT=${STAGING_DIR_HOST}${TS_INSTALL}/lib/cmake/libts/ \
                   -Dlibpsats_ROOT=${STAGING_DIR_HOST}${TS_INSTALL}/lib/cmake/libpsats/ \
                  "
+
+INSANE_SKIP:${PN} += "buildpaths"
+INSANE_SKIP:${PN}-dbg += "buildpaths"
diff --git a/meta-arm/recipes-security/trusted-services/ts-psa-api-test-common_git.inc b/meta-arm/recipes-security/trusted-services/ts-psa-api-test-common_git.inc
index e2f61febd340..aacd09c3858b 100644
--- a/meta-arm/recipes-security/trusted-services/ts-psa-api-test-common_git.inc
+++ b/meta-arm/recipes-security/trusted-services/ts-psa-api-test-common_git.inc
@@ -9,17 +9,17 @@  DEPENDS        += "python3-jsonschema-native python3-jinja2-native"
 DEPENDS        += "libpsats"
 RDEPENDS:${PN} += "libpsats"
 
-SRC_URI += "git://github.com/ARM-software/psa-arch-tests.git;name=psatest;protocol=https;branch=main;destsuffix=git/psatest \
+SRC_URI += "git://github.com/ARM-software/psa-arch-tests.git;name=psatest;protocol=https;branch=main;destsuffix=psatest \
             file://0001-Pass-Yocto-build-settings-to-psa-arch-tests-native.patch;patchdir=../psatest \
            "
 
 SRCREV_psatest = "74dc6646ff594e131a726a5305aba77bac30eceb"
 LIC_FILES_CHKSUM += "file://../psatest/LICENSE.md;md5=2a944942e1496af1886903d274dedb13"
 
-EXTRA_OECMAKE += "-DPSA_ARCH_TESTS_SOURCE_DIR=${WORKDIR}/git/psatest"
+EXTRA_OECMAKE += "-DPSA_ARCH_TESTS_SOURCE_DIR=${WORKDIR}/sources/psatest"
 
 do_apply_local_src_patches:append() {
-    apply_local_src_patches ${S}/external/psa_arch_tests ${WORKDIR}/git/psatest
+    apply_local_src_patches ${S}/external/psa_arch_tests ${WORKDIR}/sources/psatest
 }
 
 FILES:${PN} = "${bindir}/${PSA_TEST}"
diff --git a/meta-arm/recipes-security/trusted-services/ts-psa-iat-api-test_git.bb b/meta-arm/recipes-security/trusted-services/ts-psa-iat-api-test_git.bb
index c39554a69bb5..7deadc009893 100644
--- a/meta-arm/recipes-security/trusted-services/ts-psa-iat-api-test_git.bb
+++ b/meta-arm/recipes-security/trusted-services/ts-psa-iat-api-test_git.bb
@@ -10,7 +10,7 @@  PSA_TEST = "psa-iat-api-test"
 
 # psa-arch-tests for INITIAL_ATTESTATION suite can't be built with pre-built qcbor
 # Fetch qcbor sources as a temp work-around and pass PSA_TARGET_QCBOR to psa-arch-tests
-SRC_URI += "git://github.com/laurencelundblade/QCBOR.git;name=psaqcbor;protocol=https;branch=master;destsuffix=git/psaqcbor \
+SRC_URI += "git://github.com/laurencelundblade/QCBOR.git;name=psaqcbor;protocol=https;branch=master;destsuffix=psaqcbor \
            "
 SRCREV_psaqcbor = "42272e466a8472948bf8fca076d113b81b99f0e0"
 
diff --git a/meta-arm/recipes-security/trusted-services/ts-sp-fwu_git.bb b/meta-arm/recipes-security/trusted-services/ts-sp-fwu_git.bb
index 247f3359d80f..0ec85b0cf9cb 100644
--- a/meta-arm/recipes-security/trusted-services/ts-sp-fwu_git.bb
+++ b/meta-arm/recipes-security/trusted-services/ts-sp-fwu_git.bb
@@ -14,14 +14,14 @@  TS_SP_FWU_CONFIG ?= "default"
 OECMAKE_SOURCEPATH = "${S}/deployments/fwu/config/${TS_SP_FWU_CONFIG}-${TS_ENV}"
 
 # The GPT parser component is needed from TF-A
-SRC_URI += "git://git.trustedfirmware.org/TF-A/trusted-firmware-a.git;name=tfa;protocol=https;branch=master;destsuffix=git/tf-a"
+SRC_URI += "git://git.trustedfirmware.org/TF-A/trusted-firmware-a.git;name=tfa;protocol=https;branch=master;destsuffix=tf-a"
 SRCREV_tfa = "35f4c7295bafeb32c8bcbdfb6a3f2e74a57e732b"
 LIC_FILES_CHKSUM = "file://../tf-a/docs/license.rst;md5=b2c740efedc159745b9b31f88ff03dde"
 do_apply_local_src_patches:append() {
-    apply_local_src_patches ${S}/external/tf_a ${WORKDIR}/git/tf-a
+    apply_local_src_patches ${S}/external/tf_a ${WORKDIR}/sources/tf-a
 }
 
-EXTRA_OECMAKE:append = "-DTFA_SOURCE_DIR=${WORKDIR}/git/tf-a"
+EXTRA_OECMAKE:append = "-DTFA_SOURCE_DIR=${WORKDIR}/sources/tf-a"
 
 # Deploy the secure flash image.
 do_deploy() {
diff --git a/meta-arm/recipes-test/pacbti/test-pacbti.bb b/meta-arm/recipes-test/pacbti/test-pacbti.bb
index b0ce19887e42..490eddf8d735 100644
--- a/meta-arm/recipes-test/pacbti/test-pacbti.bb
+++ b/meta-arm/recipes-test/pacbti/test-pacbti.bb
@@ -4,8 +4,7 @@  LIC_FILES_CHKSUM = "file://pacbti.c;beginline=2;endline=2;md5=6ec41034e04432ee37
 
 SRC_URI = "file://pacbti.c"
 
-S = "${WORKDIR}/sources"
-UNPACKDIR = "${S}"
+S = "${UNPACKDIR}/sources"
 
 do_compile() {
     # Compile with -zforce-bti with fatal warnings, so the link fails if PAC/BTI