{"SPDXID": "SPDXRef-DOCUMENT", "creationInfo": {"comment": "This document was created by analyzing recipe files during the build.", "created": "2026-06-06T17:34:55Z", "creators": ["Tool: OpenEmbedded Core create-spdx.bbclass", "Organization: OpenEmbedded ()", "Person: N/A ()"], "licenseListVersion": "3.14"}, "dataLicense": "CC0-1.0", "documentNamespace": "http://spdx.org/spdxdocs/recipe-tf2-c565fe51-3ca9-5419-8b41-46f3fdc80a62", "externalDocumentRefs": [{"checksum": {"algorithm": "SHA1", "checksumValue": "20037907383941e2539f6249bca27f09517a6e3c"}, "externalDocumentId": "DocumentRef-dependency-recipe-ament-cmake-ros-native", "spdxDocument": "http://spdx.org/spdxdocs/recipe-ament-cmake-ros-native-947b9849-7b9d-56e7-b306-ec0fe08a640f"}, {"checksum": {"algorithm": "SHA1", "checksumValue": "bd8836469f19df751f98d2da6beb10364a4c72a4"}, "externalDocumentId": "DocumentRef-dependency-recipe-builtin-interfaces", "spdxDocument": "http://spdx.org/spdxdocs/recipe-builtin-interfaces-85cc5013-06c5-5d77-9159-f8e9c68c0299"}, {"checksum": {"algorithm": "SHA1", "checksumValue": "29c4ec194e3e1ec2118eb411dda4a691cebffa6b"}, "externalDocumentId": "DocumentRef-dependency-recipe-cmake-native", "spdxDocument": "http://spdx.org/spdxdocs/recipe-cmake-native-065aeeea-e673-57cc-a9f5-a3fe1fc2b3ea"}, {"checksum": {"algorithm": "SHA1", "checksumValue": "7259abb4a2a56bde151b312099d240962f08c357"}, "externalDocumentId": "DocumentRef-dependency-recipe-gcc-cross-aarch64", "spdxDocument": "http://spdx.org/spdxdocs/recipe-gcc-cross-aarch64-e05122e2-842a-5b45-a068-7a450933ae13"}, {"checksum": {"algorithm": "SHA1", "checksumValue": "27f540a1d61a62fce28b7c34eef673bac5d28ecb"}, "externalDocumentId": "DocumentRef-dependency-recipe-gcc-runtime", "spdxDocument": "http://spdx.org/spdxdocs/recipe-gcc-runtime-a8177036-816d-5f00-a030-969647302050"}, {"checksum": {"algorithm": "SHA1", "checksumValue": "f49367413342a870dc9c9d23765120ed31fbb609"}, "externalDocumentId": "DocumentRef-dependency-recipe-geometry-msgs", "spdxDocument": "http://spdx.org/spdxdocs/recipe-geometry-msgs-c8d273a7-7f05-5477-98c2-302437c52359"}, {"checksum": {"algorithm": "SHA1", "checksumValue": "8c3240e7c39b64c99d21f053c5935a76dbfbe3c0"}, "externalDocumentId": "DocumentRef-dependency-recipe-glibc", "spdxDocument": "http://spdx.org/spdxdocs/recipe-glibc-8ec5f1d4-204b-530d-8854-79bbb314d6d7"}, {"checksum": {"algorithm": "SHA1", "checksumValue": "85539104dc9edac6752a1979d406bc7e4c8be010"}, "externalDocumentId": "DocumentRef-dependency-recipe-ninja-native", "spdxDocument": "http://spdx.org/spdxdocs/recipe-ninja-native-69509a4d-51be-58e4-8b69-f8cab885e13f"}, {"checksum": {"algorithm": "SHA1", "checksumValue": "c9f2db439751f24dcd1ac6281b17fb3fafa10c46"}, "externalDocumentId": "DocumentRef-dependency-recipe-python3-native", "spdxDocument": "http://spdx.org/spdxdocs/recipe-python3-native-34cc7325-70e1-5a3a-873a-66b0c1f8d193"}, {"checksum": {"algorithm": "SHA1", "checksumValue": "a7b73b9056cfa4a9172d071ba1df5e4284bb4d0d"}, "externalDocumentId": "DocumentRef-dependency-recipe-rcutils", "spdxDocument": "http://spdx.org/spdxdocs/recipe-rcutils-2d03d6a8-3cec-5750-a76d-b01aaa9dd5b8"}, {"checksum": {"algorithm": "SHA1", "checksumValue": "52df11fc7fce823a9263413adafac6cc9fea57f0"}, "externalDocumentId": "DocumentRef-dependency-recipe-rosidl-cmake-native", "spdxDocument": "http://spdx.org/spdxdocs/recipe-rosidl-cmake-native-bee28fa9-a178-5c25-a17b-5ae767801271"}, {"checksum": {"algorithm": "SHA1", "checksumValue": "f8a7c97015d3571cb0748d6baee5adc7e6ec67fe"}, "externalDocumentId": "DocumentRef-dependency-recipe-rosidl-generator-py-native", "spdxDocument": "http://spdx.org/spdxdocs/recipe-rosidl-generator-py-native-05e06b07-dfed-5eab-b08b-d86b995f5a10"}, {"checksum": {"algorithm": "SHA1", "checksumValue": "8b7cdbee07ce5f59f677e1991ed62f4309cf8ce7"}, "externalDocumentId": "DocumentRef-dependency-recipe-rosidl-runtime-cpp", "spdxDocument": "http://spdx.org/spdxdocs/recipe-rosidl-runtime-cpp-e43aaf35-2ee4-5625-9077-179357da67bd"}], "name": "recipe-tf2", "packages": [{"SPDXID": "SPDXRef-Recipe-tf2", "copyrightText": "NOASSERTION", "description": "tf2 is the second generation of the transform library, which lets     the user keep track of multiple coordinate frames over time. tf2     maintains the relationship between coordinate frames in a tree     structure buffered in time, and lets the user transform points,     vectors, etc between any two coordinate frames at any desired     point in time.", "downloadLocation": "NOASSERTION", "externalRefs": [{"referenceCategory": "SECURITY", "referenceLocator": "cpe:2.3:*:*:tf2:0.36.20-1:*:*:*:*:*:*:*", "referenceType": "http://spdx.org/rdf/references/cpe23Type"}], "homepage": "http://www.ros.org/wiki/tf2", "licenseConcluded": "NOASSERTION", "licenseDeclared": "BSD-3-Clause", "licenseInfoFromFiles": ["NOASSERTION"], "name": "tf2", "summary": "tf2 version 0.36.20-1-r0", "supplier": "Organization: OpenEmbedded ()", "versionInfo": "0.36.20-1"}, {"SPDXID": "SPDXRef-Download-tf2-1", "copyrightText": "NOASSERTION", "downloadLocation": "git+https://github.com/ros2-gbp/geometry2-release@685143bce2a21eab3c2caa756b33df534d0c8695", "licenseConcluded": "NOASSERTION", "licenseDeclared": "NOASSERTION", "licenseInfoFromFiles": ["NOASSERTION"], "name": "tf2-source-1", "supplier": "NOASSERTION"}], "relationships": [{"relatedSpdxElement": "SPDXRef-Recipe-tf2", "relationshipType": "DESCRIBES", "spdxElementId": "SPDXRef-DOCUMENT"}, {"relatedSpdxElement": "SPDXRef-Download-tf2-1", "relationshipType": "DESCRIBES", "spdxElementId": "SPDXRef-DOCUMENT"}, {"relatedSpdxElement": "SPDXRef-Recipe-tf2", "relationshipType": "BUILD_DEPENDENCY_OF", "spdxElementId": "SPDXRef-Download-tf2-1"}, {"relatedSpdxElement": "SPDXRef-Recipe-tf2", "relationshipType": "BUILD_DEPENDENCY_OF", "spdxElementId": "DocumentRef-dependency-recipe-ament-cmake-ros-native:SPDXRef-Recipe-ament-cmake-ros-native"}, {"relatedSpdxElement": "SPDXRef-Recipe-tf2", "relationshipType": "BUILD_DEPENDENCY_OF", "spdxElementId": "DocumentRef-dependency-recipe-builtin-interfaces:SPDXRef-Recipe-builtin-interfaces"}, {"relatedSpdxElement": "SPDXRef-Recipe-tf2", "relationshipType": "BUILD_DEPENDENCY_OF", "spdxElementId": "DocumentRef-dependency-recipe-cmake-native:SPDXRef-Recipe-cmake-native"}, {"relatedSpdxElement": "SPDXRef-Recipe-tf2", "relationshipType": "BUILD_DEPENDENCY_OF", "spdxElementId": "DocumentRef-dependency-recipe-gcc-cross-aarch64:SPDXRef-Recipe-gcc-cross-aarch64"}, {"relatedSpdxElement": "SPDXRef-Recipe-tf2", "relationshipType": "BUILD_DEPENDENCY_OF", "spdxElementId": "DocumentRef-dependency-recipe-gcc-runtime:SPDXRef-Recipe-gcc-runtime"}, {"relatedSpdxElement": "SPDXRef-Recipe-tf2", "relationshipType": "BUILD_DEPENDENCY_OF", "spdxElementId": "DocumentRef-dependency-recipe-geometry-msgs:SPDXRef-Recipe-geometry-msgs"}, {"relatedSpdxElement": "SPDXRef-Recipe-tf2", "relationshipType": "BUILD_DEPENDENCY_OF", "spdxElementId": "DocumentRef-dependency-recipe-glibc:SPDXRef-Recipe-glibc"}, {"relatedSpdxElement": "SPDXRef-Recipe-tf2", "relationshipType": "BUILD_DEPENDENCY_OF", "spdxElementId": "DocumentRef-dependency-recipe-ninja-native:SPDXRef-Recipe-ninja-native"}, {"relatedSpdxElement": "SPDXRef-Recipe-tf2", "relationshipType": "BUILD_DEPENDENCY_OF", "spdxElementId": "DocumentRef-dependency-recipe-python3-native:SPDXRef-Recipe-python3-native"}, {"relatedSpdxElement": "SPDXRef-Recipe-tf2", "relationshipType": "BUILD_DEPENDENCY_OF", "spdxElementId": "DocumentRef-dependency-recipe-rcutils:SPDXRef-Recipe-rcutils"}, {"relatedSpdxElement": "SPDXRef-Recipe-tf2", "relationshipType": "BUILD_DEPENDENCY_OF", "spdxElementId": "DocumentRef-dependency-recipe-rosidl-cmake-native:SPDXRef-Recipe-rosidl-cmake-native"}, {"relatedSpdxElement": "SPDXRef-Recipe-tf2", "relationshipType": "BUILD_DEPENDENCY_OF", "spdxElementId": "DocumentRef-dependency-recipe-rosidl-generator-py-native:SPDXRef-Recipe-rosidl-generator-py-native"}, {"relatedSpdxElement": "SPDXRef-Recipe-tf2", "relationshipType": "BUILD_DEPENDENCY_OF", "spdxElementId": "DocumentRef-dependency-recipe-rosidl-runtime-cpp:SPDXRef-Recipe-rosidl-runtime-cpp"}], "spdxVersion": "SPDX-2.2"}