{
  "@context": "https://spdx.org/rdf/3.0.1/spdx-context.jsonld",
  "@graph": [
    {
      "@id": "_:creationInfo_0",
      "type": "CreationInfo",
      "specVersion": "3.0.1",
      "createdBy": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd0"
      ],
      "createdUsing": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/additionalToolSPDXRef-gnrtd1"
      ],
      "created": "2026-10-02T05:09:57Z"
    },
    {
      "@id": "_:creationInfo_1",
      "type": "CreationInfo",
      "specVersion": "3.0.1",
      "createdBy": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd2"
      ],
      "createdUsing": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/additionalToolSPDXRef-gnrtd3"
      ],
      "created": "2026-10-02T05:09:57Z"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd92769",
      "type": "Relationship",
      "relationshipType": "hasDeclaredLicense",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd92770"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd92764",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd92759",
      "type": "Relationship",
      "relationshipType": "hasConcludedLicense",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd92760"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd92757",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd92762",
      "type": "Relationship",
      "relationshipType": "hasDeclaredLicense",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd92763"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd92757",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd92766",
      "type": "Relationship",
      "relationshipType": "hasConcludedLicense",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd92767"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd92764",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd92765",
      "type": "LifecycleScopedRelationship",
      "relationshipType": "dependsOn",
      "scope": "build",
      "completeness": "noAssertion",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd92757"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd92764",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd92767",
      "type": "simplelicensing_LicenseExpression",
      "simplelicensing_licenseExpression": "(BSD-2-Clause OR MIT OR Ruby)",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd92770",
      "type": "simplelicensing_LicenseExpression",
      "simplelicensing_licenseExpression": "(BSD-2-Clause OR MIT OR Ruby)",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd92760",
      "type": "simplelicensing_LicenseExpression",
      "simplelicensing_licenseExpression": "(BSD-2-Clause OR MIT OR Ruby)",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd92763",
      "type": "simplelicensing_LicenseExpression",
      "simplelicensing_licenseExpression": "(BSD-2-Clause OR MIT OR Ruby)",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd92761",
      "type": "Organization",
      "name": "http://openeuler.org",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd92768",
      "type": "Organization",
      "name": "http://openeuler.org",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd92757",
      "type": "software_Package",
      "software_copyrightText": "",
      "suppliedBy": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd92761",
      "software_downloadLocation": "NOASSERTION",
      "summary": "Mocking and stubbing library",
      "software_packageVersion": "0:2.8.2-1.oe2609",
      "software_homePage": "https://github.com/freerange/mocha",
      "description": "Mocking and stubbing library with JMock/SchMock syntax, which allows mocking\nand stubbing of methods on real (non-mock) classes.",
      "name": "rubygem-mocha",
      "software_sourceInfo": "acquired package info from repodata DB: repodata/d5dc399c94eea659ed2585c32a1ad22148342df12e300f0fa481873cdbf6214a-primary.sqlite.bz2",
      "software_packageUrl": "pkg:rpm/rubygem-mocha@2.8.2-1.oe2609?arch=noarch&epoch=0&upstream=rubygem-mocha-2.8.2-1.oe2609.src.rpm",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd92764",
      "type": "software_Package",
      "software_copyrightText": "",
      "suppliedBy": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd92768",
      "software_downloadLocation": "NOASSERTION",
      "summary": "Documentation for rubygem-mocha",
      "software_packageVersion": "0:2.8.2-1.oe2609",
      "software_homePage": "https://github.com/freerange/mocha",
      "description": "This package contains documentation for rubygem-mocha.",
      "name": "rubygem-mocha-doc",
      "software_sourceInfo": "acquired package info from repodata DB: repodata/d5dc399c94eea659ed2585c32a1ad22148342df12e300f0fa481873cdbf6214a-primary.sqlite.bz2",
      "software_packageUrl": "pkg:rpm/rubygem-mocha-doc@2.8.2-1.oe2609?arch=noarch&epoch=0&upstream=rubygem-mocha-2.8.2-1.oe2609.src.rpm",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/additionalToolSPDXRef-gnrtd3",
      "type": "Tool",
      "name": "syft-[not provided]",
      "creationInfo": "_:creationInfo_1"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/additionalToolSPDXRef-gnrtd1",
      "type": "Tool",
      "name": "syft-[not provided]",
      "creationInfo": "_:creationInfo_0"
    }
  ]
}