Files
FWS-ISO/pkgbuilds/python-crypt_r/PKGBUILD
T
nocode a4e46a4309 feat(anaconda): add python-crypt_r and ostree dependencies for python 3.13+ compatibility
Add python-crypt_r PKGBUILD to provide the crypt module removed in Python 3.13 (PEP 594), required by pyanaconda/core/users.py for password hashing.

Add python-legacy-cgi for the cgi module also removed in Python 3.13, required by python-requests-ftp imported by pyanaconda/core/util.py.

Add ostree to provide the OSTree-1.0 GI namespace required by pyanaconda/rescue.py for the rpm_ostree payload.

Add libblockdev LVM CLI mode configuration to avoid DBus dependency issues with lvmdbusd unavailable in Arch.

Update setup-aur.sh to include python-crypt_r in the local build order before python-meh.
2026-06-17 18:35:12 +02:00

39 lines
1.7 KiB
Bash

# Maintainer: FWS
# ============================================================================
# python-crypt_r — réintroduit le module `crypt` (et son alias moderne
# `crypt_r`) retiré de Python 3.13 (PEP 594). Arch est en Python 3.14.
#
# POURQUOI (dépendance Anaconda) : pyanaconda/core/users.py fait
# import crypt_r (ligne 41) → sinon fallback :
# import crypt as crypt_r (ligne 44)
# Les DEUX échouent sur Python ≥ 3.13 → « ModuleNotFoundError: crypt_r »
# puis « crypt » → Anaconda plante au chargement (hash des mots de passe
# root/utilisateur à l'install). Ce paquet PyPI (maintenu par fedora-python,
# les mêmes que legacy-cgi) fournit les modules `crypt_r` ET `crypt` via une
# extension C qui enrobe crypt_r(3) de libxcrypt.
#
# Paquet absent d'Arch officiel ET de l'AUR → packagé maison pour FWS.
# ============================================================================
pkgname=python-crypt_r
_pyname=crypt_r
pkgver=3.13.1
pkgrel=1
pkgdesc="The crypt module removed from Python 3.13 (PEP 594), as crypt_r + crypt (dépendance Anaconda)"
arch=('x86_64')
url="https://github.com/fedora-python/crypt_r"
license=('PSF-2.0')
depends=('python' 'libxcrypt')
makedepends=('python-setuptools' 'python-build' 'python-installer' 'python-wheel')
source=("$pkgname-$pkgver.tar.gz::https://files.pythonhosted.org/packages/source/c/${_pyname}/${_pyname}-${pkgver}.tar.gz")
sha256sums=('5bd46ad51f5b7fe5f0ecf49d8ba2cafd6fbd43aa3bb5efbcaa6b44df6340c1a6')
build() {
cd "$srcdir/${_pyname}-${pkgver}"
python -m build --wheel --no-isolation
}
package() {
cd "$srcdir/${_pyname}-${pkgver}"
python -m installer --destdir="$pkgdir" dist/*.whl
}