[32050] trunk/doc-new

simon at macports.org simon at macports.org
Fri Dec 14 07:34:22 PST 2007


Revision: 32050
          http://trac.macosforge.org/projects/macports/changeset/32050
Author:   simon at macports.org
Date:     2007-12-14 07:34:19 -0800 (Fri, 14 Dec 2007)

Log Message:
-----------
doc-new: Splitted portfile-keywords.xml and moved Dependencies, Variants and Livecheck to own files. No code changes to these files except id fixes.

Modified Paths:
--------------
    trunk/doc-new/guide/xml/portfile-keywords.xml
    trunk/doc-new/guide/xml/portfiledev.xml
    trunk/doc-new/guide/xml/portfileref.xml
    trunk/doc-new/guide/xml/using.xml
    trunk/doc-new/man/xml/portfile.7.xml

Added Paths:
-----------
    trunk/doc-new/guide/xml/portfile-dependencies.xml
    trunk/doc-new/guide/xml/portfile-livecheck.xml
    trunk/doc-new/guide/xml/portfile-variants.xml

Added: trunk/doc-new/guide/xml/portfile-dependencies.xml
===================================================================
--- trunk/doc-new/guide/xml/portfile-dependencies.xml	                        (rev 0)
+++ trunk/doc-new/guide/xml/portfile-dependencies.xml	2007-12-14 15:34:19 UTC (rev 32050)
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
+
+<section id="reference.dependencies">
+  <title>Dependencies</title>
+
+  <para>Free and open source software is highly modular, and MacPorts ports
+  often require that other ports be installed beforehand; these
+  prerequisites for a given port are called a port's
+  <quote>dependencies</quote>.</para>
+
+  <para>There are three types of MacPorts dependencies: library, build, and
+  run dependencies. Dependency types are important for proper port upgrade
+  and uninstall behavior. For example, you may not uninstall a port that is
+  a library dependency for another port, though you may remove one with a
+  build dependency; likewise, upgrading a port will upgrade its library and
+  build dependencies also, but not its run dependencies.</para>
+
+  <variablelist>
+    <varlistentry>
+      <term>depends_lib</term>
+
+      <term>depends_lib-append</term>
+
+      <term>depends_lib-delete</term>
+
+      <listitem>
+        <para>The list of dependencies to check before phases
+        <option>configure</option>, <option>build</option>,
+        <option>destroot</option>, <option>install</option>, and
+        <option>package</option>. Library dependencies are needed both at
+        build time (for headers and libraries to link against) and at run
+        time.</para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term>depends_build</term>
+
+      <term>depends_build-append</term>
+
+      <term>depends_build-delete</term>
+
+      <listitem>
+        <para>The list of dependencies to check before phases
+        <option>build</option>, <option>destroot</option>,
+        <option>install</option>, and <option>package</option>. Build
+        dependencies are needed when software is compiled, but not needed at
+        all once the software is compiled and installed.</para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term>depends_run</term>
+
+      <term>depends_run-append</term>
+
+      <term>depends_run-delete</term>
+
+      <listitem>
+        <para>The list of dependencies to check before phases
+        <option>destroot</option>, <option>install</option>, and
+        <option>package</option>. Run dependencies are needed when the
+        software is run, but not to compile it.</para>
+      </listitem>
+    </varlistentry>
+  </variablelist>
+
+  <section id="reference.dependencies.types">
+    <title>Port and Non-Port Dependencies</title>
+
+    <para>Port dependencies should be provided by MacPorts ports whenever
+    possible, however dependencies may be provided by vendor-supplied
+    software when satisfying a dependency by a port is not practical or
+    desirable for a special reason. Dependencies of this type are called
+    non-port dependencies.</para>
+
+    <para>Non-port dependencies should only be used if the application or
+    library can be installed by multiple ports (for example stable and
+    -devel version) or if it can't be installed with Macports.</para>
+
+    <para>Port dependencies, the preferred type, are specified as shown in
+    these examples:</para>
+
+    <programlisting>depends_lib         port:rrdtool port:apache2
+
+depends_build       port:libtool
+
+depends_run         port:apache2 port:php5</programlisting>
+
+    <para>Non-port dependencies are specified as shown in these
+    examples:</para>
+
+    <programlisting>depends_lib         lib:libX11.6:xorg
+
+depends_build       bin:glibtool:libtool
+
+depends_run         path:${prefix}/lib/libltdl.a:libtool</programlisting>
+  </section>
+</section>

Modified: trunk/doc-new/guide/xml/portfile-keywords.xml
===================================================================
--- trunk/doc-new/guide/xml/portfile-keywords.xml	2007-12-14 15:04:49 UTC (rev 32049)
+++ trunk/doc-new/guide/xml/portfile-keywords.xml	2007-12-14 15:34:19 UTC (rev 32050)
@@ -14,627 +14,177 @@
   whole, whereas the keywords listed under a port phase specify information to
   be used during a particular installation phase.</para>
 
-  <section id="reference.keywords.general">
-    <title>General</title>
+  <variablelist>
+    <varlistentry>
+      <term>PortSystem</term>
 
-    <para>The list of global keywords.</para>
+      <listitem>
+        <para>The top line of every Portfile; it must be followed by a blank
+        line. It defines which version of the Portfile interpreter will be
+        used.</para>
 
-    <variablelist>
-      <varlistentry>
-        <term>PortSystem</term>
+        <programlisting>PortSystem          1.0
 
-        <listitem>
-          <para>The top line of every Portfile; it must be followed by a blank
-          line. It defines which version of the Portfile interpreter will be
-          used.</para>
-
-          <programlisting>PortSystem          1.0
-
 </programlisting>
-        </listitem>
-      </varlistentry>
+      </listitem>
+    </varlistentry>
 
-      <varlistentry>
-        <term>name</term>
+    <varlistentry>
+      <term>name</term>
 
-        <listitem>
-          <para>The name of the Port; it should be lowercase to prevent
-          uninstallation problems due to a macports base bug.</para>
+      <listitem>
+        <para>The name of the Port; it should be lowercase to prevent
+        uninstallation problems due to a macports base bug.</para>
 
-          <programlisting>name                foo</programlisting>
-        </listitem>
-      </varlistentry>
+        <programlisting>name                foo</programlisting>
+      </listitem>
+    </varlistentry>
 
-      <varlistentry>
-        <term>version</term>
+    <varlistentry>
+      <term>version</term>
 
-        <listitem>
-          <para>The version of the ported software.</para>
+      <listitem>
+        <para>The version of the ported software.</para>
 
-          <programlisting>version             1.23.45</programlisting>
-        </listitem>
-      </varlistentry>
+        <programlisting>version             1.23.45</programlisting>
+      </listitem>
+    </varlistentry>
 
-      <varlistentry>
-        <term>revision</term>
+    <varlistentry>
+      <term>revision</term>
 
-        <listitem>
-          <para>Optional keyword (default is 0) that is used to track port
-          revisions. It should not be incremented for port revisions unless it
-          would benefit users to upgrade an installed port, and cleared when
-          the port is updated to a newer version.</para>
+      <listitem>
+        <para>Optional keyword (default is 0) that is used to track port
+        revisions. It should not be incremented for port revisions unless it
+        would benefit users to upgrade an installed port, and cleared when
+        the port is updated to a newer version.</para>
 
-          <para>It should be used if a bug in the Portfile was found and all
-          installations of this port have to be updated. If the change only
-          affects new installations, there is no need to increase it.</para>
+        <para>It should be used if a bug in the Portfile was found and all
+        installations of this port have to be updated. If the change only
+        affects new installations, there is no need to increase it.</para>
 
-          <programlisting>revision            1</programlisting>
-        </listitem>
-      </varlistentry>
+        <programlisting>revision            1</programlisting>
+      </listitem>
+    </varlistentry>
 
-      <varlistentry>
-        <term>epoch</term>
+    <varlistentry>
+      <term>epoch</term>
 
-        <listitem>
-          <para>An optional keyword (default value is 0) that may be used when
-          ports are updated to a version that is numerically less than the
-          previous version. For example 1.10 -&gt; 1.2 or 20070928 -&gt; 1.0.
-          An epoch ensures that port version comparisons work correctly in
-          these cases. Often the epoch is formatted like a date, but it can
-          simply be a number such as 1.</para>
+      <listitem>
+        <para>An optional keyword (default value is 0) that may be used when
+        ports are updated to a version that is numerically less than the
+        previous version. For example 1.10 -&gt; 1.2 or 20070928 -&gt; 1.0.
+        An epoch ensures that port version comparisons work correctly in
+        these cases. Often the epoch is formatted like a date, but it can
+        simply be a number such as 1.</para>
 
-          <programlisting>epoch               20080924</programlisting>
+        <programlisting>epoch               20080924</programlisting>
 
-          <programlisting>epoch               1</programlisting>
+        <programlisting>epoch               1</programlisting>
 
-          <note>
-            <para>If an epoch is used it must must never be decreased or reset
-            to zero, because this would always cause a port version comparison
-            to be incorrect after a port upgrade.</para>
-          </note>
+        <note>
+          <para>If an epoch is used it must must never be decreased or reset
+          to zero, because this would always cause a port version comparison
+          to be incorrect after a port upgrade.</para>
+        </note>
 
-          <para>An epoch is not needed for most ports, and good use of a
-          port's version can make using an epoch unnecessary even for
-          application distributions without official version numbers. For
-          example, if an application version 1.5 is superseded by a snapshot
-          release 20081022, the new release could be given version number
-          1.5.20081022, rather than 20081022, so the newer release will have a
-          numericaly greater value.</para>
-        </listitem>
-      </varlistentry>
+        <para>An epoch is not needed for most ports, and good use of a
+        port's version can make using an epoch unnecessary even for
+        application distributions without official version numbers. For
+        example, if an application version 1.5 is superseded by a snapshot
+        release 20081022, the new release could be given version number
+        1.5.20081022, rather than 20081022, so the newer release will have a
+        numericaly greater value.</para>
+      </listitem>
+    </varlistentry>
 
-      <varlistentry>
-        <term>categories</term>
+    <varlistentry>
+      <term>categories</term>
 
-        <listitem>
-          <para>The category under which the ported software falls. The first
-          category should be the same as the directory within which the
-          Portfile is stored; secondary and tertiary categories may be
-          selected.</para>
+      <listitem>
+        <para>The category under which the ported software falls. The first
+        category should be the same as the directory within which the
+        Portfile is stored; secondary and tertiary categories may be
+        selected.</para>
 
-          <programlisting>categories          net security</programlisting>
-        </listitem>
-      </varlistentry>
+        <programlisting>categories          net security</programlisting>
+      </listitem>
+    </varlistentry>
 
-      <varlistentry>
-        <term>maintainers</term>
+    <varlistentry>
+      <term>maintainers</term>
 
-        <listitem>
-          <para>A port's maintainer is a person or persons who take
-          responsibility for keeping the port up-to-date, and the maintainer
-          keyword lists maintainer email addresses(s). However, many
-          maintainers wish to hide these addresses from spambots; to do so
-          follow these conventions:</para>
+      <listitem>
+        <para>A port's maintainer is a person or persons who take
+        responsibility for keeping the port up-to-date, and the maintainer
+        keyword lists maintainer email addresses(s). However, many
+        maintainers wish to hide these addresses from spambots; to do so
+        follow these conventions:</para>
 
-          <itemizedlist>
-            <listitem>
-              <para>For addresses in domain @macports.org, simply omit the
-              domain name.</para>
-            </listitem>
+        <itemizedlist>
+          <listitem>
+            <para>For addresses in domain @macports.org, simply omit the
+            domain name.</para>
+          </listitem>
 
-            <listitem>
-              <para>For addresses in other domains, say
-              <email>account at example.org</email>, use the convention
-              example.org:account to specify the address.</para>
-            </listitem>
-          </itemizedlist>
+          <listitem>
+            <para>For addresses in other domains, say
+            <email>account at example.org</email>, use the convention
+            example.org:account to specify the address.</para>
+          </listitem>
+        </itemizedlist>
 
-          <para>In the example below, the maintainer email addresses
-          <email>jdoe at macports.org</email> and
-          <email>julesverne at example.org</email> are hidden using these
-          conventions.</para>
+        <para>In the example below, the maintainer email addresses
+        <email>jdoe at macports.org</email> and
+        <email>julesverne at example.org</email> are hidden using these
+        conventions.</para>
 
-          <programlisting>maintainers         jdoe \
+        <programlisting>maintainers         jdoe \
                     example.org:julesverne</programlisting>
-        </listitem>
-      </varlistentry>
+      </listitem>
+    </varlistentry>
 
-      <varlistentry>
-        <term>description</term>
+    <varlistentry>
+      <term>description</term>
 
-        <listitem>
-          <para>A one-sentence description of the ported software.</para>
+      <listitem>
+        <para>A one-sentence description of the ported software.</para>
 
-          <programlisting>description         A classic shooter arcade game.</programlisting>
-        </listitem>
-      </varlistentry>
+        <programlisting>description         A classic shooter arcade game.</programlisting>
+      </listitem>
+    </varlistentry>
 
-      <varlistentry>
-        <term>long_description</term>
+    <varlistentry>
+      <term>long_description</term>
 
-        <listitem>
-          <para>A long description of the ported software. Break long lines
-          with escaped newlines.</para>
+      <listitem>
+        <para>A long description of the ported software. Break long lines
+        with escaped newlines.</para>
 
-          <programlisting>long_description    A classic shooter arcade game derived from \
+        <programlisting>long_description    A classic shooter arcade game derived from \
                     the game alien-munchers.  Not suitable for \
                     children under two years old.</programlisting>
-        </listitem>
-      </varlistentry>
+      </listitem>
+    </varlistentry>
 
-      <varlistentry>
-        <term>homepage</term>
+    <varlistentry>
+      <term>homepage</term>
 
-        <listitem>
-          <para>Port application's homepage.</para>
+      <listitem>
+        <para>Port application's homepage.</para>
 
-          <programlisting>homepage            http://www.example.org/apps</programlisting>
-        </listitem>
-      </varlistentry>
+        <programlisting>homepage            http://www.example.org/apps</programlisting>
+      </listitem>
+    </varlistentry>
 
-      <varlistentry>
-        <term>platforms</term>
+    <varlistentry>
+      <term>platforms</term>
 
-        <listitem>
-          <para>The platforms on which the port has been tested.</para>
+      <listitem>
+        <para>The platforms on which the port has been tested.</para>
 
