Skip to content

Commit

Permalink
Reduce size of setuptools' bdist_rpm._make_spec_file
Browse files Browse the repository at this point in the history
There are some setuptools specific changes in the bdist_rpm module that
are no longer needed, because the upstream/shipped version of distutils
already contains them. The code that is removed in this commit from
bdist_rpm is already part of the python-3.5 version of distutils.

Related: #2377
  • Loading branch information
twmr committed Sep 4, 2020
1 parent 4c29a51 commit 9a7710b
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 13 deletions.
4 changes: 4 additions & 0 deletions changelog.d/2380.change.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
There are some setuptools specific changes in the
`setuptools.command.bdist_rpm` module that are no longer needed, because
they are part of the `bdist_rpm` module in distutils in Python
3.5.0. Therefore, code was removed from `setuptools.command.bdist_rpm`.
14 changes: 1 addition & 13 deletions setuptools/command/bdist_rpm.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,6 @@ class bdist_rpm(orig.bdist_rpm):
1. Run egg_info to ensure the name and version are properly calculated.
2. Always run 'install' using --single-version-externally-managed to
disable eggs in RPM distributions.
3. Replace dash with underscore in the version numbers for better RPM
compatibility.
"""

def run(self):
Expand All @@ -19,25 +17,15 @@ def run(self):
orig.bdist_rpm.run(self)

def _make_spec_file(self):
version = self.distribution.get_version()
rpmversion = version.replace('-', '_')
spec = orig.bdist_rpm._make_spec_file(self)
line23 = '%define version ' + version
line24 = '%define version ' + rpmversion
spec = [
line.replace(
"Source0: %{name}-%{version}.tar",
"Source0: %{name}-%{unmangled_version}.tar"
).replace(
"setup.py install ",
"setup.py install --single-version-externally-managed "
).replace(
"%setup",
"%setup -n %{name}-%{unmangled_version}"
).replace(line23, line24)
)
for line in spec
]
insert_loc = spec.index(line24) + 1
unmangled_version = "%define unmangled_version " + version
spec.insert(insert_loc, unmangled_version)
return spec

0 comments on commit 9a7710b

Please sign in to comment.