indie-status-page/venv/lib/python3.11/site-packages/setuptools/command/bdist_rpm.py
IndieStatusBot 902133edd3 feat: indie status page MVP -- FastAPI + SQLite
- 8 DB models (services, incidents, monitors, subscribers, etc.)
- Full CRUD API for services, incidents, monitors
- Public status page with live data
- Incident detail page with timeline
- API key authentication
- Uptime monitoring scheduler
- 13 tests passing
- TECHNICAL_DESIGN.md with full spec
2026-04-25 05:00:00 +00:00

42 lines
1.4 KiB
Python

from ..dist import Distribution
from ..warnings import SetuptoolsDeprecationWarning
import distutils.command.bdist_rpm as orig
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.
"""
distribution: Distribution # override distutils.dist.Distribution with setuptools.dist.Distribution
def run(self) -> None:
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)
return [
line.replace(
"setup.py install ",
"setup.py install --single-version-externally-managed ",
).replace("%setup", "%setup -n %{name}-%{unmangled_version}")
for line in spec
]