Path: blob/master/venv/Lib/site-packages/setuptools/command/bdist_rpm.py
811 views
import distutils.command.bdist_rpm as orig123class bdist_rpm(orig.bdist_rpm):4"""5Override the default bdist_rpm behavior to do the following:671. Run egg_info to ensure the name and version are properly calculated.82. Always run 'install' using --single-version-externally-managed to9disable eggs in RPM distributions.103. Replace dash with underscore in the version numbers for better RPM11compatibility.12"""1314def run(self):15# ensure distro name is up-to-date16self.run_command('egg_info')1718orig.bdist_rpm.run(self)1920def _make_spec_file(self):21version = self.distribution.get_version()22rpmversion = version.replace('-', '_')23spec = orig.bdist_rpm._make_spec_file(self)24line23 = '%define version ' + version25line24 = '%define version ' + rpmversion26spec = [27line.replace(28"Source0: %{name}-%{version}.tar",29"Source0: %{name}-%{unmangled_version}.tar"30).replace(31"setup.py install ",32"setup.py install --single-version-externally-managed "33).replace(34"%setup",35"%setup -n %{name}-%{unmangled_version}"36).replace(line23, line24)37for line in spec38]39insert_loc = spec.index(line24) + 140unmangled_version = "%define unmangled_version " + version41spec.insert(insert_loc, unmangled_version)42return spec434445