diff --git a/docker_build/target_base_run/Dockerfile b/docker_build/target_base_run/Dockerfile index 5cff237ca4..ca50da86d1 100644 --- a/docker_build/target_base_run/Dockerfile +++ b/docker_build/target_base_run/Dockerfile @@ -23,7 +23,7 @@ RUN apt-get update \ # Configure libraries for MSSQL RUN cat /usr/share/tdsodbc/odbcinst.ini >> /etc/odbcinst.ini -ENV LD_LIBRARY_PATH $LD_LIBRARY_PATH:/usr/lib/x86_64-linux-gnu/odbc +ENV LD_LIBRARY_PATH $LD_LIBRARY_PATH:/usr/lib/x86_64-linux-gnu/odbc:/usr/local/openssl/lib # install python 3.10 RUN bash /tmp/install_py_310.sh diff --git a/docker_build/target_base_run/install_py_310.sh b/docker_build/target_base_run/install_py_310.sh index c86e52db20..6af98f633e 100644 --- a/docker_build/target_base_run/install_py_310.sh +++ b/docker_build/target_base_run/install_py_310.sh @@ -6,6 +6,37 @@ echo 'deb http://ppa.launchpad.net/deadsnakes/ppa/ubuntu noble main' > /etc/apt/ apt-get update +apt-get install --yes \ + curl \ + gnupg \ + perl \ + gcc \ + make + +# TODO remove perl and gcc – needed for installation only +# TODO move gnupg somewhere else +# TODO curl is not needed here also + +OPENSSL_PREFIX_DIR="/usr/local/openssl" + +curl -fsSL --output openssl-3.5.4.tar.gz https://github.com/openssl/openssl/releases/download/openssl-3.5.4/openssl-3.5.4.tar.gz \ + && curl -fsSL --output openssl-3.5.4.tar.gz.asc https://github.com/openssl/openssl/releases/download/openssl-3.5.4/openssl-3.5.4.tar.gz.asc \ + && export GNUPGHOME="$(mktemp -d)" \ + && (for i in 1 2 3 4 5; do gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "216094DFD0CB81EF" && break; sleep 3; done) \ + && gpg --batch --verify openssl-3.5.4.tar.gz.asc openssl-3.5.4.tar.gz \ + && { command -v gpgconf > /dev/null && gpgconf --kill all || :; } \ + && rm --force --recursive "$GNUPGHOME" \ + && mkdir --parents /usr/src/openssl \ + && tar -xzC /usr/src/openssl --strip-components=1 -f openssl-3.5.4.tar.gz \ + && rm openssl-3.5.4.tar.gz openssl-3.5.4.tar.gz.asc \ + && cd /usr/src/openssl \ + && ./config --prefix="$OPENSSL_PREFIX_DIR" --openssldir="$OPENSSL_PREFIX_DIR" --libdir=lib '-Wl,-rpath,${OPENSSL_PREFIX_DIR}/lib' \ + && make \ + && make install \ + && rm --force --recursive /usr/src/openssl + +mv /usr/local/openssl/bin/openssl /usr/bin/openssl + apt-get install -y python3.10 libpython3.10 || sleep "$y" ; ln -sf python3.10 /usr/bin/python && ln -sf python3.10 /usr/bin/python3