Opened 15 years ago

Closed 14 years ago

#21276 closed defect (fixed)

dnsmasq launch script missing

Reported by: perette (Perette Barella) Owned by: nerdling (Jeremy Lavergne)
Priority: Normal Milestone:
Component: ports Version: 1.8.0
Keywords: Cc:
Port: dnsmasq

Description

dnsmasq is delivered apparently missing a shell script needed to launch it. As I'm reading it, the way it's supposed to work is:

  • The launch file org.macports.dnsmasq.plist runs daemondo.
  • Parameters tell daemondo to invoke /opt/local/etc/LaunchDaemons/org.macports.dnsmasq/dnsmasq.wrapper
  • dnsmasq.wrapper is presumably what's supposed to launch dnsmasq, but it doesn't exist.

I'm unclear why the triple helping of launch abstraction; my workaround was to rewrite org.macports.dnsmasq.plist as follows:

<?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>

Change History (6)

comment:1 Changed 15 years ago by nerdling (Jeremy Lavergne)

Owner: changed from macports-tickets@… to snc@…
Port: dnsmasq added
Status: newassigned

I'm also uncertain why MacPorts does that triple abstraction.

I'll start looking at how to properly force our own launchd startup script rather than letting MacPorts create one.

comment:2 Changed 15 years ago by jmroot (Joshua Root)

The daemondo stuff is just impedance matching for programs that don't expect to be managed by launchd directly.

comment:3 Changed 15 years ago by hiram@…

The patch attached to https://trac.macports.org/ticket/21322 updates the Portfile to do something similar.

comment:4 Changed 15 years ago by atma@…

Does this solution work for dnsmasq at start-up?

comment:5 Changed 15 years ago by atma@…

No actually, this does not work for me at startup. DNSmasq cannot manage to start it before en0 cames up.... which sucks bigtime.

comment:6 Changed 14 years ago by nerdling (Jeremy Lavergne)

Resolution: fixed
Status: assignedclosed

Added our own launchd script and the optional variants in r60204.

Note: See TracTickets for help on using tickets.