{"SPDXID": "SPDXRef-DOCUMENT", "creationInfo": {"comment": "This document was created by analyzing recipe files during the build.", "created": "2026-06-06T17:48:18Z", "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-joint-limits-f351e3d1-bdf8-5ac0-9691-e16eec3cd306", "externalDocumentRefs": [{"checksum": {"algorithm": "SHA1", "checksumValue": "4a834ed823e7a58d136f85328962015c1c602468"}, "externalDocumentId": "DocumentRef-dependency-recipe-ament-cmake-gen-version-h-native", "spdxDocument": "http://spdx.org/spdxdocs/recipe-ament-cmake-gen-version-h-native-519a4ced-87cd-5090-9764-2f1681586c17"}, {"checksum": {"algorithm": "SHA1", "checksumValue": "a33b3f0a08a481c99617d276f8f9ceb4c35b3099"}, "externalDocumentId": "DocumentRef-dependency-recipe-ament-cmake-native", "spdxDocument": "http://spdx.org/spdxdocs/recipe-ament-cmake-native-5827e19d-4e41-5d66-9c63-c9239ae6b979"}, {"checksum": {"algorithm": "SHA1", "checksumValue": "484fa0ad190a18b7ae8eab227659c79e5177ee00"}, "externalDocumentId": "DocumentRef-dependency-recipe-backward-ros", "spdxDocument": "http://spdx.org/spdxdocs/recipe-backward-ros-c61a12c8-b1ca-5de9-b21b-b8cc0618d68c"}, {"checksum": {"algorithm": "SHA1", "checksumValue": "57f14868aa627d81c32587de64cf30375136eeff"}, "externalDocumentId": "DocumentRef-dependency-recipe-cmake-native", "spdxDocument": "http://spdx.org/spdxdocs/recipe-cmake-native-065aeeea-e673-57cc-a9f5-a3fe1fc2b3ea"}, {"checksum": {"algorithm": "SHA1", "checksumValue": "ab4203a3646b03391092172ee3760ee7edfd01f4"}, "externalDocumentId": "DocumentRef-dependency-recipe-fmt", "spdxDocument": "http://spdx.org/spdxdocs/recipe-fmt-41672a23-bc25-5ae7-b133-e8835a061be1"}, {"checksum": {"algorithm": "SHA1", "checksumValue": "b673e159f94b3a12df9854d964495640adf2b67c"}, "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": "bea3135e31acb0fc740a62557f21527c31a15ca5"}, "externalDocumentId": "DocumentRef-dependency-recipe-gcc-runtime", "spdxDocument": "http://spdx.org/spdxdocs/recipe-gcc-runtime-a8177036-816d-5f00-a030-969647302050"}, {"checksum": {"algorithm": "SHA1", "checksumValue": "d725f06c2ebed554ba90ab3489e220528c9c8c7a"}, "externalDocumentId": "DocumentRef-dependency-recipe-glibc", "spdxDocument": "http://spdx.org/spdxdocs/recipe-glibc-8ec5f1d4-204b-530d-8854-79bbb314d6d7"}, {"checksum": {"algorithm": "SHA1", "checksumValue": "74bf643aa99c3105cb29626a8756623c02c55857"}, "externalDocumentId": "DocumentRef-dependency-recipe-ninja-native", "spdxDocument": "http://spdx.org/spdxdocs/recipe-ninja-native-69509a4d-51be-58e4-8b69-f8cab885e13f"}, {"checksum": {"algorithm": "SHA1", "checksumValue": "c300ea004b199b41d3498a635a7314f43f69ba12"}, "externalDocumentId": "DocumentRef-dependency-recipe-pluginlib", "spdxDocument": "http://spdx.org/spdxdocs/recipe-pluginlib-4ebd9b99-8def-5878-8790-40f01eb26281"}, {"checksum": {"algorithm": "SHA1", "checksumValue": "aa04abe6722cb6b1b9abb1ce7c02ad3bf6ebec95"}, "externalDocumentId": "DocumentRef-dependency-recipe-python3-native", "spdxDocument": "http://spdx.org/spdxdocs/recipe-python3-native-34cc7325-70e1-5a3a-873a-66b0c1f8d193"}, {"checksum": {"algorithm": "SHA1", "checksumValue": "a9fdf30fe4def89ad675efba20dc59f91e409383"}, "externalDocumentId": "DocumentRef-dependency-recipe-rclcpp", "spdxDocument": "http://spdx.org/spdxdocs/recipe-rclcpp-9fc19bee-b071-5125-aecc-43a9bae0f37d"}, {"checksum": {"algorithm": "SHA1", "checksumValue": "a9ce3a36cddbc5e4af71d7e54f1568b6ca5313df"}, "externalDocumentId": "DocumentRef-dependency-recipe-rclcpp-lifecycle", "spdxDocument": "http://spdx.org/spdxdocs/recipe-rclcpp-lifecycle-6cb167d2-e907-516e-99ac-f2e645d07326"}, {"checksum": {"algorithm": "SHA1", "checksumValue": "3d65e5bb386a68b7a5f72b6ae20c5bd3f7340783"}, "externalDocumentId": "DocumentRef-dependency-recipe-realtime-tools", "spdxDocument": "http://spdx.org/spdxdocs/recipe-realtime-tools-643f34e0-6808-5195-a888-ee19a9c86f0e"}, {"checksum": {"algorithm": "SHA1", "checksumValue": "10a9d93c062c731ff39b68f203b8e5eea0c51623"}, "externalDocumentId": "DocumentRef-dependency-recipe-ros2-control-cmake", "spdxDocument": "http://spdx.org/spdxdocs/recipe-ros2-control-cmake-3befae27-9dc1-5311-8123-4365d38fe012"}, {"checksum": {"algorithm": "SHA1", "checksumValue": "2365c46aab12dc60a4be305eae004d90b04edd82"}, "externalDocumentId": "DocumentRef-dependency-recipe-trajectory-msgs", "spdxDocument": "http://spdx.org/spdxdocs/recipe-trajectory-msgs-538eef24-ce78-52ec-b60c-a0bf127dba7a"}, {"checksum": {"algorithm": "SHA1", "checksumValue": "eba229f7082a4d4064d2cceefea7769d9b3623d7"}, "externalDocumentId": "DocumentRef-dependency-recipe-urdf", "spdxDocument": "http://spdx.org/spdxdocs/recipe-urdf-a87ada7d-3aa4-5379-921a-3bbf28c72480"}], "name": "recipe-joint-limits", "packages": [{"SPDXID": "SPDXRef-Recipe-joint-limits", "copyrightText": "NOASSERTION", "description": "Package with interfaces for handling of joint limits in controllers or in hardware. The package also implements Saturation Joint Limiter for position-velocity-acceleration set and other individual interfaces.", "downloadLocation": "NOASSERTION", "externalRefs": [{"referenceCategory": "SECURITY", "referenceLocator": "cpe:2.3:*:*:joint-limits:4.44.0-1:*:*:*:*:*:*:*", "referenceType": "http://spdx.org/rdf/references/cpe23Type"}], "homepage": "https://github.com/ros-controls/ros2_control/wiki", "licenseConcluded": "NOASSERTION", "licenseDeclared": "Apache-2.0", "licenseInfoFromFiles": ["NOASSERTION"], "name": "joint-limits", "summary": "joint-limits version 4.44.0-1-r0", "supplier": "Organization: OpenEmbedded ()", "versionInfo": "4.44.0-1"}, {"SPDXID": "SPDXRef-Download-joint-limits-1", "copyrightText": "NOASSERTION", "downloadLocation": "git+https://github.com/ros2-gbp/ros2_control-release@550253325cb1af3e79e1c39dac4e7cf79df85ad5", "licenseConcluded": "NOASSERTION", "licenseDeclared": "NOASSERTION", "licenseInfoFromFiles": ["NOASSERTION"], "name": "joint-limits-source-1", "supplier": "NOASSERTION"}], "relationships": [{"relatedSpdxElement": "SPDXRef-Recipe-joint-limits", "relationshipType": "DESCRIBES", "spdxElementId": "SPDXRef-DOCUMENT"}, {"relatedSpdxElement": "SPDXRef-Download-joint-limits-1", "relationshipType": "DESCRIBES", "spdxElementId": "SPDXRef-DOCUMENT"}, {"relatedSpdxElement": "SPDXRef-Recipe-joint-limits", "relationshipType": "BUILD_DEPENDENCY_OF", "spdxElementId": "SPDXRef-Download-joint-limits-1"}, {"relatedSpdxElement": "SPDXRef-Recipe-joint-limits", "relationshipType": "BUILD_DEPENDENCY_OF", "spdxElementId": "DocumentRef-dependency-recipe-ament-cmake-gen-version-h-native:SPDXRef-Recipe-ament-cmake-gen-version-h-native"}, {"relatedSpdxElement": "SPDXRef-Recipe-joint-limits", "relationshipType": "BUILD_DEPENDENCY_OF", "spdxElementId": "DocumentRef-dependency-recipe-ament-cmake-native:SPDXRef-Recipe-ament-cmake-native"}, {"relatedSpdxElement": "SPDXRef-Recipe-joint-limits", "relationshipType": "BUILD_DEPENDENCY_OF", "spdxElementId": "DocumentRef-dependency-recipe-backward-ros:SPDXRef-Recipe-backward-ros"}, {"relatedSpdxElement": "SPDXRef-Recipe-joint-limits", "relationshipType": "BUILD_DEPENDENCY_OF", "spdxElementId": "DocumentRef-dependency-recipe-cmake-native:SPDXRef-Recipe-cmake-native"}, {"relatedSpdxElement": "SPDXRef-Recipe-joint-limits", "relationshipType": "BUILD_DEPENDENCY_OF", "spdxElementId": "DocumentRef-dependency-recipe-fmt:SPDXRef-Recipe-fmt"}, {"relatedSpdxElement": "SPDXRef-Recipe-joint-limits", "relationshipType": "BUILD_DEPENDENCY_OF", "spdxElementId": "DocumentRef-dependency-recipe-gcc-cross-aarch64:SPDXRef-Recipe-gcc-cross-aarch64"}, {"relatedSpdxElement": "SPDXRef-Recipe-joint-limits", "relationshipType": "BUILD_DEPENDENCY_OF", "spdxElementId": "DocumentRef-dependency-recipe-gcc-runtime:SPDXRef-Recipe-gcc-runtime"}, {"relatedSpdxElement": "SPDXRef-Recipe-joint-limits", "relationshipType": "BUILD_DEPENDENCY_OF", "spdxElementId": "DocumentRef-dependency-recipe-glibc:SPDXRef-Recipe-glibc"}, {"relatedSpdxElement": "SPDXRef-Recipe-joint-limits", "relationshipType": "BUILD_DEPENDENCY_OF", "spdxElementId": "DocumentRef-dependency-recipe-ninja-native:SPDXRef-Recipe-ninja-native"}, {"relatedSpdxElement": "SPDXRef-Recipe-joint-limits", "relationshipType": "BUILD_DEPENDENCY_OF", "spdxElementId": "DocumentRef-dependency-recipe-pluginlib:SPDXRef-Recipe-pluginlib"}, {"relatedSpdxElement": "SPDXRef-Recipe-joint-limits", "relationshipType": "BUILD_DEPENDENCY_OF", "spdxElementId": "DocumentRef-dependency-recipe-python3-native:SPDXRef-Recipe-python3-native"}, {"relatedSpdxElement": "SPDXRef-Recipe-joint-limits", "relationshipType": "BUILD_DEPENDENCY_OF", "spdxElementId": "DocumentRef-dependency-recipe-rclcpp:SPDXRef-Recipe-rclcpp"}, {"relatedSpdxElement": "SPDXRef-Recipe-joint-limits", "relationshipType": "BUILD_DEPENDENCY_OF", "spdxElementId": "DocumentRef-dependency-recipe-rclcpp-lifecycle:SPDXRef-Recipe-rclcpp-lifecycle"}, {"relatedSpdxElement": "SPDXRef-Recipe-joint-limits", "relationshipType": "BUILD_DEPENDENCY_OF", "spdxElementId": "DocumentRef-dependency-recipe-realtime-tools:SPDXRef-Recipe-realtime-tools"}, {"relatedSpdxElement": "SPDXRef-Recipe-joint-limits", "relationshipType": "BUILD_DEPENDENCY_OF", "spdxElementId": "DocumentRef-dependency-recipe-ros2-control-cmake:SPDXRef-Recipe-ros2-control-cmake"}, {"relatedSpdxElement": "SPDXRef-Recipe-joint-limits", "relationshipType": "BUILD_DEPENDENCY_OF", "spdxElementId": "DocumentRef-dependency-recipe-trajectory-msgs:SPDXRef-Recipe-trajectory-msgs"}, {"relatedSpdxElement": "SPDXRef-Recipe-joint-limits", "relationshipType": "BUILD_DEPENDENCY_OF", "spdxElementId": "DocumentRef-dependency-recipe-urdf:SPDXRef-Recipe-urdf"}], "spdxVersion": "SPDX-2.2"}