-
Notifications
You must be signed in to change notification settings - Fork 2k
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
examples: split in two categories? #5105
Comments
I think we should use the applications repository for these kinds of complex use-cases. |
@kaspar030, could Murdock build applications in https://github.com/RIOT-OS/applications for a branch? I.e. move all "big" examples into there without losing certainty that a patch does not break anything. |
I think a basic border router it not a complex use case, but the base for many users' experiments. The same goes for minimal 6lowpan/RPL/CoAP or MQTT base applications. I would like to see a nice "getting started" experience, as in,
Having this basic functionality spread over multiple repositories doesn't make things easier.
|
Of course it could. The devil lies in the detail. I administer the CI for one of my clients. In theory, it is a very simple OpenWrt build. In practise, OpenWrt is spread over multiple repositories: core code, package feed repositories and repositories for the packages' sources. From a CI / configuration management perspective, that is a nightmare, unless repository heads are clearly pinned. For a seperate "applications" repository that would mean it would have to be build against a pinned version of RIOT master, with all the manual updating that implies. |
I don't see how this makes a difference, if e.g. RIOT-OS/RIOT would be a submodule of RIOT-OS/applications. |
We have a three monthly release cycle. Pinning the applications against the latest release should be enough. |
It would at least require a "development branch" for the applications repository, which is based on RIOT master. Something like the border router and the way it gets configured is tied to RIOT's core, not an application that can be developed against RIOT's stable API. |
We have this release branches anyway. Do we need anything else?
Yes and no. The 6LBR is a feature of GNRC and belongs to RIOT's core. The application that we're discussing is basically a scripted configuration preset. |
No, a scripted configuration preset would be pre-setting fixed Why are you so opposed to see auto configuration as integral part of a |
I don't understand. Why?
Yes, and this is nice.
I'm not opposed at all (although I'm not allergic to manual configuration as other people). |
Now I want to introduce, e.g., a new auto configuration scheme for the So I open a PR for the core changes in RIOT-OS/RIOT, and a PR to In RIOT, master is a development branch, so as soon as the changes are In application, we don't have that development branch, so if the PR is The only way out is having a development branch for the applications. For things written with the high-level API, these conflicts are
???
You keep insisting that the concept is something that goes beyond core |
Will have to think about this application repository problem, but I'm still convinced we can find a solution that doesn't force us to mix applications and the OS.
I think it is a nice feature and one nice way to configure the border router, but other options are possible.
Yes. |
To be clear. I think the updated border router PR is good to be merged. My main point about the discussion here is that we should not mix the OS with applications or configurations that are tailored for one specific use case. I agree that RIOT and IOT cannot exactly be mapped to Linux and the traditional Internet, but I'm still convinced that we should ship RIOT without KDE. ;) |
Sounds related to my question on the devel mailing list some days ago. |
I sense that we need a discussion about the overall purpose of RIOT and the RIOT repository. How about discussing this at the next developer meeting on PlaceCam? |
I put it on the agenda. |
thanks |
any outcome? |
Have you checked the minutes from the meeting? |
No, they are not linked here. In any case it would have been the right thing to document the outcome here if there was an outcome. |
Feel free. |
Seems to have been cast to void.
-> https://github.com/RIOT-OS/RIOT/wiki/Meetings -> https://yourpart.eu/p/riot-2016-03-23-virtual-meeting
-> https://yourpart.eu/p/riot-2016-05-17-virtual-meeting -> not mentioned (same as for all later linked meeting minutes [Virtual Meeting on October 19, 2016, Virtual Meeting on October 5, 2016, Virtual Meeting on June 15, 2016] as of the time of this writing) |
After looking into the doxygen documentation for #6367 I noticed that there actually is a way to include *.c files via the |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. If you want me to ignore this issue, please mark it with the "State: don't stale" label. Thank you for your contributions. |
Some examples have grown even more complex since we last talked about this (e.g. the firmware update example in #11818 ). However, do we qualify this as a problem, in which case we might revisiting this issue? |
I think we should keep it open but change the title to 'examples: split in categories' (remove two and ?).
|
(the question is also valid for |
See also #5105 for reference. |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. If you want me to ignore this issue, please mark it with the "State: don't stale" label. Thank you for your contributions. |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. If you want me to ignore this issue, please mark it with the "State: don't stale" label. Thank you for your contributions. |
The number of examples is growing, and some (e.g. the automated border router + ethos) are orders of magnitude much more elaborate than others (hello world).
However, while more elaborate examples may not be the best didactic-wise or tutorial-like, they offer fundamental functionality, that are somewhere between "tools" and "applications".
So the question is how to deal with those, and where they belong.
The text was updated successfully, but these errors were encountered: