diff mbox series

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

Message ID 20260325152555.84335-1-jon.mason@arm.com
State New
Headers show
Series [1/2] arm/fvp-base-a-aem: update to 11.31.28 | expand

Commit Message

Jon Mason March 25, 2026, 3:25 p.m. UTC
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 <jon.mason@arm.com>
---
 ...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 mbox series

Patch

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
 }