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
linux: do not depend on systemd indirectly #86208
Conversation
utillinux depends on systemd because: * uuidd supports socket activation * lslogins can show recent journal entries * fstrim comes with a service file (and we use this in NixOS) * logger can write journal entries (See https://www.openembedded.org/pipermail/openembedded-core/2015-February/102069.html) systemd doesn't depend on utillinux but on utillinuxMinimal which is a version of utillinux without these features to avoid cyclic dependencies. With this change, the linux kernel (of which i don't fully understand why it would depend on util-linux in the first place, but this was added in https://github.com/NixOS/nixpkgs/pull/32137/files without too much explanation) depends on the minimal version of util-linux too. This makes it that every time we change build flags in systemd the linux kernel doesn't have to wastefully rebuild.
6ed4c94
to
d103dc4
Compare
@arianvp did you try building it without utillinux to see how it fails? ;-) |
It's listed as a dependency here: https://www.kernel.org/doc/html/v4.15/process/changes.html so i'll just believe them :) |
Fair enough :-D |
for some reason build times of the kernel regressed enormously. it is stuck |
I see the following output:
Reverting d103dc4 (this PR) didn't help - so I don't think it's caused by this PR. Maybe it's #85951, but need to bisect further to say for sure. |
I added the However after a while progress seems to be stuck:
maybe it's actually the next command after the |
Indeed my assumption was right - see #85951 (comment) for what broke it. |
utillinux depends on systemd because:
(See https://www.openembedded.org/pipermail/openembedded-core/2015-February/102069.html)
systemd doesn't depend on utillinux but on utillinuxMinimal which is a
version of utillinux without these features to avoid cyclic
dependencies.
With this change, the linux kernel (of which i don't fully understand
why it would depend on util-linux in the first place, but this was added in
https://github.com/NixOS/nixpkgs/pull/32137/files without too much
explanation) depends on the minimal version of util-linux too.
This makes it that every time we change build flags in systemd
the linux kernel doesn't have to wastefully rebuild.
Motivation for this change
Things done
sandbox
innix.conf
on non-NixOS linux)nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
./result/bin/
)nix path-info -S
before and after)