-
Notifications
You must be signed in to change notification settings - Fork 3
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
Alternate non-embedding proposal #53
Comments
Off hand idea for handling the multiple artifact identifier types:
Example:
|
One other option might be to write the 'mapping' files into files in
Example:
Please don't take the choice of 'mapping' as a |
@bharsesh suggests possibly instead of 'mapping' we might call the context 'adg' or something else.
|
@yonhan3 and @edwarnicke, I think the state of the non-embedding discussion is a little messy right now. Specifically, we have:
The draft PR is currently conflicted with the main branch, and it's not clear to me whether it reflects the current status of the discussion, or what the current status of the discussion is. Ideally, I'd like for us to be able to achieve the following:
Basically, I'm seeking to clarify the status here, and make it easier to judge when we've reached sufficient consensus to merge content to the spec which describes how the no-embedding case ought to be handled. Given this, my questions to you both are:
|
@alilleybrinker I think my old #22 issue has been outdated. I implemented a prototype for GCC, but it never went to upstream, it is still just stay in a private branch. We can just follow Ed's new draft #24 for further discussions. |
@yonhan3 sounds good! I'll close the other issue then. |
Can we call it ADF (Artifact Dependency Fragment) for the saved OmniBOR manifest mapping file in non-embedding mode? The ADF (Artifact Dependency Fragment) contains a single output file and a list of input files (with sha1 or sha256 gitoid). Some metadata like optional build_cmd can also be generated for this ADF. If a single command generates multiple output files, then multiple ADFs can be generated. The bomsh post-processing scripts are based on this ADF concept. As long as these ADFs are provided, then Bomsh scripts can create all the OmniBOR manifest documents, mappings, metadata, etc. For example, the runtime dependency ADFs can be generated by bomsh_dynlib.py script, and the Python runtime dependency ADFs can be generated by bomsh_dylib.py script. Any tools can create such ADF documents, making our OmniBOR framework very flexible. |
Based on discussion in the WG meeting, some points:
I'd personally like to look at the Open questions:
|
For the bomsh_dynlib.py script, you can follow the below instructions: |
There has been much discussion about a non-embedding mode for OmniBOR.
Typically these proposals have all run up against a complication: it must be possible for a build tool to, by inspection, figure out the Input Manifest Identifier of an artifact it is attempting to use as input.
One possible approach for consideration might be for an output artifact, the build tool writes a simple file into the same directory as the output artifact named ${outputfile}.omnibor containing a very simple single record Input Manifest for the artifact.
Example:
Then in the same directory as foo.o, write out a file foo.o.omnibor containing:
Things to address with this idea:
The text was updated successfully, but these errors were encountered: