<pre style='margin:0'>
Joshua Root (jmroot) pushed a commit to branch master
in repository macports-guide.
</pre>
<p><a href="https://github.com/macports/macports-guide/commit/97eb9d43076f26547c3b171a68fa688c840a58e2">https://github.com/macports/macports-guide/commit/97eb9d43076f26547c3b171a68fa688c840a58e2</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'> new 97eb9d4 guide: update startupitem docs
</span>97eb9d4 is described below
<span style='display:block; white-space:pre;color:#808000;'>commit 97eb9d43076f26547c3b171a68fa688c840a58e2
</span>Author: Joshua Root <jmr@macports.org>
AuthorDate: Wed Jun 13 21:21:29 2018 +1000
<span style='display:block; white-space:pre;color:#404040;'> guide: update startupitem docs
</span>---
guide/xml/portfile-startupitem.xml | 162 +++++++++++++++++++++++++++++++++++--
1 file changed, 154 insertions(+), 8 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/guide/xml/portfile-startupitem.xml b/guide/xml/portfile-startupitem.xml
</span><span style='display:block; white-space:pre;color:#808080;'>index 59dc2a9..a857165 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/guide/xml/portfile-startupitem.xml
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/guide/xml/portfile-startupitem.xml
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -24,8 +24,13 @@
</span> <note>
<para>The variable <varname>startupitem_type</varname> in
<filename>${prefix}/etc/macports/macports.conf</filename> may be set to
<span style='display:block; white-space:pre;background:#ffe0e0;'>- <option>none</option> to globally override all StartupItem keywords found
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- in Portfiles; this prevents StartupItems from being created.</para>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <option>none</option> to override the default value of the <varname>startupitem.type</varname>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ option in Portfiles; this prevents StartupItems from being created.</para>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <para>Additionally, the <varname>startupitem_install</varname> variable can be set
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ to <option>no</option> in <filename>macports.conf</filename> to override the default
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ value of the <varname>startupitem.install</varname> option, which will prevent links
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ from being created under <filename>/Library</filename>. This is useful for MacPorts
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ installations that are not used with root privileges.</para>
</span> </note>
<section xml:id="reference.startupitems.attributes">
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -37,6 +42,26 @@
</span>
<variablelist>
<varlistentry>
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ <term>startupitem.autostart</term>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <listitem>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <para>Whether to automatically load the StartupItem after activating the port.</para>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <itemizedlist>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <listitem>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <para>Default: <option>no</option></para>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ </listitem>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <listitem>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <para>Example:</para>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <programlisting>startupitem.autostart yes</programlisting>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ </listitem>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ </itemizedlist>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ </listitem>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ </varlistentry>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <varlistentry>
</span> <term>startupitem.create</term>
<listitem>
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -57,21 +82,66 @@
</span> </varlistentry>
<varlistentry>
<span style='display:block; white-space:pre;background:#ffe0e0;'>- <term>startupitem.name</term>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <term>startupitem.debug</term>
</span>
<listitem>
<span style='display:block; white-space:pre;background:#ffe0e0;'>- <para>Sets the name for the StartupItem. Defaults to the name of the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- port, so this keyword is usually unnecessary.</para>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <para>Enable additional debug logging.</para>
</span>
<itemizedlist>
<listitem>
<span style='display:block; white-space:pre;background:#ffe0e0;'>- <para>Default: <varname>${name}</varname></para>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <para>Default: <option>no</option></para>
</span> </listitem>
<listitem>
<para>Example:</para>
<span style='display:block; white-space:pre;background:#ffe0e0;'>- <programlisting>startupitem.name dhcpd</programlisting>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <programlisting>startupitem.debug yes</programlisting>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ </listitem>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ </itemizedlist>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ </listitem>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ </varlistentry>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <varlistentry>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <term>startupitem.install</term>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <listitem>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <para>Whether to install a link to the StartupItem in the appropriate
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ subdirectory of <filename>/Library</filename> (see
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <varname>startupitem.location</varname>) so that it can
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ be launched automatically after rebooting.</para>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <itemizedlist>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <listitem>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <para>Default: <option>yes</option></para>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ </listitem>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <listitem>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <para>Example:</para>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <programlisting>startupitem.install no</programlisting>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ </listitem>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ </itemizedlist>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ </listitem>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ </varlistentry>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <varlistentry>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <term>startupitem.location</term>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <listitem>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <para>Chooses the subdirectory in which to install the StartupItem. Also
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ affects how it will be loaded: LaunchDaemons must be loaded as root, and
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ only one instance will run for the whole system. LaunchAgents are loaded
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ as a normal user, and one instance per user can run.</para>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <itemizedlist>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <listitem>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <para>Default: <filename>LaunchDaemons</filename></para>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ </listitem>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <listitem>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <para>Example:</para>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <programlisting>startupitem.location LaunchAgents</programlisting>
</span> </listitem>
</itemizedlist>
</listitem>
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -123,6 +193,27 @@
</span> </varlistentry>
<varlistentry>
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ <term>startupitem.name</term>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <listitem>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <para>Sets the name for the StartupItem. Defaults to the name of the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port, so this keyword is usually unnecessary.</para>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <itemizedlist>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <listitem>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <para>Default: <varname>${name}</varname></para>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ </listitem>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <listitem>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <para>Example:</para>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <programlisting>startupitem.name dhcpd</programlisting>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ </listitem>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ </itemizedlist>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ </listitem>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ </varlistentry>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <varlistentry>
</span> <term>startupitem.netchange</term>
<listitem>
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -142,6 +233,61 @@
</span> </itemizedlist>
</listitem>
</varlistentry>
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <varlistentry>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <term>startupitem.type</term>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <listitem>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <para>The type of the StartupItem. Supported values are <option>launchd</option> for a macOS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <command>launchd</command> .plist, or <option>none</option> for no StartupItem.</para>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <itemizedlist>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <listitem>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <para>Default: <option>launchd</option> if on macOS and <varname>${startupitem.create}</varname>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ is true, <option>none</option> otherwise</para>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ </listitem>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <listitem>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <para>Example:</para>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <programlisting>startupitem.type launchd</programlisting>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ </listitem>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ </itemizedlist>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ </listitem>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ </varlistentry>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <varlistentry>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <term>startupitems</term>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <listitem>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <para>Used when a port needs to install more than one StartupItem, this option
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ consists of a list where alternating elements represent keys and values. Each
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ key corresponds to one of the <varname>startupitem.*</varname> options, and the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ following value is associated with it. Each StartupItem defined in the list must
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ specify at least a name. Each other key/value pair is associated with the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ StartupItem named most recently in the list. Any keys that are not defined for
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ a given StartupItem will use the value of the corresponding <varname>startupitem.*</varname>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ option.</para>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <itemizedlist>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <listitem>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <para>Default: none
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ </listitem>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <listitem>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <para>Example:</para>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <programlisting>startupitems name myport-system \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ location LaunchDaemons \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ executable ${prefix}/sbin/myportd \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ name myport-session \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ location LaunchAgents \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ executable ${prefix}/bin/myport-agent</programlisting>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ </listitem>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ </itemizedlist>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ </listitem>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ </varlistentry>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> </variablelist>
</section>
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -431,7 +577,7 @@ startupitem.restart "${prefix}/share/mysql/mysql.server restart"</programlis
</span> <para>During port installation a MacPorts StartupItem creates a .plist
file in <filename>${prefix}/etc/LaunchDaemons/</filename>, and places a
symbolic link to the .plist file within
<span style='display:block; white-space:pre;background:#ffe0e0;'>- <filename>/Library/LaunchDaemons/</filename>.</para>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <filename>/Library/LaunchDaemons/</filename> if <varname>${startupitem.install}</varname> is true.</para>
</span>
<para>For example, the StartupItem for the mysql5 port is
<filename>org.macports.mysql5.plist</filename>, and it is linked as
</pre><pre style='margin:0'>
</pre>