-
Notifications
You must be signed in to change notification settings - Fork 2
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
Construct SBOM from a provided Manifest.toml #21
Comments
The difficulty with this idea is that it requires a completely separate set of code to process the Manifest.toml file and then populate a new Pkg.API.PackageInfo Dictionary so that the rest of the code can use the information. And Pkg already does all that work already when it reads the Project.toml and Manifest.toml, so it's duplicative. Reading the documentation on Pkg.instantiate, I interpret it as saying that if the Manifest.toml file is present it will not do any re-resolution. If the version of Julia in use is incompatible with items in the Manifest, that is an edge case and it would be interesting to know what Pkg will do in that situation. Possibly that is a case we don't support at this time. If Pkg.instantiate is combined with |
I've got a version of this idea in the tests now. I created a set of dummy packages and use a manifest to pull them in and create an SBOM. Shows it can be done. |
I wrote a bunch of code around inspection of
|
The current example of SBOM generation for a package involves creating a new environment, adding just that package to it, and then constructing an SBOM from there.
Rather than instantiating an environment and then constructing an SBOM from that environment, it would be nice to provide an entrypoint that works directly from the Manifest.toml, without doing any amount of environment resolution (which may re-resolve the provided Manifest.toml in a way that introduces changes, especially if the Julia version from the original manifest and the current environment are different).
The text was updated successfully, but these errors were encountered: