A few pointers about launchd and daemondo

Ryan Schmidt ryandesign at macports.org
Mon Nov 9 13:40:04 PST 2009

On Nov 9, 2009, at 04:50, Scott Haneda wrote:

> On Nov 9, 2009, at 12:21 AM, Ryan Schmidt wrote:
>> On Nov 4, 2009, at 17:54, Scott Haneda wrote:
>>> I have moved to making my own normal .plist files and putting them  
>>> in files/tld.app.binary.plist, so org.pure-ftpd.ftpd.plist or  
>>> similar.
>> Since pure-ftpd's web site is pureftpd.org (not pure-ftpd.org which  
>> appears to be owned by a domain squatter), the name of the plist  
>> should be org.pureftpd.whatever (not org.pure-ftpd.whatever).
> I have been meaning to ask about this, as the current port is  
> pureftpd, and mind is pure-ftpd.  All binaries are pure-ftpd, the  
> only thing that is not is the webite.
> The app is "Pure-FTPd".  When I work out this variant conflicts  
> issue, what is the procedure for the fact there is an old per with  
> the name of pureftpd, and I am going with pure-ftpd?

Prior to MacPorts 1.8.0, the advice was: never rename a port, because  
we have no facility for supporting that. Now we do: the "replaced_by"  
keyword. So if you want to change the port name, you would leave a  
"stub port" called pureftpd which says it has been "replaced_by pure- 
ftpd". This way, anybody who already has the port pureftpd installed  
will be properly advised to upgrade to pure-ftpd via "port outdated".

Note the port name doesn't have to match the binary name (though I can  
see how it might be clearer). For example, the port pkgconfig installs  
the binary pkg-config.

> Where does it state the the correct naming conventions for laaunchd  
> plists?


"Apple suggests the use of the reverse-DNS naming convention; for  
instance, com.apple.syslogd.plist. This is an excellent convention,  
and you should follow it when defining your own services."

> I never knew the name was supposed to resolve back to the reverse of  
> the website.
> What do you do on a hosted site, for example:
> developersfiles.com/imagetool
> -> com.developersfiles.imagetool ?

Could be.

> Seems weird to hold them all under a domain that just hosts the  
> files.  SF.net being one of them, but they at least use projectname.sourceforge.net

The files do not need to live on the domain; the purpose of the naming  
convention is to avoid filename clashes on the user's computer. To  
achieve this, the files are named using the reverse of a domain name  
that you or the project owns.

> And then, all this is in macports, so maybe I should use  
> org.macports.pure-ftpd.whatever.

The launchd plists MacPorts automatically creates for you with the  
startupitem keywords do use the org.macports prefix, so that would be  

Before I used MacPorts, when I compiled software by hand and created  
my own plists for things, I used com.ryandesign as the prefix, because  
they were plists I had created. Even if the plist was for, say, the  
lighttpd web server, I didn't want to name the plist with the  
net.lighttpd prefix, because that seemed to imply to me that the  
developers of lighttpd had created the plist and were responsible for  
its content, which was not correct; I was.

More information about the macports-users mailing list