Skip to content
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: 254.6 -> 255.2 #265951

Merged
merged 3 commits into from
Jan 18, 2024
Merged

systemd: 254.6 -> 255.2 #265951

merged 3 commits into from
Jan 18, 2024

Conversation

nikstur
Copy link
Contributor

@nikstur nikstur commented Nov 6, 2023

Description of changes

  • Enable password quality by default. We could have done this a long time ago via libpwquality. systemd only introduced passwdqc as an alternative over libpwquality in v254, but it still prefers libpwquality.
  • Enable qrencode by default. This also enables building systemd-bsod.
  • Convert mesonFlags to use lib.meson* options to remove deprecation warnings and reorganize them.
  • Enable vmspawn by default (this is a new experimental component in v255)

Upstream Changelog: https://github.com/systemd/systemd/releases/tag/v255

I discussed with @RaitoBezarius about creating a new systemd-next attribute that contains the release candidate of the next systemd release. Although I agree with him that this attribute would make testing easier, I think it will be a lot of work to maintain both versions.

For this release I decided against the systemd-next route. But I would want to pursue this for the next systemd release since I have been convinced that the benefits outweigh the costs.

Things done

  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)
    • sandbox = relaxed
    • sandbox = true
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 23.11 Release Notes (or backporting 23.05 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
  • Fits CONTRIBUTING.md.

@nikstur nikstur changed the title Systemd 255 systemd: 254.2 -> 255 Nov 6, 2023
@nikstur nikstur changed the title systemd: 254.2 -> 255 systemd: 254.2 -> 255-rc1 Nov 6, 2023
@nikstur nikstur changed the title systemd: 254.2 -> 255-rc1 systemd: 254.3 -> 255-rc1 Nov 6, 2023
@SuperSandro2000
Copy link
Member

Although I agree with him that we need this attribute for better testing I think it will be a lot of work to maintain both versions.

Normally we do not add prerelease versions exactly because of this reason unless the last release is really far in the past. Also see the recent removal of chromium/chrome dev/beta.

@RaitoBezarius
Copy link
Member

My belief is that we have 4-5 systems maintainers around here, it's not the same as chromium.

systemd is also on the critical path.

Also, we have the option to not make this built by Hydra either case.

@nikstur nikstur force-pushed the systemd-255 branch 2 times, most recently from ee42c7d to a56920f Compare November 9, 2023 23:04
@github-actions github-actions bot added 6.topic: nixos Issues or PRs affecting NixOS modules, or package usability issues specific to NixOS 8.has: module (update) This PR changes an existing module in `nixos/` labels Nov 9, 2023
@lilyinstarlight
Copy link
Member

Shouldn't this target staging?

@lilyinstarlight lilyinstarlight mentioned this pull request Nov 16, 2023
15 tasks
@ElvishJerricco
Copy link
Contributor

I haven't built this myself yet to check, but the release notes for systemd 255 say that systemd-cryptsetup was moved to $out/bin, so we'll have to update the path that's pulled from in systemd stage 1.

@nikstur
Copy link
Contributor Author

nikstur commented Nov 16, 2023

Shouldn't this target staging?

It should.

For early testing, however, targeting master is easier because more things are cached afaik.

If we go the systemd-next route, we can merge this into master.

@nikstur nikstur changed the title systemd: 254.3 -> 255-rc1 systemd: 254.3 -> 255-rc2 Nov 16, 2023
@ofborg ofborg bot added the 2.status: merge conflict This PR has merge conflicts with the target branch label Nov 16, 2023
@nikstur nikstur force-pushed the systemd-255 branch 2 times, most recently from e149e50 to e1f3447 Compare November 19, 2023 01:50
@ofborg ofborg bot removed the 2.status: merge conflict This PR has merge conflicts with the target branch label Nov 19, 2023
@nikstur nikstur changed the base branch from master to staging December 29, 2023 00:22
@nikstur nikstur marked this pull request as ready for review December 29, 2023 00:27
@nikstur nikstur requested a review from a team as a code owner December 29, 2023 00:27
@nikstur
Copy link
Contributor Author

nikstur commented Dec 29, 2023

Now targets staging. I will not pursue the systemd-next route for this release but I am interested in doing it for the next release.

@nikstur
Copy link
Contributor Author

nikstur commented Jan 3, 2024

I'm currently testing this on my machine. I created a branch that bases these changes on nixos-unstable so it is easier to generate a patch set that applies cleanly: https://github.com/nikstur/nixpkgs/tree/systemd-255-unstable

You can use this to test locally.

@nikstur nikstur mentioned this pull request Jan 9, 2024
13 tasks
Copy link
Contributor

@ElvishJerricco ElvishJerricco left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@nikstur This is looking good to me. Let's merge this very soon. But first, can we bump to 255.2?

@nikstur nikstur changed the title systemd: 254.6 -> 255 systemd: 254.6 -> 255.2 Jan 16, 2024
@nikstur
Copy link
Contributor Author

nikstur commented Jan 16, 2024

But first, can we bump to 255.2?

Done

Changes of the last force push:

  • Use finalAttrs to refer to the qrencode package instead of pulling it in as a callPackage input
  • Inlcude the timesync patch that was on staging and now has reached master

@nikstur
Copy link
Contributor Author

nikstur commented Jan 16, 2024

I don't understand why the ofborg Check whether nix files are parseable job fails. Can someone help me out here?

@wahjava
Copy link
Contributor

wahjava commented Jan 16, 2024

I don't understand why the ofborg Check whether nix files are parseable job fails. Can someone help me out here?

| jq '.[] | select(.status != "removed" and (.filename | endswith(".nix"))) | .filename' \

in the preceding step of the task outputs quoted file names, e.g. "nixos/modules/system/boot/luksroot.nix" which are passed to nix-instantiate verbatim. To reproduce:

❯ file='"nixos/modules/system/boot/luksroot.nix"'
❯ foo="$(nix-instantiate --parse "$file")"
error: path '/nixpkgs/"nixos/modules/system/boot/luksroot.nix"' does not exist

For a fix, s/jq/jq -r/

@nikstur
Copy link
Contributor Author

nikstur commented Jan 16, 2024

Ah ok, so this has nothing to do with my changes. This commit fixes it on master: 2ccf45e

This commit probably won't reach stagin anytime soon. So it should be safe to ignore it.

@ofborg ofborg bot requested a review from lukateras January 17, 2024 08:21
Copy link
Member

@SuperSandro2000 SuperSandro2000 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I tested 255.0 on WSL2 without any issues.

This is needed to break a dependency for systemd.
Removed patches:

- 0007-Fix-hwdb-paths.patch

  The directory we want seems to already be included in the list. Is there
  a reason why we want to restrict it further?

- 0010-build-don-t-create-statedir-and-don-t-touch-prefixdi.patch

  This patch has little to do with how the meson.build file looks now. The
  new patch 0017 is the successor to this one.

- 0015-pkg-config-derive-prefix-from-prefix.patch

  This is fixed upstream. We don't need this anymore.
@RaitoBezarius
Copy link
Member

Once CI is green, I will merge.

@nikstur nikstur merged commit 1472cd1 into NixOS:staging Jan 18, 2024
10 checks passed
@nikstur nikstur deleted the systemd-255 branch January 18, 2024 15:33
@JohnRTitor
Copy link
Contributor

Looks like systemd-bsod support was part of the v255 release, and v256 is around the corner, but I don't see a module/option to enable this feature. Am I missing something or this feature is not yet available on NixOS?

@arianvp
Copy link
Member

arianvp commented Jun 18, 2024

Contributions welcome. We don't enable all systemd features by default.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
6.topic: nixos Issues or PRs affecting NixOS modules, or package usability issues specific to NixOS 6.topic: systemd 8.has: module (update) This PR changes an existing module in `nixos/` 10.rebuild-darwin: 501-1000 10.rebuild-darwin: 501+ 10.rebuild-linux: 501+ 10.rebuild-linux: 5001+
Projects
None yet
Development

Successfully merging this pull request may close these issues.