home *** CD-ROM | disk | FTP | other *** search
- """distutils.command.bdist_dumb
-
- Implements the Distutils 'bdist_dumb' command (create a "dumb" built
- distribution -- i.e., just an archive to be unpacked under $prefix or
- $exec_prefix)."""
-
- # created 2000/03/29, Greg Ward
-
- __revision__ = "$Id: bdist_dumb.py,v 1.16 2000/09/30 18:27:54 gward Exp $"
-
- import os
- from distutils.core import Command
- from distutils.util import get_platform
- from distutils.dir_util import create_tree, remove_tree
- from distutils.errors import *
-
- class bdist_dumb (Command):
-
- description = "create a \"dumb\" built distribution"
-
- user_options = [('bdist-dir=', 'd',
- "temporary directory for creating the distribution"),
- ('plat-name=', 'p',
- "platform name to embed in generated filenames "
- "(default: %s)" % get_platform()),
- ('format=', 'f',
- "archive format to create (tar, ztar, gztar, zip)"),
- ('keep-temp', 'k',
- "keep the pseudo-installation tree around after " +
- "creating the distribution archive"),
- ('dist-dir=', 'd',
- "directory to put final built distributions in"),
- ]
-
- boolean_options = ['keep-temp']
-
- default_format = { 'posix': 'gztar',
- 'nt': 'zip', }
-
-
- def initialize_options (self):
- self.bdist_dir = None
- self.plat_name = None
- self.format = None
- self.keep_temp = 0
- self.dist_dir = None
-
- # initialize_options()
-
-
- def finalize_options (self):
-
- if self.bdist_dir is None:
- bdist_base = self.get_finalized_command('bdist').bdist_base
- self.bdist_dir = os.path.join(bdist_base, 'dumb')
-
- if self.format is None:
- try:
- self.format = self.default_format[os.name]
- except KeyError:
- raise DistutilsPlatformError, \
- ("don't know how to create dumb built distributions " +
- "on platform %s") % os.name
-
- self.set_undefined_options('bdist',
- ('dist_dir', 'dist_dir'),
- ('plat_name', 'plat_name'))
-
- # finalize_options()
-
-
- def run (self):
-
- self.run_command('build')
-
- install = self.reinitialize_command('install', reinit_subcommands=1)
- install.root = self.bdist_dir
-
- self.announce("installing to %s" % self.bdist_dir)
- self.run_command('install')
-
- # And make an archive relative to the root of the
- # pseudo-installation tree.
- archive_basename = "%s.%s" % (self.distribution.get_fullname(),
- self.plat_name)
- self.make_archive(os.path.join(self.dist_dir, archive_basename),
- self.format,
- root_dir=self.bdist_dir)
-
- if not self.keep_temp:
- remove_tree(self.bdist_dir, self.verbose, self.dry_run)
-
- # run()
-
- # class bdist_dumb
-