-          <programlisting>platforms           darwin freebsd</programlisting>
-        </listitem>
-      </varlistentry>
-    </variablelist>
-  </section>
-
-  <section id="reference.keywords.dependencies">
-    <title>Dependencies</title>
-
-    <para>Free and open source software is highly modular, and MacPorts ports
-    often require that other ports be installed beforehand; these
-    prerequisites for a given port are called a port's
-    <quote>dependencies</quote>.</para>
-
-    <para>There are three types of MacPorts dependencies: library, build, and
-    run dependencies. Dependency types are important for proper port upgrade
-    and uninstall behavior. For example, you may not uninstall a port that is
-    a library dependency for another port, though you may remove one with a
-    build dependency; likewise, upgrading a port will upgrade its library and
-    build dependencies also, but not its run dependencies.</para>
-
-    <variablelist>
-      <varlistentry>
-        <term>depends_lib</term>
-
-        <term>depends_lib-append</term>
-
-        <term>depends_lib-delete</term>
-
-        <listitem>
-          <para>The list of dependencies to check before phases
-          <option>configure</option>, <option>build</option>,
-          <option>destroot</option>, <option>install</option>, and
-          <option>package</option>. Library dependencies are needed both at
-          build time (for headers and libraries to link against) and at run
-          time.</para>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry>
-        <term>depends_build</term>
-
-        <term>depends_build-append</term>
-
-        <term>depends_build-delete</term>
-
-        <listitem>
-          <para>The list of dependencies to check before phases
-          <option>build</option>, <option>destroot</option>,
-          <option>install</option>, and <option>package</option>. Build
-          dependencies are needed when software is compiled, but not needed at
-          all once the software is compiled and installed.</para>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry>
-        <term>depends_run</term>
-
-        <term>depends_run-append</term>
-
-        <term>depends_run-delete</term>
-
-        <listitem>
-          <para>The list of dependencies to check before phases
-          <option>destroot</option>, <option>install</option>, and
-          <option>package</option>. Run dependencies are needed when the
-          software is run, but not to compile it.</para>
-        </listitem>
-      </varlistentry>
-    </variablelist>
-
-    <section id="reference.keywords.dependencies.types">
-      <title>Port and Non-Port Dependencies</title>
-
-      <para>Port dependencies should be provided by MacPorts ports whenever
-      possible, however dependencies may be provided by vendor-supplied
-      software when satisfying a dependency by a port is not practical or
-      desirable for a special reason. Dependencies of this type are called
-      non-port dependencies.</para>
-
-      <para>Non-port dependencies should only be used if the application or
-      library can be installed by multiple ports (for example stable and
-      -devel version) or if it can't be installed with Macports.</para>
-
-      <para>Port dependencies, the preferred type, are specified as shown in
-      these examples:</para>
-
-      <programlisting>depends_lib         port:rrdtool port:apache2
-
-depends_build       port:libtool
-
-depends_run         port:apache2 port:php5</programlisting>
-
-      <para>Non-port dependencies are specified as shown in these
-      examples:</para>
-
-      <programlisting>depends_lib         lib:libX11.6:xorg
-
-depends_build       bin:glibtool:libtool
-
-depends_run         path:${prefix}/lib/libltdl.a:libtool</programlisting>
-    </section>
-  </section>
-
-  <section id="reference.keywords.variants">
-    <title>Variants</title>
-
-    <para>MacPorts variants are conditional modifications of port installation
-    behavior that may be invoked by a user at the time of port install.</para>
-
-    <variablelist>
-      <varlistentry>
-        <term>variant [requires variant] [conflicts variant] [description
-        description]</term>
-
-        <listitem>
-          <para>The variant declaration may contain any keywords that can be
-          placed in a Portfile's global section. If you wish to execute system
-          (shell) calls or Tcl extensions during the execution of a port
-          phase, you should place those statements within a
-          <literal>variant_isset</literal> conditional within a phase
-          declaration and not within the variant declaration itself.
-          Dependencies and conflicts with other variants in the same port can
-          be expressed with requires and conflicts. See the isset Tcl
-          extension.</para>
-
-          <itemizedlist>
-            <listitem>
-              <para>Default: no</para>
-            </listitem>
-
-            <listitem>
-              <para>Example:</para>
-
-              <programlisting>variant gnome requires glib {
-    configure.args-append   --with-gnome
-    depends_lib-append      port:gnome-session
-}</programlisting>
-            </listitem>
-          </itemizedlist>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry>
-        <term>default_variants</term>
-
-        <listitem>
-          <para>If variants are defined, then the default_variants value lists
-          which variants are enabled by default. This allows for Portfile
-          modularity and also allows users to suppress default variants if
-          they wish.</para>
-
-          <para>Due to a bug in the current Macports base default_variants
-          shouldn't be used at the moment as they cause problems while
-          upgrading ports.</para>
-
-          <itemizedlist>
-            <listitem>
-              <para>Default: none</para>
-            </listitem>
-
-            <listitem>
-              <para>Example:</para>
-
-              <programlisting>default_variants    +ssl +tcpd
-
-</programlisting>
-            </listitem>
-          </itemizedlist>
-        </listitem>
-
-        <listitem>
-          <para>Default variants may be suppressed by preceding a variant name
-          with a "-" as shown in this example.</para>
-
-          <programlisting><prompt>%%</prompt> <userinput>port install foo -ssl</userinput></programlisting>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry>
-        <term>universal_variant</term>
-
-        <listitem>
-          <para>When using MacPorts on Mac OS X, a universal variant is
-          defined by default to configure ports with universal flags. The
-          variant can be overridden if the default code does not work (see the
-          Configure Universal section below), or suppressed if a universal
-          variant is not possible for the port with this keyword.</para>
-
-          <itemizedlist>
-            <listitem>
-              <para>Default: yes</para>
-            </listitem>
-
-            <listitem>
-              <para>Example:</para>
-
-              <programlisting>universal_variant   no</programlisting>
-            </listitem>
-          </itemizedlist>
-        </listitem>
-      </varlistentry>
-    </variablelist>
-  </section>
-
-  <section id="reference.keywords.livecheck">
-    <title>Livecheck / Distcheck</title>
-
-    <para>Options livecheck and distcheck are especially useful for port
-    maintainers, but others may also find this information valuable.</para>
-
-    <para>Livecheck checks to see if MacPorts can query the developer's
-    download site to determine if a newer version of the software has become
-    available since the port was installed.</para>
-
-    <variablelist>
-      <varlistentry>
-        <term>livecheck.check</term>
-
-        <listitem>
-          <para>Specify what kind of update check to perform.</para>
-
-          <para>Open source mirror site options are to use the project's
-          latest file release from <option>sourceforge</option> or
-          <option>googlecode</option>, or the project's
-          <literal>date_updated</literal> XML tag for
-          <option>freshmeat</option>. These options are automatically used if
-          a matching <varname>${master_sites}</varname> URL is used.</para>
-
-          <para>Generic download site options are to specify a
-          <option>moddate</option> (modification date of a URL resource), a
-          <option>regex</option> (retrieve the version by applying a regex to
-          a URL resource), <option>regexm</option> (retrieve the version by
-          applying a multi-line regex to a URL resource), <option>md5</option>
-          (compares the md5 sum of a URL resource) or <option>none</option>
-          (no check).</para>
-
-          <itemizedlist>
-            <listitem>
-              <para>Default: <option>sourceforge</option> or
-              <option>googlecode</option> if the
-              <varname>${master_sites}</varname> is one of these, else
-              <option>freshmeat</option>.</para>
-            </listitem>
-
-            <listitem>
-              <para>Values: <option>freshmeat</option>
-              <option>sourceforge</option> <option>googlecode</option>
-              <option>moddate</option> <option>regex</option>
-              <option>regexm</option> <option>md5</option>
-              <option>none</option></para>
-            </listitem>
-
-            <listitem>
-              <para>Examples:</para>
-
-              <programlisting>livecheck.check     regex
-livecheck.url       ${homepage}
-livecheck.regex     "Generally Available (\\d+(?:\\.\\d+)*)"</programlisting>
-            </listitem>
-          </itemizedlist>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry>
-        <term>livecheck.name</term>
-
-        <listitem>
-          <para>Name of the project for live checks. Is only used with
-          freshmeat, sourceforge, and googlecode livechecks.</para>
-
-          <itemizedlist>
-            <listitem>
-              <para>Default: <varname>${name}</varname> or the sourceforge,
-              freshmeat or googlecode project name if it can be guessed from
-              <varname>${master_sites}</varname>.</para>
-            </listitem>
-
-            <listitem>
-              <para>Example:</para>
-
-              <programlisting>livecheck.name      hibernate</programlisting>
-            </listitem>
-          </itemizedlist>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry>
-        <term>livecheck.distname</term>
-
-        <listitem>
-          <para>Name of the file release for sourceforge and googlecode
-          checks. For sourceforge releases use the name of the package
-          release. For googlecode releases use the name of the file download,
-          including extension. You may use this keyword without
-          <code>livecheck.version</code> if you replace the version part of
-          the name with "<literal>(.*)</literal>".</para>
-
-          <itemizedlist>
-            <listitem>
-              <para>Default: sourceforge:
-              <varname>${livecheck.name}</varname>, googlecode: first
-              <varname>${distfiles}</varname> item</para>
-            </listitem>
-
-            <listitem>
-              <para>Example:</para>
-
-              <programlisting>livecheck.distname  faad2.src</programlisting>
-            </listitem>
-          </itemizedlist>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry>
-        <term>livecheck.version</term>
-
-        <listitem>
-          <para>Version of the project for a check; used for regex-based
-          checks.</para>
-
-          <itemizedlist>
-            <listitem>
-              <para>Default: <varname>${version}</varname></para>
-            </listitem>
-
-            <listitem>
-              <para>Example:</para>
-
-              <programlisting>livecheck.version   ${name}-${version}</programlisting>
-            </listitem>
-          </itemizedlist>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry>
-        <term>livecheck.url</term>
-
-        <listitem>
-          <para>URL to query for a check.</para>
-
-          <itemizedlist>
-            <listitem>
-              <para>Default:</para>
-
-              <itemizedlist>
-                <listitem>
-                  <para><varname>${homepage}</varname> or the first hit among
-                  the following sites:</para>
-                </listitem>
-
-                <listitem>
-                  <para><literal>http://freshmeat.net/projects-xml/${livecheck.name}/${livecheck.name}.xml</literal></para>
-                </listitem>
-
-                <listitem>
-                  <para><literal>http://sourceforge.net/export/rss2_projfiles.php?project=${livecheck.name}</literal></para>
-                </listitem>
-
-                <listitem>
-                  <para><literal>http://code.google.com/p/${livecheck.name}/downloads/list</literal></para>
-                </listitem>
-              </itemizedlist>
-            </listitem>
-
-            <listitem>
-              <para>Example:</para>
-
-              <programlisting>livecheck.url       http://ftp.gnu.org/gnu/bison/</programlisting>
-            </listitem>
-          </itemizedlist>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry>
-        <term>livecheck.regex</term>
-
-        <listitem>
-          <para>Regular expression to parse the resource for regex checks. Be
-          sure to use a regular expression grouping around the version
-          component.</para>
-
-          <itemizedlist>
-            <listitem>
-              <para>Default: none</para>
-            </listitem>
-
-            <listitem>
-              <para>Example:</para>
-
-              <programlisting>livecheck.regex     4th-([a-z0-9.]+)-unix${extract.suffix}</programlisting>
-
-              <!-- TODO: add more examples -->
-
-            </listitem>
-          </itemizedlist>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry>
-        <term>livecheck.md5</term>
-
-        <listitem>
-          <para>md5 checksum to use for an md5 comparison.</para>
-
-          <itemizedlist>
-            <listitem>
-              <para>Default: none</para>
-            </listitem>
-
-            <listitem>
-              <para>Example:</para>
-
-              <programlisting>livecheck.md5       37e6a5b6516a680c7178b72021d3b706</programlisting>
-            </listitem>
-          </itemizedlist>
-        </listitem>
-      </varlistentry>
-    </variablelist>
-
-    <para>Distcheck reports whether or not the distfile(s) specified in a
-    Portfile are still available on the developer's download site. Examples
-    are given below.</para>
-
-    <variablelist>
-      <varlistentry>
-        <term>distcheck.check</term>
-
-        <listitem>
-          <para>This option can be used to disable distcheck. It specifies
-          what kind of check should be performed on distfiles:
-          <option>moddate</option> (check if the Portfile is older than the
-          distfile) or <option>none</option> (no check).</para>
-
-          <itemizedlist>
-            <listitem>
-              <para>Default: <option>moddate</option></para>
-            </listitem>
-
-            <listitem>
-              <para>Example:</para>
-
-              <programlisting>distcheck.check     none</programlisting>
-            </listitem>
-          </itemizedlist>
-        </listitem>
-      </varlistentry>
-    </variablelist>
-  </section>
+        <programlisting>platforms           darwin freebsd</programlisting>
+      </listitem>
+    </varlistentry>
+  </variablelist>
 </section>
