You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
40 lines
1.3 KiB
40 lines
1.3 KiB
import distutils.command.bdist_rpm as orig |
|
|
|
from ..warnings 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): |
|
SetuptoolsDeprecationWarning.emit( |
|
"Deprecated command", |
|
""" |
|
bdist_rpm is deprecated and will be removed in a future version. |
|
Use bdist_wheel (wheel packages) instead. |
|
""", |
|
see_url="https://github.com/pypa/setuptools/issues/1988", |
|
due_date=(2023, 10, 30), # Deprecation introduced in 22 Oct 2021. |
|
) |
|
|
|
# ensure distro name is up-to-date |
|
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
|
|
|