* Work around a bug in HAL (it fails to start if $PATH is too long,

since it uses a 512-byte buffer somewhere).

svn path=/nixos/branches/upstart-0.6/; revision=18198
This commit is contained in:
Eelco Dolstra 2009-11-06 11:31:57 +00:00
parent 7011a9315f
commit 5d240b99d5
2 changed files with 6 additions and 9 deletions

View File

@ -69,7 +69,7 @@ in
# !!! TODO: make sure that HAL starts after acpid, # !!! TODO: make sure that HAL starts after acpid,
# otherwise hald-addon-acpi will grab /proc/acpi/event. # otherwise hald-addon-acpi will grab /proc/acpi/event.
startOn = if config.powerManagement.enable then "acpid" else "dbus"; startOn = if config.powerManagement.enable then "started acpid" else "started dbus";
stopOn = "shutdown"; stopOn = "shutdown";
environment = environment =
@ -100,15 +100,13 @@ in
rm -f /var/cache/hald/fdi-cache rm -f /var/cache/hald/fdi-cache
# For some weird reason HAL sometimes fails to start at
# boot time, which seems to be timing-dependent. As a
# temporary workaround, sleep for a while here.
sleep 2
# !!! Hack: start the daemon here to make sure it's # !!! Hack: start the daemon here to make sure it's
# running when the Upstart job reaches the "running" # running when the Upstart job reaches the "running"
# state. Should be fixable in Upstart 0.6. # state. Should be fixable in Upstart 0.6.
${hal}/sbin/hald --use-syslog # --verbose=yes # The `PATH=' works around a bug in HAL: it concatenates
# its libexec directory to $PATH, but using a 512-byte
# buffer. So if $PATH is too long it fails.
PATH= ${hal}/sbin/hald --use-syslog # --verbose=yes
''; '';
postStop = postStop =

View File

@ -113,8 +113,7 @@ in
}; };
jobs.dbus = jobs.dbus =
{ startOn = "udev"; { startOn = "started udev";
stopOn = "shutdown";
preStart = preStart =
'' ''