-
-
Notifications
You must be signed in to change notification settings - Fork 23
dasharo-binaries-paths-convention.md: Add #1170
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
base: master
Are you sure you want to change the base?
Conversation
|
|
||
| The standardised path to a release directory is as follows: | ||
|
|
||
| `/<vendor>/<model>/<framework>[_payload]/<version>/` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this have to be directly connected with naming convention or even be part of naming convention as part of subsection, otherwise it would be quickly out of sync
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It would be better if it never went out of sync by being as universal as possible. That's why I've been asking about creating more variants of Dasharo with the same framework+payload. A lot of projects (I've counted 10 repositories) depend on the directory structure and updating it will soon, and would in the future, be costly.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's why such a scheme should be implemented programmatically (being derived from variables) instead of being hardcoded. Of course, wherever it makes sense.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
At the same time it should be compatile with humans too. People use dl.3mdeb.com or dlui.3mdeb.com. It should be easy to manually find what youre looking for there or just explore what's available while understanding what you're looking on
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok, what would be your expectation?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am not sure what you're asking for. Expectation from who, what?
My task is to clean up the directory structure because it was evolving for some time and got inconsistent. To do that I propose some structure that I believe would help with that.
From the directory structure I expect for it to be able to fit our needs for clearly separating all current and hopefully future Dasharo releases, and to be friendly for humans to navigate.
From you I expect you to give your opinions and whether the suggested solution is acceptable or not, what should be changed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this have to be directly connected with naming convention or even be part of naming convention as part of subsection, otherwise it would be quickly out of sync
I wonder: why and what exactly is missing.
- I am sure we will be changing these names. Putting them in the paths will make us changing the paths more often over and over again.
- The given framework/payload/platform/version should be unique (possible exception: initial commit for dasharo naming convention v2 #1154 (comment) ?). Matching to business names can be made elsewhere (e.g. in the release page, in the newsletter).
- In a way, we already include this naming convention in this scheme, as we store different kind of releases in different places. Maybe this should be emphasized in the document - connect the
editionswith the storage.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am sure we will be changing these names. Putting them in the paths will make us changing the paths more often over and over again.
Yes. Exceptions appear from time to time. We are also not very strict about following our own naming rules when it comes to paths and files. E.g. MTL iGPU and dGPU was one of that cases where out of a sudden binaries changed their paths because nobody could distinguish dPGU from iGPU, despite it is unique (TNx is dGPU, TU is iGPU) - I was very dissatisfied with that. We often create mess ourselves when it comes to paths.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
E.g. MTL iGPU and dGPU was one of that cases where out of a sudden binaries changed their paths because nobody could distinguish dPGU from iGPU, despite it is unique (TNx is dGPU, TU is iGPU)
To help with that issue I'm suggesting here to separate every unique model into its own directory. The binaries can, and should, be the same for compatible boards, but separating the models explicitly in the directory should help with similar scenarios in the future. It should be trivial to modify all the uploading scripts to upload a single binary into multiple directories if it works for more than one device model.
| - `<model>` - Precise device model, like `v540tu`, `vp6670`, `odroid-h4-plus`, `apu-4` | ||
| - `<framework>` - firmware framework, like `coreboot`, `slimbootloader`, `heads` | ||
| - `[_payload]` - optional, firmware payload, like `_uefi`, `_heads`, `_seabios` | ||
| - `<version>` - Dasharo version, like `v0.9.0`, `v1.7.2-rc1` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
if connected with convention documentation this would be redundant, also we should link to versioning scheme documentation and make sure it respect rules we currently apply
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Linked the versioning scheme. I think ideally it shouldn't be connected with naming convention, it should be more generic and allow for the naming convention to change without affecting the directory structure
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Such a connection by linking is too weak; it would be better if this document were placed inside the convention documentation. Maybe we need @macpijan here to support or discourage such thinking.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm interpreting the other discussions in this PR to mean that we want to make the directory structure independent of the naming convention.
Do you still hold your claim that the naming convention and directory structure documents should be merged?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No, unless you can give me word it would not diverge.
| where: | ||
| - `<vendor>` - hardware vendor, like `novacustom`, `protectli`, `hardkernel`, | ||
| `pcngines` | ||
| - `<model>` - Precise device model, like `v540tu`, `vp6670`, `odroid-h4-plus`, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| - `<model>` - Precise device model, like `v540tu`, `vp6670`, `odroid-h4-plus`, | |
| - `<model>` - Precise device model, like `v540tu`, `vp6670`, `odroid-h4`, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
|
|
||
| where: | ||
| - `<vendor>` - hardware vendor, like `novacustom`, `protectli`, `hardkernel`, | ||
| `pcngines` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| `pcngines` | |
| `pcengines` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
b801bdc to
fa1492a
Compare
Signed-off-by: Filip Gołaś <[email protected]>
Signed-off-by: Filip Gołaś <[email protected]>
fa1492a to
f4dbc9c
Compare
| always be there, even if a platform has only support for a single | ||
| framework/payload combination to reduce the ambiguity. | ||
|
|
||
| It's argueable that a firmware framework without a payload makes little sense |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I woudn't say it makes little sense, when edk2 can be used as a complete end-to-end firmware solution
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good to know, @miczyg1 told me some time ago that it doesn't make sense, maybe I misunderstood it
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@miczyg1 do you agree this description should be removed?
No description provided.