Merge pull request #73080 from flokli/nixos-samba-python-tmpfiles
nixos/samba: use tmpfiles, port test to python
This commit is contained in:
commit
d2d009f4a6
@ -12,11 +12,6 @@ let
|
||||
|
||||
samba = cfg.package;
|
||||
|
||||
setupScript =
|
||||
''
|
||||
mkdir -p /var/lock/samba /var/log/samba /var/cache/samba /var/lib/samba/private
|
||||
'';
|
||||
|
||||
shareConfig = name:
|
||||
let share = getAttr name cfg.shares; in
|
||||
"[${name}]\n " + (smbToString (
|
||||
@ -62,6 +57,7 @@ let
|
||||
Type = "notify";
|
||||
NotifyAccess = "all"; #may not do anything...
|
||||
};
|
||||
unitConfig.RequiresMountsFor = "/var/lib/samba";
|
||||
|
||||
restartTriggers = [ configFile ];
|
||||
};
|
||||
@ -228,8 +224,7 @@ in
|
||||
systemd = {
|
||||
targets.samba = {
|
||||
description = "Samba Server";
|
||||
requires = [ "samba-setup.service" ];
|
||||
after = [ "samba-setup.service" "network.target" ];
|
||||
after = [ "network.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
};
|
||||
# Refer to https://github.com/samba-team/samba/tree/master/packaging/systemd
|
||||
@ -238,12 +233,13 @@ in
|
||||
samba-smbd = daemonService "smbd" "";
|
||||
samba-nmbd = mkIf cfg.enableNmbd (daemonService "nmbd" "");
|
||||
samba-winbindd = mkIf cfg.enableWinbindd (daemonService "winbindd" "");
|
||||
samba-setup = {
|
||||
description = "Samba Setup Task";
|
||||
script = setupScript;
|
||||
unitConfig.RequiresMountsFor = "/var/lib/samba";
|
||||
};
|
||||
};
|
||||
tmpfiles.rules = [
|
||||
"d /var/lock/samba - - - - -"
|
||||
"d /var/log/samba - - - - -"
|
||||
"d /var/cache/samba - - - - -"
|
||||
"d /var/lib/samba/private - - - - -"
|
||||
];
|
||||
};
|
||||
|
||||
security.pam.services.samba = {};
|
||||
|
@ -1,4 +1,4 @@
|
||||
import ./make-test.nix ({ pkgs, ... }:
|
||||
import ./make-test-python.nix ({ pkgs, ... }:
|
||||
|
||||
{
|
||||
name = "samba";
|
||||
@ -36,12 +36,12 @@ import ./make-test.nix ({ pkgs, ... }:
|
||||
|
||||
testScript =
|
||||
''
|
||||
$server->start;
|
||||
$server->waitForUnit("samba.target");
|
||||
$server->succeed("mkdir -p /public; echo bar > /public/foo");
|
||||
server.start()
|
||||
server.wait_for_unit("samba.target")
|
||||
server.succeed("mkdir -p /public; echo bar > /public/foo")
|
||||
|
||||
$client->start;
|
||||
$client->waitForUnit("remote-fs.target");
|
||||
$client->succeed("[[ \$(cat /public/foo) = bar ]]");
|
||||
client.start()
|
||||
client.wait_for_unit("remote-fs.target")
|
||||
client.succeed("[[ $(cat /public/foo) = bar ]]")
|
||||
'';
|
||||
})
|
||||
|
Loading…
Reference in New Issue
Block a user