{
  "@context": "https://spdx.org/rdf/3.0.1/spdx-context.jsonld",
  "@graph": [
    {
      "@id": "_:creationInfo_1",
      "type": "CreationInfo",
      "specVersion": "3.0.1",
      "createdBy": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd2"
      ],
      "createdUsing": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/additionalToolSPDXRef-gnrtd3"
      ],
      "created": "2026-10-02T04:15:47Z"
    },
    {
      "@id": "_:creationInfo_0",
      "type": "CreationInfo",
      "specVersion": "3.0.1",
      "createdBy": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd0"
      ],
      "createdUsing": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/additionalToolSPDXRef-gnrtd1"
      ],
      "created": "2026-10-02T04:15:47Z"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd93909",
      "type": "Relationship",
      "relationshipType": "hasDeclaredLicense",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd25"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd93902",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd92645",
      "type": "Relationship",
      "relationshipType": "hasDeclaredLicense",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd25"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd92640",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd63120",
      "type": "Relationship",
      "relationshipType": "hasDeclaredLicense",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd25"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd63115",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd63118",
      "type": "Relationship",
      "relationshipType": "hasConcludedLicense",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd25"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd63115",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd26704",
      "type": "Relationship",
      "relationshipType": "hasDeclaredLicense",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd26705"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd26694",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd26721",
      "type": "Relationship",
      "relationshipType": "hasConcludedLicense",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd26722"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd26687",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd93907",
      "type": "Relationship",
      "relationshipType": "hasConcludedLicense",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd25"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd93902",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd92643",
      "type": "Relationship",
      "relationshipType": "hasConcludedLicense",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd25"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd92640",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd26701",
      "type": "Relationship",
      "relationshipType": "hasConcludedLicense",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd26702"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd26694",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd26724",
      "type": "Relationship",
      "relationshipType": "hasDeclaredLicense",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd26725"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd26687",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd93904",
      "type": "LifecycleScopedRelationship",
      "relationshipType": "dependsOn",
      "scope": "build",
      "completeness": "noAssertion",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd63115"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd93902",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd93906",
      "type": "LifecycleScopedRelationship",
      "relationshipType": "dependsOn",
      "scope": "build",
      "completeness": "noAssertion",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd26694"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd93902",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd93905",
      "type": "LifecycleScopedRelationship",
      "relationshipType": "dependsOn",
      "scope": "build",
      "completeness": "noAssertion",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd92640"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd93902",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd93903",
      "type": "LifecycleScopedRelationship",
      "relationshipType": "dependsOn",
      "scope": "build",
      "completeness": "noAssertion",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd26687"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd93902",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd26705",
      "type": "simplelicensing_LicenseExpression",
      "simplelicensing_licenseExpression": "(Ruby OR BSD-2-Clause) AND (Ruby OR BSD-2-Clause OR GPL-1.0-or-later) AND BSD-3-Clause AND (GPL-3.0-or-later WITH Bison-exception-2.2) AND ISC AND Public Domain AND MIT AND CC0 AND zlib AND Unicode-DFS-2015",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd26725",
      "type": "simplelicensing_LicenseExpression",
      "simplelicensing_licenseExpression": "((Ruby OR MIT) AND BSD-2-Clause AND MIT AND (BSD-2-Clause OR Ruby) AND (BSD-2-Clause OR Ruby OR GPL-1.0-or-later))",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd25",
      "type": "simplelicensing_LicenseExpression",
      "simplelicensing_licenseExpression": "MIT",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd26722",
      "type": "simplelicensing_LicenseExpression",
      "simplelicensing_licenseExpression": "(BSD-2-Clause AND MIT AND (BSD-2-Clause OR Ruby OR GPL-1.0-or-later) AND (BSD-2-Clause OR Ruby) AND (Ruby OR MIT))",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd26702",
      "type": "simplelicensing_LicenseExpression",
      "simplelicensing_licenseExpression": "(Ruby OR BSD-2-Clause) AND (Ruby OR BSD-2-Clause OR GPL-1.0-or-later) AND BSD-3-Clause AND (GPL-3.0-or-later WITH Bison-exception-2.2) AND ISC AND Public Domain AND MIT AND CC0 AND zlib AND Unicode-DFS-2015",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd26703",
      "type": "Organization",
      "name": "http://openeuler.org",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd26723",
      "type": "Organization",
      "name": "http://openeuler.org",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd93908",
      "type": "Organization",
      "name": "http://openeuler.org",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd92644",
      "type": "Organization",
      "name": "http://openeuler.org",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd63119",
      "type": "Organization",
      "name": "http://openeuler.org",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd63115",
      "type": "software_Package",
      "software_copyrightText": "",
      "suppliedBy": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd63119",
      "software_downloadLocation": "NOASSERTION",
      "summary": "make-like utility base on ruby",
      "software_packageVersion": "0:13.0.6-164.oe2609",
      "software_homePage": "https://www.ruby-lang.org/en/",
      "description": "Rake is a Make-like program implemented in Ruby,Tasks and dependencies are specified in standard Ruby syntax.",
      "name": "rubygem-rake",
      "software_sourceInfo": "acquired package info from repodata DB: repodata/19d54a93ffbada0d8891adcbefe41a882ee7f08ec9d32c6bee1353a910c81e32-primary.sqlite.bz2",
      "software_packageUrl": "pkg:rpm/rubygem-rake@13.0.6-164.oe2609?arch=noarch&epoch=0&upstream=ruby-3.2.8-164.oe2609.src.rpm",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd92640",
      "type": "software_Package",
      "software_copyrightText": "",
      "suppliedBy": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd92644",
      "software_downloadLocation": "NOASSERTION",
      "summary": "\"Did you mean?\" experience in Ruby",
      "software_packageVersion": "0:1.6.3-164.oe2609",
      "software_homePage": "https://www.ruby-lang.org/en/",
      "description": "The error message will tell you the right one when you misspelled something.",
      "name": "rubygem-did_you_mean",
      "software_sourceInfo": "acquired package info from repodata DB: repodata/19d54a93ffbada0d8891adcbefe41a882ee7f08ec9d32c6bee1353a910c81e32-primary.sqlite.bz2",
      "software_packageUrl": "pkg:rpm/rubygem-did_you_mean@1.6.3-164.oe2609?arch=noarch&epoch=0&upstream=ruby-3.2.8-164.oe2609.src.rpm",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd26694",
      "type": "software_Package",
      "software_copyrightText": "",
      "suppliedBy": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd26703",
      "software_downloadLocation": "NOASSERTION",
      "summary": "Object-oriented scripting language interpreter",
      "software_packageVersion": "0:3.2.8-164.oe2609",
      "software_homePage": "https://www.ruby-lang.org/en/",
      "description": "Ruby is a fast and easy interpreted scripting language for object-oriented programming.\nIt has many functions for processing text Files and perform system management tasks (such as Perl).",
      "name": "ruby",
      "software_sourceInfo": "acquired package info from repodata DB: repodata/19d54a93ffbada0d8891adcbefe41a882ee7f08ec9d32c6bee1353a910c81e32-primary.sqlite.bz2",
      "software_packageUrl": "pkg:rpm/ruby@3.2.8-164.oe2609?arch=x86_64&epoch=0&upstream=ruby-3.2.8-164.oe2609.src.rpm",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd26687",
      "type": "software_Package",
      "software_copyrightText": "",
      "suppliedBy": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd26723",
      "software_downloadLocation": "NOASSERTION",
      "summary": "Ruby standard for wrapping ruby libraries",
      "software_packageVersion": "0:3.4.19-164.oe2609",
      "software_homePage": "https://www.ruby-lang.org/en/",
      "description": "The Ruby standard for publishing and managing third party libraries provided by RubyGems.",
      "name": "rubygems",
      "software_sourceInfo": "acquired package info from repodata DB: repodata/19d54a93ffbada0d8891adcbefe41a882ee7f08ec9d32c6bee1353a910c81e32-primary.sqlite.bz2",
      "software_packageUrl": "pkg:rpm/rubygems@3.4.19-164.oe2609?arch=noarch&epoch=0&upstream=ruby-3.2.8-164.oe2609.src.rpm",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd93902",
      "type": "software_Package",
      "software_copyrightText": "",
      "suppliedBy": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/SPDXRef-gnrtd93908",
      "software_downloadLocation": "NOASSERTION",
      "summary": "Rake-based Ruby C Extension task generator",
      "software_packageVersion": "0:1.3.0-1.oe2609",
      "software_homePage": "http://github.com/rake-compiler/rake-compiler",
      "description": "rake-compiler aims to help Gem developers while dealing with\nRuby C extensions, simplifiying the code and reducing the duplication.\nIt follows *convention over configuration* and set an standarized\nstructure to build and package C extensions in your gems.\nThis is the result of expriences dealing with several Gems\nthat required native extensions across platforms and different\nuser configurations where details like portability and\nclarity of code were lacking.",
      "name": "rubygem-rake-compiler",
      "software_sourceInfo": "acquired package info from repodata DB: repodata/19d54a93ffbada0d8891adcbefe41a882ee7f08ec9d32c6bee1353a910c81e32-primary.sqlite.bz2",
      "software_packageUrl": "pkg:rpm/rubygem-rake-compiler@1.3.0-1.oe2609?arch=noarch&epoch=0&upstream=rubygem-rake-compiler-1.3.0-1.oe2609.src.rpm",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/additionalToolSPDXRef-gnrtd1",
      "type": "Tool",
      "name": "syft-[not provided]",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/x86_64-d20ca2c2-3788-4a6e-b0ed-9fccfc716ab9-specv3/additionalToolSPDXRef-gnrtd3",
      "type": "Tool",
      "name": "syft-[not provided]",
      "creationInfo": "_:creationInfo_1"
    }
  ]
}