mirror of
https://git.yoctoproject.org/meta-arm
synced 2026-06-04 14:10:01 +00:00
arm/trusted-firmware-m: clone dependencies under tfm source tree
Clone all trusted-firmware-m dependencies into the tfm source
tree under external/ instead of ${UNPACKDIR}.
This aligns the layout with devtool git-submodule handling,
ensuring the recipe sees a consistent source tree at build time
and allowing dependencies to be patched via devtool in the same
way as the main tf-m repository.
(reworked to avoid use internal variables for checkout)
to clone tf-m dependencies use hardcoded path for reproductibility
and avoid using BB_GIT_DEFAULT_DESTSUFFIX which may depend on
yocto version.
Signed-off-by: Clement Faure <clement.faure@arm.com>
Signed-off-by: Arthur Cassegrain <arthur.cassegrain@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
This commit is contained in:
@@ -3,10 +3,10 @@
|
||||
LICENSE = "BSD-2-Clause & BSD-3-Clause & Apache-2.0"
|
||||
|
||||
LIC_FILES_CHKSUM = "file://license.rst;md5=07f368487da347f3c7bd0fc3085f3afa \
|
||||
file://../tf-m-tests/license.rst;md5=4481bae2221b0cfca76a69fb3411f390 \
|
||||
file://../mbedtls/LICENSE;md5=379d5819937a6c2f1ef1630d341e026d \
|
||||
file://../mcuboot/LICENSE;md5=b6ee33f1d12a5e6ee3de1e82fb51eeb8 \
|
||||
file://../tfm-psa-adac/license.rst;md5=07f368487da347f3c7bd0fc3085f3afa"
|
||||
file://external/tf-m-tests/license.rst;md5=4481bae2221b0cfca76a69fb3411f390 \
|
||||
file://external/mbedtls/LICENSE;md5=379d5819937a6c2f1ef1630d341e026d \
|
||||
file://external/mcuboot/LICENSE;md5=b6ee33f1d12a5e6ee3de1e82fb51eeb8 \
|
||||
file://external/tfm-psa-adac/license.rst;md5=07f368487da347f3c7bd0fc3085f3afa"
|
||||
|
||||
SRC_URI_TRUSTED_FIRMWARE_M ?= "git://git.trustedfirmware.org/TF-M/trusted-firmware-m.git;protocol=https"
|
||||
SRC_URI_TRUSTED_FIRMWARE_M_EXTRAS ?= "git://git.trustedfirmware.org/TF-M/tf-m-extras.git;protocol=https"
|
||||
@@ -17,13 +17,13 @@ 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 = "${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_EXTRAS};branch=${SRCBRANCH_tfm-extras};name=tfm-extras;destsuffix=tfm/external/tfm-extras \
|
||||
${SRC_URI_TRUSTED_FIRMWARE_M_TESTS};branch=${SRCBRANCH_tfm-tests};name=tfm-tests;destsuffix=tfm/external/tf-m-tests \
|
||||
${SRC_URI_TRUSTED_FIRMWARE_M_CMSIS};branch=${SRCBRANCH_cmsis};name=cmsis;destsuffix=tfm/external/cmsis \
|
||||
${SRC_URI_TRUSTED_FIRMWARE_M_MBEDTLS};branch=${SRCBRANCH_mbedtls};name=mbedtls;destsuffix=tfm/external/mbedtls \
|
||||
${SRC_URI_TRUSTED_FIRMWARE_M_MCUBOOT};branch=${SRCBRANCH_mcuboot};name=mcuboot;destsuffix=tfm/external/mcuboot \
|
||||
${SRC_URI_TRUSTED_FIRMWARE_M_QCBOR};branch=${SRCBRANCH_qcbor};name=qcbor;destsuffix=tfm/external/qcbor \
|
||||
${SRC_URI_TRUSTED_FIRMWARE_M_PSA_ADAC};branch=${SRCBRANCH_tfm-psa-adac};name=tfm-psa-adac;destsuffix=tfm/external/tfm-psa-adac \
|
||||
"
|
||||
|
||||
# The required dependencies are documented in tf-m/config/config_base.cmake
|
||||
@@ -52,7 +52,7 @@ SRCREV_qcbor = "b0e7033268e88c9f27146fa9a1415ef4c19ebaff"
|
||||
SRCBRANCH_tfm-psa-adac = "master"
|
||||
SRCREV_tfm-psa-adac = "5f5490cebe66ae997f316f83c3fbf1f97deef625"
|
||||
|
||||
SRCREV_FORMAT = "tfm"
|
||||
SRCREV_FORMAT = "tfm_tfm-extras_tfm-tests_cmsis_mbedtls_mcuboot_qcbor_tfm-psa-adac_t-cose"
|
||||
|
||||
S = "${UNPACKDIR}/tfm"
|
||||
|
||||
@@ -61,8 +61,8 @@ inherit apply_local_src_patches
|
||||
LOCAL_SRC_PATCHES_INPUT_DIR = "N/A"
|
||||
|
||||
do_apply_local_src_patches() {
|
||||
apply_local_src_patches ${S}/lib/ext/qcbor ${UNPACKDIR}/qcbor
|
||||
apply_local_src_patches ${S}/lib/ext/mbedcrypto ${UNPACKDIR}/mbedtls
|
||||
apply_local_src_patches ${S}/lib/ext/mcuboot ${UNPACKDIR}/mcuboot
|
||||
apply_local_src_patches ${S}/lib/ext/tf-m-tests ${UNPACKDIR}/tf-m-tests
|
||||
apply_local_src_patches ${S}/lib/ext/qcbor ${S}/external/qcbor
|
||||
apply_local_src_patches ${S}/lib/ext/mbedcrypto ${S}/external/mbedtls
|
||||
apply_local_src_patches ${S}/lib/ext/mcuboot ${S}/external/mcuboot
|
||||
apply_local_src_patches ${S}/lib/ext/tf-m-tests ${S}/external/tf-m-tests
|
||||
}
|
||||
|
||||
@@ -3,11 +3,11 @@
|
||||
LICENSE = "BSD-2-Clause & BSD-3-Clause & Apache-2.0"
|
||||
|
||||
LIC_FILES_CHKSUM = "file://license.rst;md5=07f368487da347f3c7bd0fc3085f3afa \
|
||||
file://${UNPACKDIR}/tf-m-tests/license.rst;md5=4481bae2221b0cfca76a69fb3411f390 \
|
||||
file://${UNPACKDIR}/mbedtls/LICENSE;md5=379d5819937a6c2f1ef1630d341e026d \
|
||||
file://${UNPACKDIR}/mcuboot/LICENSE;md5=b6ee33f1d12a5e6ee3de1e82fb51eeb8 \
|
||||
file://${UNPACKDIR}/tfm-psa-adac/license.rst;md5=07f368487da347f3c7bd0fc3085f3afa \
|
||||
file://${UNPACKDIR}/t_cose/LICENSE;md5=b2ebdbfb82602b97aa628f64cf4b65ad \
|
||||
file://external/tf-m-tests/license.rst;md5=4481bae2221b0cfca76a69fb3411f390 \
|
||||
file://external/mbedtls/LICENSE;md5=379d5819937a6c2f1ef1630d341e026d \
|
||||
file://external/mcuboot/LICENSE;md5=b6ee33f1d12a5e6ee3de1e82fb51eeb8 \
|
||||
file://external/tfm-psa-adac/license.rst;md5=07f368487da347f3c7bd0fc3085f3afa \
|
||||
file://external/t_cose/LICENSE;md5=b2ebdbfb82602b97aa628f64cf4b65ad \
|
||||
"
|
||||
|
||||
SRC_URI_TRUSTED_FIRMWARE_M ?= "git://git.trustedfirmware.org/TF-M/trusted-firmware-m.git;protocol=https"
|
||||
@@ -20,17 +20,6 @@ SRC_URI_TRUSTED_FIRMWARE_M_QCBOR ?= "git://github.com/laurencelundblade/QCBOR.gi
|
||||
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=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
|
||||
# TF-Mv2.2.2
|
||||
SRCBRANCH_tfm ?= "release/2.2.x"
|
||||
@@ -60,7 +49,19 @@ SRCREV_tfm-psa-adac = "819a254af6fb5eefdcef194ec85d2c7627451351"
|
||||
SRCBRANCH_t-cose = "dev"
|
||||
SRCREV_t-cose = "3076010eeb6383f0827bd992c75b68af9311cf1d"
|
||||
|
||||
SRCREV_FORMAT = "tfm"
|
||||
|
||||
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/external/tfm-extras \
|
||||
${SRC_URI_TRUSTED_FIRMWARE_M_TESTS};branch=${SRCBRANCH_tfm-tests};name=tfm-tests;destsuffix=tfm/external/tf-m-tests \
|
||||
${SRC_URI_TRUSTED_FIRMWARE_M_CMSIS};branch=${SRCBRANCH_cmsis};name=cmsis;destsuffix=tfm/external/cmsis \
|
||||
${SRC_URI_TRUSTED_FIRMWARE_M_MBEDTLS};branch=${SRCBRANCH_mbedtls};name=mbedtls;destsuffix=tfm/external/mbedtls \
|
||||
${SRC_URI_TRUSTED_FIRMWARE_M_MCUBOOT};branch=${SRCBRANCH_mcuboot};name=mcuboot;destsuffix=tfm/external/mcuboot \
|
||||
${SRC_URI_TRUSTED_FIRMWARE_M_QCBOR};branch=${SRCBRANCH_qcbor};name=qcbor;destsuffix=tfm/external/qcbor \
|
||||
${SRC_URI_TRUSTED_FIRMWARE_M_PSA_ADAC};branch=${SRCBRANCH_tfm-psa-adac};name=tfm-psa-adac;destsuffix=tfm/external/tfm-psa-adac \
|
||||
${SRC_URI_TRUSTED_FIRMWARE_M_T_COSE};branch=${SRCBRANCH_t-cose};name=t-cose;destsuffix=tfm/external/t_cose \
|
||||
"
|
||||
|
||||
SRCREV_FORMAT = "tfm_tfm-extras_tfm-tests_cmsis_mbedtls_mcuboot_qcbor_tfm-psa-adac_t-cose"
|
||||
|
||||
S = "${UNPACKDIR}/tfm"
|
||||
|
||||
@@ -69,9 +70,9 @@ inherit apply_local_src_patches
|
||||
LOCAL_SRC_PATCHES_INPUT_DIR = "N/A"
|
||||
|
||||
do_apply_local_src_patches() {
|
||||
apply_local_src_patches ${S}/lib/ext/qcbor ${UNPACKDIR}/qcbor
|
||||
apply_local_src_patches ${S}/lib/ext/mbedcrypto ${UNPACKDIR}/mbedtls
|
||||
apply_local_src_patches ${S}/lib/ext/mcuboot ${UNPACKDIR}/mcuboot
|
||||
apply_local_src_patches ${S}/lib/ext/tf-m-tests ${UNPACKDIR}/tf-m-tests
|
||||
apply_local_src_patches ${S}/lib/ext/t_cose ${UNPACKDIR}/t_cose
|
||||
apply_local_src_patches ${S}/lib/ext/qcbor ${S}/external/qcbor
|
||||
apply_local_src_patches ${S}/lib/ext/mbedcrypto ${S}/external/mbedtls
|
||||
apply_local_src_patches ${S}/lib/ext/mcuboot ${S}/external/mcuboot
|
||||
apply_local_src_patches ${S}/lib/ext/tf-m-tests ${S}/external/tf-m-tests
|
||||
apply_local_src_patches ${S}/lib/ext/t_cose ${S}/external/t_cose
|
||||
}
|
||||
|
||||
@@ -3,11 +3,11 @@
|
||||
LICENSE = "BSD-2-Clause & BSD-3-Clause & Apache-2.0"
|
||||
|
||||
LIC_FILES_CHKSUM = "file://license.rst;md5=07f368487da347f3c7bd0fc3085f3afa \
|
||||
file://../tf-m-tests/license.rst;md5=4481bae2221b0cfca76a69fb3411f390 \
|
||||
file://../mbedtls/LICENSE;md5=379d5819937a6c2f1ef1630d341e026d \
|
||||
file://../mcuboot/LICENSE;md5=b6ee33f1d12a5e6ee3de1e82fb51eeb8 \
|
||||
file://../tfm-psa-adac/license.rst;md5=07f368487da347f3c7bd0fc3085f3afa \
|
||||
file://../t_cose/LICENSE;md5=b2ebdbfb82602b97aa628f64cf4b65ad \
|
||||
file://external/tf-m-tests/license.rst;md5=4481bae2221b0cfca76a69fb3411f390 \
|
||||
file://external/mbedtls/LICENSE;md5=379d5819937a6c2f1ef1630d341e026d \
|
||||
file://external/mcuboot/LICENSE;md5=b6ee33f1d12a5e6ee3de1e82fb51eeb8 \
|
||||
file://external/tfm-psa-adac/license.rst;md5=07f368487da347f3c7bd0fc3085f3afa \
|
||||
file://external/t_cose/LICENSE;md5=b2ebdbfb82602b97aa628f64cf4b65ad \
|
||||
"
|
||||
|
||||
SRC_URI_TRUSTED_FIRMWARE_M ?= "git://git.trustedfirmware.org/TF-M/trusted-firmware-m.git;protocol=https"
|
||||
@@ -20,14 +20,14 @@ SRC_URI_TRUSTED_FIRMWARE_M_QCBOR ?= "git://github.com/laurencelundblade/QCBOR.gi
|
||||
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=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 \
|
||||
${SRC_URI_TRUSTED_FIRMWARE_M_EXTRAS};branch=${SRCBRANCH_tfm-extras};name=tfm-extras;destsuffix=tfm/external/tfm-extras \
|
||||
${SRC_URI_TRUSTED_FIRMWARE_M_TESTS};branch=${SRCBRANCH_tfm-tests};name=tfm-tests;destsuffix=tfm/external/tf-m-tests \
|
||||
${SRC_URI_TRUSTED_FIRMWARE_M_CMSIS};branch=${SRCBRANCH_cmsis};name=cmsis;destsuffix=tfm/external/cmsis \
|
||||
${SRC_URI_TRUSTED_FIRMWARE_M_MBEDTLS};branch=${SRCBRANCH_mbedtls};name=mbedtls;destsuffix=tfm/external/mbedtls \
|
||||
${SRC_URI_TRUSTED_FIRMWARE_M_MCUBOOT};branch=${SRCBRANCH_mcuboot};name=mcuboot;destsuffix=tfm/external/mcuboot \
|
||||
${SRC_URI_TRUSTED_FIRMWARE_M_QCBOR};branch=${SRCBRANCH_qcbor};name=qcbor;destsuffix=tfm/external/qcbor \
|
||||
${SRC_URI_TRUSTED_FIRMWARE_M_PSA_ADAC};branch=${SRCBRANCH_tfm-psa-adac};name=tfm-psa-adac;destsuffix=tfm/external/tfm-psa-adac \
|
||||
${SRC_URI_TRUSTED_FIRMWARE_M_T_COSE};branch=${SRCBRANCH_t-cose};name=t-cose;destsuffix=tfm/external/t_cose \
|
||||
"
|
||||
|
||||
# The required dependencies are documented in tf-m/config/config_base.cmake
|
||||
@@ -68,9 +68,9 @@ inherit apply_local_src_patches
|
||||
LOCAL_SRC_PATCHES_INPUT_DIR = "N/A"
|
||||
|
||||
do_apply_local_src_patches() {
|
||||
apply_local_src_patches ${S}/lib/ext/qcbor ${UNPACKDIR}/qcbor
|
||||
apply_local_src_patches ${S}/lib/ext/mbedcrypto ${UNPACKDIR}/mbedtls
|
||||
apply_local_src_patches ${S}/lib/ext/mcuboot ${UNPACKDIR}/mcuboot
|
||||
apply_local_src_patches ${S}/lib/ext/tf-m-tests ${UNPACKDIR}/tf-m-tests
|
||||
apply_local_src_patches ${S}/lib/ext/t_cose ${UNPACKDIR}/t_cose
|
||||
apply_local_src_patches ${S}/lib/ext/qcbor ${S}/external/qcbor
|
||||
apply_local_src_patches ${S}/lib/ext/mbedcrypto ${S}/external/mbedtls
|
||||
apply_local_src_patches ${S}/lib/ext/mcuboot ${S}/external/mcuboot
|
||||
apply_local_src_patches ${S}/lib/ext/tf-m-tests ${S}/external/tf-m-tests
|
||||
apply_local_src_patches ${S}/lib/ext/t_cose ${S}/external/t_cose
|
||||
}
|
||||
|
||||
@@ -71,13 +71,13 @@ EXTRA_OECMAKE += "-DTFM_PLATFORM=${TFM_PLATFORM}"
|
||||
EXTRA_OECMAKE += "${@bb.utils.contains('TFM_DEBUG', '1', '-DCMAKE_BUILD_TYPE=Debug', '-DCMAKE_BUILD_TYPE=Release', d)}"
|
||||
|
||||
EXTRA_OECMAKE += "\
|
||||
-DCMSIS_PATH=${UNPACKDIR}/cmsis \
|
||||
-DMBEDCRYPTO_PATH=${UNPACKDIR}/mbedtls \
|
||||
-DMCUBOOT_PATH=${UNPACKDIR}/mcuboot \
|
||||
-DQCBOR_PATH=${UNPACKDIR}/qcbor \
|
||||
-DT_COSE_PATH=${UNPACKDIR}/t_cose \
|
||||
-DTFM_EXTRAS_REPO_PATH=${UNPACKDIR}/tfm-extras \
|
||||
-DTFM_TEST_REPO_PATH=${UNPACKDIR}/tf-m-tests \
|
||||
-DCMSIS_PATH=${S}/external/cmsis \
|
||||
-DMBEDCRYPTO_PATH=${S}/external/mbedtls \
|
||||
-DMCUBOOT_PATH=${S}/external/mcuboot \
|
||||
-DQCBOR_PATH=${S}/external/qcbor \
|
||||
-DT_COSE_PATH=${S}/external/t_cose \
|
||||
-DTFM_EXTRAS_REPO_PATH=${S}/external/tfm-extras \
|
||||
-DTFM_TEST_REPO_PATH=${S}/external/tf-m-tests \
|
||||
"
|
||||
|
||||
export CMAKE_BUILD_PARALLEL_LEVEL = "${@oe.utils.parallel_make(d, False)}"
|
||||
|
||||
Reference in New Issue
Block a user