[Zope-CVS] CVS: Packages/zpkgtools/doc - metadata.txt:1.15

Fred L. Drake, Jr. fred at zope.com
Wed Apr 28 14:51:31 EDT 2004


Update of /cvs-repository/Packages/zpkgtools/doc
In directory cvs.zope.org:/tmp/cvs-serv10067

Modified Files:
	metadata.txt 
Log Message:
revise PACKAGE.cfg interpretation again; the documentation leads the
implementation this time


=== Packages/zpkgtools/doc/metadata.txt 1.14 => 1.15 ===
--- Packages/zpkgtools/doc/metadata.txt:1.14	Tue Apr 27 20:29:35 2004
+++ Packages/zpkgtools/doc/metadata.txt	Wed Apr 28 14:51:29 2004
@@ -28,9 +28,9 @@
   constraints on any software included in the distribution.
 
 `PACKAGE.cfg`
-  List of inclusions (and exclusions) that are added/removed from the
-  distribution as it's constructed.  See `Package Construction
-  Information`_ for details.
+  Control over the files that are included in the distribution when it
+  is constructed.  See `Package Construction Information`_ for
+  details.
 
 `PUBLICATION.cfg`
   General metadata related to a distribution.  This includes
@@ -75,47 +75,33 @@
   2. External references are loaded into the workspace.  It is
      possible for this to overwrite portions of the component itself,
      so specify the loads carefully.  This is based on the ``<load>``
-     section of `PACKAGE.cfg`; the ``<load>`` section cannot contain
-     exclusions.
+     section of `PACKAGE.cfg`.
 
   3. Files from the workspace are copied into their final locations in
      the component-specific portion of the distribution tree.
 
-     By default, the entire workspace is copied to the
-     component-specific portion of the distribution tree, with the
-     exception of files and directories associated with various
-     revision control systems.  Files named `.cvsignore` and
-     directories with names of `CVS`, `RCS`, or `SCCS` are excluded.
-
-     Files in the workspace can be excluded from this copy operation
-     using a line of the form
-
-       *files* ``-``
-
-     The hyphen indicates that this is an exclusion.  In this case,
-     *files* can contain globbing wildcards; these patterns will be
-     matched against the workspace, and can include files loaded as
-     part of the component or from external references.
+     If `PACKAGE.cfg` contains a ``<collection>`` section, it is used
+     to specify which files should be copied into the
+     component-specific portion of the distribution tree.  Only files
+     listed will be copied.
+
+     If the ``<collection>`` section is not present or is empty, all
+     files in the workspace are copied; directories are copied
+     recursively.  Files named `.cvsignore` and directories with names
+     of `CVS`, `RCS`, or `SCCS` are excluded.
 
      A copy of a file with a new name can be generated in the
      distribution tree using a line like this in `PACKAGE.cfg`:
 
-       *destination*   *source*
+       *source*   *destination*
 
      This causes the file or directory identified by *source* in the
      workspace to be copied to the name *destination* in the
-     distribution tree.  This does *not* prevent a file named *source*
-     from also being created in the distribution; an exclusion must be
-     used to completely rename the file.  For example, to rename a
-     file named `README` to `README.txt`, use::
-
-       README.txt  README
-       README      -
+     distribution tree.
 
-     The order of the two lines is irrelevant.
-
-     This operation is based on the ``<collection>`` section of the
-     `PACKAGE.cfg` file.
+     If *destination* is omitted, the destination is assumed to have
+     the same name as the source.  In this case, *source* can contain
+     POSIX globbing wildcards.
 
   4. If the component being processed is the primary resource being
      packaged, files from the workspace can be copied into the
@@ -134,23 +120,8 @@
      rather than the component-specific portion of the distribution
      tree.
 
-     To move a file from the component into the distribution root, and
-     not include it when using the component as part of some other
-     distribution, use an inclusion in the ``<distribution>`` section
-     and an exclusion in the ``<collection>`` section::
-
-       <collection>
-         README       -
-       </collection>
-
-       <distribution>
-         README.txt   README
-       </distribution>
-
-     The ``<distribution>`` section may not contain exclusions.
-
-  As an example, this is the `PACKAGE.cfg` being used for the
-  ``ZConfig`` package at the time of this writing::
+  As an example, this is the `PACKAGE.cfg` used for the ``ZConfig``
+  package::
 
     # Load the license from an external source, so we don't have to keep a
     # copy of it sitting around:
@@ -160,37 +131,29 @@
 
     # Add a few things to the distribution root.
     <distribution>
-      doc          doc
-      LICENSE.txt  LICENSE.txt
-      NEWS.txt     NEWS.txt
-      README.txt   README.txt
+      doc
+      LICENSE.txt
+      NEWS.txt
+      README.txt
     </distribution>
 
     # and remove the same from the package itself.
     <collection>
-      doc          -
-      LICENSE.txt  -
-      NEWS.txt     -
-      README.txt   -
-
-      # We'll remove this too, since it's only of interest to CVS users:
-      BRANCHES.txt -
-    </collection>
+      # Python modules from the package:
+      *.py
 
-  Note that when excluding files from the collection, wildcards are
-  supported using the convention POSIX globbing syntax.  The
-  ``<collection>`` section above could have been written as::
+      # Child packages:
+      components
+      tests
 
-    <collection>
-      doc          -
-      *.txt        -
+      # Other files and directories needed when distutils runs:
+      scripts
     </collection>
 
-  This wouldn't have made it as screamingly obvious that we were
-  dropping a text file from the finished package that wasn't already
-  mentioned, however.  This re-write would not be possible if there
-  were other files matching ``*.txt`` that should be copied into the
-  installed ``ZConfig`` package.
+  What isn't obvious is that one of the files in the ``ZConfig``
+  package under revision control isn't included in either the
+  distribution root or the component-specific directory (the
+  `BRANCHES.txt` file in particular).
 
 
 Embedded Package Definitions




More information about the Zope-CVS mailing list