The update is basically just one additional commit, which was an
upstream cherry-pick pushed at NixOS/systemd#3 and it fixes
systemd-detect-virt with VirtualBox so that services with
ConditionVirtualization set to "oracle" will work properly.
I've tested this with the "virtualbox" NixOS VM test, which was failing
since the update to version 228.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
The most complex problems were from dealing with switches reverted in
the meantime (gcc5, gmp6, ncurses6).
It's likely that darwin is (still) broken nontrivially.
Systemd dropped support in 207 (would be nice if configure failed with a bad flag),
so all this does is add an annoying delay if firmware can't be found by the kernel
- systemd puts all into one output now (except for man),
because I wasn't able to fix all systemd/udev refernces
for NixOS to work well
- libudev is now by default *copied* into another path,
which is what most packages will use as build input :-)
- pkgs.udev = [ libudev.out libudev.dev ]; because there are too many
references that just put `udev` into build inputs (to rewrite them all),
also this made "${udev}/foo" fail at *evaluation* time
so it's easier to catch and change to something more specific
This is a backport of systemd/systemd@e32886e.
As noted by @ts468 in #9876, systemd-detect-virt will report KVM if
we're running inside VirtualBox 5.x. Instead of just disabling the
check, this essentially fixes systemd to be able to detect VirtualBox
again.
Tested this against nixos/tests/simple.nix (just to make sure systemd is
still working) and nixos/tests/virtualbox.nix (all tests succeed).
Thanks a lot to @ts468 for catching this and also to @domenkozar for
testing various things concerning that bug.
Fixes #9876.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
Before:
$ time journalctl > /dev/null
real 6m12.470s
user 5m51.439s
sys 0m19.265s
After:
real 0m40.067s
user 0m37.717s
sys 0m2.383s
Before:
$ time journalctl --since '2015-08-01' _TRANSPORT=kernel
real 1m9.817s
user 0m13.318s
sys 0m56.626s
After:
real 0m0.689s
user 0m0.521s
sys 0m0.221s
Instead delete the *.la files. The propagation of libcap was
apparently only necessary because there was a gratuitous -lcap in the
*.la files.
http://hydra.nixos.org/build/22182620
There are too many references to ${systemd}/foo,
and the savings would be on the order of 100 kB.
Also:
- fix udev install paths (again), hopefully OK now;
- fix one RPATH
- clean libudev propagation
- pick examples/ changes from staging (probably lost by some auto-merge)
- there were many easy merge conflicts
- cc-wrapper needed nontrivial changes
Many other problems might've been created by interaction of the branches,
but stdenv and a few other packages build fine now.