home *** CD-ROM | disk | FTP | other *** search
- This is versioncheck 1.0, a first stab at automatic checking of versions of
- Python extension packages installed on your system.
-
- The basic idea is that each package contains a _checkversion.py
- somewhere, probably at the root level of the package. In addition, each
- package maintainer makes a file available on the net, through ftp or
- http, which contains the version number of the most recent distribution
- and some readable text explaining the differences with previous
- versions, where to download the package, etc.
-
- The checkversions.py script walks through the installed Python tree (or
- through a tree of choice), and runs each _checkversion.py script. These
- scripts retrieve the current-version file over the net, compares version
- numbers and tells the user about new versions of packages available.
-
- A boilerplate for the _checkversion.py file can be found here. Replace
- package name, version and the URL of the version-check file and put it in
- your distribution. In stead of a single URL you can also specify a list
- of URLs. Each of these will be checked in order until one is available,
- this is handy for distributions that live in multiple places. Put the
- primary distribution site (the most up-to-date site) before others.
- The script is executed with execfile(), not imported, and the current
- directory is the checkversion directory, so be careful with globals,
- importing, etc.
-
- The version-check file consists of an rfc822-style header followed by
- plaintext. The only header field checked currently is
- 'Current-Version:', which should contain te current version and is
- matched against the string contained in the _checkversion.py script.
- The rest of the file is human-readable text and presented to the user if
- there is a version mismatch. It should contain at the very least a URL
- of either the current distribution or a webpage describing it.
-
- Pycheckversion.py is the module that does the actual checking of versions.
- It should be fine where it is, it is imported by checkversion before anything
- else is done, but if imports fail you may want to move it to somewhere
- along sys.path.
-
- Jack Jansen, CWI, 23-Dec-97.
- <jack@cwi.nl>
-
-