diff --git a/upstart-jobs/alsa.nix b/upstart-jobs/alsa.nix index ea6b1c557b2..1afca3c4554 100644 --- a/upstart-jobs/alsa.nix +++ b/upstart-jobs/alsa.nix @@ -2,7 +2,7 @@ let - soundState = "/var/state/asound.state"; + soundState = "/var/lib/alsa/asound.state"; in @@ -17,6 +17,8 @@ stop on shutdown start script + mkdir -m 0755 -p $(dirname ${soundState}) + # Load some additional modules. for mod in snd_pcm_oss; do ${modprobe}/sbin/modprobe $mod || true diff --git a/upstart-jobs/dhclient.nix b/upstart-jobs/dhclient.nix index 41fa887f7c6..f2ebc39190d 100644 --- a/upstart-jobs/dhclient.nix +++ b/upstart-jobs/dhclient.nix @@ -6,6 +6,8 @@ let ignoredInterfaces = ["lo"] ++ map (i: i.name) (lib.filter (i: i ? ipAddress) interfaces); + stateDir = "/var/lib/dhcp"; # Don't use /var/state/dhcp; not FHS-compliant. + in { @@ -37,9 +39,9 @@ script exit 1 fi - mkdir -m 755 -p /var/state/dhcp + mkdir -m 755 -p ${stateDir} - exec ${dhcp}/sbin/dhclient -d $interfaces -e \"PATH=$PATH\" + exec ${dhcp}/sbin/dhclient -d $interfaces -e \"PATH=$PATH\" -lf ${stateDir}/dhclient.leases end script "; diff --git a/upstart-jobs/dhcpd.nix b/upstart-jobs/dhcpd.nix index aa09c200901..b257eb8240b 100644 --- a/upstart-jobs/dhcpd.nix +++ b/upstart-jobs/dhcpd.nix @@ -1,5 +1,11 @@ {dhcp, configFile, interfaces}: +let + + stateDir = "/var/lib/dhcp"; # Don't use /var/state/dhcp; not FHS-compliant. + +in + { name = "dhcpd"; @@ -10,7 +16,9 @@ start on network-interfaces/started stop on network-interfaces/stop script - exec ${dhcp}/sbin/dhcpd -f -cf ${configFile} ${toString interfaces} + exec ${dhcp}/sbin/dhcpd -f -cf ${configFile} \\ + -lf ${stateDir}/dhcpd.leases \\ + ${toString interfaces} end script ";