\ No newline at end of file

Added: trunk/doc-new/guide/xml/portfile-livecheck.xml
===================================================================
--- trunk/doc-new/guide/xml/portfile-livecheck.xml	                        (rev 0)
+++ trunk/doc-new/guide/xml/portfile-livecheck.xml	2007-12-14 15:34:19 UTC (rev 32050)
@@ -0,0 +1,248 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
+
+<section id="reference.livecheck">
+  <title>Livecheck / Distcheck</title>
+
+  <para>Options livecheck and distcheck are especially useful for port
+  maintainers, but others may also find this information valuable.</para>
+
+  <para>Livecheck checks to see if MacPorts can query the developer's
+  download site to determine if a newer version of the software has become
+  available since the port was installed.</para>
+
+  <variablelist>
+    <varlistentry>
+      <term>livecheck.check</term>
+
+      <listitem>
+        <para>Specify what kind of update check to perform.</para>
+
+        <para>Open source mirror site options are to use the project's
+        latest file release from <option>sourceforge</option> or
+        <option>googlecode</option>, or the project's
+        <literal>date_updated</literal> XML tag for
+        <option>freshmeat</option>. These options are automatically used if
+        a matching <varname>${master_sites}</varname> URL is used.</para>
+
+        <para>Generic download site options are to specify a
+        <option>moddate</option> (modification date of a URL resource), a
+        <option>regex</option> (retrieve the version by applying a regex to
+        a URL resource), <option>regexm</option> (retrieve the version by
+        applying a multi-line regex to a URL resource), <option>md5</option>
+        (compares the md5 sum of a URL resource) or <option>none</option>
+        (no check).</para>
+
+        <itemizedlist>
+          <listitem>
+            <para>Default: <option>sourceforge</option> or
+            <option>googlecode</option> if the
+            <varname>${master_sites}</varname> is one of these, else
+            <option>freshmeat</option>.</para>
+          </listitem>
+
+          <listitem>
+            <para>Values: <option>freshmeat</option>
+            <option>sourceforge</option> <option>googlecode</option>
+            <option>moddate</option> <option>regex</option>
+            <option>regexm</option> <option>md5</option>
+            <option>none</option></para>
+          </listitem>
+
+          <listitem>
+            <para>Examples:</para>
+
+            <programlisting>livecheck.check     regex
+livecheck.url       ${homepage}
+livecheck.regex     "Generally Available (\\d+(?:\\.\\d+)*)"</programlisting>
+          </listitem>
+        </itemizedlist>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term>livecheck.name</term>
+
+      <listitem>
+        <para>Name of the project for live checks. Is only used with
+        freshmeat, sourceforge, and googlecode livechecks.</para>
+
+        <itemizedlist>
+          <listitem>
+            <para>Default: <varname>${name}</varname> or the sourceforge,
+            freshmeat or googlecode project name if it can be guessed from
+            <varname>${master_sites}</varname>.</para>
+          </listitem>
+
+          <listitem>
+            <para>Example:</para>
+
+            <programlisting>livecheck.name      hibernate</programlisting>
+          </listitem>
+        </itemizedlist>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term>livecheck.distname</term>
+
+      <listitem>
+        <para>Name of the file release for sourceforge and googlecode
+        checks. For sourceforge releases use the name of the package
+        release. For googlecode releases use the name of the file download,
+        including extension. You may use this keyword without
+        <code>livecheck.version</code> if you replace the version part of
+        the name with "<literal>(.*)</literal>".</para>
+
+        <itemizedlist>
+          <listitem>
+            <para>Default: sourceforge:
+            <varname>${livecheck.name}</varname>, googlecode: first
+            <varname>${distfiles}</varname> item</para>
+          </listitem>
+
+          <listitem>
+            <para>Example:</para>
+
+            <programlisting>livecheck.distname  faad2.src</programlisting>
+          </listitem>
+        </itemizedlist>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term>livecheck.version</term>
+
+      <listitem>
+        <para>Version of the project for a check; used for regex-based
+        checks.</para>
+
+        <itemizedlist>
+          <listitem>
+            <para>Default: <varname>${version}</varname></para>
+          </listitem>
+
+          <listitem>
+            <para>Example:</para>
+
+            <programlisting>livecheck.version   ${name}-${version}</programlisting>
+          </listitem>
+        </itemizedlist>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term>livecheck.url</term>
+
+      <listitem>
+        <para>URL to query for a check.</para>
+
+        <itemizedlist>
+          <listitem>
+            <para>Default:</para>
+
+            <itemizedlist>
+              <listitem>
+                <para><varname>${homepage}</varname> or the first hit among
+                the following sites:</para>
+              </listitem>
+
+              <listitem>
+                <para><literal>http://freshmeat.net/projects-xml/${livecheck.name}/${livecheck.name}.xml</literal></para>
+              </listitem>
+
+              <listitem>
+                <para><literal>http://sourceforge.net/export/rss2_projfiles.php?project=${livecheck.name}</literal></para>
+              </listitem>
+
+              <listitem>
+                <para><literal>http://code.google.com/p/${livecheck.name}/downloads/list</literal></para>
+              </listitem>
+            </itemizedlist>
+          </listitem>
+
+          <listitem>
+            <para>Example:</para>
+
+            <programlisting>livecheck.url       http://ftp.gnu.org/gnu/bison/</programlisting>
+          </listitem>
+        </itemizedlist>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term>livecheck.regex</term>
+
+      <listitem>
+        <para>Regular expression to parse the resource for regex checks. Be
+        sure to use a regular expression grouping around the version
+        component.</para>
+
+        <itemizedlist>
+          <listitem>
+            <para>Default: none</para>
+          </listitem>
+
+          <listitem>
+            <para>Example:</para>
+
+            <programlisting>livecheck.regex     4th-([a-z0-9.]+)-unix${extract.suffix}</programlisting>
+
+            <!-- TODO: add more examples -->
+
+          </listitem>
+        </itemizedlist>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term>livecheck.md5</term>
+
+      <listitem>
+        <para>md5 checksum to use for an md5 comparison.</para>
+
+        <itemizedlist>
+          <listitem>
+            <para>Default: none</para>
+          </listitem>
+
+          <listitem>
+            <para>Example:</para>
+
+            <programlisting>livecheck.md5       37e6a5b6516a680c7178b72021d3b706</programlisting>
+          </listitem>
+        </itemizedlist>
+      </listitem>
+    </varlistentry>
+  </variablelist>
+
+  <para>Distcheck reports whether or not the distfile(s) specified in a
+  Portfile are still available on the developer's download site. Examples
+  are given below.</para>
+
+  <variablelist>
+    <varlistentry>
+      <term>distcheck.check</term>
+
+      <listitem>
+        <para>This option can be used to disable distcheck. It specifies
+        what kind of check should be performed on distfiles:
+        <option>moddate</option> (check if the Portfile is older than the
+        distfile) or <option>none</option> (no check).</para>
+
+        <itemizedlist>
+          <listitem>
+            <para>Default: <option>moddate</option></para>
+          </listitem>
+
+          <listitem>
+            <para>Example:</para>
+
+            <programlisting>distcheck.check     none</programlisting>
+          </listitem>
+        </itemizedlist>
+      </listitem>
+    </varlistentry>
+  </variablelist>
+</section>

