is "ready". This prevents ugly race conditions, e.g. HAL failing to
start because dbus hasn't finished starting yet.
* Support post-start scripts. These are executed after the job's main
process has started but before the job's "started" event is
emitted. For instance, the udev job uses this to perform "udevadm
trigger / settle" to create all devices. Previously this had to be
done in the pre-start script, so the daemon had to started in the
pre-start script as well.
svn path=/nixos/branches/upstart-0.6/; revision=18211
recognise X logins as active sessions (i.e. ck-list-sessions will
show "active = FALSE", and the user doesn't get ownership of
devices). I guess console-kit-daemon (which is started by dbus)
needs some device in /dev to exist.
svn path=/nixos/trunk/; revision=17428
* Let ConsoleKit track the current logins instead of pam_console.
Udev now takes care of setting the device permissions to the active
user. This works much better, since pam_console wouldn't apply
permissions to new (hot-plugged) devices. Also, the udev+ConsoleKit
approach supports user switching. (We don't have that for X yet,
but it already works for logins on virtual consoles: if you switch
between different users on differents VCs with Alt+Fn, the device
ownership will be changed automatically.)
svn path=/nixos/trunk/; revision=16743
the bus daemon can start on demand). ConsoleKit and PolicyKit need
this. This requires a setuid wrapper for dbus-daemon-launch-helper,
as well as a "messagebus" group.
svn path=/nixos/trunk/; revision=16736
jobs, e.g. (from the nscd job)
{ name = "nscd";
description = "Name Service Cache Daemon";
startOn = "startup";
stopOn = "shutdown";
environment = { LD_LIBRARY_PATH = nssModulesPath; };
preStart =
''
mkdir -m 0755 -p /var/run/nscd
mkdir -m 0755 -p /var/db/nscd
'';
exec = "${pkgs.glibc}/sbin/nscd -f ${./nscd.conf} -d 2> /dev/null";
};
The Upstart job is generated from this. The main goal is to provide
some abstraction from the Upstart syntax. For instance, this should
make it easier to upgrade to newer versions of Upstart, to switch to
an entirely different process management system (e.g. initng or
launchd), or to test a job independantly from Upstart. (However the
startOn and stopOn attributes are tied to Upstart's event model.)
svn path=/nixos/branches/modular-nixos/; revision=16376
those that run daemons) to modules/services. This probably broke
some things since there are a few relative paths in modules
(e.g. imports of system/ids.nix).
* Moved some PAM modules out of etc/pam.d to the directories of NixOS
modules that use them.
svn path=/nixos/branches/modular-nixos/; revision=15717