tarantool / tarantool/tarantool-python
Pack RPM/DEB for obsolete distros
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 108
- Forks
- 51
- Avg merge
- 1d 8h
- Merged PRs (30d)
- 1
Description
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:7
- debian:9
- ubuntu:18.04 (and possibly 16.04)
centos:8 is EOL so we don't plan to provide a package for it.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Review PR #248 and the package testing and publish matrices, then consult the linked wiki draft on building RPMs. Check dependency availability for CentOS 7, Debian 9, and Ubuntu 18.04 (possibly 16.04), including Python 3.6 requirements. Done means supported RPM/DEB packages build, test, and publish for the selected obsolete distributions with their dependencies available.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- build-system, release
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100