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

SDK: "Installer" (or better "SDK Package Manager") should be the key component #459

Open
ruspl-afed opened this issue Sep 24, 2021 · 4 comments

Comments

@ruspl-afed
Copy link

Currently SDK Project concept proposal https://github.com/openhwgroup/core-v-docs/blob/master/program/Project%20Descriptions%20and%20Plans/SDK/sdk-project-concept.md contains the "installer" component at the end of the list, while according to "key objectives" it should be the main one and the first one.

Moreover, "Installer" assumes "one time" interaction, that cuts the experience dramatically. But in reality, "S" that means "Software" implies continuous updates. So, it should be a "Package Manager" to form the corresponding viewpoint for requirements gathering.

@HughOKeeffe1
Copy link

Jeremy is working on applying some updates including some that I have provided which hopefully should make things clearer.

@jeremybennett
Copy link
Contributor

Hugh has provided me with the following wording for Component 8, which I think captures the spirit more cleanly

The SDK is the integration of all the previous components combined with an installer. The goal for the Installer is that it is provided as a single, binary executable file which when executed installs everything ready-to-run. Everything will be included in the single installer binary (including the IDE, Debugger, Toolchains, Documentation and Examples etc.). The user simply downloads the file from the OpenHW SDK webpage and executes it to install everything. Specific flavours will be needed for Windows, Linux (various) and MacOS host OSs.

SDK updates will be distributed via new versions of the installer and support for a package manager or component only updating is not proposed as this stage.

I agree that the installer is an important element. But I'm not suggesting priorities for any one component, since it leads to the mistaken view that you can cut costs by leaving things out. We've already done that analysis (no HAL, no CORE-V specific tool chain, no Clang/LLVM). What is left is the bare minimum for a meaningful SDK, and all elements must be delivered.

@ruspl-afed
Copy link
Author

OK, let's forget about "priorty" aspect, I do not insist on it. Let's focus on a scenario.
As far as I understood, to install an SDK, one needs to download single executable (I assume it will be a number of gigabytes at minimum, but may be several times more) and install everything at once. Very good. Next we release an update for a component for whatever reason. And then what? Should one download another single binary of many gigabytes and then reinstall all again?

@jeremybennett
Copy link
Contributor

It's a good point, and I'll defer to @HughOKeeffe1 for his thoughts on how an update would work.

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

No branches or pull requests

3 participants