{
	"SPDXID":"SPDXRef-DOCUMENT",
	"name":"perl-Test-File-ShareDir-0.1.001002-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-Test-File-ShareDir-0.1.001002-1.oe2409.aarch64.rpm",
	"packages":[
		{
			"SPDXID":"SPDXRef-rpm-perl-Carp-1.50-26fa9174-9324-4e80-b10e-6a723f948447-95b66092-ec0d-42eb-a73f-fe2f56dbeefd",
			"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-Class-Tiny-1.008-247e8259-7cf5-4b3c-a5bd-20c8662a2e49-bb0adf98-c00d-4223-a193-7fbe41ffe884",
			"name":"perl-Class-Tiny",
			"checksums":[
				{
					"algorithm":"SHA256",
					"checksumValue":"43c667eeacf40b24cc864b59894b6c9392f43d7932c16498e8580d59706b30be"
				}
			],
			"description":"This module offers a minimalist class construction kit in around 120 lines of code.",
			"downloadLocation":"NOASSERTION",
			"externalRefs":[
				{
					"referenceCategory":"PACKAGE_MANAGER",
					"referenceLocator":"pkg:rpm/perl-Class-Tiny@1.008-1.oe2409?arch=noarch&epoch=0&upstream=perl-Class-Tiny-1.008-1.oe2409.src.rpm",
					"referenceType":"purl"
				}
			],
			"filesAnalyzed":false,
			"homepage":"https://metacpan.org/release/Class-Tiny",
			"sourceInfo":"acquired package info from repodata DB: repodata/6e742f68b2ae62313d1861c02b7faa39b44c963cbbc6ac979fb577de9af9babc-primary.sqlite.bz2",
			"summary":"Minimalist class construction",
			"supplier":"Organization: http://openeuler.org",
			"versionInfo":"0:1.008-1.oe2409"
		},
		{
			"SPDXID":"SPDXRef-rpm-perl-Exporter-5.77-d803843f-f243-40ee-be4f-bc9d7d367726-ee0a7956-e54f-44da-b4c3-271ed379e7b1",
			"name":"perl-Exporter",
			"checksums":[
				{
					"algorithm":"SHA256",
					"checksumValue":"ba7dc3337d0b20c37931089d741716b05e8f6dfbabfed0d85c5f2be371a8a6d5"
				}
			],
			"description":"The Exporter module implements an import method which allows a module to\nexport functions and variables to its users' name spaces. Many modules use\nExporter rather than implementing their own import method because Exporter\nprovides a highly flexible interface, with an implementation optimized for\nthe common case.",
			"downloadLocation":"NOASSERTION",
			"externalRefs":[
				{
					"referenceCategory":"PACKAGE_MANAGER",
					"referenceLocator":"pkg:rpm/perl-Exporter@5.77-1.oe2409?arch=noarch&epoch=0&upstream=perl-Exporter-5.77-1.oe2409.src.rpm",
					"referenceType":"purl"
				}
			],
			"filesAnalyzed":false,
			"homepage":"https://metacpan.org/release/Exporter",
			"sourceInfo":"acquired package info from repodata DB: repodata/6e742f68b2ae62313d1861c02b7faa39b44c963cbbc6ac979fb577de9af9babc-primary.sqlite.bz2",
			"summary":"Implements default import method for modules",
			"supplier":"Organization: http://openeuler.org",
			"versionInfo":"0:5.77-1.oe2409"
		},
		{
			"SPDXID":"SPDXRef-rpm-perl-File-Copy-Recursive-0.45-7e15e271-5b4c-499d-85f2-de9a90efe1d0-2a69c7f6-9147-47e5-98f6-14d5055ed1c4",
			"name":"perl-File-Copy-Recursive",
			"checksums":[
				{
					"algorithm":"SHA256",
					"checksumValue":"fd6b4d65b48a164cfd62f89f7d0f152debe4e380e25e3a755cb95fedbb5ca83b"
				}
			],
			"description":"This module has 3 functions, one to copy files only, one to copy directories\nonly and one to do either depending on the argument's type.",
			"downloadLocation":"NOASSERTION",
			"externalRefs":[
				{
					"referenceCategory":"PACKAGE_MANAGER",
					"referenceLocator":"pkg:rpm/perl-File-Copy-Recursive@0.45-1.oe2409?arch=noarch&epoch=0&upstream=perl-File-Copy-Recursive-0.45-1.oe2409.src.rpm",
					"referenceType":"purl"
				}
			],
			"filesAnalyzed":false,
			"homepage":"https://metacpan.org/release/File-Copy-Recursive",
			"sourceInfo":"acquired package info from repodata DB: repodata/6e742f68b2ae62313d1861c02b7faa39b44c963cbbc6ac979fb577de9af9babc-primary.sqlite.bz2",
			"summary":"Perl extension for recursively copying files and directories",
			"supplier":"Organization: http://openeuler.org",
			"versionInfo":"0:0.45-1.oe2409"
		},
		{
			"SPDXID":"SPDXRef-rpm-perl-File-ShareDir-1.118-af65b1b8-a4b9-4ac4-94ec-0c7f0a1ae92d-21e7a0b6-c575-4202-8139-fcf45dca2607",
			"name":"perl-File-ShareDir",
			"checksums":[
				{
					"algorithm":"SHA256",
					"checksumValue":"b04e9a32b006d32be72524cc658eb00c4ec70909239b30b7e57a7aba65f040b0"
				}
			],
			"description":"The intent of File::ShareDir is to provide a companion to Class::Inspector\nand File::HomeDir, modules that take a process that is well-known by\nadvanced Perl developers but gets a little tricky, and make it more\navailable to the larger Perl community.",
			"downloadLocation":"NOASSERTION",
			"externalRefs":[
				{
					"referenceCategory":"PACKAGE_MANAGER",
					"referenceLocator":"pkg:rpm/perl-File-ShareDir@1.118-2.oe2409?arch=noarch&epoch=0&upstream=perl-File-ShareDir-1.118-2.oe2409.src.rpm",
					"referenceType":"purl"
				}
			],
			"filesAnalyzed":false,
			"homepage":"https://metacpan.org/release/File-ShareDir",
			"sourceInfo":"acquired package info from repodata DB: repodata/6e742f68b2ae62313d1861c02b7faa39b44c963cbbc6ac979fb577de9af9babc-primary.sqlite.bz2",
			"summary":"Locate per-dist and per-module shared files",
			"supplier":"Organization: http://openeuler.org",
			"versionInfo":"0:1.118-2.oe2409"
		},
		{
			"SPDXID":"SPDXRef-rpm-perl-Path-Tiny-0.144-50bd73dd-db0e-4e32-adda-3a1ac7a35b7b-c10d0fbe-84e7-44c4-8cba-a928b1b28e2c",
			"name":"perl-Path-Tiny",
			"checksums":[
				{
					"algorithm":"SHA256",
					"checksumValue":"8ce17499084901ba7327f6015cfe29af6233a7ba79a0f73304bab90f86b61b0d"
				}
			],
			"description":"This module provides a small, fast utility for working with file paths.\nIt is friendlier to use than File::Spec and provides\neasy access to functions from several other core file handling modules.\nIt aims to be smaller and faster than many alternatives on CPAN,\nwhile helping people do many common things in consistent and less error-prone ways.",
			"downloadLocation":"NOASSERTION",
			"externalRefs":[
				{
					"referenceCategory":"PACKAGE_MANAGER",
					"referenceLocator":"pkg:rpm/perl-Path-Tiny@0.144-1.oe2409?arch=noarch&epoch=0&upstream=perl-Path-Tiny-0.144-1.oe2409.src.rpm",
					"referenceType":"purl"
				}
			],
			"filesAnalyzed":false,
			"homepage":"https://metacpan.org/pod/Path::Tiny",
			"sourceInfo":"acquired package info from repodata DB: repodata/6e742f68b2ae62313d1861c02b7faa39b44c963cbbc6ac979fb577de9af9babc-primary.sqlite.bz2",
			"summary":"Provides a small, fast utility for working with file paths",
			"supplier":"Organization: http://openeuler.org",
			"versionInfo":"0:0.144-1.oe2409"
		},
		{
			"SPDXID":"SPDXRef-rpm-perl-Scope-Guard-0.21-4e16a388-7dd9-4816-a897-795189630bb9-7c5c6769-7efc-41b9-8fe6-1996592d5cec",
			"name":"perl-Scope-Guard",
			"checksums":[
				{
					"algorithm":"SHA256",
					"checksumValue":"3517bfd26f27f2dff4fccba905dbbca8de25241db49cd465054aaa13b567017b"
				}
			],
			"description":"This module provides a convenient way to perform cleanup or other forms of\nresource management at the end of a scope. It is particularly useful when\ndealing with exceptions: the Scope::Guard constructor takes a reference to\na subroutine that is guaranteed to be called even if the thread of\nexecution is aborted prematurely. This effectively allows lexically-scoped\n\"promises\" to be made that are automatically honored by perl's garbage\ncollector.",
			"downloadLocation":"NOASSERTION",
			"externalRefs":[
				{
					"referenceCategory":"PACKAGE_MANAGER",
					"referenceLocator":"pkg:rpm/perl-Scope-Guard@0.21-1.oe2409?arch=noarch&epoch=0&upstream=perl-Scope-Guard-0.21-1.oe2409.src.rpm",
					"referenceType":"purl"
				}
			],
			"filesAnalyzed":false,
			"homepage":"https://metacpan.org/release/Scope-Guard",
			"sourceInfo":"acquired package info from repodata DB: repodata/6e742f68b2ae62313d1861c02b7faa39b44c963cbbc6ac979fb577de9af9babc-primary.sqlite.bz2",
			"summary":"Lexically scoped resource management",
			"supplier":"Organization: http://openeuler.org",
			"versionInfo":"0:0.21-1.oe2409"
		},
		{
			"SPDXID":"SPDXRef-rpm-perl-Test-File-ShareDir-1.001002-488c35e1-edfb-4be4-9dda-8183d82e08cf-e52eaa74-bca4-4e41-be11-c340df983b30",
			"name":"perl-Test-File-ShareDir",
			"checksums":[
				{
					"algorithm":"SHA256",
					"checksumValue":"c041bfaaab01a3b2fefe71e31676c4f47f16eaee7ddb25f858c0ecb3e35b9bee"
				}
			],
			"description":"Create a fake ShareDir for your modules for testing.",
			"downloadLocation":"NOASSERTION",
			"externalRefs":[
				{
					"referenceCategory":"PACKAGE_MANAGER",
					"referenceLocator":"pkg:rpm/perl-Test-File-ShareDir@1.001002-1.oe2409?arch=noarch&epoch=0&upstream=perl-Test-File-ShareDir-1.001002-1.oe2409.src.rpm",
					"referenceType":"purl"
				}
			],
			"filesAnalyzed":false,
			"homepage":"https://metacpan.org/release/Test-File-ShareDir",
			"sourceInfo":"acquired package info from repodata DB: repodata/6e742f68b2ae62313d1861c02b7faa39b44c963cbbc6ac979fb577de9af9babc-primary.sqlite.bz2",
			"summary":"Create a Fake ShareDir for your modules for testing",
			"supplier":"Organization: http://openeuler.org",
			"versionInfo":"0:1.001002-1.oe2409"
		},
		{
			"SPDXID":"SPDXRef-rpm-perl-libs-5.38.0-7fdc2fc9-5bac-4a1d-a41c-6c102fdcce47-47588e3c-53bd-40f7-b151-0dc5efcb9065",
			"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"
		},
		{
			"SPDXID":"SPDXRef-rpm-perl-parent-0.241-87b37454-f86e-4897-8733-adcd1b11e6e1-6be844bc-24ba-412b-8435-dbe72165b58f",
			"name":"perl-parent",
			"checksums":[
				{
					"algorithm":"SHA256",
					"checksumValue":"9c0306ed8ddcd34b0725b4bf3250e98e774e12ccec2a8d05d7e927efbbc385d9"
				}
			],
			"description":"Allows you to both load one or more modules, while setting up inheritance\nfrom those modules at the same time.",
			"downloadLocation":"NOASSERTION",
			"externalRefs":[
				{
					"referenceCategory":"PACKAGE_MANAGER",
					"referenceLocator":"pkg:rpm/perl-parent@0.241-1.oe2409?arch=noarch&epoch=1&upstream=perl-parent-0.241-1.oe2409.src.rpm",
					"referenceType":"purl"
				}
			],
			"filesAnalyzed":false,
			"homepage":"https://metacpan.org/release/parent",
			"sourceInfo":"acquired package info from repodata DB: repodata/6e742f68b2ae62313d1861c02b7faa39b44c963cbbc6ac979fb577de9af9babc-primary.sqlite.bz2",
			"summary":"Establish an ISA relationship with base classes at compile time",
			"supplier":"Organization: http://openeuler.org",
			"versionInfo":"1:0.241-1.oe2409"
		}
	],
	"relationships":[
		{
			"spdxElementId":"SPDXRef-rpm-perl-Test-File-ShareDir-1.001002-488c35e1-edfb-4be4-9dda-8183d82e08cf-e52eaa74-bca4-4e41-be11-c340df983b30",
			"relationshipType":"DEPENDS_ON",
			"relatedSpdxElement":"SPDXRef-rpm-perl-Carp-1.50-26fa9174-9324-4e80-b10e-6a723f948447-95b66092-ec0d-42eb-a73f-fe2f56dbeefd"
		},
		{
			"spdxElementId":"SPDXRef-rpm-perl-Test-File-ShareDir-1.001002-488c35e1-edfb-4be4-9dda-8183d82e08cf-e52eaa74-bca4-4e41-be11-c340df983b30",
			"relationshipType":"DEPENDS_ON",
			"relatedSpdxElement":"SPDXRef-rpm-perl-Class-Tiny-1.008-247e8259-7cf5-4b3c-a5bd-20c8662a2e49-bb0adf98-c00d-4223-a193-7fbe41ffe884"
		},
		{
			"spdxElementId":"SPDXRef-rpm-perl-Test-File-ShareDir-1.001002-488c35e1-edfb-4be4-9dda-8183d82e08cf-e52eaa74-bca4-4e41-be11-c340df983b30",
			"relationshipType":"DEPENDS_ON",
			"relatedSpdxElement":"SPDXRef-rpm-perl-Exporter-5.77-d803843f-f243-40ee-be4f-bc9d7d367726-ee0a7956-e54f-44da-b4c3-271ed379e7b1"
		},
		{
			"spdxElementId":"SPDXRef-rpm-perl-Test-File-ShareDir-1.001002-488c35e1-edfb-4be4-9dda-8183d82e08cf-e52eaa74-bca4-4e41-be11-c340df983b30",
			"relationshipType":"DEPENDS_ON",
			"relatedSpdxElement":"SPDXRef-rpm-perl-File-Copy-Recursive-0.45-7e15e271-5b4c-499d-85f2-de9a90efe1d0-2a69c7f6-9147-47e5-98f6-14d5055ed1c4"
		},
		{
			"spdxElementId":"SPDXRef-rpm-perl-Test-File-ShareDir-1.001002-488c35e1-edfb-4be4-9dda-8183d82e08cf-e52eaa74-bca4-4e41-be11-c340df983b30",
			"relationshipType":"DEPENDS_ON",
			"relatedSpdxElement":"SPDXRef-rpm-perl-File-ShareDir-1.118-af65b1b8-a4b9-4ac4-94ec-0c7f0a1ae92d-21e7a0b6-c575-4202-8139-fcf45dca2607"
		},
		{
			"spdxElementId":"SPDXRef-rpm-perl-Test-File-ShareDir-1.001002-488c35e1-edfb-4be4-9dda-8183d82e08cf-e52eaa74-bca4-4e41-be11-c340df983b30",
			"relationshipType":"DEPENDS_ON",
			"relatedSpdxElement":"SPDXRef-rpm-perl-Path-Tiny-0.144-50bd73dd-db0e-4e32-adda-3a1ac7a35b7b-c10d0fbe-84e7-44c4-8cba-a928b1b28e2c"
		},
		{
			"spdxElementId":"SPDXRef-rpm-perl-Test-File-ShareDir-1.001002-488c35e1-edfb-4be4-9dda-8183d82e08cf-e52eaa74-bca4-4e41-be11-c340df983b30",
			"relationshipType":"DEPENDS_ON",
			"relatedSpdxElement":"SPDXRef-rpm-perl-Scope-Guard-0.21-4e16a388-7dd9-4816-a897-795189630bb9-7c5c6769-7efc-41b9-8fe6-1996592d5cec"
		},
		{
			"spdxElementId":"SPDXRef-rpm-perl-Test-File-ShareDir-1.001002-488c35e1-edfb-4be4-9dda-8183d82e08cf-e52eaa74-bca4-4e41-be11-c340df983b30",
			"relationshipType":"DEPENDS_ON",
			"relatedSpdxElement":"SPDXRef-rpm-perl-Test-File-ShareDir-1.001002-488c35e1-edfb-4be4-9dda-8183d82e08cf-e52eaa74-bca4-4e41-be11-c340df983b30"
		},
		{
			"spdxElementId":"SPDXRef-rpm-perl-Test-File-ShareDir-1.001002-488c35e1-edfb-4be4-9dda-8183d82e08cf-e52eaa74-bca4-4e41-be11-c340df983b30",
			"relationshipType":"DEPENDS_ON",
			"relatedSpdxElement":"SPDXRef-rpm-perl-libs-5.38.0-7fdc2fc9-5bac-4a1d-a41c-6c102fdcce47-47588e3c-53bd-40f7-b151-0dc5efcb9065"
		},
		{
			"spdxElementId":"SPDXRef-rpm-perl-Test-File-ShareDir-1.001002-488c35e1-edfb-4be4-9dda-8183d82e08cf-e52eaa74-bca4-4e41-be11-c340df983b30",
			"relationshipType":"DEPENDS_ON",
			"relatedSpdxElement":"SPDXRef-rpm-perl-parent-0.241-87b37454-f86e-4897-8733-adcd1b11e6e1-6be844bc-24ba-412b-8435-dbe72165b58f"
		}
	]
}