On 24/09/2015 02:55, Colin Booth wrote:
There might be a chance that s6-rc-compile derefrences symlinks into real files, or just bulk copies those files without massaging them. If either is the case it should be safe to just put those into place with the target pointing in the right place (the real .bin directory in the dereference case, dangling into space in the bulk copy case). You'll need to experiment but it shouldn't be too much of an issue.
s6-rc-compile should never dereference symlinks; if it does, it's a bug. It will copy hierarchies under data/ and env/ verbatim. It also copies data and env themselves verbatim if they are symlinks, but I recommend not relying on that behaviour. Better make a real data/ subdirectory and all the symlinks you want under it.
rc scripts are easy peasy: figure out dependency order, write oneshots. The only one that was an issue is the udev script, and I solved that by running udev as a oneshot, then running udev stop, then firing off the logrun udev.
Gah. One of the main objectives of s6-rc is precisely to cleanly handle early services such as udev. You should be able to run udevd as a longrun as soon as you need it; what problems did you encounter?
I can send you my (almost) 100% functional Debian rcS stuff replacement stuff that I use to run one of my systems. If you can figure out why the acpid keyboard hooks don't work after start, that'd be great.
I'm very interested in any examples of scripts that work with a "traditional" rc system and don't with s6-rc. It's the exact kind of data I need to polish the system and make it suitable as a drop-in replacement. -- Laurent
