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

Add 3.11 to images with newer openssl as needed - also update sqlite #93

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

emlowe
Copy link
Contributor

@emlowe emlowe commented Jan 15, 2025

Attempt to do this in a smarter way

Add python 3.11 rather than replace 3.10 so both should be available in the build image.
Update sqlite to 3.45.1 for both
Install openssl 3 on Ubuntu 20 and Rocky8 and use for python 3.11 only

This image should then be able to be used with either 3.10 or 3.11 (w/ updated openssl) as needed

wget -q https://sqlite.org/2022/sqlite-autoconf-3400100.tar.gz && \
tar -xzf sqlite-autoconf-3400100.tar.gz && \
cd sqlite-autoconf-3400100 && \
wget -q https://www.sqlite.org/2024/sqlite-autoconf-3450100.tar.gz && \
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

where do we document and/or check our required sqlite minimum version? is this ok with that?

# Compile newer version of python3
RUN yum -y install openssl openssl-devel zlib-devel bzip2 bzip2-devel readline-devel tk-devel libffi-devel xz-devel && \
cd ~ && \
# Set up pyenv \
git clone https://github.com/pyenv/pyenv.git ~/.pyenv && \
pyenv install 3.10 && \
# setup python 3.10 \
PYTHON_CONFIGURE_OPTS="--enable-shared --enable-optimizations" pyenv install 3.10 && \
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

do we want to be changing 3.10 configure options?

# setup python 3.10 \
PYTHON_CONFIGURE_OPTS="--enable-shared --enable-optimizations" pyenv install 3.10 && \
# setup python 3.11 w/ openssl 3 \
PYTHON_CONFIGURE_OPTS="--with-openssl=/usr/local/ssl --with-openssl-rpath=auto --enable-shared --enable-optimizations" pyenv install 3.11 && \
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

review the details of optimizations specifically related to asserts being disabled

pyenv global 3.10 && \
pip install --upgrade pip && \
pip install --no-cache-dir py3createtorrent awscli && \
python3 -c 'import sys; import sqlite3; sys.exit(sqlite3.sqlite_version != "3.40.1")' && \
python3 -c 'import sys; import sqlite3; sys.exit(sqlite3.sqlite_version != "3.45.1")' && \
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

do we want to be changing the sqlite version in 3.10? i know that it would be more hassle to have two versions. just make sure we plan accordingly.

Comment on lines +54 to +55
pip install --upgrade pip && \
pip install --no-cache-dir py3createtorrent awscli && \
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

eh? what for? global installs usually not great.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Because there were some things in the past that assumed these were present. We might have actually fixed all those. If you can't find any examples of assuming this was installed globally, we can probably drop this.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

aws cli is probably useful to keep, since its more of a system level tool than specific to any one project/package, but dropping the torrent thing if its not assumed global is fine with me

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants