-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Tarek Ziadé wrote:
> Btw we also need to add some metadata that should be described in PEP
> 345 and added in PKG-INFO:
> 
> - maintainer and maintainer_email
> 
> see: http://bugs.python.org/issue3686

Revised patch attached.



Tres.
- --
===================================================================
Tres Seaver          +1 540-429-0999          tsea...@palladion.com
Palladion Software   "Excellence by Design"    http://palladion.com
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFJ3juY+gerLs4ltQ4RAnRQAKCiUkNgR7wNDol8xQKEKYVWRvQsxgCgyrrI
OWhYOK7TGE4NyWpn0d+/0Rg=
=nhuG
-----END PGP SIGNATURE-----
=== modified file 'pep-0345.txt'
--- old/pep-0345.txt	2007-06-20 23:48:29 +0000
+++ new/pep-0345.txt	2009-04-09 18:12:47 +0000
@@ -26,8 +26,10 @@
 
 Version 1.2 of the metadata format adds a number of optional fields
 designed to make third-party packaging of Python Software easier.
-These fields are "Requires-Python" and "Requires-External".  Also, the
-"Metadata-Version" field is updated.
+These fields are "Requires-Python", "Requires-External", "Requires-Dist",
+"Provides-Dist", and "Obsoletes-Dist".  This version also updates the
+"Metadata-Version" field, and adds new fields, "Maintainer" and
+Maintainer-email".
 
 
 Fields
@@ -159,6 +161,32 @@
 
         Author-email: "C. Schultz" <cschu...@example.com>
 
+Maintainer (optional)
+    A string containing the maintainer's name at a minimum; additional
+    contact information may be provided.
+    
+    Note that this field is intended for use when a package is being
+    maintained by someone other than the original author:  it should be
+    omitted if it is identical to 'Author'.
+
+    Example::
+
+        Maintainer: C. Schultz, Universal Features Syndicate,
+                Los Angeles, CA <cschu...@peanuts.example.com>
+
+Maintainer-email (optional)
+    A string containing the maintainer's e-mail address.  It can contain
+    a name and e-mail address in the legal forms for a RFC-822
+    'From:' header.
+
+    Note that this field is intended for use when a package is being
+    maintained by someone other than the original author:  it should be
+    omitted if it is identical to 'Author'.
+
+    Example::
+
+        Maintainer-email: "C. Schultz" <cschu...@example.com>
+
 License
     Text indicating the license covering the package where the license
     is not a selection from the "License" Trove classifiers. See
@@ -213,6 +241,8 @@
         Requires: xml.parsers.expat (>1.0)
         Requires: psycopg
 
+    Note:  this field is now deprecated in favor of 'Requires-Dist'.
+
 Provides (multiple use)
     Each entry contains a string describing a package or module that
     will be provided by this package once it is installed.  These
@@ -229,6 +259,8 @@
         Provides: xml.dom
         Provides: xmltools (1.3)
 
+    Note:  this field is now deprecated in favor of 'Provides-Dist'.
+
 Obsoletes (multiple use)
     Each entry contains a string describing a package or module
     that this package renders obsolete, meaning that the two packages
@@ -244,6 +276,71 @@
 
         Obsoletes: Gorgon
 
+    Note:  this field is now deprecated in favor of 'Obsoletes-Dist'.
+
+Requires-Dist (multiple use)
+    Each entry contains a string naming some other distutils
+    project required by this package.
+
+    The format of a requirement string is identical to that of a
+    distutils project name (e.g., as found in the 'Name:' field.
+    optionally followed by a version declaration within parentheses.
+
+    A version declaration is a series of conditional operators and
+    version numbers, separated by commas.  Conditional operators
+    must be one of "<", ">", "<=", ">=", "==", and "!=".  Version
+    numbers must be in the format accepted by the
+    'verlib.py' module (see PEP ###).
+
+    Any number of conditional operators can be specified, e.g.
+    the string ">1.0, !=1.3.4, <2.0" is a legal version declaration.
+
+    The distutils project names should correspond to names as found
+    on the Python Package Index (PyPI, see PEP ###).
+
+    Example::
+
+        Requires-Dist: pkginfo
+        Requires-Dist: PasteDeploy
+        Requires-Dist: zope.interface (>3.5.0)
+
+Provides-Dist (multiple use)
+    Each entry contains a string naming a distutlis project which
+    is contained within this distribution.  This field *must* include
+    the project identified in the 'Name' field.
+
+    A distribution may provide additional names, e.g. to indicate that
+    multiple projects have been bundled together.
+
+    A distribution may also provide a "virtual" project name, which does
+    not correspond to any separately-distributed project:  such a name
+    might be used to indicate an abstract capability which could be supplied
+    by one of multiple projects.
+ 
+    A version declaration may be supplied (without a comparison
+    operator); the package's version number will be implied if none
+    is specified.
+
+    Example::
+
+        Provides-Dist: OtherPackage
+        Provides-Dist: virtual_package
+
+Obsoletes-Dist (multiple use)
+    Each entry contains a string describing a distutils project which
+    this package renders obsolete, meaning that the two packages
+    should not be installed at the same time.  Version declarations
+    can be supplied.
+
+    The most common use of this field will be in case a project name
+    changes, e.g. Gorgon 2.3 gets subsumed into Torqued Python 1.0.
+    When you install Torqued Python, the Gorgon distribution should be
+    removed.
+
+    Example::
+
+        Obsoletes-Dist: Gorgon
+
 Requires-Python
     This field specifies the Python version(s) that the package is
     guaranteed to be compatible with. The format of the field is a
@@ -335,6 +432,27 @@
 
 XXX command-line interface needs work, obviously
 
+Summary of Differences From PEP 314
+-----------------------------------
+
+* Metadata-Version is now 1.2.
+
+* Added fields:
+
+  - Maintainer
+  - Maintainer-email
+  - Requires-Python
+  - Requires-External
+  - Requires-Dist
+  - Provides-Dist
+  - Obsoletes-Dist
+
+* Deprecated fields:
+
+  - Requires (in favor of Requires-Dist)
+  - Provides (in favor of Provides-Dist)
+  - Obsoletes (in favor of Obsoletes-Dist)
+
 
 References
 ==========

_______________________________________________
Distutils-SIG maillist  -  Distutils-SIG@python.org
http://mail.python.org/mailman/listinfo/distutils-sig

Reply via email to