Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pack RPM/DEB for obsolete distros #257

Open
DifferentialOrange opened this issue Nov 8, 2022 · 0 comments
Open

Pack RPM/DEB for obsolete distros #257

DifferentialOrange opened this issue Nov 8, 2022 · 0 comments
Labels
backlog question Further information is requested

Comments

@DifferentialOrange
Copy link
Member

DifferentialOrange commented Nov 8, 2022

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.

DifferentialOrange added a commit that referenced this issue Nov 8, 2022
New RPM spec is based on RHEL RPM guide for Python packages [1] merged
with results of `python3 setup.py bdist_rpm --spec-only`.

Beware that RPM name is changed based on recommendations for all
mainstream distributives (for example, see [2]). Binary RPM is named
python3-tarantool and source RPM is named python-tarantool. Before the
patch they both were called tarantool-python (even though there wasn't
new RPM releases since 0.6.5).

RPM is suitable for distributives with Python 3.7 or newer. See [3]
about pre-Python 3.7 systems support.

1. https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/installing_and_using_dynamic_programming_languages/assembly_packaging-python-3-rpms_installing-and-using-dynamic-programming-languages
2. https://fedoraproject.org/wiki/Packaging:Naming?rd=Packaging:NamingGuidelines#Python_source_package_naming
3. #257

Part of #164, #198
DifferentialOrange added a commit that referenced this issue Nov 8, 2022
See [1] about CentOS support. Fedora 37 is not tested yet since there is
no Tarantool for it.

1. #257

Part of #164, #198
DifferentialOrange added a commit that referenced this issue Nov 8, 2022
Publish RPM artifacts on tag.

To test, comment "run only on tags" condition, change RWS_REPO
to https://rws-dev.tarantool.org.

See [1] about OS support.

1. #257

Part of #198
DifferentialOrange added a commit that referenced this issue Nov 8, 2022
Publish RPM artifacts on tag.

To test, comment "run only on tags" condition, change RWS_REPO
to https://rws-dev.tarantool.org.

See [1] about OS support.

1. #257

Part of #198
DifferentialOrange added a commit that referenced this issue Nov 8, 2022
Publish RPM artifacts on tag.

To test, comment "run only on tags" condition, change RWS_REPO
to https://rws-dev.tarantool.org.

See [1] about OS support.

1. #257

Part of #198
DifferentialOrange added a commit that referenced this issue Nov 8, 2022
Publish RPM artifacts on tag.

To test, comment "run only on tags" condition, change RWS_REPO
to https://rws-dev.tarantool.org.

See [1] about OS support.

1. #257

Part of #198
DifferentialOrange added a commit that referenced this issue Nov 8, 2022
Publish RPM artifacts on tag.

To test, comment "run only on tags" condition, change RWS_REPO
to https://rws-dev.tarantool.org.

See [1] about OS support.

1. #257

Part of #198
DifferentialOrange added a commit that referenced this issue Nov 8, 2022
See [1] about CentOS support. Fedora 37 is not tested yet since there is
no Tarantool for it.

1. #257

Part of #164, #198
DifferentialOrange added a commit that referenced this issue Nov 8, 2022
Publish RPM artifacts on tag.

To test, comment "run only on tags" condition, change RWS_REPO
to https://rws-dev.tarantool.org.

See [1] about OS support.

1. #257

Part of #198
DifferentialOrange added a commit that referenced this issue Nov 8, 2022
New RPM spec is based on RHEL RPM guide for Python packages [1] merged
with results of `python3 setup.py bdist_rpm --spec-only`.

Beware that RPM name is changed based on recommendations for all
mainstream distributives (for example, see [2]). Binary RPM is named
python3-tarantool and source RPM is named python-tarantool. Before the
patch they both were called tarantool-python (even though there wasn't
new RPM releases since 0.6.5).

RPM is suitable for distributives with Python 3.7 or newer. See [3]
about pre-Python 3.7 systems support.

1. https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/installing_and_using_dynamic_programming_languages/assembly_packaging-python-3-rpms_installing-and-using-dynamic-programming-languages
2. https://fedoraproject.org/wiki/Packaging:Naming?rd=Packaging:NamingGuidelines#Python_source_package_naming
3. #257

Part of #164, #198
DifferentialOrange added a commit that referenced this issue Nov 8, 2022
See [1] about CentOS support. Fedora 37 is not tested yet since there is
no Tarantool for it.

1. #257

Part of #164, #198
DifferentialOrange added a commit that referenced this issue Nov 8, 2022
Publish RPM artifacts on tag.