Added: trunk/doc-new/guide/xml/portfile-variants.xml
===================================================================
--- trunk/doc-new/guide/xml/portfile-variants.xml	                        (rev 0)
+++ trunk/doc-new/guide/xml/portfile-variants.xml	2007-12-14 15:34:19 UTC (rev 32050)
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
+
+<section id="reference.variants">
+  <title>Variants</title>
+
+  <para>MacPorts variants are conditional modifications of port installation
+  behavior that may be invoked by a user at the time of port install.</para>
+
+  <variablelist>
+    <varlistentry>
+      <term>variant [requires variant] [conflicts variant] [description
+      description]</term>
+
+      <listitem>
+        <para>The variant declaration may contain any keywords that can be
+        placed in a Portfile's global section. If you wish to execute system
+        (shell) calls or Tcl extensions during the execution of a port
+        phase, you should place those statements within a
+        <literal>variant_isset</literal> conditional within a phase
+        declaration and not within the variant declaration itself.
+        Dependencies and conflicts with other variants in the same port can
+        be expressed with requires and conflicts. See the isset Tcl
+        extension.</para>
+
+        <itemizedlist>
+          <listitem>
+            <para>Default: no</para>
+          </listitem>
+
+          <listitem>
+            <para>Example:</para>
+
+            <programlisting>variant gnome requires glib {
+    configure.args-append   --with-gnome
+    depends_lib-append      port:gnome-session
+}</programlisting>
+          </listitem>
+        </itemizedlist>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term>default_variants</term>
+
+      <listitem>
+        <para>If variants are defined, then the default_variants value lists
+        which variants are enabled by default. This allows for Portfile
+        modularity and also allows users to suppress default variants if
+        they wish.</para>
+
+        <para>Due to a bug in the current Macports base default_variants
+        shouldn't be used at the moment as they cause problems while
+        upgrading ports.</para>
+
+        <itemizedlist>
+          <listitem>
+            <para>Default: none</para>
+          </listitem>
+
+          <listitem>
+            <para>Example:</para>
+
+            <programlisting>default_variants    +ssl +tcpd
+
+</programlisting>
+          </listitem>
+        </itemizedlist>
+      </listitem>
+
+      <listitem>
+        <para>Default variants may be suppressed by preceding a variant name
+        with a "-" as shown in this example.</para>
+
+        <programlisting><prompt>%%</prompt> <userinput>port install foo -ssl</userinput></programlisting>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term>universal_variant</term>
+
+      <listitem>
+        <para>When using MacPorts on Mac OS X, a universal variant is
+        defined by default to configure ports with universal flags. The
+        variant can be overridden if the default code does not work (see the
+        Configure Universal section below), or suppressed if a universal
+        variant is not possible for the port with this keyword.</para>
+
+        <itemizedlist>
+          <listitem>
+            <para>Default: yes</para>
+          </listitem>
+
+          <listitem>
+            <para>Example:</para>
+
+            <programlisting>universal_variant   no</programlisting>
+          </listitem>
+        </itemizedlist>
+      </listitem>
+    </varlistentry>
+  </variablelist>
+</section>

