-
Notifications
You must be signed in to change notification settings - Fork 104
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
Generating project/component SBoM data corresponding SPDX #1171
Comments
Memo: Other SPDX SBOM generator which we can refer. |
maybe that would be the opportunity to do the export of SPDX BOM right with the new library from the SPDX project and then we could phase out the classic one: https://github.com/spdx/tools I think it could be good to be with YAML and JSON on the long run instead of RDF: https://github.com/spdx/Spdx-Java-Library |
The generator at https://sbom.democert.org/sbom/ seem to be on package level and not on file level. however, I find that that would be a super good first step and maybe the file level description shall be separate files for each package so the handling would be better (instead of attempting to generate one large file) |
There are variety of spdx format and these example exist in https://github.com/spdx/spdx-spec/tree/development/v2.2.1/examples https://github.com/spdx/tools-java/tree/master/testResources I agree export json format / yaml format is best in the long run. And, as a first step, I think export tag format or spread sheet format is also good, because it may be easy to develop. #309 mention about export format |
Need to consider SPDX Attribution comatibility #864 |
@KoukiHama @mcjaeger One note on Yaml that i observed using command
both are spdx-2.2 The conversion was successful. Check the size difference below. I guess Yaml is very memory efficient & puts very less load on the tool as well while processing the data. SW360 struggles to generate the notice file for us from rdf file currently issues/1011. May be yaml processing could be a solution on its efficiency (saves almost 50 mb in terms of storage definitely there will be increase in processing speed as it is a dictionary format) |
I compared SW360 relationship with SPDX relationship. SPDX relationship definition is complicated … https://github.com/eclipse/sw360/wiki/User-Data-Model-Enumerations#release-relationship https://spdx.github.io/spdx-spec/7-relationships-between-SPDX-elements/ |
@KoukiHama Also if you noticed, Currently There is disconnect between the data it fetches from spreadsheet & from its License info . this "Export BOM" should get data both from rdf(copright & licenses) and from component release UI elements(name, version , homepage url, download url etc) project ui elements (linkage, comments. File path etc..).. |
just sharing this for future proof the sw360 w.r.t sbom creation |
I've been reviewing Nita's pdf files as well. Next week at telco, a colleague of mine will be sharing his thoughts on how SPDX output can be achieved with SW360. |
Comparing SW360 (Component/release) and SPDX 3.1 - 3.23
SW360 have field but SPDX have not ?
|
I am considering should the SPDX format be treated as an entirety. Because the SPDX is a "standard", which means only when the required fields are recorded, it can be called "SPDX". But in industry, some fields may not be satisfied easily such as "File information". To balance this problem, SPDX provides a simple version called SPDX Lite. Apart from the Package Information, only a few fields are needed to satisfy the requirements of SPDX Lite, and all these fields can be generated automatically based on the previous set rules in my opinion. So I wonder maybe SPDX Lite could be a good choice here? Here is a simple ui for example. |
#1143 is related with this issue. |
I think SPDX lite is a good idea to generate, but maybe the SPDX lite support would be ideal placed in the SPDX lib for SPDX support so it gets more popularity also in other tools. |
I think so too. Now only few tools (include commercial tools) support SPDX lite. |
I agree with this idea as well. What's more, since we have put our hand to implement the SPDX function of the release, maybe we could begin considering the SPDX function of the project as well. For example, a new SPDX tag firstly. |
FYI : Proposal Slide about New SPDX function design in here. |
#108 is related to this issue. |
In the Package Information, why is |
Package Download Location in this image is stems from and same with SPDX v2.2 (3.7) and it is defined in https://spdx.github.io/spdx-spec/3-package-information/#37-package-download-location And you can find many example in the link. However, Unfortunately, P-URL is not in these example. In my opinion, P -URL is worth to use in SPDX, but now SPDX doesn't seem to be designed to handle PURLs. |
This comment has been minimized.
This comment has been minimized.
PURL issue |
I had got important reply in sw360Slack' : In SPDX there is already a well defined place for PURLs. Locator Format:
Contextual Example:
So this @arunazhakesan 's question's
Answer is that This image is consists of SPDX lite' fields and they don't have field for purl. So both purl itself and "external-repository-identifiers", which is field for purl, are not listed in the image. In addition, What do you think? @shi9qiu |
Yes. I agree with @KoukiHama . As the definition of SPDX:
|
Dear @arunazhakesan , @KoukiHama , @shi9qiu and all, I and my colleagues are working functions of Import, View and Edit SPDX files. Import function support RDF/XML and JSON. I hope that the PR for these functions could be created within October. Actually, we are also working with Export SPDX file, but we are stuck at creating the file. Below are some screen designs: |
When we build the source code in another environment, we failed and get some error messages. We are very confused about this. I wonder does anyone see a similar error message before? What is the reason behind this? |
We asked question about new SPDX library here. and We continue to survey about large files. |
Done:
In progress:
Possible collaboration (include some features we have no plan for now):
|
Does it maybe make sense to collaborate on ORT's SPDX library? We were looking to find the time to extract this as a stand-alone library for quite some time, and a collaboration would be a good reason to do so. |
Dear all, I noticed an important point that, in one SPDX file, the most data is File Information. For example:
It will be a good approach if we separate SPDX file into 2 parts and handle them in different ways. So, I would like to propose solution for Importing/Exporting SPDX SBOM as attached files: SPDX Import.pdf Best regards, |
New spdx library was updated, we ought to try to new one. @shi9qiu |
Just a thought check section "designing executive order compliant sbom" in this link |
We tired and it is the result of new library trial. (thank you @akapti )
Error logs with tools-java version 1.0.2 when I call SpdxConverter.convert(sourceFileName, targetFileName); :
Error with tools-java version 1.0.3 when I call new SpdxDocumentContainer() constructor:
|
Those issues are due to overriding 3rd party libraries. namely Apache jena Here is the hierarchy. One is using 3.12.0 and another using 4.2.0
where as spdx-tools is using Apache jena version 3.12.0 which is creating all the above issues..
|
From our survey, we got the root cause: The conflict between Class and Interface is causing that error: java.lang.IncompatibleClassChangeError. For solving problem, spdx-tools should change the Apache Jena version to latest one in spdx-tools 2.2.5, or else we should completely remove the old SPDX library (spdx-tools 2.2.5) & migrate to new SPDX library (tools-java 1.0.3) |
@KoukiHama The SPDX tools updated the Jena library version to resolve a known security vulnerability in Jena. I would recommend migrating to the new SPDX library version 1.0.3 or later. Let me know if would like any help in the migration. |
Description
Now SW360 can import SPDX, but can not export.
For realizing it, we need to consider some points like following quotes and comments.
If anyone have any concern or advice or comment, please let me know, it would be helpful.
Maybe, at first, we need to compare SW360 items with SPDX items, and consider output format
#864
By the way, spdx importing has issue #108.
Steps followed and expected result
Project -> License clearing -> SPDX export
Screenshots
The text was updated successfully, but these errors were encountered: