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

This is really cool. Would problems appear if I make this a part of my system? #1

Open
xplshn opened this issue Dec 18, 2023 · 2 comments

Comments

@xplshn
Copy link

xplshn commented Dec 18, 2023

Does go-moreutils have minimum Unix compliance? For example, on Void Linux, which is my distro, lots of init scripts that are part of the init(/etc/runit/*) rely on non POSIX (bloat)"features" from the GNU coreutils, and so in my journey to replace them with Toybox+Ubase+Sbase I've found lots of shit and things that are poorly implemented in both the GNU Coreutils and its direct replacemenets.

Do you plan on having support for most flags of the commands you implemented?

@sweetbbak
Copy link
Owner

Thanks, I appreciate it! I'd like to aim for having compliance with the other coreutils, and so far I've implemented a decent amount of these tools with the typical flags that you would see in something like GNU coreutils, but at this point its definitely far from being on par with those tools.

I don't think I'd be able to recommend it quite yet. I hope one day in the future for it to be a fairly viable replacement and add some additional nice things to each tool that add some extra features and conveniences, while also not breaking backwards compatibility.

https://github.com/u-root/u-root is a good one as well that implement a Unix user land in entirely Go, and you can boot it up from qemu/kvm. You can see all of the coreutils they have implemented here https://github.com/u-root/u-root/tree/main/cmds/core - they are definitely a lot further ahead than I am.

I haven't looked to far into runit besides just playing around with Void in a VM for a little bit, but I'll look into it a little bit more and see what they have going on. I'd also like to find a way to make a minimally functional system from scratch, including an init system and package manager while only relying only on the kernel. Mostly for fun and learning, but I also want to make something that can be useful on its own and to find a way to allow these tools to co-exist with other coreutils to improve some of the areas that Ive noticed are complicated or tedious.

@xplshn
Copy link
Author

xplshn commented Dec 19, 2023

I am making progress towards making a system based on Void, since its VERY flexible, it has no boundaries and since RUNIT is mostly scripts, you can make the system do whatever you want, currently I run a frankenstain that has the GNU BS at /usr/bin, however my /etc/profile points the system to use /opt/AltSys, which contains an assortment of Unix utilities with no extra bloat from GNU. Or at least they do mark what is or not standard(toybox), I currently have Toybox+Ubase+Sbase. I really want to try your project however it might break my system, and my hardware is not good enough for running VMs, so I have to test things bare metal

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

2 participants