diff --git a/Doc/packaging/builtdist.rst b/Doc/packaging/builtdist.rst index 3f3e7908445..b1e5e935514 100644 --- a/Doc/packaging/builtdist.rst +++ b/Doc/packaging/builtdist.rst @@ -75,9 +75,6 @@ The available formats for built distributions are: | ``gztar`` | gzipped tar file | (1),(3) | | | (:file:`.tar.gz`) | | +-------------+------------------------------+---------+ -| ``ztar`` | compressed tar file | \(3) | -| | (:file:`.tar.Z`) | | -+-------------+------------------------------+---------+ | ``tar`` | tar file (:file:`.tar`) | \(3) | +-------------+------------------------------+---------+ | ``zip`` | zip file (:file:`.zip`) | (2),(4) | @@ -98,8 +95,8 @@ Notes: default on Windows (3) - requires external utilities: :program:`tar` and possibly one of :program:`gzip`, - :program:`bzip2`, or :program:`compress` + requires external utilities: :program:`tar` and possibly one of :program:`gzip` + or :program:`bzip2` (4) requires either external :program:`zip` utility or :mod:`zipfile` module (part @@ -109,14 +106,14 @@ You don't have to use the :command:`bdist` command with the :option:`--formats` option; you can also use the command that directly implements the format you're interested in. Some of these :command:`bdist` "sub-commands" actually generate several similar formats; for instance, the :command:`bdist_dumb` command -generates all the "dumb" archive formats (``tar``, ``ztar``, ``gztar``, and +generates all the "dumb" archive formats (``tar``, ``gztar``, and ``zip``). The :command:`bdist` sub-commands, and the formats generated by each, are: +--------------------------+-----------------------+ | Command | Formats | +==========================+=======================+ -| :command:`bdist_dumb` | tar, ztar, gztar, zip | +| :command:`bdist_dumb` | tar, gztar, zip | +--------------------------+-----------------------+ | :command:`bdist_wininst` | wininst | +--------------------------+-----------------------+ diff --git a/Doc/packaging/sourcedist.rst b/Doc/packaging/sourcedist.rst index 0cd4df3f815..2cedc15ea90 100644 --- a/Doc/packaging/sourcedist.rst +++ b/Doc/packaging/sourcedist.rst @@ -32,9 +32,6 @@ to create a gzipped tarball and a zip file. The available formats are: | ``bztar`` | bzip2'ed tar file | | | | (:file:`.tar.bz2`) | | +-----------+-------------------------+---------+ -| ``ztar`` | compressed tar file | \(4) | -| | (:file:`.tar.Z`) | | -+-----------+-------------------------+---------+ | ``tar`` | tar file (:file:`.tar`) | | +-----------+-------------------------+---------+ @@ -50,11 +47,7 @@ Notes: requires either external :program:`zip` utility or :mod:`zipfile` module (part of the standard Python library since Python 1.6) -(4) - requires the :program:`compress` program. Notice that this format is now - pending for deprecation and will be removed in the future versions of Python. - -When using any ``tar`` format (``gztar``, ``bztar``, ``ztar`` or +When using any ``tar`` format (``gztar``, ``bztar`` or ``tar``) under Unix, you can specify the ``owner`` and ``group`` names that will be set for each member of the archive. diff --git a/Lib/packaging/command/bdist.py b/Lib/packaging/command/bdist.py index e8c023dc072..b9d550b86b3 100644 --- a/Lib/packaging/command/bdist.py +++ b/Lib/packaging/command/bdist.py @@ -64,20 +64,18 @@ class bdist(Command): 'os2': 'zip'} # Establish the preferred order (for the --help-formats option). - format_commands = ['gztar', 'bztar', 'ztar', 'tar', + format_commands = ['gztar', 'bztar', 'tar', 'wininst', 'zip', 'msi'] # And the real information. format_command = {'gztar': ('bdist_dumb', "gzip'ed tar file"), 'bztar': ('bdist_dumb', "bzip2'ed tar file"), - 'ztar': ('bdist_dumb', "compressed tar file"), 'tar': ('bdist_dumb', "tar file"), 'wininst': ('bdist_wininst', "Windows executable installer"), 'zip': ('bdist_dumb', "ZIP file"), - 'msi': ('bdist_msi', "Microsoft Installer") - } - + 'msi': ('bdist_msi', "Microsoft Installer"), + } def initialize_options(self): self.bdist_base = None @@ -109,8 +107,9 @@ class bdist(Command): try: self.formats = [self.default_format[os.name]] except KeyError: - raise PackagingPlatformError("don't know how to create built distributions " + \ - "on platform %s" % os.name) + raise PackagingPlatformError( + "don't know how to create built distributions " + "on platform %s" % os.name) if self.dist_dir is None: self.dist_dir = "dist" diff --git a/Lib/packaging/command/bdist_dumb.py b/Lib/packaging/command/bdist_dumb.py index f74b7209254..ed83c8ec951 100644 --- a/Lib/packaging/command/bdist_dumb.py +++ b/Lib/packaging/command/bdist_dumb.py @@ -13,6 +13,7 @@ from packaging.command.cmd import Command from packaging.errors import PackagingPlatformError from packaging import logger + class bdist_dumb(Command): description = 'create a "dumb" built distribution' @@ -23,7 +24,7 @@ class bdist_dumb(Command): "platform name to embed in generated filenames " "(default: %s)" % get_platform()), ('format=', 'f', - "archive format to create (tar, ztar, gztar, zip)"), + "archive format to create (tar, gztar, zip)"), ('keep-temp', 'k', "keep the pseudo-installation tree around after " + "creating the distribution archive"), @@ -44,10 +45,9 @@ class bdist_dumb(Command): boolean_options = ['keep-temp', 'skip-build', 'relative'] - default_format = { 'posix': 'gztar', - 'nt': 'zip', - 'os2': 'zip' } - + default_format = {'posix': 'gztar', + 'nt': 'zip', + 'os2': 'zip'} def initialize_options(self): self.bdist_dir = None @@ -69,8 +69,9 @@ class bdist_dumb(Command): try: self.format = self.default_format[os.name] except KeyError: - raise PackagingPlatformError(("don't know how to create dumb built distributions " + - "on platform %s") % os.name) + raise PackagingPlatformError( + "don't know how to create dumb built distributions " + "on platform %s" % os.name) self.set_undefined_options('bdist', 'dist_dir', 'plat_name') diff --git a/Lib/packaging/tests/test_command_bdist.py b/Lib/packaging/tests/test_command_bdist.py index 1522b7e2142..fa4093cf3ca 100644 --- a/Lib/packaging/tests/test_command_bdist.py +++ b/Lib/packaging/tests/test_command_bdist.py @@ -27,33 +27,30 @@ class BuildTestCase(support.TempdirManager, util.get_platform = self._get_platform def test_formats(self): - # let's create a command and make sure - # we can fix the format - pkg_pth, dist = self.create_dist() + # we can set the format + dist = self.create_dist()[1] cmd = bdist(dist) cmd.formats = ['msi'] cmd.ensure_finalized() self.assertEqual(cmd.formats, ['msi']) - # what format bdist offers ? - # XXX an explicit list in bdist is - # not the best way to bdist_* commands - # we should add a registry - formats = sorted(('zip', 'gztar', 'bztar', 'ztar', - 'tar', 'wininst', 'msi')) + # what format does bdist offer? + # XXX hard-coded lists are not the best way to find available bdist_* + # commands; we should add a registry + formats = ['bztar', 'gztar', 'msi', 'tar', 'wininst', 'zip'] found = sorted(cmd.format_command) self.assertEqual(found, formats) def test_skip_build(self): - pkg_pth, dist = self.create_dist() + dist = self.create_dist()[1] cmd = bdist(dist) cmd.skip_build = False cmd.formats = ['ztar'] cmd.ensure_finalized() self.assertFalse(self._get_platform_called) - pkg_pth, dist = self.create_dist() + dist = self.create_dist()[1] cmd = bdist(dist) cmd.skip_build = True cmd.formats = ['ztar']