Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Blunt update of SPDX version 2.2 -> 2.2.2 #767

Closed
wants to merge 2 commits into from

Conversation

bact
Copy link
Contributor

@bact bact commented Oct 29, 2024

  • This is a blunt and aggressive approach of making sbom-tool supporting SPDX 2.2.2 (in order to fix Support German BSI TR-03183 2.0.0 by supporting SPDX 2.2.1 or higher #738).
  • It does not add 2.2.2 support AND keep 2.2 support, it is replacing 2.2 with 2.2.2. There will be no 2.2.
  • It is basically replacing the version number (SPDXConstants.SPDXVersion) from "2.2" to "2.2.2" when creating SbomSpecification.
  • As there's no technical differences between 2.2, 2.2.1, and 2.2.2, this can be a minimal way to support 2.2.2.
  • Considering 2.2.2 is a patch version of 2.2 (and there's no technical differences), we may able to say it is still "supporting" 2.2.

Signed-off-by: Arthit Suriyawongkul <[email protected]>
@bact bact requested a review from a team as a code owner October 29, 2024 19:17
@bact bact requested review from jalkire and jlperkins October 29, 2024 19:17
@KalleOlaviNiemitalo
Copy link

Does this make sbom-tool Generate -ManifestInfo SPDX:2.2 an error and require SPDX:2.2.2 instead? If so, that's a breaking change and I hope it will be well documented. It should then be changed here too:

<SbomGenerationManifestInfo Condition=" '$(SbomGenerationManifestInfo)' == '' ">SPDX:2.2</SbomGenerationManifestInfo>

Currently, Microsoft.Sbom.Targets 3.0.0 places the SBOM at _manifest/spdx_2.2/manifest.spdx.json within the generated NuGet package. In the future, as the SBOM tool is updated for subsequent versions of SPDX, are consumers of NuGet packages expected to enumerate the subdirectories of _manifest rather than assume this path?

@bact
Copy link
Contributor Author

bact commented Oct 31, 2024

@KalleOlaviNiemitalo I assume and expect that this command

sbom-tool Generate -ManifestInfo SPDX:2.2

will just generate an SBOM with SBOMSpecification("SPDX", "2.2.2") (and any 2.2.x, as a feature-compatible version of 2.2), using spdx_2.2 folder.

But, yes, if it is an error, it will be definitely a breaking change - which is not desired and we need a way support BOTH 2.2 and 2.2.2 at the same time down to the command-line (because scripts/workflow will rely on it).

@DaveTryon
Copy link
Contributor

@KalleOlaviNiemitalo and @bact, we're discussing this internally to determine our best path forward. We have internal validation tooling that expects the spdx_2.2 folder, so that will break if we suddenly change the folder name to spdx_2.2.2 We haven't yet determined exactly how we want to proceed to provide the optimal experience.

@THEJRRR is the person driving the requirements, so I'm adding him to the thread.

@DaveTryon
Copy link
Contributor

It's unlikely that we'll merge this PR. May I suggest moving the discussion to #738?

@DaveTryon DaveTryon closed this Oct 31, 2024
@bact
Copy link
Contributor Author

bact commented Oct 31, 2024

Please move the discussion over. Thank you.

@bact bact deleted the add-spdx222 branch October 31, 2024 20:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Support German BSI TR-03183 2.0.0 by supporting SPDX 2.2.1 or higher
3 participants