Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Move userland to libtock-c #987
Pull Request Overview
This pull request removes the userland folder from the tock kernel repository and updates various documentation to point to libtock-c.
My major concern with this was that it makes it harder for new users to get started. To remedy this, tockloader 1.0 adds a very basic app store, so installing an app is as easy as
TODO or Help Wanted
The courses are probably the main issue. The apps won't compile because userland isn't there.
As we're getting near a new cycle of courses, I really think it's fine to update the beginnings to say: "This is an older course, and not everything may align with modern Tock. To try out this course, please first `git checkout courses-sosp17`". It would be more an issue if we had *no* courses, but at most that'll only be the case for a month or few until the new courses are ready
What is the benefit of moving userland to its own repo?
On the con list, it makes starting out with Tock and loading applications more difficult and more confusing (you have to find and clone an extra repository).
What are the pros? I don't think it will reduce the size of the repo when cloning since it's still in the history, right? I guess it also ensures that there are no dependencies between userland and the kernel, but I don't think we've really had that problem in over a year (barring
Well starting out is now
These are pretty compelling to me, but yeah I don't have a clear technical reason. It seems like it is time to graduate userland to its own thing, as any os would likely do.
I think we can work on
and we could fairly trivially setup travis to always publish all compiled example apps there. Then we wouldn't have to special-case the
Anyone could publish their app anywhere on the web.
But.... that's an issue for a different repository :)
The blink app isn't special cased, but the URL is. Any app here can be installed that way: https://github.com/tock/tock-www/tree/master/assets/tabs
But yeah I agree specifying a full URL should be supported.
When did the clock start on this? I believe there has been a fair amount of consensus on extracting userland to a separate repo. It's been up for a week, and I don't think there are any outstanding concerns.
On the other hand, I only marked it
Shall we give this another day ot two to gather a few more approvals? Or just merge?
I still have concerns that this is going to make Tock harder to use rather than easier, but I won't stand in the way of this change if other people prefer it.
You're right that other non-c userlands are already their own repos and this would then parallel them.