tarantool / tarantool/tarantool-python

Pack RPM/DEB for obsolete distros

Open
#257 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

backlog question
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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.