[PATCH 1/2] arm/fvp-base-a-aem: update to 11.31.28

Jon Mason <[email protected]> Wed, 25 Mar 2026 11:25:54 -0400
Newsgroups org.yoctoproject.lists.meta-arm
Message-ID <[email protected]>
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 <[email protected]>
---
 ...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 a45fa153a171..1ef4a59cfb74 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 a52691ebc505..a6a618edb4ea 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<pver>(\d+[\.\-_]*)+).tgz"
+UPSTREAM_CHECK_REGEX = "${MODEL_CODE}_(?P<pver>(\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
 }
-- 
2.50.1 (Apple Git-155)