You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Brandon Williams (Jira)" <ji...@apache.org> on 2021/03/04 17:57:00 UTC

[jira] [Comment Edited] (CASSANDRA-16480) cassandra-builds produce deb packages that require python 3.7

    [ https://issues.apache.org/jira/browse/CASSANDRA-16480?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17295481#comment-17295481 ] 

Brandon Williams edited comment on CASSANDRA-16480 at 3/4/21, 5:56 PM:
-----------------------------------------------------------------------

Well, even if Bionic can install python37, we can't make it execute cqlsh with it without getting more invasive that would either be inappropriate (changing the system's python3) or undesirable (separate Ubuntu package with a patch to modify the shebang.)  I checked how they packaged apps that require > 3.6, and there aren't any, yet.  Bionic's going to have a weird time at some point in the future here.

So I guess we'll take the middle approach and remove the python3 depends clause, since that is producing version-specific artifacts against the version building them.  I checked the diff between using it and not:

{noformat}
 -rw-r--r-- root/root    210641 2020-12-18 17:32 ./usr/share/cassandra/lib/sigar-bin/libsigar-amd64-freebsd-6.cpython-36m-x86_64-linux-gnu.so
131d129
< -rw-r--r-- root/root    246605 2020-12-18 17:32 ./usr/share/cassandra/lib/sigar-bin/libsigar-amd64-linux.cpython-36m-x86_64-linux-gnu.so
133d130
< -rw-r--r-- root/root    251360 2020-12-18 17:32 ./usr/share/cassandra/lib/sigar-bin/libsigar-amd64-solaris.cpython-36m-x86_64-linux-gnu.so
136d132
< -rw-r--r-- root/root    494929 2020-12-18 17:32 ./usr/share/cassandra/lib/sigar-bin/libsigar-ia64-linux.cpython-36m-x86_64-linux-gnu.so
139d134
< -rw-r--r-- root/root    400925 2020-12-18 17:32 ./usr/share/cassandra/lib/sigar-bin/libsigar-ppc-aix-5.cpython-36m-x86_64-linux-gnu.so
141d135
< -rw-r--r-- root/root    258547 2020-12-18 17:32 ./usr/share/cassandra/lib/sigar-bin/libsigar-ppc-linux.cpython-36m-x86_64-linux-gnu.so
143d136
< -rw-r--r-- root/root    425077 2020-12-18 17:32 ./usr/share/cassandra/lib/sigar-bin/libsigar-ppc64-aix-5.cpython-36m-x86_64-linux-gnu.so
145d137
< -rw-r--r-- root/root    330767 2020-12-18 17:32 ./usr/share/cassandra/lib/sigar-bin/libsigar-ppc64-linux.cpython-36m-x86_64-linux-gnu.so
147d138
< -rw-r--r-- root/root    310792 2020-12-18 17:32 ./usr/share/cassandra/lib/sigar-bin/libsigar-ppc64le-linux.cpython-36m-x86_64-linux-gnu.so
149d139
< -rw-r--r-- root/root    269932 2020-12-18 17:32 ./usr/share/cassandra/lib/sigar-bin/libsigar-s390x-linux.cpython-36m-x86_64-linux-gnu.so
151d140
< -rw-r--r-- root/root    285004 2020-12-18 17:32 ./usr/share/cassandra/lib/sigar-bin/libsigar-sparc-solaris.cpython-36m-x86_64-linux-gnu.so
153d141
< -rw-r--r-- root/root    261896 2020-12-18 17:32 ./usr/share/cassandra/lib/sigar-bin/libsigar-sparc64-solaris.cpython-36m-x86_64-linux-gnu.so
157d144
< -rw-r--r-- root/root    179751 2020-12-18 17:32 ./usr/share/cassandra/lib/sigar-bin/libsigar-x86-freebsd-5.cpython-36m-x86_64-linux-gnu.so
159d145
< -rw-r--r-- root/root    179379 2020-12-18 17:32 ./usr/share/cassandra/lib/sigar-bin/libsigar-x86-freebsd-6.cpython-36m-x86_64-linux-gnu.so
161d146
< -rw-r--r-- root/root    233385 2020-12-18 17:32 ./usr/share/cassandra/lib/sigar-bin/libsigar-x86-linux.cpython-36m-x86_64-linux-gnu.so
163d147
< -rw-r--r-- root/root    242880 2020-12-18 17:32 ./usr/share/cassandra/lib/sigar-bin/libsigar-x86-solaris.cpython-36m-x86_64-linux-gnu.so
{noformat}