Modified: trunk/doc-new/guide/xml/portfiledev.xml
===================================================================
--- trunk/doc-new/guide/xml/portfiledev.xml	2007-12-14 15:04:49 UTC (rev 32049)
+++ trunk/doc-new/guide/xml/portfiledev.xml	2007-12-14 15:34:19 UTC (rev 32050)
@@ -134,9 +134,9 @@
         responsibility for keeping the port up-to-date, and the maintainer
         keyword lists maintainer email addresses(s). To hide these addresses
         from spambots, see the more full explanation of the maintainer keyword
-        in the <link linkend="reference.keywords.general">Global
-        Keywords</link> section of the <link linkend="reference">Portfile
-        Reference</link> chapter.</para>
+        in the <link linkend="reference.keywords">Global Keywords</link>
+        section of the <link linkend="reference">Portfile Reference</link>
+        chapter.</para>
 
         <programlisting>maintainers         julesverne at example.org</programlisting>
 

Modified: trunk/doc-new/guide/xml/portfileref.xml
===================================================================
--- trunk/doc-new/guide/xml/portfileref.xml	2007-12-14 15:04:49 UTC (rev 32049)
+++ trunk/doc-new/guide/xml/portfileref.xml	2007-12-14 15:34:19 UTC (rev 32050)
@@ -8,21 +8,30 @@
   Portfile: port phases, dependencies, StartupItems, variables, keywords, and
   Tcl extensions.</para>
 
