diff --git a/modules/services/logging/klogd.nix b/modules/services/logging/klogd.nix index 0b2e3d9ddc7e..98d9d5eeabf9 100644 --- a/modules/services/logging/klogd.nix +++ b/modules/services/logging/klogd.nix @@ -2,28 +2,17 @@ ###### implementation -let - - klogdCmd = "${pkgs.sysklogd}/sbin/klogd -c 1 -2 -k $(dirname $(readlink -f /var/run/booted-system/kernel))/System.map"; - -in - { jobs.klogd = { description = "Kernel log daemon"; - startOn = "syslogd"; + startOn = "started syslogd"; stopOn = "shutdown"; - preStart = - '' - # !!! this hangs for some reason (it blocks reading from - # /proc/kmsg). - #${klogdCmd} -o - ''; - - exec = "${klogdCmd} -n"; + exec = + "${pkgs.sysklogd}/sbin/klogd -c 1 -2 -n " + + "-k $(dirname $(readlink -f /var/run/booted-system/kernel))/System.map"; }; } diff --git a/modules/services/logging/syslogd.nix b/modules/services/logging/syslogd.nix index bc6b6eb43899..7c3e54cadb05 100644 --- a/modules/services/logging/syslogd.nix +++ b/modules/services/logging/syslogd.nix @@ -50,12 +50,13 @@ in jobs.syslogd = { description = "Syslog daemon"; - startOn = "udev"; - stopOn = "shutdown"; + startOn = "started udev"; environment = { TZ = config.time.timeZone; }; - exec = "${pkgs.sysklogd}/sbin/syslogd -n -f ${syslogConf}"; + daemonType = "fork"; + + exec = "${pkgs.sysklogd}/sbin/syslogd -f ${syslogConf}"; }; }; diff --git a/modules/services/networking/ssh/sshd.nix b/modules/services/networking/ssh/sshd.nix index 8c18a560748b..87cb942f2f90 100644 --- a/modules/services/networking/ssh/sshd.nix +++ b/modules/services/networking/ssh/sshd.nix @@ -112,8 +112,7 @@ in description = "OpenSSH server"; - startOn = "network-interfaces/started"; - stopOn = "network-interfaces/stop"; + startOn = "started network-interfaces"; environment = { LD_LIBRARY_PATH = nssModulesPath; }; @@ -126,7 +125,9 @@ in fi ''; - exec = "${openssh}/sbin/sshd -D -h /etc/ssh/ssh_host_dsa_key -f ${sshdConfig}"; + daemonType = "fork"; + + exec = "${openssh}/sbin/sshd -h /etc/ssh/ssh_host_dsa_key -f ${sshdConfig}"; }; networking.firewall.allowedTCPPorts = [22]; diff --git a/modules/system/upstart/upstart.nix b/modules/system/upstart/upstart.nix index fea8f9e880ca..9edb0153cb27 100644 --- a/modules/system/upstart/upstart.nix +++ b/modules/system/upstart/upstart.nix @@ -31,8 +31,7 @@ let console output ${if isList job.startOn then - # This is a hack to support or-dependencies on Upstart 0.3. - concatMapStrings (x: "start on ${x}\n") job.startOn + "start on ${concatStringsSep " or " job.startOn}" else if job.startOn != "" then "start on ${job.startOn}" else "" diff --git a/modules/tasks/network-interfaces.nix b/modules/tasks/network-interfaces.nix index 4b53da876dad..098828469a67 100644 --- a/modules/tasks/network-interfaces.nix +++ b/modules/tasks/network-interfaces.nix @@ -135,7 +135,7 @@ in jobs.networkInterfaces = { name = "network-interfaces"; - startOn = "udev"; + startOn = "started udev"; preStart = ''