{
	"SPDXID":"SPDXRef-DOCUMENT",
	"name":"perl-Package-Stash-0.0.40-1.oe2409.aarch64.rpm",
	"spdxVersion":"SPDX-2.2",
	"creationInfo":{
		"created":"2024-09-30T03:30:07.5589037Z",
		"creators":"[openeuler_creator]"
	},
	"dataLicense":"CC0-1.0",
	"documentNamespace":"https://repo.openeuler.org/security/data/sbom/perl-Package-Stash-0.0.40-1.oe2409.aarch64.rpm",
	"packages":[
		{
			"SPDXID":"SPDXRef-rpm-perl-5.38.0-3373dd29-00bf-4751-bc96-5b01fbd1f07c-fd85ddec-cd84-4faa-a302-be62647208a5",
			"name":"perl",
			"checksums":[
				{
					"algorithm":"SHA256",
					"checksumValue":"1cc1d4df3e2feb90c5250bb3619d63d60b9ec82bb75e180bdeecccce97e37e91"
				}
			],
			"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-8.oe2409?arch=aarch64&epoch=4&upstream=perl-5.38.0-8.oe2409.src.rpm",
					"referenceType":"purl"
				}
			],
			"filesAnalyzed":false,
			"homepage":"https://www.perl.org/",
			"sourceInfo":"acquired package info from repodata DB: repodata/6e742f68b2ae62313d1861c02b7faa39b44c963cbbc6ac979fb577de9af9babc-primary.sqlite.bz2",
			"summary":"A highly capable, feature-rich programming language",
			"supplier":"Organization: http://openeuler.org",
			"versionInfo":"4:5.38.0-8.oe2409"
		},
		{
			"SPDXID":"SPDXRef-rpm-perl-Carp-1.50-26fa9174-9324-4e80-b10e-6a723f948447-d42982a9-494c-4fda-9a43-d557ee5d1eed",
			"name":"perl-Carp",
			"checksums":[
				{
					"algorithm":"SHA256",
					"checksumValue":"69af162dfeeb16b0cebb19c6d06eb6e9aa135770713b8e734f306846b16d2fdd"
				}
			],
			"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.oe2409?arch=noarch&epoch=0&upstream=perl-Carp-1.50-420.oe2409.src.rpm",
					"referenceType":"purl"
				}
			],
			"filesAnalyzed":false,
			"homepage":"https://metacpan.org/release/Carp",
			"sourceInfo":"acquired package info from repodata DB: repodata/6e742f68b2ae62313d1861c02b7faa39b44c963cbbc6ac979fb577de9af9babc-primary.sqlite.bz2",
			"summary":"Alternative warn and die for modules",
			"supplier":"Organization: http://openeuler.org",
			"versionInfo":"0:1.50-420.oe2409"
		},
		{
			"SPDXID":"SPDXRef-rpm-perl-Dist-CheckConflicts-0.11-2ad9d624-f1c5-46b4-b83e-1b3b4e85109f-4686d21b-d446-449e-9fab-c953e9f42d22",
			"name":"perl-Dist-CheckConflicts",
			"checksums":[
				{
					"algorithm":"SHA256",
					"checksumValue":"71fd488267b6fcdd499d98924148cb24f71a2a7c6adb0b85a4459db17a92133d"
				}
			],
			"description":"One shortcoming of the CPAN clients that currently exist is that they have no\nway of specifying conflicting downstream dependencies of modules. This module\nattempts to work around this issue by allowing you to specify conflicting\nversions of modules separately, and deal with them after the module is done\ninstalling.\n\nFor instance, say you have a module Foo, and some other module Bar uses Foo. If\nFoo were to change its API in a non-backwards-compatible way, this would cause\nBar to break until it is updated to use the new API. Foo can't just depend on\nthe fixed version of Bar, because this will cause a circular dependency\n(because Bar is already depending on Foo), and this doesn't express intent\nproperly anyway - Foo doesn't use Bar at all. The ideal solution would be for\nthere to be a way to specify conflicting versions of modules in a way that would\nlet CPAN clients update conflicting modules automatically after an existing\nmodule is upgraded, but until that happens, this module will allow users to do\nthis manually.",
			"downloadLocation":"NOASSERTION",
			"externalRefs":[
				{
					"referenceCategory":"PACKAGE_MANAGER",
					"referenceLocator":"pkg:rpm/perl-Dist-CheckConflicts@0.11-1.oe2409?arch=noarch&epoch=0&upstream=perl-Dist-CheckConflicts-0.11-1.oe2409.src.rpm",
					"referenceType":"purl"
				}
			],
			"filesAnalyzed":false,
			"homepage":"https://metacpan.org/release/Dist-CheckConflicts",
			"sourceInfo":"acquired package info from repodata DB: repodata/6e742f68b2ae62313d1861c02b7faa39b44c963cbbc6ac979fb577de9af9babc-primary.sqlite.bz2",
			"summary":"Declare version conflicts for your dist",
			"supplier":"Organization: http://openeuler.org",
			"versionInfo":"0:0.11-1.oe2409"
		},
		{
			"SPDXID":"SPDXRef-rpm-perl-Getopt-Long-2.57-7543f068-83c3-48da-8b41-70faad8865aa-26b8a7c4-6c2d-47ba-9a7b-227307a2b0cd",
			"name":"perl-Getopt-Long",
			"checksums":[
				{
					"algorithm":"SHA256",
					"checksumValue":"1e734a72588e3b97d3a3ac3a7b2eec76ac90d3cc1d83969594a35a4779cb34f7"
				}
			],
			"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.oe2409?arch=noarch&epoch=1&upstream=perl-Getopt-Long-2.57-1.oe2409.src.rpm",
					"referenceType":"purl"
				}
			],
			"filesAnalyzed":false,
			"homepage":"https://metacpan.org/pod/Getopt::Long",
			"sourceInfo":"acquired package info from repodata DB: repodata/6e742f68b2ae62313d1861c02b7faa39b44c963cbbc6ac979fb577de9af9babc-primary.sqlite.bz2",
			"summary":"Extended processing of command line options",
			"supplier":"Organization: http://openeuler.org",
			"versionInfo":"1:2.57-1.oe2409"
		},
		{
			"SPDXID":"SPDXRef-rpm-perl-Module-Implementation-0.09-c9a662f7-5a14-438b-a517-b171c540ec3f-d3eec101-2c37-488e-8031-d8fda115737b",
			"name":"perl-Module-Implementation",
			"checksums":[
				{
					"algorithm":"SHA256",
					"checksumValue":"a0e9b5d2378f564a729f20b1d1911ad8e8e73665b6285e0438c405b381ac9deb"
				}
			],
			"description":"This module abstracts out the process of choosing one of several underlying\nimplementations for a module. This can be used to provide XS and pure Perl\nimplementations of a module, or it could be used to load an implementation\nfor a given OS or any other case of needing to provide multiple\nimplementations.",
			"downloadLocation":"NOASSERTION",
			"externalRefs":[
				{
					"referenceCategory":"PACKAGE_MANAGER",
					"referenceLocator":"pkg:rpm/perl-Module-Implementation@0.09-1.oe2409?arch=noarch&epoch=0&upstream=perl-Module-Implementation-0.09-1.oe2409.src.rpm",
					"referenceType":"purl"
				}
			],
			"filesAnalyzed":false,
			"homepage":"http://search.cpan.org/dist/Module-Implementation/",
			"sourceInfo":"acquired package info from repodata DB: repodata/6e742f68b2ae62313d1861c02b7faa39b44c963cbbc6ac979fb577de9af9babc-primary.sqlite.bz2",
			"summary":"Loads one of several alternate underlying implementations for a module",
			"supplier":"Organization: http://openeuler.org",
			"versionInfo":"0:0.09-1.oe2409"
		},
		{
			"SPDXID":"SPDXRef-rpm-perl-Package-Stash-0.40-6575c49e-3806-49d2-8e5b-fe885b5f99df-67521116-5016-49ef-8396-cd1acd13f1bd",
			"name":"perl-Package-Stash",
			"checksums":[
				{
					"algorithm":"SHA256",
					"checksumValue":"c05722ae00b54a1732f2bc2657cba1b009811d519171c7808c330f1193d7ec6a"
				}
			],
			"description":"Manipulating stashes (Perl's symbol tables) is occasionally necessary, but\nincredibly messy, and easy to get wrong. This module hides all of that behind\na simple API.",
			"downloadLocation":"NOASSERTION",
			"externalRefs":[
				{
					"referenceCategory":"PACKAGE_MANAGER",
					"referenceLocator":"pkg:rpm/perl-Package-Stash@0.40-1.oe2409?arch=noarch&epoch=0&upstream=perl-Package-Stash-0.40-1.oe2409.src.rpm",
					"referenceType":"purl"
				}
			],
			"filesAnalyzed":false,
			"homepage":"https://metacpan.org/release/Package-Stash",
			"sourceInfo":"acquired package info from repodata DB: repodata/6e742f68b2ae62313d1861c02b7faa39b44c963cbbc6ac979fb577de9af9babc-primary.sqlite.bz2",
			"summary":"Routines for manipulating stashes",
			"supplier":"Organization: http://openeuler.org",
			"versionInfo":"0:0.40-1.oe2409"
		},
		{
			"SPDXID":"SPDXRef-rpm-perl-Package-Stash-XS-0.30-ac195aa0-3b9e-4b63-846a-fd5f65d7b238-b24938c1-556b-44e6-8775-c2dfb39dc5ff",
			"name":"perl-Package-Stash-XS",
			"checksums":[
				{
					"algorithm":"SHA256",
					"checksumValue":"286ef16c73b6b1233f358a2ad2257fa2f20dd0b14cecf96d99c86d28510e888f"
				}
			],
			"description":"This is a back-end for Package::Stash, which provides the functionality in a\nway that's less buggy and much faster. It will be used by default if it's\ninstalled, and should be preferred in all environments with a compiler.",
			"downloadLocation":"NOASSERTION",
			"externalRefs":[
				{
					"referenceCategory":"PACKAGE_MANAGER",
					"referenceLocator":"pkg:rpm/perl-Package-Stash-XS@0.30-1.oe2409?arch=aarch64&epoch=0&upstream=perl-Package-Stash-XS-0.30-1.oe2409.src.rpm",
					"referenceType":"purl"
				}
			],
			"filesAnalyzed":false,
			"homepage":"https://metacpan.org/release/Package-Stash-XS",
			"sourceInfo":"acquired package info from repodata DB: repodata/6e742f68b2ae62313d1861c02b7faa39b44c963cbbc6ac979fb577de9af9babc-primary.sqlite.bz2",
			"summary":"Faster and more correct implementation of the Package::Stash API",
			"supplier":"Organization: http://openeuler.org",
			"versionInfo":"0:0.30-1.oe2409"
		},
		{
			"SPDXID":"SPDXRef-rpm-perl-Scalar-List-Utils-1.63-35328e86-e1a3-44ab-85af-9630af1ab520-b4c41a32-1709-4e16-869c-2a6e70236c44",
			"name":"perl-Scalar-List-Utils",
			"checksums":[
				{
					"algorithm":"SHA256",
					"checksumValue":"e6889f9a1c02653e1b73520b6e988bb70837368cf48d18cf16554dd0b94eb95e"
				}
			],
			"description":"This package contains a selection of subroutines that people have\nexpressed would be nice to have in the perl core, but the usage would not\nreally be high enough to warrant the use of a keyword, and the size so\nsmall such that being individual extensions would be wasteful.",
			"downloadLocation":"NOASSERTION",
			"externalRefs":[
				{
					"referenceCategory":"PACKAGE_MANAGER",
					"referenceLocator":"pkg:rpm/perl-Scalar-List-Utils@1.63-1.oe2409?arch=aarch64&epoch=4&upstream=perl-Scalar-List-Utils-1.63-1.oe2409.src.rpm",
					"referenceType":"purl"
				}
			],
			"filesAnalyzed":false,
			"homepage":"https://metacpan.org/release/Scalar-List-Utils",
			"sourceInfo":"acquired package info from repodata DB: repodata/6e742f68b2ae62313d1861c02b7faa39b44c963cbbc6ac979fb577de9af9babc-primary.sqlite.bz2",
			"summary":"Common Scalar and List utility subroutines",
			"supplier":"Organization: http://openeuler.org",
			"versionInfo":"4:1.63-1.oe2409"
		},
		{
			"SPDXID":"SPDXRef-rpm-perl-constant-1.33-e2cc0cf2-484f-4a09-993f-8785b84e36b0-f022fb01-92cb-4d4f-b3b5-c9a503c823fc",
			"name":"perl-constant",
			"checksums":[
				{
					"algorithm":"SHA256",
					"checksumValue":"e0d2c06f6fcf164ddf6d32c7709fe92f37b9ab309abefc33fed273516c0f5cd1"
				}
			],
			"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-422.oe2409?arch=noarch&epoch=0&upstream=perl-constant-1.33-422.oe2409.src.rpm",
					"referenceType":"purl"
				}
			],
			"filesAnalyzed":false,
			"homepage":"https://metacpan.org/release/constant",
			"sourceInfo":"acquired package info from repodata DB: repodata/6e742f68b2ae62313d1861c02b7faa39b44c963cbbc6ac979fb577de9af9babc-primary.sqlite.bz2",
			"summary":"Perl pragma to declare constants",
			"supplier":"Organization: http://openeuler.org",
			"versionInfo":"0:1.33-422.oe2409"
		},
		{
			"SPDXID":"SPDXRef-rpm-perl-libs-5.38.0-7fdc2fc9-5bac-4a1d-a41c-6c102fdcce47-7be3878f-751c-4ca6-b56c-9a5a152f0c7d",
			"name":"perl-libs",
			"checksums":[
				{
					"algorithm":"SHA256",
					"checksumValue":"767b285aad322c1f004fa698cf646f37bf052c9caaafecbbdf567655466b12f2"
				}
			],
			"description":"This package is the shared library for perl.",
			"downloadLocation":"NOASSERTION",
			"externalRefs":[
				{
					"referenceCategory":"PACKAGE_MANAGER",
					"referenceLocator":"pkg:rpm/perl-libs@5.38.0-8.oe2409?arch=aarch64&epoch=4&upstream=perl-5.38.0-8.oe2409.src.rpm",
					"referenceType":"purl"
				}
			],
			"filesAnalyzed":false,
			"homepage":"https://www.perl.org/",
			"sourceInfo":"acquired package info from repodata DB: repodata/6e742f68b2ae62313d1861c02b7faa39b44c963cbbc6ac979fb577de9af9babc-primary.sqlite.bz2",
			"summary":"The libraries for the perl",
			"supplier":"Organization: http://openeuler.org",
			"versionInfo":"4:5.38.0-8.oe2409"
		}
	],
	"relationships":[
		{
			"spdxElementId":"SPDXRef-rpm-perl-Package-Stash-0.40-6575c49e-3806-49d2-8e5b-fe885b5f99df-67521116-5016-49ef-8396-cd1acd13f1bd",
			"relationshipType":"DEPENDS_ON",
			"relatedSpdxElement":"SPDXRef-rpm-perl-5.38.0-3373dd29-00bf-4751-bc96-5b01fbd1f07c-fd85ddec-cd84-4faa-a302-be62647208a5"
		},
		{
			"spdxElementId":"SPDXRef-rpm-perl-Package-Stash-0.40-6575c49e-3806-49d2-8e5b-fe885b5f99df-67521116-5016-49ef-8396-cd1acd13f1bd",
			"relationshipType":"DEPENDS_ON",
			"relatedSpdxElement":"SPDXRef-rpm-perl-Carp-1.50-26fa9174-9324-4e80-b10e-6a723f948447-d42982a9-494c-4fda-9a43-d557ee5d1eed"
		},
		{
			"spdxElementId":"SPDXRef-rpm-perl-Package-Stash-0.40-6575c49e-3806-49d2-8e5b-fe885b5f99df-67521116-5016-49ef-8396-cd1acd13f1bd",
			"relationshipType":"DEPENDS_ON",
			"relatedSpdxElement":"SPDXRef-rpm-perl-Dist-CheckConflicts-0.11-2ad9d624-f1c5-46b4-b83e-1b3b4e85109f-4686d21b-d446-449e-9fab-c953e9f42d22"
		},
		{
			"spdxElementId":"SPDXRef-rpm-perl-Package-Stash-0.40-6575c49e-3806-49d2-8e5b-fe885b5f99df-67521116-5016-49ef-8396-cd1acd13f1bd",
			"relationshipType":"DEPENDS_ON",
			"relatedSpdxElement":"SPDXRef-rpm-perl-Getopt-Long-2.57-7543f068-83c3-48da-8b41-70faad8865aa-26b8a7c4-6c2d-47ba-9a7b-227307a2b0cd"
		},
		{
			"spdxElementId":"SPDXRef-rpm-perl-Package-Stash-0.40-6575c49e-3806-49d2-8e5b-fe885b5f99df-67521116-5016-49ef-8396-cd1acd13f1bd",
			"relationshipType":"DEPENDS_ON",
			"relatedSpdxElement":"SPDXRef-rpm-perl-Module-Implementation-0.09-c9a662f7-5a14-438b-a517-b171c540ec3f-d3eec101-2c37-488e-8031-d8fda115737b"
		},
		{
			"spdxElementId":"SPDXRef-rpm-perl-Package-Stash-0.40-6575c49e-3806-49d2-8e5b-fe885b5f99df-67521116-5016-49ef-8396-cd1acd13f1bd",
			"relationshipType":"DEPENDS_ON",
			"relatedSpdxElement":"SPDXRef-rpm-perl-Package-Stash-0.40-6575c49e-3806-49d2-8e5b-fe885b5f99df-67521116-5016-49ef-8396-cd1acd13f1bd"
		},
		{
			"spdxElementId":"SPDXRef-rpm-perl-Package-Stash-0.40-6575c49e-3806-49d2-8e5b-fe885b5f99df-67521116-5016-49ef-8396-cd1acd13f1bd",
			"relationshipType":"DEPENDS_ON",
			"relatedSpdxElement":"SPDXRef-rpm-perl-Package-Stash-XS-0.30-ac195aa0-3b9e-4b63-846a-fd5f65d7b238-b24938c1-556b-44e6-8775-c2dfb39dc5ff"
		},
		{
			"spdxElementId":"SPDXRef-rpm-perl-Package-Stash-0.40-6575c49e-3806-49d2-8e5b-fe885b5f99df-67521116-5016-49ef-8396-cd1acd13f1bd",
			"relationshipType":"DEPENDS_ON",
			"relatedSpdxElement":"SPDXRef-rpm-perl-Scalar-List-Utils-1.63-35328e86-e1a3-44ab-85af-9630af1ab520-b4c41a32-1709-4e16-869c-2a6e70236c44"
		},
		{
			"spdxElementId":"SPDXRef-rpm-perl-Package-Stash-0.40-6575c49e-3806-49d2-8e5b-fe885b5f99df-67521116-5016-49ef-8396-cd1acd13f1bd",
			"relationshipType":"DEPENDS_ON",
			"relatedSpdxElement":"SPDXRef-rpm-perl-constant-1.33-e2cc0cf2-484f-4a09-993f-8785b84e36b0-f022fb01-92cb-4d4f-b3b5-c9a503c823fc"
		},
		{
			"spdxElementId":"SPDXRef-rpm-perl-Package-Stash-0.40-6575c49e-3806-49d2-8e5b-fe885b5f99df-67521116-5016-49ef-8396-cd1acd13f1bd",
			"relationshipType":"DEPENDS_ON",
			"relatedSpdxElement":"SPDXRef-rpm-perl-libs-5.38.0-7fdc2fc9-5bac-4a1d-a41c-6c102fdcce47-7be3878f-751c-4ca6-b56c-9a5a152f0c7d"
		}
	]
}