To test, comment "run only on tags" condition, change RWS_REPO
to https://rws-dev.tarantool.org.

See [1] about OS support.

1. #257

Part of #198
DifferentialOrange added a commit that referenced this issue Nov 8, 2022
Publish RPM artifacts on tag.

To test, comment "run only on tags" condition, change RWS_REPO
to https://rws-dev.tarantool.org.

See [1] about OS support.

1. #257

Part of #198
DifferentialOrange added a commit that referenced this issue Nov 8, 2022
New RPM spec is based on RHEL RPM guide for Python packages [1] merged
with results of `python3 setup.py bdist_rpm --spec-only`.

Beware that RPM name is changed based on recommendations for all
mainstream distributives (for example, see [2]). Binary RPM is named
python3-tarantool and source RPM is named python-tarantool. Before the
patch they both were called tarantool-python (even though there wasn't
new RPM releases since 0.6.5).

RPM is suitable for distributives with Python 3.7 or newer. See [3]
about pre-Python 3.7 systems support.

1. https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/installing_and_using_dynamic_programming_languages/assembly_packaging-python-3-rpms_installing-and-using-dynamic-programming-languages
2. https://fedoraproject.org/wiki/Packaging:Naming?rd=Packaging:NamingGuidelines#Python_source_package_naming
3. #257

Part of #164, #198
DifferentialOrange added a commit that referenced this issue Nov 8, 2022
See [1] about CentOS support. Fedora 37 is not tested yet since there is
no Tarantool for it.

1. #257

Part of #164, #198
DifferentialOrange added a commit that referenced this issue Nov 8, 2022
Publish RPM artifacts on tag.

To test, comment "run only on tags" condition, change RWS_REPO
to https://rws-dev.tarantool.org.

See [1] about OS support.

1. #257

Closes #164, part of #198
DifferentialOrange added a commit that referenced this issue Nov 8, 2022
New deb spec files are based on stdeb plugin generated files [1] and
Debian Style Guide for Packaging Python Libraries [2].

Beware that RPM name is changed based on recommendations for all
mainstream distributives [2]. deb files are named with python3-tarantool
prefix. Before the patch they were called tarantool-python (even though
there wasn't new deb releases since 0.6.5).

deb is suitable for distributives with Python 3.7 or newer. See [3]
about pre-Python 3.7 systems support.

Since deb requires changelog consistency to build, we generate
a changelog entry for all nightly CI builds.

1. https://pypi.org/project/stdeb/
2. https://wiki.debian.org/Python/LibraryStyleGuide?action=show&redirect=Python%2FPackaging
3. #257

Part of #198
DifferentialOrange added a commit that referenced this issue Nov 8, 2022
New RPM spec is based on RHEL RPM guide for Python packages [1] merged
with results of `python3 setup.py bdist_rpm --spec-only`.

Beware that RPM name is changed based on recommendations for all
mainstream distributives (for example, see [2]). Binary RPM is named
python3-tarantool and source RPM is named python-tarantool. Before the
patch they both were called tarantool-python (even though there wasn't
new RPM releases since 0.6.5).

RPM is suitable for distributives with Python 3.7 or newer. See [3]
about pre-Python 3.7 systems support.

1. https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/installing_and_using_dynamic_programming_languages/assembly_packaging-python-3-rpms_installing-and-using-dynamic-programming-languages
2. https://fedoraproject.org/wiki/Packaging:Naming?rd=Packaging:NamingGuidelines#Python_source_package_naming
3. #257

Part of #164, #198
DifferentialOrange added a commit that referenced this issue Nov 8, 2022
See [1] about CentOS support. Fedora 37 is not tested yet since there is
no Tarantool for it.

1. #257

Part of #164, #198
DifferentialOrange added a commit that referenced this issue Nov 8, 2022
Publish RPM artifacts on tag.

To test, comment "run only on tags" condition, change RWS_REPO
to https://rws-dev.tarantool.org.

See [1] about OS support.

1. #257

Closes #164, part of #198
DifferentialOrange added a commit that referenced this issue Nov 8, 2022
New deb spec files are based on stdeb plugin generated files [1] and
Debian Style Guide for Packaging Python Libraries [2].

Beware that RPM name is changed based on recommendations for all
mainstream distributives [2]. deb files are named with python3-tarantool
prefix. Before the patch they were called tarantool-python (even though
there wasn't new deb releases since 0.6.5).

deb is suitable for distributives with Python 3.7 or newer. See [3]
about pre-Python 3.7 systems support.

Since deb requires changelog consistency to build, we generate
a changelog entry for all nightly CI builds.

1. https://pypi.org/project/stdeb/
2. https://wiki.debian.org/Python/LibraryStyleGuide?action=show&redirect=Python%2FPackaging
3. #257

Part of #198
DifferentialOrange added a commit that referenced this issue Nov 8, 2022
Publish RPM artifacts on tag.

To test, comment "run only on tags" condition, change RWS_REPO
to https://rws-dev.tarantool.org.

See [1] about OS support.

1. #257

Closes #164, part of #198
DifferentialOrange added a commit that referenced this issue Nov 8, 2022
New deb spec files are based on stdeb plugin generated files [1] and
Debian Style Guide for Packaging Python Libraries [2].

Beware that RPM name is changed based on recommendations for all
mainstream distributives [2]. deb files are named with python3-tarantool
prefix. Before the patch they were called tarantool-python (even though
there wasn't new deb releases since 0.6.5).

deb is suitable for distributives with Python 3.7 or newer. See [3]
about pre-Python 3.7 systems support.

Since deb requires changelog consistency to build, we generate
a changelog entry for all nightly CI builds.

1. https://pypi.org/project/stdeb/
2. https://wiki.debian.org/Python/LibraryStyleGuide?action=show&redirect=Python%2FPackaging
3. #257

Part of #198
DifferentialOrange added a commit that referenced this issue Nov 8, 2022
See [1] about older versions support. Only LTS Ubuntu versions are
included here.

1. #257

Part of #198
DifferentialOrange added a commit that referenced this issue Nov 8, 2022
Publish deb artifacts on tag.

To test, comment "run only on tags" condition, change RWS_REPO
to https://rws-dev.tarantool.org.

See [1] about OS support.

1. #257

Closes #198
DifferentialOrange added a commit that referenced this issue Nov 8, 2022
New RPM spec is based on RHEL RPM guide for Python packages [1] merged
with results of `python3 setup.py bdist_rpm --spec-only`.

Beware that RPM name is changed based on recommendations for all
mainstream distributives (for example, see [2]). Binary RPM is named
python3-tarantool and source RPM is named python-tarantool. Before the
patch they both were called tarantool-python (even though there wasn't
new RPM releases since 0.6.5).

RPM is suitable for distributives with Python 3.7 or newer. See [3]
about pre-Python 3.7 systems support.

1. https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/installing_and_using_dynamic_programming_languages/assembly_packaging-python-3-rpms_installing-and-using-dynamic-programming-languages
2. https://fedoraproject.org/wiki/Packaging:Naming?rd=Packaging:NamingGuidelines#Python_source_package_naming
3. #257

Part of #164, #198
DifferentialOrange added a commit that referenced this issue Nov 8, 2022
See [1] about CentOS support. Fedora 37 is not tested yet since there is
no Tarantool for it.

1. #257

Part of #164, #198
DifferentialOrange added a commit that referenced this issue Nov 9, 2022
See [1] about older versions support. Only LTS Ubuntu versions are
included here.

1. #257

Part of #198
DifferentialOrange added a commit that referenced this issue Nov 9, 2022
Publish deb artifacts on tag.

To test, comment "run only on tags" condition, change RWS_REPO
to https://rws-dev.tarantool.org.

See [1] about other OS support.

1. #257

Closes #198
DifferentialOrange added a commit that referenced this issue Nov 9, 2022
Publish deb artifacts on tag.

To test, comment "run only on tags" condition, change RWS_REPO
to https://rws-dev.tarantool.org.

See [1] about other OS support.

1. #257

Closes #198
DifferentialOrange added a commit that referenced this issue Nov 9, 2022
New RPM spec is based on RHEL RPM guide for Python packages [1] merged
with results of `python3 setup.py bdist_rpm --spec-only`.

Beware that RPM name is changed based on recommendations for all
mainstream distributives (for example, see [2]). Binary RPM is named
python3-tarantool and source RPM is named python-tarantool. Before the
patch they both were called tarantool-python (even though there wasn't
new RPM releases since 0.6.5).

RPM is suitable for distributives with Python 3.7 or newer. See [3]
about pre-Python 3.7 systems support.

1. https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/installing_and_using_dynamic_programming_languages/assembly_packaging-python-3-rpms_installing-and-using-dynamic-programming-languages
2. https://fedoraproject.org/wiki/Packaging:Naming?rd=Packaging:NamingGuidelines#Python_source_package_naming
3. #257

Part of #164, #198
DifferentialOrange added a commit that referenced this issue Nov 9, 2022
See [1] about CentOS support. Fedora 37 is not tested yet since there is
no Tarantool for it.

1. #257

Part of #164, #198
DifferentialOrange added a commit that referenced this issue Nov 9, 2022
Publish RPM package on tag.

To test, comment "run only on tags" condition, change RWS_REPO
to https://rws-dev.tarantool.org.

See [1] about other OS support.

1. #257

Closes #164, part of #198
DifferentialOrange added a commit that referenced this issue Nov 9, 2022
New deb spec files are based on stdeb plugin generated files [1] and
Debian Style Guide for Packaging Python Libraries [2].

Beware that RPM name is changed based on recommendations for all
mainstream distributives [2]. deb files are named with python3-tarantool
prefix. Before the patch they were called tarantool-python (even though
there wasn't new deb releases since 0.6.5).

deb is suitable for distributives with Python 3.7 or newer. See [3]
about pre-Python 3.7 systems support.

Since deb requires changelog consistency to build, we generate
a changelog entry for all nightly CI builds.

1. https://pypi.org/project/stdeb/
2. https://wiki.debian.org/Python/LibraryStyleGuide?action=show&redirect=Python%2FPackaging
3. #257

Part of #198
DifferentialOrange added a commit that referenced this issue Nov 9, 2022
See [1] about older versions support. Only LTS Ubuntu versions are
included here.

1. #257

Part of #198
DifferentialOrange added a commit that referenced this issue Nov 9, 2022
Publish deb artifacts on tag.

To test, comment "run only on tags" condition, change RWS_REPO
to https://rws-dev.tarantool.org.

See [1] about other OS support.

1. #257

Closes #198
DifferentialOrange added a commit that referenced this issue Nov 9, 2022
New RPM spec is based on RHEL RPM guide for Python packages [1] merged
with results of `python3 setup.py bdist_rpm --spec-only`.

Beware that RPM name is changed based on recommendations for all
mainstream distributives (for example, see [2]). Binary RPM is named
python3-tarantool and source RPM is named python-tarantool. Before the
patch they both were called tarantool-python (even though there wasn't
new RPM releases since 0.6.5).

RPM is suitable for distributives with Python 3.7 or newer. See [3]
about pre-Python 3.7 systems support.

1. https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/installing_and_using_dynamic_programming_languages/assembly_packaging-python-3-rpms_installing-and-using-dynamic-programming-languages
2. https://fedoraproject.org/wiki/Packaging:Naming?rd=Packaging:NamingGuidelines#Python_source_package_naming
3. #257

Part of #164, #198
DifferentialOrange added a commit that referenced this issue Nov 9, 2022
See [1] about CentOS support. Fedora 37 is not tested yet since there is
no Tarantool for it.

1. #257

Part of #164, #198
DifferentialOrange added a commit that referenced this issue Nov 9, 2022
Publish RPM package on tag.

To test, comment "run only on tags" condition, change RWS_REPO
to https://rws-dev.tarantool.org.

See [1] about other OS support.

1. #257

Closes #164, part of #198
DifferentialOrange added a commit that referenced this issue Nov 9, 2022
New deb spec files are based on stdeb plugin generated files [1] and
Debian Style Guide for Packaging Python Libraries [2].

Beware that RPM name is changed based on recommendations for all
mainstream distributives [2]. deb files are named with python3-tarantool
prefix. Before the patch they were called tarantool-python (even though
there wasn't new deb releases since 0.6.5).

deb is suitable for distributives with Python 3.7 or newer. See [3]
about pre-Python 3.7 systems support.

Since deb requires changelog consistency to build, we generate
a changelog entry for all nightly CI builds.

1. https://pypi.org/project/stdeb/
2. https://wiki.debian.org/Python/LibraryStyleGuide?action=show&redirect=Python%2FPackaging
3. #257

Part of #198
DifferentialOrange added a commit that referenced this issue Nov 9, 2022
See [1] about older versions support. Only LTS Ubuntu versions are
included here.

1. #257

Part of #198
DifferentialOrange added a commit that referenced this issue Nov 9, 2022
Publish deb artifacts on tag.

To test, comment "run only on tags" condition, change RWS_REPO
to https://rws-dev.tarantool.org.

See [1] about other OS support.

1. #257

Closes #198
DifferentialOrange added a commit that referenced this issue Nov 9, 2022
Publish RPM package on tag.

To test, comment "run only on tags" condition, change RWS_REPO
to https://rws-dev.tarantool.org.

See [1] about other OS support.

1. #257

Closes #164, part of #198
DifferentialOrange added a commit that referenced this issue Nov 9, 2022
New deb spec files are based on stdeb plugin generated files [1] and
Debian Style Guide for Packaging Python Libraries [2].

Beware that RPM name is changed based on recommendations for all
mainstream distributives [2]. deb files are named with python3-tarantool
prefix. Before the patch they were called tarantool-python (even though
there wasn't new deb releases since 0.6.5).

deb is suitable for distributives with Python 3.7 or newer. See [3]
about pre-Python 3.7 systems support.

Since deb requires changelog consistency to build, we generate
a changelog entry for all nightly CI builds.

1. https://pypi.org/project/stdeb/
2. https://wiki.debian.org/Python/LibraryStyleGuide?action=show&redirect=Python%2FPackaging
3. #257

Part of #198
DifferentialOrange added a commit that referenced this issue Nov 9, 2022
See [1] about older versions support. Only LTS Ubuntu versions are
included here.

1. #257

Part of #198
DifferentialOrange added a commit that referenced this issue Nov 9, 2022
Publish deb artifacts on tag.

To test, comment "run only on tags" condition, change RWS_REPO
to https://rws-dev.tarantool.org.

See [1] about other OS support.

1. #257

Closes #198
DifferentialOrange added a commit that referenced this issue Nov 9, 2022
See [1] about older versions support. Only LTS Ubuntu versions are
included here.

1. #257

Part of #198
DifferentialOrange added a commit that referenced this issue Nov 9, 2022
Publish deb artifacts on tag.

To test, comment "run only on tags" condition, change RWS_REPO
to https://rws-dev.tarantool.org.

See [1] about other OS support.

1. #257

Closes #198
DifferentialOrange added a commit that referenced this issue Nov 9, 2022
New RPM spec is based on RHEL RPM guide for Python packages [1] merged
with results of `python3 setup.py bdist_rpm --spec-only`.

Beware that RPM name is changed based on recommendations for all
mainstream distributives (for example, see [2]). Binary RPM is named
python3-tarantool and source RPM is named python-tarantool. Before the
patch they both were called tarantool-python (even though there wasn't
new RPM releases since 0.6.5).

RPM is suitable for distributives with Python 3.7 or newer. See [3]
about pre-Python 3.7 systems support.

1. https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/installing_and_using_dynamic_programming_languages/assembly_packaging-python-3-rpms_installing-and-using-dynamic-programming-languages
2. https://fedoraproject.org/wiki/Packaging:Naming?rd=Packaging:NamingGuidelines#Python_source_package_naming
3. #257

Part of #164, #198
DifferentialOrange added a commit that referenced this issue Nov 9, 2022
See [1] about CentOS support. Fedora 37 is not tested yet since there is
no Tarantool for it.

1. #257

Part of #164, #198
DifferentialOrange added a commit that referenced this issue Nov 9, 2022
Publish RPM package on tag.

To test, comment "run only on tags" condition, change RWS_REPO
to https://rws-dev.tarantool.org.

See [1] about other OS support.

1. #257

Closes #164, part of #198
DifferentialOrange added a commit that referenced this issue Nov 9, 2022
New deb spec files are based on stdeb plugin generated files [1] and
Debian Style Guide for Packaging Python Libraries [2].

Beware that RPM name is changed based on recommendations for all
mainstream distributives [2]. deb files are named with python3-tarantool
prefix. Before the patch they were called tarantool-python (even though
there wasn't new deb releases since 0.6.5).

deb is suitable for distributives with Python 3.7 or newer. See [3]
about pre-Python 3.7 systems support.

Since deb requires changelog consistency to build, we generate
a changelog entry for all nightly CI builds.

1. https://pypi.org/project/stdeb/
2. https://wiki.debian.org/Python/LibraryStyleGuide?action=show&redirect=Python%2FPackaging
3. #257

Part of #198
DifferentialOrange added a commit that referenced this issue Nov 9, 2022
See [1] about older versions support. Only LTS Ubuntu versions are
included here.

1. #257

Part of #198
DifferentialOrange added a commit that referenced this issue Nov 9, 2022
Publish deb artifacts on tag.

To test, comment "run only on tags" condition, change RWS_REPO
to https://rws-dev.tarantool.org.

See [1] about other OS support.

1. #257

Closes #198
@DifferentialOrange DifferentialOrange added the question Further information is requested label Feb 27, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backlog question Further information is requested
Projects
None yet
Development

No branches or pull requests

2 participants