errbotio / errbot

Errbot is a chatbot, a daemon that connects to your favorite chat service and bring your tools and some fun into the conversation.
http://errbot.io
GNU General Public License v3.0
3.13k stars 615 forks source link

Hardcoded pyOpenSSL-21.0.0 in setup.py breaks pip and errbot plugins. #1624

Closed IceWreck closed 1 year ago

IceWreck commented 1 year ago

Describe the bug errbot's setup.py is hardcoded to install pyOpenSSL-21.0.0. This version breaks when any distro or python version uses newer cryptography. Even the latest debian stable breaks.

To Reproduce

Example with Debian 11's python3.9

Using containers to test in a clean environment.

docker run -ti debian:11 bash

In the shell that pops up:

apt-get update && apt-get install -y git python3 python3-pip python3-dev
pip install errbot

Now run any pip command (like pip install requests) or even errbot's webserver plugin

It will throw

AttributeError: module 'lib' has no attribute 'OpenSSL_add_all_algorithms'

This breaks pip which means you cant upgrade pyOpenSSL yourself

Expected behavior Does not break pip or errbot's plugins

Additional context You can find more info here https://github.com/pyca/pyopenssl/issues/1177

Fix Unpin or upgrade pyOpenSSL. If theyre using pip then its probably installed anyways.

sijis commented 1 year ago

Fixed in https://github.com/errbotio/errbot/pull/1627.