[Dnsmasq-discuss] macport installation not starting

Perette Barella perette at barella.org
Fri Sep 4 15:19:57 BST 2009


On 2009年09月04日, at 7:10, B. Kamer wrote:
> Perhaps things are different on your system or it seems you didn't  
> quite got my explanation of the problem.

Sorry about that, I missed a level of indirection.  You are right, the  
dnsmasq.wrapper does try to call the missing script on Leopard too.   
The MacPort people probably know more about this... the whole plist  
invokes daemondo which runs dnsmasq.wrapper which runs dnsmasq.sh  
which finally invokes dnsmasq seems bizarrely complex.  On my server,  
I don't use the MacPorts dnsmasq and rolled my own plist file:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
	 "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>Label</key>
	<string>uk.org.thekelleys.dnsmasq</string>
	<key>ProgramArguments</key>
	<array>
		<string>/opt/local/sbin/dnsmasq</string>
		<string>-k</string>
	</array>
	<key>RunAtLoad</key><false/>
         <key>AbandonProcessGroup</key><false/>
         <key>KeepAlive</key>
         <dict>
                 <key>NetworkState</key><true/>
         </dict>
</dict>
</plist>

Give that a try.  If you have bound to a particular interface, though,  
this won't work reliably because there's a race condition between  
dnsmasq starting and the interfaces being up.  A workaround is to  
replace the <array> in the above:

         <array>
		<string>/bin/bash</string>
		<string>-c</string>
		<string>sleep 10 &amp;&amp; exec /usr/local/sbin/dnsmasq -k</string>
	</array>

Perette




More information about the Dnsmasq-discuss mailing list