0
0
Fork 0
mirror of https://github.com/NixOS/nixpkgs.git synced 2025-07-14 06:00: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:
Aaron Andersen 2019-11-09 21:05:50 -05:00 committed by GitHub
commit d2d009f4a6
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 15 additions and 19 deletions

View file

@ -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 = {};

View file

@ -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 ]]")
''; '';
}) })