{
  "SPDXID": "SPDXRef-DOCUMENT",
  "name": "parallel-0.20260522-1.oe2403sp4.aarch64.rpm",
  "spdxVersion": "SPDX-2.2",
  "creationInfo": {
    "created": "2026-07-04T04:28:12.092529219Z",
    "creators": [
      "openeuler_creator"
    ]
  },
  "dataLicense": "CC0-1.0",
  "documentNamespace": "https://sbom.openEuler.org/parallel-0.20260522-1.oe2403sp4.aarch64.rpm",
  "packages": [
    {
      "SPDXID": "SPDXRef-rpm-parallel-20260522",
      "name": "parallel",
      "licenseConcluded": "GPL-3.0-or-later and GFDL-1.3-or-later",
      "checksums": [
        {
          "algorithm": "SHA256",
          "checksumValue": "925d22043c1149d14ba4f3d20815b39111b2d238065f1570f3b8a9681ab509b8"
        }
      ],
      "description": "GNU Parallel is a shell tool for executing jobs in parallel using one or more\nmachines. A job is typically a single command or a small script that has to be\nrun for each of the lines in the input. The typical input is a list of files, a\nlist of hosts, a list of users, or a list of tables.\n\nIf you use xargs today you will find GNU Parallel very easy to use. If you\nwrite loops in shell, you will find GNU Parallel may be able to replace most of\nthe loops and make them run faster by running jobs in parallel. If you use ppss\nor pexec you will find GNU Parallel will often make the command easier to read.\n\nGNU Parallel also makes sure output from the commands is the same output as you\nwould get had you run the commands sequentially. This makes it possible to use\noutput from GNU Parallel as input for other programs.\n\nGNU Parallel is command-line-compatible with moreutils' parallel, but offers\nadditional features.",
      "downloadLocation": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE_MANAGER",
          "referenceLocator": "pkg:rpm/parallel@20260522-1.oe2403sp4?arch=noarch&epoch=0&upstream=parallel-20260522-1.oe2403sp4.src.rpm",
          "referenceType": "purl"
        }
      ],
      "filesAnalyzed": false,
      "homepage": "https://www.gnu.org/software/parallel/",
      "licenseDeclared": "GPL-3.0-or-later and GFDL-1.3-or-later",
      "sourceInfo": "acquired package info from repodata DB: repodata/f1f85c23079e7764ad00378a9fc5d660b89a03657290e75426caf7be5b7da462-primary.sqlite.bz2",
      "summary": "Shell tool for executing jobs in parallel",
      "supplier": "Organization: http://openeuler.org",
      "versionInfo": "0:20260522-1.oe2403sp4"
    },
    {
      "SPDXID": "SPDXRef-rpm-perl-5.38.0",
      "name": "perl",
      "licenseConcluded": "(GPL-1.0-or-later or Artistic-1.0-perl) and (GPL-2.0-or-later or Artistic-1.0-perl) and MIT and UCD and Public Domain and BSD",
      "checksums": [
        {
          "algorithm": "SHA256",
          "checksumValue": "f6a219e87ba15fd71cefd81a8c9221532a409d314a7003a4dc39ae45c04a519c"
        }
      ],
      "description": "Perl 5 is a highly capable, feature-rich programming language with over 30 years of development.\nPerl 5 runs on over 100 platforms from portables to mainframes and is suitable for both rapid\nprototyping and large scale development projects.",
      "downloadLocation": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE_MANAGER",
          "referenceLocator": "pkg:rpm/perl@5.38.0-12.oe2403sp4?arch=aarch64&epoch=4&upstream=perl-5.38.0-12.oe2403sp4.src.rpm",
          "referenceType": "purl"
        }
      ],
      "filesAnalyzed": false,
      "homepage": "https://www.perl.org/",
      "licenseDeclared": "(GPL-1.0-or-later or Artistic-1.0-perl) and (GPL-2.0-or-later or Artistic-1.0-perl) and MIT and UCD and Public Domain and BSD",
      "sourceInfo": "acquired package info from repodata DB: repodata/f1f85c23079e7764ad00378a9fc5d660b89a03657290e75426caf7be5b7da462-primary.sqlite.bz2",
      "summary": "A highly capable, feature-rich programming language",
      "supplier": "Organization: http://openeuler.org",
      "versionInfo": "4:5.38.0-12.oe2403sp4"
    },
    {
      "SPDXID": "SPDXRef-rpm-perl-File-Path-2.18",
      "name": "perl-File-Path",
      "licenseConcluded": "GPL+ or Artistic",
      "checksums": [
        {
          "algorithm": "SHA256",
          "checksumValue": "4bfd0099bfd7538ebd5b981c4124ebf1c57ae5df669eda12b867b735e05bf770"
        }
      ],
      "description": "This module provides a convenient way to create directories\nof arbitrary depth and to delete an entire directory subtree\nfrom the filesystem.",
      "downloadLocation": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE_MANAGER",
          "referenceLocator": "pkg:rpm/perl-File-Path@2.18-2.oe2403sp4?arch=noarch&epoch=0&upstream=perl-File-Path-2.18-2.oe2403sp4.src.rpm",
          "referenceType": "purl"
        }
      ],
      "filesAnalyzed": false,
      "homepage": "https://metacpan.org/pod/File::Path",
      "licenseDeclared": "GPL+ or Artistic",
      "sourceInfo": "acquired package info from repodata DB: repodata/f1f85c23079e7764ad00378a9fc5d660b89a03657290e75426caf7be5b7da462-primary.sqlite.bz2",
      "summary": "Create or remove directory trees",
      "supplier": "Organization: http://openeuler.org",
      "versionInfo": "0:2.18-2.oe2403sp4"
    },
    {
      "SPDXID": "SPDXRef-rpm-perl-File-Temp-0.2311",
      "name": "perl-File-Temp",
      "licenseConcluded": "GPL+ or Artistic",
      "checksums": [
        {
          "algorithm": "SHA256",
          "checksumValue": "22cff563247d08b2f901fe7783723b79057589251c4c3325fb61aa89681d0b9a"
        }
      ],
      "description": "File::Temp can be used to create and open temporary files in a safe way.\nThere is both a function interface and an object-oriented interface. The\nFile::Temp constructor or the tempfile() function can be used to return the\nname and the open file handle of a temporary file. The tempdir() function\ncan be used to create a temporary directory.\n\nThe security aspect of temporary file creation is emphasized such that a\nfilehandle and filename are returned together.\nThis helps guarantee that a race condition can not occur where the temporary\nfile is created by another process between checking for the existence of the\nfile and its opening. Additional security levels are provided to check,\nfor example, that the sticky bit is set on world writable directories.\nSee \"safe_level\" for more information.\n\nFor compatibility with popular C library functions, Perl implementations of\nthe mkstemp() family of functions are provided. These are, mkstemp(),\nmkstemps(), mkdtemp() and mktemp().\n\nAdditionally, implementations of the standard POSIX tmpnam() and tmpfile()\nfunctions are provided if required.\n\nImplementations of mktemp(), tmpnam(), and tempnam() are provided, but should\nbe used with caution since they return only a filename that was valid when\nfunction was called, so cannot guarantee that the file will not exist by the\ntime the caller opens the filename.\n\nFilehandles returned by these functions support the seekable methods.",
      "downloadLocation": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE_MANAGER",
          "referenceLocator": "pkg:rpm/perl-File-Temp@0.2311-3.oe2403sp4?arch=noarch&epoch=1&upstream=perl-File-Temp-0.2311-3.oe2403sp4.src.rpm",
          "referenceType": "purl"
        }
      ],
      "filesAnalyzed": false,
      "homepage": "https://metacpan.org/release/File-Temp",
      "licenseDeclared": "GPL+ or Artistic",
      "sourceInfo": "acquired package info from repodata DB: repodata/f1f85c23079e7764ad00378a9fc5d660b89a03657290e75426caf7be5b7da462-primary.sqlite.bz2",
      "summary": "Return name and handle of a temporary file safely",
      "supplier": "Organization: http://openeuler.org",
      "versionInfo": "1:0.2311-3.oe2403sp4"
    },
    {
      "SPDXID": "SPDXRef-rpm-perl-Getopt-Long-2.57",
      "name": "perl-Getopt-Long",
      "licenseConcluded": "Artistic or GPLv2+",
      "checksums": [
        {
          "algorithm": "SHA256",
          "checksumValue": "8e26808cd820c23c4ca72bb3a8c57732ca3e633b10c43d2cb8b53972e5f174e7"
        }
      ],
      "description": "Module Getopt::Long implements an extended getopt function called\nGetOptions(). This function implements the POSIX standard for command\nline options, with GNU extensions, while still capable of handling\nthe traditional one-letter options.",
      "downloadLocation": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE_MANAGER",
          "referenceLocator": "pkg:rpm/perl-Getopt-Long@2.57-1.oe2403sp4?arch=noarch&epoch=1&upstream=perl-Getopt-Long-2.57-1.oe2403sp4.src.rpm",
          "referenceType": "purl"
        }
      ],
      "filesAnalyzed": false,
      "homepage": "https://metacpan.org/pod/Getopt::Long",
      "licenseDeclared": "Artistic or GPLv2+",
      "sourceInfo": "acquired package info from repodata DB: repodata/f1f85c23079e7764ad00378a9fc5d660b89a03657290e75426caf7be5b7da462-primary.sqlite.bz2",
      "summary": "Extended processing of command line options",
      "supplier": "Organization: http://openeuler.org",
      "versionInfo": "1:2.57-1.oe2403sp4"
    },
    {
      "SPDXID": "SPDXRef-rpm-perl-Thread-Queue-3.13",
      "name": "perl-Thread-Queue",
      "licenseConcluded": "GPL+ or Artistic",
      "checksums": [
        {
          "algorithm": "SHA256",
          "checksumValue": "de81b8d083e5f5049c746eae3a8d5ae406fe8c3a4476d7ce8291d7917da84d81"
        }
      ],
      "description": "This module provides thread-safe FIFO queues that can be accessed safely by\nany number of threads.\n\nAny data types supported by threads::shared can be passed via queues:\n    -Ordinary scalars\n    -Array refs\n    -Hash refs\n    -Scalar refs\n    -Objects based on the above\nOrdinary scalars are added to queues as they are.\n\nIf not already thread-shared, the other complex data types will be cloned\n(recursively, if needed, and including any blessings and read-only settings)\ninto thread-shared structures before being placed onto a queue.",
      "downloadLocation": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE_MANAGER",
          "referenceLocator": "pkg:rpm/perl-Thread-Queue@3.13-4.oe2403sp4?arch=noarch&epoch=0&upstream=perl-Thread-Queue-3.13-4.oe2403sp4.src.rpm",
          "referenceType": "purl"
        }
      ],
      "filesAnalyzed": false,
      "homepage": "https://metacpan.org/release/Thread-Queue",
      "licenseDeclared": "GPL+ or Artistic",
      "sourceInfo": "acquired package info from repodata DB: repodata/f1f85c23079e7764ad00378a9fc5d660b89a03657290e75426caf7be5b7da462-primary.sqlite.bz2",
      "summary": "Thread-safe queues",
      "supplier": "Organization: http://openeuler.org",
      "versionInfo": "0:3.13-4.oe2403sp4"
    },
    {
      "SPDXID": "SPDXRef-rpm-perl-libs-5.38.0",
      "name": "perl-libs",
      "licenseConcluded": "(GPL-1.0-or-later or Artistic-1.0-perl) and MIT and UCD",
      "checksums": [
        {
          "algorithm": "SHA256",
          "checksumValue": "383c1f0aa78ea84879fb79106d660f755942fc6e8b3825c329da257e9b0a84fb"
        }
      ],
      "description": "This package is the shared library for perl.",
      "downloadLocation": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE_MANAGER",
          "referenceLocator": "pkg:rpm/perl-libs@5.38.0-12.oe2403sp4?arch=aarch64&epoch=4&upstream=perl-5.38.0-12.oe2403sp4.src.rpm",
          "referenceType": "purl"
        }
      ],
      "filesAnalyzed": false,
      "homepage": "https://www.perl.org/",
      "licenseDeclared": "(GPL-1.0-or-later or Artistic-1.0-perl) and MIT and UCD",
      "sourceInfo": "acquired package info from repodata DB: repodata/f1f85c23079e7764ad00378a9fc5d660b89a03657290e75426caf7be5b7da462-primary.sqlite.bz2",
      "summary": "The libraries for the perl",
      "supplier": "Organization: http://openeuler.org",
      "versionInfo": "4:5.38.0-12.oe2403sp4"
    },
    {
      "SPDXID": "SPDXRef-rpm-perl-threads-2.36",
      "name": "perl-threads",
      "licenseConcluded": "GPL+ or Artistic",
      "checksums": [
        {
          "algorithm": "SHA256",
          "checksumValue": "b1dae434c016688322f749d7660d67aa265a744d131d8953a9849058d93cec20"
        }
      ],
      "description": "Since Perl 5.8, thread programming has been available using a model called\ninterpreter threads which provides a new Perl interpreter for each thread,\nand, by default, results in no data or state information being shared\nbetween threads.\n\n(Prior to Perl 5.8, 5005threads was available through the \"Thread.pm\" API.\nThis threading model has been deprecated, and was removed as of Perl 5.10.0.)",
      "downloadLocation": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE_MANAGER",
          "referenceLocator": "pkg:rpm/perl-threads@2.36-2.oe2403sp4?arch=aarch64&epoch=2&upstream=perl-threads-2.36-2.oe2403sp4.src.rpm",
          "referenceType": "purl"
        }
      ],
      "filesAnalyzed": false,
      "homepage": "https://metacpan.org/release/threads",
      "licenseDeclared": "GPL+ or Artistic",
      "sourceInfo": "acquired package info from repodata DB: repodata/f1f85c23079e7764ad00378a9fc5d660b89a03657290e75426caf7be5b7da462-primary.sqlite.bz2",
      "summary": "Perl interpreter-based threads",
      "supplier": "Organization: http://openeuler.org",
      "versionInfo": "2:2.36-2.oe2403sp4"
    },
    {
      "SPDXID": "SPDXRef-rpm-perl-threads-shared-1.62",
      "name": "perl-threads-shared",
      "licenseConcluded": "GPL+ or Artistic",
      "checksums": [
        {
          "algorithm": "SHA256",
          "checksumValue": "96487637ca3c401114148820a6944f5c9b37163cd588f3dd8874ce19dedf6e81"
        }
      ],
      "description": "By default, variables are private to each thread, and each newly created\nthread gets a private copy of each existing variable. This module allows\nyou to share variables across different threads (and pseudo-forks on\nWin32). It is used together with the threads module.\n\nThis module supports the sharing of the following data types only: scalars\nand scalar refs, arrays and array refs, and hashes and hash refs.",
      "downloadLocation": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE_MANAGER",
          "referenceLocator": "pkg:rpm/perl-threads-shared@1.62-2.oe2403sp4?arch=aarch64&epoch=0&upstream=perl-threads-shared-1.62-2.oe2403sp4.src.rpm",
          "referenceType": "purl"
        }
      ],
      "filesAnalyzed": false,
      "homepage": "https://metacpan.org/release/threads-shared",
      "licenseDeclared": "GPL+ or Artistic",
      "sourceInfo": "acquired package info from repodata DB: repodata/f1f85c23079e7764ad00378a9fc5d660b89a03657290e75426caf7be5b7da462-primary.sqlite.bz2",
      "summary": "Perl extension for sharing data structures between threads",
      "supplier": "Organization: http://openeuler.org",
      "versionInfo": "0:1.62-2.oe2403sp4"
    }
  ],
  "relationships": [
    {
      "spdxElementId": "SPDXRef-rpm-parallel-20260522",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-rpm-perl-5.38.0"
    },
    {
      "spdxElementId": "SPDXRef-rpm-parallel-20260522",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-rpm-perl-File-Path-2.18"
    },
    {
      "spdxElementId": "SPDXRef-rpm-parallel-20260522",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-rpm-perl-File-Temp-0.2311"
    },
    {
      "spdxElementId": "SPDXRef-rpm-parallel-20260522",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-rpm-perl-Getopt-Long-2.57"
    },
    {
      "spdxElementId": "SPDXRef-rpm-parallel-20260522",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-rpm-perl-Thread-Queue-3.13"
    },
    {
      "spdxElementId": "SPDXRef-rpm-parallel-20260522",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-rpm-perl-libs-5.38.0"
    },
    {
      "spdxElementId": "SPDXRef-rpm-parallel-20260522",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-rpm-perl-threads-2.36"
    },
    {
      "spdxElementId": "SPDXRef-rpm-parallel-20260522",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-rpm-perl-threads-shared-1.62"
    }
  ]
}
