tools-java icon indicating copy to clipboard operation
tools-java copied to clipboard

Conversion from valid SPDX2 gives invalid SPDX3

Open vargenau opened this issue 10 months ago • 7 comments

Hi @goneall I have a valid SPDX2 file, FN.spdx (uploaded here as FN.spdx.txt). I convert to SPDX3. Then the validator gives the following errors:

his SPDX Document is not valid due to:
	Relationship error: Relationship error: Missing required license information from files for busybox in FN in FN in FN
	Relationship error: Relationship error: Missing required package files for busybox in FN in FN in FN
	Relationship error: Relationship error: Missing required package verification code for package busybox in FN in FN in FN
	Relationship error: Relationship error: Missing required license information from files for bash in FN in FN in FN
	Relationship error: Relationship error: Missing required package files for bash in FN in FN in FN
	Relationship error: Relationship error: Missing required package verification code for package bash in FN in FN in FN
	Relationship error: Relationship error: Missing required license information from files for base-files in FN in FN in FN
	Relationship error: Relationship error: Missing required package files for base-files in FN in FN in FN
	Relationship error: Relationship error: Missing required package verification code for package base-files in FN in FN in FN
	Relationship error: Relationship error: Missing required license information from files for blkid in FN in FN in FN
	Relationship error: Relationship error: Missing required package files for blkid in FN in FN in FN
	Relationship error: Relationship error: Missing required package verification code for package blkid in FN in FN in FN
	Relationship error: Relationship error: Missing required license information from files for 464xlat in FN in FN in FN
	Relationship error: Relationship error: Missing required package files for 464xlat in FN in FN in FN
	Relationship error: Relationship error: Missing required package verification code for package 464xlat in FN in FN in FN
	Relationship error: Relationship error: Missing required license information from files for block-mount in FN in FN in FN
	Relationship error: Relationship error: Missing required package files for block-mount in FN in FN in FN
	Relationship error: Relationship error: Missing required package verification code for package block-mount in FN in FN in FN
	Relationship error: Missing required license information from files for FN in FN
	Relationship error: Missing required package files for FN in FN
	Relationship error: Missing required package verification code for package FN in FN

FN.spdx.txt

FN.spdx.json

vargenau avatar Feb 24 '25 17:02 vargenau

This is with Release Candidate 2 for version 2.0.0 of the SPDX Java Tools

vargenau avatar Feb 25 '25 10:02 vargenau

I just ran verify against the attached FN.spdx.txt file and I got the following errors:

