SABnzbd redirects to /wizard/ on first run (303). Without -L,
the test gets the redirect body (no "SABnzbd" text). With -L,
curl follows to the wizard page which contains the expected text.
System python3-cffi (apt) conflicts with cffi==1.15.1 pin;
system cryptography conflicts with cryptography==39.0.0 pin.
Unpin both so pip uses the Debian-provided versions.
Replace brittle sed patch with a Python script that:
1. Removes Windows/macOS-only packages (pywin32, pyobjc, etc.)
2. Unpins versions to let pip resolve with system packages from apt
Debian Trixie ships many Python packages (cryptography 43.0.0,
cffi, etc.) via apt that conflict with SABnzbd's pinned versions
(cryptography==39.0.0, cffi==1.15.1). Pinned deps fail to install
because pip can't uninstall the system packages (no RECORD file).
Relax all pins so pip uses compatible versions already present.
SABnzbd 3.7.2 pins cffi==1.15.1 which is incompatible with Python 3.13
(removed internal API _PyErr_WriteUnraisableMsg). Relax the pin so pip
uses the system-installed python3-cffi (Debian Trixie's version).
The pip cffi package fails to build from source on Python 3.13
(no pre-built wheel). Install python3-cffi from Debian repos instead.
Remove the pip cffi>=1.17 workaround.
SABnzbd's requirements.txt pins cffi 1.15.1 which uses the removed
_PyErr_WriteUnraisableMsg API (Python 3.13+). Pre-install cffi>=1.17
so pip doesn't try to build the incompatible version.
Debian's pip 25.1.1 is already installed without a RECORD file, causing
the upgrade to fail. The system pip is already recent enough for
requirements.txt.
sabyenc uses deprecated Python 2 C API (PyString_*) removed in Python
3.12+. Debian Trixie ships Python 3.13. The yEnc dependency is handled
by SABnzbd's requirements.txt. Remove the outdated explicit pip install.
Debian Trixie enforces PEP 668 (externally-managed-environment),
blocking system-wide pip installs. Export PIP_BREAK_SYSTEM_PACKAGES=1
to allow pip to install sabyenc and other Python deps in the container.
python3-yenc was removed from Debian Trixie. SABnzbd uses sabyenc
(via pip) as the replacement. Uncomment the pip install line and
remove python3-yenc from apt RUNTIME_PACKAGES.
Debian Trixie uses the new deb822 format (/etc/apt/sources.list.d/debian.sources)
instead of the old /etc/apt/sources.list file. The two sed commands that target
sources.list need updating:
- Remove archive.debian.org redirect (Trixie is still active on main mirrors)
- Add contrib/non-free to the deb822-format sources file