tarantool / tarantool-python

Python client library for Tarantool
https://www.tarantool.io
BSD 2-Clause "Simplified" License
100 stars 48 forks source link

Pack RPM/DEB for obsolete distros #257

Open DifferentialOrange opened 1 year ago

DifferentialOrange commented 1 year ago

Follows up #248

In PR #248 we had introduced RPM and DEB packages for distros which have Python 3.7 or newer in its package managers by default. Extending package testing and publish matrices is a complicated task. Why is that?

First, the code works with Python 3.6 or newer, so if system doesn't have it one (including our CI) must set it up manually. Second, running code with Python 3.6 requires dataclasses backport package. And here we come to the packages issue.

It seems rather useless to provide a package for a distro if distribution repositories (or some external popular repos like EPEL) don't have its dependencies. And the case is they mostly don't.

RPM with dataclasses backport is available for EPEL 8 only. It is not so hard to rebuild (see https://github.com/tarantool/tarantool-python/wiki/Building-RPMs draft), but we will need to provide and maintain external packages in Tarantool repo. I also haven't seen any DEBs for dataclasses.

dataclasses is not the only one troublesome package. For example, CentOS 7 (including EPEL 7) does not provide any pandas RPM for Python 3. Rebuilding pandas RPM from EPEL 8 on EPEL 7 is rather challenging task. We also shouldn't forget that pandas has many dependencies and it is possible that we would need to rebuild them to.

Distros planed in this ticket:

centos:8 is EOL so we don't plan to provide a package for it.