Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
systemd: 239 -> 242
- Loading branch information
Showing
17 changed files
with
243 additions
and
80 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
{ config, options, lib, ... }: | ||
let | ||
path = [ "deployment" "autoLuks" ]; | ||
hasAutoLuksOption = lib.hasAttrByPath path options; | ||
hasAutoLuksConfig = lib.hasAttrByPath path config && (lib.attrByPath path {} config) != {}; | ||
|
||
inherit (config.nixops) enableDeprecatedAutoLuks; | ||
in { | ||
options.nixops.enableDeprecatedAutoLuks = lib.mkEnableOption "Enable the deprecated NixOps AutoLuks module"; | ||
|
||
config = { | ||
assertions = [ | ||
{ | ||
assertion = if hasAutoLuksConfig then hasAutoLuksConfig && enableDeprecatedAutoLuks else true; | ||
message = '' | ||
⚠️ !!! WARNING !!! ⚠️ | ||
NixOps autoLuks is deprecated. The feature was never widely used and the maintenance did outgrow the benefit. | ||
If you still want to use the module: | ||
a) Please raise your voice in the issue tracking usage of the module: | ||
https://github.com/NixOS/nixpkgs/issues/62211 | ||
b) make sure you set the `_netdev` option for each of the file | ||
systems referring to block devices provided by the autoLuks module. | ||
⚠️ If you do not set the option your system will not boot anymore! ⚠️ | ||
{ | ||
fileSystems."/secret" = { options = [ "_netdev" ]; }; | ||
} | ||
b) set the option >nixops.enableDeprecatedAutoLuks = true< to remove this error. | ||
For more details read through the following resources: | ||
- https://github.com/NixOS/nixops/pull/1156 | ||
- https://github.com/NixOS/nixpkgs/issues/47550 | ||
- https://github.com/NixOS/nixpkgs/issues/62211 | ||
- https://github.com/NixOS/nixpkgs/pull/61321 | ||
''; | ||
} | ||
]; | ||
}; | ||
|
||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
# Regression test for systemd-timesync having moved the state directory without | ||
# upstream providing a migration path. https://github.com/systemd/systemd/issues/12131 | ||
|
||
import ./make-test.nix (let | ||
common = { lib, ... }: { | ||
# override the `false` value from the qemu-vm base profile | ||
services.timesyncd.enable = lib.mkForce true; | ||
}; | ||
mkVM = conf: { imports = [ conf common ]; }; | ||
in { | ||
name = "systemd-timesyncd"; | ||
nodes = { | ||
current = mkVM {}; | ||
pre1909 = mkVM ({lib, ... }: with lib; { | ||
# create the path that should be migrated by our activation script when | ||
# upgrading to a newer nixos version | ||
system.stateVersion = "19.03"; | ||
system.activationScripts.simulate-old-timesync-state-dir = mkBefore '' | ||
rm -f /var/lib/systemd/timesync | ||
mkdir -p /var/lib/systemd /var/lib/private/systemd/timesync | ||
ln -s /var/lib/private/systemd/timesync /var/lib/systemd/timesync | ||
chown systemd-timesync: /var/lib/private/systemd/timesync | ||
''; | ||
}); | ||
}; | ||
|
||
testScript = '' | ||
startAll; | ||
$current->succeed('systemctl status systemd-timesyncd.service'); | ||
# on a new install with a recent systemd there should not be any | ||
# leftovers from the dynamic user mess | ||
$current->succeed('test -e /var/lib/systemd/timesync'); | ||
$current->succeed('test ! -L /var/lib/systemd/timesync'); | ||
# timesyncd should be running on the upgrading system since we fixed the | ||
# file bits in the activation script | ||
$pre1909->succeed('systemctl status systemd-timesyncd.service'); | ||
# the path should be gone after the migration | ||
$pre1909->succeed('test ! -e /var/lib/private/systemd/timesync'); | ||
# and the new path should no longer be a symlink | ||
$pre1909->succeed('test -e /var/lib/systemd/timesync'); | ||
$pre1909->succeed('test ! -L /var/lib/systemd/timesync'); | ||
# after a restart things should still work and not fail in the activation | ||
# scripts and cause the boot to fail.. | ||
$pre1909->shutdown; | ||
$pre1909->start; | ||
$pre1909->succeed('systemctl status systemd-timesyncd.service'); | ||
''; | ||
}) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.