Port to Python 3.14
Porting to Pydantic 2 (#1261 (closed)) is required to get things working at all on Python 3.14. But after that there are still a few test failures:
FAILED debusine/server/tasks/tests/test_package_upload.py::PackageUploadTests::test_execute_ftp - TypeError: cannot pickle 'select.epoll' object
FAILED debusine/server/tasks/tests/test_package_upload.py::PackageUploadTests::test_execute_ftp_no_path - TypeError: cannot pickle 'select.epoll' object
FAILED debusine/server/tasks/tests/test_package_upload.py::PackageUploadTests::test_execute_sftp_delayed - TypeError: cannot pickle 'cryptography.hazmat.bindings._rust.openssl.ed25519.Ed25519PrivateKey' object
FAILED debusine/server/tasks/tests/test_package_upload.py::PackageUploadTests::test_execute_end_to_end - TypeError: cannot pickle 'select.epoll' object
FAILED debusine/server/tasks/tests/test_package_upload.py::PackageUploadTests::test_execute_sftp - TypeError: cannot pickle 'cryptography.hazmat.bindings._rust.openssl.ed25519.Ed25519PrivateKey' object
FAILED debusine/server/tasks/tests/test_package_upload.py::PackageUploadTests::test_execute_ftp_delayed - TypeError: cannot pickle 'select.epoll' object
FAILED debusine/worker/tests/test_main.py::MainTests::test_main_entry_point_no_log_file - TypeError: unsupported operand type(s) for |: 'MagicMock' and 'NoneType'
FAILED debusine/worker/tests/test_main.py::MainTests::test_main_entry_point_log_file - TypeError: unsupported operand type(s) for |: 'MagicMock' and 'NoneType'