Changes:
```
Aaro Koskinen:
devmem: add 128-bit width
Bernhard Reutner-Fischer (3):
kbuild: fix building sha256
kbuild: Prefer -Oz over -Os
seedrng: manually inline seed_rng
Brandon Maier:
xxd: fix typo in trivial usage
Dario Binacchi (2):
fbset: abort on not handled options
fbset: support setting pixel clock rate
David Leonard:
tsort: new applet
Denys Vlasenko:
Makefile.flags: add resolv to LDLIBS for linux compilers too (not only gnu ones)
build system: detect if build host has no bzip2
scripts/echo.c: fix NUL handling in "abc\0 def"
libbb/loop: fix compile failure (name collision)
libbb/loop: optionally use ioctl(LOOP_CONFIGURE) to set up loopdevs
libbb/loop: restore the correct return value of set_loop()
libbb/sha1: add config-selectable fully unrolled version, closes 14391
libbb/sha1: add config-selectable partially unrolled version
libbb/sha1: assembly versions for x86
libbb/sha1: optional x86 hardware accelerated hashing
libbb/sha256: optional x86 hardware accelerated hashing
libbb: change xstrndup, xmemdup to take size_t as size parameter
libbb: factor out fflush_stdout_and_exit(EXIT_SUCCESS)
libbb: fflush_stdout_and_exit(0) still exits with _error_ (not 0!) if fflush fails
libbb: fix fallout from nth_string() robustification, closes 14726
libbb: introduce and use chdir_or_warn()
libbb: invert the meaning of SETUP_ENV_NO_CHDIR -> SETUP_ENV_CHDIR
tls: P256: remove NOP macro sp_256_norm_8()
tls: include signature_algorithms extension in client hello message
examples/var_service/dhcp_if: make helper scripts more talkative
testsuite/mount.tests: accomodate umount failure seen on 5.18.0
testsuite/sha1sum.tests: fix false positive failure
shell: add comments about SIGINT-related problems
shell: fix compile failures in some configs
ash,hush: fix handling of SIGINT while waiting for interactive input
ash: ^C with SIG_INGed SIGINT should not exit the shell
ash: do not truncate failed tilde expansion on unknown user names
ash: fix ifs cleanup on error paths
ash: fix unsafe use of mempcpy
ash: fix use-after-free in pattern substitution code
awk: input numbers are never octal or hex (only program consts can be)
bc: hopefully fix bug 14956 (use-after-free)
cut: build fix for FEATURE_CUT_REGEX
ifplugd: split -a into -a and -A, latter disables upping in iface creation
init: do not set HOME
ls: implement ls -sh (human-readable allocated blocks)
md5/shaXsum: use FEATURE_COPYBUF_KB to size the buffer instead of fixed 4k
mv: fix error in !VERBOSE configs
nmeter: %[md] %[mw] - dirty file-backed pages, writeback pages
powertop: fix cpuid asm: ebx saving/restoring is properly done by gcc
sed: correctly handle 'w FILE' commands writing to the same file
sed: fix double-free in FEATURE_CLEAN_UP=y configs
sed: fix handling of escaped delimiters in s/// replacement
sed: fix handling of escaped delimiters in s/// search pattern, closes 14541
seedrng: chdir to the SEED_DIRECTORY - avoid concat_path_file's
seedrng: do not hash in a constant string, it's not adding entropy
seedrng: do not hash lengths, they are very predictable
seedrng: do not try to continue on unexpected errors (just exit)
seedrng: explain why we need locking and fsync'ing
seedrng: include file/dir names in error messages
seedrng: re-add fsync after unlink, and explain its purpose
seedrng: reduce MAX_SEED_LEN from 512 to 256
seedrng: remove redundant assignment
seedrng: remove unnecessary zero-filling of local variables
seedrng: restore error check on fsync
seedrng: simplify read_new_seed() to not have error return
seedrng: use more xfuncs where appropriate
shaNNNsum: accept one-space "HASH FILENAME" format for -c, closes 14866
sort: fix -k2M (wasn't skipping leading whitespace)
sort: fix -s -r interaction: 'stable' order is not affected by -r
sort: fix sort -s -u, closes 14871
sort: support -h
sulogin: increase util-linux compatibility
sulogin: start _login_ shell only with -p
sulogin: util-linux does not say "normal startup" on Ctrl-D
taskset: fix printf format mismatch in !FEATURE_TASKSET_FANCY config. closes 14616
top: fix display of large PID/PPID
top: improve large PID display in memory ('s') mode
tree: make it unicode-aware
tree: unicode tweak (use normal space char, 0x20)
udhcpc6: add missed big-endian conversions
udhcpc6: align FF02__1_2[]
udhcpc6: downgrade "opening listen socket" log level to 2
udhcpc6: fix binding to network aliases
udhcpc6: fix sending of renew messages
udhcpc6: use a different default config script
xargs: implement -o, closes 15146
xxd -r: handle offsets
xxd -r: without -p, stop at more than one whitespace, closes 14786
xxd: fix use of non-initialized data
xxd: use bb_simple_perror_msg... where appropriate
Emanuele Giacomelli:
XXXsum: handle binary sums with " " in the path
Grob Grobmann:
vi: add 'ZQ' quitting command
Henrique Rodrigues:
ping: fix typo in --help text
Jason A. Donenfeld (10):
seedrng: import SeedRNG utility for kernel RNG seed files
seedrng: use libbb functions
seedrng: hoist bb_strtoul out of min/max
seedrng: remove some global variables
seedrng: further reduce size
seedrng: use predefined strings where possible
seedrng: avoid needless runtime strlen() call
seedrng: compress format strings with %s arguments
seedrng: code-golf even smaller
seedrng: prune header includes
Khem Raj:
apply const trick to ptr_to_globals
Louis Sautier:
pkill: add -e to display the name and PID of the process being killed
Ludwig Nussel:
libbb: mark stack in assembly files read-only
Natanael Copa (2):
awk: fix use after free (CVE-2022-30065)
more: accept and ignore -e
Paul Fox:
crond: implement support for setting PATH in crontab files
Peter Kaestle:
unzip -l: add missed big-endian conversions date and time
Roger Knecht:
tree: new applet
Ron Yorston (8):
libbb: restore special handling of nomsg errors
libbb: make '--help' handling more consistent
lineedit: get PWD from ash
ash,hush: use HOME for tab completion and prompts
vi: fix regression in autoindent handling
vi: handle autoindent in 'cc' command
vi: improved handling of backspace in replace mode
vi: fix backspace over tab in commands
Samuel Thibault:
Fix non-Linux builds
Shawn Landden:
ash: optional sleep builtin
Sören Tempel (3):
ed: add support for -s command-line option as mandated by POSIX
ash: don't read past end of var in subvareval for bash substitutions
ash: fix use-after-free in bash pattern substitution
Timo Teräs:
mkfs.vfat: fix volume label to be padded with space
Vincent Stehlé:
fdisk: recognize EBBR protective partitions
Walter Lozano:
Add support for long options to cmp
Xiaoming Ni (4):
loop: fix a race when a free loop device is snatched
loop: refactor: extract subfunction get_next_free_loop()
loop: simplify code of LOOP_SET_FD failure
loop: refactor: extract subfunction set_loopdev_params()
```
Upstream seems pretty dead, so I think a patch is the best we're going
to get here. But on the other hand, that means the package isn't
likely to require a lot of maintenance that could be made more
difficult by having a patch around.
This fixes the `criu` package to support cross-compilation to armv7l
and aarch64 architectures (tested on an x86 build host). `criu`
requires some additional flags to be passed to its Makefile
infrastructure to hint at the target architecture. It further requires
a few dependencies to be executed on the build host, hence moving them
to `depsBuildBuild`.
Signed-off-by: Leon Schuermann <leon@is.currently.online>
Trivial conflict in release notes, except that the xml/docbook parts
are horrible for (semi-)automatic conflict resolution.
Fortunately that's generated anyway.
looks like common practice is to put a $out/sbin symlink to $out/bin. the `fxload` command was not available if only puts on $out/sbin. This will fix it. The real issue I observed was that there was no `/run/current-system/sw/sbin` on $PATH but i think there is a fundamental reason why it doesn’t exist hence this patch until i learn more.
EOLed by upstream, doesn't receive any patches anymore, so let's drop
it.
Currently depends on #211886 which bumps the latest compatible ZFS
version to 6.1.
Also, clean up some old aliases.
Fixes#211741
`waydroid first-launch` would fail due to missing gobject introspection
bindings for Gtk.
```
( ) [ ] ERROR: Namespace Gtk not available
( ) [ ] See also: <https://github.com/waydroid>
( ) [ ] Traceback (most recent call last):
File "/nix/store/7c0jjr0jid4xhfdsv13jiwp7q4jl9khi-waydroid-1.3.3/lib/waydroid/tools/__init__.py", line 113, in main
actions.remote_init_client(args)
File "/nix/store/7c0jjr0jid4xhfdsv13jiwp7q4jl9khi-waydroid-1.3.3/lib/waydroid/tools/actions/initializer.py", line 205, in remote_init_client
gi.require_version("Gtk", "3.0")
File "/nix/store/y09awdg92zm58958q6bc6chacw35pfgm-python3.10-pygobject-3.42.2/lib/python3.10/site-packages/gi/__init__.py", line 126, in require_version
raise ValueError('Namespace %s not available' % namespace)
ValueError: Namespace Gtk not available
```
These changes add the necessary environment (the currently idiomatic way
to solve such problems) to the existing wrapper.
The use in `preFixup` is necessary, as the gapps wrapper will not have
ran the required hooks before.
The addition of `gobject-introspection` is necessary for the wrappers
hooks to add GIR repositories to the wrapper args.
Many packages have some kind of flag indicating whether or not to build with
systemd support. Most of these default to `stdenv.isLinux`, but systemd does
not build on (and is marked `broken` for) `isStatic`. Only a few packages have
the needed `&& !isStatic` in the default value for their parameter.
This commit moves the logic for the default value of these flags into
`systemd.meta.{platforms,badPlatforms}` and evaluates those conditions using
`lib.meta.availableOn`.
This provides three benefits:
1. The default values are set correctly (i.e. including `&& isStatic`)
2. The default values are set consistently
3. The way is paved for any future non-Linux systemd platforms (FreeBSD is
reported to have experimental systemd support)
Make it easier optimize DPDK for a CPU family. The conservative default
remains (e.g. nehalem for x86_64), but a user may override it for better
utilization of recent CPU models, e.g. `{ machine = "x86-64-v4"; }` for
AVX512 support.
checkInputs used to be added to nativeBuildInputs. Now we have
nativeCheckInputs to do that instead. Doing this treewide change allows
to keep hashes identical to before the introduction of
nativeCheckInputs.
This commit fixes a papercut in nixos-rebuild where people wanting to
switch to a specialisation (or test one) were forced to manually figure
out the specialisation's path and run its activation script - since now,
there's a dedicated option to do just that.
This is a backwards-compatible change which doesn't affect the existing
behavior, which - to be fair - might still be considered sus by some
people, the painful scenario here being:
- you boot into specialisation `foo`,
- you run `nixos-rebuild switch`,
- whoops, you're no longer at specialisation `foo`, but you're rather
brought back to the base system.
(it's especially painful for cases where specialisation is used to load
extra drivers, e.g. Nvidia, since then launching `nixos-rebuild switch`,
while forgetting that you're inside a specialisation, can cause some
parts of your system to get accidentally unloaded.)
I've tried to mitigate that by improving specialisations so that they
create a dedicated file somewhere in `/run/current-system` containing
the specialisation's name (which `nixos-rebuild` could then use as the
default value for `--specialisation`), but I haven't been able to come
up with anything working (plus it would be a breaking change then).
Closes https://github.com/NixOS/nixpkgs/issues/174065
libBPF does not compile for mips64 targets using clang (rathern than
gcc) because clang lacks the necessary _MIPS_SZPTR compiler builtin.
Let's allow the rest of systemd to compile.
- The glibc people noticed this problem [way back in
2011](https://sourceware.org/pipermail/libc-ports/2011-June/001959.html)
and consider it to be a clang/llvm bug. I am inclined to agree.
- [clang has the `_MIPS_SZPTR`
builtin](3af9cb5375/clang/lib/Basic/Targets/Mips.cpp (L185))
and seems to have had it since before they switched to git.
This may in fact be a nixpkgs bug -- that we're not invoking clang
in a way that tells the frontend to make the mips builtins
available, even if the backend is emitting mips binaries. Or at
least we aren't tricking systemd's build machinery into doing that.
This is a followup of #148921, to allow local builds when
`--target-host` is used again. It also documents the change in
behavior, regarding the specialty of the `localhost` value.
By removing the special handling of an empty `buildHost` and non empty
`targetHost`, this change also slightly alters the behavior of
`nixos-rebuild`.
Originally by specifying `--target-host target --build-host ""`, the
now removed special case would transform those arguments to
`--target-host target --build-host target`.
Now the empty `--build-host` would result in a local build.
This firmware is completely open source with no blobs, which is
quite rare in the wifi world. Wifi chips have their own dedicated
general-purpose CPUs. This source code allows you to see what those
CPUs are doing and modify their behavior.
When the upstream repository was created in 2013, "open source
firmware" meant "firmware which is open source". In 2023 that is no
longer the generally accepted [definition], so I have chosen an
unambiguous adjective (whose meaning has remained stable for
decades) to use in the pname.
[definition]: https://web.archive.org/web/20221209121315/https://www.opencompute.org/projects/open-system-firmware#:~:text=Another,allows%20it
Co-authored-by: Artturi <Artturin@artturin.com>
Linux has a few PowerPC-specific symbols which are marked as GPL exports; these
symbols wound up being exposed in Linux 5.12 and are needed by OpenZFS. The
symbol licensing was fixed in mainline 5.19; this commit backports the fix to
all previous affected kernels.
This commit is required in order to build the NixOS ISO for PowerPC64.
GHC's js backend depends on systemd via emscripten via closure compiler
via jdk via cups. Before it fails to evaluate, though, since
llvmPackages looks into `targetPackages.stdenv.cc` to determine which
C++ library to use (something that should be rectified in the future).
[Unfortunately], for `pkgsCross.ghcjs`, `stdenv.cc` throws which blows
up evaluating `pkgsCross.buildPackages.llvmPackages.clang`.
This is in principle unnecessary. We want to build
`pkgsCross.ghcjs.buildPackages.haskell.compiler.native-bignum.ghcHEAD`
which depends on `pkgsCross.ghcjs.buildPackages.systemd` which needs
clang and friends only in `nativeBuildInputs`, so
`pkgsCross.ghcjs.buildPackages.buildPackages.llvmPackages.clang`.
Unfortunately, due to the nature of splicing, we first evaluate the
“adjacent” derivation before we can access the spliced derivation we are
actually interested in. If the former
fails (`pkgsCross.ghcjs.buildPackages.llvmPackages.clang`), we can't do
the latter.
The solution is to just not rely on splicing in this case and take
`buildPackages.llvmPackages.clang` directly (relative to
`buildPackages.systemd` in this case!) which avoids the whole problem.
[Unfortunately]: c739c420db (diff-3209527bd27cbc775f579b1e295b0264c850859c7245d526965cec456b8c70a4R61)