mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 13:41:24 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			93 lines
		
	
	
	
		
			2.9 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			93 lines
		
	
	
	
		
			2.9 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| """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$"
 | |
| 
 | |
| 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"),
 | |
|                    ]
 | |
| 
 | |
|     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
 | 
