In a setup where the supervise subdirectory of a service is a symlink to some other location (such as with Void where /etc/sv/$svc/supervise is a symlink to /run/runit/supervise.$svc) and that target does not currently exist, attempting to run the service via s6 results in a failure.
Thanks for the report. Should be fixed in the s6 git head, please test and tell me if it works for you. Note that you will need the skalibs git head to build this version.
this is an issue is because it's a break from daemontools and runit behavior, both of which attempt to fix broken supervise/ symlinks when encountered.
Are you sure? I can see code in runit that makes runsv work with dangling symlinks, but I can't see anything in daemontools's supervise. Since mkdir() does not follow dangling symlinks, you have to explicitly readlink() and mkdir() again, and afaict supervise does not do that. -- Laurent
