From e9b1f3bbbd58a3f451c93166f639ddc8ce262eac Mon Sep 17 00:00:00 2001 From: Jon Mason Date: Wed, 25 Mar 2026 11:25:54 -0400 Subject: [PATCH] arm/fvp-base-a-aem: update to 11.31.28 Massive layout changes inside the FVP tarball. The files are not located in *_FVP anymore, including the license files, which were in 2 locations in previous releases. The tarball changed from Linux64/Linux64_armv8l to Linux_x86/Linux_armv8. It hchanged extention from tgz to tar.gz Also, adding skip of dev-so, due to libstdc++.so and libsystemc.so being symlinks and fvps being a binary. NOTE: the license file changes are due to version bumps for sdl, ffmpeg, libvpx, and python. The license changes in the managements utilities was version changes in clang and golang, and removal of wxWidgets, libstdc++-6.dll, libgcc_s_seh-1.dll, and libwinpthread-1.dll Signed-off-by: Jon Mason --- ...11.29.27.bb => fvp-base-a-aem_11.31.28.bb} | 12 ++++---- .../recipes-devtools/fvp/fvp-envelope.inc | 28 +++++++++++++++++-- 2 files changed, 32 insertions(+), 8 deletions(-) rename meta-arm/recipes-devtools/fvp/{fvp-base-a-aem_11.29.27.bb => fvp-base-a-aem_11.31.28.bb} (58%) diff --git a/meta-arm/recipes-devtools/fvp/fvp-base-a-aem_11.29.27.bb b/meta-arm/recipes-devtools/fvp/fvp-base-a-aem_11.31.28.bb similarity index 58% rename from meta-arm/recipes-devtools/fvp/fvp-base-a-aem_11.29.27.bb rename to meta-arm/recipes-devtools/fvp/fvp-base-a-aem_11.31.28.bb index a45fa153..3c41d05c 100644 --- a/meta-arm/recipes-devtools/fvp/fvp-base-a-aem_11.29.27.bb +++ b/meta-arm/recipes-devtools/fvp/fvp-base-a-aem_11.31.28.bb @@ -4,15 +4,17 @@ LICENSE:append = " & Artistic-2.0 & BSL-1.0 & BSD-2-Clause & Unlicense" SUMMARY = "Arm Fixed Virtual Platform - Armv-A Base RevC Architecture Envelope Model FVP" LIC_FILES_CHKSUM = "file://license_terms/license_agreement.txt;md5=1a33828e132ba71861c11688dbb0bd16 \ - file://license_terms/third_party_licenses/third_party_licenses.txt;md5=92ea58bb219213dfdc48111b693019b6 \ - file://license_terms/third_party_licenses/arm_license_management_utilities/third_party_licenses.txt;md5=abcaafefc7b7a0cdf6664c51f9075c5b" + file://license_terms/third_party_licenses/third_party_licenses.txt;md5=5e3a194978d88188b5a0eebd263f2ca8 \ + file://license_terms/third_party_licenses/arm_license_management_utilities/third_party_licenses.txt;md5=4f61d2f0d834d5c29d53d828572fb6fc" -SRC_URI[fvp-aarch64.sha256sum] = "8fce0dc6346c37b0df4809d08b599463c880b6375f9b58d89a73fa6f9ab2e129" -SRC_URI[fvp-x86_64.sha256sum] = "8a8c4a609c32890ce96799aa7319fff3ecf752c7a9dab52b2e968cb80cc1836f" +SRC_URI[fvp-aarch64.sha256sum] = "38cfb5244fe898bed5c3ba46ec6e3654638e29085ef597b9ed92f36be08adf1d" +SRC_URI[fvp-x86_64.sha256sum] = "527920d1873472de045c844fa6f5b8679511ad4f9996058eb9e075b0f0eada10" # The CSS used in the FVP homepage make it too difficult to query with the tooling currently in Yocto UPSTREAM_VERSION_UNKNOWN = "1" -MODEL_CODE = "FVP_Base_RevC-2xAEMvA" +MODEL_CODE = "FVP_Base_RevC_AEMvA" COMPATIBLE_HOST = "(aarch64|x86_64).*-linux" + +INSANE_SKIP:${PN} += "dev-so" diff --git a/meta-arm/recipes-devtools/fvp/fvp-envelope.inc b/meta-arm/recipes-devtools/fvp/fvp-envelope.inc index a52691eb..a6a618ed 100644 --- a/meta-arm/recipes-devtools/fvp/fvp-envelope.inc +++ b/meta-arm/recipes-devtools/fvp/fvp-envelope.inc @@ -2,15 +2,37 @@ require fvp-common.inc HOMEPAGE = "https://developer.arm.com/Tools%20and%20Software/Fixed%20Virtual%20Platforms/Arm%20Architecture%20FVPs" -SRC_URI = "https://developer.arm.com/-/cdn-downloads/permalink/FVPs-Architecture/${PV_URL_SHORT}/${MODEL_CODE}_${PV_URL}_${FVP_ARCH}.tgz;subdir=${BP};name=fvp-${HOST_ARCH}" +SRC_URI = "https://developer.arm.com/-/cdn-downloads/permalink/FVPs-Architecture/${PV_URL_SHORT}/${MODEL_CODE}_${PV_URL}_${FVP_ARCH}.tar.gz;subdir=${BP};name=fvp-${HOST_ARCH}" UPSTREAM_CHECK_URI = "${HOMEPAGE}" -UPSTREAM_CHECK_REGEX = "${MODEL_CODE}_(?P(\d+[\.\-_]*)+).tgz" +UPSTREAM_CHECK_REGEX = "${MODEL_CODE}_(?P(\d+[\.\-_]*)+).tar.gz" +FVP_ARCH:aarch64 = "Linux_armv8" +FVP_ARCH:x86-64 = "Linux_x86" + +# This is needed because all of the files are now included in the first +# dir in the tarball, instead of having the license files split out. +S = "${UNPACKDIR}/${BP}/${MODEL_CODE}_${VERSION}_${BUILD}" + +# Keeping this separate from do_install below in case it can be moved +# out when other FVPs bump to newer versions and this because needed more commonly +fvp_link_binaries() { + DIR="${D}${FVPDIR}/bin/" + + stat $DIR/FVP_* >/dev/null 2>&1 || bbfatal Cannot find FVP binaries in $DIR + + for FVP in $DIR/FVP_*; do + ln -rs $FVP ${D}${bindir}/$(basename $FVP) + done + # But not the .so files too + rm -f ${D}${bindir}/*.so +} + +# This is needed because the FVP Base doesn't have an install script like others do_install() { mkdir --parents ${D}${FVPDIR} ${D}${bindir} - cp --archive --no-preserve=ownership ${S}/*_pkg/* ${D}${FVPDIR}/ + cp --archive --no-preserve=ownership ${S}/* ${D}${FVPDIR}/ fvp_link_binaries }