Thanks. I’m still not completely serious about it, but I’ve given some thought to how the project would be laid out. I have some code, but not that much, under a few thousand loc. I wonder if it would be accepted into the extra repository. In Arch, the AUR is completely unofficial. The wiki documents many things related to it, but otherwise, the tooling kind of pretends that it doesn’t exist & it’s completely “unsupported” officially. The rules of the extra repository specify that pacman wrappers aren’t allowed, but doesn’t mention the AUR, IIRC. This wouldn’t be a wrapper, but would support the AUR. I wonder how it would be handled, or would AUR support be patched out?
As you use Cachy, you probably already knew, but Arch compiles for x86_64_v1 (all 64-bit x86 CPUs). While some packages (glibc, I think & codecs, for example) use compiler magic & assembly to use vector instructions when available, most packages compiled for Arch cannot make use of them. Some programs feel much faster when compiling them myself.
I wonder if clear Linux (Intel’s distro) would have any noticeable improvement i performance? I think that Cachy might use a few of their patches.
Note: I’m very much not an Intel shill. I wouldn’t want to actually use it, just interested in the performance.
Do you have a reason not to use systemd? Yes, it might be slower to boot than other inits, but the units are so nice. (Not trying to convert you, just curious about why you seem to avoid it)
Installing Gentoo is fun! It can be done without install media. Just extract the stage3 archive to a partition, mount system directories correctly & just chroot in! Now you can have the handbook open in a browser next to the chroot. Though, I haven’t finished the install yet. I’ve had it in a half-done state for a while.
I can program in C++ & don’t have much against it, I just love Rust. Also, for security, Rust is just better. Everyone makes misrakes, so why not make the compiler check your work? Especially when it comes to concurrency. With Rust, never I have to about worry race conditions & data races again. (Kind-of trying to convert you, but Rust isn’t perfect, or ready for everything yet, sadly)
With the compilation, I was wondering how good the support for partially compiling dependencies was. For example:
packages: foo, bar, baz
bar depends on foo
baz depends on bar
What happens if I compile bar myself?
If foo updates, I may need to rebuild bar, I need to do that manually on Arch.
What about baz? It depends. It might work with my locally compiled bar, or it might not. Either way, pacman doesn’t care.
I’ve been toying around with a new Rust-written™®© package manager that would support that. It’s still very early in development & I have a few other personal projects in the way, too.
A few thoughts I have about it:
This is still very early in development, but I’d like to get it done at sone point.
It would combine the worst parts of both Arch & Gentoo (compilation, no use flags, complex dependency solving) in a gradual way (build the fish shell [yes, I use fish. I used to use zsh with plugins, but fish just did everything, but better & faster] today, next week build ffmpeg & dependents, next month, build libc & watch most of the system get built).
It would be nice to support parallel building of unrelated packages, as not everything scales well.
Dependency cycles/conflicts/versions are going to be nightmarish to solve for repo packages, then it also needs to work for AUR.
I’m not sure if I’ll ever get the package manager to a usable state, though.
How much of a difference do you notice in practice? Do you think you could see similiar gains by compiling, for example, Wine & some libraries with -march=native
& maybe -O3
?
Note:
-march=native
does imply -mtune=native
, at least on gcc, unless you specify another tune yourself. Some people assume that it isn’t the case, but it’s stated in the man page:
Sorry for the arch/tune rant.
I though Void also supported systemd. Though, it would take away some advantages of Void, as it doesn’t support musl IIRC.
I’ve heard Void fans singing praises for its package manager. It’s one of the few distros where its users are really passionate about that, along with Arch, Gentoo & Alpine (IIRC). How good is the support for compiling certain repo packages yourself?
Does musl or a lack of systemd cause many problems?
Does Void have good support for ZFS? I run a small server at home & like to experiment. It’s currently running Debian, but I’m crazy enough to consider dual (or triple when I finally decide to put BSD on it) booting on a server.
All in all, sounds like it’s a lot more interesting than I thought. I’ll definitely give it a try, if not on a server, at least a desktop. Though, I still think I’ll switch to Gentoo for my daily driver.
Hope I didn’t bore ya.
Not at all! I’m a huge nerd, so I love learning about things like this. Thank you for the detailed propaganda comment!
P.S.
Do you happen to know if support for Rust (the best language at the time of writing) C standard libraries like relibc or c-gull is planned?
Edit: Fixed striketrough, I think.
Second edit: It works now. Why does each Markdown flavor have slightly different, incompatible syntax?
I’d still say that it’s better.
With “delete after reading”, the recipient has to delete the email manually, so the email is kept if no action is taken. But with the methods listed in the post, the content disappears unless action is taken to save it in some form.
Yes, the content can be easily saved & you should never trust that no clients are malicious, but people are forgetful & lazy. If you need the recipient to perform an action each time, there’s a good chance that they won’t.
I still understand your point. You can’t get around the analog gap unless you transmit everything directly ro the brain. And even if you could do that, with text, it’s easy to reproduce from memory.