Commit 040f032a authored by PJ Eby's avatar PJ Eby

Fix problem w/bdist_rpm and setuptools, reported by Walter Doerwald. I

was trying to have setuptools fix distutils' broken filename handling that
assumes people haven't put punctuation in their distribution names,
including '-' (which prevents unambiguous parsing of distribution names).
However, bdist_rpm's attempt to guess a source distribution's filename
isn't compatible with this fix, without making other changes.  I decided
therefore to drop the fixes for the sake of backward compatibility, but
monkeypatch bdist_rpm so that it runs "egg_info" first, to ensure that any
--tag-svn-revision or other tagging options take effect.

--HG--
branch : setuptools
extra : convert_revision : svn%3A6015fed2-1504-0410-9fe1-9d1591cc4771/sandbox/trunk/setuptools%4041215
parent e00f4a87
......@@ -17,6 +17,7 @@ entry_points.txt = setuptools.command.egg_info:write_entries
depends.txt = setuptools.command.egg_info:warn_depends_obsolete
[distutils.commands]
bdist_rpm = setuptools.command.bdist_rpm:bdist_rpm
rotate = setuptools.command.rotate:rotate
develop = setuptools.command.develop:develop
setopt = setuptools.command.setopt:setopt
......
__all__ = [
'alias', 'bdist_egg', 'build_ext', 'build_py', 'develop',
'alias', 'bdist_egg', 'bdist_rpm', 'build_ext', 'build_py', 'develop',
'easy_install', 'egg_info', 'install', 'install_lib', 'rotate', 'saveopts',
'sdist', 'setopt', 'test', 'upload',
]
......
# This is just a kludge so that bdist_rpm doesn't guess wrong about the
# distribution name and version, if the egg_info command is going to alter them
from distutils.command.bdist_rpm import bdist_rpm as _bdist_rpm
class bdist_rpm(_bdist_rpm):
def run(self):
self.run_command('egg_info') # ensure distro name is up-to-date
_bdist_rpm.run(self)
......@@ -60,13 +60,13 @@ class egg_info(Command):
self.ensure_dirname('egg_base')
self.egg_info = os.path.join(self.egg_base, self.egg_name+'.egg-info')
# Set package version and name for the benefit of dumber commands
# (e.g. sdist, bdist_wininst, etc.) We escape '-' so filenames will
# be more machine-parseable.
# Set package version for the benefit of dumber commands
# (e.g. sdist, bdist_wininst, etc.)
#
metadata = self.distribution.metadata
metadata.version = self.egg_version.replace('-','_')
metadata.name = self.egg_name.replace('-','_')
self.distribution.metadata.version = self.egg_version
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment