tarantool / tarantool/tarantool-python

Pack RPM/DEB for obsolete distros

Aperta
#257 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

backlog question
Lingua principale
Python
Stelle
108
Fork
51
Merge medio
1g 8h
PR unite (30g)
1

Descrizione

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.

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Esamina PR #248 e le matrici di test e pubblicazione dei pacchetti, quindi consulta la bozza della wiki collegata sulla compilazione di RPMs. Verifica la disponibilità delle dipendenze per CentOS 7, Debian 9 e Ubuntu 18.04 (possibilmente 16.04), inclusi i requisiti di Python 3.6. Il lavoro è completo quando i pacchetti RPM/DEB supportati vengono compilati, testati e pubblicati per le distribuzioni obsolete selezionate, con le relative dipendenze disponibili.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
python
Ambito
build-system, release
Tipo di issue
Funzionalità
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
30/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.