|
import distutils.command.bdist_rpm as orig |
|
import warnings |
|
|
|
from setuptools import SetuptoolsDeprecationWarning |
|
|
|
|
|
class bdist_rpm(orig.bdist_rpm): |
|
""" |
|
Override the default bdist_rpm behavior to do the following: |
|
|
|
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. |
|
""" |
|
|
|
def run(self): |
|
warnings.warn( |
|
"bdist_rpm is deprecated and will be removed in a future " |
|
"version. Use bdist_wheel (wheel packages) instead.", |
|
SetuptoolsDeprecationWarning, |
|
) |
|
|
|
|
|
self.run_command('egg_info') |
|
|
|
orig.bdist_rpm.run(self) |
|
|
|
def _make_spec_file(self): |
|
spec = orig.bdist_rpm._make_spec_file(self) |
|
spec = [ |
|
line.replace( |
|
"setup.py install ", |
|
"setup.py install --single-version-externally-managed " |
|
).replace( |
|
"%setup", |
|
"%setup -n %{name}-%{unmangled_version}" |
|
) |
|
for line in spec |
|
] |
|
return spec |
|
|