Fix Swizzin for Debian 13 – Trixie
If you are running Swizzin and you want to upgrade to Debian 13 your Swizzin installation will break due to the Python venv and libraries.
However, instead of waiting for the official fix, which may come rather later than sooner here is how you can fix it.
First of all you must edit /usr/local/bin/swizzin/box and change line 141 from:
"focal" | "bullseye" | "jammy" | "bookworm" | "noble")
to:
"focal" | "bullseye" | "jammy" | "bookworm" | "noble" | "trixie")
This will let you update/install packages and may need to be repeated if the main script gets replaced from the repo.
Once you have done that you will need to fix Python for the panel to work and restart the panel:
# Remove broken venv from Python 3.11
rm -rf /opt/.venv/swizzin
# Create new one with Python 3.12
python3 -m venv /opt/.venv/swizzin
source /opt/.venv/swizzin/bin/activate
pip install --upgrade pip setuptools wheel
pip install -r /opt/swizzin/requirements.txt
deactivate
# Restart panel
systemctl restart panel
At this point the panel is working, but the upgrade may have removed rTorrent, so you need to install it with APT and create symlinks for the borked libraries:
# Install rtorrent if missing
apt install rtorrent
# Create symlinks for old library names → new versions
ln -s /usr/lib/x86_64-linux-gnu/liblber.so.2.0.200 /usr/lib/x86_64-linux-gnu/liblber-2.4.so.2
ln -s /usr/lib/x86_64-linux-gnu/libldap.so.2.0.200 /usr/lib/x86_64-linux-gnu/libldap-2.4.so.2
ln -s /usr/lib/x86_64-linux-gnu/libldap.so.2.0.200 /usr/lib/x86_64-linux-gnu/libldap_r-2.4.so.2
# Remove custom/old libcurl if present
rm /usr/local/lib/libcurl.so*
# Update library cache
ldconfig
# Test
/usr/bin/rtorrent -h
# Start service
systemctl restart rtorrent@<username>
Make sure to replace <username> with your own user.