From 4fc710aec4c59e0477aadba56572402be164e60e Mon Sep 17 00:00:00 2001 From: STAM Date: Fri, 14 Feb 2025 20:54:24 +0300 Subject: [PATCH] openssl update --- CHANGELOG.md | 2 + .../debian/11-bullseye/develop/Dockerfile | 20 +-- .../debian/12-bookworm/develop/Dockerfile | 20 +-- .../debian/12-bookworm/python/3.10/Dockerfile | 152 ++++++++++++++++++ .../debian/12-bookworm/python/3.10/Makefile | 36 +++++ .../python/3.10/docker-compose.yml | 6 + .../apt/preferences.d/block-python-packages | 3 + .../apt/preferences.d/block-python2-packages | 3 + .../apt/preferences.d/block-python3-packages | 3 + .../debian/12-bookworm/python/3.11/Dockerfile | 152 ++++++++++++++++++ .../debian/12-bookworm/python/3.11/Makefile | 36 +++++ .../python/3.11/docker-compose.yml | 6 + .../apt/preferences.d/block-python-packages | 3 + .../apt/preferences.d/block-python2-packages | 3 + .../apt/preferences.d/block-python3-packages | 3 + .../debian/12-bookworm/python/3.12/Dockerfile | 152 ++++++++++++++++++ .../debian/12-bookworm/python/3.12/Makefile | 36 +++++ .../python/3.12/docker-compose.yml | 6 + .../apt/preferences.d/block-python-packages | 3 + .../apt/preferences.d/block-python2-packages | 3 + .../apt/preferences.d/block-python3-packages | 3 + .../debian/12-bookworm/python/3.13/Dockerfile | 70 +++++--- .../debian/13-trixie/develop/Dockerfile | 20 +-- .../epicmorg/debian/sid/develop/Dockerfile | 20 +-- 24 files changed, 700 insertions(+), 61 deletions(-) create mode 100644 linux/ecosystem/epicmorg/debian/12-bookworm/python/3.10/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/12-bookworm/python/3.10/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/12-bookworm/python/3.10/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/12-bookworm/python/3.10/etc/apt/preferences.d/block-python-packages create mode 100644 linux/ecosystem/epicmorg/debian/12-bookworm/python/3.10/etc/apt/preferences.d/block-python2-packages create mode 100644 linux/ecosystem/epicmorg/debian/12-bookworm/python/3.10/etc/apt/preferences.d/block-python3-packages create mode 100644 linux/ecosystem/epicmorg/debian/12-bookworm/python/3.11/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/12-bookworm/python/3.11/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/12-bookworm/python/3.11/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/12-bookworm/python/3.11/etc/apt/preferences.d/block-python-packages create mode 100644 linux/ecosystem/epicmorg/debian/12-bookworm/python/3.11/etc/apt/preferences.d/block-python2-packages create mode 100644 linux/ecosystem/epicmorg/debian/12-bookworm/python/3.11/etc/apt/preferences.d/block-python3-packages create mode 100644 linux/ecosystem/epicmorg/debian/12-bookworm/python/3.12/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/12-bookworm/python/3.12/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/12-bookworm/python/3.12/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/12-bookworm/python/3.12/etc/apt/preferences.d/block-python-packages create mode 100644 linux/ecosystem/epicmorg/debian/12-bookworm/python/3.12/etc/apt/preferences.d/block-python2-packages create mode 100644 linux/ecosystem/epicmorg/debian/12-bookworm/python/3.12/etc/apt/preferences.d/block-python3-packages diff --git a/CHANGELOG.md b/CHANGELOG.md index d890962de..50fc07075 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,8 @@ * `feb` * added `zabbix` images with `7.2` version * added `OpenSSL` version `3.4.x` + * updated `OpenSSL` versions. + * created draft `python` base images based on `debian 12`. * `jan` * updated `atlassian` images * updated some deps in images: diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/develop/Dockerfile b/linux/ecosystem/epicmorg/debian/11-bullseye/develop/Dockerfile index 7d83bce2e..11e647151 100644 --- a/linux/ecosystem/epicmorg/debian/11-bullseye/develop/Dockerfile +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/develop/Dockerfile @@ -186,8 +186,8 @@ ARG OPENSSL_111_DOWNLOAD_URL=https://www.openssl.org/source/old/${OPENSSL_111_VE ARG OPENSSL_111_TEMP=/tmp/openssl-${OPENSSL_111_VERSION}w.tar.gz ARG OPENSSL_111_TEMP_SRC=/tmp/openssl-${OPENSSL_111_VERSION}w -# OpenSSL 3.0.15 -ENV OPENSSL_30_VERSION=3.0.15 +# OpenSSL 3.0 +ENV OPENSSL_30_VERSION=3.0.16 ENV OPENSSL_30_DIR=${EMG_LOCAL_BASE_DIR}/openssl/${OPENSSL_30_VERSION} ENV OPENSSL_30_BIN_DIR=${OPENSSL_30_DIR}/bin ENV OPENSSL_30_INC_DIR=${OPENSSL_30_DIR}/include @@ -197,8 +197,8 @@ ARG OPENSSL_30_DOWNLOAD_URL=https://www.openssl.org/source/openssl-${OPENSSL_30_ ARG OPENSSL_30_TEMP=/tmp/openssl-${OPENSSL_30_VERSION}.tar.gz ARG OPENSSL_30_TEMP_SRC=/tmp/openssl-${OPENSSL_30_VERSION} -# OpenSSL 3.1.7 -ENV OPENSSL_31_VERSION=3.1.7 +# OpenSSL 3.1 +ENV OPENSSL_31_VERSION=3.1.8 ENV OPENSSL_31_DIR=${EMG_LOCAL_BASE_DIR}/openssl/${OPENSSL_31_VERSION} ENV OPENSSL_31_BIN_DIR=${OPENSSL_31_DIR}/bin ENV OPENSSL_31_INC_DIR=${OPENSSL_31_DIR}/include @@ -208,8 +208,8 @@ ARG OPENSSL_31_DOWNLOAD_URL=https://www.openssl.org/source/openssl-${OPENSSL_31_ ARG OPENSSL_31_TEMP=/tmp/openssl-${OPENSSL_31_VERSION}.tar.gz ARG OPENSSL_31_TEMP_SRC=/tmp/openssl-${OPENSSL_31_VERSION} -# OpenSSL 3.2.3 -ENV OPENSSL_32_VERSION=3.2.3 +# OpenSSL 3.2 +ENV OPENSSL_32_VERSION=3.2.4 ENV OPENSSL_32_DIR=${EMG_LOCAL_BASE_DIR}/openssl/${OPENSSL_32_VERSION} ENV OPENSSL_32_BIN_DIR=${OPENSSL_32_DIR}/bin ENV OPENSSL_32_INC_DIR=${OPENSSL_32_DIR}/include @@ -219,8 +219,8 @@ ARG OPENSSL_32_DOWNLOAD_URL=https://www.openssl.org/source/openssl-${OPENSSL_32_ ARG OPENSSL_32_TEMP=/tmp/openssl-${OPENSSL_32_VERSION}.tar.gz ARG OPENSSL_32_TEMP_SRC=/tmp/openssl-${OPENSSL_32_VERSION} -# OpenSSL 3.3.2 -ENV OPENSSL_33_VERSION=3.3.2 +# OpenSSL 3.3 +ENV OPENSSL_33_VERSION=3.3.3 ENV OPENSSL_33_DIR=${EMG_LOCAL_BASE_DIR}/openssl/${OPENSSL_33_VERSION} ENV OPENSSL_33_BIN_DIR=${OPENSSL_33_DIR}/bin ENV OPENSSL_33_INC_DIR=${OPENSSL_33_DIR}/include @@ -230,8 +230,8 @@ ARG OPENSSL_33_DOWNLOAD_URL=https://www.openssl.org/source/openssl-${OPENSSL_33_ ARG OPENSSL_33_TEMP=/tmp/openssl-${OPENSSL_33_VERSION}.tar.gz ARG OPENSSL_33_TEMP_SRC=/tmp/openssl-${OPENSSL_33_VERSION} -# OpenSSL 3.4.0 -ENV OPENSSL_34_VERSION=3.4.0 +# OpenSSL 3.4 +ENV OPENSSL_34_VERSION=3.4.1 ENV OPENSSL_34_DIR=${EMG_LOCAL_BASE_DIR}/openssl/${OPENSSL_34_VERSION} ENV OPENSSL_34_BIN_DIR=${OPENSSL_34_DIR}/bin ENV OPENSSL_34_INC_DIR=${OPENSSL_34_DIR}/include diff --git a/linux/ecosystem/epicmorg/debian/12-bookworm/develop/Dockerfile b/linux/ecosystem/epicmorg/debian/12-bookworm/develop/Dockerfile index b904527fc..bf691ba71 100644 --- a/linux/ecosystem/epicmorg/debian/12-bookworm/develop/Dockerfile +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/develop/Dockerfile @@ -186,8 +186,8 @@ ARG OPENSSL_111_DOWNLOAD_URL=https://www.openssl.org/source/old/${OPENSSL_111_VE ARG OPENSSL_111_TEMP=/tmp/openssl-${OPENSSL_111_VERSION}w.tar.gz ARG OPENSSL_111_TEMP_SRC=/tmp/openssl-${OPENSSL_111_VERSION}w -# OpenSSL 3.0.15 -ENV OPENSSL_30_VERSION=3.0.15 +# OpenSSL 3.0 +ENV OPENSSL_30_VERSION=3.0.16 ENV OPENSSL_30_DIR=${EMG_LOCAL_BASE_DIR}/openssl/${OPENSSL_30_VERSION} ENV OPENSSL_30_BIN_DIR=${OPENSSL_30_DIR}/bin ENV OPENSSL_30_INC_DIR=${OPENSSL_30_DIR}/include @@ -197,8 +197,8 @@ ARG OPENSSL_30_DOWNLOAD_URL=https://www.openssl.org/source/openssl-${OPENSSL_30_ ARG OPENSSL_30_TEMP=/tmp/openssl-${OPENSSL_30_VERSION}.tar.gz ARG OPENSSL_30_TEMP_SRC=/tmp/openssl-${OPENSSL_30_VERSION} -# OpenSSL 3.1.7 -ENV OPENSSL_31_VERSION=3.1.7 +# OpenSSL 3.1 +ENV OPENSSL_31_VERSION=3.1.8 ENV OPENSSL_31_DIR=${EMG_LOCAL_BASE_DIR}/openssl/${OPENSSL_31_VERSION} ENV OPENSSL_31_BIN_DIR=${OPENSSL_31_DIR}/bin ENV OPENSSL_31_INC_DIR=${OPENSSL_31_DIR}/include @@ -208,8 +208,8 @@ ARG OPENSSL_31_DOWNLOAD_URL=https://www.openssl.org/source/openssl-${OPENSSL_31_ ARG OPENSSL_31_TEMP=/tmp/openssl-${OPENSSL_31_VERSION}.tar.gz ARG OPENSSL_31_TEMP_SRC=/tmp/openssl-${OPENSSL_31_VERSION} -# OpenSSL 3.2.3 -ENV OPENSSL_32_VERSION=3.2.3 +# OpenSSL 3.2 +ENV OPENSSL_32_VERSION=3.2.4 ENV OPENSSL_32_DIR=${EMG_LOCAL_BASE_DIR}/openssl/${OPENSSL_32_VERSION} ENV OPENSSL_32_BIN_DIR=${OPENSSL_32_DIR}/bin ENV OPENSSL_32_INC_DIR=${OPENSSL_32_DIR}/include @@ -219,8 +219,8 @@ ARG OPENSSL_32_DOWNLOAD_URL=https://www.openssl.org/source/openssl-${OPENSSL_32_ ARG OPENSSL_32_TEMP=/tmp/openssl-${OPENSSL_32_VERSION}.tar.gz ARG OPENSSL_32_TEMP_SRC=/tmp/openssl-${OPENSSL_32_VERSION} -# OpenSSL 3.3.2 -ENV OPENSSL_33_VERSION=3.3.2 +# OpenSSL 3.3 +ENV OPENSSL_33_VERSION=3.3.3 ENV OPENSSL_33_DIR=${EMG_LOCAL_BASE_DIR}/openssl/${OPENSSL_33_VERSION} ENV OPENSSL_33_BIN_DIR=${OPENSSL_33_DIR}/bin ENV OPENSSL_33_INC_DIR=${OPENSSL_33_DIR}/include @@ -230,8 +230,8 @@ ARG OPENSSL_33_DOWNLOAD_URL=https://www.openssl.org/source/openssl-${OPENSSL_33_ ARG OPENSSL_33_TEMP=/tmp/openssl-${OPENSSL_33_VERSION}.tar.gz ARG OPENSSL_33_TEMP_SRC=/tmp/openssl-${OPENSSL_33_VERSION} -# OpenSSL 3.4.0 -ENV OPENSSL_34_VERSION=3.4.0 +# OpenSSL 3.4 +ENV OPENSSL_34_VERSION=3.4.1 ENV OPENSSL_34_DIR=${EMG_LOCAL_BASE_DIR}/openssl/${OPENSSL_34_VERSION} ENV OPENSSL_34_BIN_DIR=${OPENSSL_34_DIR}/bin ENV OPENSSL_34_INC_DIR=${OPENSSL_34_DIR}/include diff --git a/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.10/Dockerfile b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.10/Dockerfile new file mode 100644 index 000000000..b4baefd5a --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.10/Dockerfile @@ -0,0 +1,152 @@ +FROM epicmorg/debian:bookworm-develop as builder + +RUN apt update && apt install -y \ + build-essential \ + libssl-dev \ + zlib1g-dev \ + libncurses5-dev \ + libncursesw5-dev \ + libreadline-dev \ + libsqlite3-dev \ + libgdbm-dev \ + libdb5.3-dev \ + libbz2-dev \ + libexpat1-dev \ + liblzma-dev \ + libffi-dev \ + uuid-dev \ + tk-dev + +# /etc/ld.so.conf.d/ +ARG LD_CONF_DIR=/etc/ld.so.conf.d/ + +# python 3.10 +ENV PYTHON_VERSION=3.10 +ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.16 +ENV PYTHON_DIR=${EMG_LOCAL_BASE_DIR}/python/${PYTHON_FULL_VERSION} +ARG PYTHON_BIN_DIR=${PYTHON_DIR}/bin +ARG PYTHON_SRC_DIR=${PYTHON_DIR}/src +ARG PYTHON_DOWNLOAD_URL=https://www.python.org/ftp/python/${PYTHON_FULL_VERSION}/Python-${PYTHON_FULL_VERSION}.tgz +ARG PYTHON_TEMP=/tmp/Python-${PYTHON_FULL_VERSION}.tgz + +################################################################## +# CMake +################################################################## +RUN mkdir -p ${PYTHON_DIR} ${PYTHON_SRC_DIR} ${PYTHON_BIN_DIR} +ADD ${PYTHON_DOWNLOAD_URL} /tmp + +RUN tar -xvzf ${PYTHON_TEMP} --strip-components=1 --directory ${PYTHON_SRC_DIR} + +ENV OPENSSL_ROOT=${OPENSSL_34_DIR} +ENV LD_LIBRARY_PATH=${OPENSSL_ROOT}/lib64:$LD_LIBRARY_PATH + +ENV PATH="${PYTHON_BIN_DIR}:${PATH}" + +WORKDIR ${PYTHON_SRC_DIR} + +RUN ./configure \ + --prefix=${PYTHON_DIR} \ + --enable-optimizations \ + --enable-option-checking=fatal \ + --with-lto \ + --enable-loadable-sqlite-extensions \ + --with-ensurepip=install \ + --enable-profiling \ + --with-system-expat \ + --enable-option-checking=fatal \ + --with-computed-gotos \ + --with-pydebug \ + --with-trace-refs \ + --with-assertions \ + --with-valgrind \ + --with-static-libpython \ + --with-openssl-rpath=auto \ + --with-openssl=${OPENSSL_34_DIR} \ + LDFLAGS="-Wl,-rpath,${OPENSSL_34_DIR}/lib64" \ + CPPFLAGS="-I${OPENSSL_34_DIR}/include" + +RUN make -j$(nproc) && \ + make altinstall + +RUN python${PYTHON_VERSION} -c "import ssl; print(ssl.OPENSSL_VERSION)" + +################################################################## +################################################################## +################################################################## +# Final Layer +################################################################## +################################################################## +################################################################## +FROM epicmorg/debian:bookworm + +RUN apt-get remove -y python3-pip + +# /etc/ld.so.conf.d/ +ARG LD_CONF_DIR=/etc/ld.so.conf.d/ + +################################################################## +# OpenSSL 3.4 +################################################################## +ENV OPENSSL_34_VERSION=3.4.1 +ENV OPENSSL_34_DIR=${EMG_LOCAL_BASE_DIR}/openssl/${OPENSSL_34_VERSION} +ENV OPENSSL_34_BIN_DIR=${OPENSSL_34_DIR}/bin +ENV OPENSSL_34_INC_DIR=${OPENSSL_34_DIR}/include +ENV OPENSSL_34_LIB_DIR=${OPENSSL_34_DIR}/lib64 +ENV OPENSSL_34_SRC_DIR=/usr/local/src/openssl/${OPENSSL_34_VERSION} + +################################################################## +# Python 3.10 +################################################################## +ENV PYTHON_VERSION=3.10 +ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.16 +ENV PYTHON_DIR=${EMG_LOCAL_BASE_DIR}/python/${PYTHON_FULL_VERSION} +ARG PYTHON_BIN_DIR=${PYTHON_DIR}/bin +ARG PYTHON_SRC_DIR=${PYTHON_DIR}/src + +COPY etc/apt/preferences.d /etc/apt/preferences.d +COPY --from=builder ${PYTHON_DIR} ${PYTHON_DIR} +COPY --from=builder ${OPENSSL_34_DIR} ${OPENSSL_34_DIR} +COPY --from=builder ${OPENSSL_34_SRC_DIR} ${OPENSSL_34_SRC_DIR} + +ENV OPENSSL_ROOT=${OPENSSL_34_DIR} +ENV LD_LIBRARY_PATH=${OPENSSL_ROOT}/lib64:$LD_LIBRARY_PATH +ENV PATH="${OPENSSL_34_BIN_DIR}:${PYTHON_BIN_DIR}:${PATH}" + +RUN mv ${PYTHON_SRC_DIR} /usr/local/src/${PYTHON_FULL_VERSION} && \ + ln -sfv /usr/local/src/${PYTHON_FULL_VERSION} ${PYTHON_SRC_DIR} && \ + rm -rfv /usr/bin/pip3 && \ + rm -rfv /usr/bin/pip && \ + rm -rfv /usr/bin/python && \ + rm -rfv /usr/bin/python3 && \ + update-alternatives --install /usr/bin/pip3 pip3 ${PYTHON_DIR}/bin/pip${PYTHON_VERSION} 1 && \ + update-alternatives --install /usr/bin/pip pip ${PYTHON_DIR}/bin/pip${PYTHON_VERSION} 1 && \ + update-alternatives --install /usr/bin/python python ${PYTHON_DIR}/bin/python${PYTHON_VERSION} 1 && \ + update-alternatives --install /usr/bin/python3 python3 ${PYTHON_DIR}/bin/python${PYTHON_VERSION} 1 && \ + echo "# OpenSSL support" >> ${LD_CONF_DIR}/OpenSSL.conf && \ + echo ${OPENSSL_34_LIB_DIR} >> ${LD_CONF_DIR}/OpenSSL.conf && \ + ldconfig + +RUN echo "=============================================" && \ + python${PYTHON_VERSION} --version && \ + python3 --version && \ + python --version && \ + pip3 --version && \ + pip --version && \ + echo "=============================================" && \ + python${PYTHON_VERSION} -c "import ssl; print(ssl.OPENSSL_VERSION)" && \ + echo "=============================================" + +WORKDIR ${EMG_LOCAL_BASE_DIR} + +################################################################## +# cleanup +################################################################## +RUN echo "clean up" && \ + apt-get clean -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /root/tmp/* && \ + rm -rfv /tmp/* + +RUN updatedb diff --git a/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.10/Makefile b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.10/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.10/Makefile @@ -0,0 +1,36 @@ +PIP_BREAK_SYSTEM_PACKAGES=1 + +all: app + +app: + make build + make deploy + make clean + +build: + kaniko-wrapper --version + +dry: + make dry-run + +test: + make dry-run + +dry-run: + kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:v1.23.2-debug --dry-run + +build-compose: + docker-compose build --compress --parallel --progress plain + +deploy: + kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:v1.23.2-debug + +deploy-compose: + docker-compose push + +clean: + docker container prune -f + docker image prune -f + docker network prune -f + docker volume prune -f + docker system prune -af diff --git a/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.10/docker-compose.yml b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.10/docker-compose.yml new file mode 100644 index 000000000..8aee4f4ea --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.10/docker-compose.yml @@ -0,0 +1,6 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:bookworm-python-3.10" + build: + context: . diff --git a/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.10/etc/apt/preferences.d/block-python-packages b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.10/etc/apt/preferences.d/block-python-packages new file mode 100644 index 000000000..2b2824a84 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.10/etc/apt/preferences.d/block-python-packages @@ -0,0 +1,3 @@ +Package: python-* +Pin: release * +Pin-Priority: -1 diff --git a/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.10/etc/apt/preferences.d/block-python2-packages b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.10/etc/apt/preferences.d/block-python2-packages new file mode 100644 index 000000000..6cb9a2e9d --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.10/etc/apt/preferences.d/block-python2-packages @@ -0,0 +1,3 @@ +Package: python2-* +Pin: release * +Pin-Priority: -1 diff --git a/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.10/etc/apt/preferences.d/block-python3-packages b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.10/etc/apt/preferences.d/block-python3-packages new file mode 100644 index 000000000..eccd7ebc6 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.10/etc/apt/preferences.d/block-python3-packages @@ -0,0 +1,3 @@ +Package: python3-* +Pin: release * +Pin-Priority: -1 diff --git a/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.11/Dockerfile b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.11/Dockerfile new file mode 100644 index 000000000..309e236fe --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.11/Dockerfile @@ -0,0 +1,152 @@ +FROM epicmorg/debian:bookworm-develop as builder + +RUN apt update && apt install -y \ + build-essential \ + libssl-dev \ + zlib1g-dev \ + libncurses5-dev \ + libncursesw5-dev \ + libreadline-dev \ + libsqlite3-dev \ + libgdbm-dev \ + libdb5.3-dev \ + libbz2-dev \ + libexpat1-dev \ + liblzma-dev \ + libffi-dev \ + uuid-dev \ + tk-dev + +# /etc/ld.so.conf.d/ +ARG LD_CONF_DIR=/etc/ld.so.conf.d/ + +# python 3.11 +ENV PYTHON_VERSION=3.11 +ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.11 +ENV PYTHON_DIR=${EMG_LOCAL_BASE_DIR}/python/${PYTHON_FULL_VERSION} +ARG PYTHON_BIN_DIR=${PYTHON_DIR}/bin +ARG PYTHON_SRC_DIR=${PYTHON_DIR}/src +ARG PYTHON_DOWNLOAD_URL=https://www.python.org/ftp/python/${PYTHON_FULL_VERSION}/Python-${PYTHON_FULL_VERSION}.tgz +ARG PYTHON_TEMP=/tmp/Python-${PYTHON_FULL_VERSION}.tgz + +################################################################## +# CMake +################################################################## +RUN mkdir -p ${PYTHON_DIR} ${PYTHON_SRC_DIR} ${PYTHON_BIN_DIR} +ADD ${PYTHON_DOWNLOAD_URL} /tmp + +RUN tar -xvzf ${PYTHON_TEMP} --strip-components=1 --directory ${PYTHON_SRC_DIR} + +ENV OPENSSL_ROOT=${OPENSSL_34_DIR} +ENV LD_LIBRARY_PATH=${OPENSSL_ROOT}/lib64:$LD_LIBRARY_PATH + +ENV PATH="${PYTHON_BIN_DIR}:${PATH}" + +WORKDIR ${PYTHON_SRC_DIR} + +RUN ./configure \ + --prefix=${PYTHON_DIR} \ + --enable-optimizations \ + --enable-option-checking=fatal \ + --with-lto \ + --enable-loadable-sqlite-extensions \ + --with-ensurepip=install \ + --enable-profiling \ + --with-system-expat \ + --enable-option-checking=fatal \ + --with-computed-gotos \ + --with-pydebug \ + --with-trace-refs \ + --with-assertions \ + --with-valgrind \ + --with-static-libpython \ + --with-openssl-rpath=auto \ + --with-openssl=${OPENSSL_34_DIR} \ + LDFLAGS="-Wl,-rpath,${OPENSSL_34_DIR}/lib64" \ + CPPFLAGS="-I${OPENSSL_34_DIR}/include" + +RUN make -j$(nproc) && \ + make altinstall + +RUN python${PYTHON_VERSION} -c "import ssl; print(ssl.OPENSSL_VERSION)" + +################################################################## +################################################################## +################################################################## +# Final Layer +################################################################## +################################################################## +################################################################## +FROM epicmorg/debian:bookworm + +RUN apt-get remove -y python3-pip + +# /etc/ld.so.conf.d/ +ARG LD_CONF_DIR=/etc/ld.so.conf.d/ + +################################################################## +# OpenSSL 3.4 +################################################################## +ENV OPENSSL_34_VERSION=3.4.1 +ENV OPENSSL_34_DIR=${EMG_LOCAL_BASE_DIR}/openssl/${OPENSSL_34_VERSION} +ENV OPENSSL_34_BIN_DIR=${OPENSSL_34_DIR}/bin +ENV OPENSSL_34_INC_DIR=${OPENSSL_34_DIR}/include +ENV OPENSSL_34_LIB_DIR=${OPENSSL_34_DIR}/lib64 +ENV OPENSSL_34_SRC_DIR=/usr/local/src/openssl/${OPENSSL_34_VERSION} + +################################################################## +# Python 3.11 +################################################################## +ENV PYTHON_VERSION=3.11 +ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.11 +ENV PYTHON_DIR=${EMG_LOCAL_BASE_DIR}/python/${PYTHON_FULL_VERSION} +ARG PYTHON_BIN_DIR=${PYTHON_DIR}/bin +ARG PYTHON_SRC_DIR=${PYTHON_DIR}/src + +COPY etc/apt/preferences.d /etc/apt/preferences.d +COPY --from=builder ${PYTHON_DIR} ${PYTHON_DIR} +COPY --from=builder ${OPENSSL_34_DIR} ${OPENSSL_34_DIR} +COPY --from=builder ${OPENSSL_34_SRC_DIR} ${OPENSSL_34_SRC_DIR} + +ENV OPENSSL_ROOT=${OPENSSL_34_DIR} +ENV LD_LIBRARY_PATH=${OPENSSL_ROOT}/lib64:$LD_LIBRARY_PATH +ENV PATH="${OPENSSL_34_BIN_DIR}:${PYTHON_BIN_DIR}:${PATH}" + +RUN mv ${PYTHON_SRC_DIR} /usr/local/src/${PYTHON_FULL_VERSION} && \ + ln -sfv /usr/local/src/${PYTHON_FULL_VERSION} ${PYTHON_SRC_DIR} && \ + rm -rfv /usr/bin/pip3 && \ + rm -rfv /usr/bin/pip && \ + rm -rfv /usr/bin/python && \ + rm -rfv /usr/bin/python3 && \ + update-alternatives --install /usr/bin/pip3 pip3 ${PYTHON_DIR}/bin/pip${PYTHON_VERSION} 1 && \ + update-alternatives --install /usr/bin/pip pip ${PYTHON_DIR}/bin/pip${PYTHON_VERSION} 1 && \ + update-alternatives --install /usr/bin/python python ${PYTHON_DIR}/bin/python${PYTHON_VERSION} 1 && \ + update-alternatives --install /usr/bin/python3 python3 ${PYTHON_DIR}/bin/python${PYTHON_VERSION} 1 && \ + echo "# OpenSSL support" >> ${LD_CONF_DIR}/OpenSSL.conf && \ + echo ${OPENSSL_34_LIB_DIR} >> ${LD_CONF_DIR}/OpenSSL.conf && \ + ldconfig + +RUN echo "=============================================" && \ + python${PYTHON_VERSION} --version && \ + python3 --version && \ + python --version && \ + pip3 --version && \ + pip --version && \ + echo "=============================================" && \ + python${PYTHON_VERSION} -c "import ssl; print(ssl.OPENSSL_VERSION)" && \ + echo "=============================================" + +WORKDIR ${EMG_LOCAL_BASE_DIR} + +################################################################## +# cleanup +################################################################## +RUN echo "clean up" && \ + apt-get clean -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /root/tmp/* && \ + rm -rfv /tmp/* + +RUN updatedb diff --git a/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.11/Makefile b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.11/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.11/Makefile @@ -0,0 +1,36 @@ +PIP_BREAK_SYSTEM_PACKAGES=1 + +all: app + +app: + make build + make deploy + make clean + +build: + kaniko-wrapper --version + +dry: + make dry-run + +test: + make dry-run + +dry-run: + kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:v1.23.2-debug --dry-run + +build-compose: + docker-compose build --compress --parallel --progress plain + +deploy: + kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:v1.23.2-debug + +deploy-compose: + docker-compose push + +clean: + docker container prune -f + docker image prune -f + docker network prune -f + docker volume prune -f + docker system prune -af diff --git a/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.11/docker-compose.yml b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.11/docker-compose.yml new file mode 100644 index 000000000..6696b37b0 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.11/docker-compose.yml @@ -0,0 +1,6 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:bookworm-python-3.11" + build: + context: . diff --git a/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.11/etc/apt/preferences.d/block-python-packages b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.11/etc/apt/preferences.d/block-python-packages new file mode 100644 index 000000000..2b2824a84 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.11/etc/apt/preferences.d/block-python-packages @@ -0,0 +1,3 @@ +Package: python-* +Pin: release * +Pin-Priority: -1 diff --git a/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.11/etc/apt/preferences.d/block-python2-packages b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.11/etc/apt/preferences.d/block-python2-packages new file mode 100644 index 000000000..6cb9a2e9d --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.11/etc/apt/preferences.d/block-python2-packages @@ -0,0 +1,3 @@ +Package: python2-* +Pin: release * +Pin-Priority: -1 diff --git a/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.11/etc/apt/preferences.d/block-python3-packages b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.11/etc/apt/preferences.d/block-python3-packages new file mode 100644 index 000000000..eccd7ebc6 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.11/etc/apt/preferences.d/block-python3-packages @@ -0,0 +1,3 @@ +Package: python3-* +Pin: release * +Pin-Priority: -1 diff --git a/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.12/Dockerfile b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.12/Dockerfile new file mode 100644 index 000000000..674350efb --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.12/Dockerfile @@ -0,0 +1,152 @@ +FROM epicmorg/debian:bookworm-develop as builder + +RUN apt update && apt install -y \ + build-essential \ + libssl-dev \ + zlib1g-dev \ + libncurses5-dev \ + libncursesw5-dev \ + libreadline-dev \ + libsqlite3-dev \ + libgdbm-dev \ + libdb5.3-dev \ + libbz2-dev \ + libexpat1-dev \ + liblzma-dev \ + libffi-dev \ + uuid-dev \ + tk-dev + +# /etc/ld.so.conf.d/ +ARG LD_CONF_DIR=/etc/ld.so.conf.d/ + +# python 3.12 +ENV PYTHON_VERSION=3.12 +ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.9 +ENV PYTHON_DIR=${EMG_LOCAL_BASE_DIR}/python/${PYTHON_FULL_VERSION} +ARG PYTHON_BIN_DIR=${PYTHON_DIR}/bin +ARG PYTHON_SRC_DIR=${PYTHON_DIR}/src +ARG PYTHON_DOWNLOAD_URL=https://www.python.org/ftp/python/${PYTHON_FULL_VERSION}/Python-${PYTHON_FULL_VERSION}.tgz +ARG PYTHON_TEMP=/tmp/Python-${PYTHON_FULL_VERSION}.tgz + +################################################################## +# CMake +################################################################## +RUN mkdir -p ${PYTHON_DIR} ${PYTHON_SRC_DIR} ${PYTHON_BIN_DIR} +ADD ${PYTHON_DOWNLOAD_URL} /tmp + +RUN tar -xvzf ${PYTHON_TEMP} --strip-components=1 --directory ${PYTHON_SRC_DIR} + +ENV OPENSSL_ROOT=${OPENSSL_34_DIR} +ENV LD_LIBRARY_PATH=${OPENSSL_ROOT}/lib64:$LD_LIBRARY_PATH + +ENV PATH="${PYTHON_BIN_DIR}:${PATH}" + +WORKDIR ${PYTHON_SRC_DIR} + +RUN ./configure \ + --prefix=${PYTHON_DIR} \ + --enable-optimizations \ + --enable-option-checking=fatal \ + --with-lto \ + --enable-loadable-sqlite-extensions \ + --with-ensurepip=install \ + --enable-profiling \ + --with-system-expat \ + --enable-option-checking=fatal \ + --with-computed-gotos \ + --with-pydebug \ + --with-trace-refs \ + --with-assertions \ + --with-valgrind \ + --with-static-libpython \ + --with-openssl-rpath=auto \ + --with-openssl=${OPENSSL_34_DIR} \ + LDFLAGS="-Wl,-rpath,${OPENSSL_34_DIR}/lib64" \ + CPPFLAGS="-I${OPENSSL_34_DIR}/include" + +RUN make -j$(nproc) && \ + make altinstall + +RUN python${PYTHON_VERSION} -c "import ssl; print(ssl.OPENSSL_VERSION)" + +################################################################## +################################################################## +################################################################## +# Final Layer +################################################################## +################################################################## +################################################################## +FROM epicmorg/debian:bookworm + +RUN apt-get remove -y python3-pip + +# /etc/ld.so.conf.d/ +ARG LD_CONF_DIR=/etc/ld.so.conf.d/ + +################################################################## +# OpenSSL 3.4 +################################################################## +ENV OPENSSL_34_VERSION=3.4.1 +ENV OPENSSL_34_DIR=${EMG_LOCAL_BASE_DIR}/openssl/${OPENSSL_34_VERSION} +ENV OPENSSL_34_BIN_DIR=${OPENSSL_34_DIR}/bin +ENV OPENSSL_34_INC_DIR=${OPENSSL_34_DIR}/include +ENV OPENSSL_34_LIB_DIR=${OPENSSL_34_DIR}/lib64 +ENV OPENSSL_34_SRC_DIR=/usr/local/src/openssl/${OPENSSL_34_VERSION} + +################################################################## +# Python 3.12 +################################################################## +ENV PYTHON_VERSION=3.12 +ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.9 +ENV PYTHON_DIR=${EMG_LOCAL_BASE_DIR}/python/${PYTHON_FULL_VERSION} +ARG PYTHON_BIN_DIR=${PYTHON_DIR}/bin +ARG PYTHON_SRC_DIR=${PYTHON_DIR}/src + +COPY etc/apt/preferences.d /etc/apt/preferences.d +COPY --from=builder ${PYTHON_DIR} ${PYTHON_DIR} +COPY --from=builder ${OPENSSL_34_DIR} ${OPENSSL_34_DIR} +COPY --from=builder ${OPENSSL_34_SRC_DIR} ${OPENSSL_34_SRC_DIR} + +ENV OPENSSL_ROOT=${OPENSSL_34_DIR} +ENV LD_LIBRARY_PATH=${OPENSSL_ROOT}/lib64:$LD_LIBRARY_PATH +ENV PATH="${OPENSSL_34_BIN_DIR}:${PYTHON_BIN_DIR}:${PATH}" + +RUN mv ${PYTHON_SRC_DIR} /usr/local/src/${PYTHON_FULL_VERSION} && \ + ln -sfv /usr/local/src/${PYTHON_FULL_VERSION} ${PYTHON_SRC_DIR} && \ + rm -rfv /usr/bin/pip3 && \ + rm -rfv /usr/bin/pip && \ + rm -rfv /usr/bin/python && \ + rm -rfv /usr/bin/python3 && \ + update-alternatives --install /usr/bin/pip3 pip3 ${PYTHON_DIR}/bin/pip${PYTHON_VERSION} 1 && \ + update-alternatives --install /usr/bin/pip pip ${PYTHON_DIR}/bin/pip${PYTHON_VERSION} 1 && \ + update-alternatives --install /usr/bin/python python ${PYTHON_DIR}/bin/python${PYTHON_VERSION} 1 && \ + update-alternatives --install /usr/bin/python3 python3 ${PYTHON_DIR}/bin/python${PYTHON_VERSION} 1 && \ + echo "# OpenSSL support" >> ${LD_CONF_DIR}/OpenSSL.conf && \ + echo ${OPENSSL_34_LIB_DIR} >> ${LD_CONF_DIR}/OpenSSL.conf && \ + ldconfig + +RUN echo "=============================================" && \ + python${PYTHON_VERSION} --version && \ + python3 --version && \ + python --version && \ + pip3 --version && \ + pip --version && \ + echo "=============================================" && \ + python${PYTHON_VERSION} -c "import ssl; print(ssl.OPENSSL_VERSION)" && \ + echo "=============================================" + +WORKDIR ${EMG_LOCAL_BASE_DIR} + +################################################################## +# cleanup +################################################################## +RUN echo "clean up" && \ + apt-get clean -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /root/tmp/* && \ + rm -rfv /tmp/* + +RUN updatedb diff --git a/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.12/Makefile b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.12/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.12/Makefile @@ -0,0 +1,36 @@ +PIP_BREAK_SYSTEM_PACKAGES=1 + +all: app + +app: + make build + make deploy + make clean + +build: + kaniko-wrapper --version + +dry: + make dry-run + +test: + make dry-run + +dry-run: + kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:v1.23.2-debug --dry-run + +build-compose: + docker-compose build --compress --parallel --progress plain + +deploy: + kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:v1.23.2-debug + +deploy-compose: + docker-compose push + +clean: + docker container prune -f + docker image prune -f + docker network prune -f + docker volume prune -f + docker system prune -af diff --git a/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.12/docker-compose.yml b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.12/docker-compose.yml new file mode 100644 index 000000000..ca7758704 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.12/docker-compose.yml @@ -0,0 +1,6 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:bookworm-python-3.12" + build: + context: . diff --git a/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.12/etc/apt/preferences.d/block-python-packages b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.12/etc/apt/preferences.d/block-python-packages new file mode 100644 index 000000000..2b2824a84 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.12/etc/apt/preferences.d/block-python-packages @@ -0,0 +1,3 @@ +Package: python-* +Pin: release * +Pin-Priority: -1 diff --git a/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.12/etc/apt/preferences.d/block-python2-packages b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.12/etc/apt/preferences.d/block-python2-packages new file mode 100644 index 000000000..6cb9a2e9d --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.12/etc/apt/preferences.d/block-python2-packages @@ -0,0 +1,3 @@ +Package: python2-* +Pin: release * +Pin-Priority: -1 diff --git a/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.12/etc/apt/preferences.d/block-python3-packages b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.12/etc/apt/preferences.d/block-python3-packages new file mode 100644 index 000000000..eccd7ebc6 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.12/etc/apt/preferences.d/block-python3-packages @@ -0,0 +1,3 @@ +Package: python3-* +Pin: release * +Pin-Priority: -1 diff --git a/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.13/Dockerfile b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.13/Dockerfile index 8d5765caf..71639ef0f 100644 --- a/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.13/Dockerfile +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.13/Dockerfile @@ -21,12 +21,13 @@ RUN apt update && apt install -y \ ARG LD_CONF_DIR=/etc/ld.so.conf.d/ # python 3.13 -ENV PYTHON_VERSION=3.13.2 -ENV PYTHON_DIR=${EMG_LOCAL_BASE_DIR}/python/${PYTHON_VERSION} +ENV PYTHON_VERSION=3.13 +ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.2 +ENV PYTHON_DIR=${EMG_LOCAL_BASE_DIR}/python/${PYTHON_FULL_VERSION} ARG PYTHON_BIN_DIR=${PYTHON_DIR}/bin ARG PYTHON_SRC_DIR=${PYTHON_DIR}/src -ARG PYTHON_DOWNLOAD_URL=https://www.python.org/ftp/python/${PYTHON_VERSION}/Python-${PYTHON_VERSION}.tgz -ARG PYTHON_TEMP=/tmp/Python-${PYTHON_VERSION}.tgz +ARG PYTHON_DOWNLOAD_URL=https://www.python.org/ftp/python/${PYTHON_FULL_VERSION}/Python-${PYTHON_FULL_VERSION}.tgz +ARG PYTHON_TEMP=/tmp/Python-${PYTHON_FULL_VERSION}.tgz ################################################################## # CMake @@ -66,7 +67,9 @@ RUN ./configure \ RUN make -j$(nproc) && \ make altinstall - + +RUN python${PYTHON_VERSION} -c "import ssl; print(ssl.OPENSSL_VERSION)" + ################################################################## ################################################################## ################################################################## @@ -78,38 +81,63 @@ FROM epicmorg/debian:bookworm RUN apt-get remove -y python3-pip -COPY etc/apt/preferences.d /etc/apt/preferences.d -COPY --from=builder ${PYTHON_DIR}/ ${PYTHON_DIR}/ +# /etc/ld.so.conf.d/ +ARG LD_CONF_DIR=/etc/ld.so.conf.d/ + +################################################################## +# OpenSSL 3.4 +################################################################## +ENV OPENSSL_34_VERSION=3.4.1 +ENV OPENSSL_34_DIR=${EMG_LOCAL_BASE_DIR}/openssl/${OPENSSL_34_VERSION} +ENV OPENSSL_34_BIN_DIR=${OPENSSL_34_DIR}/bin +ENV OPENSSL_34_INC_DIR=${OPENSSL_34_DIR}/include +ENV OPENSSL_34_LIB_DIR=${OPENSSL_34_DIR}/lib64 +ENV OPENSSL_34_SRC_DIR=/usr/local/src/openssl/${OPENSSL_34_VERSION} ################################################################## # Python 3.13 ################################################################## -ENV PYTHON_VERSION=3.13.2 -ENV PYTHON_DIR=${EMG_LOCAL_BASE_DIR}/python/${PYTHON_VERSION} +ENV PYTHON_VERSION=3.13 +ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.2 +ENV PYTHON_DIR=${EMG_LOCAL_BASE_DIR}/python/${PYTHON_FULL_VERSION} ARG PYTHON_BIN_DIR=${PYTHON_DIR}/bin ARG PYTHON_SRC_DIR=${PYTHON_DIR}/src -ENV PATH="${PYTHON_BIN_DIR}:${PATH}" +COPY etc/apt/preferences.d /etc/apt/preferences.d +COPY --from=builder ${PYTHON_DIR} ${PYTHON_DIR} +COPY --from=builder ${OPENSSL_34_DIR} ${OPENSSL_34_DIR} +COPY --from=builder ${OPENSSL_34_SRC_DIR} ${OPENSSL_34_SRC_DIR} -RUN mv ${PYTHON_SRC_DIR} /usr/local/src/${PYTHON_VERSION} && \ - ln -sfv /usr/local/src/${PYTHON_VERSION} ${PYTHON_SRC_DIR} \ +ENV OPENSSL_ROOT=${OPENSSL_34_DIR} +ENV LD_LIBRARY_PATH=${OPENSSL_ROOT}/lib64:$LD_LIBRARY_PATH +ENV PATH="${OPENSSL_34_BIN_DIR}:${PYTHON_BIN_DIR}:${PATH}" + +RUN mv ${PYTHON_SRC_DIR} /usr/local/src/${PYTHON_FULL_VERSION} && \ + ln -sfv /usr/local/src/${PYTHON_FULL_VERSION} ${PYTHON_SRC_DIR} && \ rm -rfv /usr/bin/pip3 && \ rm -rfv /usr/bin/pip && \ rm -rfv /usr/bin/python && \ rm -rfv /usr/bin/python3 && \ - update-alternatives --install /usr/bin/pip3 pip3 ${PYTHON_DIR}/bin/pip3.13 1 && \ - update-alternatives --install /usr/bin/pip pip ${PYTHON_DIR}/bin/pip3.13 1 && \ - update-alternatives --install /usr/bin/python python ${PYTHON_DIR}/bin/python3.13 1 && \ - update-alternatives --install /usr/bin/python3 python3 ${PYTHON_DIR}/bin/python3.13 1 + update-alternatives --install /usr/bin/pip3 pip3 ${PYTHON_DIR}/bin/pip${PYTHON_VERSION} 1 && \ + update-alternatives --install /usr/bin/pip pip ${PYTHON_DIR}/bin/pip${PYTHON_VERSION} 1 && \ + update-alternatives --install /usr/bin/python python ${PYTHON_DIR}/bin/python${PYTHON_VERSION} 1 && \ + update-alternatives --install /usr/bin/python3 python3 ${PYTHON_DIR}/bin/python${PYTHON_VERSION} 1 && \ + echo "# OpenSSL support" >> ${LD_CONF_DIR}/OpenSSL.conf && \ + echo ${OPENSSL_34_LIB_DIR} >> ${LD_CONF_DIR}/OpenSSL.conf && \ + ldconfig RUN echo "=============================================" && \ - echo python3.13 --version && \ - echo python3 --version && \ - echo python --version && \ - echo pip3 --version && \ - echo pip --version && \ + python${PYTHON_VERSION} --version && \ + python3 --version && \ + python --version && \ + pip3 --version && \ + pip --version && \ + echo "=============================================" && \ + python${PYTHON_VERSION} -c "import ssl; print(ssl.OPENSSL_VERSION)" && \ echo "=============================================" +WORKDIR ${EMG_LOCAL_BASE_DIR} + ################################################################## # cleanup ################################################################## diff --git a/linux/ecosystem/epicmorg/debian/13-trixie/develop/Dockerfile b/linux/ecosystem/epicmorg/debian/13-trixie/develop/Dockerfile index 19eff6c7b..9ff37ffa8 100644 --- a/linux/ecosystem/epicmorg/debian/13-trixie/develop/Dockerfile +++ b/linux/ecosystem/epicmorg/debian/13-trixie/develop/Dockerfile @@ -200,8 +200,8 @@ ARG OPENSSL_111_DOWNLOAD_URL=https://www.openssl.org/source/old/${OPENSSL_111_VE ARG OPENSSL_111_TEMP=/tmp/openssl-${OPENSSL_111_VERSION}w.tar.gz ARG OPENSSL_111_TEMP_SRC=/tmp/openssl-${OPENSSL_111_VERSION}w -# OpenSSL 3.0.15 -ENV OPENSSL_30_VERSION=3.0.15 +# OpenSSL 3.0 +ENV OPENSSL_30_VERSION=3.0.16 ENV OPENSSL_30_DIR=${EMG_LOCAL_BASE_DIR}/openssl/${OPENSSL_30_VERSION} ENV OPENSSL_30_BIN_DIR=${OPENSSL_30_DIR}/bin ENV OPENSSL_30_INC_DIR=${OPENSSL_30_DIR}/include @@ -211,8 +211,8 @@ ARG OPENSSL_30_DOWNLOAD_URL=https://www.openssl.org/source/openssl-${OPENSSL_30_ ARG OPENSSL_30_TEMP=/tmp/openssl-${OPENSSL_30_VERSION}.tar.gz ARG OPENSSL_30_TEMP_SRC=/tmp/openssl-${OPENSSL_30_VERSION} -# OpenSSL 3.1.7 -ENV OPENSSL_31_VERSION=3.1.7 +# OpenSSL 3.1 +ENV OPENSSL_31_VERSION=3.1.8 ENV OPENSSL_31_DIR=${EMG_LOCAL_BASE_DIR}/openssl/${OPENSSL_31_VERSION} ENV OPENSSL_31_BIN_DIR=${OPENSSL_31_DIR}/bin ENV OPENSSL_31_INC_DIR=${OPENSSL_31_DIR}/include @@ -222,8 +222,8 @@ ARG OPENSSL_31_DOWNLOAD_URL=https://www.openssl.org/source/openssl-${OPENSSL_31_ ARG OPENSSL_31_TEMP=/tmp/openssl-${OPENSSL_31_VERSION}.tar.gz ARG OPENSSL_31_TEMP_SRC=/tmp/openssl-${OPENSSL_31_VERSION} -# OpenSSL 3.2.3 -ENV OPENSSL_32_VERSION=3.2.3 +# OpenSSL 3.2 +ENV OPENSSL_32_VERSION=3.2.4 ENV OPENSSL_32_DIR=${EMG_LOCAL_BASE_DIR}/openssl/${OPENSSL_32_VERSION} ENV OPENSSL_32_BIN_DIR=${OPENSSL_32_DIR}/bin ENV OPENSSL_32_INC_DIR=${OPENSSL_32_DIR}/include @@ -233,8 +233,8 @@ ARG OPENSSL_32_DOWNLOAD_URL=https://www.openssl.org/source/openssl-${OPENSSL_32_ ARG OPENSSL_32_TEMP=/tmp/openssl-${OPENSSL_32_VERSION}.tar.gz ARG OPENSSL_32_TEMP_SRC=/tmp/openssl-${OPENSSL_32_VERSION} -# OpenSSL 3.3.2 -ENV OPENSSL_33_VERSION=3.3.2 +# OpenSSL 3.3 +ENV OPENSSL_33_VERSION=3.3.3 ENV OPENSSL_33_DIR=${EMG_LOCAL_BASE_DIR}/openssl/${OPENSSL_33_VERSION} ENV OPENSSL_33_BIN_DIR=${OPENSSL_33_DIR}/bin ENV OPENSSL_33_INC_DIR=${OPENSSL_33_DIR}/include @@ -244,8 +244,8 @@ ARG OPENSSL_33_DOWNLOAD_URL=https://www.openssl.org/source/openssl-${OPENSSL_33_ ARG OPENSSL_33_TEMP=/tmp/openssl-${OPENSSL_33_VERSION}.tar.gz ARG OPENSSL_33_TEMP_SRC=/tmp/openssl-${OPENSSL_33_VERSION} -# OpenSSL 3.4.0 -ENV OPENSSL_34_VERSION=3.4.0 +# OpenSSL 3.4 +ENV OPENSSL_34_VERSION=3.4.1 ENV OPENSSL_34_DIR=${EMG_LOCAL_BASE_DIR}/openssl/${OPENSSL_34_VERSION} ENV OPENSSL_34_BIN_DIR=${OPENSSL_34_DIR}/bin ENV OPENSSL_34_INC_DIR=${OPENSSL_34_DIR}/include diff --git a/linux/ecosystem/epicmorg/debian/sid/develop/Dockerfile b/linux/ecosystem/epicmorg/debian/sid/develop/Dockerfile index d529c96d5..80f1c9dca 100644 --- a/linux/ecosystem/epicmorg/debian/sid/develop/Dockerfile +++ b/linux/ecosystem/epicmorg/debian/sid/develop/Dockerfile @@ -186,8 +186,8 @@ ARG OPENSSL_111_DOWNLOAD_URL=https://www.openssl.org/source/old/${OPENSSL_111_VE ARG OPENSSL_111_TEMP=/tmp/openssl-${OPENSSL_111_VERSION}w.tar.gz ARG OPENSSL_111_TEMP_SRC=/tmp/openssl-${OPENSSL_111_VERSION}w -# OpenSSL 3.0.15 -ENV OPENSSL_30_VERSION=3.0.15 +# OpenSSL 3.0 +ENV OPENSSL_30_VERSION=3.0.16 ENV OPENSSL_30_DIR=${EMG_LOCAL_BASE_DIR}/openssl/${OPENSSL_30_VERSION} ENV OPENSSL_30_BIN_DIR=${OPENSSL_30_DIR}/bin ENV OPENSSL_30_INC_DIR=${OPENSSL_30_DIR}/include @@ -197,8 +197,8 @@ ARG OPENSSL_30_DOWNLOAD_URL=https://www.openssl.org/source/openssl-${OPENSSL_30_ ARG OPENSSL_30_TEMP=/tmp/openssl-${OPENSSL_30_VERSION}.tar.gz ARG OPENSSL_30_TEMP_SRC=/tmp/openssl-${OPENSSL_30_VERSION} -# OpenSSL 3.1.7 -ENV OPENSSL_31_VERSION=3.1.7 +# OpenSSL 3.1 +ENV OPENSSL_31_VERSION=3.1.8 ENV OPENSSL_31_DIR=${EMG_LOCAL_BASE_DIR}/openssl/${OPENSSL_31_VERSION} ENV OPENSSL_31_BIN_DIR=${OPENSSL_31_DIR}/bin ENV OPENSSL_31_INC_DIR=${OPENSSL_31_DIR}/include @@ -208,8 +208,8 @@ ARG OPENSSL_31_DOWNLOAD_URL=https://www.openssl.org/source/openssl-${OPENSSL_31_ ARG OPENSSL_31_TEMP=/tmp/openssl-${OPENSSL_31_VERSION}.tar.gz ARG OPENSSL_31_TEMP_SRC=/tmp/openssl-${OPENSSL_31_VERSION} -# OpenSSL 3.2.3 -ENV OPENSSL_32_VERSION=3.2.3 +# OpenSSL 3.2 +ENV OPENSSL_32_VERSION=3.2.4 ENV OPENSSL_32_DIR=${EMG_LOCAL_BASE_DIR}/openssl/${OPENSSL_32_VERSION} ENV OPENSSL_32_BIN_DIR=${OPENSSL_32_DIR}/bin ENV OPENSSL_32_INC_DIR=${OPENSSL_32_DIR}/include @@ -219,8 +219,8 @@ ARG OPENSSL_32_DOWNLOAD_URL=https://www.openssl.org/source/openssl-${OPENSSL_32_ ARG OPENSSL_32_TEMP=/tmp/openssl-${OPENSSL_32_VERSION}.tar.gz ARG OPENSSL_32_TEMP_SRC=/tmp/openssl-${OPENSSL_32_VERSION} -# OpenSSL 3.3.2 -ENV OPENSSL_33_VERSION=3.3.2 +# OpenSSL 3.3 +ENV OPENSSL_33_VERSION=3.3.3 ENV OPENSSL_33_DIR=${EMG_LOCAL_BASE_DIR}/openssl/${OPENSSL_33_VERSION} ENV OPENSSL_33_BIN_DIR=${OPENSSL_33_DIR}/bin ENV OPENSSL_33_INC_DIR=${OPENSSL_33_DIR}/include @@ -230,8 +230,8 @@ ARG OPENSSL_33_DOWNLOAD_URL=https://www.openssl.org/source/openssl-${OPENSSL_33_ ARG OPENSSL_33_TEMP=/tmp/openssl-${OPENSSL_33_VERSION}.tar.gz ARG OPENSSL_33_TEMP_SRC=/tmp/openssl-${OPENSSL_33_VERSION} -# OpenSSL 3.4.0 -ENV OPENSSL_34_VERSION=3.4.0 +# OpenSSL 3.4 +ENV OPENSSL_34_VERSION=3.4.1 ENV OPENSSL_34_DIR=${EMG_LOCAL_BASE_DIR}/openssl/${OPENSSL_34_VERSION} ENV OPENSSL_34_BIN_DIR=${OPENSSL_34_DIR}/bin ENV OPENSSL_34_INC_DIR=${OPENSSL_34_DIR}/include