By executing the whole switching process using one script, we avoid
some ssh roundtrips that would slow down deployment swith --target-host.
For the other benefits, see https://github.com/NixOS/nixpkgs/issues/266290
SSH merges its arguments by space-concatenation - it does not preserve
the array structure.
This is arguably a historic mistake, whose fix would be too breaking.
I suppose it will stay this way forever, until perhaps a better behavior
can be opted in to using a flag, and I don't think this flag exists yet.
To make multi-argument commands work reliably over ssh, we need to escape
them, which is what the ${@@Q} incantation achieves.
sched_ext is a Linux kernel feature which enables implementing kernel thread schedulers in BPF and dynamically loading them.
This feature got merged in Linux 6.12, this PR adds rust and C userspace schedulers.
Homepage:- https://github.com/sched-ext/scx
With this following packages are now available:
scx.rustland
scx.rlfifo
scx.layered
scx.lavd
scx.bpfland
scx.csheds
rtld contains ld.so, the dynamic linker on OpenBSD.
This package does not include related scripts (ldd and ldconfig),
because they would create a dependency loop.
rtld (run-time ld) is an os-agnostic term for dynamic linker.
For simplicity, also link this into the libc symlinkJoin package
bsd.prog.mk makes sure libc is built before programs that use it by
making all programs depend on core files.
We handle this dependency by referencing libc in cc-wrapper,
but that isn't sufficient to tell bsd.prog.mk that e.g. crtbegin.o
exists.
Clear libc-related variables to fix OpenBSD program build
The indentation stripping semantics of strings are fairly bad and have a
few gotchas where the resulting string has not the intended indentation.
This commit fixes most if not all such instances in Nixpkgs.
I tried to strive a balance between keeping the diff small and
reformatting/refactoring the code to look better. In general,
reformatting should be left to Nixfmt.
Note that this causes a lot of rebuilds by design. All changes need to
be thoroughly vetted and reviewed for correctness. There is no automatic
way to prove correctness.
List of files to fix generated by running
https://gerrit.lix.systems/c/lix/+/2092 on Nixpkgs and looking at the
warnings.