This SPDX Document is not valid due to:
	Relationship at line 16 invalid: Missing required package files for blkid
	Relationship at line 16 invalid: Missing required package verification code for package blkid
	Relationship at line 17 invalid: Missing required package files for block-mount
	Relationship at line 17 invalid: Missing required package verification code for package block-mount
	Relationship at line 18 invalid: Missing required package files for busybox
	Relationship at line 18 invalid: Missing required package verification code for package busybox
	Relationship at line 11 invalid: Relationship error: Missing required package files for block-mount in FN in FN
	Relationship at line 11 invalid: Relationship error: Missing required package verification code for package block-mount in FN in FN
	Relationship at line 11 invalid: Relationship error: Missing required package files for base-files in FN in FN
	Relationship at line 11 invalid: Relationship error: Missing required package verification code for package base-files in FN in FN
	Relationship at line 11 invalid: Relationship error: Missing required package files for blkid in FN in FN
	Relationship at line 11 invalid: Relationship error: Missing required package verification code for package blkid in FN in FN
	Relationship at line 11 invalid: Relationship error: Missing required package files for busybox in FN in FN
	Relationship at line 11 invalid: Relationship error: Missing required package verification code for package busybox in FN in FN
	Relationship at line 11 invalid: Relationship error: Missing required package files for bash in FN in FN
	Relationship at line 11 invalid: Relationship error: Missing required package verification code for package bash in FN in FN
	Relationship at line 11 invalid: Relationship error: Missing required package files for 464xlat in FN in FN
	Relationship at line 11 invalid: Relationship error: Missing required package verification code for package 464xlat in FN in FN
	Relationship at line 11 invalid: Missing required package files for FN
	Relationship at line 11 invalid: Missing required package verification code for package FN
	Relationship at line 13 invalid: Missing required package files for 464xlat
	Relationship at line 13 invalid: Missing required package verification code for package 464xlat
	Relationship at line 14 invalid: Missing required package files for base-files
	Relationship at line 14 invalid: Missing required package verification code for package base-files
	Relationship at line 15 invalid: Missing required package files for bash
	Relationship at line 15 invalid: Missing required package verification code for package bash
	Package at line 22 invalid: Relationship error: Missing required package files for block-mount in FN in FN
	Package at line 22 invalid: Relationship error: Missing required package verification code for package block-mount in FN in FN
	Package at line 22 invalid: Relationship error: Missing required package files for base-files in FN in FN
	Package at line 22 invalid: Relationship error: Missing required package verification code for package base-files in FN in FN
	Package at line 22 invalid: Relationship error: Missing required package files for blkid in FN in FN
	Package at line 22 invalid: Relationship error: Missing required package verification code for package blkid in FN in FN
	Package at line 22 invalid: Relationship error: Missing required package files for busybox in FN in FN
	Package at line 22 invalid: Relationship error: Missing required package verification code for package busybox in FN in FN
	Package at line 22 invalid: Relationship error: Missing required package files for bash in FN in FN
	Package at line 22 invalid: Relationship error: Missing required package verification code for package bash in FN in FN
	Package at line 22 invalid: Relationship error: Missing required package files for 464xlat in FN in FN
	Package at line 22 invalid: Relationship error: Missing required package verification code for package 464xlat in FN in FN
	Package at line 22 invalid: Missing required package files for FN
	Package at line 22 invalid: Missing required package verification code for package FN
	Package at line 33 invalid: Missing required package files for 464xlat
	Package at line 33 invalid: Missing required package verification code for package 464xlat
	Package at line 45 invalid: Missing required package files for base-files
	Package at line 45 invalid: Missing required package verification code for package base-files
	Package at line 57 invalid: Missing required package files for bash
	Package at line 57 invalid: Missing required package verification code for package bash
	Package at line 69 invalid: Missing required package files for blkid
	Package at line 69 invalid: Missing required package verification code for package blkid
	Package at line 81 invalid: Missing required package files for block-mount
	Package at line 81 invalid: Missing required package verification code for package block-mount
	Package at line 93 invalid: Missing required package files for busybox
	Package at line 93 invalid: Missing required package verification code for package busybox
	Relationship error: Relationship error: Missing required license information from files for block-mount in FN in FN in FN
	Relationship error: Relationship error: Missing required package files for block-mount in FN in FN in FN
	Relationship error: Relationship error: Missing required package verification code for package block-mount in FN in FN in FN
	Relationship error: Relationship error: Missing required license information from files for base-files in FN in FN in FN
	Relationship error: Relationship error: Missing required package files for base-files in FN in FN in FN
	Relationship error: Relationship error: Missing required package verification code for package base-files in FN in FN in FN
	Relationship error: Relationship error: Missing required license information from files for blkid in FN in FN in FN
	Relationship error: Relationship error: Missing required package files for blkid in FN in FN in FN
	Relationship error: Relationship error: Missing required package verification code for package blkid in FN in FN in FN
	Relationship error: Relationship error: Missing required license information from files for busybox in FN in FN in FN
	Relationship error: Relationship error: Missing required package files for busybox in FN in FN in FN
	Relationship error: Relationship error: Missing required package verification code for package busybox in FN in FN in FN
	Relationship error: Relationship error: Missing required license information from files for bash in FN in FN in FN
	Relationship error: Relationship error: Missing required package files for bash in FN in FN in FN
	Relationship error: Relationship error: Missing required package verification code for package bash in FN in FN in FN
	Relationship error: Relationship error: Missing required license information from files for 464xlat in FN in FN in FN
	Relationship error: Relationship error: Missing required package files for 464xlat in FN in FN in FN
	Relationship error: Relationship error: Missing required package verification code for package 464xlat in FN in FN in FN
	Relationship error: Missing required license information from files for FN in FN
	Relationship error: Missing required package files for FN in FN
	Relationship error: Missing required package verification code for package FN in FN

goneall avatar Feb 25 '25 21:02 goneall

Hi @goneall I had not checked the validity of the file with RC2. However, both tools-python and tools-java version 1.1.8 say the file is valid SPDX. And I do not really understand what the errors are. Could you please clarify what the errors are and how to fix them?

vargenau avatar Feb 26 '25 10:02 vargenau

Hi @goneall I had not checked the validity of the file with RC2. However, both tools-python and tools-java version 1.1.8 say the file is valid SPDX. And I do not really understand what the errors are. Could you please clarify what the errors are and how to fix them?

Interesting that 1.1.8 has different results. I'll look into it.

goneall avatar Feb 27 '25 02:02 goneall

I think most, if not all, the errors are due to the FilesAnalyzed flag not being specified on packages that do not have the files or PackageVerificationCode fields for FilesAnalyzed=True which is the default.

I just looked back in the spec and there isn't any clear mention that these are required. I do recall a discussion where they should be present, but I can remove the checks. @kestewart - any opinion on if these are required?

It's curious that the tools-java version 1.1.8 didn't flag the same issues since that part of the code hasn't really changed.

goneall avatar Feb 27 '25 02:02 goneall

Hi @goneall Thank you for the explanation. Adding FilesAnalyzed: false makes the warning disappear. In the SPDX 2.2 spec, it says for Package Verification Code:

3.9.3 Cardinality: Mandatory, one if FilesAnalyzed is true or omitted, zero (must be omitted) if FilesAnalyzed is false.

So I think the SBOM is invalid. I would leave the checks.

vargenau avatar Mar 05 '25 14:03 vargenau

I have created https://github.com/spdx/tools-python/issues/845 for tools-python.

vargenau avatar Mar 05 '25 14:03 vargenau

@vargenau - Can this issue be closed?

goneall avatar Apr 14 '25 23:04 goneall

@vargenau - I'll go ahead and close this based on the above comments - but if you feel it is still an issue, please re-open or create a new issue

goneall avatar Apr 16 '25 21:04 goneall