Index: Doc/dist/dist.tex =================================================================== RCS file: /cvsroot/python/python/dist/src/Doc/dist/dist.tex,v retrieving revision 1.79 diff -u -d -r1.79 dist.tex --- Doc/dist/dist.tex 2 Aug 2004 21:39:11 -0000 1.79 +++ Doc/dist/dist.tex 2 Aug 2004 22:23:17 -0000 @@ -1947,6 +1947,37 @@ to use a particular package, as everyone interested in the package will need to have the new command implementation. +Beginning with Python 2.4, a third option is available, intended to +allow new commands to be added which can support existing +\file{setup.py} scripts without requiring modifications to the Python +installation. This is expected to allow third-party extensions to +provide support for additional packaging systems, but the commands can +be used for anything distutils commands can be used for. A new +configuration option, \option{command\_packages} (command-line option +\longprogramopt{command-packages}), can be used to specify additional +packages to be searched for modules implementing commands. Like all +distutils options, this can be specified on the command line or in a +configuration file. This option can only be set in the +\code{[global]} section of a configuration file, or before any +commands on the command line. If set in a configuration file, it can +be overridden from the command line; setting it to an empty string on +the command line causes the default to be used. This should never be +set in a configuration file provided with a package. + +This new option can be used to add any number of packages to the list +of packages searched for command implementations; multiple package +names should be separated by commas. When not specified, the search +is only performed in the \module{distutils.command} package. When +\file{setup.py} is run with the option +\longprogramopt{command-packages} \programopt{distcmds,buildcmds}, +however, the packages \module{distutils.command}, \module{distcmds}, +and \module{buildcmds} will be searched in that order. New commands +are expected to be implemented in modules of the same name as the +command by classes sharing the same name. Given the example command +line option above, the command \command{bdist\_openpkg} could be +implemented by the class \class{distcmds.bdist_openpkg.bdist_openpkg} +or \class{buildcmds.bdist_openpkg.bdist_openpkg}. + \chapter{Command Reference} \label{reference}