Comment 4 for bug 1315060

Revision history for this message
James Hunt (jamesodhunt) wrote :

If custom system jobs need to be supported, the only realistic option atm is to create a sub-directory below /etc/init/ (say /etc/init/custom/). However, that doesn't help here since custom components need to be contained below /custom/.

Note that Upstart does _not_ honour sym links in /etc/init/ by design (rationale being that all jobs required to boot a system should be available in one known location at boot).

______

Note that there *is* a way to do what you want, but it's not really a practical proposition as you'll see: you could create an /etc/init/custom.conf job that runs a Session Init as root:

init --user --confdir /custom

However, there are major caveats to doing this:

1) You would need to join that upstart session to control or query the status of the custom jobs:

    http://upstart.ubuntu.com/cookbook/#joining-a-session

  In other words, start/stop/restart/initctl would not work unless you set UPSTART_SESSION first. This would all work, but could get very confusing.

2) You would need to create an XDG_RUNTIME_DIR for root so that the session init could create a session file to allow an admin to join the session.

3) You would need to specify an alternate log directory for the session init since you would be able to have a system job and a custom job with the same name and they would then overwrite each others log by default:

     --logdir /var/log/upstart/custom/