tarantool / tarantool/tarantool-python

Pack RPM/DEB for obsolete distros

Ouverte
#257 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

backlog question
Langage dominant
Python
Étoiles
108
Forks
51
Merge moyen
1 j 8 h
PR mergées (30 j)
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.

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Examinez PR #248 et les matrices de tests et de publication des paquets, puis consultez le brouillon de wiki lié concernant la construction de RPMs. Vérifiez la disponibilité des dépendances pour CentOS 7, Debian 9 et Ubuntu 18.04 (éventuellement 16.04), y compris les exigences de Python 3.6. Le travail est considéré comme terminé lorsque les paquets RPM/DEB pris en charge sont construits, testés et publiés pour les distributions obsolètes sélectionnées, avec leurs dépendances disponibles.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
python
Domaine
build-system, release
Type d'issue
Fonctionnalité
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
30/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.