Mailing List Archive

python/dist/src/Lib/distutils/command bdist_dumb.py,1.22,1.23
Update of /cvsroot/python/python/dist/src/Lib/distutils/command
In directory sc8-pr-cvs1:/tmp/cvs-serv1427

Modified Files:
bdist_dumb.py
Log Message:
Fix for bug #410541: bdist builds bogus .zips
This adds a --relative option to the bdist_dumb command that defaults
to false; if true, the .tar.gz or .zip will be assembled using relative
paths.


Index: bdist_dumb.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/distutils/command/bdist_dumb.py,v
retrieving revision 1.22
retrieving revision 1.23
diff -C2 -d -r1.22 -r1.23
*** bdist_dumb.py 19 Nov 2002 13:12:28 -0000 1.22
--- bdist_dumb.py 26 Nov 2002 17:45:19 -0000 1.23
***************
*** 12,16 ****
from distutils.core import Command
from distutils.util import get_platform
! from distutils.dir_util import create_tree, remove_tree
from distutils.errors import *
from distutils import log
--- 12,16 ----
from distutils.core import Command
from distutils.util import get_platform
! from distutils.dir_util import create_tree, remove_tree, ensure_relative
from distutils.errors import *
from distutils import log
***************
*** 34,40 ****
('skip-build', None,
"skip rebuilding everything (for testing/debugging)"),
]

! boolean_options = ['keep-temp', 'skip-build']

default_format = { 'posix': 'gztar',
--- 34,43 ----
('skip-build', None,
"skip rebuilding everything (for testing/debugging)"),
+ ('relative', None,
+ "build the archive using relative paths"
+ "(default: false)"),
]

! boolean_options = ['keep-temp', 'skip-build', 'relative']

default_format = { 'posix': 'gztar',
***************
*** 50,54 ****
self.dist_dir = None
self.skip_build = 0
!
# initialize_options()

--- 53,58 ----
self.dist_dir = None
self.skip_build = 0
! self.relative = 0
!
# initialize_options()

***************
*** 98,104 ****
archive_basename = archive_basename.replace(":", "-")

! self.make_archive(os.path.join(self.dist_dir, archive_basename),
! self.format,
! root_dir=self.bdist_dir)

if not self.keep_temp:
--- 102,123 ----
archive_basename = archive_basename.replace(":", "-")

! pseudoinstall_root = os.path.join(self.dist_dir, archive_basename)
! if not self.relative:
! archive_root = self.bdist_dir
! else:
! if (self.distribution.has_ext_modules() and
! (install.install_base != install.install_platbase)):
! raise DistutilsPlatformError, \
! ("can't make a dumb built distribution where "
! "base and platbase are different (%s, %s)"
! % (repr(install.install_base),
! repr(install.install_platbase)))
! else:
! archive_root = os.path.join(self.bdist_dir,
! ensure_relative(install.install_base))
!
! # Make the archive
! self.make_archive(pseudoinstall_root,
! self.format, root_dir=archive_root)

if not self.keep_temp: