[Catalog-sig] Re: [Distutils] PEP 241 draft

Sean Reifschneider jafo@tummy.com
Wed, 14 Mar 2001 22:45:25 -0700

On Tue, Mar 13, 2001 at 11:08:35AM -0500, Andrew Kuchling wrote:
>    generated zipfile or tarball.  This file will be named METADATA

See my previous message for why I don't like "METADATA".

>    Authors might expect to include a METADATA file of their own that
>    would be used instead of the generated file, but this will not be
>    permitted.  It would be confusing if person B makes a custom
>    release of person A's software, modifies setup.py accordingly, but
>    uses identical metadata because person B didn't delete the
>    METADATA file.  When running the 'sdist' command, a user-supplied
>    METADATA file will be ignored and a warning about this action will
>    be printed.

Alternate wording:

   Developers may not provide their own "METADATA" file.  The "sdist"
   command will, if it detects an existing "METADATA" file, terminate
   with an appropriate error message.  This should prevent confusion
   caused by the "METADATA" and "setup.py" files being out of sync.

>    XXX are we sure RFC-822 is enough? 
>    The METADATA file format is a single set of RFC-822 headers
>    parseable by the rfc822.py module.  The field names listed in the
>    following section are used as the header names.

RFC822 is an interesting choice.  I was initially thinking XML, but I kind
of like the RFC822 idea.  Probably good to note above that multi-line
entries must have white-space at the beginning of their continued lines...

>    Name
>      The name of the package.  XXX what's the set of legal characters?
>      Example: 'BeagleVote'

Questions: Is it expected this name corresponds either to the name of the
package which is imported, or the package top-level directory name?  If so,
what do we do about alternative packages that provide different implementations
of the same functionality?  I suppose we could reasonably expect to make
use of "import urllib2 as urllib" to take care of that.

Proposed valid characters: [-a-zA-Z_0-9]

>    Platforms
>      A (XXX whitespace?  comma?)-separated list of platform
>      specifications.  Platform specifications are limited to the
>      following list:

Does this include platform name, platform version, and architecture?  Like
redhat-7.0-x86, windows-nt-hppa, etc?

>    Description

See my other message about "Description" versus "Short-Description" and

What about:

   Group (such as "Database", "Network/SMTP", etc)?
   Provides (maybe "urllib2" would provide "urllib"?)
   Requires (dependences -- RPM for example has multiple lines of the
         form "Requires: initscripts >= 3.25", "Requires: openssl >= 0.9.4")

In general, it looks good.

 There is no force so powerful as an idea whose time has come.
                 -- Everett Dirkson
Sean Reifschneider, Inimitably Superfluous <jafo@tummy.com>
tummy.com - Linux Consulting since 1995. Qmail, KRUD, Firewalls, Python