Directory structure #89
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
The current directory structure of the project looks like this:
There have been some ideas for other structures based on other existing works. This is a dedicated place for that discussion.
I'm gonna paste a discussion from the IRC/XMPP channel feeling.murderu.us#subgeneral, which I run.
All the users have the same username as on git.tebibyte.media; <aryal>, <emma>, <silt>, and myself <trinity>.
FreeBSD src/bin/cat/tests
trinity src/
considering a different project directory structure
I forgot to take into consideration that this repo is only for the
bonsai coreutils
, thefreebsd-src
structure would be more suitable for the entirebonsai computer system
source tree.lib/
might be pointless if its only going to have wrappers and bindings to existing libraries.and if there are going to be any libraries written in the future as a part of
bonsai computer system
, it will probably not be a part of the coreutils source tree.There are many ways to approach this, the GNU operating system does not have a "unified" source tree like freebsd does, but GNU was a thing years before
git
.With
git
there could be a single source tree which will contains the submodule links tobonsai
projects like the coreutils (and maybe other projects likebuildutils
, init systems and package management) and a build system to build the entire operating system in one go.The dir
sys/
in thebonsai
source tree could be have submodule which links to the linux kernel source tree, any other kernel with our build system adjustments, and also drivers and related things.The dir
lib/
in thebonsai
source tree could have submodules for musl libc and other core libraries which would be part of the operating system.The dir
bin/init
could be a submodule for a init system we maintain for thebonsai
operating system and so on.All this considering the
bonsai
projects wants to be aA simple operating system to replace POSIX-compliant ones.
as emma states in faer web page. The things im suggesting might sound grand but this is a good approach to maintaining operating systems.After the recent
xz
incident I more and more believe in having my operating system as simple as possible, and I am willing to maintain a small set of packages like the coreutils, init systems and basic libraries which should just be enough to set up a usable operating system and installnix
orguix
and set up containers to set up rest of my development and work environment.My thoughts:
bin
?I usually do something like this:
I guess this hasn’t been put anywhere specifically but Trinity and I have decided that for now Rust and C are our focus and that if someone contributes with another language we will review on a case-by-case basis. I should add this information to CONTRIBUTING.
I like C and Rust because they interoperate well enough, only requiring a handful of utilities keeps the toolchain easy to explain/install/use, and the two languages cover a very wide variety of use cases (Rust for its useability and C for its bit-twidling ease).
I would be fine with other languages only if they are as easy as the currently-used ones and they prove very useful for the needed task. It wouldn't and shouldn't be hard to fit more languages into Bonsai. However, I don't believe accommodating languages that only work with directories and not single files is necessary - I can't name a language that requires this, and any that does is probably too complicated to coexist with these tools anyway.
I agree with this sentiment. The only other language that has seriously been brought up with regard to Bonsai is Go and single-file programs are simple in it.
#91
Mine does, although it's not production ready yet and this may change.
Issues that have been brought up to me verbally with this layout by @silt is detailed in this paper: https://www.accu.org/journals/overload/14/71/miller_2004/
@aryal thoughts?
I’m closing this for now to clear up our issues. If anyone else has any concerns regarding the directory structure, please feel free to comment here.
After exposure to BSD operating systems and given the direction of Bonsai as an operating system of its own, it makes sense to make this tree the home of the whole of the Bonsai Computer System. Any ideas toward how this could be set up should be placed in this issue.
We will, of course, not be using recursive
make(1)
or the-C
extension for changing the current working directory inmake(1)
.