mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-07-13 21:50:33 +03:00
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
2 changed files with 15 additions and 19 deletions
|
@ -12,11 +12,6 @@ let
|
||||||
|
|
||||||
samba = cfg.package;
|
samba = cfg.package;
|
||||||
|
|
||||||
setupScript =
|
|
||||||
''
|
|
||||||
mkdir -p /var/lock/samba /var/log/samba /var/cache/samba /var/lib/samba/private
|
|
||||||
'';
|
|
||||||
|
|
||||||
shareConfig = name:
|
shareConfig = name:
|
||||||
let share = getAttr name cfg.shares; in
|
let share = getAttr name cfg.shares; in
|
||||||
"[${name}]\n " + (smbToString (
|
"[${name}]\n " + (smbToString (
|
||||||
|
@ -62,6 +57,7 @@ let
|
||||||
Type = "notify";
|
Type = "notify";
|
||||||
NotifyAccess = "all"; #may not do anything...
|
NotifyAccess = "all"; #may not do anything...
|
||||||
};
|
};
|
||||||
|
unitConfig.RequiresMountsFor = "/var/lib/samba";
|
||||||
|
|
||||||
restartTriggers = [ configFile ];
|
restartTriggers = [ configFile ];
|
||||||
};
|
};
|
||||||
|
@ -228,8 +224,7 @@ in
|
||||||
systemd = {
|
systemd = {
|
||||||
targets.samba = {
|
targets.samba = {
|
||||||
description = "Samba Server";
|
description = "Samba Server";
|
||||||
requires = [ "samba-setup.service" ];
|
after = [ "network.target" ];
|
||||||
after = [ "samba-setup.service" "network.target" ];
|
|
||||||
wantedBy = [ "multi-user.target" ];
|
wantedBy = [ "multi-user.target" ];
|
||||||
};
|
};
|
||||||
# Refer to https://github.com/samba-team/samba/tree/master/packaging/systemd
|
# Refer to https://github.com/samba-team/samba/tree/master/packaging/systemd
|
||||||
|
@ -238,12 +233,13 @@ in
|
||||||
samba-smbd = daemonService "smbd" "";
|
samba-smbd = daemonService "smbd" "";
|
||||||
samba-nmbd = mkIf cfg.enableNmbd (daemonService "nmbd" "");
|
samba-nmbd = mkIf cfg.enableNmbd (daemonService "nmbd" "");
|
||||||
samba-winbindd = mkIf cfg.enableWinbindd (daemonService "winbindd" "");
|
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 = {};
|
security.pam.services.samba = {};
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import ./make-test.nix ({ pkgs, ... }:
|
import ./make-test-python.nix ({ pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
name = "samba";
|
name = "samba";
|
||||||
|
@ -36,12 +36,12 @@ import ./make-test.nix ({ pkgs, ... }:
|
||||||
|
|
||||||
testScript =
|
testScript =
|
||||||
''
|
''
|
||||||
$server->start;
|
server.start()
|
||||||
$server->waitForUnit("samba.target");
|
server.wait_for_unit("samba.target")
|
||||||
$server->succeed("mkdir -p /public; echo bar > /public/foo");
|
server.succeed("mkdir -p /public; echo bar > /public/foo")
|
||||||
|
|
||||||
$client->start;
|
client.start()
|
||||||
$client->waitForUnit("remote-fs.target");
|
client.wait_for_unit("remote-fs.target")
|
||||||
$client->succeed("[[ \$(cat /public/foo) = bar ]]");
|
client.succeed("[[ $(cat /public/foo) = bar ]]")
|
||||||
'';
|
'';
|
||||||
})
|
})
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue