- Relax libvirt-python and lxml version pins to allow precompiled distro packages
- Add PEP 508 environment marker to crypt-r (python_version >= 3.13) to avoid unnecessary C compilation on Python 3.12
- Add stdlib crypt fallback when crypt_r is not available in instances/views.py
- Make LDAP imports and configuration optional in settings.py.template
- Add --system-site-packages and missing packages in webvirtcloud.sh for RHEL/CentOS
- Update README with working Rocky Linux / RHEL / Fedora installation and local dev setup
conf/requirements.txt requires django-auth-ldap/python-ldap (added in
#600), which needs libldap2-dev and libsasl2-dev headers to build its
C extension. The Debian branch's PACKAGES list already has both, but
the Ubuntu branch was never updated to match, so a fresh install on
Ubuntu fails to build python-ldap's wheel, which aborts the entire
`pip install -r requirements.txt` — Django itself never gets
installed, and the app fails to start. Verified fix on a real Ubuntu
24.04 host.
webvirtcloud.sh's Ubuntu branch only matched 18.04/20.04/22.04, so
running it on 24.04 (Noble) silently no-ops the entire install block
instead of installing anything. Verified end-to-end on a real 24.04
host: with this check extended, the rest of the Ubuntu install path
(package list, venv setup, nginx/supervisor config) works unmodified.