I'd also be glad to know of a better solution, but I had the same problem with distcc failing to start because
the network wasn't ready. At the time I was using wicd, but I think the same thing could work for you.
My solution was to modify /etc/init.d/distccd
Code: Select all
start() {
sleep 10
ebegin "Starting distccd"
You can of course play with the necessary sleep time to suit your needs. I didn't actually test to see just how
small a sleep value I could get away with.
Also you may want to toy with the need / before / after type values to ensure that, for example, after
wpa_supplicant starts then ntp starts (with the sleep) then nfsmount can start (which won't need an additional
sleep since ntp already waited). Hopefully that makes sense, the goal being to prevent services requiring
the sleep for network to become ready from starting in a different order on a subsequent boot.
**Edit
I also realize this doesn't explain why / when it stopped working, and may not be an ideal solution :D
At the time I was personally using a static IP and had distcc configured to listen on that address, but I couldn't
figure out how else to make it wait for that address to become available for listening.