-
-
Notifications
You must be signed in to change notification settings - Fork 15.1k
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
systemd: 245.6 -> 246 #94354
systemd: 245.6 -> 246 #94354
Conversation
Reading through the changelog, this might require a change in some module:
|
@ajs124 These are the corresponding lines: https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/system/boot/systemd.nix#L902,L916 |
We also should review #91960 before merging this, rebase this PR on top and update the options in there. |
I rebased this on latest staging, and updated the documentation regarding on how to do updates as suggested by @andersk in #94681 (comment). Still haven't yet looked into how to fix the cyclic dependency between the different outputs - help appreciated. |
$ grep -r /nix/store/sqsrif6i3ahmfypflwcn2mvd6n7yxbqw-systemd-246-lib /nix/store/5wymqk84lk71wbfhlrnk1z6y43cvrr5h-systemd-246
Binary file /nix/store/5wymqk84lk71wbfhlrnk1z6y43cvrr5h-systemd-246/lib/libnss_systemd.so.2 matches
Binary file /nix/store/5wymqk84lk71wbfhlrnk1z6y43cvrr5h-systemd-246/lib/systemd/libsystemd-shared-246.so matches
Binary file /nix/store/5wymqk84lk71wbfhlrnk1z6y43cvrr5h-systemd-246/lib/security/pam_systemd.so matches
Those libs already existed in earlier versions but now (probably due to
some refactorings within systemd) have strings referring to the $lib
output:
$ strings -f /nix/store/5wymqk84lk71wbfhlrnk1z6y43cvrr5h-systemd-246/lib/libnss_systemd.so.2 /nix/store/5wymqk84lk71wbfhlrnk1z6y43cvrr5h-systemd-246/lib/systemd/libsystemd-shared-246.so /nix/store/5wymqk84lk71wbfhlrnk1z6y43cvrr5h-systemd-246/lib/security/pam_systemd.so | grep 246-lib
/nix/store/5wymqk84lk71wbfhlrnk1z6y43cvrr5h-systemd-246/lib/libnss_systemd.so.2: /nix/store/sqsrif6i3ahmfypflwcn2mvd6n7yxbqw-systemd-246-lib/lib/libnss_systemd.so.2
/nix/store/5wymqk84lk71wbfhlrnk1z6y43cvrr5h-systemd-246/lib/systemd/libsystemd-shared-246.so: /nix/store/sqsrif6i3ahmfypflwcn2mvd6n7yxbqw-systemd-246-lib/lib/libnss_systemd.so.2
/nix/store/5wymqk84lk71wbfhlrnk1z6y43cvrr5h-systemd-246/lib/systemd/libsystemd-shared-246.so: /nix/store/sqsrif6i3ahmfypflwcn2mvd6n7yxbqw-systemd-246-lib/lib
/nix/store/5wymqk84lk71wbfhlrnk1z6y43cvrr5h-systemd-246/lib/security/pam_systemd.so: /nix/store/sqsrif6i3ahmfypflwcn2mvd6n7yxbqw-systemd-246-lib/lib/libnss_systemd.so.2
- Why do we have libnss_systemd.so.2 both on $out/lib and in $lib/lib?
- We are referring to $lib in $out as you can see above.
- We are referring to $out in $lib in e.g. $lib/lib/libsystemd.so.0.29.0:
/nix/store/5wymqk84lk71wbfhlrnk1z6y43cvrr5h-systemd-246/bin/
/nix/store/5wymqk84lk71wbfhlrnk1z6y43cvrr5h-systemd-246/lib/binfmt.d
/nix/store/5wymqk84lk71wbfhlrnk1z6y43cvrr5h-systemd-246/lib/modules-load.d
/nix/store/5wymqk84lk71wbfhlrnk1z6y43cvrr5h-systemd-246/lib/sysctl.d
/nix/store/5wymqk84lk71wbfhlrnk1z6y43cvrr5h-systemd-246/lib/systemd
/nix/store/5wymqk84lk71wbfhlrnk1z6y43cvrr5h-systemd-246/lib/systemd/network
/nix/store/5wymqk84lk71wbfhlrnk1z6y43cvrr5h-systemd-246/lib/systemd/system
/nix/store/5wymqk84lk71wbfhlrnk1z6y43cvrr5h-systemd-246/lib/systemd/system-generators
/nix/store/5wymqk84lk71wbfhlrnk1z6y43cvrr5h-systemd-246/lib/systemd/system-preset
/nix/store/5wymqk84lk71wbfhlrnk1z6y43cvrr5h-systemd-246/lib/systemd/system-shutdown
/nix/store/5wymqk84lk71wbfhlrnk1z6y43cvrr5h-systemd-246/lib/systemd/system-sleep
/nix/store/5wymqk84lk71wbfhlrnk1z6y43cvrr5h-systemd-246/lib/systemd/user
/nix/store/5wymqk84lk71wbfhlrnk1z6y43cvrr5h-systemd-246/lib/systemd/user-generators
/nix/store/5wymqk84lk71wbfhlrnk1z6y43cvrr5h-systemd-246/lib/systemd/user-preset
/nix/store/5wymqk84lk71wbfhlrnk1z6y43cvrr5h-systemd-246/lib/sysusers.d
These should probalby be moved into the lib output or point towards
/run/current-system/systemd/lib/systemd/{network,system,system-generators,system-preset,…}
instead. ? Maybe it is time to rethink the entire split output for
systemd. It has been a mess for a while and currently everything is
potentially referring to everything else.
|
I did look a bit at this with @arianvp. What's not fine (and seems to have changed in 9c5bb2033db0c0927593b929ff760b69295a9f70) is that I'm not yet sure on whether these are used (and simply not garbage collected), similar to the situation on aarch64. |
Apparently these paths are in the library are now also exposed by I'm not really if it's wise to put all this logic into a generic library other applications link against, if it still contains hardcoded paths - IMHO, these applications should either ask the systemd I'll take a look where this method is used inside of systemd itself, and whether we can/want to point these paths to something else (either by changing meson flags, or by patching the code). It seems some of the code added in above commit doesn't properly honor the path structure anyways, but uses some hardcoded strings in first place - maybe we should have a discussion with upstream about how to structure these paths. If this all doesn't work out, we might have to give up the multi-output nature of systemd (and ship everything in a bigger single output). |
Yeah, I planned to talk more with upstream and see if we can get some of the path handling there unified. For now it's probably fine to drop the This PR probably just needs some more thorough testing in everyday usage, and someone toying with the watchdog options. Edit: I opened systemd/systemd#16747 for now and will have some more discussion in the following days, but none of this blocks that PR. |
What's the status of this PR? |
I ran this on my laptop for a week or two and didn't spot any issues. I haven't figured yet out why the watchdog part of the test is failing. I propose commenting this out and then merging this in. I'd really like to see this in 20.09, and we'd still need to have it go through a staging round. |
Right. I am about to start a new staging-next iteration which most likely would be the last one. |
Alright, let me fix the test and then merge this in. |
There will likely be some follow-up PRs to expose new systemd options in the module system, but that's no world rebuild, so should be fine. |
For some reason, this value isn't updated, at least not inside the VM. Uncomment it, so we still test the rest. Needs to be investigated further.
This broke fwupd: #96663. |
Also update systemd 246 as per NixOS/nixpkgs#94354 Signed-off-by: Wong Hoi Sing Edison <hswong3i@gmail.com>
Backport changes from https://github.com/cri-o/cri-o/pull/4065/files#diff-1d37e48f9ceff6d8030570cd36286a61R189-R197 Also update systemd 246 as per NixOS/nixpkgs#94354 Fix containers#206 Signed-off-by: Wong Hoi Sing Edison <hswong3i@gmail.com> Signed-off-by: Wong Hoi Sing Edison <hswong3i@gmail.com>
Backport changes from https://github.com/cri-o/cri-o/pull/4065/files#diff-1d37e48f9ceff6d8030570cd36286a61R189-R197 Also update systemd 246 as per NixOS/nixpkgs#94354 Fix containers#206 Signed-off-by: Wong Hoi Sing Edison <hswong3i@gmail.com>
Backport changes from https://github.com/cri-o/cri-o/pull/4065/files#diff-1d37e48f9ceff6d8030570cd36286a61R189-R197 Also update systemd 246 as per NixOS/nixpkgs#94354 Fix containers#206 Signed-off-by: Wong Hoi Sing Edison <hswong3i@gmail.com>
Also update systemd 246 as per NixOS/nixpkgs#94354 Signed-off-by: Wong Hoi Sing Edison <hswong3i@gmail.com>
Backport changes from https://github.com/cri-o/cri-o/pull/4065/files#diff-1d37e48f9ceff6d8030570cd36286a61R189-R197 Also update systemd 246 as per NixOS/nixpkgs#94354 Fix #206 Signed-off-by: Wong Hoi Sing Edison <hswong3i@gmail.com>
This pull request has been mentioned on NixOS Discourse. There might be relevant details there: https://discourse.nixos.org/t/marketing-team-can-we-present-nix-nixos-better/6249/106 |
Motivation for this change
This bumps systemd to its latest version, containing many fixes. See https://github.com/systemd/systemd/blob/v246/NEWS for release notes.
This is still WIP -
libsystemd.so.0.29.0
from thelib
output refers back to theout
output, causing a cyclic dependency.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)