[Catalog-sig] Re: [Distutils] RFC: PEP 243: Module Repository Upload Mechanism

M.-A. Lemburg mal@lemburg.com
Wed, 21 Mar 2001 11:36:46 +0100


"Moore, Paul" wrote:
> 
> From: Sean Reifschneider [mailto:jafo@tummy.com]
> > PEP: 243
> > Title: Module Repository Upload Mechanism
> >       platform (optional) -- A string representing the target
> >       platform for this distribution.  This is only for binary
> >       distributions.  It is encoded as
> >       "<os_name>-<os_version>-<platform architecture>".
> 
> This probably needs to include the Python version for which a binary
> distribution was compiled.

...at least for Windows this is mandatory. You get nasty error
messages otherwise.
 
> >       signature (optional) -- A GPG signature of the uploaded
> >       distribution as signed by the author.  This may be used by the
> >       cataloging system to automate acceptance of uploads.
> 
> Why GPG? Is that available on all platforms? Could PGP signatures be used
> for people on Windows (for example), who probably don't have GPG?

I'd say go with PGP -- it is far more available and known than
GPG... after all the intent of a signature is for the people
who download the code to check it and if they don't know what
GPG is, then it is of no practical use for them (hard to tell,
if it's of practical use for them at all ;-).
 
> >     The upload client must submit the page in the same form as
> >     Netscape Navigator version 4.76 for Linux produces when presented
> >     with the following form:
> 
> I'd suggest this format be spelled out. I don't have Linux or Netscape, so I
> can't determine what the submitted page should look like from this
> description...

Can't we just specify: use HTTP POST with multipart/form-data encoding 
and then redirect to the RFC (can't remember the number) or Netscape
description of the form upload proposal ?!
 
> > Platforms
> >
> >     The following are valid os names:
> >
> >       debian
> >       hpux
> >       mandrake
> >       redhat
> >       solaris
> >       suse
> >       windows
> >       yellowdog
> 
> dos? beos? mac? This feels very Unix-specific...
> 
> >     Version is the official version string specified by the vendor for
> >     the particular release.  For example, "nt" (Windows), "9.04"
> >     (HP-UX), "7.0" (RedHat, Mandrake).
> 
> That's not likely to be precise enough. Is Windows 2000 "2000" or "nt"? It's
> binary-compatible with NT. Same goes (and more so) for Windows 9x, which are
> most definitely NOT NT, but which are binary-compatible.
> 
> Take a Windows security module. It's binary compatible with Windows 9x, NT,
> and 2000. But the API calls involved either don't exist, or produce errors
> or do nothing on Windows 9x, which has no security features (ducks, waiting
> for the "Windows in general has no security features" jokes :-)

You may want to take a look at platform.py available from my
Python Pages for ways to "define" a platform information string.

-- 
Marc-Andre Lemburg
______________________________________________________________________
Company & Consulting:                           http://www.egenix.com/
Python Pages:                           http://www.lemburg.com/python/