These are just extra libs, as we already have the sigar libs without any cython-specifics (for instance /usr/share/cassandra/lib/sigar-bin/libsigar-amd64-freebsd-6.cpython-36m-x86_64-linux-gnu.so is added with the depds, where /usr/share/cassandra/lib/sigar-bin/libsigar-amd64-freebsd-6.so already exists without.) And of course we don't even use sigar from python.

|Patch|CI|
|[3.0|https://github.com/driftx/cassandra/tree/CASSANDRA-16480-3.0]|[!https://ci-cassandra.apache.org/job/Cassandra-devbranch/451/badge/icon!|https://ci-cassandra.apache.org/blue/organizations/jenkins/Cassandra-devbranch/detail/Cassandra-devbranch/451/pipeline]|
|[3.11|https://github.com/driftx/cassandra/tree/CASSANDRA-16480-3.11]|[!https://ci-cassandra.apache.org/job/Cassandra-devbranch/453/badge/icon!|https://ci-cassandra.apache.org/blue/organizations/jenkins/Cassandra-devbranch/detail/Cassandra-devbranch/453/pipeline]|
|[trunk|https://github.com/driftx/cassandra/tree/CASSANDRA-16480]|[!https://ci-cassandra.apache.org/job/Cassandra-devbranch/454/badge/icon!|https://ci-cassandra.apache.org/blue/organizations/jenkins/Cassandra-devbranch/detail/Cassandra-devbranch/454/pipeline]|


was (Author: brandon.williams):
Well, even if Bionic can install python37, we can't make it execute cqlsh with it without getting more invasive that would either be inappropriate (changing the system's python3) or undesirable (separate Ubuntu package with a a patch to modify the shebang.)  I checked how they packaged apps that require > 3.6, and there aren't any, yet.  Bionic's going to have a weird time at some point in the future here.

So I guess we'll take the middle approach and remove the python3 depends clause, since that is producing version-specific artifacts against the version building them.  I checked the diff between using it and not:

{noformat}
 -rw-r--r-- root/root    210641 2020-12-18 17:32 ./usr/share/cassandra/lib/sigar-bin/libsigar-amd64-freebsd-6.cpython-36m-x86_64-linux-gnu.so
131d129
< -rw-r--r-- root/root    246605 2020-12-18 17:32 ./usr/share/cassandra/lib/sigar-bin/libsigar-amd64-linux.cpython-36m-x86_64-linux-gnu.so
133d130
< -rw-r--r-- root/root    251360 2020-12-18 17:32 ./usr/share/cassandra/lib/sigar-bin/libsigar-amd64-solaris.cpython-36m-x86_64-linux-gnu.so
136d132
< -rw-r--r-- root/root    494929 2020-12-18 17:32 ./usr/share/cassandra/lib/sigar-bin/libsigar-ia64-linux.cpython-36m-x86_64-linux-gnu.so
139d134
< -rw-r--r-- root/root    400925 2020-12-18 17:32 ./usr/share/cassandra/lib/sigar-bin/libsigar-ppc-aix-5.cpython-36m-x86_64-linux-gnu.so
141d135
< -rw-r--r-- root/root    258547 2020-12-18 17:32 ./usr/share/cassandra/lib/sigar-bin/libsigar-ppc-linux.cpython-36m-x86_64-linux-gnu.so
143d136
< -rw-r--r-- root/root    425077 2020-12-18 17:32 ./usr/share/cassandra/lib/sigar-bin/libsigar-ppc64-aix-5.cpython-36m-x86_64-linux-gnu.so
145d137
< -rw-r--r-- root/root    330767 2020-12-18 17:32 ./usr/share/cassandra/lib/sigar-bin/libsigar-ppc64-linux.cpython-36m-x86_64-linux-gnu.so
147d138
< -rw-r--r-- root/root    310792 2020-12-18 17:32 ./usr/share/cassandra/lib/sigar-bin/libsigar-ppc64le-linux.cpython-36m-x86_64-linux-gnu.so
149d139
< -rw-r--r-- root/root    269932 2020-12-18 17:32 ./usr/share/cassandra/lib/sigar-bin/libsigar-s390x-linux.cpython-36m-x86_64-linux-gnu.so
151d140
< -rw-r--r-- root/root    285004 2020-12-18 17:32 ./usr/share/cassandra/lib/sigar-bin/libsigar-sparc-solaris.cpython-36m-x86_64-linux-gnu.so
153d141
< -rw-r--r-- root/root    261896 2020-12-18 17:32 ./usr/share/cassandra/lib/sigar-bin/libsigar-sparc64-solaris.cpython-36m-x86_64-linux-gnu.so
157d144
< -rw-r--r-- root/root    179751 2020-12-18 17:32 ./usr/share/cassandra/lib/sigar-bin/libsigar-x86-freebsd-5.cpython-36m-x86_64-linux-gnu.so
159d145
< -rw-r--r-- root/root    179379 2020-12-18 17:32 ./usr/share/cassandra/lib/sigar-bin/libsigar-x86-freebsd-6.cpython-36m-x86_64-linux-gnu.so
161d146
< -rw-r--r-- root/root    233385 2020-12-18 17:32 ./usr/share/cassandra/lib/sigar-bin/libsigar-x86-linux.cpython-36m-x86_64-linux-gnu.so
163d147
< -rw-r--r-- root/root    242880 2020-12-18 17:32 ./usr/share/cassandra/lib/sigar-bin/libsigar-x86-solaris.cpython-36m-x86_64-linux-gnu.so
{noformat}

These are just extra libs, as we already have the sigar libs without any cython-specifics (for instance /usr/share/cassandra/lib/sigar-bin/libsigar-amd64-freebsd-6.cpython-36m-x86_64-linux-gnu.so is added with the depds, where /usr/share/cassandra/lib/sigar-bin/libsigar-amd64-freebsd-6.so already exists without.) And of course we don't even use sigar from python.

|Patch|CI|
|[3.0|https://github.com/driftx/cassandra/tree/CASSANDRA-16480-3.0]|[!https://ci-cassandra.apache.org/job/Cassandra-devbranch/451/badge/icon!|https://ci-cassandra.apache.org/blue/organizations/jenkins/Cassandra-devbranch/detail/Cassandra-devbranch/451/pipeline]|
|[3.11|https://github.com/driftx/cassandra/tree/CASSANDRA-16480-3.11]|[!https://ci-cassandra.apache.org/job/Cassandra-devbranch/453/badge/icon!|https://ci-cassandra.apache.org/blue/organizations/jenkins/Cassandra-devbranch/detail/Cassandra-devbranch/453/pipeline]|
|[trunk|https://github.com/driftx/cassandra/tree/CASSANDRA-16480]|[!https://ci-cassandra.apache.org/job/Cassandra-devbranch/454/badge/icon!|https://ci-cassandra.apache.org/blue/organizations/jenkins/Cassandra-devbranch/detail/Cassandra-devbranch/454/pipeline]|

> cassandra-builds produce deb packages that require python 3.7
> -------------------------------------------------------------
>
>                 Key: CASSANDRA-16480
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-16480
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Packaging
>            Reporter: Alexander Dejanovski
>            Assignee: Brandon Williams
>            Priority: Normal
>             Fix For: 4.0-beta
>
>
> Since the builds moved from depending on python 2 to  python 3, the packages that are produced by the [cassandra-builds project|https://github.com/apache/cassandra-builds] expect Python 3.7 to be installed on the target systems:
> {noformat}
> $ sudo dpkg -i cassandra_4.0~beta5-20210303gitd29dd643df_all.deb
> (Reading database ... 117878 files and directories currently installed.)
> Preparing to unpack cassandra_4.0~beta5-20210303gitd29dd643df_all.deb ...
> Unpacking cassandra (4.0~beta5-20210303gitd29dd643df) over (4.0~beta5-20210303git25f3cf84f7) ...
> dpkg: dependency problems prevent configuration of cassandra:
>  cassandra depends on python3 (>= 3.7~); however:
>   Version of python3 on system is 3.6.7-1~18.04.dpkg: error processing package cassandra (--install):
>  dependency problems - leaving unconfigured
> Processing triggers for systemd (237-3ubuntu10.38) ...
> Processing triggers for ureadahead (0.100.0-21) ...
> Errors were encountered while processing:
>  cassandra{noformat}
> The [test docker images|https://github.com/apache/cassandra-builds/blob/trunk/docker/testing/ubuntu1910_j11.docker#L35-L36] ship with both py36 and py38, which allows the install to pass nicely, but on a vanilla Ubuntu Bionic system, only Python 3.6 is installed.
> We need to use debian buster images for builds that ship with python 3.6 so that the dependencies align with it. 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org