{
	"SPDXID":"SPDXRef-DOCUMENT",
	"name":"perl-ExtUtils-HasCompiler-0.0.025-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-ExtUtils-HasCompiler-0.0.025-1.oe2409.aarch64.rpm",
	"packages":[
		{
			"SPDXID":"SPDXRef-rpm-perl-5.38.0-3373dd29-00bf-4751-bc96-5b01fbd1f07c-acaa8f43-1eca-49b4-9644-72bba2b797cd",
			"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-ac30399e-48cb-40c5-8e6e-18a1ebfacb3c",
			"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-Exporter-5.77-d803843f-f243-40ee-be4f-bc9d7d367726-378ff479-1a7c-4c61-8657-2cfb2a5019e4",
			"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-ExtUtils-MakeMaker-7.71-01-f4a043c2-33c6-4a35-900d-bf64192f3ac8-24ba260d-125c-4b9e-bb37-8d43897719f7",
			"name":"perl-ExtUtils-MakeMaker",
			"checksums":[
				{
					"algorithm":"SHA256",
					"checksumValue":"2429bb4cb53dc8c5366af20cf6e541682d015916cd4c26aa5fda25847254993d"
				}
			],
			"description":"This utility is designed to write a Makefile for an extension module from a Makefile.PL.\nIt is based on the Makefile.SH model provided by Andy Dougherty and the perl5-porters.\n\nIt splits the task of generating the Makefile into several subroutines that can be individually overridden.\nEach subroutine returns the text it wishes to have written to the Makefile.\n\nAs there are various Make programs with incompatible syntax, which use operating system shells, again with incompatible syntax,\nit is important for users of this module to know which flavour of Make a Makefile has been written for so they'll use the correct one\nand won't have to face the possibly bewildering errors resulting from using the wrong one.\n\nOn POSIX systems, that program will likely be GNU Make; on Microsoft Windows, it will be either Microsoft NMake, DMake or GNU Make.\nSee the section on the \"MAKE\" parameter for details.\n\nExtUtils::MakeMaker (EUMM) is object oriented. Each directory below the current directory that contains a Makefile.PL is treated as a separate object.\nThis makes it possible to write an unlimited number of Makefiles with a single invocation of WriteMakefile().\n\nAll inputs to WriteMakefile are Unicode characters, not just octets. EUMM seeks to handle all of these correctly.\nIt is currently still not possible to portably use Unicode characters in module names, because this requires Perl to handle Unicode filenames,\nwhich is not yet the case on Windows.",
			"downloadLocation":"NOASSERTION",
			"externalRefs":[
				{
					"referenceCategory":"PACKAGE_MANAGER",
					"referenceLocator":"pkg:rpm/perl-ExtUtils-MakeMaker@7.71_01-1.oe2409?arch=noarch&epoch=1&upstream=perl-ExtUtils-MakeMaker-7.71_01-1.oe2409.src.rpm",
					"referenceType":"purl"
				}
			],
			"filesAnalyzed":false,
			"homepage":"https://metacpan.org/release/ExtUtils-MakeMaker",
			"sourceInfo":"acquired package info from repodata DB: repodata/6e742f68b2ae62313d1861c02b7faa39b44c963cbbc6ac979fb577de9af9babc-primary.sqlite.bz2",
			"summary":"Create Makefile",
			"supplier":"Organization: http://openeuler.org",
			"versionInfo":"1:7.71_01-1.oe2409"
		},
		{
			"SPDXID":"SPDXRef-rpm-perl-File-Temp-0.2311-02ffb909-c5b3-46ed-a812-57d56710f881-38f8cc70-760d-4e31-8afe-64ef8f68d9bd",
			"name":"perl-File-Temp",
			"checksums":[
				{
					"algorithm":"SHA256",
					"checksumValue":"bc12b09af6c50572fabe78649d6c539cc0209d4617c616425c8f9078b91f7582"
				}
			],
			"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.oe2409?arch=noarch&epoch=1&upstream=perl-File-Temp-0.2311-3.oe2409.src.rpm",
					"referenceType":"purl"
				}
			],
			"filesAnalyzed":false,
			"homepage":"https://metacpan.org/release/File-Temp",
			"sourceInfo":"acquired package info from repodata DB: repodata/6e742f68b2ae62313d1861c02b7faa39b44c963cbbc6ac979fb577de9af9babc-primary.sqlite.bz2",
			"summary":"Return name and handle of a temporary file safely",
			"supplier":"Organization: http://openeuler.org",
			"versionInfo":"1:0.2311-3.oe2409"
		},
		{
			"SPDXID":"SPDXRef-rpm-perl-PathTools-3.89-cc522244-5a11-4d7c-aa3d-ae4923e4d525-c65c37d5-3f0d-4ab5-9abc-d00c7f796d64",
			"name":"perl-PathTools",
			"checksums":[
				{
					"algorithm":"SHA256",
					"checksumValue":"87846dab0cb6f2aaf26113fff0ebcf650b1e30c122ad5a19b9c9b5fc41be50ab"
				}
			],
			"description":"Tools for working with directory and file names.",
			"downloadLocation":"NOASSERTION",
			"externalRefs":[
				{
					"referenceCategory":"PACKAGE_MANAGER",
					"referenceLocator":"pkg:rpm/perl-PathTools@3.89-1.oe2409?arch=aarch64&epoch=0&upstream=perl-PathTools-3.89-1.oe2409.src.rpm",
					"referenceType":"purl"
				}
			],
			"filesAnalyzed":false,
			"homepage":"https://metacpan.org/release/PathTools",
			"sourceInfo":"acquired package info from repodata DB: repodata/6e742f68b2ae62313d1861c02b7faa39b44c963cbbc6ac979fb577de9af9babc-primary.sqlite.bz2",
			"summary":"PathTools Perl Module (Cwd, File::Spec)",
			"supplier":"Organization: http://openeuler.org",
			"versionInfo":"0:3.89-1.oe2409"
		},
		{
			"SPDXID":"SPDXRef-rpm-perl-libs-5.38.0-7fdc2fc9-5bac-4a1d-a41c-6c102fdcce47-dd441f77-24cd-4319-8107-aa031298370d",
			"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-ExtUtils-HasCompiler-0.025-da32e199-ff2c-41d0-8910-9f0824aa5a0e",
			"relationshipType":"DEPENDS_ON",
			"relatedSpdxElement":"SPDXRef-rpm-perl-5.38.0-3373dd29-00bf-4751-bc96-5b01fbd1f07c-acaa8f43-1eca-49b4-9644-72bba2b797cd"
		},
		{
			"spdxElementId":"SPDXRef-rpm-perl-ExtUtils-HasCompiler-0.025-da32e199-ff2c-41d0-8910-9f0824aa5a0e",
			"relationshipType":"DEPENDS_ON",
			"relatedSpdxElement":"SPDXRef-rpm-perl-Carp-1.50-26fa9174-9324-4e80-b10e-6a723f948447-ac30399e-48cb-40c5-8e6e-18a1ebfacb3c"
		},
		{
			"spdxElementId":"SPDXRef-rpm-perl-ExtUtils-HasCompiler-0.025-da32e199-ff2c-41d0-8910-9f0824aa5a0e",
			"relationshipType":"DEPENDS_ON",
			"relatedSpdxElement":"SPDXRef-rpm-perl-Exporter-5.77-d803843f-f243-40ee-be4f-bc9d7d367726-378ff479-1a7c-4c61-8657-2cfb2a5019e4"
		},
		{
			"spdxElementId":"SPDXRef-rpm-perl-ExtUtils-HasCompiler-0.025-da32e199-ff2c-41d0-8910-9f0824aa5a0e",
			"relationshipType":"DEPENDS_ON",
			"relatedSpdxElement":"SPDXRef-rpm-perl-ExtUtils-MakeMaker-7.71-01-f4a043c2-33c6-4a35-900d-bf64192f3ac8-24ba260d-125c-4b9e-bb37-8d43897719f7"
		},
		{
			"spdxElementId":"SPDXRef-rpm-perl-ExtUtils-HasCompiler-0.025-da32e199-ff2c-41d0-8910-9f0824aa5a0e",
			"relationshipType":"DEPENDS_ON",
			"relatedSpdxElement":"SPDXRef-rpm-perl-File-Temp-0.2311-02ffb909-c5b3-46ed-a812-57d56710f881-38f8cc70-760d-4e31-8afe-64ef8f68d9bd"
		},
		{
			"spdxElementId":"SPDXRef-rpm-perl-ExtUtils-HasCompiler-0.025-da32e199-ff2c-41d0-8910-9f0824aa5a0e",
			"relationshipType":"DEPENDS_ON",
			"relatedSpdxElement":"SPDXRef-rpm-perl-PathTools-3.89-cc522244-5a11-4d7c-aa3d-ae4923e4d525-c65c37d5-3f0d-4ab5-9abc-d00c7f796d64"
		},
		{
			"spdxElementId":"SPDXRef-rpm-perl-ExtUtils-HasCompiler-0.025-da32e199-ff2c-41d0-8910-9f0824aa5a0e",
			"relationshipType":"DEPENDS_ON",
			"relatedSpdxElement":"SPDXRef-rpm-perl-libs-5.38.0-7fdc2fc9-5bac-4a1d-a41c-6c102fdcce47-dd441f77-24cd-4319-8107-aa031298370d"
		}
	]
}