[MacPorts] #22449: StartupItems page could be clearer?
MacPorts
noreply at macports.org
Tue Nov 10 03:29:23 PST 2009
#22449: StartupItems page could be clearer?
---------------------------------+------------------------------------------
Reporter: dreamcat4@… | Owner: markd@…
Type: request | Status: new
Priority: High | Milestone: MacPorts 1.8.2
Component: guide | Version: 1.8.1
Keywords: launchd startupitem | Port:
---------------------------------+------------------------------------------
Hi!
The macports guide:
http://ruderich.com/macports/chunked/ch05s07.html
Just isn't quite clear enough when talking about startup items / daemondo
/ launchd plists. We hope it may be improved in three areas:
1) Daemondo command-line arguments (string quoting):
The section 5.7.2 Note:
----
Do not wrap values in quotes if passing arguments to the daemon;
“executable” StartupItem elements must be tagged individually so the
spaces between arguments serve as delimiters for “string” tags. For
example, this startupitem key/value pair:
startupitem.executable ${prefix}/sbin/vm-pop3d -d 10 -t 600
----
This explanatory note is well intentions, However it its just a little too
unclear. A user may wrap the entire command string in quotes. The
explanatory note says nothing against this (and execvp fails). TCL does
not strip any outside quotes and therefore it would be better to say:
"Do use quotes anywhere in the command string" rather than "Do not wrap
values in quotes if passing arguments". BUT "A quoted string will be
passed as-is.", "unlike regular shell command, quotes will not be
stripped". etc. A clearer explanation (with examples) is provided on the
mailing list thread.
Please see the mailinglist thread for full details:
http://www.mail-archive.com/macports-
users at lists.macosforge.org/msg16988.html
2) port load / port unload command not documented.
This is a new feature, recently introduced into MacPorts. But it isn't
mentioned anywhere in section 5.7.4. It seem to be applicable to daemondo
items only. So that would correspond to plists created by
"startupitem.executable" and "startupitem <script>" methods. Or a manually
created script that called daaemondo.
"port load daemondo-label"
"port unload daemondo-label"
See the blog post:
http://www.reasonablyopinionated.com/2009/06/intro-to-using-launchctl-
with-macports.html
It is also known that the command:
"port load tagname" will work globally for all plist files.
Or only daemondo plist files
3) Manual plists in files/ directory
Users can only create one plist file per Portfile. It may be the case for
a complex software service, multiple plists need to be used. It would be
nice to see a mention at the end of the page that explains briefly how you
can put extra manual plists into files/ directory of a port. Thank you.
For all 1),2),3) Answers please see mailinglist dicussion:
http://www.mail-archive.com/macports-
users at lists.macosforge.org/msg16988.html
We were all quite confused but got there in the end !
--
Ticket URL: <http://trac.macports.org/ticket/22449>
MacPorts <http://www.macports.org/>
Ports system for Mac OS
More information about the macports-tickets
mailing list