-  <xi:include href="portfile-variables.xml"
+  <xi:include href="portfile-keywords.xml"
               xmlns:xi="http://www.w3.org/2001/XInclude" />
 
-  <xi:include href="portfile-keywords.xml"
+  <xi:include href="portfile-variables.xml"
               xmlns:xi="http://www.w3.org/2001/XInclude" />
 
   <xi:include href="portfile-phase.xml"
               xmlns:xi="http://www.w3.org/2001/XInclude" />
 
-  <xi:include href="portfile-startupitem.xml"
+  <xi:include href="portfile-dependencies.xml"
               xmlns:xi="http://www.w3.org/2001/XInclude" />
 
+  <xi:include href="portfile-variants.xml"
+              xmlns:xi="http://www.w3.org/2001/XInclude" />
+
   <xi:include href="portfile-tcl.xml"
               xmlns:xi="http://www.w3.org/2001/XInclude" />
 
+  <xi:include href="portfile-startupitem.xml"
+              xmlns:xi="http://www.w3.org/2001/XInclude" />
+
+  <xi:include href="portfile-livecheck.xml"
+              xmlns:xi="http://www.w3.org/2001/XInclude" />
+
   <section id="reference.portgroup">
     <title>PortGroup</title>
 

Modified: trunk/doc-new/guide/xml/using.xml
===================================================================
--- trunk/doc-new/guide/xml/using.xml	2007-12-14 15:04:49 UTC (rev 32049)
+++ trunk/doc-new/guide/xml/using.xml	2007-12-14 15:34:19 UTC (rev 32050)
@@ -308,9 +308,8 @@
       corresponding to a given port has been updated at the developer's
       download site. It's especially useful for port maintainers, but others
       may also wish to see if a port has the latest available distribution
-      source. See section <link
-      linkend="reference.keywords.livecheck">Livecheck</link> for more
-      information.</para>
+      source. See section <link linkend="reference.livecheck">Livecheck</link>
+      for more information.</para>
 
       <programlisting><prompt>%%</prompt> <userinput>port livecheck rrdtool</userinput></programlisting>
 

Modified: trunk/doc-new/man/xml/portfile.7.xml
===================================================================
--- trunk/doc-new/man/xml/portfile.7.xml	2007-12-14 15:04:49 UTC (rev 32049)
+++ trunk/doc-new/man/xml/portfile.7.xml	2007-12-14 15:34:19 UTC (rev 32050)
@@ -27,21 +27,30 @@
     characteristics for a port.</para>
   </refsection>
 
-  <xi:include href="../tmp/portfile-variables.xml"
+  <xi:include href="../tmp/portfile-keywords.xml"
               xmlns:xi="http://www.w3.org/2001/XInclude" />
 
-  <xi:include href="../tmp/portfile-keywords.xml"
+  <xi:include href="../tmp/portfile-variables.xml"
               xmlns:xi="http://www.w3.org/2001/XInclude" />
 
   <xi:include href="../tmp/portfile-phase.xml"
               xmlns:xi="http://www.w3.org/2001/XInclude" />
 
-  <xi:include href="../tmp/portfile-startupitem.xml"
+  <xi:include href="../tmp/portfile-dependencies.xml"
               xmlns:xi="http://www.w3.org/2001/XInclude" />
 
+  <xi:include href="../tmp/portfile-variants.xml"
+              xmlns:xi="http://www.w3.org/2001/XInclude" />
+
   <xi:include href="../tmp/portfile-tcl.xml"
               xmlns:xi="http://www.w3.org/2001/XInclude" />
 
+  <xi:include href="../tmp/portfile-startupitem.xml"
+              xmlns:xi="http://www.w3.org/2001/XInclude" />
+
+  <xi:include href="../tmp/portfile-livecheck.xml"
+              xmlns:xi="http://www.w3.org/2001/XInclude" />
+
   <refsection>
     <title>SEE ALSO</title>
 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/macports-changes/attachments/20071214/461a8f4d/attachment-0001.html


More information about the macports-changes mailing list