{"@context":"https://spdx.org/rdf/3.0.1/spdx-context.jsonld","@graph":[{"type":"CreationInfo","@id":"_:CreationInfo0","created":"2011-04-05T23:00:00Z","createdBy":["http://spdx.org/spdxdocs/bitbake-addba517-4804-5ae3-87c2-0c3a1a5812ba/bitbake/agent/OpenEmbedded"],"createdUsing":["http://spdx.org/spdxdocs/bitbake-addba517-4804-5ae3-87c2-0c3a1a5812ba/bitbake/tool/oe-spdx-creator_1_0"],"specVersion":"3.0.1"},{"type":"CreationInfo","@id":"_:CreationInfo1","created":"2025-08-02T06:58:39Z","createdBy":["http://spdx.org/spdxdocs/bitbake-addba517-4804-5ae3-87c2-0c3a1a5812ba/bitbake/agent/OpenEmbedded"],"createdUsing":["http://spdx.org/spdxdocs/bitbake-addba517-4804-5ae3-87c2-0c3a1a5812ba/bitbake/tool/oe-spdx-creator_1_0"],"specVersion":"3.0.1"},{"type":"Organization","spdxId":"http://spdx.org/spdxdocs/bitbake-addba517-4804-5ae3-87c2-0c3a1a5812ba/bitbake/agent/OpenEmbedded","creationInfo":"_:CreationInfo0","extension":[{"type":"https://rdf.openembedded.org/spdx/3.0/id-alias"}],"name":"OpenEmbedded"},{"type":"Tool","spdxId":"http://spdx.org/spdxdocs/bitbake-addba517-4804-5ae3-87c2-0c3a1a5812ba/bitbake/tool/oe-spdx-creator_1_0","creationInfo":"_:CreationInfo0","extension":[{"type":"https://rdf.openembedded.org/spdx/3.0/id-alias"}],"name":"oe-spdx-creator 1.0"},{"type":"SpdxDocument","spdxId":"http://spdx.org/spdxdocs/libffi-ca19a601-2f55-55a5-8304-8a0aefc05528/35c4bc59fdc9af737e7122661765093b95fe75cda519c451da2bf324df4ca9b0/document/package-libffi-dev","profileConformance":["build","core","security","simpleLicensing","software"],"rootElement":["http://spdx.org/spdxdocs/libffi-ca19a601-2f55-55a5-8304-8a0aefc05528/35c4bc59fdc9af737e7122661765093b95fe75cda519c451da2bf324df4ca9b0/package/libffi-dev"],"creationInfo":"_:CreationInfo1","extension":[{"type":"https://rdf.openembedded.org/spdx/3.0/id-alias","https://rdf.openembedded.org/spdx/3.0/alias":"http://spdxdocs.org/openembedded-alias/doc/libffi/package-libffi-dev/libffi/UNIHASH/document/package-libffi-dev","https://rdf.openembedded.org/spdx/3.0/link-name":"ac02a27c88d6787cbcf0cd28eb16dac0a5a14b82166fa30f63417b09f07dee8e"}],"name":"package-libffi-dev"},{"type":"software_Package","spdxId":"http://spdx.org/spdxdocs/libffi-ca19a601-2f55-55a5-8304-8a0aefc05528/35c4bc59fdc9af737e7122661765093b95fe75cda519c451da2bf324df4ca9b0/package/libffi-dev","software_homePage":"http://sourceware.org/libffi/","software_packageUrl":"pkg:yocto/core/libffi@3.5.2","software_packageVersion":"3.5.2","software_primaryPurpose":"install","creationInfo":"_:CreationInfo1","description":"The `libffi' library provides a portable, high level programming interface to various calling conventions.  This allows a programmer to call any function specified by a call interface description at run time. FFI stands for Foreign Function Interface.  A foreign function interface is the popular name for the interface that allows code written in one language to call code written in another language.  The `libffi' library really only provides the lowest, machine dependent layer of a fully featured foreign function interface.  A layer must exist above `libffi' that handles type conversions for values passed between the two languages.  This package contains symbolic links, header files, and related items necessary for software development.","extension":[{"type":"https://rdf.openembedded.org/spdx/3.0/id-alias","https://rdf.openembedded.org/spdx/3.0/alias":"http://spdxdocs.org/openembedded-alias/by-doc-hash/ac02a27c88d6787cbcf0cd28eb16dac0a5a14b82166fa30f63417b09f07dee8e/libffi/UNIHASH/package/libffi-dev"}],"externalIdentifier":[{"type":"ExternalIdentifier","externalIdentifierType":"packageUrl","identifier":"pkg:yocto/core/libffi@3.5.2"},{"type":"ExternalIdentifier","externalIdentifierType":"cpe23","identifier":"cpe:2.3:*:*:libffi:3.5.2:*:*:*:*:*:*:*"}],"name":"libffi-dev","summary":"A portable foreign function interface library - Development files"},{"type":"software_File","spdxId":"http://spdx.org/spdxdocs/libffi-ca19a601-2f55-55a5-8304-8a0aefc05528/35c4bc59fdc9af737e7122661765093b95fe75cda519c451da2bf324df4ca9b0/package/libffi-dev/file/1","creationInfo":"_:CreationInfo1","extension":[{"type":"https://rdf.openembedded.org/spdx/3.0/id-alias","https://rdf.openembedded.org/spdx/3.0/alias":"http://spdxdocs.org/openembedded-alias/by-doc-hash/ac02a27c88d6787cbcf0cd28eb16dac0a5a14b82166fa30f63417b09f07dee8e/libffi/UNIHASH/package/libffi-dev/file/1"}],"name":"usr/include/ffi-64.h","verifiedUsing":[{"type":"Hash","algorithm":"sha256","hashValue":"ddea9fd4373776772a3e2c1de5e01190a3d22aeea1349a4c833c72bc5923d31a"}]},{"type":"software_File","spdxId":"http://spdx.org/spdxdocs/libffi-ca19a601-2f55-55a5-8304-8a0aefc05528/35c4bc59fdc9af737e7122661765093b95fe75cda519c451da2bf324df4ca9b0/package/libffi-dev/file/2","creationInfo":"_:CreationInfo1","extension":[{"type":"https://rdf.openembedded.org/spdx/3.0/id-alias","https://rdf.openembedded.org/spdx/3.0/alias":"http://spdxdocs.org/openembedded-alias/by-doc-hash/ac02a27c88d6787cbcf0cd28eb16dac0a5a14b82166fa30f63417b09f07dee8e/libffi/UNIHASH/package/libffi-dev/file/2"}],"name":"usr/include/ffi.h","verifiedUsing":[{"type":"Hash","algorithm":"sha256","hashValue":"ed92642051ee9c7258ef0c517bbf798abd1f493fb59a1bb341b5a4143bb9ce2f"}]},{"type":"software_File","spdxId":"http://spdx.org/spdxdocs/libffi-ca19a601-2f55-55a5-8304-8a0aefc05528/35c4bc59fdc9af737e7122661765093b95fe75cda519c451da2bf324df4ca9b0/package/libffi-dev/file/3","creationInfo":"_:CreationInfo1","extension":[{"type":"https://rdf.openembedded.org/spdx/3.0/id-alias","https://rdf.openembedded.org/spdx/3.0/alias":"http://spdxdocs.org/openembedded-alias/by-doc-hash/ac02a27c88d6787cbcf0cd28eb16dac0a5a14b82166fa30f63417b09f07dee8e/libffi/UNIHASH/package/libffi-dev/file/3"}],"name":"usr/include/ffitarget-64.h","verifiedUsing":[{"type":"Hash","algorithm":"sha256","hashValue":"521c9eda334d6b369d527b684a84d50690c7a785d68b55514b6ead24300a0ebf"}]},{"type":"software_File","spdxId":"http://spdx.org/spdxdocs/libffi-ca19a601-2f55-55a5-8304-8a0aefc05528/35c4bc59fdc9af737e7122661765093b95fe75cda519c451da2bf324df4ca9b0/package/libffi-dev/file/4","creationInfo":"_:CreationInfo1","extension":[{"type":"https://rdf.openembedded.org/spdx/3.0/id-alias","https://rdf.openembedded.org/spdx/3.0/alias":"http://spdxdocs.org/openembedded-alias/by-doc-hash/ac02a27c88d6787cbcf0cd28eb16dac0a5a14b82166fa30f63417b09f07dee8e/libffi/UNIHASH/package/libffi-dev/file/4"}],"name":"usr/include/ffitarget.h","verifiedUsing":[{"type":"Hash","algorithm":"sha256","hashValue":"6fbe2ba9d26e75bf947cc21207e8c6ec6e6ea91a1221abc20fc24ed544db3469"}]},{"type":"software_File","spdxId":"http://spdx.org/spdxdocs/libffi-ca19a601-2f55-55a5-8304-8a0aefc05528/35c4bc59fdc9af737e7122661765093b95fe75cda519c451da2bf324df4ca9b0/package/libffi-dev/file/5","creationInfo":"_:CreationInfo1","extension":[{"type":"https://rdf.openembedded.org/spdx/3.0/id-alias","https://rdf.openembedded.org/spdx/3.0/alias":"http://spdxdocs.org/openembedded-alias/by-doc-hash/ac02a27c88d6787cbcf0cd28eb16dac0a5a14b82166fa30f63417b09f07dee8e/libffi/UNIHASH/package/libffi-dev/file/5"}],"name":"usr/lib/pkgconfig/libffi.pc","verifiedUsing":[{"type":"Hash","algorithm":"sha256","hashValue":"df308d2c7c957d7d5804d6c823d9644a30152ab21195d4fa1d2036edcee9da56"}]},{"type":"Relationship","spdxId":"http://spdx.org/spdxdocs/libffi-ca19a601-2f55-55a5-8304-8a0aefc05528/35c4bc59fdc9af737e7122661765093b95fe75cda519c451da2bf324df4ca9b0/relationship/1d9217bbc83b94a9748cf94a7bd44582","from":"http://spdx.org/spdxdocs/libffi-ca19a601-2f55-55a5-8304-8a0aefc05528/35c4bc59fdc9af737e7122661765093b95fe75cda519c451da2bf324df4ca9b0/package/libffi-dev","relationshipType":"hasDeclaredLicense","to":["http://spdxdocs.org/openembedded-alias/by-doc-hash/61a43d12fbbd18b70663923f9017755dc881dbacc10011d8a906585e5e66225a/libffi/UNIHASH/license/3_28_0/MIT"],"creationInfo":"_:CreationInfo1","extension":[{"type":"https://rdf.openembedded.org/spdx/3.0/id-alias","https://rdf.openembedded.org/spdx/3.0/alias":"http://spdxdocs.org/openembedded-alias/by-doc-hash/ac02a27c88d6787cbcf0cd28eb16dac0a5a14b82166fa30f63417b09f07dee8e/libffi/UNIHASH/relationship/1d9217bbc83b94a9748cf94a7bd44582"}]},{"type":"LifecycleScopedRelationship","spdxId":"http://spdx.org/spdxdocs/libffi-ca19a601-2f55-55a5-8304-8a0aefc05528/35c4bc59fdc9af737e7122661765093b95fe75cda519c451da2bf324df4ca9b0/relationship/75ae71942c6e6e20cfbf38e7b861b735","scope":"build","from":"http://spdxdocs.org/openembedded-alias/by-doc-hash/61a43d12fbbd18b70663923f9017755dc881dbacc10011d8a906585e5e66225a/libffi/UNIHASH/build/recipe","relationshipType":"hasOutput","to":["http://spdx.org/spdxdocs/libffi-ca19a601-2f55-55a5-8304-8a0aefc05528/35c4bc59fdc9af737e7122661765093b95fe75cda519c451da2bf324df4ca9b0/package/libffi-dev"],"creationInfo":"_:CreationInfo1","extension":[{"type":"https://rdf.openembedded.org/spdx/3.0/id-alias","https://rdf.openembedded.org/spdx/3.0/alias":"http://spdxdocs.org/openembedded-alias/by-doc-hash/ac02a27c88d6787cbcf0cd28eb16dac0a5a14b82166fa30f63417b09f07dee8e/libffi/UNIHASH/relationship/75ae71942c6e6e20cfbf38e7b861b735"}]},{"type":"Relationship","spdxId":"http://spdx.org/spdxdocs/libffi-ca19a601-2f55-55a5-8304-8a0aefc05528/35c4bc59fdc9af737e7122661765093b95fe75cda519c451da2bf324df4ca9b0/relationship/7b01f43c158514327e32ccc8ace3e16c","from":"http://spdx.org/spdxdocs/libffi-ca19a601-2f55-55a5-8304-8a0aefc05528/35c4bc59fdc9af737e7122661765093b95fe75cda519c451da2bf324df4ca9b0/package/libffi-dev","relationshipType":"contains","to":["http://spdx.org/spdxdocs/libffi-ca19a601-2f55-55a5-8304-8a0aefc05528/35c4bc59fdc9af737e7122661765093b95fe75cda519c451da2bf324df4ca9b0/package/libffi-dev/file/1","http://spdx.org/spdxdocs/libffi-ca19a601-2f55-55a5-8304-8a0aefc05528/35c4bc59fdc9af737e7122661765093b95fe75cda519c451da2bf324df4ca9b0/package/libffi-dev/file/2","http://spdx.org/spdxdocs/libffi-ca19a601-2f55-55a5-8304-8a0aefc05528/35c4bc59fdc9af737e7122661765093b95fe75cda519c451da2bf324df4ca9b0/package/libffi-dev/file/3","http://spdx.org/spdxdocs/libffi-ca19a601-2f55-55a5-8304-8a0aefc05528/35c4bc59fdc9af737e7122661765093b95fe75cda519c451da2bf324df4ca9b0/package/libffi-dev/file/4","http://spdx.org/spdxdocs/libffi-ca19a601-2f55-55a5-8304-8a0aefc05528/35c4bc59fdc9af737e7122661765093b95fe75cda519c451da2bf324df4ca9b0/package/libffi-dev/file/5"],"creationInfo":"_:CreationInfo1","extension":[{"type":"https://rdf.openembedded.org/spdx/3.0/id-alias","https://rdf.openembedded.org/spdx/3.0/alias":"http://spdxdocs.org/openembedded-alias/by-doc-hash/ac02a27c88d6787cbcf0cd28eb16dac0a5a14b82166fa30f63417b09f07dee8e/libffi/UNIHASH/relationship/7b01f43c158514327e32ccc8ace3e16c"}]},{"type":"LifecycleScopedRelationship","spdxId":"http://spdx.org/spdxdocs/libffi-ca19a601-2f55-55a5-8304-8a0aefc05528/35c4bc59fdc9af737e7122661765093b95fe75cda519c451da2bf324df4ca9b0/relationship/86f54ae02469d8d22f1b163fabf61da7","scope":"build","from":"http://spdxdocs.org/openembedded-alias/by-doc-hash/1030a654356bdf1ac2e282c7ed9054022d8977b50f08152d007062bd5010949e/libffi/UNIHASH/recipe/libffi","relationshipType":"generates","to":["http://spdx.org/spdxdocs/libffi-ca19a601-2f55-55a5-8304-8a0aefc05528/35c4bc59fdc9af737e7122661765093b95fe75cda519c451da2bf324df4ca9b0/package/libffi-dev"],"creationInfo":"_:CreationInfo1","extension":[{"type":"https://rdf.openembedded.org/spdx/3.0/id-alias","https://rdf.openembedded.org/spdx/3.0/alias":"http://spdxdocs.org/openembedded-alias/by-doc-hash/ac02a27c88d6787cbcf0cd28eb16dac0a5a14b82166fa30f63417b09f07dee8e/libffi/UNIHASH/relationship/86f54ae02469d8d22f1b163fabf61da7"}]}]}