[Distutils] Package Meta-information Patch

Michael Muller proteus@cloud9.net
Tue, 28 Dec 1999 20:42:08 -0500


This is a multi-part message in MIME format.
--------------C83FADC18C693FEFCE98DEEB
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit


Hi All,

I finally got to delve into Distutils 0.1.2 over the long weekend, and I think
it is a very nice package.  The architecture is very clean and extensible, and
the code is consistent, well commented, and well organized.  Thanks, Greg!

I've enclosed a patch which addresses a particular concern of mine: package
meta-information.  At the end of the install command, it creates a package
information file in <install_py.install_dir>/_pkginfo named after the package
(it also creates the "_pkginfo" directory, if necessary).  The file contains
python variable definitions for the package name, version number, list of
files installed, dependencies, and compatible versions (although the latter
two are always empty at this time).

The module that is used to record and obtain package information can be
overriden on the command line (install_info --pkg-module <your-module>). 
Also, if a global "pkginfo" module exists, it will be used instead of the
default distutils.pkginfo module (whose behavior is described above).  I
envision the installer using whatever package information system is most
appropriate for the system (RPM's for Linux, Registry files for Windows[?]).

Meta-information facilitates uninstall, dependency checking, automatic
downloading of dependencies, and system cataloging.  I'd be interested in
contributing some of these features to distutils, and welcome any discussion
on the subject, particularly since it is relevant to my day job.

=============================================================================
michaelMuller = mmuller@enduden.com | http://www.cloud9.net/~proteus
-----------------------------------------------------------------------------
There is no concept that is more demeaning to the human spirit than the
notion that our freedom must be limited in the interests of our own
protection.
=============================================================================
--------------C83FADC18C693FEFCE98DEEB
Content-Type: application/x-gzip;
 name="Distutils-0.1.2-pkginfo-patch.gz"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
 filename="Distutils-0.1.2-pkginfo-patch.gz"

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
Sf75oNPNNH3MwX8BbmF49C4xAAA=
--------------C83FADC18C693FEFCE98DEEB--