{
  "SPDXID": "SPDXRef-DOCUMENT",
  "name": "groff-0.1.23.0-4.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/groff-0.1.23.0-4.oe2403sp4.aarch64.rpm",
  "packages": [
    {
      "SPDXID": "SPDXRef-rpm-groff-1.23.0",
      "name": "groff",
      "licenseConcluded": "GPLv3+ and GFDL-1.3-or-later and BSD and MIT",
      "checksums": [
        {
          "algorithm": "SHA256",
          "checksumValue": "ca77e27874eab0eece18db16b9797abbb78589fd00072bb9578c5a757127c067"
        }
      ],
      "description": "Groff (GNU troff) is a typesetting system that reads plain text mixed\nwith formatting commands and produces formatted output. Output may be\nPostScript or PDF, html, or ASCII/UTF8 for display at the terminal.\nFormatting commands may be either low-level typesetting requests\n(“primitives”) or macros from a supplied set. Users may also write\ntheir own macros. All three may be combined.",
      "downloadLocation": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE_MANAGER",
          "referenceLocator": "pkg:rpm/groff@1.23.0-4.oe2403sp4?arch=aarch64&epoch=0&upstream=groff-1.23.0-4.oe2403sp4.src.rpm",
          "referenceType": "purl"
        }
      ],
      "filesAnalyzed": false,
      "homepage": "http://www.gnu.org/software/groff/",
      "licenseDeclared": "GPLv3+ and GFDL-1.3-or-later and BSD and MIT",
      "sourceInfo": "acquired package info from repodata DB: repodata/f1f85c23079e7764ad00378a9fc5d660b89a03657290e75426caf7be5b7da462-primary.sqlite.bz2",
      "summary": "A typesetting system",
      "supplier": "Organization: http://openeuler.org",
      "versionInfo": "0:1.23.0-4.oe2403sp4"
    },
    {
      "SPDXID": "SPDXRef-rpm-bash-5.2.15",
      "name": "bash",
      "licenseConcluded": "GPLv3",
      "checksums": [
        {
          "algorithm": "SHA256",
          "checksumValue": "9e44c67402e88f8c3409ae71f375e1239d0fe67abb011f90acd3cff8eed95a11"
        }
      ],
      "description": "Bash is the GNU Project's shell. Bash is the Bourne Again SHell. Bash is an sh-compatible\nshell that incorporates useful features from the Korn shell (ksh) and C shell (csh). It is\nintended to conform to the IEEE POSIX P1003.2/ISO 9945.2 Shell and Tools standard. It offers\nfunctional improvements over sh for both programming and interactive use. In addition, most\nsh scripts can be run by Bash without modification.",
      "downloadLocation": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE_MANAGER",
          "referenceLocator": "pkg:rpm/bash@5.2.15-19.oe2403sp4?arch=aarch64&epoch=0&upstream=bash-5.2.15-19.oe2403sp4.src.rpm",
          "referenceType": "purl"
        }
      ],
      "filesAnalyzed": false,
      "homepage": "https://www.gnu.org/software/bash",
      "licenseDeclared": "GPLv3",
      "sourceInfo": "acquired package info from repodata DB: repodata/f1f85c23079e7764ad00378a9fc5d660b89a03657290e75426caf7be5b7da462-primary.sqlite.bz2",
      "summary": "It is the Bourne Again Shell",
      "supplier": "Organization: http://openeuler.org",
      "versionInfo": "0:5.2.15-19.oe2403sp4"
    },
    {
      "SPDXID": "SPDXRef-rpm-coreutils-9.4",
      "name": "coreutils",
      "licenseConcluded": "GPLv3+",
      "checksums": [
        {
          "algorithm": "SHA256",
          "checksumValue": "9a45326d88eefd6f8a0018a1626f7decc11e3649f47296d7ce55e5ce473c3296"
        }
      ],
      "description": "These are the GNU core utilities.  This package is the combination of\nthe old GNU fileutils, sh-utils, and textutils packages.",
      "downloadLocation": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE_MANAGER",
          "referenceLocator": "pkg:rpm/coreutils@9.4-22.oe2403sp4?arch=aarch64&epoch=0&upstream=coreutils-9.4-22.oe2403sp4.src.rpm",
          "referenceType": "purl"
        }
      ],
      "filesAnalyzed": false,
      "homepage": "https://www.gnu.org/software/coreutils/",
      "licenseDeclared": "GPLv3+",
      "sourceInfo": "acquired package info from repodata DB: repodata/f1f85c23079e7764ad00378a9fc5d660b89a03657290e75426caf7be5b7da462-primary.sqlite.bz2",
      "summary": "A set of basic GNU tools commonly used in shell scripts",
      "supplier": "Organization: http://openeuler.org",
      "versionInfo": "0:9.4-22.oe2403sp4"
    },
    {
      "SPDXID": "SPDXRef-rpm-glibc-2.38",
      "name": "glibc",
      "licenseConcluded": "LGPLv2+ and LGPLv2+ with exceptions and GPLv2+ and GPLv2+ with exceptions and BSD and Inner-Net-2.0 and ISC and Public Domain and GFDL-1.3-only",
      "checksums": [
        {
          "algorithm": "SHA256",
          "checksumValue": "972f6f0ead2fbc0f525623aa566baec969734e89308b0c92aa05a9f8d3c7299f"
        }
      ],
      "description": "The GNU C Library project provides the core libraries for the GNU system and\nGNU/Linux systems, as well as many other systems that use Linux as the kernel.\nThese libraries provide critical APIs including ISO C11, POSIX.1-2008, BSD,\nOS-specific APIs and more. These APIs include such foundational facilities as\nopen, read, write, malloc, printf, getaddrinfo, dlopen, pthread_create, crypt,\n login, exit and more.",
      "downloadLocation": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE_MANAGER",
          "referenceLocator": "pkg:rpm/glibc@2.38-107.oe2403sp4?arch=aarch64&epoch=0&upstream=glibc-2.38-107.oe2403sp4.src.rpm",
          "referenceType": "purl"
        }
      ],
      "filesAnalyzed": false,
      "homepage": "http://www.gnu.org/software/glibc/",
      "licenseDeclared": "LGPLv2+ and LGPLv2+ with exceptions and GPLv2+ and GPLv2+ with exceptions and BSD and Inner-Net-2.0 and ISC and Public Domain and GFDL-1.3-only",
      "sourceInfo": "acquired package info from repodata DB: repodata/f1f85c23079e7764ad00378a9fc5d660b89a03657290e75426caf7be5b7da462-primary.sqlite.bz2",
      "summary": "The GNU libc libraries",
      "supplier": "Organization: http://openeuler.org",
      "versionInfo": "0:2.38-107.oe2403sp4"
    },
    {
      "SPDXID": "SPDXRef-rpm-groff-base-1.23.0",
      "name": "groff-base",
      "licenseConcluded": "GPLv3+ and GFDL-1.3-or-later and BSD and MIT",
      "checksums": [
        {
          "algorithm": "SHA256",
          "checksumValue": "b75b9b0b410f3d9cfdffd8a256a6fa9301c14660d6fdf3a6582ae2f4f6d9d7ad"
        }
      ],
      "description": "The groff-base package contains base parts of groff formatting system\nwhich are required to display manual pages.",
      "downloadLocation": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE_MANAGER",
          "referenceLocator": "pkg:rpm/groff-base@1.23.0-4.oe2403sp4?arch=aarch64&epoch=0&upstream=groff-1.23.0-4.oe2403sp4.src.rpm",
          "referenceType": "purl"
        }
      ],
      "filesAnalyzed": false,
      "homepage": "http://www.gnu.org/software/groff/",
      "licenseDeclared": "GPLv3+ and GFDL-1.3-or-later and BSD and MIT",
      "sourceInfo": "acquired package info from repodata DB: repodata/f1f85c23079e7764ad00378a9fc5d660b89a03657290e75426caf7be5b7da462-primary.sqlite.bz2",
      "summary": "Base parts of groff formatting system",
      "supplier": "Organization: http://openeuler.org",
      "versionInfo": "0:1.23.0-4.oe2403sp4"
    },
    {
      "SPDXID": "SPDXRef-rpm-libgcc-12.3.1",
      "name": "libgcc",
      "licenseConcluded": "GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions and LGPLv2+ and BSD",
      "checksums": [
        {
          "algorithm": "SHA256",
          "checksumValue": "f9d8ad4f0c682f9ca2fbd47bcb3e37d487523ca2a796a4becda74e2ab5cc58f1"
        }
      ],
      "description": "This package contains GCC shared support library which is needed\ne.g. for exception handling support.",
      "downloadLocation": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE_MANAGER",
          "referenceLocator": "pkg:rpm/libgcc@12.3.1-110.oe2403sp4?arch=aarch64&epoch=0&upstream=gcc-12.3.1-110.oe2403sp4.src.rpm",
          "referenceType": "purl"
        }
      ],
      "filesAnalyzed": false,
      "homepage": "https://gcc.gnu.org",
      "licenseDeclared": "GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions and LGPLv2+ and BSD",
      "sourceInfo": "acquired package info from repodata DB: repodata/f1f85c23079e7764ad00378a9fc5d660b89a03657290e75426caf7be5b7da462-primary.sqlite.bz2",
      "summary": "GCC version 12 shared support library",
      "supplier": "Organization: http://openeuler.org",
      "versionInfo": "0:12.3.1-110.oe2403sp4"
    },
    {
      "SPDXID": "SPDXRef-rpm-libstdc---12.3.1",
      "name": "libstdc++",
      "licenseConcluded": "GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions and LGPLv2+ and BSD",
      "checksums": [
        {
          "algorithm": "SHA256",
          "checksumValue": "db9c76bf723996146b1b01b34664251a90496d7321a3b4a2d441ed4679b05f9d"
        }
      ],
      "description": "The libstdc++ package contains a rewritten standard compliant GCC Standard\nC++ Library.",
      "downloadLocation": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE_MANAGER",
          "referenceLocator": "pkg:rpm/libstdc++@12.3.1-110.oe2403sp4?arch=aarch64&epoch=0&upstream=gcc-12.3.1-110.oe2403sp4.src.rpm",
          "referenceType": "purl"
        }
      ],
      "filesAnalyzed": false,
      "homepage": "https://gcc.gnu.org",
      "licenseDeclared": "GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions and LGPLv2+ and BSD",
      "sourceInfo": "acquired package info from repodata DB: repodata/f1f85c23079e7764ad00378a9fc5d660b89a03657290e75426caf7be5b7da462-primary.sqlite.bz2",
      "summary": "GNU Standard C++ Library",
      "supplier": "Organization: http://openeuler.org",
      "versionInfo": "0:12.3.1-110.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-Carp-1.50",
      "name": "perl-Carp",
      "licenseConcluded": "GPL-1.0-or-later OR Artistic-1.0-Perl",
      "checksums": [
        {
          "algorithm": "SHA256",
          "checksumValue": "7d4bc93f9a4748d862b182314225700b0319c679b4baf699f285fec8c85a76e4"
        }
      ],
      "description": "The Carp routines are useful in your own modules because they act like\ndie() or warn(), but with a message which is more likely to be useful\nto a user of your module.  In the case of cluck, confess, and longmess\nthat context is a summary of every call in the call-stack.  For a shorter\nmessage you can use carp or croak which report the error as being from\nwhere your module was called.  There is no guarantee that that is where\nthe error was, but it is a good educated guess.",
      "downloadLocation": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE_MANAGER",
          "referenceLocator": "pkg:rpm/perl-Carp@1.50-420.oe2403sp4?arch=noarch&epoch=0&upstream=perl-Carp-1.50-420.oe2403sp4.src.rpm",
          "referenceType": "purl"
        }
      ],
      "filesAnalyzed": false,
      "homepage": "https://metacpan.org/release/Carp",
      "licenseDeclared": "GPL-1.0-or-later OR Artistic-1.0-Perl",
      "sourceInfo": "acquired package info from repodata DB: repodata/f1f85c23079e7764ad00378a9fc5d660b89a03657290e75426caf7be5b7da462-primary.sqlite.bz2",
      "summary": "Alternative warn and die for modules",
      "supplier": "Organization: http://openeuler.org",
      "versionInfo": "0:1.50-420.oe2403sp4"
    },
    {
      "SPDXID": "SPDXRef-rpm-perl-Data-Dumper-2.183",
      "name": "perl-Data-Dumper",
      "licenseConcluded": "GPL+ or Artistic",
      "checksums": [
        {
          "algorithm": "SHA256",
          "checksumValue": "96a4eb2aa1a2bd6a37f30186f5be7b3bd4c391a24e24517a5da563e0e14c23d2"
        }
      ],
      "description": "Given a list of scalars or reference variables, writes out their contents in perl syntax.\nThe references can also be objects. The content of each variable is output in a single Perl statement.\nHandles self-referential structures correctly.\nThe return value can be evaled to get back an identical copy of the original reference structure.\n(Please do consider the security implications of eval'ing code from untrusted sources!)",
      "downloadLocation": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE_MANAGER",
          "referenceLocator": "pkg:rpm/perl-Data-Dumper@2.183-2.oe2403sp4?arch=aarch64&epoch=0&upstream=perl-Data-Dumper-2.183-2.oe2403sp4.src.rpm",
          "referenceType": "purl"
        }
      ],
      "filesAnalyzed": false,
      "homepage": "https://metacpan.org/release/Data-Dumper",
      "licenseDeclared": "GPL+ or Artistic",
      "sourceInfo": "acquired package info from repodata DB: repodata/f1f85c23079e7764ad00378a9fc5d660b89a03657290e75426caf7be5b7da462-primary.sqlite.bz2",
      "summary": "Stringified perl data structures, suitable for both printing and eval",
      "supplier": "Organization: http://openeuler.org",
      "versionInfo": "0:2.183-2.oe2403sp4"
    },
    {
      "SPDXID": "SPDXRef-rpm-perl-File-HomeDir-1.006",
      "name": "perl-File-HomeDir",
      "licenseConcluded": "GPL+ or Artistic",
      "checksums": [
        {
          "algorithm": "SHA256",
          "checksumValue": "e6577803fcba93e5b8d50d734be153bb58cd4509c16208910671f6e312fec746"
        }
      ],
      "description": "File::HomeDir is a module for locating the directories that are \"owned\"\nby a user (typically your user) and to solve the various issues that\narise trying to find them consistently across a wide variety of\nplatforms.",
      "downloadLocation": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE_MANAGER",
          "referenceLocator": "pkg:rpm/perl-File-HomeDir@1.006-3.oe2403sp4?arch=noarch&epoch=0&upstream=perl-File-HomeDir-1.006-3.oe2403sp4.src.rpm",
          "referenceType": "purl"
        }
      ],
      "filesAnalyzed": false,
      "homepage": "https://metacpan.org/release/File-HomeDir",
      "licenseDeclared": "GPL+ or Artistic",
      "sourceInfo": "acquired package info from repodata DB: repodata/f1f85c23079e7764ad00378a9fc5d660b89a03657290e75426caf7be5b7da462-primary.sqlite.bz2",
      "summary": "A tool to find your home and other directories on any platform",
      "supplier": "Organization: http://openeuler.org",
      "versionInfo": "0:1.006-3.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-PathTools-3.89",
      "name": "perl-PathTools",
      "licenseConcluded": "(GPL+ or Artistic) and BSD",
      "checksums": [
        {
          "algorithm": "SHA256",
          "checksumValue": "ed9f39c187cd9849a43931b6a88f97c32945627dd257842bec1bd806a4d644be"
        }
      ],
      "description": "Tools for working with directory and file names.",
      "downloadLocation": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE_MANAGER",
          "referenceLocator": "pkg:rpm/perl-PathTools@3.89-1.oe2403sp4?arch=aarch64&epoch=0&upstream=perl-PathTools-3.89-1.oe2403sp4.src.rpm",
          "referenceType": "purl"
        }
      ],
      "filesAnalyzed": false,
      "homepage": "https://metacpan.org/release/PathTools",
      "licenseDeclared": "(GPL+ or Artistic) and BSD",
      "sourceInfo": "acquired package info from repodata DB: repodata/f1f85c23079e7764ad00378a9fc5d660b89a03657290e75426caf7be5b7da462-primary.sqlite.bz2",
      "summary": "PathTools Perl Module (Cwd, File::Spec)",
      "supplier": "Organization: http://openeuler.org",
      "versionInfo": "0:3.89-1.oe2403sp4"
    },
    {
      "SPDXID": "SPDXRef-rpm-perl-constant-1.33",
      "name": "perl-constant",
      "licenseConcluded": "GPL+ or Artistic",
      "checksums": [
        {
          "algorithm": "SHA256",
          "checksumValue": "c8cfd89c00a40c29398b392f3ebdb9732ae7d88ab4978c931f6801f0771f04fb"
        }
      ],
      "description": "This pragma allows you to declare constants at compile-time.\nWhen a constant is used in an expression, Perl replaces it with its\nvalue at compile time, and may then optimize the expression further.\nIn particular, any code in an \"if (CONSTANT)\" block will be optimized\naway if the constant is false.",
      "downloadLocation": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE_MANAGER",
          "referenceLocator": "pkg:rpm/perl-constant@1.33-423.oe2403sp4?arch=noarch&epoch=0&upstream=perl-constant-1.33-423.oe2403sp4.src.rpm",
          "referenceType": "purl"
        }
      ],
      "filesAnalyzed": false,
      "homepage": "https://metacpan.org/release/constant",
      "licenseDeclared": "GPL+ or Artistic",
      "sourceInfo": "acquired package info from repodata DB: repodata/f1f85c23079e7764ad00378a9fc5d660b89a03657290e75426caf7be5b7da462-primary.sqlite.bz2",
      "summary": "Perl pragma to declare constants",
      "supplier": "Organization: http://openeuler.org",
      "versionInfo": "0:1.33-423.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"
    }
  ],
  "relationships": [
    {
      "spdxElementId": "SPDXRef-rpm-groff-1.23.0",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-rpm-bash-5.2.15"
    },
    {
      "spdxElementId": "SPDXRef-rpm-groff-1.23.0",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-rpm-coreutils-9.4"
    },
    {
      "spdxElementId": "SPDXRef-rpm-groff-1.23.0",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-rpm-glibc-2.38"
    },
    {
      "spdxElementId": "SPDXRef-rpm-groff-1.23.0",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-rpm-groff-base-1.23.0"
    },
    {
      "spdxElementId": "SPDXRef-rpm-groff-1.23.0",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-rpm-libgcc-12.3.1"
    },
    {
      "spdxElementId": "SPDXRef-rpm-groff-1.23.0",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-rpm-libstdc---12.3.1"
    },
    {
      "spdxElementId": "SPDXRef-rpm-groff-1.23.0",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-rpm-perl-5.38.0"
    },
    {
      "spdxElementId": "SPDXRef-rpm-groff-1.23.0",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-rpm-perl-Carp-1.50"
    },
    {
      "spdxElementId": "SPDXRef-rpm-groff-1.23.0",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-rpm-perl-Data-Dumper-2.183"
    },
    {
      "spdxElementId": "SPDXRef-rpm-groff-1.23.0",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-rpm-perl-File-HomeDir-1.006"
    },
    {
      "spdxElementId": "SPDXRef-rpm-groff-1.23.0",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-rpm-perl-File-Path-2.18"
    },
    {
      "spdxElementId": "SPDXRef-rpm-groff-1.23.0",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-rpm-perl-File-Temp-0.2311"
    },
    {
      "spdxElementId": "SPDXRef-rpm-groff-1.23.0",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-rpm-perl-Getopt-Long-2.57"
    },
    {
      "spdxElementId": "SPDXRef-rpm-groff-1.23.0",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-rpm-perl-PathTools-3.89"
    },
    {
      "spdxElementId": "SPDXRef-rpm-groff-1.23.0",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-rpm-perl-constant-1.33"
    },
    {
      "spdxElementId": "SPDXRef-rpm-groff-1.23.0",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-rpm-perl-libs-5.38.0"
    }
  ]
}
