diff --git a/.github/workflows/epicmorg.advanced.nextcloud.images.yml b/.github/workflows/epicmorg.advanced.nextcloud.images.yml index f34c02d4d..ee81839a7 100644 --- a/.github/workflows/epicmorg.advanced.nextcloud.images.yml +++ b/.github/workflows/epicmorg.advanced.nextcloud.images.yml @@ -22,50 +22,50 @@ jobs: - name: Install requirements.txt run: make pip - - name: "Build and Deploy Advanced Nextcloud 14 Stock Images:" - run: cd linux/advanced/nextcloud/pure/14 && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Nextcloud 15 Stock Images:" - run: cd linux/advanced/nextcloud/pure/15 && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Nextcloud 16 Stock Images:" - run: cd linux/advanced/nextcloud/pure/16 && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Nextcloud 17 Stock Images:" - run: cd linux/advanced/nextcloud/pure/17 && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Nextcloud 18 Stock Images:" - run: cd linux/advanced/nextcloud/pure/18 && pwd && make build && make deploy - - - name: Cleanup - run: make docker-clean - - - name: "Build and Deploy Advanced Nextcloud 19 Stock Images:" - run: cd linux/advanced/nextcloud/pure/19 && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Nextcloud 20 Stock Images:" - run: cd linux/advanced/nextcloud/pure/20 && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Nextcloud 21 Stock Images:" - run: cd linux/advanced/nextcloud/pure/21 && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Nextcloud 22 Stock Images:" - run: cd linux/advanced/nextcloud/pure/22 && pwd && make build && make deploy - - - name: Cleanup - run: make docker-clean - - - name: "Build and Deploy Advanced Nextcloud 23 Stock Images:" - run: cd linux/advanced/nextcloud/pure/23 && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Nextcloud 24 Stock Images:" - run: cd linux/advanced/nextcloud/pure/24 && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Nextcloud 25 Stock Images:" - run: cd linux/advanced/nextcloud/pure/25 && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Nextcloud 26 Stock Images:" - run: cd linux/advanced/nextcloud/pure/26 && pwd && make build && make deploy +# - name: "Build and Deploy Advanced Nextcloud 14 Stock Images:" +# run: cd linux/advanced/nextcloud/pure/14 && pwd && make build && make deploy +# +# - name: "Build and Deploy Advanced Nextcloud 15 Stock Images:" +# run: cd linux/advanced/nextcloud/pure/15 && pwd && make build && make deploy +# +# - name: "Build and Deploy Advanced Nextcloud 16 Stock Images:" +# run: cd linux/advanced/nextcloud/pure/16 && pwd && make build && make deploy +# +# - name: "Build and Deploy Advanced Nextcloud 17 Stock Images:" +# run: cd linux/advanced/nextcloud/pure/17 && pwd && make build && make deploy +# +# - name: "Build and Deploy Advanced Nextcloud 18 Stock Images:" +# run: cd linux/advanced/nextcloud/pure/18 && pwd && make build && make deploy +# +# - name: Cleanup +# run: make docker-clean +# +# - name: "Build and Deploy Advanced Nextcloud 19 Stock Images:" +# run: cd linux/advanced/nextcloud/pure/19 && pwd && make build && make deploy +# +# - name: "Build and Deploy Advanced Nextcloud 20 Stock Images:" +# run: cd linux/advanced/nextcloud/pure/20 && pwd && make build && make deploy +# +# - name: "Build and Deploy Advanced Nextcloud 21 Stock Images:" +# run: cd linux/advanced/nextcloud/pure/21 && pwd && make build && make deploy +# +# - name: "Build and Deploy Advanced Nextcloud 22 Stock Images:" +# run: cd linux/advanced/nextcloud/pure/22 && pwd && make build && make deploy +# +# - name: Cleanup +# run: make docker-clean +# +# - name: "Build and Deploy Advanced Nextcloud 23 Stock Images:" +# run: cd linux/advanced/nextcloud/pure/23 && pwd && make build && make deploy +# +# - name: "Build and Deploy Advanced Nextcloud 24 Stock Images:" +# run: cd linux/advanced/nextcloud/pure/24 && pwd && make build && make deploy +# +# - name: "Build and Deploy Advanced Nextcloud 25 Stock Images:" +# run: cd linux/advanced/nextcloud/pure/25 && pwd && make build && make deploy +# +# - name: "Build and Deploy Advanced Nextcloud 26 Stock Images:" +# run: cd linux/advanced/nextcloud/pure/26 && pwd && make build && make deploy - name: "Build and Deploy Advanced Nextcloud 27 Stock Images:" run: cd linux/advanced/nextcloud/pure/27 && pwd && make build && make deploy @@ -102,50 +102,50 @@ jobs: - name: Install requirements.txt run: make pip - - name: "Build and Deploy Advanced Nextcloud 14 Patched Images:" - run: cd linux/advanced/nextcloud/patched/14 && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Nextcloud 15 Patched Images:" - run: cd linux/advanced/nextcloud/patched/15 && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Nextcloud 16 Patched Images:" - run: cd linux/advanced/nextcloud/patched/16 && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Nextcloud 17 Patched Images:" - run: cd linux/advanced/nextcloud/patched/17 && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Nextcloud 18 Patched Images:" - run: cd linux/advanced/nextcloud/patched/18 && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Nextcloud 19 Patched Images:" - run: cd linux/advanced/nextcloud/patched/19 && pwd && make build && make deploy - - - name: Cleanup - run: make docker-clean - - - name: "Build and Deploy Advanced Nextcloud 20 Patched Images:" - run: cd linux/advanced/nextcloud/patched/20 && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Nextcloud 21 Patched Images:" - run: cd linux/advanced/nextcloud/patched/21 && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Nextcloud 22 Patched Images:" - run: cd linux/advanced/nextcloud/patched/22 && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Nextcloud 23 Patched Images:" - run: cd linux/advanced/nextcloud/patched/23 && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Nextcloud 24 Patched Images:" - run: cd linux/advanced/nextcloud/patched/24 && pwd && make build && make deploy - - - name: Cleanup - run: make docker-clean - - - name: "Build and Deploy Advanced Nextcloud 25 Patched Images:" - run: cd linux/advanced/nextcloud/patched/25 && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Nextcloud 26 Patched Images:" - run: cd linux/advanced/nextcloud/patched/26 && pwd && make build && make deploy +# - name: "Build and Deploy Advanced Nextcloud 14 Patched Images:" +# run: cd linux/advanced/nextcloud/patched/14 && pwd && make build && make deploy +# +# - name: "Build and Deploy Advanced Nextcloud 15 Patched Images:" +# run: cd linux/advanced/nextcloud/patched/15 && pwd && make build && make deploy +# +# - name: "Build and Deploy Advanced Nextcloud 16 Patched Images:" +# run: cd linux/advanced/nextcloud/patched/16 && pwd && make build && make deploy +# +# - name: "Build and Deploy Advanced Nextcloud 17 Patched Images:" +# run: cd linux/advanced/nextcloud/patched/17 && pwd && make build && make deploy +# +# - name: "Build and Deploy Advanced Nextcloud 18 Patched Images:" +# run: cd linux/advanced/nextcloud/patched/18 && pwd && make build && make deploy +# +# - name: "Build and Deploy Advanced Nextcloud 19 Patched Images:" +# run: cd linux/advanced/nextcloud/patched/19 && pwd && make build && make deploy +# +# - name: Cleanup +# run: make docker-clean +# +# - name: "Build and Deploy Advanced Nextcloud 20 Patched Images:" +# run: cd linux/advanced/nextcloud/patched/20 && pwd && make build && make deploy +# +# - name: "Build and Deploy Advanced Nextcloud 21 Patched Images:" +# run: cd linux/advanced/nextcloud/patched/21 && pwd && make build && make deploy +# +# - name: "Build and Deploy Advanced Nextcloud 22 Patched Images:" +# run: cd linux/advanced/nextcloud/patched/22 && pwd && make build && make deploy +# +# - name: "Build and Deploy Advanced Nextcloud 23 Patched Images:" +# run: cd linux/advanced/nextcloud/patched/23 && pwd && make build && make deploy +# +# - name: "Build and Deploy Advanced Nextcloud 24 Patched Images:" +# run: cd linux/advanced/nextcloud/patched/24 && pwd && make build && make deploy +# +# - name: Cleanup +# run: make docker-clean +# +# - name: "Build and Deploy Advanced Nextcloud 25 Patched Images:" +# run: cd linux/advanced/nextcloud/patched/25 && pwd && make build && make deploy +# +# - name: "Build and Deploy Advanced Nextcloud 26 Patched Images:" +# run: cd linux/advanced/nextcloud/patched/26 && pwd && make build && make deploy - name: "Build and Deploy Advanced Nextcloud 27 Patched Images:" run: cd linux/advanced/nextcloud/patched/27 && pwd && make build && make deploy diff --git a/.github/workflows/epicmorg.base.images.debian.12.yml b/.github/workflows/epicmorg.base.images.debian.12.yml index 2169ca260..8c71075e8 100644 --- a/.github/workflows/epicmorg.base.images.debian.12.yml +++ b/.github/workflows/epicmorg.base.images.debian.12.yml @@ -36,6 +36,16 @@ jobs: - name: Cleanup run: make docker-clean +################################################################################## + + - name: "Build and Deploy Debian 12 Python 2.6 Image:" + run: cd linux/ecosystem/epicmorg/debian/12-bookworm/php/php5.6 && pwd && make build && make deploy + +################################################################################## + + - name: Cleanup + run: make docker-clean + ################################################################################## - name: "Build and Deploy Debian 12 PHP 5.6 Image:" diff --git a/CHANGELOG.md b/CHANGELOG.md index 50fc07075..6d965b350 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,9 +2,10 @@ ## 2025 * `feb` * added `zabbix` images with `7.2` version - * added `OpenSSL` version `3.4.x` + * added `OpenSSL` version `3.4.x` and `1.0.2u`. * updated `OpenSSL` versions. - * created draft `python` base images based on `debian 12`. + * created `python` base images. + * updated `nextcloud` images. * `jan` * updated `atlassian` images * updated some deps in images: diff --git a/Makefile b/Makefile index 5189115ad..9c7bf4509 100644 --- a/Makefile +++ b/Makefile @@ -299,39 +299,39 @@ advanced-zabbix-72-images: #################################################################################################################### advanced-nextcloud-images: - cd `pwd`/linux/advanced/nextcloud/pure/14 && pwd && make build && make deploy - cd `pwd`/linux/advanced/nextcloud/pure/15 && pwd && make build && make deploy - cd `pwd`/linux/advanced/nextcloud/pure/16 && pwd && make build && make deploy - cd `pwd`/linux/advanced/nextcloud/pure/17 && pwd && make build && make deploy - cd `pwd`/linux/advanced/nextcloud/pure/18 && pwd && make build && make deploy - cd `pwd`/linux/advanced/nextcloud/pure/19 && pwd && make build && make deploy - cd `pwd`/linux/advanced/nextcloud/pure/20 && pwd && make build && make deploy - cd `pwd`/linux/advanced/nextcloud/pure/21 && pwd && make build && make deploy - cd `pwd`/linux/advanced/nextcloud/pure/22 && pwd && make build && make deploy - cd `pwd`/linux/advanced/nextcloud/pure/23 && pwd && make build && make deploy - cd `pwd`/linux/advanced/nextcloud/pure/24 && pwd && make build && make deploy - cd `pwd`/linux/advanced/nextcloud/pure/25 && pwd && make build && make deploy - cd `pwd`/linux/advanced/nextcloud/pure/26 && pwd && make build && make deploy - cd `pwd`/linux/advanced/nextcloud/pure/27 && pwd && make build && make deploy +# cd `pwd`/linux/advanced/nextcloud/pure/14 && pwd && make build && make deploy +# cd `pwd`/linux/advanced/nextcloud/pure/15 && pwd && make build && make deploy +# cd `pwd`/linux/advanced/nextcloud/pure/16 && pwd && make build && make deploy +# cd `pwd`/linux/advanced/nextcloud/pure/17 && pwd && make build && make deploy +# cd `pwd`/linux/advanced/nextcloud/pure/18 && pwd && make build && make deploy +# cd `pwd`/linux/advanced/nextcloud/pure/19 && pwd && make build && make deploy +# cd `pwd`/linux/advanced/nextcloud/pure/20 && pwd && make build && make deploy +# cd `pwd`/linux/advanced/nextcloud/pure/21 && pwd && make build && make deploy +# cd `pwd`/linux/advanced/nextcloud/pure/22 && pwd && make build && make deploy +# cd `pwd`/linux/advanced/nextcloud/pure/23 && pwd && make build && make deploy +# cd `pwd`/linux/advanced/nextcloud/pure/24 && pwd && make build && make deploy +# cd `pwd`/linux/advanced/nextcloud/pure/25 && pwd && make build && make deploy +# cd `pwd`/linux/advanced/nextcloud/pure/26 && pwd && make build && make deploy +# cd `pwd`/linux/advanced/nextcloud/pure/27 && pwd && make build && make deploy cd `pwd`/linux/advanced/nextcloud/pure/28 && pwd && make build && make deploy cd `pwd`/linux/advanced/nextcloud/pure/29 && pwd && make build && make deploy cd `pwd`/linux/advanced/nextcloud/pure/30 && pwd && make build && make deploy advanced-nextcloud-patched-images: - cd `pwd`/linux/advanced/nextcloud/patched/14 && pwd && make build && make deploy - cd `pwd`/linux/advanced/nextcloud/patched/15 && pwd && make build && make deploy - cd `pwd`/linux/advanced/nextcloud/patched/16 && pwd && make build && make deploy - cd `pwd`/linux/advanced/nextcloud/patched/17 && pwd && make build && make deploy - cd `pwd`/linux/advanced/nextcloud/patched/18 && pwd && make build && make deploy - cd `pwd`/linux/advanced/nextcloud/patched/19 && pwd && make build && make deploy - cd `pwd`/linux/advanced/nextcloud/patched/20 && pwd && make build && make deploy - cd `pwd`/linux/advanced/nextcloud/patched/21 && pwd && make build && make deploy - cd `pwd`/linux/advanced/nextcloud/patched/22 && pwd && make build && make deploy - cd `pwd`/linux/advanced/nextcloud/patched/23 && pwd && make build && make deploy - cd `pwd`/linux/advanced/nextcloud/patched/24 && pwd && make build && make deploy - cd `pwd`/linux/advanced/nextcloud/patched/25 && pwd && make build && make deploy - cd `pwd`/linux/advanced/nextcloud/patched/26 && pwd && make build && make deploy - cd `pwd`/linux/advanced/nextcloud/patched/27 && pwd && make build && make deploy +# cd `pwd`/linux/advanced/nextcloud/patched/14 && pwd && make build && make deploy +# cd `pwd`/linux/advanced/nextcloud/patched/15 && pwd && make build && make deploy +# cd `pwd`/linux/advanced/nextcloud/patched/16 && pwd && make build && make deploy +# cd `pwd`/linux/advanced/nextcloud/patched/17 && pwd && make build && make deploy +# cd `pwd`/linux/advanced/nextcloud/patched/18 && pwd && make build && make deploy +# cd `pwd`/linux/advanced/nextcloud/patched/19 && pwd && make build && make deploy +# cd `pwd`/linux/advanced/nextcloud/patched/20 && pwd && make build && make deploy +# cd `pwd`/linux/advanced/nextcloud/patched/21 && pwd && make build && make deploy +# cd `pwd`/linux/advanced/nextcloud/patched/22 && pwd && make build && make deploy +# cd `pwd`/linux/advanced/nextcloud/patched/23 && pwd && make build && make deploy +# cd `pwd`/linux/advanced/nextcloud/patched/24 && pwd && make build && make deploy +# cd `pwd`/linux/advanced/nextcloud/patched/25 && pwd && make build && make deploy +# cd `pwd`/linux/advanced/nextcloud/patched/26 && pwd && make build && make deploy +# cd `pwd`/linux/advanced/nextcloud/patched/27 && pwd && make build && make deploy cd `pwd`/linux/advanced/nextcloud/patched/28 && pwd && make build && make deploy cd `pwd`/linux/advanced/nextcloud/patched/29 && pwd && make build && make deploy cd `pwd`/linux/advanced/nextcloud/patched/30 && pwd && make build && make deploy @@ -581,6 +581,24 @@ ecosystem-debian-bullseye-base-images: cd `pwd`/linux/ecosystem/epicmorg/debian/11-bullseye/main && pwd && make build && make deploy cd `pwd`/linux/ecosystem/epicmorg/debian/11-bullseye/develop && pwd && make build && make deploy +ecosystem-debian-bullseye-python-images: + cd `pwd`/linux/ecosystem/epicmorg/debian/11-bullseye/python/2.6 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/11-bullseye/python/2.7 && pwd && make build && make deploy +# cd `pwd`/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.0 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.1 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.2 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.3 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.4 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.5 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.6 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.7 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.8 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.9 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.10 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.11 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.12 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.13 && pwd && make build && make deploy + ecosystem-debian-bullseye-dotnet-images: cd `pwd`/linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/lts && pwd && make build && make deploy cd `pwd`/linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/sts && pwd && make build && make deploy @@ -642,6 +660,24 @@ ecosystem-debian-bookworm-base-images: cd `pwd`/linux/ecosystem/epicmorg/debian/12-bookworm/main && pwd && make build && make deploy cd `pwd`/linux/ecosystem/epicmorg/debian/12-bookworm/develop && pwd && make build && make deploy +ecosystem-debian-bookworm-python-images: + cd `pwd`/linux/ecosystem/epicmorg/debian/12-bookworm/python/2.6 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/12-bookworm/python/2.7 && pwd && make build && make deploy +# cd `pwd`/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.0 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.1 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.2 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.3 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.4 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.5 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.6 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.7 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.8 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.9 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.10 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.11 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.12 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.13 && pwd && make build && make deploy + ecosystem-debian-bookworm-dotnet-images: cd `pwd`/linux/ecosystem/epicmorg/debian/12-bookworm/dotnet/lts && pwd && make build && make deploy cd `pwd`/linux/ecosystem/epicmorg/debian/12-bookworm/dotnet/sts && pwd && make build && make deploy @@ -703,6 +739,24 @@ ecosystem-debian-trixie-base-images: cd `pwd`/linux/ecosystem/epicmorg/debian/13-trixie/main && pwd && make build && make deploy cd `pwd`/linux/ecosystem/epicmorg/debian/13-trixie/develop && pwd && make build && make deploy +ecosystem-debian-trixie-python-images: + cd `pwd`/linux/ecosystem/epicmorg/debian/13-trixie/python/2.6 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/13-trixie/python/2.7 && pwd && make build && make deploy +# cd `pwd`/linux/ecosystem/epicmorg/debian/13-trixie/python/3.0 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/13-trixie/python/3.1 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/13-trixie/python/3.2 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/13-trixie/python/3.3 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/13-trixie/python/3.4 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/13-trixie/python/3.5 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/13-trixie/python/3.6 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/13-trixie/python/3.7 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/13-trixie/python/3.8 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/13-trixie/python/3.9 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/13-trixie/python/3.10 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/13-trixie/python/3.11 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/13-trixie/python/3.12 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/13-trixie/python/3.13 && pwd && make build && make deploy + ecosystem-debian-trixie-dotnet-images: cd `pwd`/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/lts && pwd && make build && make deploy cd `pwd`/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/sts && pwd && make build && make deploy @@ -764,6 +818,24 @@ ecosystem-debian-sid-base-images: cd `pwd`/linux/ecosystem/epicmorg/debian/sid/main && pwd && make build && make deploy cd `pwd`/linux/ecosystem/epicmorg/debian/sid/develop && pwd && make build && make deploy +ecosystem-debian-sid-python-images: + cd `pwd`/linux/ecosystem/epicmorg/debian/sid/python/2.6 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/sid/python/2.7 && pwd && make build && make deploy +# cd `pwd`/linux/ecosystem/epicmorg/debian/sid/python/3.0 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/sid/python/3.1 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/sid/python/3.2 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/sid/python/3.3 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/sid/python/3.4 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/sid/python/3.5 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/sid/python/3.6 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/sid/python/3.7 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/sid/python/3.8 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/sid/python/3.9 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/sid/python/3.10 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/sid/python/3.11 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/sid/python/3.12 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/sid/python/3.13 && pwd && make build && make deploy + ecosystem-debian-sid-dotnet-images: cd `pwd`/linux/ecosystem/epicmorg/debian/sid/dotnet/lts && pwd && make build && make deploy cd `pwd`/linux/ecosystem/epicmorg/debian/sid/dotnet/sts && pwd && make build && make deploy @@ -2412,4 +2484,7 @@ bundle-python: @echo "==============================================" @echo "===== Building EpicMorg Python images =====" @echo "==============================================" - cd `pwd`/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.13 && pwd && make build && make deploy \ No newline at end of file + make ecosystem-debian-bullseye-python-images + make ecosystem-debian-bookworm-python-images + make ecosystem-debian-trixie-python-images + make ecosystem-debian-sid-python-images diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/python/2.6/Dockerfile b/linux/ecosystem/epicmorg/debian/11-bullseye/python/2.6/Dockerfile new file mode 100644 index 000000000..b45721914 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/python/2.6/Dockerfile @@ -0,0 +1,122 @@ +FROM epicmorg/debian:bullseye-develop as builder + +################################################################## +# Build +################################################################## +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/ + +ENV PYTHON_VERSION=2.6 +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 + +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 PATH="${PYTHON_BIN_DIR}:${PATH}" + +WORKDIR ${PYTHON_SRC_DIR} + +RUN ./configure \ + --prefix=${PYTHON_DIR} \ + --enable-option-checking=fatal \ + --enable-profiling \ + --with-pydebug + +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/ + +################################################################## +# Python 2.6 +################################################################## +ENV PYTHON_VERSION=2.6 +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} + +ENV PATH="${PYTHON_BIN_DIR}:${PATH}" + +#ADD https://bootstrap.pypa.io/pip/3.2/get-pip.py /tmp + +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/pip2 && \ + rm -rfv /usr/bin/pip && \ + rm -rfv /usr/bin/python && \ + rm -rfv /usr/bin/python2 && \ + rm -rfv /usr/bin/python3 && \ +# ${PYTHON_DIR}/bin/python${PYTHON_VERSION} /tmp/get-pip.py && \ +# update-alternatives --install /usr/bin/pip2 pip2 ${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/python2 python2 ${PYTHON_DIR}/bin/python${PYTHON_VERSION} 1 && \ + ldconfig + +RUN echo "=============================================" && \ + python${PYTHON_VERSION} --version && \ + python2 --version && \ + python --version && \ +# pip2 --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/11-bullseye/python/2.6/Makefile b/linux/ecosystem/epicmorg/debian/11-bullseye/python/2.6/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/python/2.6/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/11-bullseye/python/2.6/docker-compose.yml b/linux/ecosystem/epicmorg/debian/11-bullseye/python/2.6/docker-compose.yml new file mode 100644 index 000000000..0d2280d4b --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/python/2.6/docker-compose.yml @@ -0,0 +1,6 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:bullseye-python-2.6" + build: + context: . diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/python/2.6/etc/apt/preferences.d/block-python-packages b/linux/ecosystem/epicmorg/debian/11-bullseye/python/2.6/etc/apt/preferences.d/block-python-packages new file mode 100644 index 000000000..2b2824a84 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/python/2.6/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/11-bullseye/python/2.6/etc/apt/preferences.d/block-python2-packages b/linux/ecosystem/epicmorg/debian/11-bullseye/python/2.6/etc/apt/preferences.d/block-python2-packages new file mode 100644 index 000000000..6cb9a2e9d --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/python/2.6/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/11-bullseye/python/2.6/etc/apt/preferences.d/block-python3-packages b/linux/ecosystem/epicmorg/debian/11-bullseye/python/2.6/etc/apt/preferences.d/block-python3-packages new file mode 100644 index 000000000..eccd7ebc6 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/python/2.6/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/11-bullseye/python/2.7/Dockerfile b/linux/ecosystem/epicmorg/debian/11-bullseye/python/2.7/Dockerfile new file mode 100644 index 000000000..3518a96ff --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/python/2.7/Dockerfile @@ -0,0 +1,124 @@ +FROM epicmorg/debian:bullseye-develop as builder + +################################################################## +# Build +################################################################## +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/ + +ENV PYTHON_VERSION=2.7 +ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.18 +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 + +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 PATH="${PYTHON_BIN_DIR}:${PATH}" + +WORKDIR ${PYTHON_SRC_DIR} + +RUN ./configure \ + --prefix=${PYTHON_DIR} \ + --enable-option-checking=fatal \ + --with-ensurepip=install \ + --enable-profiling \ + --with-system-expat \ + --with-computed-gotos \ + --with-pydebug \ + --with-valgrind \ + --with-lto + +RUN make -j$(nproc) && \ + make altinstall + +#RUN python${PYTHON_VERSION} -c "import ssl; print(ssl.OPENSSL_VERSION)" + +################################################################## +################################################################## +################################################################## +# Final Layer +################################################################## +################################################################## +################################################################## +FROM epicmorg/debian:bullseye + +RUN apt-get remove -y python3-pip + +# /etc/ld.so.conf.d/ +ARG LD_CONF_DIR=/etc/ld.so.conf.d/ + +################################################################## +# Python 2.7 +################################################################## +ENV PYTHON_VERSION=2.7 +ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.18 +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} + +ENV PATH="${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/pip2 && \ + rm -rfv /usr/bin/pip && \ + rm -rfv /usr/bin/python && \ + rm -rfv /usr/bin/python2 && \ + rm -rfv /usr/bin/python3 && \ + update-alternatives --install /usr/bin/pip2 pip2 ${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/python2 python2 ${PYTHON_DIR}/bin/python${PYTHON_VERSION} 1 && \ + ldconfig + +RUN echo "=============================================" && \ + python${PYTHON_VERSION} --version && \ + python2 --version && \ + python --version && \ + pip2 --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/11-bullseye/python/2.7/Makefile b/linux/ecosystem/epicmorg/debian/11-bullseye/python/2.7/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/python/2.7/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/11-bullseye/python/2.7/docker-compose.yml b/linux/ecosystem/epicmorg/debian/11-bullseye/python/2.7/docker-compose.yml new file mode 100644 index 000000000..580b04d9b --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/python/2.7/docker-compose.yml @@ -0,0 +1,6 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:bullseye-python-2.7" + build: + context: . diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/python/2.7/etc/apt/preferences.d/block-python-packages b/linux/ecosystem/epicmorg/debian/11-bullseye/python/2.7/etc/apt/preferences.d/block-python-packages new file mode 100644 index 000000000..2b2824a84 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/python/2.7/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/11-bullseye/python/2.7/etc/apt/preferences.d/block-python2-packages b/linux/ecosystem/epicmorg/debian/11-bullseye/python/2.7/etc/apt/preferences.d/block-python2-packages new file mode 100644 index 000000000..6cb9a2e9d --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/python/2.7/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/11-bullseye/python/2.7/etc/apt/preferences.d/block-python3-packages b/linux/ecosystem/epicmorg/debian/11-bullseye/python/2.7/etc/apt/preferences.d/block-python3-packages new file mode 100644 index 000000000..eccd7ebc6 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/python/2.7/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/11-bullseye/python/3.0/Dockerfile b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.0/Dockerfile new file mode 100644 index 000000000..cbcfb94b6 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.0/Dockerfile @@ -0,0 +1,147 @@ +FROM epicmorg/debian:bullseye-develop as builder + +################################################################## +# Build +################################################################## +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/ + +ENV PYTHON_VERSION=3.0 +ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.1 +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 + +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_102_DIR} +ENV LD_LIBRARY_PATH=${OPENSSL_ROOT}/lib:$LD_LIBRARY_PATH + +ENV PATH="${PYTHON_BIN_DIR}:${PATH}" + +WORKDIR ${PYTHON_SRC_DIR} + +RUN ./configure \ + --prefix=${PYTHON_DIR} \ + --enable-option-checking=fatal \ + --enable-profiling \ + --with-computed-gotos \ + --with-pydebug \ + --with-wide-unicode \ + SSL=${OPENSSL_102_DIR} \ + CFLAGS="-I${OPENSSL_102_DIR}/include" \ + CPPFLAGS="-I${OPENSSL_102_DIR}/include" \ + PKG_CONFIG_PATH="${OPENSSL_102_DIR}/lib/pkgconfig" \ + LDFLAGS="-L${OPENSSL_102_DIR}/lib -Wl,-rpath,${OPENSSL_102_DIR}/lib" + +RUN make -j$(nproc) && \ + make altinstall + +#RUN python${PYTHON_VERSION} -c "import ssl; print(ssl.OPENSSL_VERSION)" + +################################################################## +################################################################## +################################################################## +# Final Layer +################################################################## +################################################################## +################################################################## +FROM epicmorg/debian:bullseye + +RUN apt-get remove -y python3-pip + +# /etc/ld.so.conf.d/ +ARG LD_CONF_DIR=/etc/ld.so.conf.d/ + +################################################################## +# OpenSSL 1.0.2u +################################################################## +ENV OPENSSL_102_VERSION=1.0.2 +ENV OPENSSL_102_DIR=${EMG_LOCAL_BASE_DIR}/openssl/${OPENSSL_102_VERSION} +ENV OPENSSL_102_BIN_DIR=${OPENSSL_102_DIR}/bin +ENV OPENSSL_102_INC_DIR=${OPENSSL_102_DIR}/include +ENV OPENSSL_102_LIB_DIR=${OPENSSL_102_DIR}/lib +ENV OPENSSL_102_SRC_DIR=/usr/local/src/openssl/${OPENSSL_102_VERSION} + +################################################################## +# Python 3.0 +################################################################## +ENV PYTHON_VERSION=3.0 +ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.1 +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_102_DIR} ${OPENSSL_102_DIR} +COPY --from=builder ${OPENSSL_102_SRC_DIR} ${OPENSSL_102_SRC_DIR} + +ENV OPENSSL_ROOT=${OPENSSL_102_DIR} +ENV LD_LIBRARY_PATH=${OPENSSL_ROOT}/lib:$LD_LIBRARY_PATH +ENV PATH="${OPENSSL_102_BIN_DIR}:${PYTHON_BIN_DIR}:${PATH}" + +#ADD https://github.com/pypa/pip/archive/refs/tags/9.0.3.tar.gz /tmp + +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 && \ +# tar -xvzf /tmp/9.0.3.tar.gz --directory /tmp && \ +# cd /tmp/pip-9.0.3 && ${PYTHON_DIR}/bin/python${PYTHON_VERSION} ./setup.py install && \ +# 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_102_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/11-bullseye/python/3.0/Makefile b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.0/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.0/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/11-bullseye/python/3.0/docker-compose.yml b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.0/docker-compose.yml new file mode 100644 index 000000000..25061d472 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.0/docker-compose.yml @@ -0,0 +1,6 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:bullseye-python-3.0" + build: + context: . diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.0/etc/apt/preferences.d/block-python-packages b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.0/etc/apt/preferences.d/block-python-packages new file mode 100644 index 000000000..2b2824a84 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.0/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/11-bullseye/python/3.0/etc/apt/preferences.d/block-python2-packages b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.0/etc/apt/preferences.d/block-python2-packages new file mode 100644 index 000000000..6cb9a2e9d --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.0/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/11-bullseye/python/3.0/etc/apt/preferences.d/block-python3-packages b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.0/etc/apt/preferences.d/block-python3-packages new file mode 100644 index 000000000..eccd7ebc6 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.0/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/11-bullseye/python/3.1/Dockerfile b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.1/Dockerfile new file mode 100644 index 000000000..67c664ccb --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.1/Dockerfile @@ -0,0 +1,147 @@ +FROM epicmorg/debian:bullseye-develop as builder + +################################################################## +# Build +################################################################## +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/ + +ENV PYTHON_VERSION=3.1 +ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.5 +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 + +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_102_DIR} +ENV LD_LIBRARY_PATH=${OPENSSL_ROOT}/lib:$LD_LIBRARY_PATH + +ENV PATH="${PYTHON_BIN_DIR}:${PATH}" + +WORKDIR ${PYTHON_SRC_DIR} + +RUN ./configure \ + --prefix=${PYTHON_DIR} \ + --enable-option-checking=fatal \ + --enable-profiling \ + --with-computed-gotos \ + --with-pydebug \ + --with-wide-unicode \ + SSL=${OPENSSL_102_DIR} \ + CFLAGS="-I${OPENSSL_102_DIR}/include" \ + CPPFLAGS="-I${OPENSSL_102_DIR}/include" \ + PKG_CONFIG_PATH="${OPENSSL_102_DIR}/lib/pkgconfig" \ + LDFLAGS="-L${OPENSSL_102_DIR}/lib -Wl,-rpath,${OPENSSL_102_DIR}/lib" + +RUN make -j$(nproc) && \ + make altinstall + +#RUN python${PYTHON_VERSION} -c "import ssl; print(ssl.OPENSSL_VERSION)" + +################################################################## +################################################################## +################################################################## +# Final Layer +################################################################## +################################################################## +################################################################## +FROM epicmorg/debian:bullseye + +RUN apt-get remove -y python3-pip + +# /etc/ld.so.conf.d/ +ARG LD_CONF_DIR=/etc/ld.so.conf.d/ + +################################################################## +# OpenSSL 1.0.2u +################################################################## +ENV OPENSSL_102_VERSION=1.0.2 +ENV OPENSSL_102_DIR=${EMG_LOCAL_BASE_DIR}/openssl/${OPENSSL_102_VERSION} +ENV OPENSSL_102_BIN_DIR=${OPENSSL_102_DIR}/bin +ENV OPENSSL_102_INC_DIR=${OPENSSL_102_DIR}/include +ENV OPENSSL_102_LIB_DIR=${OPENSSL_102_DIR}/lib +ENV OPENSSL_102_SRC_DIR=/usr/local/src/openssl/${OPENSSL_102_VERSION} + +################################################################## +# Python 3.1 +################################################################## +ENV PYTHON_VERSION=3.1 +ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.5 +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_102_DIR} ${OPENSSL_102_DIR} +COPY --from=builder ${OPENSSL_102_SRC_DIR} ${OPENSSL_102_SRC_DIR} + +ENV OPENSSL_ROOT=${OPENSSL_102_DIR} +ENV LD_LIBRARY_PATH=${OPENSSL_ROOT}/lib:$LD_LIBRARY_PATH +ENV PATH="${OPENSSL_102_BIN_DIR}:${PYTHON_BIN_DIR}:${PATH}" + +#ADD https://github.com/pypa/pip/archive/refs/tags/9.0.3.tar.gz /tmp + +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 && \ +# tar -xvzf /tmp/9.0.3.tar.gz --directory /tmp && \ +# cd /tmp/pip-9.0.3 && ${PYTHON_DIR}/bin/python${PYTHON_VERSION} ./setup.py install && \ +# 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_102_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/11-bullseye/python/3.1/Makefile b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.1/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.1/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/11-bullseye/python/3.1/docker-compose.yml b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.1/docker-compose.yml new file mode 100644 index 000000000..26712f4f3 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.1/docker-compose.yml @@ -0,0 +1,6 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:bullseye-python-3.1" + build: + context: . diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.1/etc/apt/preferences.d/block-python-packages b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.1/etc/apt/preferences.d/block-python-packages new file mode 100644 index 000000000..2b2824a84 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.1/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/11-bullseye/python/3.1/etc/apt/preferences.d/block-python2-packages b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.1/etc/apt/preferences.d/block-python2-packages new file mode 100644 index 000000000..6cb9a2e9d --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.1/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/11-bullseye/python/3.1/etc/apt/preferences.d/block-python3-packages b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.1/etc/apt/preferences.d/block-python3-packages new file mode 100644 index 000000000..eccd7ebc6 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.1/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/11-bullseye/python/3.10/Dockerfile b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.10/Dockerfile new file mode 100644 index 000000000..986e0985b --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.10/Dockerfile @@ -0,0 +1,153 @@ +FROM epicmorg/debian:bullseye-develop as builder + +################################################################## +# Build +################################################################## +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/ + +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 + +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 \ + --with-computed-gotos \ + --with-pydebug \ + --with-trace-refs \ + --with-assertions \ + --with-valgrind \ + --with-static-libpython \ + --with-openssl-rpath=auto \ + --with-openssl=${OPENSSL_34_DIR} \ + SSL=${OPENSSL_34_DIR} \ + CFLAGS="-I${OPENSSL_34_DIR}/include" \ + CPPFLAGS="-I${OPENSSL_34_DIR}/include" \ + PKG_CONFIG_PATH="${OPENSSL_34_DIR}/lib64/pkgconfig" \ + LDFLAGS="-L${OPENSSL_34_DIR}/lib64 -Wl,-rpath,${OPENSSL_34_DIR}/lib64" + +RUN make -j$(nproc) && \ + make altinstall + +RUN python${PYTHON_VERSION} -c "import ssl; print(ssl.OPENSSL_VERSION)" + +################################################################## +################################################################## +################################################################## +# Final Layer +################################################################## +################################################################## +################################################################## +FROM epicmorg/debian:bullseye + +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/11-bullseye/python/3.10/Makefile b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.10/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/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/11-bullseye/python/3.10/docker-compose.yml b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.10/docker-compose.yml new file mode 100644 index 000000000..f8f5cf34f --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.10/docker-compose.yml @@ -0,0 +1,6 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:bullseye-python-3.10" + build: + context: . diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.10/etc/apt/preferences.d/block-python-packages b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.10/etc/apt/preferences.d/block-python-packages new file mode 100644 index 000000000..2b2824a84 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/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/11-bullseye/python/3.10/etc/apt/preferences.d/block-python2-packages b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.10/etc/apt/preferences.d/block-python2-packages new file mode 100644 index 000000000..6cb9a2e9d --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/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/11-bullseye/python/3.10/etc/apt/preferences.d/block-python3-packages b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.10/etc/apt/preferences.d/block-python3-packages new file mode 100644 index 000000000..eccd7ebc6 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/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/11-bullseye/python/3.11/Dockerfile b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.11/Dockerfile new file mode 100644 index 000000000..dca7daf10 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.11/Dockerfile @@ -0,0 +1,153 @@ +FROM epicmorg/debian:bullseye-develop as builder + +################################################################## +# Build +################################################################## +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/ + +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 + +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 \ + --with-computed-gotos \ + --with-pydebug \ + --with-trace-refs \ + --with-assertions \ + --with-valgrind \ + --with-static-libpython \ + --with-openssl-rpath=auto \ + --with-openssl=${OPENSSL_34_DIR} \ + SSL=${OPENSSL_34_DIR} \ + CFLAGS="-I${OPENSSL_34_DIR}/include" \ + CPPFLAGS="-I${OPENSSL_34_DIR}/include" \ + PKG_CONFIG_PATH="${OPENSSL_34_DIR}/lib64/pkgconfig" \ + LDFLAGS="-L${OPENSSL_34_DIR}/lib64 -Wl,-rpath,${OPENSSL_34_DIR}/lib64" + +RUN make -j$(nproc) && \ + make altinstall + +RUN python${PYTHON_VERSION} -c "import ssl; print(ssl.OPENSSL_VERSION)" + +################################################################## +################################################################## +################################################################## +# Final Layer +################################################################## +################################################################## +################################################################## +FROM epicmorg/debian:bullseye + +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/11-bullseye/python/3.11/Makefile b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.11/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/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/11-bullseye/python/3.11/docker-compose.yml b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.11/docker-compose.yml new file mode 100644 index 000000000..54a83c16f --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.11/docker-compose.yml @@ -0,0 +1,6 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:bullseye-python-3.11" + build: + context: . diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.11/etc/apt/preferences.d/block-python-packages b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.11/etc/apt/preferences.d/block-python-packages new file mode 100644 index 000000000..2b2824a84 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/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/11-bullseye/python/3.11/etc/apt/preferences.d/block-python2-packages b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.11/etc/apt/preferences.d/block-python2-packages new file mode 100644 index 000000000..6cb9a2e9d --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/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/11-bullseye/python/3.11/etc/apt/preferences.d/block-python3-packages b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.11/etc/apt/preferences.d/block-python3-packages new file mode 100644 index 000000000..eccd7ebc6 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/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/11-bullseye/python/3.12/Dockerfile b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.12/Dockerfile new file mode 100644 index 000000000..4d3a646d9 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.12/Dockerfile @@ -0,0 +1,153 @@ +FROM epicmorg/debian:bullseye-develop as builder + +################################################################## +# Build +################################################################## +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/ + +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 + +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 \ + --with-computed-gotos \ + --with-pydebug \ + --with-trace-refs \ + --with-assertions \ + --with-valgrind \ + --with-static-libpython \ + --with-openssl-rpath=auto \ + --with-openssl=${OPENSSL_34_DIR} \ + SSL=${OPENSSL_34_DIR} \ + CFLAGS="-I${OPENSSL_34_DIR}/include" \ + CPPFLAGS="-I${OPENSSL_34_DIR}/include" \ + PKG_CONFIG_PATH="${OPENSSL_34_DIR}/lib64/pkgconfig" \ + LDFLAGS="-L${OPENSSL_34_DIR}/lib64 -Wl,-rpath,${OPENSSL_34_DIR}/lib64" + +RUN make -j$(nproc) && \ + make altinstall + +RUN python${PYTHON_VERSION} -c "import ssl; print(ssl.OPENSSL_VERSION)" + +################################################################## +################################################################## +################################################################## +# Final Layer +################################################################## +################################################################## +################################################################## +FROM epicmorg/debian:bullseye + +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/11-bullseye/python/3.12/Makefile b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.12/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/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/11-bullseye/python/3.12/docker-compose.yml b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.12/docker-compose.yml new file mode 100644 index 000000000..1747fc34b --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.12/docker-compose.yml @@ -0,0 +1,6 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:bullseye-python-3.12" + build: + context: . diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.12/etc/apt/preferences.d/block-python-packages b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.12/etc/apt/preferences.d/block-python-packages new file mode 100644 index 000000000..2b2824a84 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/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/11-bullseye/python/3.12/etc/apt/preferences.d/block-python2-packages b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.12/etc/apt/preferences.d/block-python2-packages new file mode 100644 index 000000000..6cb9a2e9d --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/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/11-bullseye/python/3.12/etc/apt/preferences.d/block-python3-packages b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.12/etc/apt/preferences.d/block-python3-packages new file mode 100644 index 000000000..eccd7ebc6 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/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/11-bullseye/python/3.13/Dockerfile b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.13/Dockerfile new file mode 100644 index 000000000..8d84b6bca --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.13/Dockerfile @@ -0,0 +1,153 @@ +FROM epicmorg/debian:bullseye-develop as builder + +################################################################## +# Build +################################################################## +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/ + +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_FULL_VERSION}/Python-${PYTHON_FULL_VERSION}.tgz +ARG PYTHON_TEMP=/tmp/Python-${PYTHON_FULL_VERSION}.tgz + +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 \ + --with-computed-gotos \ + --with-pydebug \ + --with-trace-refs \ + --with-assertions \ + --with-valgrind \ + --with-static-libpython \ + --with-openssl-rpath=auto \ + --with-openssl=${OPENSSL_34_DIR} \ + SSL=${OPENSSL_34_DIR} \ + CFLAGS="-I${OPENSSL_34_DIR}/include" \ + CPPFLAGS="-I${OPENSSL_34_DIR}/include" \ + PKG_CONFIG_PATH="${OPENSSL_34_DIR}/lib64/pkgconfig" \ + LDFLAGS="-L${OPENSSL_34_DIR}/lib64 -Wl,-rpath,${OPENSSL_34_DIR}/lib64" + +RUN make -j$(nproc) && \ + make altinstall + +RUN python${PYTHON_VERSION} -c "import ssl; print(ssl.OPENSSL_VERSION)" + +################################################################## +################################################################## +################################################################## +# Final Layer +################################################################## +################################################################## +################################################################## +FROM epicmorg/debian:bullseye + +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.13 +################################################################## +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 + +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/11-bullseye/python/3.13/Makefile b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.13/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.13/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/11-bullseye/python/3.13/docker-compose.yml b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.13/docker-compose.yml new file mode 100644 index 000000000..ed57d7d6b --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.13/docker-compose.yml @@ -0,0 +1,6 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:bullseye-python-3.13" + build: + context: . diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.13/etc/apt/preferences.d/block-python-packages b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.13/etc/apt/preferences.d/block-python-packages new file mode 100644 index 000000000..2b2824a84 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.13/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/11-bullseye/python/3.13/etc/apt/preferences.d/block-python2-packages b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.13/etc/apt/preferences.d/block-python2-packages new file mode 100644 index 000000000..6cb9a2e9d --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.13/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/11-bullseye/python/3.13/etc/apt/preferences.d/block-python3-packages b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.13/etc/apt/preferences.d/block-python3-packages new file mode 100644 index 000000000..eccd7ebc6 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.13/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/11-bullseye/python/3.2/Dockerfile b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.2/Dockerfile new file mode 100644 index 000000000..8601511c4 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.2/Dockerfile @@ -0,0 +1,149 @@ +FROM epicmorg/debian:bullseye-develop as builder + +################################################################## +# Build +################################################################## +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/ + +ENV PYTHON_VERSION=3.2 +ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.6 +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 + +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_102_DIR} +ENV LD_LIBRARY_PATH=${OPENSSL_ROOT}/lib:$LD_LIBRARY_PATH + +ENV PATH="${PYTHON_BIN_DIR}:${PATH}" + +WORKDIR ${PYTHON_SRC_DIR} + +RUN ./configure \ + --prefix=${PYTHON_DIR} \ + --enable-option-checking=fatal \ + --enable-loadable-sqlite-extensions \ + --enable-profiling \ + --with-system-expat \ + --with-computed-gotos \ + --with-pydebug \ + --with-valgrind \ + --with-wide-unicode \ + SSL=${OPENSSL_102_DIR} \ + CFLAGS="-I${OPENSSL_102_DIR}/include" \ + CPPFLAGS="-I${OPENSSL_102_DIR}/include" \ + PKG_CONFIG_PATH="${OPENSSL_102_DIR}/lib/pkgconfig" \ + LDFLAGS="-L${OPENSSL_102_DIR}/lib -Wl,-rpath,${OPENSSL_102_DIR}/lib" + +RUN make -j$(nproc) && \ + make altinstall + +RUN python${PYTHON_VERSION} -c "import ssl; print(ssl.OPENSSL_VERSION)" + +################################################################## +################################################################## +################################################################## +# Final Layer +################################################################## +################################################################## +################################################################## +FROM epicmorg/debian:bullseye + +RUN apt-get remove -y python3-pip + +# /etc/ld.so.conf.d/ +ARG LD_CONF_DIR=/etc/ld.so.conf.d/ + +################################################################## +# OpenSSL 1.0.2u +################################################################## +ENV OPENSSL_102_VERSION=1.0.2 +ENV OPENSSL_102_DIR=${EMG_LOCAL_BASE_DIR}/openssl/${OPENSSL_102_VERSION} +ENV OPENSSL_102_BIN_DIR=${OPENSSL_102_DIR}/bin +ENV OPENSSL_102_INC_DIR=${OPENSSL_102_DIR}/include +ENV OPENSSL_102_LIB_DIR=${OPENSSL_102_DIR}/lib +ENV OPENSSL_102_SRC_DIR=/usr/local/src/openssl/${OPENSSL_102_VERSION} + +################################################################## +# Python 3.2 +################################################################## +ENV PYTHON_VERSION=3.2 +ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.6 +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_102_DIR} ${OPENSSL_102_DIR} +COPY --from=builder ${OPENSSL_102_SRC_DIR} ${OPENSSL_102_SRC_DIR} + +ENV OPENSSL_ROOT=${OPENSSL_102_DIR} +ENV LD_LIBRARY_PATH=${OPENSSL_ROOT}/lib:$LD_LIBRARY_PATH +ENV PATH="${OPENSSL_102_BIN_DIR}:${PYTHON_BIN_DIR}:${PATH}" + +ADD https://bootstrap.pypa.io/pip/3.2/get-pip.py /tmp + +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 && \ + ${PYTHON_DIR}/bin/python${PYTHON_VERSION} /tmp/get-pip.py && \ + 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_102_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/11-bullseye/python/3.2/Makefile b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.2/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.2/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/11-bullseye/python/3.2/docker-compose.yml b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.2/docker-compose.yml new file mode 100644 index 000000000..a8adad99f --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.2/docker-compose.yml @@ -0,0 +1,6 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:bullseye-python-3.2" + build: + context: . diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.2/etc/apt/preferences.d/block-python-packages b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.2/etc/apt/preferences.d/block-python-packages new file mode 100644 index 000000000..2b2824a84 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.2/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/11-bullseye/python/3.2/etc/apt/preferences.d/block-python2-packages b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.2/etc/apt/preferences.d/block-python2-packages new file mode 100644 index 000000000..6cb9a2e9d --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.2/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/11-bullseye/python/3.2/etc/apt/preferences.d/block-python3-packages b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.2/etc/apt/preferences.d/block-python3-packages new file mode 100644 index 000000000..eccd7ebc6 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.2/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/11-bullseye/python/3.3/Dockerfile b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.3/Dockerfile new file mode 100644 index 000000000..c101f9ba8 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.3/Dockerfile @@ -0,0 +1,148 @@ +FROM epicmorg/debian:bullseye-develop as builder + +################################################################## +# Build +################################################################## +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/ + +ENV PYTHON_VERSION=3.3 +ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.7 +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 + +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_102_DIR} +ENV LD_LIBRARY_PATH=${OPENSSL_ROOT}/lib:$LD_LIBRARY_PATH + +ENV PATH="${PYTHON_BIN_DIR}:${PATH}" + +WORKDIR ${PYTHON_SRC_DIR} + +RUN ./configure \ + --prefix=${PYTHON_DIR} \ + --enable-option-checking=fatal \ + --enable-loadable-sqlite-extensions \ + --enable-profiling \ + --with-system-expat \ + --with-computed-gotos \ + --with-pydebug \ + --with-valgrind \ + SSL=${OPENSSL_102_DIR} \ + CFLAGS="-I${OPENSSL_102_DIR}/include" \ + CPPFLAGS="-I${OPENSSL_102_DIR}/include" \ + PKG_CONFIG_PATH="${OPENSSL_102_DIR}/lib/pkgconfig" \ + LDFLAGS="-L${OPENSSL_102_DIR}/lib -Wl,-rpath,${OPENSSL_102_DIR}/lib" + +RUN make -j$(nproc) && \ + make altinstall + +RUN python${PYTHON_VERSION} -c "import ssl; print(ssl.OPENSSL_VERSION)" + +################################################################## +################################################################## +################################################################## +# Final Layer +################################################################## +################################################################## +################################################################## +FROM epicmorg/debian:bullseye + +RUN apt-get remove -y python3-pip + +# /etc/ld.so.conf.d/ +ARG LD_CONF_DIR=/etc/ld.so.conf.d/ + +################################################################## +# OpenSSL 1.0.2u +################################################################## +ENV OPENSSL_102_VERSION=1.0.2 +ENV OPENSSL_102_DIR=${EMG_LOCAL_BASE_DIR}/openssl/${OPENSSL_102_VERSION} +ENV OPENSSL_102_BIN_DIR=${OPENSSL_102_DIR}/bin +ENV OPENSSL_102_INC_DIR=${OPENSSL_102_DIR}/include +ENV OPENSSL_102_LIB_DIR=${OPENSSL_102_DIR}/lib +ENV OPENSSL_102_SRC_DIR=/usr/local/src/openssl/${OPENSSL_102_VERSION} + +################################################################## +# Python 3.3 +################################################################## +ENV PYTHON_VERSION=3.3 +ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.7 +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_102_DIR} ${OPENSSL_102_DIR} +COPY --from=builder ${OPENSSL_102_SRC_DIR} ${OPENSSL_102_SRC_DIR} + +ENV OPENSSL_ROOT=${OPENSSL_102_DIR} +ENV LD_LIBRARY_PATH=${OPENSSL_ROOT}/lib:$LD_LIBRARY_PATH +ENV PATH="${OPENSSL_102_BIN_DIR}:${PYTHON_BIN_DIR}:${PATH}" + +ADD https://bootstrap.pypa.io/pip/3.3/get-pip.py /tmp + +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 && \ + ${PYTHON_DIR}/bin/python${PYTHON_VERSION} /tmp/get-pip.py && \ + 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_102_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/11-bullseye/python/3.3/Makefile b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.3/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.3/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/11-bullseye/python/3.3/docker-compose.yml b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.3/docker-compose.yml new file mode 100644 index 000000000..7669b0c26 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.3/docker-compose.yml @@ -0,0 +1,6 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:bullseye-python-3.3" + build: + context: . diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.3/etc/apt/preferences.d/block-python-packages b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.3/etc/apt/preferences.d/block-python-packages new file mode 100644 index 000000000..2b2824a84 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.3/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/11-bullseye/python/3.3/etc/apt/preferences.d/block-python2-packages b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.3/etc/apt/preferences.d/block-python2-packages new file mode 100644 index 000000000..6cb9a2e9d --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.3/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/11-bullseye/python/3.3/etc/apt/preferences.d/block-python3-packages b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.3/etc/apt/preferences.d/block-python3-packages new file mode 100644 index 000000000..eccd7ebc6 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.3/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/11-bullseye/python/3.4/Dockerfile b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.4/Dockerfile new file mode 100644 index 000000000..b85855a74 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.4/Dockerfile @@ -0,0 +1,146 @@ +FROM epicmorg/debian:bullseye-develop as builder + +################################################################## +# Build +################################################################## +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/ + +ENV PYTHON_VERSION=3.4 +ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.10 +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 + +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_102_DIR} +ENV LD_LIBRARY_PATH=${OPENSSL_ROOT}/lib:$LD_LIBRARY_PATH + +ENV PATH="${PYTHON_BIN_DIR}:${PATH}" + +WORKDIR ${PYTHON_SRC_DIR} + +RUN ./configure \ + --prefix=${PYTHON_DIR} \ + --enable-option-checking=fatal \ + --enable-loadable-sqlite-extensions \ + --with-ensurepip=install \ + --enable-profiling \ + --with-system-expat \ + --with-computed-gotos \ + --with-pydebug \ + --with-valgrind \ + SSL=${OPENSSL_102_DIR} \ + CFLAGS="-I${OPENSSL_102_DIR}/include" \ + CPPFLAGS="-I${OPENSSL_102_DIR}/include" \ + PKG_CONFIG_PATH="${OPENSSL_102_DIR}/lib/pkgconfig" \ + LDFLAGS="-L${OPENSSL_102_DIR}/lib -Wl,-rpath,${OPENSSL_102_DIR}/lib" + +RUN make -j$(nproc) && \ + make altinstall + +RUN python${PYTHON_VERSION} -c "import ssl; print(ssl.OPENSSL_VERSION)" + +################################################################## +################################################################## +################################################################## +# Final Layer +################################################################## +################################################################## +################################################################## +FROM epicmorg/debian:bullseye + +RUN apt-get remove -y python3-pip + +# /etc/ld.so.conf.d/ +ARG LD_CONF_DIR=/etc/ld.so.conf.d/ + +################################################################## +# OpenSSL 1.0.2u +################################################################## +ENV OPENSSL_102_VERSION=1.0.2 +ENV OPENSSL_102_DIR=${EMG_LOCAL_BASE_DIR}/openssl/${OPENSSL_102_VERSION} +ENV OPENSSL_102_BIN_DIR=${OPENSSL_102_DIR}/bin +ENV OPENSSL_102_INC_DIR=${OPENSSL_102_DIR}/include +ENV OPENSSL_102_LIB_DIR=${OPENSSL_102_DIR}/lib +ENV OPENSSL_102_SRC_DIR=/usr/local/src/openssl/${OPENSSL_102_VERSION} + +################################################################## +# Python 3.4 +################################################################## +ENV PYTHON_VERSION=3.4 +ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.10 +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_102_DIR} ${OPENSSL_102_DIR} +COPY --from=builder ${OPENSSL_102_SRC_DIR} ${OPENSSL_102_SRC_DIR} + +ENV OPENSSL_ROOT=${OPENSSL_102_DIR} +ENV LD_LIBRARY_PATH=${OPENSSL_ROOT}/lib:$LD_LIBRARY_PATH +ENV PATH="${OPENSSL_102_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_102_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/11-bullseye/python/3.4/Makefile b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.4/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.4/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/11-bullseye/python/3.4/docker-compose.yml b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.4/docker-compose.yml new file mode 100644 index 000000000..49339a754 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.4/docker-compose.yml @@ -0,0 +1,6 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:bullseye-python-3.4" + build: + context: . diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.4/etc/apt/preferences.d/block-python-packages b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.4/etc/apt/preferences.d/block-python-packages new file mode 100644 index 000000000..2b2824a84 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.4/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/11-bullseye/python/3.4/etc/apt/preferences.d/block-python2-packages b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.4/etc/apt/preferences.d/block-python2-packages new file mode 100644 index 000000000..6cb9a2e9d --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.4/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/11-bullseye/python/3.4/etc/apt/preferences.d/block-python3-packages b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.4/etc/apt/preferences.d/block-python3-packages new file mode 100644 index 000000000..eccd7ebc6 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.4/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/11-bullseye/python/3.5/Dockerfile b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.5/Dockerfile new file mode 100644 index 000000000..adb007d42 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.5/Dockerfile @@ -0,0 +1,148 @@ +FROM epicmorg/debian:bullseye-develop as builder + +################################################################## +# Build +################################################################## +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/ + +ENV PYTHON_VERSION=3.5 +ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.10 +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 + +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_111_DIR} +ENV LD_LIBRARY_PATH=${OPENSSL_ROOT}/lib:$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 \ + --with-computed-gotos \ + --with-pydebug \ + --with-valgrind \ + SSL=${OPENSSL_111_DIR} \ + CFLAGS="-I${OPENSSL_111_DIR}/include" \ + CPPFLAGS="-I${OPENSSL_111_DIR}/include" \ + PKG_CONFIG_PATH="${OPENSSL_111_DIR}/lib/pkgconfig" \ + LDFLAGS="-L${OPENSSL_111_DIR}/lib -Wl,-rpath,${OPENSSL_111_DIR}/lib" + +RUN make -j$(nproc) && \ + make altinstall + +RUN python${PYTHON_VERSION} -c "import ssl; print(ssl.OPENSSL_VERSION)" + +################################################################## +################################################################## +################################################################## +# Final Layer +################################################################## +################################################################## +################################################################## +FROM epicmorg/debian:bullseye + +RUN apt-get remove -y python3-pip + +# /etc/ld.so.conf.d/ +ARG LD_CONF_DIR=/etc/ld.so.conf.d/ + +################################################################## +# OpenSSL 1.1.1w +################################################################## +ENV OPENSSL_111_VERSION=1.1.1 +ENV OPENSSL_111_DIR=${EMG_LOCAL_BASE_DIR}/openssl/${OPENSSL_111_VERSION} +ENV OPENSSL_111_BIN_DIR=${OPENSSL_111_DIR}/bin +ENV OPENSSL_111_INC_DIR=${OPENSSL_111_DIR}/include +ENV OPENSSL_111_LIB_DIR=${OPENSSL_111_DIR}/lib +ENV OPENSSL_111_SRC_DIR=/usr/local/src/openssl/${OPENSSL_111_VERSION} + +################################################################## +# Python 3.5 +################################################################## +ENV PYTHON_VERSION=3.5 +ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.10 +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_111_DIR} ${OPENSSL_111_DIR} +COPY --from=builder ${OPENSSL_111_SRC_DIR} ${OPENSSL_111_SRC_DIR} + +ENV OPENSSL_ROOT=${OPENSSL_111_DIR} +ENV LD_LIBRARY_PATH=${OPENSSL_ROOT}/lib:$LD_LIBRARY_PATH +ENV PATH="${OPENSSL_111_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_111_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/11-bullseye/python/3.5/Makefile b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.5/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.5/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/11-bullseye/python/3.5/docker-compose.yml b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.5/docker-compose.yml new file mode 100644 index 000000000..c34bb1b68 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.5/docker-compose.yml @@ -0,0 +1,6 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:bullseye-python-3.5" + build: + context: . diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.5/etc/apt/preferences.d/block-python-packages b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.5/etc/apt/preferences.d/block-python-packages new file mode 100644 index 000000000..2b2824a84 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.5/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/11-bullseye/python/3.5/etc/apt/preferences.d/block-python2-packages b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.5/etc/apt/preferences.d/block-python2-packages new file mode 100644 index 000000000..6cb9a2e9d --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.5/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/11-bullseye/python/3.5/etc/apt/preferences.d/block-python3-packages b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.5/etc/apt/preferences.d/block-python3-packages new file mode 100644 index 000000000..eccd7ebc6 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.5/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/11-bullseye/python/3.6/Dockerfile b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.6/Dockerfile new file mode 100644 index 000000000..fa53ebca6 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.6/Dockerfile @@ -0,0 +1,149 @@ +FROM epicmorg/debian:bullseye-develop as builder + +################################################################## +# Build +################################################################## +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/ + +ENV PYTHON_VERSION=3.6 +ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.15 +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 + +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_111_DIR} +ENV LD_LIBRARY_PATH=${OPENSSL_ROOT}/lib:$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 \ + --with-computed-gotos \ + --with-pydebug \ + --with-assertions \ + --with-valgrind \ + SSL=${OPENSSL_111_DIR} \ + CFLAGS="-I${OPENSSL_111_DIR}/include" \ + CPPFLAGS="-I${OPENSSL_111_DIR}/include" \ + PKG_CONFIG_PATH="${OPENSSL_111_DIR}/lib/pkgconfig" \ + LDFLAGS="-L${OPENSSL_111_DIR}/lib -Wl,-rpath,${OPENSSL_111_DIR}/lib" + +RUN make -j$(nproc) && \ + make altinstall + +RUN python${PYTHON_VERSION} -c "import ssl; print(ssl.OPENSSL_VERSION)" + +################################################################## +################################################################## +################################################################## +# Final Layer +################################################################## +################################################################## +################################################################## +FROM epicmorg/debian:bullseye + +RUN apt-get remove -y python3-pip + +# /etc/ld.so.conf.d/ +ARG LD_CONF_DIR=/etc/ld.so.conf.d/ + +################################################################## +# OpenSSL 1.1.1w +################################################################## +ENV OPENSSL_111_VERSION=1.1.1 +ENV OPENSSL_111_DIR=${EMG_LOCAL_BASE_DIR}/openssl/${OPENSSL_111_VERSION} +ENV OPENSSL_111_BIN_DIR=${OPENSSL_111_DIR}/bin +ENV OPENSSL_111_INC_DIR=${OPENSSL_111_DIR}/include +ENV OPENSSL_111_LIB_DIR=${OPENSSL_111_DIR}/lib +ENV OPENSSL_111_SRC_DIR=/usr/local/src/openssl/${OPENSSL_111_VERSION} + +################################################################## +# Python 3.6 +################################################################## +ENV PYTHON_VERSION=3.6 +ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.15 +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_111_DIR} ${OPENSSL_111_DIR} +COPY --from=builder ${OPENSSL_111_SRC_DIR} ${OPENSSL_111_SRC_DIR} + +ENV OPENSSL_ROOT=${OPENSSL_111_DIR} +ENV LD_LIBRARY_PATH=${OPENSSL_ROOT}/lib:$LD_LIBRARY_PATH +ENV PATH="${OPENSSL_111_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_111_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/11-bullseye/python/3.6/Makefile b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.6/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.6/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/11-bullseye/python/3.6/docker-compose.yml b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.6/docker-compose.yml new file mode 100644 index 000000000..178059def --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.6/docker-compose.yml @@ -0,0 +1,6 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:bullseye-python-3.6" + build: + context: . diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.6/etc/apt/preferences.d/block-python-packages b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.6/etc/apt/preferences.d/block-python-packages new file mode 100644 index 000000000..2b2824a84 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.6/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/11-bullseye/python/3.6/etc/apt/preferences.d/block-python2-packages b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.6/etc/apt/preferences.d/block-python2-packages new file mode 100644 index 000000000..6cb9a2e9d --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.6/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/11-bullseye/python/3.6/etc/apt/preferences.d/block-python3-packages b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.6/etc/apt/preferences.d/block-python3-packages new file mode 100644 index 000000000..eccd7ebc6 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.6/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/11-bullseye/python/3.7/Dockerfile b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.7/Dockerfile new file mode 100644 index 000000000..b8293dc40 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.7/Dockerfile @@ -0,0 +1,153 @@ +FROM epicmorg/debian:bullseye-develop as builder + +################################################################## +# Build +################################################################## +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/ + +ENV PYTHON_VERSION=3.7 +ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.17 +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 + +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_111_DIR} +ENV LD_LIBRARY_PATH=${OPENSSL_ROOT}/lib:$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 \ + --with-computed-gotos \ + --with-pydebug \ +# --with-trace-refs \ + --with-assertions \ + --with-valgrind \ +# --with-static-libpython \ +# --with-openssl-rpath=auto \ + --with-openssl=${OPENSSL_111_DIR} \ + SSL=${OPENSSL_111_DIR} \ + CFLAGS="-I${OPENSSL_111_DIR}/include" \ + CPPFLAGS="-I${OPENSSL_111_DIR}/include" \ + PKG_CONFIG_PATH="${OPENSSL_111_DIR}/lib/pkgconfig" \ + LDFLAGS="-L${OPENSSL_111_DIR}/lib -Wl,-rpath,${OPENSSL_111_DIR}/lib" + +RUN make -j$(nproc) && \ + make altinstall + +RUN python${PYTHON_VERSION} -c "import ssl; print(ssl.OPENSSL_VERSION)" + +################################################################## +################################################################## +################################################################## +# Final Layer +################################################################## +################################################################## +################################################################## +FROM epicmorg/debian:bullseye + +RUN apt-get remove -y python3-pip + +# /etc/ld.so.conf.d/ +ARG LD_CONF_DIR=/etc/ld.so.conf.d/ + +################################################################## +# OpenSSL 1.1.1w +################################################################## +ENV OPENSSL_111_VERSION=1.1.1 +ENV OPENSSL_111_DIR=${EMG_LOCAL_BASE_DIR}/openssl/${OPENSSL_111_VERSION} +ENV OPENSSL_111_BIN_DIR=${OPENSSL_111_DIR}/bin +ENV OPENSSL_111_INC_DIR=${OPENSSL_111_DIR}/include +ENV OPENSSL_111_LIB_DIR=${OPENSSL_111_DIR}/lib +ENV OPENSSL_111_SRC_DIR=/usr/local/src/openssl/${OPENSSL_111_VERSION} + +################################################################## +# Python 3.7 +################################################################## +ENV PYTHON_VERSION=3.7 +ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.17 +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_111_DIR} ${OPENSSL_111_DIR} +COPY --from=builder ${OPENSSL_111_SRC_DIR} ${OPENSSL_111_SRC_DIR} + +ENV OPENSSL_ROOT=${OPENSSL_111_DIR} +ENV LD_LIBRARY_PATH=${OPENSSL_ROOT}/lib:$LD_LIBRARY_PATH +ENV PATH="${OPENSSL_111_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_111_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/11-bullseye/python/3.7/Makefile b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.7/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.7/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/11-bullseye/python/3.7/docker-compose.yml b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.7/docker-compose.yml new file mode 100644 index 000000000..a07a91aef --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.7/docker-compose.yml @@ -0,0 +1,6 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:bullseye-python-3.7" + build: + context: . diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.7/etc/apt/preferences.d/block-python-packages b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.7/etc/apt/preferences.d/block-python-packages new file mode 100644 index 000000000..2b2824a84 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.7/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/11-bullseye/python/3.7/etc/apt/preferences.d/block-python2-packages b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.7/etc/apt/preferences.d/block-python2-packages new file mode 100644 index 000000000..6cb9a2e9d --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.7/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/11-bullseye/python/3.7/etc/apt/preferences.d/block-python3-packages b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.7/etc/apt/preferences.d/block-python3-packages new file mode 100644 index 000000000..eccd7ebc6 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.7/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/11-bullseye/python/3.8/Dockerfile b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.8/Dockerfile new file mode 100644 index 000000000..cf3eb0875 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.8/Dockerfile @@ -0,0 +1,153 @@ +FROM epicmorg/debian:bullseye-develop as builder + +################################################################## +# Build +################################################################## +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/ + +ENV PYTHON_VERSION=3.8 +ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.20 +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 + +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_111_DIR} +ENV LD_LIBRARY_PATH=${OPENSSL_ROOT}/lib:$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 \ + --with-computed-gotos \ + --with-pydebug \ + --with-trace-refs \ + --with-assertions \ + --with-valgrind \ +# --with-static-libpython \ +# --with-openssl-rpath=auto \ + --with-openssl=${OPENSSL_111_DIR} \ + SSL=${OPENSSL_111_DIR} \ + CFLAGS="-I${OPENSSL_111_DIR}/include" \ + CPPFLAGS="-I${OPENSSL_111_DIR}/include" \ + PKG_CONFIG_PATH="${OPENSSL_111_DIR}/lib/pkgconfig" \ + LDFLAGS="-L${OPENSSL_111_DIR}/lib -Wl,-rpath,${OPENSSL_111_DIR}/lib" + +RUN make -j$(nproc) && \ + make altinstall + +RUN python${PYTHON_VERSION} -c "import ssl; print(ssl.OPENSSL_VERSION)" + +################################################################## +################################################################## +################################################################## +# Final Layer +################################################################## +################################################################## +################################################################## +FROM epicmorg/debian:bullseye + +RUN apt-get remove -y python3-pip + +# /etc/ld.so.conf.d/ +ARG LD_CONF_DIR=/etc/ld.so.conf.d/ + +################################################################## +# OpenSSL 1.1.1w +################################################################## +ENV OPENSSL_111_VERSION=1.1.1 +ENV OPENSSL_111_DIR=${EMG_LOCAL_BASE_DIR}/openssl/${OPENSSL_111_VERSION} +ENV OPENSSL_111_BIN_DIR=${OPENSSL_111_DIR}/bin +ENV OPENSSL_111_INC_DIR=${OPENSSL_111_DIR}/include +ENV OPENSSL_111_LIB_DIR=${OPENSSL_111_DIR}/lib +ENV OPENSSL_111_SRC_DIR=/usr/local/src/openssl/${OPENSSL_111_VERSION} + +################################################################## +# Python 3.8 +################################################################## +ENV PYTHON_VERSION=3.8 +ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.20 +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_111_DIR} ${OPENSSL_111_DIR} +COPY --from=builder ${OPENSSL_111_SRC_DIR} ${OPENSSL_111_SRC_DIR} + +ENV OPENSSL_ROOT=${OPENSSL_111_DIR} +ENV LD_LIBRARY_PATH=${OPENSSL_ROOT}/lib:$LD_LIBRARY_PATH +ENV PATH="${OPENSSL_111_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_111_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/11-bullseye/python/3.8/Makefile b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.8/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.8/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/11-bullseye/python/3.8/docker-compose.yml b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.8/docker-compose.yml new file mode 100644 index 000000000..1fb4f414f --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.8/docker-compose.yml @@ -0,0 +1,6 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:bullseye-python-3.8" + build: + context: . diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.8/etc/apt/preferences.d/block-python-packages b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.8/etc/apt/preferences.d/block-python-packages new file mode 100644 index 000000000..2b2824a84 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.8/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/11-bullseye/python/3.8/etc/apt/preferences.d/block-python2-packages b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.8/etc/apt/preferences.d/block-python2-packages new file mode 100644 index 000000000..6cb9a2e9d --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.8/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/11-bullseye/python/3.8/etc/apt/preferences.d/block-python3-packages b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.8/etc/apt/preferences.d/block-python3-packages new file mode 100644 index 000000000..eccd7ebc6 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.8/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/11-bullseye/python/3.9/Dockerfile b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.9/Dockerfile new file mode 100644 index 000000000..99e775fc6 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.9/Dockerfile @@ -0,0 +1,153 @@ +FROM epicmorg/debian:bullseye-develop as builder + +################################################################## +# Build +################################################################## +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/ + +ENV PYTHON_VERSION=3.9 +ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.21 +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 + +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_111_DIR} +ENV LD_LIBRARY_PATH=${OPENSSL_ROOT}/lib:$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 \ + --with-computed-gotos \ + --with-pydebug \ + --with-trace-refs \ + --with-assertions \ + --with-valgrind \ +# --with-static-libpython \ +# --with-openssl-rpath=auto \ + --with-openssl=${OPENSSL_111_DIR} \ + SSL=${OPENSSL_111_DIR} \ + CFLAGS="-I${OPENSSL_111_DIR}/include" \ + CPPFLAGS="-I${OPENSSL_111_DIR}/include" \ + PKG_CONFIG_PATH="${OPENSSL_111_DIR}/lib/pkgconfig" \ + LDFLAGS="-L${OPENSSL_111_DIR}/lib -Wl,-rpath,${OPENSSL_111_DIR}/lib" + +RUN make -j$(nproc) && \ + make altinstall + +RUN python${PYTHON_VERSION} -c "import ssl; print(ssl.OPENSSL_VERSION)" + +################################################################## +################################################################## +################################################################## +# Final Layer +################################################################## +################################################################## +################################################################## +FROM epicmorg/debian:bullseye + +RUN apt-get remove -y python3-pip + +# /etc/ld.so.conf.d/ +ARG LD_CONF_DIR=/etc/ld.so.conf.d/ + +################################################################## +# OpenSSL 1.1.1w +################################################################## +ENV OPENSSL_111_VERSION=1.1.1 +ENV OPENSSL_111_DIR=${EMG_LOCAL_BASE_DIR}/openssl/${OPENSSL_111_VERSION} +ENV OPENSSL_111_BIN_DIR=${OPENSSL_111_DIR}/bin +ENV OPENSSL_111_INC_DIR=${OPENSSL_111_DIR}/include +ENV OPENSSL_111_LIB_DIR=${OPENSSL_111_DIR}/lib +ENV OPENSSL_111_SRC_DIR=/usr/local/src/openssl/${OPENSSL_111_VERSION} + +################################################################## +# Python 3.9 +################################################################## +ENV PYTHON_VERSION=3.9 +ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.21 +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_111_DIR} ${OPENSSL_111_DIR} +COPY --from=builder ${OPENSSL_111_SRC_DIR} ${OPENSSL_111_SRC_DIR} + +ENV OPENSSL_ROOT=${OPENSSL_111_DIR} +ENV LD_LIBRARY_PATH=${OPENSSL_ROOT}/lib:$LD_LIBRARY_PATH +ENV PATH="${OPENSSL_111_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_111_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/11-bullseye/python/3.9/Makefile b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.9/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.9/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/11-bullseye/python/3.9/docker-compose.yml b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.9/docker-compose.yml new file mode 100644 index 000000000..e7f59cb9a --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.9/docker-compose.yml @@ -0,0 +1,6 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:bullseye-python-3.9" + build: + context: . diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.9/etc/apt/preferences.d/block-python-packages b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.9/etc/apt/preferences.d/block-python-packages new file mode 100644 index 000000000..2b2824a84 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.9/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/11-bullseye/python/3.9/etc/apt/preferences.d/block-python2-packages b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.9/etc/apt/preferences.d/block-python2-packages new file mode 100644 index 000000000..6cb9a2e9d --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.9/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/11-bullseye/python/3.9/etc/apt/preferences.d/block-python3-packages b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.9/etc/apt/preferences.d/block-python3-packages new file mode 100644 index 000000000..eccd7ebc6 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/python/3.9/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/11-bullseye/python/README.md b/linux/ecosystem/epicmorg/debian/11-bullseye/python/README.md new file mode 100644 index 000000000..c2cdf75a4 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/python/README.md @@ -0,0 +1,20 @@ +# Version Compablity + +| Python | OpenSSL | Comments | +| ------------- | ------------- | ----------------- | +| 2.6 | Not ready | No pip installed | +| 2.7 | Not ready | | +| 3.0 | 1.0.2u | No pip installed | +| 3.1 | 1.0.2u | No pip installed | +| 3.2 | 1.0.2u | | +| 3.3 | 1.0.2u | | +| 3.4 | 1.0.2u | | +| 3.5 | 1.1.1.1w | | +| 3.6 | 1.1.1.1w | | +| 3.7 | 1.1.1.1w | | +| 3.8 | 1.1.1.1w | | +| 3.9 | 1.1.1.1w | | +| 3.10 | 3.4.x | | +| 3.11 | 3.4.x | | +| 3.12 | 3.4.x | | +| 3.13 | 3.4.x | | diff --git a/linux/ecosystem/epicmorg/debian/12-bookworm/develop/Dockerfile b/linux/ecosystem/epicmorg/debian/12-bookworm/develop/Dockerfile index 2d27cb02e..3df9aa31f 100644 --- a/linux/ecosystem/epicmorg/debian/12-bookworm/develop/Dockerfile +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/develop/Dockerfile @@ -886,7 +886,7 @@ RUN tar -xzf ${OPENSSL_102_TEMP} --directory /tmp && \ cp -rfv ${OPENSSL_102_TEMP_SRC}/* ${OPENSSL_102_SRC_DIR} && \ ln -sf ${OPENSSL_102_SRC_DIR} ${OPENSSL_102_DIR}/src && \ cd ${OPENSSL_102_TEMP_SRC} && \ - CFLAGS=-Wno-error ./config \ + CFLAGS="-Wno-error -fPIC" CXXFLAGS="-fPIC" ./config \ zlib \ --with-zlib-include=${ZLIB_DIR}/include \ --with-zlib-lib=${ZLIB_DIR}/lib \ @@ -894,6 +894,7 @@ RUN tar -xzf ${OPENSSL_102_TEMP} --directory /tmp && \ enable-egd \ enable-ssl-trace \ threads \ + shared \ sctp \ --release \ --prefix=${OPENSSL_102_DIR} \ @@ -911,7 +912,7 @@ RUN tar -xzf ${OPENSSL_111_TEMP} --directory /tmp && \ cp -rfv ${OPENSSL_111_TEMP_SRC}/* ${OPENSSL_111_SRC_DIR} && \ ln -sf ${OPENSSL_111_SRC_DIR} ${OPENSSL_111_DIR}/src && \ cd ${OPENSSL_111_TEMP_SRC} && \ - CFLAGS=-Wno-error ./config \ + CFLAGS="-Wno-error -fPIC" CXXFLAGS="-fPIC" ./config \ zlib \ --with-zlib-include=${ZLIB_DIR}/include \ --with-zlib-lib=${ZLIB_DIR}/lib \ @@ -936,7 +937,7 @@ RUN tar -xzf ${OPENSSL_30_TEMP} --directory /tmp && \ cp -rfv ${OPENSSL_30_TEMP_SRC}/* ${OPENSSL_30_SRC_DIR} && \ ln -sf ${OPENSSL_30_SRC_DIR} ${OPENSSL_30_DIR}/src && \ cd ${OPENSSL_30_TEMP_SRC} && \ - CFLAGS=-Wno-error ./config \ + CFLAGS="-Wno-error -fPIC" CXXFLAGS="-fPIC" ./config \ zlib \ --with-zlib-include=${ZLIB_DIR}/include \ --with-zlib-lib=${ZLIB_DIR}/lib \ @@ -964,7 +965,7 @@ RUN tar -xzf ${OPENSSL_31_TEMP} --directory /tmp && \ cp -rfv ${OPENSSL_31_TEMP_SRC}/* ${OPENSSL_31_SRC_DIR} && \ ln -sf ${OPENSSL_31_SRC_DIR} ${OPENSSL_31_DIR}/src && \ cd ${OPENSSL_31_TEMP_SRC} && \ - CFLAGS=-Wno-error ./config \ + CFLAGS="-Wno-error -fPIC" CXXFLAGS="-fPIC" ./config \ zlib \ --with-zlib-include=${ZLIB_DIR}/include \ --with-zlib-lib=${ZLIB_DIR}/lib \ @@ -992,7 +993,7 @@ RUN tar -xzf ${OPENSSL_32_TEMP} --directory /tmp && \ cp -rfv ${OPENSSL_32_TEMP_SRC}/* ${OPENSSL_32_SRC_DIR} && \ ln -sf ${OPENSSL_32_SRC_DIR} ${OPENSSL_32_DIR}/src && \ cd ${OPENSSL_32_TEMP_SRC} && \ - CFLAGS=-Wno-error ./config \ + CFLAGS="-Wno-error -fPIC" CXXFLAGS="-fPIC" ./config \ zlib \ --with-zlib-include=${ZLIB_DIR}/include \ --with-zlib-lib=${ZLIB_DIR}/lib \ @@ -1022,7 +1023,7 @@ RUN tar -xzf ${OPENSSL_33_TEMP} --directory /tmp && \ cp -rfv ${OPENSSL_33_TEMP_SRC}/* ${OPENSSL_33_SRC_DIR} && \ ln -sf ${OPENSSL_33_SRC_DIR} ${OPENSSL_33_DIR}/src && \ cd ${OPENSSL_33_TEMP_SRC} && \ - CFLAGS=-Wno-error ./config \ + CFLAGS="-Wno-error -fPIC" CXXFLAGS="-fPIC" ./config \ zlib \ --with-zlib-include=${ZLIB_DIR}/include \ --with-zlib-lib=${ZLIB_DIR}/lib \ @@ -1055,7 +1056,7 @@ RUN tar -xzf ${OPENSSL_34_TEMP} --directory /tmp && \ cp -rfv ${OPENSSL_34_TEMP_SRC}/* ${OPENSSL_34_SRC_DIR} && \ ln -sf ${OPENSSL_34_SRC_DIR} ${OPENSSL_34_DIR}/src && \ cd ${OPENSSL_34_TEMP_SRC} && \ - ./config \ + CFLAGS="-Wno-error -fPIC" CXXFLAGS="-fPIC" ./config \ zlib \ --with-zlib-include=${ZLIB_DIR}/include \ --with-zlib-lib=${ZLIB_DIR}/lib \ diff --git a/linux/ecosystem/epicmorg/debian/12-bookworm/python/2.6/Dockerfile b/linux/ecosystem/epicmorg/debian/12-bookworm/python/2.6/Dockerfile new file mode 100644 index 000000000..a6a642e9f --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/python/2.6/Dockerfile @@ -0,0 +1,122 @@ +FROM epicmorg/debian:bookworm-develop as builder + +################################################################## +# Build +################################################################## +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/ + +ENV PYTHON_VERSION=2.6 +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 + +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 PATH="${PYTHON_BIN_DIR}:${PATH}" + +WORKDIR ${PYTHON_SRC_DIR} + +RUN ./configure \ + --prefix=${PYTHON_DIR} \ + --enable-option-checking=fatal \ + --enable-profiling \ + --with-pydebug + +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/ + +################################################################## +# Python 2.6 +################################################################## +ENV PYTHON_VERSION=2.6 +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} + +ENV PATH="${PYTHON_BIN_DIR}:${PATH}" + +#ADD https://bootstrap.pypa.io/pip/3.2/get-pip.py /tmp + +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/pip2 && \ + rm -rfv /usr/bin/pip && \ + rm -rfv /usr/bin/python && \ + rm -rfv /usr/bin/python2 && \ + rm -rfv /usr/bin/python3 && \ +# ${PYTHON_DIR}/bin/python${PYTHON_VERSION} /tmp/get-pip.py && \ +# update-alternatives --install /usr/bin/pip2 pip2 ${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/python2 python2 ${PYTHON_DIR}/bin/python${PYTHON_VERSION} 1 && \ + ldconfig + +RUN echo "=============================================" && \ + python${PYTHON_VERSION} --version && \ + python2 --version && \ + python --version && \ +# pip2 --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/2.6/Makefile b/linux/ecosystem/epicmorg/debian/12-bookworm/python/2.6/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/python/2.6/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/2.6/docker-compose.yml b/linux/ecosystem/epicmorg/debian/12-bookworm/python/2.6/docker-compose.yml new file mode 100644 index 000000000..7c00693ba --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/python/2.6/docker-compose.yml @@ -0,0 +1,6 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:bookworm-python-2.6" + build: + context: . diff --git a/linux/ecosystem/epicmorg/debian/12-bookworm/python/2.6/etc/apt/preferences.d/block-python-packages b/linux/ecosystem/epicmorg/debian/12-bookworm/python/2.6/etc/apt/preferences.d/block-python-packages new file mode 100644 index 000000000..2b2824a84 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/python/2.6/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/2.6/etc/apt/preferences.d/block-python2-packages b/linux/ecosystem/epicmorg/debian/12-bookworm/python/2.6/etc/apt/preferences.d/block-python2-packages new file mode 100644 index 000000000..6cb9a2e9d --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/python/2.6/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/2.6/etc/apt/preferences.d/block-python3-packages b/linux/ecosystem/epicmorg/debian/12-bookworm/python/2.6/etc/apt/preferences.d/block-python3-packages new file mode 100644 index 000000000..eccd7ebc6 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/python/2.6/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/2.7/Dockerfile b/linux/ecosystem/epicmorg/debian/12-bookworm/python/2.7/Dockerfile new file mode 100644 index 000000000..ef77976b0 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/python/2.7/Dockerfile @@ -0,0 +1,124 @@ +FROM epicmorg/debian:bookworm-develop as builder + +################################################################## +# Build +################################################################## +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/ + +ENV PYTHON_VERSION=2.7 +ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.18 +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 + +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 PATH="${PYTHON_BIN_DIR}:${PATH}" + +WORKDIR ${PYTHON_SRC_DIR} + +RUN ./configure \ + --prefix=${PYTHON_DIR} \ + --enable-option-checking=fatal \ + --with-ensurepip=install \ + --enable-profiling \ + --with-system-expat \ + --with-computed-gotos \ + --with-pydebug \ + --with-valgrind \ + --with-lto + +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/ + +################################################################## +# Python 2.7 +################################################################## +ENV PYTHON_VERSION=2.7 +ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.18 +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} + +ENV PATH="${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/pip2 && \ + rm -rfv /usr/bin/pip && \ + rm -rfv /usr/bin/python && \ + rm -rfv /usr/bin/python2 && \ + rm -rfv /usr/bin/python3 && \ + update-alternatives --install /usr/bin/pip2 pip2 ${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/python2 python2 ${PYTHON_DIR}/bin/python${PYTHON_VERSION} 1 && \ + ldconfig + +RUN echo "=============================================" && \ + python${PYTHON_VERSION} --version && \ + python2 --version && \ + python --version && \ + pip2 --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/2.7/Makefile b/linux/ecosystem/epicmorg/debian/12-bookworm/python/2.7/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/python/2.7/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/2.7/docker-compose.yml b/linux/ecosystem/epicmorg/debian/12-bookworm/python/2.7/docker-compose.yml new file mode 100644 index 000000000..d8e573a80 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/python/2.7/docker-compose.yml @@ -0,0 +1,6 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:bookworm-python-2.7" + build: + context: . diff --git a/linux/ecosystem/epicmorg/debian/12-bookworm/python/2.7/etc/apt/preferences.d/block-python-packages b/linux/ecosystem/epicmorg/debian/12-bookworm/python/2.7/etc/apt/preferences.d/block-python-packages new file mode 100644 index 000000000..2b2824a84 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/python/2.7/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/2.7/etc/apt/preferences.d/block-python2-packages b/linux/ecosystem/epicmorg/debian/12-bookworm/python/2.7/etc/apt/preferences.d/block-python2-packages new file mode 100644 index 000000000..6cb9a2e9d --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/python/2.7/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/2.7/etc/apt/preferences.d/block-python3-packages b/linux/ecosystem/epicmorg/debian/12-bookworm/python/2.7/etc/apt/preferences.d/block-python3-packages new file mode 100644 index 000000000..eccd7ebc6 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/python/2.7/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.0/Dockerfile b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.0/Dockerfile new file mode 100644 index 000000000..6b9127bfa --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.0/Dockerfile @@ -0,0 +1,147 @@ +FROM epicmorg/debian:bookworm-develop as builder + +################################################################## +# Build +################################################################## +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/ + +ENV PYTHON_VERSION=3.0 +ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.1 +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 + +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_102_DIR} +ENV LD_LIBRARY_PATH=${OPENSSL_ROOT}/lib:$LD_LIBRARY_PATH + +ENV PATH="${PYTHON_BIN_DIR}:${PATH}" + +WORKDIR ${PYTHON_SRC_DIR} + +RUN ./configure \ + --prefix=${PYTHON_DIR} \ + --enable-option-checking=fatal \ + --enable-profiling \ + --with-computed-gotos \ + --with-pydebug \ + --with-wide-unicode \ + SSL=${OPENSSL_102_DIR} \ + CFLAGS="-I${OPENSSL_102_DIR}/include" \ + CPPFLAGS="-I${OPENSSL_102_DIR}/include" \ + PKG_CONFIG_PATH="${OPENSSL_102_DIR}/lib/pkgconfig" \ + LDFLAGS="-L${OPENSSL_102_DIR}/lib -Wl,-rpath,${OPENSSL_102_DIR}/lib" + +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 1.0.2u +################################################################## +ENV OPENSSL_102_VERSION=1.0.2 +ENV OPENSSL_102_DIR=${EMG_LOCAL_BASE_DIR}/openssl/${OPENSSL_102_VERSION} +ENV OPENSSL_102_BIN_DIR=${OPENSSL_102_DIR}/bin +ENV OPENSSL_102_INC_DIR=${OPENSSL_102_DIR}/include +ENV OPENSSL_102_LIB_DIR=${OPENSSL_102_DIR}/lib +ENV OPENSSL_102_SRC_DIR=/usr/local/src/openssl/${OPENSSL_102_VERSION} + +################################################################## +# Python 3.0 +################################################################## +ENV PYTHON_VERSION=3.0 +ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.1 +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_102_DIR} ${OPENSSL_102_DIR} +COPY --from=builder ${OPENSSL_102_SRC_DIR} ${OPENSSL_102_SRC_DIR} + +ENV OPENSSL_ROOT=${OPENSSL_102_DIR} +ENV LD_LIBRARY_PATH=${OPENSSL_ROOT}/lib:$LD_LIBRARY_PATH +ENV PATH="${OPENSSL_102_BIN_DIR}:${PYTHON_BIN_DIR}:${PATH}" + +#ADD https://github.com/pypa/pip/archive/refs/tags/9.0.3.tar.gz /tmp + +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 && \ +# tar -xvzf /tmp/9.0.3.tar.gz --directory /tmp && \ +# cd /tmp/pip-9.0.3 && ${PYTHON_DIR}/bin/python${PYTHON_VERSION} ./setup.py install && \ +# 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_102_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.0/Makefile b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.0/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.0/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.0/docker-compose.yml b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.0/docker-compose.yml new file mode 100644 index 000000000..237456707 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.0/docker-compose.yml @@ -0,0 +1,6 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:bookworm-python-3.0" + build: + context: . diff --git a/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.0/etc/apt/preferences.d/block-python-packages b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.0/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.0/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.0/etc/apt/preferences.d/block-python2-packages b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.0/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.0/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.0/etc/apt/preferences.d/block-python3-packages b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.0/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.0/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.1/Dockerfile b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.1/Dockerfile new file mode 100644 index 000000000..628c53ef4 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.1/Dockerfile @@ -0,0 +1,147 @@ +FROM epicmorg/debian:bookworm-develop as builder + +################################################################## +# Build +################################################################## +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/ + +ENV PYTHON_VERSION=3.1 +ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.5 +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 + +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_102_DIR} +ENV LD_LIBRARY_PATH=${OPENSSL_ROOT}/lib:$LD_LIBRARY_PATH + +ENV PATH="${PYTHON_BIN_DIR}:${PATH}" + +WORKDIR ${PYTHON_SRC_DIR} + +RUN ./configure \ + --prefix=${PYTHON_DIR} \ + --enable-option-checking=fatal \ + --enable-profiling \ + --with-computed-gotos \ + --with-pydebug \ + --with-wide-unicode \ + SSL=${OPENSSL_102_DIR} \ + CFLAGS="-I${OPENSSL_102_DIR}/include" \ + CPPFLAGS="-I${OPENSSL_102_DIR}/include" \ + PKG_CONFIG_PATH="${OPENSSL_102_DIR}/lib/pkgconfig" \ + LDFLAGS="-L${OPENSSL_102_DIR}/lib -Wl,-rpath,${OPENSSL_102_DIR}/lib" + +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 1.0.2u +################################################################## +ENV OPENSSL_102_VERSION=1.0.2 +ENV OPENSSL_102_DIR=${EMG_LOCAL_BASE_DIR}/openssl/${OPENSSL_102_VERSION} +ENV OPENSSL_102_BIN_DIR=${OPENSSL_102_DIR}/bin +ENV OPENSSL_102_INC_DIR=${OPENSSL_102_DIR}/include +ENV OPENSSL_102_LIB_DIR=${OPENSSL_102_DIR}/lib +ENV OPENSSL_102_SRC_DIR=/usr/local/src/openssl/${OPENSSL_102_VERSION} + +################################################################## +# Python 3.1 +################################################################## +ENV PYTHON_VERSION=3.1 +ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.5 +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_102_DIR} ${OPENSSL_102_DIR} +COPY --from=builder ${OPENSSL_102_SRC_DIR} ${OPENSSL_102_SRC_DIR} + +ENV OPENSSL_ROOT=${OPENSSL_102_DIR} +ENV LD_LIBRARY_PATH=${OPENSSL_ROOT}/lib:$LD_LIBRARY_PATH +ENV PATH="${OPENSSL_102_BIN_DIR}:${PYTHON_BIN_DIR}:${PATH}" + +#ADD https://github.com/pypa/pip/archive/refs/tags/9.0.3.tar.gz /tmp + +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 && \ +# tar -xvzf /tmp/9.0.3.tar.gz --directory /tmp && \ +# cd /tmp/pip-9.0.3 && ${PYTHON_DIR}/bin/python${PYTHON_VERSION} ./setup.py install && \ +# 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_102_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.1/Makefile b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.1/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.1/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.1/docker-compose.yml b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.1/docker-compose.yml new file mode 100644 index 000000000..983d2d0e6 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.1/docker-compose.yml @@ -0,0 +1,6 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:bookworm-python-3.1" + build: + context: . diff --git a/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.1/etc/apt/preferences.d/block-python-packages b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.1/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.1/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.1/etc/apt/preferences.d/block-python2-packages b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.1/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.1/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.1/etc/apt/preferences.d/block-python3-packages b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.1/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.1/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.10/Dockerfile b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.10/Dockerfile index b4baefd5a..06fa37d3e 100644 --- a/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.10/Dockerfile +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.10/Dockerfile @@ -1,5 +1,8 @@ FROM epicmorg/debian:bookworm-develop as builder +################################################################## +# Build +################################################################## RUN apt update && apt install -y \ build-essential \ libssl-dev \ @@ -20,7 +23,6 @@ RUN apt update && apt install -y \ # /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} @@ -29,9 +31,6 @@ 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 @@ -53,7 +52,6 @@ RUN ./configure \ --with-ensurepip=install \ --enable-profiling \ --with-system-expat \ - --enable-option-checking=fatal \ --with-computed-gotos \ --with-pydebug \ --with-trace-refs \ @@ -62,8 +60,11 @@ RUN ./configure \ --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" + SSL=${OPENSSL_34_DIR} \ + CFLAGS="-I${OPENSSL_34_DIR}/include" \ + CPPFLAGS="-I${OPENSSL_34_DIR}/include" \ + PKG_CONFIG_PATH="${OPENSSL_34_DIR}/lib64/pkgconfig" \ + LDFLAGS="-L${OPENSSL_34_DIR}/lib64 -Wl,-rpath,${OPENSSL_34_DIR}/lib64" RUN make -j$(nproc) && \ make altinstall diff --git a/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.11/Dockerfile b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.11/Dockerfile index 309e236fe..f75b1c18e 100644 --- a/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.11/Dockerfile +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.11/Dockerfile @@ -1,5 +1,8 @@ FROM epicmorg/debian:bookworm-develop as builder +################################################################## +# Build +################################################################## RUN apt update && apt install -y \ build-essential \ libssl-dev \ @@ -20,7 +23,6 @@ RUN apt update && apt install -y \ # /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} @@ -29,9 +31,6 @@ 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 @@ -53,7 +52,6 @@ RUN ./configure \ --with-ensurepip=install \ --enable-profiling \ --with-system-expat \ - --enable-option-checking=fatal \ --with-computed-gotos \ --with-pydebug \ --with-trace-refs \ @@ -62,8 +60,11 @@ RUN ./configure \ --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" + SSL=${OPENSSL_34_DIR} \ + CFLAGS="-I${OPENSSL_34_DIR}/include" \ + CPPFLAGS="-I${OPENSSL_34_DIR}/include" \ + PKG_CONFIG_PATH="${OPENSSL_34_DIR}/lib64/pkgconfig" \ + LDFLAGS="-L${OPENSSL_34_DIR}/lib64 -Wl,-rpath,${OPENSSL_34_DIR}/lib64" RUN make -j$(nproc) && \ make altinstall diff --git a/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.12/Dockerfile b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.12/Dockerfile index 674350efb..46e5dea1b 100644 --- a/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.12/Dockerfile +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.12/Dockerfile @@ -1,5 +1,8 @@ FROM epicmorg/debian:bookworm-develop as builder +################################################################## +# Build +################################################################## RUN apt update && apt install -y \ build-essential \ libssl-dev \ @@ -20,7 +23,6 @@ RUN apt update && apt install -y \ # /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} @@ -29,9 +31,6 @@ 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 @@ -53,7 +52,6 @@ RUN ./configure \ --with-ensurepip=install \ --enable-profiling \ --with-system-expat \ - --enable-option-checking=fatal \ --with-computed-gotos \ --with-pydebug \ --with-trace-refs \ @@ -62,8 +60,11 @@ RUN ./configure \ --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" + SSL=${OPENSSL_34_DIR} \ + CFLAGS="-I${OPENSSL_34_DIR}/include" \ + CPPFLAGS="-I${OPENSSL_34_DIR}/include" \ + PKG_CONFIG_PATH="${OPENSSL_34_DIR}/lib64/pkgconfig" \ + LDFLAGS="-L${OPENSSL_34_DIR}/lib64 -Wl,-rpath,${OPENSSL_34_DIR}/lib64" RUN make -j$(nproc) && \ make altinstall 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 71639ef0f..ba092c42e 100644 --- a/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.13/Dockerfile +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.13/Dockerfile @@ -1,5 +1,8 @@ FROM epicmorg/debian:bookworm-develop as builder +################################################################## +# Build +################################################################## RUN apt update && apt install -y \ build-essential \ libssl-dev \ @@ -20,7 +23,6 @@ RUN apt update && apt install -y \ # /etc/ld.so.conf.d/ ARG LD_CONF_DIR=/etc/ld.so.conf.d/ -# python 3.13 ENV PYTHON_VERSION=3.13 ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.2 ENV PYTHON_DIR=${EMG_LOCAL_BASE_DIR}/python/${PYTHON_FULL_VERSION} @@ -29,9 +31,6 @@ 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 @@ -53,7 +52,6 @@ RUN ./configure \ --with-ensurepip=install \ --enable-profiling \ --with-system-expat \ - --enable-option-checking=fatal \ --with-computed-gotos \ --with-pydebug \ --with-trace-refs \ @@ -62,8 +60,11 @@ RUN ./configure \ --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" + SSL=${OPENSSL_34_DIR} \ + CFLAGS="-I${OPENSSL_34_DIR}/include" \ + CPPFLAGS="-I${OPENSSL_34_DIR}/include" \ + PKG_CONFIG_PATH="${OPENSSL_34_DIR}/lib64/pkgconfig" \ + LDFLAGS="-L${OPENSSL_34_DIR}/lib64 -Wl,-rpath,${OPENSSL_34_DIR}/lib64" RUN make -j$(nproc) && \ make altinstall diff --git a/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.2/Dockerfile b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.2/Dockerfile new file mode 100644 index 000000000..aa2113dc3 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.2/Dockerfile @@ -0,0 +1,149 @@ +FROM epicmorg/debian:bookworm-develop as builder + +################################################################## +# Build +################################################################## +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/ + +ENV PYTHON_VERSION=3.2 +ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.6 +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 + +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_102_DIR} +ENV LD_LIBRARY_PATH=${OPENSSL_ROOT}/lib:$LD_LIBRARY_PATH + +ENV PATH="${PYTHON_BIN_DIR}:${PATH}" + +WORKDIR ${PYTHON_SRC_DIR} + +RUN ./configure \ + --prefix=${PYTHON_DIR} \ + --enable-option-checking=fatal \ + --enable-loadable-sqlite-extensions \ + --enable-profiling \ + --with-system-expat \ + --with-computed-gotos \ + --with-pydebug \ + --with-valgrind \ + --with-wide-unicode \ + SSL=${OPENSSL_102_DIR} \ + CFLAGS="-I${OPENSSL_102_DIR}/include" \ + CPPFLAGS="-I${OPENSSL_102_DIR}/include" \ + PKG_CONFIG_PATH="${OPENSSL_102_DIR}/lib/pkgconfig" \ + LDFLAGS="-L${OPENSSL_102_DIR}/lib -Wl,-rpath,${OPENSSL_102_DIR}/lib" + +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 1.0.2u +################################################################## +ENV OPENSSL_102_VERSION=1.0.2 +ENV OPENSSL_102_DIR=${EMG_LOCAL_BASE_DIR}/openssl/${OPENSSL_102_VERSION} +ENV OPENSSL_102_BIN_DIR=${OPENSSL_102_DIR}/bin +ENV OPENSSL_102_INC_DIR=${OPENSSL_102_DIR}/include +ENV OPENSSL_102_LIB_DIR=${OPENSSL_102_DIR}/lib +ENV OPENSSL_102_SRC_DIR=/usr/local/src/openssl/${OPENSSL_102_VERSION} + +################################################################## +# Python 3.2 +################################################################## +ENV PYTHON_VERSION=3.2 +ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.6 +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_102_DIR} ${OPENSSL_102_DIR} +COPY --from=builder ${OPENSSL_102_SRC_DIR} ${OPENSSL_102_SRC_DIR} + +ENV OPENSSL_ROOT=${OPENSSL_102_DIR} +ENV LD_LIBRARY_PATH=${OPENSSL_ROOT}/lib:$LD_LIBRARY_PATH +ENV PATH="${OPENSSL_102_BIN_DIR}:${PYTHON_BIN_DIR}:${PATH}" + +ADD https://bootstrap.pypa.io/pip/3.2/get-pip.py /tmp + +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 && \ + ${PYTHON_DIR}/bin/python${PYTHON_VERSION} /tmp/get-pip.py && \ + 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_102_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.2/Makefile b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.2/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.2/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.2/docker-compose.yml b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.2/docker-compose.yml new file mode 100644 index 000000000..07662f536 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.2/docker-compose.yml @@ -0,0 +1,6 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:bookworm-python-3.2" + build: + context: . diff --git a/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.2/etc/apt/preferences.d/block-python-packages b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.2/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.2/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.2/etc/apt/preferences.d/block-python2-packages b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.2/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.2/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.2/etc/apt/preferences.d/block-python3-packages b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.2/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.2/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.3/Dockerfile b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.3/Dockerfile new file mode 100644 index 000000000..d0cd77a3a --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.3/Dockerfile @@ -0,0 +1,148 @@ +FROM epicmorg/debian:bookworm-develop as builder + +################################################################## +# Build +################################################################## +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/ + +ENV PYTHON_VERSION=3.3 +ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.7 +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 + +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_102_DIR} +ENV LD_LIBRARY_PATH=${OPENSSL_ROOT}/lib:$LD_LIBRARY_PATH + +ENV PATH="${PYTHON_BIN_DIR}:${PATH}" + +WORKDIR ${PYTHON_SRC_DIR} + +RUN ./configure \ + --prefix=${PYTHON_DIR} \ + --enable-option-checking=fatal \ + --enable-loadable-sqlite-extensions \ + --enable-profiling \ + --with-system-expat \ + --with-computed-gotos \ + --with-pydebug \ + --with-valgrind \ + SSL=${OPENSSL_102_DIR} \ + CFLAGS="-I${OPENSSL_102_DIR}/include" \ + CPPFLAGS="-I${OPENSSL_102_DIR}/include" \ + PKG_CONFIG_PATH="${OPENSSL_102_DIR}/lib/pkgconfig" \ + LDFLAGS="-L${OPENSSL_102_DIR}/lib -Wl,-rpath,${OPENSSL_102_DIR}/lib" + +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 1.0.2u +################################################################## +ENV OPENSSL_102_VERSION=1.0.2 +ENV OPENSSL_102_DIR=${EMG_LOCAL_BASE_DIR}/openssl/${OPENSSL_102_VERSION} +ENV OPENSSL_102_BIN_DIR=${OPENSSL_102_DIR}/bin +ENV OPENSSL_102_INC_DIR=${OPENSSL_102_DIR}/include +ENV OPENSSL_102_LIB_DIR=${OPENSSL_102_DIR}/lib +ENV OPENSSL_102_SRC_DIR=/usr/local/src/openssl/${OPENSSL_102_VERSION} + +################################################################## +# Python 3.3 +################################################################## +ENV PYTHON_VERSION=3.3 +ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.7 +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_102_DIR} ${OPENSSL_102_DIR} +COPY --from=builder ${OPENSSL_102_SRC_DIR} ${OPENSSL_102_SRC_DIR} + +ENV OPENSSL_ROOT=${OPENSSL_102_DIR} +ENV LD_LIBRARY_PATH=${OPENSSL_ROOT}/lib:$LD_LIBRARY_PATH +ENV PATH="${OPENSSL_102_BIN_DIR}:${PYTHON_BIN_DIR}:${PATH}" + +ADD https://bootstrap.pypa.io/pip/3.3/get-pip.py /tmp + +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 && \ + ${PYTHON_DIR}/bin/python${PYTHON_VERSION} /tmp/get-pip.py && \ + 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_102_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.3/Makefile b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.3/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.3/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.3/docker-compose.yml b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.3/docker-compose.yml new file mode 100644 index 000000000..6b7148c19 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.3/docker-compose.yml @@ -0,0 +1,6 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:bookworm-python-3.3" + build: + context: . diff --git a/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.3/etc/apt/preferences.d/block-python-packages b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.3/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.3/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.3/etc/apt/preferences.d/block-python2-packages b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.3/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.3/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.3/etc/apt/preferences.d/block-python3-packages b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.3/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.3/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.4/Dockerfile b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.4/Dockerfile new file mode 100644 index 000000000..862f6aa94 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.4/Dockerfile @@ -0,0 +1,146 @@ +FROM epicmorg/debian:bookworm-develop as builder + +################################################################## +# Build +################################################################## +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/ + +ENV PYTHON_VERSION=3.4 +ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.10 +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 + +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_102_DIR} +ENV LD_LIBRARY_PATH=${OPENSSL_ROOT}/lib:$LD_LIBRARY_PATH + +ENV PATH="${PYTHON_BIN_DIR}:${PATH}" + +WORKDIR ${PYTHON_SRC_DIR} + +RUN ./configure \ + --prefix=${PYTHON_DIR} \ + --enable-option-checking=fatal \ + --enable-loadable-sqlite-extensions \ + --with-ensurepip=install \ + --enable-profiling \ + --with-system-expat \ + --with-computed-gotos \ + --with-pydebug \ + --with-valgrind \ + SSL=${OPENSSL_102_DIR} \ + CFLAGS="-I${OPENSSL_102_DIR}/include" \ + CPPFLAGS="-I${OPENSSL_102_DIR}/include" \ + PKG_CONFIG_PATH="${OPENSSL_102_DIR}/lib/pkgconfig" \ + LDFLAGS="-L${OPENSSL_102_DIR}/lib -Wl,-rpath,${OPENSSL_102_DIR}/lib" + +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 1.0.2u +################################################################## +ENV OPENSSL_102_VERSION=1.0.2 +ENV OPENSSL_102_DIR=${EMG_LOCAL_BASE_DIR}/openssl/${OPENSSL_102_VERSION} +ENV OPENSSL_102_BIN_DIR=${OPENSSL_102_DIR}/bin +ENV OPENSSL_102_INC_DIR=${OPENSSL_102_DIR}/include +ENV OPENSSL_102_LIB_DIR=${OPENSSL_102_DIR}/lib +ENV OPENSSL_102_SRC_DIR=/usr/local/src/openssl/${OPENSSL_102_VERSION} + +################################################################## +# Python 3.4 +################################################################## +ENV PYTHON_VERSION=3.4 +ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.10 +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_102_DIR} ${OPENSSL_102_DIR} +COPY --from=builder ${OPENSSL_102_SRC_DIR} ${OPENSSL_102_SRC_DIR} + +ENV OPENSSL_ROOT=${OPENSSL_102_DIR} +ENV LD_LIBRARY_PATH=${OPENSSL_ROOT}/lib:$LD_LIBRARY_PATH +ENV PATH="${OPENSSL_102_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_102_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.4/Makefile b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.4/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.4/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.4/docker-compose.yml b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.4/docker-compose.yml new file mode 100644 index 000000000..b6f5bf92e --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.4/docker-compose.yml @@ -0,0 +1,6 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:bookworm-python-3.4" + build: + context: . diff --git a/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.4/etc/apt/preferences.d/block-python-packages b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.4/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.4/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.4/etc/apt/preferences.d/block-python2-packages b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.4/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.4/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.4/etc/apt/preferences.d/block-python3-packages b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.4/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.4/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.5/Dockerfile b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.5/Dockerfile new file mode 100644 index 000000000..5e8759fc5 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.5/Dockerfile @@ -0,0 +1,148 @@ +FROM epicmorg/debian:bookworm-develop as builder + +################################################################## +# Build +################################################################## +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/ + +ENV PYTHON_VERSION=3.5 +ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.10 +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 + +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_111_DIR} +ENV LD_LIBRARY_PATH=${OPENSSL_ROOT}/lib:$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 \ + --with-computed-gotos \ + --with-pydebug \ + --with-valgrind \ + SSL=${OPENSSL_111_DIR} \ + CFLAGS="-I${OPENSSL_111_DIR}/include" \ + CPPFLAGS="-I${OPENSSL_111_DIR}/include" \ + PKG_CONFIG_PATH="${OPENSSL_111_DIR}/lib/pkgconfig" \ + LDFLAGS="-L${OPENSSL_111_DIR}/lib -Wl,-rpath,${OPENSSL_111_DIR}/lib" + +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 1.1.1w +################################################################## +ENV OPENSSL_111_VERSION=1.1.1 +ENV OPENSSL_111_DIR=${EMG_LOCAL_BASE_DIR}/openssl/${OPENSSL_111_VERSION} +ENV OPENSSL_111_BIN_DIR=${OPENSSL_111_DIR}/bin +ENV OPENSSL_111_INC_DIR=${OPENSSL_111_DIR}/include +ENV OPENSSL_111_LIB_DIR=${OPENSSL_111_DIR}/lib +ENV OPENSSL_111_SRC_DIR=/usr/local/src/openssl/${OPENSSL_111_VERSION} + +################################################################## +# Python 3.5 +################################################################## +ENV PYTHON_VERSION=3.5 +ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.10 +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_111_DIR} ${OPENSSL_111_DIR} +COPY --from=builder ${OPENSSL_111_SRC_DIR} ${OPENSSL_111_SRC_DIR} + +ENV OPENSSL_ROOT=${OPENSSL_111_DIR} +ENV LD_LIBRARY_PATH=${OPENSSL_ROOT}/lib:$LD_LIBRARY_PATH +ENV PATH="${OPENSSL_111_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_111_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.5/Makefile b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.5/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.5/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.5/docker-compose.yml b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.5/docker-compose.yml new file mode 100644 index 000000000..8b7010261 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.5/docker-compose.yml @@ -0,0 +1,6 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:bookworm-python-3.5" + build: + context: . diff --git a/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.5/etc/apt/preferences.d/block-python-packages b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.5/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.5/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.5/etc/apt/preferences.d/block-python2-packages b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.5/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.5/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.5/etc/apt/preferences.d/block-python3-packages b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.5/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.5/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.6/Dockerfile b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.6/Dockerfile new file mode 100644 index 000000000..aa437b5b6 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.6/Dockerfile @@ -0,0 +1,149 @@ +FROM epicmorg/debian:bookworm-develop as builder + +################################################################## +# Build +################################################################## +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/ + +ENV PYTHON_VERSION=3.6 +ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.15 +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 + +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_111_DIR} +ENV LD_LIBRARY_PATH=${OPENSSL_ROOT}/lib:$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 \ + --with-computed-gotos \ + --with-pydebug \ + --with-assertions \ + --with-valgrind \ + SSL=${OPENSSL_111_DIR} \ + CFLAGS="-I${OPENSSL_111_DIR}/include" \ + CPPFLAGS="-I${OPENSSL_111_DIR}/include" \ + PKG_CONFIG_PATH="${OPENSSL_111_DIR}/lib/pkgconfig" \ + LDFLAGS="-L${OPENSSL_111_DIR}/lib -Wl,-rpath,${OPENSSL_111_DIR}/lib" + +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 1.1.1w +################################################################## +ENV OPENSSL_111_VERSION=1.1.1 +ENV OPENSSL_111_DIR=${EMG_LOCAL_BASE_DIR}/openssl/${OPENSSL_111_VERSION} +ENV OPENSSL_111_BIN_DIR=${OPENSSL_111_DIR}/bin +ENV OPENSSL_111_INC_DIR=${OPENSSL_111_DIR}/include +ENV OPENSSL_111_LIB_DIR=${OPENSSL_111_DIR}/lib +ENV OPENSSL_111_SRC_DIR=/usr/local/src/openssl/${OPENSSL_111_VERSION} + +################################################################## +# Python 3.6 +################################################################## +ENV PYTHON_VERSION=3.6 +ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.15 +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_111_DIR} ${OPENSSL_111_DIR} +COPY --from=builder ${OPENSSL_111_SRC_DIR} ${OPENSSL_111_SRC_DIR} + +ENV OPENSSL_ROOT=${OPENSSL_111_DIR} +ENV LD_LIBRARY_PATH=${OPENSSL_ROOT}/lib:$LD_LIBRARY_PATH +ENV PATH="${OPENSSL_111_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_111_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.6/Makefile b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.6/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.6/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.6/docker-compose.yml b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.6/docker-compose.yml new file mode 100644 index 000000000..76cb2363d --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.6/docker-compose.yml @@ -0,0 +1,6 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:bookworm-python-3.6" + build: + context: . diff --git a/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.6/etc/apt/preferences.d/block-python-packages b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.6/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.6/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.6/etc/apt/preferences.d/block-python2-packages b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.6/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.6/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.6/etc/apt/preferences.d/block-python3-packages b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.6/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.6/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.7/Dockerfile b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.7/Dockerfile new file mode 100644 index 000000000..cfcee9504 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.7/Dockerfile @@ -0,0 +1,153 @@ +FROM epicmorg/debian:bookworm-develop as builder + +################################################################## +# Build +################################################################## +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/ + +ENV PYTHON_VERSION=3.7 +ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.17 +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 + +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_111_DIR} +ENV LD_LIBRARY_PATH=${OPENSSL_ROOT}/lib:$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 \ + --with-computed-gotos \ + --with-pydebug \ +# --with-trace-refs \ + --with-assertions \ + --with-valgrind \ +# --with-static-libpython \ +# --with-openssl-rpath=auto \ + --with-openssl=${OPENSSL_111_DIR} \ + SSL=${OPENSSL_111_DIR} \ + CFLAGS="-I${OPENSSL_111_DIR}/include" \ + CPPFLAGS="-I${OPENSSL_111_DIR}/include" \ + PKG_CONFIG_PATH="${OPENSSL_111_DIR}/lib/pkgconfig" \ + LDFLAGS="-L${OPENSSL_111_DIR}/lib -Wl,-rpath,${OPENSSL_111_DIR}/lib" + +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 1.1.1w +################################################################## +ENV OPENSSL_111_VERSION=1.1.1 +ENV OPENSSL_111_DIR=${EMG_LOCAL_BASE_DIR}/openssl/${OPENSSL_111_VERSION} +ENV OPENSSL_111_BIN_DIR=${OPENSSL_111_DIR}/bin +ENV OPENSSL_111_INC_DIR=${OPENSSL_111_DIR}/include +ENV OPENSSL_111_LIB_DIR=${OPENSSL_111_DIR}/lib +ENV OPENSSL_111_SRC_DIR=/usr/local/src/openssl/${OPENSSL_111_VERSION} + +################################################################## +# Python 3.7 +################################################################## +ENV PYTHON_VERSION=3.7 +ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.17 +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_111_DIR} ${OPENSSL_111_DIR} +COPY --from=builder ${OPENSSL_111_SRC_DIR} ${OPENSSL_111_SRC_DIR} + +ENV OPENSSL_ROOT=${OPENSSL_111_DIR} +ENV LD_LIBRARY_PATH=${OPENSSL_ROOT}/lib:$LD_LIBRARY_PATH +ENV PATH="${OPENSSL_111_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_111_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.7/Makefile b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.7/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.7/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.7/docker-compose.yml b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.7/docker-compose.yml new file mode 100644 index 000000000..9495de067 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.7/docker-compose.yml @@ -0,0 +1,6 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:bookworm-python-3.7" + build: + context: . diff --git a/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.7/etc/apt/preferences.d/block-python-packages b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.7/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.7/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.7/etc/apt/preferences.d/block-python2-packages b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.7/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.7/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.7/etc/apt/preferences.d/block-python3-packages b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.7/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.7/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.8/Dockerfile b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.8/Dockerfile new file mode 100644 index 000000000..61ece995f --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.8/Dockerfile @@ -0,0 +1,153 @@ +FROM epicmorg/debian:bookworm-develop as builder + +################################################################## +# Build +################################################################## +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/ + +ENV PYTHON_VERSION=3.8 +ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.20 +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 + +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_111_DIR} +ENV LD_LIBRARY_PATH=${OPENSSL_ROOT}/lib:$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 \ + --with-computed-gotos \ + --with-pydebug \ + --with-trace-refs \ + --with-assertions \ + --with-valgrind \ +# --with-static-libpython \ +# --with-openssl-rpath=auto \ + --with-openssl=${OPENSSL_111_DIR} \ + SSL=${OPENSSL_111_DIR} \ + CFLAGS="-I${OPENSSL_111_DIR}/include" \ + CPPFLAGS="-I${OPENSSL_111_DIR}/include" \ + PKG_CONFIG_PATH="${OPENSSL_111_DIR}/lib/pkgconfig" \ + LDFLAGS="-L${OPENSSL_111_DIR}/lib -Wl,-rpath,${OPENSSL_111_DIR}/lib" + +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 1.1.1w +################################################################## +ENV OPENSSL_111_VERSION=1.1.1 +ENV OPENSSL_111_DIR=${EMG_LOCAL_BASE_DIR}/openssl/${OPENSSL_111_VERSION} +ENV OPENSSL_111_BIN_DIR=${OPENSSL_111_DIR}/bin +ENV OPENSSL_111_INC_DIR=${OPENSSL_111_DIR}/include +ENV OPENSSL_111_LIB_DIR=${OPENSSL_111_DIR}/lib +ENV OPENSSL_111_SRC_DIR=/usr/local/src/openssl/${OPENSSL_111_VERSION} + +################################################################## +# Python 3.8 +################################################################## +ENV PYTHON_VERSION=3.8 +ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.20 +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_111_DIR} ${OPENSSL_111_DIR} +COPY --from=builder ${OPENSSL_111_SRC_DIR} ${OPENSSL_111_SRC_DIR} + +ENV OPENSSL_ROOT=${OPENSSL_111_DIR} +ENV LD_LIBRARY_PATH=${OPENSSL_ROOT}/lib:$LD_LIBRARY_PATH +ENV PATH="${OPENSSL_111_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_111_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.8/Makefile b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.8/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.8/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.8/docker-compose.yml b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.8/docker-compose.yml new file mode 100644 index 000000000..15b78ac70 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.8/docker-compose.yml @@ -0,0 +1,6 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:bookworm-python-3.8" + build: + context: . diff --git a/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.8/etc/apt/preferences.d/block-python-packages b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.8/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.8/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.8/etc/apt/preferences.d/block-python2-packages b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.8/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.8/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.8/etc/apt/preferences.d/block-python3-packages b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.8/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.8/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.9/Dockerfile b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.9/Dockerfile new file mode 100644 index 000000000..5e5313386 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.9/Dockerfile @@ -0,0 +1,153 @@ +FROM epicmorg/debian:bookworm-develop as builder + +################################################################## +# Build +################################################################## +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/ + +ENV PYTHON_VERSION=3.9 +ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.21 +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 + +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_111_DIR} +ENV LD_LIBRARY_PATH=${OPENSSL_ROOT}/lib:$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 \ + --with-computed-gotos \ + --with-pydebug \ + --with-trace-refs \ + --with-assertions \ + --with-valgrind \ +# --with-static-libpython \ +# --with-openssl-rpath=auto \ + --with-openssl=${OPENSSL_111_DIR} \ + SSL=${OPENSSL_111_DIR} \ + CFLAGS="-I${OPENSSL_111_DIR}/include" \ + CPPFLAGS="-I${OPENSSL_111_DIR}/include" \ + PKG_CONFIG_PATH="${OPENSSL_111_DIR}/lib/pkgconfig" \ + LDFLAGS="-L${OPENSSL_111_DIR}/lib -Wl,-rpath,${OPENSSL_111_DIR}/lib" + +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 1.1.1w +################################################################## +ENV OPENSSL_111_VERSION=1.1.1 +ENV OPENSSL_111_DIR=${EMG_LOCAL_BASE_DIR}/openssl/${OPENSSL_111_VERSION} +ENV OPENSSL_111_BIN_DIR=${OPENSSL_111_DIR}/bin +ENV OPENSSL_111_INC_DIR=${OPENSSL_111_DIR}/include +ENV OPENSSL_111_LIB_DIR=${OPENSSL_111_DIR}/lib +ENV OPENSSL_111_SRC_DIR=/usr/local/src/openssl/${OPENSSL_111_VERSION} + +################################################################## +# Python 3.9 +################################################################## +ENV PYTHON_VERSION=3.9 +ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.21 +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_111_DIR} ${OPENSSL_111_DIR} +COPY --from=builder ${OPENSSL_111_SRC_DIR} ${OPENSSL_111_SRC_DIR} + +ENV OPENSSL_ROOT=${OPENSSL_111_DIR} +ENV LD_LIBRARY_PATH=${OPENSSL_ROOT}/lib:$LD_LIBRARY_PATH +ENV PATH="${OPENSSL_111_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_111_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.9/Makefile b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.9/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.9/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.9/docker-compose.yml b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.9/docker-compose.yml new file mode 100644 index 000000000..744baf575 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.9/docker-compose.yml @@ -0,0 +1,6 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:bookworm-python-3.9" + build: + context: . diff --git a/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.9/etc/apt/preferences.d/block-python-packages b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.9/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.9/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.9/etc/apt/preferences.d/block-python2-packages b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.9/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.9/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.9/etc/apt/preferences.d/block-python3-packages b/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.9/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.9/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/README.md b/linux/ecosystem/epicmorg/debian/12-bookworm/python/README.md new file mode 100644 index 000000000..c2cdf75a4 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/python/README.md @@ -0,0 +1,20 @@ +# Version Compablity + +| Python | OpenSSL | Comments | +| ------------- | ------------- | ----------------- | +| 2.6 | Not ready | No pip installed | +| 2.7 | Not ready | | +| 3.0 | 1.0.2u | No pip installed | +| 3.1 | 1.0.2u | No pip installed | +| 3.2 | 1.0.2u | | +| 3.3 | 1.0.2u | | +| 3.4 | 1.0.2u | | +| 3.5 | 1.1.1.1w | | +| 3.6 | 1.1.1.1w | | +| 3.7 | 1.1.1.1w | | +| 3.8 | 1.1.1.1w | | +| 3.9 | 1.1.1.1w | | +| 3.10 | 3.4.x | | +| 3.11 | 3.4.x | | +| 3.12 | 3.4.x | | +| 3.13 | 3.4.x | | diff --git a/linux/ecosystem/epicmorg/debian/13-trixie/python/2.6/Dockerfile b/linux/ecosystem/epicmorg/debian/13-trixie/python/2.6/Dockerfile new file mode 100644 index 000000000..1da398d9f --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/python/2.6/Dockerfile @@ -0,0 +1,122 @@ +FROM epicmorg/debian:trixie-develop as builder + +################################################################## +# Build +################################################################## +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/ + +ENV PYTHON_VERSION=2.6 +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 + +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 PATH="${PYTHON_BIN_DIR}:${PATH}" + +WORKDIR ${PYTHON_SRC_DIR} + +RUN ./configure \ + --prefix=${PYTHON_DIR} \ + --enable-option-checking=fatal \ + --enable-profiling \ + --with-pydebug + +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/ + +################################################################## +# Python 2.6 +################################################################## +ENV PYTHON_VERSION=2.6 +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} + +ENV PATH="${PYTHON_BIN_DIR}:${PATH}" + +#ADD https://bootstrap.pypa.io/pip/3.2/get-pip.py /tmp + +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/pip2 && \ + rm -rfv /usr/bin/pip && \ + rm -rfv /usr/bin/python && \ + rm -rfv /usr/bin/python2 && \ + rm -rfv /usr/bin/python3 && \ +# ${PYTHON_DIR}/bin/python${PYTHON_VERSION} /tmp/get-pip.py && \ +# update-alternatives --install /usr/bin/pip2 pip2 ${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/python2 python2 ${PYTHON_DIR}/bin/python${PYTHON_VERSION} 1 && \ + ldconfig + +RUN echo "=============================================" && \ + python${PYTHON_VERSION} --version && \ + python2 --version && \ + python --version && \ +# pip2 --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/13-trixie/python/2.6/Makefile b/linux/ecosystem/epicmorg/debian/13-trixie/python/2.6/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/python/2.6/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/13-trixie/python/2.6/docker-compose.yml b/linux/ecosystem/epicmorg/debian/13-trixie/python/2.6/docker-compose.yml new file mode 100644 index 000000000..081a36445 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/python/2.6/docker-compose.yml @@ -0,0 +1,6 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:trixie-python-2.6" + build: + context: . diff --git a/linux/ecosystem/epicmorg/debian/13-trixie/python/2.6/etc/apt/preferences.d/block-python-packages b/linux/ecosystem/epicmorg/debian/13-trixie/python/2.6/etc/apt/preferences.d/block-python-packages new file mode 100644 index 000000000..2b2824a84 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/python/2.6/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/13-trixie/python/2.6/etc/apt/preferences.d/block-python2-packages b/linux/ecosystem/epicmorg/debian/13-trixie/python/2.6/etc/apt/preferences.d/block-python2-packages new file mode 100644 index 000000000..6cb9a2e9d --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/python/2.6/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/13-trixie/python/2.6/etc/apt/preferences.d/block-python3-packages b/linux/ecosystem/epicmorg/debian/13-trixie/python/2.6/etc/apt/preferences.d/block-python3-packages new file mode 100644 index 000000000..eccd7ebc6 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/python/2.6/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/13-trixie/python/2.7/Dockerfile b/linux/ecosystem/epicmorg/debian/13-trixie/python/2.7/Dockerfile new file mode 100644 index 000000000..f54b622f9 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/python/2.7/Dockerfile @@ -0,0 +1,124 @@ +FROM epicmorg/debian:trixie-develop as builder + +################################################################## +# Build +################################################################## +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/ + +ENV PYTHON_VERSION=2.7 +ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.18 +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 + +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 PATH="${PYTHON_BIN_DIR}:${PATH}" + +WORKDIR ${PYTHON_SRC_DIR} + +RUN ./configure \ + --prefix=${PYTHON_DIR} \ + --enable-option-checking=fatal \ + --with-ensurepip=install \ + --enable-profiling \ + --with-system-expat \ + --with-computed-gotos \ + --with-pydebug \ + --with-valgrind \ + --with-lto + +RUN make -j$(nproc) && \ + make altinstall + +#RUN python${PYTHON_VERSION} -c "import ssl; print(ssl.OPENSSL_VERSION)" + +################################################################## +################################################################## +################################################################## +# Final Layer +################################################################## +################################################################## +################################################################## +FROM epicmorg/debian:trixie + +RUN apt-get remove -y python3-pip + +# /etc/ld.so.conf.d/ +ARG LD_CONF_DIR=/etc/ld.so.conf.d/ + +################################################################## +# Python 2.7 +################################################################## +ENV PYTHON_VERSION=2.7 +ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.18 +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} + +ENV PATH="${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/pip2 && \ + rm -rfv /usr/bin/pip && \ + rm -rfv /usr/bin/python && \ + rm -rfv /usr/bin/python2 && \ + rm -rfv /usr/bin/python3 && \ + update-alternatives --install /usr/bin/pip2 pip2 ${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/python2 python2 ${PYTHON_DIR}/bin/python${PYTHON_VERSION} 1 && \ + ldconfig + +RUN echo "=============================================" && \ + python${PYTHON_VERSION} --version && \ + python2 --version && \ + python --version && \ + pip2 --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/13-trixie/python/2.7/Makefile b/linux/ecosystem/epicmorg/debian/13-trixie/python/2.7/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/python/2.7/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/13-trixie/python/2.7/docker-compose.yml b/linux/ecosystem/epicmorg/debian/13-trixie/python/2.7/docker-compose.yml new file mode 100644 index 000000000..e18316552 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/python/2.7/docker-compose.yml @@ -0,0 +1,6 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:trixie-python-2.7" + build: + context: . diff --git a/linux/ecosystem/epicmorg/debian/13-trixie/python/2.7/etc/apt/preferences.d/block-python-packages b/linux/ecosystem/epicmorg/debian/13-trixie/python/2.7/etc/apt/preferences.d/block-python-packages new file mode 100644 index 000000000..2b2824a84 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/python/2.7/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/13-trixie/python/2.7/etc/apt/preferences.d/block-python2-packages b/linux/ecosystem/epicmorg/debian/13-trixie/python/2.7/etc/apt/preferences.d/block-python2-packages new file mode 100644 index 000000000..6cb9a2e9d --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/python/2.7/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/13-trixie/python/2.7/etc/apt/preferences.d/block-python3-packages b/linux/ecosystem/epicmorg/debian/13-trixie/python/2.7/etc/apt/preferences.d/block-python3-packages new file mode 100644 index 000000000..eccd7ebc6 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/python/2.7/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/13-trixie/python/3.0/Dockerfile b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.0/Dockerfile new file mode 100644 index 000000000..46ce56430 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.0/Dockerfile @@ -0,0 +1,147 @@ +FROM epicmorg/debian:trixie-develop as builder + +################################################################## +# Build +################################################################## +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/ + +ENV PYTHON_VERSION=3.0 +ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.1 +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 + +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_102_DIR} +ENV LD_LIBRARY_PATH=${OPENSSL_ROOT}/lib:$LD_LIBRARY_PATH + +ENV PATH="${PYTHON_BIN_DIR}:${PATH}" + +WORKDIR ${PYTHON_SRC_DIR} + +RUN ./configure \ + --prefix=${PYTHON_DIR} \ + --enable-option-checking=fatal \ + --enable-profiling \ + --with-computed-gotos \ + --with-pydebug \ + --with-wide-unicode \ + SSL=${OPENSSL_102_DIR} \ + CFLAGS="-I${OPENSSL_102_DIR}/include" \ + CPPFLAGS="-I${OPENSSL_102_DIR}/include" \ + PKG_CONFIG_PATH="${OPENSSL_102_DIR}/lib/pkgconfig" \ + LDFLAGS="-L${OPENSSL_102_DIR}/lib -Wl,-rpath,${OPENSSL_102_DIR}/lib" + +RUN make -j$(nproc) && \ + make altinstall + +#RUN python${PYTHON_VERSION} -c "import ssl; print(ssl.OPENSSL_VERSION)" + +################################################################## +################################################################## +################################################################## +# Final Layer +################################################################## +################################################################## +################################################################## +FROM epicmorg/debian:trixie + +RUN apt-get remove -y python3-pip + +# /etc/ld.so.conf.d/ +ARG LD_CONF_DIR=/etc/ld.so.conf.d/ + +################################################################## +# OpenSSL 1.0.2u +################################################################## +ENV OPENSSL_102_VERSION=1.0.2 +ENV OPENSSL_102_DIR=${EMG_LOCAL_BASE_DIR}/openssl/${OPENSSL_102_VERSION} +ENV OPENSSL_102_BIN_DIR=${OPENSSL_102_DIR}/bin +ENV OPENSSL_102_INC_DIR=${OPENSSL_102_DIR}/include +ENV OPENSSL_102_LIB_DIR=${OPENSSL_102_DIR}/lib +ENV OPENSSL_102_SRC_DIR=/usr/local/src/openssl/${OPENSSL_102_VERSION} + +################################################################## +# Python 3.0 +################################################################## +ENV PYTHON_VERSION=3.0 +ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.1 +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_102_DIR} ${OPENSSL_102_DIR} +COPY --from=builder ${OPENSSL_102_SRC_DIR} ${OPENSSL_102_SRC_DIR} + +ENV OPENSSL_ROOT=${OPENSSL_102_DIR} +ENV LD_LIBRARY_PATH=${OPENSSL_ROOT}/lib:$LD_LIBRARY_PATH +ENV PATH="${OPENSSL_102_BIN_DIR}:${PYTHON_BIN_DIR}:${PATH}" + +#ADD https://github.com/pypa/pip/archive/refs/tags/9.0.3.tar.gz /tmp + +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 && \ +# tar -xvzf /tmp/9.0.3.tar.gz --directory /tmp && \ +# cd /tmp/pip-9.0.3 && ${PYTHON_DIR}/bin/python${PYTHON_VERSION} ./setup.py install && \ +# 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_102_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/13-trixie/python/3.0/Makefile b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.0/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.0/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/13-trixie/python/3.0/docker-compose.yml b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.0/docker-compose.yml new file mode 100644 index 000000000..8e8085d44 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.0/docker-compose.yml @@ -0,0 +1,6 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:trixie-python-3.0" + build: + context: . diff --git a/linux/ecosystem/epicmorg/debian/13-trixie/python/3.0/etc/apt/preferences.d/block-python-packages b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.0/etc/apt/preferences.d/block-python-packages new file mode 100644 index 000000000..2b2824a84 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.0/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/13-trixie/python/3.0/etc/apt/preferences.d/block-python2-packages b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.0/etc/apt/preferences.d/block-python2-packages new file mode 100644 index 000000000..6cb9a2e9d --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.0/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/13-trixie/python/3.0/etc/apt/preferences.d/block-python3-packages b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.0/etc/apt/preferences.d/block-python3-packages new file mode 100644 index 000000000..eccd7ebc6 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.0/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/13-trixie/python/3.1/Dockerfile b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.1/Dockerfile new file mode 100644 index 000000000..e3ea73724 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.1/Dockerfile @@ -0,0 +1,147 @@ +FROM epicmorg/debian:trixie-develop as builder + +################################################################## +# Build +################################################################## +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/ + +ENV PYTHON_VERSION=3.1 +ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.5 +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 + +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_102_DIR} +ENV LD_LIBRARY_PATH=${OPENSSL_ROOT}/lib:$LD_LIBRARY_PATH + +ENV PATH="${PYTHON_BIN_DIR}:${PATH}" + +WORKDIR ${PYTHON_SRC_DIR} + +RUN ./configure \ + --prefix=${PYTHON_DIR} \ + --enable-option-checking=fatal \ + --enable-profiling \ + --with-computed-gotos \ + --with-pydebug \ + --with-wide-unicode \ + SSL=${OPENSSL_102_DIR} \ + CFLAGS="-I${OPENSSL_102_DIR}/include" \ + CPPFLAGS="-I${OPENSSL_102_DIR}/include" \ + PKG_CONFIG_PATH="${OPENSSL_102_DIR}/lib/pkgconfig" \ + LDFLAGS="-L${OPENSSL_102_DIR}/lib -Wl,-rpath,${OPENSSL_102_DIR}/lib" + +RUN make -j$(nproc) && \ + make altinstall + +#RUN python${PYTHON_VERSION} -c "import ssl; print(ssl.OPENSSL_VERSION)" + +################################################################## +################################################################## +################################################################## +# Final Layer +################################################################## +################################################################## +################################################################## +FROM epicmorg/debian:trixie + +RUN apt-get remove -y python3-pip + +# /etc/ld.so.conf.d/ +ARG LD_CONF_DIR=/etc/ld.so.conf.d/ + +################################################################## +# OpenSSL 1.0.2u +################################################################## +ENV OPENSSL_102_VERSION=1.0.2 +ENV OPENSSL_102_DIR=${EMG_LOCAL_BASE_DIR}/openssl/${OPENSSL_102_VERSION} +ENV OPENSSL_102_BIN_DIR=${OPENSSL_102_DIR}/bin +ENV OPENSSL_102_INC_DIR=${OPENSSL_102_DIR}/include +ENV OPENSSL_102_LIB_DIR=${OPENSSL_102_DIR}/lib +ENV OPENSSL_102_SRC_DIR=/usr/local/src/openssl/${OPENSSL_102_VERSION} + +################################################################## +# Python 3.1 +################################################################## +ENV PYTHON_VERSION=3.1 +ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.5 +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_102_DIR} ${OPENSSL_102_DIR} +COPY --from=builder ${OPENSSL_102_SRC_DIR} ${OPENSSL_102_SRC_DIR} + +ENV OPENSSL_ROOT=${OPENSSL_102_DIR} +ENV LD_LIBRARY_PATH=${OPENSSL_ROOT}/lib:$LD_LIBRARY_PATH +ENV PATH="${OPENSSL_102_BIN_DIR}:${PYTHON_BIN_DIR}:${PATH}" + +#ADD https://github.com/pypa/pip/archive/refs/tags/9.0.3.tar.gz /tmp + +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 && \ +# tar -xvzf /tmp/9.0.3.tar.gz --directory /tmp && \ +# cd /tmp/pip-9.0.3 && ${PYTHON_DIR}/bin/python${PYTHON_VERSION} ./setup.py install && \ +# 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_102_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/13-trixie/python/3.1/Makefile b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.1/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.1/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/13-trixie/python/3.1/docker-compose.yml b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.1/docker-compose.yml new file mode 100644 index 000000000..daae1912b --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.1/docker-compose.yml @@ -0,0 +1,6 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:trixie-python-3.1" + build: + context: . diff --git a/linux/ecosystem/epicmorg/debian/13-trixie/python/3.1/etc/apt/preferences.d/block-python-packages b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.1/etc/apt/preferences.d/block-python-packages new file mode 100644 index 000000000..2b2824a84 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.1/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/13-trixie/python/3.1/etc/apt/preferences.d/block-python2-packages b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.1/etc/apt/preferences.d/block-python2-packages new file mode 100644 index 000000000..6cb9a2e9d --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.1/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/13-trixie/python/3.1/etc/apt/preferences.d/block-python3-packages b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.1/etc/apt/preferences.d/block-python3-packages new file mode 100644 index 000000000..eccd7ebc6 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.1/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/13-trixie/python/3.10/Dockerfile b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.10/Dockerfile new file mode 100644 index 000000000..2da1a162b --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.10/Dockerfile @@ -0,0 +1,153 @@ +FROM epicmorg/debian:trixie-develop as builder + +################################################################## +# Build +################################################################## +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/ + +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 + +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 \ + --with-computed-gotos \ + --with-pydebug \ + --with-trace-refs \ + --with-assertions \ + --with-valgrind \ + --with-static-libpython \ + --with-openssl-rpath=auto \ + --with-openssl=${OPENSSL_34_DIR} \ + SSL=${OPENSSL_34_DIR} \ + CFLAGS="-I${OPENSSL_34_DIR}/include" \ + CPPFLAGS="-I${OPENSSL_34_DIR}/include" \ + PKG_CONFIG_PATH="${OPENSSL_34_DIR}/lib64/pkgconfig" \ + LDFLAGS="-L${OPENSSL_34_DIR}/lib64 -Wl,-rpath,${OPENSSL_34_DIR}/lib64" + +RUN make -j$(nproc) && \ + make altinstall + +RUN python${PYTHON_VERSION} -c "import ssl; print(ssl.OPENSSL_VERSION)" + +################################################################## +################################################################## +################################################################## +# Final Layer +################################################################## +################################################################## +################################################################## +FROM epicmorg/debian:trixie + +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/13-trixie/python/3.10/Makefile b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.10/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/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/13-trixie/python/3.10/docker-compose.yml b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.10/docker-compose.yml new file mode 100644 index 000000000..1666e9fb6 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.10/docker-compose.yml @@ -0,0 +1,6 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:trixie-python-3.10" + build: + context: . diff --git a/linux/ecosystem/epicmorg/debian/13-trixie/python/3.10/etc/apt/preferences.d/block-python-packages b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.10/etc/apt/preferences.d/block-python-packages new file mode 100644 index 000000000..2b2824a84 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/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/13-trixie/python/3.10/etc/apt/preferences.d/block-python2-packages b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.10/etc/apt/preferences.d/block-python2-packages new file mode 100644 index 000000000..6cb9a2e9d --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/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/13-trixie/python/3.10/etc/apt/preferences.d/block-python3-packages b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.10/etc/apt/preferences.d/block-python3-packages new file mode 100644 index 000000000..eccd7ebc6 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/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/13-trixie/python/3.11/Dockerfile b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.11/Dockerfile new file mode 100644 index 000000000..057a5ceaa --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.11/Dockerfile @@ -0,0 +1,153 @@ +FROM epicmorg/debian:trixie-develop as builder + +################################################################## +# Build +################################################################## +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/ + +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 + +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 \ + --with-computed-gotos \ + --with-pydebug \ + --with-trace-refs \ + --with-assertions \ + --with-valgrind \ + --with-static-libpython \ + --with-openssl-rpath=auto \ + --with-openssl=${OPENSSL_34_DIR} \ + SSL=${OPENSSL_34_DIR} \ + CFLAGS="-I${OPENSSL_34_DIR}/include" \ + CPPFLAGS="-I${OPENSSL_34_DIR}/include" \ + PKG_CONFIG_PATH="${OPENSSL_34_DIR}/lib64/pkgconfig" \ + LDFLAGS="-L${OPENSSL_34_DIR}/lib64 -Wl,-rpath,${OPENSSL_34_DIR}/lib64" + +RUN make -j$(nproc) && \ + make altinstall + +RUN python${PYTHON_VERSION} -c "import ssl; print(ssl.OPENSSL_VERSION)" + +################################################################## +################################################################## +################################################################## +# Final Layer +################################################################## +################################################################## +################################################################## +FROM epicmorg/debian:trixie + +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/13-trixie/python/3.11/Makefile b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.11/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/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/13-trixie/python/3.11/docker-compose.yml b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.11/docker-compose.yml new file mode 100644 index 000000000..7efe4aab5 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.11/docker-compose.yml @@ -0,0 +1,6 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:trixie-python-3.11" + build: + context: . diff --git a/linux/ecosystem/epicmorg/debian/13-trixie/python/3.11/etc/apt/preferences.d/block-python-packages b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.11/etc/apt/preferences.d/block-python-packages new file mode 100644 index 000000000..2b2824a84 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/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/13-trixie/python/3.11/etc/apt/preferences.d/block-python2-packages b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.11/etc/apt/preferences.d/block-python2-packages new file mode 100644 index 000000000..6cb9a2e9d --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/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/13-trixie/python/3.11/etc/apt/preferences.d/block-python3-packages b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.11/etc/apt/preferences.d/block-python3-packages new file mode 100644 index 000000000..eccd7ebc6 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/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/13-trixie/python/3.12/Dockerfile b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.12/Dockerfile new file mode 100644 index 000000000..8fca7f348 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.12/Dockerfile @@ -0,0 +1,153 @@ +FROM epicmorg/debian:trixie-develop as builder + +################################################################## +# Build +################################################################## +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/ + +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 + +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 \ + --with-computed-gotos \ + --with-pydebug \ + --with-trace-refs \ + --with-assertions \ + --with-valgrind \ + --with-static-libpython \ + --with-openssl-rpath=auto \ + --with-openssl=${OPENSSL_34_DIR} \ + SSL=${OPENSSL_34_DIR} \ + CFLAGS="-I${OPENSSL_34_DIR}/include" \ + CPPFLAGS="-I${OPENSSL_34_DIR}/include" \ + PKG_CONFIG_PATH="${OPENSSL_34_DIR}/lib64/pkgconfig" \ + LDFLAGS="-L${OPENSSL_34_DIR}/lib64 -Wl,-rpath,${OPENSSL_34_DIR}/lib64" + +RUN make -j$(nproc) && \ + make altinstall + +RUN python${PYTHON_VERSION} -c "import ssl; print(ssl.OPENSSL_VERSION)" + +################################################################## +################################################################## +################################################################## +# Final Layer +################################################################## +################################################################## +################################################################## +FROM epicmorg/debian:trixie + +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/13-trixie/python/3.12/Makefile b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.12/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/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/13-trixie/python/3.12/docker-compose.yml b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.12/docker-compose.yml new file mode 100644 index 000000000..21d5ac460 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.12/docker-compose.yml @@ -0,0 +1,6 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:trixie-python-3.12" + build: + context: . diff --git a/linux/ecosystem/epicmorg/debian/13-trixie/python/3.12/etc/apt/preferences.d/block-python-packages b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.12/etc/apt/preferences.d/block-python-packages new file mode 100644 index 000000000..2b2824a84 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/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/13-trixie/python/3.12/etc/apt/preferences.d/block-python2-packages b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.12/etc/apt/preferences.d/block-python2-packages new file mode 100644 index 000000000..6cb9a2e9d --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/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/13-trixie/python/3.12/etc/apt/preferences.d/block-python3-packages b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.12/etc/apt/preferences.d/block-python3-packages new file mode 100644 index 000000000..eccd7ebc6 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/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/13-trixie/python/3.13/Dockerfile b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.13/Dockerfile new file mode 100644 index 000000000..498667206 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.13/Dockerfile @@ -0,0 +1,153 @@ +FROM epicmorg/debian:trixie-develop as builder + +################################################################## +# Build +################################################################## +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/ + +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_FULL_VERSION}/Python-${PYTHON_FULL_VERSION}.tgz +ARG PYTHON_TEMP=/tmp/Python-${PYTHON_FULL_VERSION}.tgz + +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 \ + --with-computed-gotos \ + --with-pydebug \ + --with-trace-refs \ + --with-assertions \ + --with-valgrind \ + --with-static-libpython \ + --with-openssl-rpath=auto \ + --with-openssl=${OPENSSL_34_DIR} \ + SSL=${OPENSSL_34_DIR} \ + CFLAGS="-I${OPENSSL_34_DIR}/include" \ + CPPFLAGS="-I${OPENSSL_34_DIR}/include" \ + PKG_CONFIG_PATH="${OPENSSL_34_DIR}/lib64/pkgconfig" \ + LDFLAGS="-L${OPENSSL_34_DIR}/lib64 -Wl,-rpath,${OPENSSL_34_DIR}/lib64" + +RUN make -j$(nproc) && \ + make altinstall + +RUN python${PYTHON_VERSION} -c "import ssl; print(ssl.OPENSSL_VERSION)" + +################################################################## +################################################################## +################################################################## +# Final Layer +################################################################## +################################################################## +################################################################## +FROM epicmorg/debian:trixie + +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.13 +################################################################## +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 + +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/13-trixie/python/3.13/Makefile b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.13/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.13/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/13-trixie/python/3.13/docker-compose.yml b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.13/docker-compose.yml new file mode 100644 index 000000000..c1bcca159 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.13/docker-compose.yml @@ -0,0 +1,6 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:trixie-python-3.13" + build: + context: . diff --git a/linux/ecosystem/epicmorg/debian/13-trixie/python/3.13/etc/apt/preferences.d/block-python-packages b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.13/etc/apt/preferences.d/block-python-packages new file mode 100644 index 000000000..2b2824a84 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.13/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/13-trixie/python/3.13/etc/apt/preferences.d/block-python2-packages b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.13/etc/apt/preferences.d/block-python2-packages new file mode 100644 index 000000000..6cb9a2e9d --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.13/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/13-trixie/python/3.13/etc/apt/preferences.d/block-python3-packages b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.13/etc/apt/preferences.d/block-python3-packages new file mode 100644 index 000000000..eccd7ebc6 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.13/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/13-trixie/python/3.2/Dockerfile b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.2/Dockerfile new file mode 100644 index 000000000..867ec3e28 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.2/Dockerfile @@ -0,0 +1,149 @@ +FROM epicmorg/debian:trixie-develop as builder + +################################################################## +# Build +################################################################## +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/ + +ENV PYTHON_VERSION=3.2 +ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.6 +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 + +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_102_DIR} +ENV LD_LIBRARY_PATH=${OPENSSL_ROOT}/lib:$LD_LIBRARY_PATH + +ENV PATH="${PYTHON_BIN_DIR}:${PATH}" + +WORKDIR ${PYTHON_SRC_DIR} + +RUN ./configure \ + --prefix=${PYTHON_DIR} \ + --enable-option-checking=fatal \ + --enable-loadable-sqlite-extensions \ + --enable-profiling \ + --with-system-expat \ + --with-computed-gotos \ + --with-pydebug \ + --with-valgrind \ + --with-wide-unicode \ + SSL=${OPENSSL_102_DIR} \ + CFLAGS="-I${OPENSSL_102_DIR}/include" \ + CPPFLAGS="-I${OPENSSL_102_DIR}/include" \ + PKG_CONFIG_PATH="${OPENSSL_102_DIR}/lib/pkgconfig" \ + LDFLAGS="-L${OPENSSL_102_DIR}/lib -Wl,-rpath,${OPENSSL_102_DIR}/lib" + +RUN make -j$(nproc) && \ + make altinstall + +RUN python${PYTHON_VERSION} -c "import ssl; print(ssl.OPENSSL_VERSION)" + +################################################################## +################################################################## +################################################################## +# Final Layer +################################################################## +################################################################## +################################################################## +FROM epicmorg/debian:trixie + +RUN apt-get remove -y python3-pip + +# /etc/ld.so.conf.d/ +ARG LD_CONF_DIR=/etc/ld.so.conf.d/ + +################################################################## +# OpenSSL 1.0.2u +################################################################## +ENV OPENSSL_102_VERSION=1.0.2 +ENV OPENSSL_102_DIR=${EMG_LOCAL_BASE_DIR}/openssl/${OPENSSL_102_VERSION} +ENV OPENSSL_102_BIN_DIR=${OPENSSL_102_DIR}/bin +ENV OPENSSL_102_INC_DIR=${OPENSSL_102_DIR}/include +ENV OPENSSL_102_LIB_DIR=${OPENSSL_102_DIR}/lib +ENV OPENSSL_102_SRC_DIR=/usr/local/src/openssl/${OPENSSL_102_VERSION} + +################################################################## +# Python 3.2 +################################################################## +ENV PYTHON_VERSION=3.2 +ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.6 +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_102_DIR} ${OPENSSL_102_DIR} +COPY --from=builder ${OPENSSL_102_SRC_DIR} ${OPENSSL_102_SRC_DIR} + +ENV OPENSSL_ROOT=${OPENSSL_102_DIR} +ENV LD_LIBRARY_PATH=${OPENSSL_ROOT}/lib:$LD_LIBRARY_PATH +ENV PATH="${OPENSSL_102_BIN_DIR}:${PYTHON_BIN_DIR}:${PATH}" + +ADD https://bootstrap.pypa.io/pip/3.2/get-pip.py /tmp + +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 && \ + ${PYTHON_DIR}/bin/python${PYTHON_VERSION} /tmp/get-pip.py && \ + 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_102_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/13-trixie/python/3.2/Makefile b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.2/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.2/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/13-trixie/python/3.2/docker-compose.yml b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.2/docker-compose.yml new file mode 100644 index 000000000..55a086c20 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.2/docker-compose.yml @@ -0,0 +1,6 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:trixie-python-3.2" + build: + context: . diff --git a/linux/ecosystem/epicmorg/debian/13-trixie/python/3.2/etc/apt/preferences.d/block-python-packages b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.2/etc/apt/preferences.d/block-python-packages new file mode 100644 index 000000000..2b2824a84 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.2/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/13-trixie/python/3.2/etc/apt/preferences.d/block-python2-packages b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.2/etc/apt/preferences.d/block-python2-packages new file mode 100644 index 000000000..6cb9a2e9d --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.2/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/13-trixie/python/3.2/etc/apt/preferences.d/block-python3-packages b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.2/etc/apt/preferences.d/block-python3-packages new file mode 100644 index 000000000..eccd7ebc6 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.2/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/13-trixie/python/3.3/Dockerfile b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.3/Dockerfile new file mode 100644 index 000000000..fe3645052 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.3/Dockerfile @@ -0,0 +1,148 @@ +FROM epicmorg/debian:trixie-develop as builder + +################################################################## +# Build +################################################################## +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/ + +ENV PYTHON_VERSION=3.3 +ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.7 +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 + +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_102_DIR} +ENV LD_LIBRARY_PATH=${OPENSSL_ROOT}/lib:$LD_LIBRARY_PATH + +ENV PATH="${PYTHON_BIN_DIR}:${PATH}" + +WORKDIR ${PYTHON_SRC_DIR} + +RUN ./configure \ + --prefix=${PYTHON_DIR} \ + --enable-option-checking=fatal \ + --enable-loadable-sqlite-extensions \ + --enable-profiling \ + --with-system-expat \ + --with-computed-gotos \ + --with-pydebug \ + --with-valgrind \ + SSL=${OPENSSL_102_DIR} \ + CFLAGS="-I${OPENSSL_102_DIR}/include" \ + CPPFLAGS="-I${OPENSSL_102_DIR}/include" \ + PKG_CONFIG_PATH="${OPENSSL_102_DIR}/lib/pkgconfig" \ + LDFLAGS="-L${OPENSSL_102_DIR}/lib -Wl,-rpath,${OPENSSL_102_DIR}/lib" + +RUN make -j$(nproc) && \ + make altinstall + +RUN python${PYTHON_VERSION} -c "import ssl; print(ssl.OPENSSL_VERSION)" + +################################################################## +################################################################## +################################################################## +# Final Layer +################################################################## +################################################################## +################################################################## +FROM epicmorg/debian:trixie + +RUN apt-get remove -y python3-pip + +# /etc/ld.so.conf.d/ +ARG LD_CONF_DIR=/etc/ld.so.conf.d/ + +################################################################## +# OpenSSL 1.0.2u +################################################################## +ENV OPENSSL_102_VERSION=1.0.2 +ENV OPENSSL_102_DIR=${EMG_LOCAL_BASE_DIR}/openssl/${OPENSSL_102_VERSION} +ENV OPENSSL_102_BIN_DIR=${OPENSSL_102_DIR}/bin +ENV OPENSSL_102_INC_DIR=${OPENSSL_102_DIR}/include +ENV OPENSSL_102_LIB_DIR=${OPENSSL_102_DIR}/lib +ENV OPENSSL_102_SRC_DIR=/usr/local/src/openssl/${OPENSSL_102_VERSION} + +################################################################## +# Python 3.3 +################################################################## +ENV PYTHON_VERSION=3.3 +ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.7 +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_102_DIR} ${OPENSSL_102_DIR} +COPY --from=builder ${OPENSSL_102_SRC_DIR} ${OPENSSL_102_SRC_DIR} + +ENV OPENSSL_ROOT=${OPENSSL_102_DIR} +ENV LD_LIBRARY_PATH=${OPENSSL_ROOT}/lib:$LD_LIBRARY_PATH +ENV PATH="${OPENSSL_102_BIN_DIR}:${PYTHON_BIN_DIR}:${PATH}" + +ADD https://bootstrap.pypa.io/pip/3.3/get-pip.py /tmp + +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 && \ + ${PYTHON_DIR}/bin/python${PYTHON_VERSION} /tmp/get-pip.py && \ + 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_102_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/13-trixie/python/3.3/Makefile b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.3/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.3/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/13-trixie/python/3.3/docker-compose.yml b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.3/docker-compose.yml new file mode 100644 index 000000000..0754a350c --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.3/docker-compose.yml @@ -0,0 +1,6 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:trixie-python-3.3" + build: + context: . diff --git a/linux/ecosystem/epicmorg/debian/13-trixie/python/3.3/etc/apt/preferences.d/block-python-packages b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.3/etc/apt/preferences.d/block-python-packages new file mode 100644 index 000000000..2b2824a84 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.3/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/13-trixie/python/3.3/etc/apt/preferences.d/block-python2-packages b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.3/etc/apt/preferences.d/block-python2-packages new file mode 100644 index 000000000..6cb9a2e9d --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.3/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/13-trixie/python/3.3/etc/apt/preferences.d/block-python3-packages b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.3/etc/apt/preferences.d/block-python3-packages new file mode 100644 index 000000000..eccd7ebc6 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.3/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/13-trixie/python/3.4/Dockerfile b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.4/Dockerfile new file mode 100644 index 000000000..4e3ae568b --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.4/Dockerfile @@ -0,0 +1,146 @@ +FROM epicmorg/debian:trixie-develop as builder + +################################################################## +# Build +################################################################## +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/ + +ENV PYTHON_VERSION=3.4 +ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.10 +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 + +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_102_DIR} +ENV LD_LIBRARY_PATH=${OPENSSL_ROOT}/lib:$LD_LIBRARY_PATH + +ENV PATH="${PYTHON_BIN_DIR}:${PATH}" + +WORKDIR ${PYTHON_SRC_DIR} + +RUN ./configure \ + --prefix=${PYTHON_DIR} \ + --enable-option-checking=fatal \ + --enable-loadable-sqlite-extensions \ + --with-ensurepip=install \ + --enable-profiling \ + --with-system-expat \ + --with-computed-gotos \ + --with-pydebug \ + --with-valgrind \ + SSL=${OPENSSL_102_DIR} \ + CFLAGS="-I${OPENSSL_102_DIR}/include" \ + CPPFLAGS="-I${OPENSSL_102_DIR}/include" \ + PKG_CONFIG_PATH="${OPENSSL_102_DIR}/lib/pkgconfig" \ + LDFLAGS="-L${OPENSSL_102_DIR}/lib -Wl,-rpath,${OPENSSL_102_DIR}/lib" + +RUN make -j$(nproc) && \ + make altinstall + +RUN python${PYTHON_VERSION} -c "import ssl; print(ssl.OPENSSL_VERSION)" + +################################################################## +################################################################## +################################################################## +# Final Layer +################################################################## +################################################################## +################################################################## +FROM epicmorg/debian:trixie + +RUN apt-get remove -y python3-pip + +# /etc/ld.so.conf.d/ +ARG LD_CONF_DIR=/etc/ld.so.conf.d/ + +################################################################## +# OpenSSL 1.0.2u +################################################################## +ENV OPENSSL_102_VERSION=1.0.2 +ENV OPENSSL_102_DIR=${EMG_LOCAL_BASE_DIR}/openssl/${OPENSSL_102_VERSION} +ENV OPENSSL_102_BIN_DIR=${OPENSSL_102_DIR}/bin +ENV OPENSSL_102_INC_DIR=${OPENSSL_102_DIR}/include +ENV OPENSSL_102_LIB_DIR=${OPENSSL_102_DIR}/lib +ENV OPENSSL_102_SRC_DIR=/usr/local/src/openssl/${OPENSSL_102_VERSION} + +################################################################## +# Python 3.4 +################################################################## +ENV PYTHON_VERSION=3.4 +ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.10 +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_102_DIR} ${OPENSSL_102_DIR} +COPY --from=builder ${OPENSSL_102_SRC_DIR} ${OPENSSL_102_SRC_DIR} + +ENV OPENSSL_ROOT=${OPENSSL_102_DIR} +ENV LD_LIBRARY_PATH=${OPENSSL_ROOT}/lib:$LD_LIBRARY_PATH +ENV PATH="${OPENSSL_102_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_102_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/13-trixie/python/3.4/Makefile b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.4/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.4/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/13-trixie/python/3.4/docker-compose.yml b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.4/docker-compose.yml new file mode 100644 index 000000000..afb59acf7 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.4/docker-compose.yml @@ -0,0 +1,6 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:trixie-python-3.4" + build: + context: . diff --git a/linux/ecosystem/epicmorg/debian/13-trixie/python/3.4/etc/apt/preferences.d/block-python-packages b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.4/etc/apt/preferences.d/block-python-packages new file mode 100644 index 000000000..2b2824a84 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.4/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/13-trixie/python/3.4/etc/apt/preferences.d/block-python2-packages b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.4/etc/apt/preferences.d/block-python2-packages new file mode 100644 index 000000000..6cb9a2e9d --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.4/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/13-trixie/python/3.4/etc/apt/preferences.d/block-python3-packages b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.4/etc/apt/preferences.d/block-python3-packages new file mode 100644 index 000000000..eccd7ebc6 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.4/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/13-trixie/python/3.5/Dockerfile b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.5/Dockerfile new file mode 100644 index 000000000..a7e8d5046 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.5/Dockerfile @@ -0,0 +1,148 @@ +FROM epicmorg/debian:trixie-develop as builder + +################################################################## +# Build +################################################################## +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/ + +ENV PYTHON_VERSION=3.5 +ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.10 +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 + +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_111_DIR} +ENV LD_LIBRARY_PATH=${OPENSSL_ROOT}/lib:$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 \ + --with-computed-gotos \ + --with-pydebug \ + --with-valgrind \ + SSL=${OPENSSL_111_DIR} \ + CFLAGS="-I${OPENSSL_111_DIR}/include" \ + CPPFLAGS="-I${OPENSSL_111_DIR}/include" \ + PKG_CONFIG_PATH="${OPENSSL_111_DIR}/lib/pkgconfig" \ + LDFLAGS="-L${OPENSSL_111_DIR}/lib -Wl,-rpath,${OPENSSL_111_DIR}/lib" + +RUN make -j$(nproc) && \ + make altinstall + +RUN python${PYTHON_VERSION} -c "import ssl; print(ssl.OPENSSL_VERSION)" + +################################################################## +################################################################## +################################################################## +# Final Layer +################################################################## +################################################################## +################################################################## +FROM epicmorg/debian:trixie + +RUN apt-get remove -y python3-pip + +# /etc/ld.so.conf.d/ +ARG LD_CONF_DIR=/etc/ld.so.conf.d/ + +################################################################## +# OpenSSL 1.1.1w +################################################################## +ENV OPENSSL_111_VERSION=1.1.1 +ENV OPENSSL_111_DIR=${EMG_LOCAL_BASE_DIR}/openssl/${OPENSSL_111_VERSION} +ENV OPENSSL_111_BIN_DIR=${OPENSSL_111_DIR}/bin +ENV OPENSSL_111_INC_DIR=${OPENSSL_111_DIR}/include +ENV OPENSSL_111_LIB_DIR=${OPENSSL_111_DIR}/lib +ENV OPENSSL_111_SRC_DIR=/usr/local/src/openssl/${OPENSSL_111_VERSION} + +################################################################## +# Python 3.5 +################################################################## +ENV PYTHON_VERSION=3.5 +ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.10 +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_111_DIR} ${OPENSSL_111_DIR} +COPY --from=builder ${OPENSSL_111_SRC_DIR} ${OPENSSL_111_SRC_DIR} + +ENV OPENSSL_ROOT=${OPENSSL_111_DIR} +ENV LD_LIBRARY_PATH=${OPENSSL_ROOT}/lib:$LD_LIBRARY_PATH +ENV PATH="${OPENSSL_111_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_111_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/13-trixie/python/3.5/Makefile b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.5/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.5/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/13-trixie/python/3.5/docker-compose.yml b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.5/docker-compose.yml new file mode 100644 index 000000000..0f06ea0a5 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.5/docker-compose.yml @@ -0,0 +1,6 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:trixie-python-3.5" + build: + context: . diff --git a/linux/ecosystem/epicmorg/debian/13-trixie/python/3.5/etc/apt/preferences.d/block-python-packages b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.5/etc/apt/preferences.d/block-python-packages new file mode 100644 index 000000000..2b2824a84 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.5/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/13-trixie/python/3.5/etc/apt/preferences.d/block-python2-packages b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.5/etc/apt/preferences.d/block-python2-packages new file mode 100644 index 000000000..6cb9a2e9d --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.5/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/13-trixie/python/3.5/etc/apt/preferences.d/block-python3-packages b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.5/etc/apt/preferences.d/block-python3-packages new file mode 100644 index 000000000..eccd7ebc6 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.5/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/13-trixie/python/3.6/Dockerfile b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.6/Dockerfile new file mode 100644 index 000000000..bc306eaa6 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.6/Dockerfile @@ -0,0 +1,149 @@ +FROM epicmorg/debian:trixie-develop as builder + +################################################################## +# Build +################################################################## +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/ + +ENV PYTHON_VERSION=3.6 +ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.15 +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 + +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_111_DIR} +ENV LD_LIBRARY_PATH=${OPENSSL_ROOT}/lib:$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 \ + --with-computed-gotos \ + --with-pydebug \ + --with-assertions \ + --with-valgrind \ + SSL=${OPENSSL_111_DIR} \ + CFLAGS="-I${OPENSSL_111_DIR}/include" \ + CPPFLAGS="-I${OPENSSL_111_DIR}/include" \ + PKG_CONFIG_PATH="${OPENSSL_111_DIR}/lib/pkgconfig" \ + LDFLAGS="-L${OPENSSL_111_DIR}/lib -Wl,-rpath,${OPENSSL_111_DIR}/lib" + +RUN make -j$(nproc) && \ + make altinstall + +RUN python${PYTHON_VERSION} -c "import ssl; print(ssl.OPENSSL_VERSION)" + +################################################################## +################################################################## +################################################################## +# Final Layer +################################################################## +################################################################## +################################################################## +FROM epicmorg/debian:trixie + +RUN apt-get remove -y python3-pip + +# /etc/ld.so.conf.d/ +ARG LD_CONF_DIR=/etc/ld.so.conf.d/ + +################################################################## +# OpenSSL 1.1.1w +################################################################## +ENV OPENSSL_111_VERSION=1.1.1 +ENV OPENSSL_111_DIR=${EMG_LOCAL_BASE_DIR}/openssl/${OPENSSL_111_VERSION} +ENV OPENSSL_111_BIN_DIR=${OPENSSL_111_DIR}/bin +ENV OPENSSL_111_INC_DIR=${OPENSSL_111_DIR}/include +ENV OPENSSL_111_LIB_DIR=${OPENSSL_111_DIR}/lib +ENV OPENSSL_111_SRC_DIR=/usr/local/src/openssl/${OPENSSL_111_VERSION} + +################################################################## +# Python 3.6 +################################################################## +ENV PYTHON_VERSION=3.6 +ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.15 +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_111_DIR} ${OPENSSL_111_DIR} +COPY --from=builder ${OPENSSL_111_SRC_DIR} ${OPENSSL_111_SRC_DIR} + +ENV OPENSSL_ROOT=${OPENSSL_111_DIR} +ENV LD_LIBRARY_PATH=${OPENSSL_ROOT}/lib:$LD_LIBRARY_PATH +ENV PATH="${OPENSSL_111_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_111_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/13-trixie/python/3.6/Makefile b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.6/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.6/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/13-trixie/python/3.6/docker-compose.yml b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.6/docker-compose.yml new file mode 100644 index 000000000..0f8dfc6e7 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.6/docker-compose.yml @@ -0,0 +1,6 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:trixie-python-3.6" + build: + context: . diff --git a/linux/ecosystem/epicmorg/debian/13-trixie/python/3.6/etc/apt/preferences.d/block-python-packages b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.6/etc/apt/preferences.d/block-python-packages new file mode 100644 index 000000000..2b2824a84 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.6/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/13-trixie/python/3.6/etc/apt/preferences.d/block-python2-packages b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.6/etc/apt/preferences.d/block-python2-packages new file mode 100644 index 000000000..6cb9a2e9d --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.6/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/13-trixie/python/3.6/etc/apt/preferences.d/block-python3-packages b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.6/etc/apt/preferences.d/block-python3-packages new file mode 100644 index 000000000..eccd7ebc6 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.6/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/13-trixie/python/3.7/Dockerfile b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.7/Dockerfile new file mode 100644 index 000000000..f39a6b9b5 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.7/Dockerfile @@ -0,0 +1,153 @@ +FROM epicmorg/debian:trixie-develop as builder + +################################################################## +# Build +################################################################## +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/ + +ENV PYTHON_VERSION=3.7 +ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.17 +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 + +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_111_DIR} +ENV LD_LIBRARY_PATH=${OPENSSL_ROOT}/lib:$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 \ + --with-computed-gotos \ + --with-pydebug \ +# --with-trace-refs \ + --with-assertions \ + --with-valgrind \ +# --with-static-libpython \ +# --with-openssl-rpath=auto \ + --with-openssl=${OPENSSL_111_DIR} \ + SSL=${OPENSSL_111_DIR} \ + CFLAGS="-I${OPENSSL_111_DIR}/include" \ + CPPFLAGS="-I${OPENSSL_111_DIR}/include" \ + PKG_CONFIG_PATH="${OPENSSL_111_DIR}/lib/pkgconfig" \ + LDFLAGS="-L${OPENSSL_111_DIR}/lib -Wl,-rpath,${OPENSSL_111_DIR}/lib" + +RUN make -j$(nproc) && \ + make altinstall + +RUN python${PYTHON_VERSION} -c "import ssl; print(ssl.OPENSSL_VERSION)" + +################################################################## +################################################################## +################################################################## +# Final Layer +################################################################## +################################################################## +################################################################## +FROM epicmorg/debian:trixie + +RUN apt-get remove -y python3-pip + +# /etc/ld.so.conf.d/ +ARG LD_CONF_DIR=/etc/ld.so.conf.d/ + +################################################################## +# OpenSSL 1.1.1w +################################################################## +ENV OPENSSL_111_VERSION=1.1.1 +ENV OPENSSL_111_DIR=${EMG_LOCAL_BASE_DIR}/openssl/${OPENSSL_111_VERSION} +ENV OPENSSL_111_BIN_DIR=${OPENSSL_111_DIR}/bin +ENV OPENSSL_111_INC_DIR=${OPENSSL_111_DIR}/include +ENV OPENSSL_111_LIB_DIR=${OPENSSL_111_DIR}/lib +ENV OPENSSL_111_SRC_DIR=/usr/local/src/openssl/${OPENSSL_111_VERSION} + +################################################################## +# Python 3.7 +################################################################## +ENV PYTHON_VERSION=3.7 +ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.17 +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_111_DIR} ${OPENSSL_111_DIR} +COPY --from=builder ${OPENSSL_111_SRC_DIR} ${OPENSSL_111_SRC_DIR} + +ENV OPENSSL_ROOT=${OPENSSL_111_DIR} +ENV LD_LIBRARY_PATH=${OPENSSL_ROOT}/lib:$LD_LIBRARY_PATH +ENV PATH="${OPENSSL_111_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_111_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/13-trixie/python/3.7/Makefile b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.7/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.7/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/13-trixie/python/3.7/docker-compose.yml b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.7/docker-compose.yml new file mode 100644 index 000000000..69561971d --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.7/docker-compose.yml @@ -0,0 +1,6 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:trixie-python-3.7" + build: + context: . diff --git a/linux/ecosystem/epicmorg/debian/13-trixie/python/3.7/etc/apt/preferences.d/block-python-packages b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.7/etc/apt/preferences.d/block-python-packages new file mode 100644 index 000000000..2b2824a84 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.7/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/13-trixie/python/3.7/etc/apt/preferences.d/block-python2-packages b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.7/etc/apt/preferences.d/block-python2-packages new file mode 100644 index 000000000..6cb9a2e9d --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.7/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/13-trixie/python/3.7/etc/apt/preferences.d/block-python3-packages b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.7/etc/apt/preferences.d/block-python3-packages new file mode 100644 index 000000000..eccd7ebc6 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.7/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/13-trixie/python/3.8/Dockerfile b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.8/Dockerfile new file mode 100644 index 000000000..b69b27bbc --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.8/Dockerfile @@ -0,0 +1,153 @@ +FROM epicmorg/debian:trixie-develop as builder + +################################################################## +# Build +################################################################## +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/ + +ENV PYTHON_VERSION=3.8 +ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.20 +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 + +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_111_DIR} +ENV LD_LIBRARY_PATH=${OPENSSL_ROOT}/lib:$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 \ + --with-computed-gotos \ + --with-pydebug \ + --with-trace-refs \ + --with-assertions \ + --with-valgrind \ +# --with-static-libpython \ +# --with-openssl-rpath=auto \ + --with-openssl=${OPENSSL_111_DIR} \ + SSL=${OPENSSL_111_DIR} \ + CFLAGS="-I${OPENSSL_111_DIR}/include" \ + CPPFLAGS="-I${OPENSSL_111_DIR}/include" \ + PKG_CONFIG_PATH="${OPENSSL_111_DIR}/lib/pkgconfig" \ + LDFLAGS="-L${OPENSSL_111_DIR}/lib -Wl,-rpath,${OPENSSL_111_DIR}/lib" + +RUN make -j$(nproc) && \ + make altinstall + +RUN python${PYTHON_VERSION} -c "import ssl; print(ssl.OPENSSL_VERSION)" + +################################################################## +################################################################## +################################################################## +# Final Layer +################################################################## +################################################################## +################################################################## +FROM epicmorg/debian:trixie + +RUN apt-get remove -y python3-pip + +# /etc/ld.so.conf.d/ +ARG LD_CONF_DIR=/etc/ld.so.conf.d/ + +################################################################## +# OpenSSL 1.1.1w +################################################################## +ENV OPENSSL_111_VERSION=1.1.1 +ENV OPENSSL_111_DIR=${EMG_LOCAL_BASE_DIR}/openssl/${OPENSSL_111_VERSION} +ENV OPENSSL_111_BIN_DIR=${OPENSSL_111_DIR}/bin +ENV OPENSSL_111_INC_DIR=${OPENSSL_111_DIR}/include +ENV OPENSSL_111_LIB_DIR=${OPENSSL_111_DIR}/lib +ENV OPENSSL_111_SRC_DIR=/usr/local/src/openssl/${OPENSSL_111_VERSION} + +################################################################## +# Python 3.8 +################################################################## +ENV PYTHON_VERSION=3.8 +ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.20 +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_111_DIR} ${OPENSSL_111_DIR} +COPY --from=builder ${OPENSSL_111_SRC_DIR} ${OPENSSL_111_SRC_DIR} + +ENV OPENSSL_ROOT=${OPENSSL_111_DIR} +ENV LD_LIBRARY_PATH=${OPENSSL_ROOT}/lib:$LD_LIBRARY_PATH +ENV PATH="${OPENSSL_111_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_111_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/13-trixie/python/3.8/Makefile b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.8/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.8/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/13-trixie/python/3.8/docker-compose.yml b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.8/docker-compose.yml new file mode 100644 index 000000000..5c6af1bbc --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.8/docker-compose.yml @@ -0,0 +1,6 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:trixie-python-3.8" + build: + context: . diff --git a/linux/ecosystem/epicmorg/debian/13-trixie/python/3.8/etc/apt/preferences.d/block-python-packages b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.8/etc/apt/preferences.d/block-python-packages new file mode 100644 index 000000000..2b2824a84 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.8/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/13-trixie/python/3.8/etc/apt/preferences.d/block-python2-packages b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.8/etc/apt/preferences.d/block-python2-packages new file mode 100644 index 000000000..6cb9a2e9d --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.8/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/13-trixie/python/3.8/etc/apt/preferences.d/block-python3-packages b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.8/etc/apt/preferences.d/block-python3-packages new file mode 100644 index 000000000..eccd7ebc6 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.8/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/13-trixie/python/3.9/Dockerfile b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.9/Dockerfile new file mode 100644 index 000000000..0e74f4bb4 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.9/Dockerfile @@ -0,0 +1,153 @@ +FROM epicmorg/debian:trixie-develop as builder + +################################################################## +# Build +################################################################## +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/ + +ENV PYTHON_VERSION=3.9 +ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.21 +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 + +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_111_DIR} +ENV LD_LIBRARY_PATH=${OPENSSL_ROOT}/lib:$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 \ + --with-computed-gotos \ + --with-pydebug \ + --with-trace-refs \ + --with-assertions \ + --with-valgrind \ +# --with-static-libpython \ +# --with-openssl-rpath=auto \ + --with-openssl=${OPENSSL_111_DIR} \ + SSL=${OPENSSL_111_DIR} \ + CFLAGS="-I${OPENSSL_111_DIR}/include" \ + CPPFLAGS="-I${OPENSSL_111_DIR}/include" \ + PKG_CONFIG_PATH="${OPENSSL_111_DIR}/lib/pkgconfig" \ + LDFLAGS="-L${OPENSSL_111_DIR}/lib -Wl,-rpath,${OPENSSL_111_DIR}/lib" + +RUN make -j$(nproc) && \ + make altinstall + +RUN python${PYTHON_VERSION} -c "import ssl; print(ssl.OPENSSL_VERSION)" + +################################################################## +################################################################## +################################################################## +# Final Layer +################################################################## +################################################################## +################################################################## +FROM epicmorg/debian:trixie + +RUN apt-get remove -y python3-pip + +# /etc/ld.so.conf.d/ +ARG LD_CONF_DIR=/etc/ld.so.conf.d/ + +################################################################## +# OpenSSL 1.1.1w +################################################################## +ENV OPENSSL_111_VERSION=1.1.1 +ENV OPENSSL_111_DIR=${EMG_LOCAL_BASE_DIR}/openssl/${OPENSSL_111_VERSION} +ENV OPENSSL_111_BIN_DIR=${OPENSSL_111_DIR}/bin +ENV OPENSSL_111_INC_DIR=${OPENSSL_111_DIR}/include +ENV OPENSSL_111_LIB_DIR=${OPENSSL_111_DIR}/lib +ENV OPENSSL_111_SRC_DIR=/usr/local/src/openssl/${OPENSSL_111_VERSION} + +################################################################## +# Python 3.9 +################################################################## +ENV PYTHON_VERSION=3.9 +ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.21 +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_111_DIR} ${OPENSSL_111_DIR} +COPY --from=builder ${OPENSSL_111_SRC_DIR} ${OPENSSL_111_SRC_DIR} + +ENV OPENSSL_ROOT=${OPENSSL_111_DIR} +ENV LD_LIBRARY_PATH=${OPENSSL_ROOT}/lib:$LD_LIBRARY_PATH +ENV PATH="${OPENSSL_111_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_111_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/13-trixie/python/3.9/Makefile b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.9/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.9/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/13-trixie/python/3.9/docker-compose.yml b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.9/docker-compose.yml new file mode 100644 index 000000000..4bf0a130a --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.9/docker-compose.yml @@ -0,0 +1,6 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:trixie-python-3.9" + build: + context: . diff --git a/linux/ecosystem/epicmorg/debian/13-trixie/python/3.9/etc/apt/preferences.d/block-python-packages b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.9/etc/apt/preferences.d/block-python-packages new file mode 100644 index 000000000..2b2824a84 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.9/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/13-trixie/python/3.9/etc/apt/preferences.d/block-python2-packages b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.9/etc/apt/preferences.d/block-python2-packages new file mode 100644 index 000000000..6cb9a2e9d --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.9/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/13-trixie/python/3.9/etc/apt/preferences.d/block-python3-packages b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.9/etc/apt/preferences.d/block-python3-packages new file mode 100644 index 000000000..eccd7ebc6 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/python/3.9/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/13-trixie/python/README.md b/linux/ecosystem/epicmorg/debian/13-trixie/python/README.md new file mode 100644 index 000000000..c2cdf75a4 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/python/README.md @@ -0,0 +1,20 @@ +# Version Compablity + +| Python | OpenSSL | Comments | +| ------------- | ------------- | ----------------- | +| 2.6 | Not ready | No pip installed | +| 2.7 | Not ready | | +| 3.0 | 1.0.2u | No pip installed | +| 3.1 | 1.0.2u | No pip installed | +| 3.2 | 1.0.2u | | +| 3.3 | 1.0.2u | | +| 3.4 | 1.0.2u | | +| 3.5 | 1.1.1.1w | | +| 3.6 | 1.1.1.1w | | +| 3.7 | 1.1.1.1w | | +| 3.8 | 1.1.1.1w | | +| 3.9 | 1.1.1.1w | | +| 3.10 | 3.4.x | | +| 3.11 | 3.4.x | | +| 3.12 | 3.4.x | | +| 3.13 | 3.4.x | | diff --git a/linux/ecosystem/epicmorg/debian/sid/python/2.6/Dockerfile b/linux/ecosystem/epicmorg/debian/sid/python/2.6/Dockerfile new file mode 100644 index 000000000..da59c870d --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/python/2.6/Dockerfile @@ -0,0 +1,122 @@ +FROM epicmorg/debian:sid-develop as builder + +################################################################## +# Build +################################################################## +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/ + +ENV PYTHON_VERSION=2.6 +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 + +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 PATH="${PYTHON_BIN_DIR}:${PATH}" + +WORKDIR ${PYTHON_SRC_DIR} + +RUN ./configure \ + --prefix=${PYTHON_DIR} \ + --enable-option-checking=fatal \ + --enable-profiling \ + --with-pydebug + +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/ + +################################################################## +# Python 2.6 +################################################################## +ENV PYTHON_VERSION=2.6 +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} + +ENV PATH="${PYTHON_BIN_DIR}:${PATH}" + +#ADD https://bootstrap.pypa.io/pip/3.2/get-pip.py /tmp + +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/pip2 && \ + rm -rfv /usr/bin/pip && \ + rm -rfv /usr/bin/python && \ + rm -rfv /usr/bin/python2 && \ + rm -rfv /usr/bin/python3 && \ +# ${PYTHON_DIR}/bin/python${PYTHON_VERSION} /tmp/get-pip.py && \ +# update-alternatives --install /usr/bin/pip2 pip2 ${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/python2 python2 ${PYTHON_DIR}/bin/python${PYTHON_VERSION} 1 && \ + ldconfig + +RUN echo "=============================================" && \ + python${PYTHON_VERSION} --version && \ + python2 --version && \ + python --version && \ +# pip2 --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/sid/python/2.6/Makefile b/linux/ecosystem/epicmorg/debian/sid/python/2.6/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/python/2.6/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/sid/python/2.6/docker-compose.yml b/linux/ecosystem/epicmorg/debian/sid/python/2.6/docker-compose.yml new file mode 100644 index 000000000..a795a4ff0 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/python/2.6/docker-compose.yml @@ -0,0 +1,6 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:sid-python-2.6" + build: + context: . diff --git a/linux/ecosystem/epicmorg/debian/sid/python/2.6/etc/apt/preferences.d/block-python-packages b/linux/ecosystem/epicmorg/debian/sid/python/2.6/etc/apt/preferences.d/block-python-packages new file mode 100644 index 000000000..2b2824a84 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/python/2.6/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/sid/python/2.6/etc/apt/preferences.d/block-python2-packages b/linux/ecosystem/epicmorg/debian/sid/python/2.6/etc/apt/preferences.d/block-python2-packages new file mode 100644 index 000000000..6cb9a2e9d --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/python/2.6/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/sid/python/2.6/etc/apt/preferences.d/block-python3-packages b/linux/ecosystem/epicmorg/debian/sid/python/2.6/etc/apt/preferences.d/block-python3-packages new file mode 100644 index 000000000..eccd7ebc6 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/python/2.6/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/sid/python/2.7/Dockerfile b/linux/ecosystem/epicmorg/debian/sid/python/2.7/Dockerfile new file mode 100644 index 000000000..0bd6b5b70 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/python/2.7/Dockerfile @@ -0,0 +1,124 @@ +FROM epicmorg/debian:sid-develop as builder + +################################################################## +# Build +################################################################## +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/ + +ENV PYTHON_VERSION=2.7 +ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.18 +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 + +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 PATH="${PYTHON_BIN_DIR}:${PATH}" + +WORKDIR ${PYTHON_SRC_DIR} + +RUN ./configure \ + --prefix=${PYTHON_DIR} \ + --enable-option-checking=fatal \ + --with-ensurepip=install \ + --enable-profiling \ + --with-system-expat \ + --with-computed-gotos \ + --with-pydebug \ + --with-valgrind \ + --with-lto + +RUN make -j$(nproc) && \ + make altinstall + +#RUN python${PYTHON_VERSION} -c "import ssl; print(ssl.OPENSSL_VERSION)" + +################################################################## +################################################################## +################################################################## +# Final Layer +################################################################## +################################################################## +################################################################## +FROM epicmorg/debian:sid + +RUN apt-get remove -y python3-pip + +# /etc/ld.so.conf.d/ +ARG LD_CONF_DIR=/etc/ld.so.conf.d/ + +################################################################## +# Python 2.7 +################################################################## +ENV PYTHON_VERSION=2.7 +ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.18 +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} + +ENV PATH="${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/pip2 && \ + rm -rfv /usr/bin/pip && \ + rm -rfv /usr/bin/python && \ + rm -rfv /usr/bin/python2 && \ + rm -rfv /usr/bin/python3 && \ + update-alternatives --install /usr/bin/pip2 pip2 ${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/python2 python2 ${PYTHON_DIR}/bin/python${PYTHON_VERSION} 1 && \ + ldconfig + +RUN echo "=============================================" && \ + python${PYTHON_VERSION} --version && \ + python2 --version && \ + python --version && \ + pip2 --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/sid/python/2.7/Makefile b/linux/ecosystem/epicmorg/debian/sid/python/2.7/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/python/2.7/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/sid/python/2.7/docker-compose.yml b/linux/ecosystem/epicmorg/debian/sid/python/2.7/docker-compose.yml new file mode 100644 index 000000000..f11943216 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/python/2.7/docker-compose.yml @@ -0,0 +1,6 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:sid-python-2.7" + build: + context: . diff --git a/linux/ecosystem/epicmorg/debian/sid/python/2.7/etc/apt/preferences.d/block-python-packages b/linux/ecosystem/epicmorg/debian/sid/python/2.7/etc/apt/preferences.d/block-python-packages new file mode 100644 index 000000000..2b2824a84 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/python/2.7/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/sid/python/2.7/etc/apt/preferences.d/block-python2-packages b/linux/ecosystem/epicmorg/debian/sid/python/2.7/etc/apt/preferences.d/block-python2-packages new file mode 100644 index 000000000..6cb9a2e9d --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/python/2.7/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/sid/python/2.7/etc/apt/preferences.d/block-python3-packages b/linux/ecosystem/epicmorg/debian/sid/python/2.7/etc/apt/preferences.d/block-python3-packages new file mode 100644 index 000000000..eccd7ebc6 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/python/2.7/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/sid/python/3.0/Dockerfile b/linux/ecosystem/epicmorg/debian/sid/python/3.0/Dockerfile new file mode 100644 index 000000000..221886428 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/python/3.0/Dockerfile @@ -0,0 +1,147 @@ +FROM epicmorg/debian:sid-develop as builder + +################################################################## +# Build +################################################################## +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/ + +ENV PYTHON_VERSION=3.0 +ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.1 +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 + +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_102_DIR} +ENV LD_LIBRARY_PATH=${OPENSSL_ROOT}/lib:$LD_LIBRARY_PATH + +ENV PATH="${PYTHON_BIN_DIR}:${PATH}" + +WORKDIR ${PYTHON_SRC_DIR} + +RUN ./configure \ + --prefix=${PYTHON_DIR} \ + --enable-option-checking=fatal \ + --enable-profiling \ + --with-computed-gotos \ + --with-pydebug \ + --with-wide-unicode \ + SSL=${OPENSSL_102_DIR} \ + CFLAGS="-I${OPENSSL_102_DIR}/include" \ + CPPFLAGS="-I${OPENSSL_102_DIR}/include" \ + PKG_CONFIG_PATH="${OPENSSL_102_DIR}/lib/pkgconfig" \ + LDFLAGS="-L${OPENSSL_102_DIR}/lib -Wl,-rpath,${OPENSSL_102_DIR}/lib" + +RUN make -j$(nproc) && \ + make altinstall + +#RUN python${PYTHON_VERSION} -c "import ssl; print(ssl.OPENSSL_VERSION)" + +################################################################## +################################################################## +################################################################## +# Final Layer +################################################################## +################################################################## +################################################################## +FROM epicmorg/debian:sid + +RUN apt-get remove -y python3-pip + +# /etc/ld.so.conf.d/ +ARG LD_CONF_DIR=/etc/ld.so.conf.d/ + +################################################################## +# OpenSSL 1.0.2u +################################################################## +ENV OPENSSL_102_VERSION=1.0.2 +ENV OPENSSL_102_DIR=${EMG_LOCAL_BASE_DIR}/openssl/${OPENSSL_102_VERSION} +ENV OPENSSL_102_BIN_DIR=${OPENSSL_102_DIR}/bin +ENV OPENSSL_102_INC_DIR=${OPENSSL_102_DIR}/include +ENV OPENSSL_102_LIB_DIR=${OPENSSL_102_DIR}/lib +ENV OPENSSL_102_SRC_DIR=/usr/local/src/openssl/${OPENSSL_102_VERSION} + +################################################################## +# Python 3.0 +################################################################## +ENV PYTHON_VERSION=3.0 +ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.1 +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_102_DIR} ${OPENSSL_102_DIR} +COPY --from=builder ${OPENSSL_102_SRC_DIR} ${OPENSSL_102_SRC_DIR} + +ENV OPENSSL_ROOT=${OPENSSL_102_DIR} +ENV LD_LIBRARY_PATH=${OPENSSL_ROOT}/lib:$LD_LIBRARY_PATH +ENV PATH="${OPENSSL_102_BIN_DIR}:${PYTHON_BIN_DIR}:${PATH}" + +#ADD https://github.com/pypa/pip/archive/refs/tags/9.0.3.tar.gz /tmp + +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 && \ +# tar -xvzf /tmp/9.0.3.tar.gz --directory /tmp && \ +# cd /tmp/pip-9.0.3 && ${PYTHON_DIR}/bin/python${PYTHON_VERSION} ./setup.py install && \ +# 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_102_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/sid/python/3.0/Makefile b/linux/ecosystem/epicmorg/debian/sid/python/3.0/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/python/3.0/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/sid/python/3.0/docker-compose.yml b/linux/ecosystem/epicmorg/debian/sid/python/3.0/docker-compose.yml new file mode 100644 index 000000000..5e8291bda --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/python/3.0/docker-compose.yml @@ -0,0 +1,6 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:sid-python-3.0" + build: + context: . diff --git a/linux/ecosystem/epicmorg/debian/sid/python/3.0/etc/apt/preferences.d/block-python-packages b/linux/ecosystem/epicmorg/debian/sid/python/3.0/etc/apt/preferences.d/block-python-packages new file mode 100644 index 000000000..2b2824a84 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/python/3.0/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/sid/python/3.0/etc/apt/preferences.d/block-python2-packages b/linux/ecosystem/epicmorg/debian/sid/python/3.0/etc/apt/preferences.d/block-python2-packages new file mode 100644 index 000000000..6cb9a2e9d --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/python/3.0/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/sid/python/3.0/etc/apt/preferences.d/block-python3-packages b/linux/ecosystem/epicmorg/debian/sid/python/3.0/etc/apt/preferences.d/block-python3-packages new file mode 100644 index 000000000..eccd7ebc6 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/python/3.0/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/sid/python/3.1/Dockerfile b/linux/ecosystem/epicmorg/debian/sid/python/3.1/Dockerfile new file mode 100644 index 000000000..22d09e815 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/python/3.1/Dockerfile @@ -0,0 +1,147 @@ +FROM epicmorg/debian:sid-develop as builder + +################################################################## +# Build +################################################################## +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/ + +ENV PYTHON_VERSION=3.1 +ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.5 +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 + +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_102_DIR} +ENV LD_LIBRARY_PATH=${OPENSSL_ROOT}/lib:$LD_LIBRARY_PATH + +ENV PATH="${PYTHON_BIN_DIR}:${PATH}" + +WORKDIR ${PYTHON_SRC_DIR} + +RUN ./configure \ + --prefix=${PYTHON_DIR} \ + --enable-option-checking=fatal \ + --enable-profiling \ + --with-computed-gotos \ + --with-pydebug \ + --with-wide-unicode \ + SSL=${OPENSSL_102_DIR} \ + CFLAGS="-I${OPENSSL_102_DIR}/include" \ + CPPFLAGS="-I${OPENSSL_102_DIR}/include" \ + PKG_CONFIG_PATH="${OPENSSL_102_DIR}/lib/pkgconfig" \ + LDFLAGS="-L${OPENSSL_102_DIR}/lib -Wl,-rpath,${OPENSSL_102_DIR}/lib" + +RUN make -j$(nproc) && \ + make altinstall + +#RUN python${PYTHON_VERSION} -c "import ssl; print(ssl.OPENSSL_VERSION)" + +################################################################## +################################################################## +################################################################## +# Final Layer +################################################################## +################################################################## +################################################################## +FROM epicmorg/debian:sid + +RUN apt-get remove -y python3-pip + +# /etc/ld.so.conf.d/ +ARG LD_CONF_DIR=/etc/ld.so.conf.d/ + +################################################################## +# OpenSSL 1.0.2u +################################################################## +ENV OPENSSL_102_VERSION=1.0.2 +ENV OPENSSL_102_DIR=${EMG_LOCAL_BASE_DIR}/openssl/${OPENSSL_102_VERSION} +ENV OPENSSL_102_BIN_DIR=${OPENSSL_102_DIR}/bin +ENV OPENSSL_102_INC_DIR=${OPENSSL_102_DIR}/include +ENV OPENSSL_102_LIB_DIR=${OPENSSL_102_DIR}/lib +ENV OPENSSL_102_SRC_DIR=/usr/local/src/openssl/${OPENSSL_102_VERSION} + +################################################################## +# Python 3.1 +################################################################## +ENV PYTHON_VERSION=3.1 +ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.5 +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_102_DIR} ${OPENSSL_102_DIR} +COPY --from=builder ${OPENSSL_102_SRC_DIR} ${OPENSSL_102_SRC_DIR} + +ENV OPENSSL_ROOT=${OPENSSL_102_DIR} +ENV LD_LIBRARY_PATH=${OPENSSL_ROOT}/lib:$LD_LIBRARY_PATH +ENV PATH="${OPENSSL_102_BIN_DIR}:${PYTHON_BIN_DIR}:${PATH}" + +#ADD https://github.com/pypa/pip/archive/refs/tags/9.0.3.tar.gz /tmp + +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 && \ +# tar -xvzf /tmp/9.0.3.tar.gz --directory /tmp && \ +# cd /tmp/pip-9.0.3 && ${PYTHON_DIR}/bin/python${PYTHON_VERSION} ./setup.py install && \ +# 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_102_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/sid/python/3.1/Makefile b/linux/ecosystem/epicmorg/debian/sid/python/3.1/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/python/3.1/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/sid/python/3.1/docker-compose.yml b/linux/ecosystem/epicmorg/debian/sid/python/3.1/docker-compose.yml new file mode 100644 index 000000000..5e17111fd --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/python/3.1/docker-compose.yml @@ -0,0 +1,6 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:sid-python-3.1" + build: + context: . diff --git a/linux/ecosystem/epicmorg/debian/sid/python/3.1/etc/apt/preferences.d/block-python-packages b/linux/ecosystem/epicmorg/debian/sid/python/3.1/etc/apt/preferences.d/block-python-packages new file mode 100644 index 000000000..2b2824a84 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/python/3.1/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/sid/python/3.1/etc/apt/preferences.d/block-python2-packages b/linux/ecosystem/epicmorg/debian/sid/python/3.1/etc/apt/preferences.d/block-python2-packages new file mode 100644 index 000000000..6cb9a2e9d --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/python/3.1/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/sid/python/3.1/etc/apt/preferences.d/block-python3-packages b/linux/ecosystem/epicmorg/debian/sid/python/3.1/etc/apt/preferences.d/block-python3-packages new file mode 100644 index 000000000..eccd7ebc6 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/python/3.1/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/sid/python/3.10/Dockerfile b/linux/ecosystem/epicmorg/debian/sid/python/3.10/Dockerfile new file mode 100644 index 000000000..dba69868d --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/python/3.10/Dockerfile @@ -0,0 +1,153 @@ +FROM epicmorg/debian:sid-develop as builder + +################################################################## +# Build +################################################################## +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/ + +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 + +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 \ + --with-computed-gotos \ + --with-pydebug \ + --with-trace-refs \ + --with-assertions \ + --with-valgrind \ + --with-static-libpython \ + --with-openssl-rpath=auto \ + --with-openssl=${OPENSSL_34_DIR} \ + SSL=${OPENSSL_34_DIR} \ + CFLAGS="-I${OPENSSL_34_DIR}/include" \ + CPPFLAGS="-I${OPENSSL_34_DIR}/include" \ + PKG_CONFIG_PATH="${OPENSSL_34_DIR}/lib64/pkgconfig" \ + LDFLAGS="-L${OPENSSL_34_DIR}/lib64 -Wl,-rpath,${OPENSSL_34_DIR}/lib64" + +RUN make -j$(nproc) && \ + make altinstall + +RUN python${PYTHON_VERSION} -c "import ssl; print(ssl.OPENSSL_VERSION)" + +################################################################## +################################################################## +################################################################## +# Final Layer +################################################################## +################################################################## +################################################################## +FROM epicmorg/debian:sid + +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/sid/python/3.10/Makefile b/linux/ecosystem/epicmorg/debian/sid/python/3.10/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/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/sid/python/3.10/docker-compose.yml b/linux/ecosystem/epicmorg/debian/sid/python/3.10/docker-compose.yml new file mode 100644 index 000000000..b365e6bb6 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/python/3.10/docker-compose.yml @@ -0,0 +1,6 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:sid-python-3.10" + build: + context: . diff --git a/linux/ecosystem/epicmorg/debian/sid/python/3.10/etc/apt/preferences.d/block-python-packages b/linux/ecosystem/epicmorg/debian/sid/python/3.10/etc/apt/preferences.d/block-python-packages new file mode 100644 index 000000000..2b2824a84 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/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/sid/python/3.10/etc/apt/preferences.d/block-python2-packages b/linux/ecosystem/epicmorg/debian/sid/python/3.10/etc/apt/preferences.d/block-python2-packages new file mode 100644 index 000000000..6cb9a2e9d --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/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/sid/python/3.10/etc/apt/preferences.d/block-python3-packages b/linux/ecosystem/epicmorg/debian/sid/python/3.10/etc/apt/preferences.d/block-python3-packages new file mode 100644 index 000000000..eccd7ebc6 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/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/sid/python/3.11/Dockerfile b/linux/ecosystem/epicmorg/debian/sid/python/3.11/Dockerfile new file mode 100644 index 000000000..c24ee7927 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/python/3.11/Dockerfile @@ -0,0 +1,153 @@ +FROM epicmorg/debian:sid-develop as builder + +################################################################## +# Build +################################################################## +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/ + +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 + +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 \ + --with-computed-gotos \ + --with-pydebug \ + --with-trace-refs \ + --with-assertions \ + --with-valgrind \ + --with-static-libpython \ + --with-openssl-rpath=auto \ + --with-openssl=${OPENSSL_34_DIR} \ + SSL=${OPENSSL_34_DIR} \ + CFLAGS="-I${OPENSSL_34_DIR}/include" \ + CPPFLAGS="-I${OPENSSL_34_DIR}/include" \ + PKG_CONFIG_PATH="${OPENSSL_34_DIR}/lib64/pkgconfig" \ + LDFLAGS="-L${OPENSSL_34_DIR}/lib64 -Wl,-rpath,${OPENSSL_34_DIR}/lib64" + +RUN make -j$(nproc) && \ + make altinstall + +RUN python${PYTHON_VERSION} -c "import ssl; print(ssl.OPENSSL_VERSION)" + +################################################################## +################################################################## +################################################################## +# Final Layer +################################################################## +################################################################## +################################################################## +FROM epicmorg/debian:sid + +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/sid/python/3.11/Makefile b/linux/ecosystem/epicmorg/debian/sid/python/3.11/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/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/sid/python/3.11/docker-compose.yml b/linux/ecosystem/epicmorg/debian/sid/python/3.11/docker-compose.yml new file mode 100644 index 000000000..e5bfa8dfb --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/python/3.11/docker-compose.yml @@ -0,0 +1,6 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:sid-python-3.11" + build: + context: . diff --git a/linux/ecosystem/epicmorg/debian/sid/python/3.11/etc/apt/preferences.d/block-python-packages b/linux/ecosystem/epicmorg/debian/sid/python/3.11/etc/apt/preferences.d/block-python-packages new file mode 100644 index 000000000..2b2824a84 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/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/sid/python/3.11/etc/apt/preferences.d/block-python2-packages b/linux/ecosystem/epicmorg/debian/sid/python/3.11/etc/apt/preferences.d/block-python2-packages new file mode 100644 index 000000000..6cb9a2e9d --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/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/sid/python/3.11/etc/apt/preferences.d/block-python3-packages b/linux/ecosystem/epicmorg/debian/sid/python/3.11/etc/apt/preferences.d/block-python3-packages new file mode 100644 index 000000000..eccd7ebc6 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/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/sid/python/3.12/Dockerfile b/linux/ecosystem/epicmorg/debian/sid/python/3.12/Dockerfile new file mode 100644 index 000000000..c5d60be52 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/python/3.12/Dockerfile @@ -0,0 +1,153 @@ +FROM epicmorg/debian:sid-develop as builder + +################################################################## +# Build +################################################################## +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/ + +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 + +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 \ + --with-computed-gotos \ + --with-pydebug \ + --with-trace-refs \ + --with-assertions \ + --with-valgrind \ + --with-static-libpython \ + --with-openssl-rpath=auto \ + --with-openssl=${OPENSSL_34_DIR} \ + SSL=${OPENSSL_34_DIR} \ + CFLAGS="-I${OPENSSL_34_DIR}/include" \ + CPPFLAGS="-I${OPENSSL_34_DIR}/include" \ + PKG_CONFIG_PATH="${OPENSSL_34_DIR}/lib64/pkgconfig" \ + LDFLAGS="-L${OPENSSL_34_DIR}/lib64 -Wl,-rpath,${OPENSSL_34_DIR}/lib64" + +RUN make -j$(nproc) && \ + make altinstall + +RUN python${PYTHON_VERSION} -c "import ssl; print(ssl.OPENSSL_VERSION)" + +################################################################## +################################################################## +################################################################## +# Final Layer +################################################################## +################################################################## +################################################################## +FROM epicmorg/debian:sid + +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/sid/python/3.12/Makefile b/linux/ecosystem/epicmorg/debian/sid/python/3.12/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/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/sid/python/3.12/docker-compose.yml b/linux/ecosystem/epicmorg/debian/sid/python/3.12/docker-compose.yml new file mode 100644 index 000000000..54a379e2e --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/python/3.12/docker-compose.yml @@ -0,0 +1,6 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:sid-python-3.12" + build: + context: . diff --git a/linux/ecosystem/epicmorg/debian/sid/python/3.12/etc/apt/preferences.d/block-python-packages b/linux/ecosystem/epicmorg/debian/sid/python/3.12/etc/apt/preferences.d/block-python-packages new file mode 100644 index 000000000..2b2824a84 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/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/sid/python/3.12/etc/apt/preferences.d/block-python2-packages b/linux/ecosystem/epicmorg/debian/sid/python/3.12/etc/apt/preferences.d/block-python2-packages new file mode 100644 index 000000000..6cb9a2e9d --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/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/sid/python/3.12/etc/apt/preferences.d/block-python3-packages b/linux/ecosystem/epicmorg/debian/sid/python/3.12/etc/apt/preferences.d/block-python3-packages new file mode 100644 index 000000000..eccd7ebc6 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/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/sid/python/3.13/Dockerfile b/linux/ecosystem/epicmorg/debian/sid/python/3.13/Dockerfile new file mode 100644 index 000000000..bff04f7af --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/python/3.13/Dockerfile @@ -0,0 +1,153 @@ +FROM epicmorg/debian:sid-develop as builder + +################################################################## +# Build +################################################################## +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/ + +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_FULL_VERSION}/Python-${PYTHON_FULL_VERSION}.tgz +ARG PYTHON_TEMP=/tmp/Python-${PYTHON_FULL_VERSION}.tgz + +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 \ + --with-computed-gotos \ + --with-pydebug \ + --with-trace-refs \ + --with-assertions \ + --with-valgrind \ + --with-static-libpython \ + --with-openssl-rpath=auto \ + --with-openssl=${OPENSSL_34_DIR} \ + SSL=${OPENSSL_34_DIR} \ + CFLAGS="-I${OPENSSL_34_DIR}/include" \ + CPPFLAGS="-I${OPENSSL_34_DIR}/include" \ + PKG_CONFIG_PATH="${OPENSSL_34_DIR}/lib64/pkgconfig" \ + LDFLAGS="-L${OPENSSL_34_DIR}/lib64 -Wl,-rpath,${OPENSSL_34_DIR}/lib64" + +RUN make -j$(nproc) && \ + make altinstall + +RUN python${PYTHON_VERSION} -c "import ssl; print(ssl.OPENSSL_VERSION)" + +################################################################## +################################################################## +################################################################## +# Final Layer +################################################################## +################################################################## +################################################################## +FROM epicmorg/debian:sid + +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.13 +################################################################## +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 + +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/sid/python/3.13/Makefile b/linux/ecosystem/epicmorg/debian/sid/python/3.13/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/python/3.13/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/sid/python/3.13/docker-compose.yml b/linux/ecosystem/epicmorg/debian/sid/python/3.13/docker-compose.yml new file mode 100644 index 000000000..042183fe5 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/python/3.13/docker-compose.yml @@ -0,0 +1,6 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:sid-python-3.13" + build: + context: . diff --git a/linux/ecosystem/epicmorg/debian/sid/python/3.13/etc/apt/preferences.d/block-python-packages b/linux/ecosystem/epicmorg/debian/sid/python/3.13/etc/apt/preferences.d/block-python-packages new file mode 100644 index 000000000..2b2824a84 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/python/3.13/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/sid/python/3.13/etc/apt/preferences.d/block-python2-packages b/linux/ecosystem/epicmorg/debian/sid/python/3.13/etc/apt/preferences.d/block-python2-packages new file mode 100644 index 000000000..6cb9a2e9d --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/python/3.13/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/sid/python/3.13/etc/apt/preferences.d/block-python3-packages b/linux/ecosystem/epicmorg/debian/sid/python/3.13/etc/apt/preferences.d/block-python3-packages new file mode 100644 index 000000000..eccd7ebc6 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/python/3.13/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/sid/python/3.2/Dockerfile b/linux/ecosystem/epicmorg/debian/sid/python/3.2/Dockerfile new file mode 100644 index 000000000..7bf8a5c52 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/python/3.2/Dockerfile @@ -0,0 +1,149 @@ +FROM epicmorg/debian:sid-develop as builder + +################################################################## +# Build +################################################################## +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/ + +ENV PYTHON_VERSION=3.2 +ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.6 +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 + +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_102_DIR} +ENV LD_LIBRARY_PATH=${OPENSSL_ROOT}/lib:$LD_LIBRARY_PATH + +ENV PATH="${PYTHON_BIN_DIR}:${PATH}" + +WORKDIR ${PYTHON_SRC_DIR} + +RUN ./configure \ + --prefix=${PYTHON_DIR} \ + --enable-option-checking=fatal \ + --enable-loadable-sqlite-extensions \ + --enable-profiling \ + --with-system-expat \ + --with-computed-gotos \ + --with-pydebug \ + --with-valgrind \ + --with-wide-unicode \ + SSL=${OPENSSL_102_DIR} \ + CFLAGS="-I${OPENSSL_102_DIR}/include" \ + CPPFLAGS="-I${OPENSSL_102_DIR}/include" \ + PKG_CONFIG_PATH="${OPENSSL_102_DIR}/lib/pkgconfig" \ + LDFLAGS="-L${OPENSSL_102_DIR}/lib -Wl,-rpath,${OPENSSL_102_DIR}/lib" + +RUN make -j$(nproc) && \ + make altinstall + +RUN python${PYTHON_VERSION} -c "import ssl; print(ssl.OPENSSL_VERSION)" + +################################################################## +################################################################## +################################################################## +# Final Layer +################################################################## +################################################################## +################################################################## +FROM epicmorg/debian:sid + +RUN apt-get remove -y python3-pip + +# /etc/ld.so.conf.d/ +ARG LD_CONF_DIR=/etc/ld.so.conf.d/ + +################################################################## +# OpenSSL 1.0.2u +################################################################## +ENV OPENSSL_102_VERSION=1.0.2 +ENV OPENSSL_102_DIR=${EMG_LOCAL_BASE_DIR}/openssl/${OPENSSL_102_VERSION} +ENV OPENSSL_102_BIN_DIR=${OPENSSL_102_DIR}/bin +ENV OPENSSL_102_INC_DIR=${OPENSSL_102_DIR}/include +ENV OPENSSL_102_LIB_DIR=${OPENSSL_102_DIR}/lib +ENV OPENSSL_102_SRC_DIR=/usr/local/src/openssl/${OPENSSL_102_VERSION} + +################################################################## +# Python 3.2 +################################################################## +ENV PYTHON_VERSION=3.2 +ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.6 +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_102_DIR} ${OPENSSL_102_DIR} +COPY --from=builder ${OPENSSL_102_SRC_DIR} ${OPENSSL_102_SRC_DIR} + +ENV OPENSSL_ROOT=${OPENSSL_102_DIR} +ENV LD_LIBRARY_PATH=${OPENSSL_ROOT}/lib:$LD_LIBRARY_PATH +ENV PATH="${OPENSSL_102_BIN_DIR}:${PYTHON_BIN_DIR}:${PATH}" + +ADD https://bootstrap.pypa.io/pip/3.2/get-pip.py /tmp + +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 && \ + ${PYTHON_DIR}/bin/python${PYTHON_VERSION} /tmp/get-pip.py && \ + 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_102_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/sid/python/3.2/Makefile b/linux/ecosystem/epicmorg/debian/sid/python/3.2/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/python/3.2/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/sid/python/3.2/docker-compose.yml b/linux/ecosystem/epicmorg/debian/sid/python/3.2/docker-compose.yml new file mode 100644 index 000000000..19a136841 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/python/3.2/docker-compose.yml @@ -0,0 +1,6 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:sid-python-3.2" + build: + context: . diff --git a/linux/ecosystem/epicmorg/debian/sid/python/3.2/etc/apt/preferences.d/block-python-packages b/linux/ecosystem/epicmorg/debian/sid/python/3.2/etc/apt/preferences.d/block-python-packages new file mode 100644 index 000000000..2b2824a84 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/python/3.2/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/sid/python/3.2/etc/apt/preferences.d/block-python2-packages b/linux/ecosystem/epicmorg/debian/sid/python/3.2/etc/apt/preferences.d/block-python2-packages new file mode 100644 index 000000000..6cb9a2e9d --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/python/3.2/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/sid/python/3.2/etc/apt/preferences.d/block-python3-packages b/linux/ecosystem/epicmorg/debian/sid/python/3.2/etc/apt/preferences.d/block-python3-packages new file mode 100644 index 000000000..eccd7ebc6 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/python/3.2/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/sid/python/3.3/Dockerfile b/linux/ecosystem/epicmorg/debian/sid/python/3.3/Dockerfile new file mode 100644 index 000000000..c21248508 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/python/3.3/Dockerfile @@ -0,0 +1,148 @@ +FROM epicmorg/debian:sid-develop as builder + +################################################################## +# Build +################################################################## +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/ + +ENV PYTHON_VERSION=3.3 +ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.7 +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 + +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_102_DIR} +ENV LD_LIBRARY_PATH=${OPENSSL_ROOT}/lib:$LD_LIBRARY_PATH + +ENV PATH="${PYTHON_BIN_DIR}:${PATH}" + +WORKDIR ${PYTHON_SRC_DIR} + +RUN ./configure \ + --prefix=${PYTHON_DIR} \ + --enable-option-checking=fatal \ + --enable-loadable-sqlite-extensions \ + --enable-profiling \ + --with-system-expat \ + --with-computed-gotos \ + --with-pydebug \ + --with-valgrind \ + SSL=${OPENSSL_102_DIR} \ + CFLAGS="-I${OPENSSL_102_DIR}/include" \ + CPPFLAGS="-I${OPENSSL_102_DIR}/include" \ + PKG_CONFIG_PATH="${OPENSSL_102_DIR}/lib/pkgconfig" \ + LDFLAGS="-L${OPENSSL_102_DIR}/lib -Wl,-rpath,${OPENSSL_102_DIR}/lib" + +RUN make -j$(nproc) && \ + make altinstall + +RUN python${PYTHON_VERSION} -c "import ssl; print(ssl.OPENSSL_VERSION)" + +################################################################## +################################################################## +################################################################## +# Final Layer +################################################################## +################################################################## +################################################################## +FROM epicmorg/debian:sid + +RUN apt-get remove -y python3-pip + +# /etc/ld.so.conf.d/ +ARG LD_CONF_DIR=/etc/ld.so.conf.d/ + +################################################################## +# OpenSSL 1.0.2u +################################################################## +ENV OPENSSL_102_VERSION=1.0.2 +ENV OPENSSL_102_DIR=${EMG_LOCAL_BASE_DIR}/openssl/${OPENSSL_102_VERSION} +ENV OPENSSL_102_BIN_DIR=${OPENSSL_102_DIR}/bin +ENV OPENSSL_102_INC_DIR=${OPENSSL_102_DIR}/include +ENV OPENSSL_102_LIB_DIR=${OPENSSL_102_DIR}/lib +ENV OPENSSL_102_SRC_DIR=/usr/local/src/openssl/${OPENSSL_102_VERSION} + +################################################################## +# Python 3.3 +################################################################## +ENV PYTHON_VERSION=3.3 +ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.7 +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_102_DIR} ${OPENSSL_102_DIR} +COPY --from=builder ${OPENSSL_102_SRC_DIR} ${OPENSSL_102_SRC_DIR} + +ENV OPENSSL_ROOT=${OPENSSL_102_DIR} +ENV LD_LIBRARY_PATH=${OPENSSL_ROOT}/lib:$LD_LIBRARY_PATH +ENV PATH="${OPENSSL_102_BIN_DIR}:${PYTHON_BIN_DIR}:${PATH}" + +ADD https://bootstrap.pypa.io/pip/3.3/get-pip.py /tmp + +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 && \ + ${PYTHON_DIR}/bin/python${PYTHON_VERSION} /tmp/get-pip.py && \ + 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_102_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/sid/python/3.3/Makefile b/linux/ecosystem/epicmorg/debian/sid/python/3.3/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/python/3.3/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/sid/python/3.3/docker-compose.yml b/linux/ecosystem/epicmorg/debian/sid/python/3.3/docker-compose.yml new file mode 100644 index 000000000..7ce12bd5b --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/python/3.3/docker-compose.yml @@ -0,0 +1,6 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:sid-python-3.3" + build: + context: . diff --git a/linux/ecosystem/epicmorg/debian/sid/python/3.3/etc/apt/preferences.d/block-python-packages b/linux/ecosystem/epicmorg/debian/sid/python/3.3/etc/apt/preferences.d/block-python-packages new file mode 100644 index 000000000..2b2824a84 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/python/3.3/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/sid/python/3.3/etc/apt/preferences.d/block-python2-packages b/linux/ecosystem/epicmorg/debian/sid/python/3.3/etc/apt/preferences.d/block-python2-packages new file mode 100644 index 000000000..6cb9a2e9d --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/python/3.3/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/sid/python/3.3/etc/apt/preferences.d/block-python3-packages b/linux/ecosystem/epicmorg/debian/sid/python/3.3/etc/apt/preferences.d/block-python3-packages new file mode 100644 index 000000000..eccd7ebc6 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/python/3.3/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/sid/python/3.4/Dockerfile b/linux/ecosystem/epicmorg/debian/sid/python/3.4/Dockerfile new file mode 100644 index 000000000..75440cf90 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/python/3.4/Dockerfile @@ -0,0 +1,146 @@ +FROM epicmorg/debian:sid-develop as builder + +################################################################## +# Build +################################################################## +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/ + +ENV PYTHON_VERSION=3.4 +ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.10 +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 + +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_102_DIR} +ENV LD_LIBRARY_PATH=${OPENSSL_ROOT}/lib:$LD_LIBRARY_PATH + +ENV PATH="${PYTHON_BIN_DIR}:${PATH}" + +WORKDIR ${PYTHON_SRC_DIR} + +RUN ./configure \ + --prefix=${PYTHON_DIR} \ + --enable-option-checking=fatal \ + --enable-loadable-sqlite-extensions \ + --with-ensurepip=install \ + --enable-profiling \ + --with-system-expat \ + --with-computed-gotos \ + --with-pydebug \ + --with-valgrind \ + SSL=${OPENSSL_102_DIR} \ + CFLAGS="-I${OPENSSL_102_DIR}/include" \ + CPPFLAGS="-I${OPENSSL_102_DIR}/include" \ + PKG_CONFIG_PATH="${OPENSSL_102_DIR}/lib/pkgconfig" \ + LDFLAGS="-L${OPENSSL_102_DIR}/lib -Wl,-rpath,${OPENSSL_102_DIR}/lib" + +RUN make -j$(nproc) && \ + make altinstall + +RUN python${PYTHON_VERSION} -c "import ssl; print(ssl.OPENSSL_VERSION)" + +################################################################## +################################################################## +################################################################## +# Final Layer +################################################################## +################################################################## +################################################################## +FROM epicmorg/debian:sid + +RUN apt-get remove -y python3-pip + +# /etc/ld.so.conf.d/ +ARG LD_CONF_DIR=/etc/ld.so.conf.d/ + +################################################################## +# OpenSSL 1.0.2u +################################################################## +ENV OPENSSL_102_VERSION=1.0.2 +ENV OPENSSL_102_DIR=${EMG_LOCAL_BASE_DIR}/openssl/${OPENSSL_102_VERSION} +ENV OPENSSL_102_BIN_DIR=${OPENSSL_102_DIR}/bin +ENV OPENSSL_102_INC_DIR=${OPENSSL_102_DIR}/include +ENV OPENSSL_102_LIB_DIR=${OPENSSL_102_DIR}/lib +ENV OPENSSL_102_SRC_DIR=/usr/local/src/openssl/${OPENSSL_102_VERSION} + +################################################################## +# Python 3.4 +################################################################## +ENV PYTHON_VERSION=3.4 +ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.10 +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_102_DIR} ${OPENSSL_102_DIR} +COPY --from=builder ${OPENSSL_102_SRC_DIR} ${OPENSSL_102_SRC_DIR} + +ENV OPENSSL_ROOT=${OPENSSL_102_DIR} +ENV LD_LIBRARY_PATH=${OPENSSL_ROOT}/lib:$LD_LIBRARY_PATH +ENV PATH="${OPENSSL_102_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_102_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/sid/python/3.4/Makefile b/linux/ecosystem/epicmorg/debian/sid/python/3.4/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/python/3.4/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/sid/python/3.4/docker-compose.yml b/linux/ecosystem/epicmorg/debian/sid/python/3.4/docker-compose.yml new file mode 100644 index 000000000..e9d7121de --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/python/3.4/docker-compose.yml @@ -0,0 +1,6 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:sid-python-3.4" + build: + context: . diff --git a/linux/ecosystem/epicmorg/debian/sid/python/3.4/etc/apt/preferences.d/block-python-packages b/linux/ecosystem/epicmorg/debian/sid/python/3.4/etc/apt/preferences.d/block-python-packages new file mode 100644 index 000000000..2b2824a84 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/python/3.4/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/sid/python/3.4/etc/apt/preferences.d/block-python2-packages b/linux/ecosystem/epicmorg/debian/sid/python/3.4/etc/apt/preferences.d/block-python2-packages new file mode 100644 index 000000000..6cb9a2e9d --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/python/3.4/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/sid/python/3.4/etc/apt/preferences.d/block-python3-packages b/linux/ecosystem/epicmorg/debian/sid/python/3.4/etc/apt/preferences.d/block-python3-packages new file mode 100644 index 000000000..eccd7ebc6 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/python/3.4/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/sid/python/3.5/Dockerfile b/linux/ecosystem/epicmorg/debian/sid/python/3.5/Dockerfile new file mode 100644 index 000000000..f04eb7c3f --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/python/3.5/Dockerfile @@ -0,0 +1,148 @@ +FROM epicmorg/debian:sid-develop as builder + +################################################################## +# Build +################################################################## +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/ + +ENV PYTHON_VERSION=3.5 +ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.10 +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 + +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_111_DIR} +ENV LD_LIBRARY_PATH=${OPENSSL_ROOT}/lib:$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 \ + --with-computed-gotos \ + --with-pydebug \ + --with-valgrind \ + SSL=${OPENSSL_111_DIR} \ + CFLAGS="-I${OPENSSL_111_DIR}/include" \ + CPPFLAGS="-I${OPENSSL_111_DIR}/include" \ + PKG_CONFIG_PATH="${OPENSSL_111_DIR}/lib/pkgconfig" \ + LDFLAGS="-L${OPENSSL_111_DIR}/lib -Wl,-rpath,${OPENSSL_111_DIR}/lib" + +RUN make -j$(nproc) && \ + make altinstall + +RUN python${PYTHON_VERSION} -c "import ssl; print(ssl.OPENSSL_VERSION)" + +################################################################## +################################################################## +################################################################## +# Final Layer +################################################################## +################################################################## +################################################################## +FROM epicmorg/debian:sid + +RUN apt-get remove -y python3-pip + +# /etc/ld.so.conf.d/ +ARG LD_CONF_DIR=/etc/ld.so.conf.d/ + +################################################################## +# OpenSSL 1.1.1w +################################################################## +ENV OPENSSL_111_VERSION=1.1.1 +ENV OPENSSL_111_DIR=${EMG_LOCAL_BASE_DIR}/openssl/${OPENSSL_111_VERSION} +ENV OPENSSL_111_BIN_DIR=${OPENSSL_111_DIR}/bin +ENV OPENSSL_111_INC_DIR=${OPENSSL_111_DIR}/include +ENV OPENSSL_111_LIB_DIR=${OPENSSL_111_DIR}/lib +ENV OPENSSL_111_SRC_DIR=/usr/local/src/openssl/${OPENSSL_111_VERSION} + +################################################################## +# Python 3.5 +################################################################## +ENV PYTHON_VERSION=3.5 +ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.10 +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_111_DIR} ${OPENSSL_111_DIR} +COPY --from=builder ${OPENSSL_111_SRC_DIR} ${OPENSSL_111_SRC_DIR} + +ENV OPENSSL_ROOT=${OPENSSL_111_DIR} +ENV LD_LIBRARY_PATH=${OPENSSL_ROOT}/lib:$LD_LIBRARY_PATH +ENV PATH="${OPENSSL_111_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_111_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/sid/python/3.5/Makefile b/linux/ecosystem/epicmorg/debian/sid/python/3.5/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/python/3.5/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/sid/python/3.5/docker-compose.yml b/linux/ecosystem/epicmorg/debian/sid/python/3.5/docker-compose.yml new file mode 100644 index 000000000..0126f4179 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/python/3.5/docker-compose.yml @@ -0,0 +1,6 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:sid-python-3.5" + build: + context: . diff --git a/linux/ecosystem/epicmorg/debian/sid/python/3.5/etc/apt/preferences.d/block-python-packages b/linux/ecosystem/epicmorg/debian/sid/python/3.5/etc/apt/preferences.d/block-python-packages new file mode 100644 index 000000000..2b2824a84 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/python/3.5/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/sid/python/3.5/etc/apt/preferences.d/block-python2-packages b/linux/ecosystem/epicmorg/debian/sid/python/3.5/etc/apt/preferences.d/block-python2-packages new file mode 100644 index 000000000..6cb9a2e9d --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/python/3.5/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/sid/python/3.5/etc/apt/preferences.d/block-python3-packages b/linux/ecosystem/epicmorg/debian/sid/python/3.5/etc/apt/preferences.d/block-python3-packages new file mode 100644 index 000000000..eccd7ebc6 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/python/3.5/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/sid/python/3.6/Dockerfile b/linux/ecosystem/epicmorg/debian/sid/python/3.6/Dockerfile new file mode 100644 index 000000000..e4bb54510 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/python/3.6/Dockerfile @@ -0,0 +1,149 @@ +FROM epicmorg/debian:sid-develop as builder + +################################################################## +# Build +################################################################## +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/ + +ENV PYTHON_VERSION=3.6 +ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.15 +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 + +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_111_DIR} +ENV LD_LIBRARY_PATH=${OPENSSL_ROOT}/lib:$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 \ + --with-computed-gotos \ + --with-pydebug \ + --with-assertions \ + --with-valgrind \ + SSL=${OPENSSL_111_DIR} \ + CFLAGS="-I${OPENSSL_111_DIR}/include" \ + CPPFLAGS="-I${OPENSSL_111_DIR}/include" \ + PKG_CONFIG_PATH="${OPENSSL_111_DIR}/lib/pkgconfig" \ + LDFLAGS="-L${OPENSSL_111_DIR}/lib -Wl,-rpath,${OPENSSL_111_DIR}/lib" + +RUN make -j$(nproc) && \ + make altinstall + +RUN python${PYTHON_VERSION} -c "import ssl; print(ssl.OPENSSL_VERSION)" + +################################################################## +################################################################## +################################################################## +# Final Layer +################################################################## +################################################################## +################################################################## +FROM epicmorg/debian:sid + +RUN apt-get remove -y python3-pip + +# /etc/ld.so.conf.d/ +ARG LD_CONF_DIR=/etc/ld.so.conf.d/ + +################################################################## +# OpenSSL 1.1.1w +################################################################## +ENV OPENSSL_111_VERSION=1.1.1 +ENV OPENSSL_111_DIR=${EMG_LOCAL_BASE_DIR}/openssl/${OPENSSL_111_VERSION} +ENV OPENSSL_111_BIN_DIR=${OPENSSL_111_DIR}/bin +ENV OPENSSL_111_INC_DIR=${OPENSSL_111_DIR}/include +ENV OPENSSL_111_LIB_DIR=${OPENSSL_111_DIR}/lib +ENV OPENSSL_111_SRC_DIR=/usr/local/src/openssl/${OPENSSL_111_VERSION} + +################################################################## +# Python 3.6 +################################################################## +ENV PYTHON_VERSION=3.6 +ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.15 +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_111_DIR} ${OPENSSL_111_DIR} +COPY --from=builder ${OPENSSL_111_SRC_DIR} ${OPENSSL_111_SRC_DIR} + +ENV OPENSSL_ROOT=${OPENSSL_111_DIR} +ENV LD_LIBRARY_PATH=${OPENSSL_ROOT}/lib:$LD_LIBRARY_PATH +ENV PATH="${OPENSSL_111_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_111_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/sid/python/3.6/Makefile b/linux/ecosystem/epicmorg/debian/sid/python/3.6/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/python/3.6/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/sid/python/3.6/docker-compose.yml b/linux/ecosystem/epicmorg/debian/sid/python/3.6/docker-compose.yml new file mode 100644 index 000000000..1c6084513 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/python/3.6/docker-compose.yml @@ -0,0 +1,6 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:sid-python-3.6" + build: + context: . diff --git a/linux/ecosystem/epicmorg/debian/sid/python/3.6/etc/apt/preferences.d/block-python-packages b/linux/ecosystem/epicmorg/debian/sid/python/3.6/etc/apt/preferences.d/block-python-packages new file mode 100644 index 000000000..2b2824a84 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/python/3.6/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/sid/python/3.6/etc/apt/preferences.d/block-python2-packages b/linux/ecosystem/epicmorg/debian/sid/python/3.6/etc/apt/preferences.d/block-python2-packages new file mode 100644 index 000000000..6cb9a2e9d --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/python/3.6/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/sid/python/3.6/etc/apt/preferences.d/block-python3-packages b/linux/ecosystem/epicmorg/debian/sid/python/3.6/etc/apt/preferences.d/block-python3-packages new file mode 100644 index 000000000..eccd7ebc6 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/python/3.6/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/sid/python/3.7/Dockerfile b/linux/ecosystem/epicmorg/debian/sid/python/3.7/Dockerfile new file mode 100644 index 000000000..3cdb3bd7b --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/python/3.7/Dockerfile @@ -0,0 +1,153 @@ +FROM epicmorg/debian:sid-develop as builder + +################################################################## +# Build +################################################################## +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/ + +ENV PYTHON_VERSION=3.7 +ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.17 +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 + +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_111_DIR} +ENV LD_LIBRARY_PATH=${OPENSSL_ROOT}/lib:$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 \ + --with-computed-gotos \ + --with-pydebug \ +# --with-trace-refs \ + --with-assertions \ + --with-valgrind \ +# --with-static-libpython \ +# --with-openssl-rpath=auto \ + --with-openssl=${OPENSSL_111_DIR} \ + SSL=${OPENSSL_111_DIR} \ + CFLAGS="-I${OPENSSL_111_DIR}/include" \ + CPPFLAGS="-I${OPENSSL_111_DIR}/include" \ + PKG_CONFIG_PATH="${OPENSSL_111_DIR}/lib/pkgconfig" \ + LDFLAGS="-L${OPENSSL_111_DIR}/lib -Wl,-rpath,${OPENSSL_111_DIR}/lib" + +RUN make -j$(nproc) && \ + make altinstall + +RUN python${PYTHON_VERSION} -c "import ssl; print(ssl.OPENSSL_VERSION)" + +################################################################## +################################################################## +################################################################## +# Final Layer +################################################################## +################################################################## +################################################################## +FROM epicmorg/debian:sid + +RUN apt-get remove -y python3-pip + +# /etc/ld.so.conf.d/ +ARG LD_CONF_DIR=/etc/ld.so.conf.d/ + +################################################################## +# OpenSSL 1.1.1w +################################################################## +ENV OPENSSL_111_VERSION=1.1.1 +ENV OPENSSL_111_DIR=${EMG_LOCAL_BASE_DIR}/openssl/${OPENSSL_111_VERSION} +ENV OPENSSL_111_BIN_DIR=${OPENSSL_111_DIR}/bin +ENV OPENSSL_111_INC_DIR=${OPENSSL_111_DIR}/include +ENV OPENSSL_111_LIB_DIR=${OPENSSL_111_DIR}/lib +ENV OPENSSL_111_SRC_DIR=/usr/local/src/openssl/${OPENSSL_111_VERSION} + +################################################################## +# Python 3.7 +################################################################## +ENV PYTHON_VERSION=3.7 +ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.17 +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_111_DIR} ${OPENSSL_111_DIR} +COPY --from=builder ${OPENSSL_111_SRC_DIR} ${OPENSSL_111_SRC_DIR} + +ENV OPENSSL_ROOT=${OPENSSL_111_DIR} +ENV LD_LIBRARY_PATH=${OPENSSL_ROOT}/lib:$LD_LIBRARY_PATH +ENV PATH="${OPENSSL_111_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_111_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/sid/python/3.7/Makefile b/linux/ecosystem/epicmorg/debian/sid/python/3.7/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/python/3.7/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/sid/python/3.7/docker-compose.yml b/linux/ecosystem/epicmorg/debian/sid/python/3.7/docker-compose.yml new file mode 100644 index 000000000..c71b38fb8 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/python/3.7/docker-compose.yml @@ -0,0 +1,6 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:sid-python-3.7" + build: + context: . diff --git a/linux/ecosystem/epicmorg/debian/sid/python/3.7/etc/apt/preferences.d/block-python-packages b/linux/ecosystem/epicmorg/debian/sid/python/3.7/etc/apt/preferences.d/block-python-packages new file mode 100644 index 000000000..2b2824a84 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/python/3.7/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/sid/python/3.7/etc/apt/preferences.d/block-python2-packages b/linux/ecosystem/epicmorg/debian/sid/python/3.7/etc/apt/preferences.d/block-python2-packages new file mode 100644 index 000000000..6cb9a2e9d --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/python/3.7/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/sid/python/3.7/etc/apt/preferences.d/block-python3-packages b/linux/ecosystem/epicmorg/debian/sid/python/3.7/etc/apt/preferences.d/block-python3-packages new file mode 100644 index 000000000..eccd7ebc6 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/python/3.7/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/sid/python/3.8/Dockerfile b/linux/ecosystem/epicmorg/debian/sid/python/3.8/Dockerfile new file mode 100644 index 000000000..285c92475 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/python/3.8/Dockerfile @@ -0,0 +1,153 @@ +FROM epicmorg/debian:sid-develop as builder + +################################################################## +# Build +################################################################## +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/ + +ENV PYTHON_VERSION=3.8 +ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.20 +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 + +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_111_DIR} +ENV LD_LIBRARY_PATH=${OPENSSL_ROOT}/lib:$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 \ + --with-computed-gotos \ + --with-pydebug \ + --with-trace-refs \ + --with-assertions \ + --with-valgrind \ +# --with-static-libpython \ +# --with-openssl-rpath=auto \ + --with-openssl=${OPENSSL_111_DIR} \ + SSL=${OPENSSL_111_DIR} \ + CFLAGS="-I${OPENSSL_111_DIR}/include" \ + CPPFLAGS="-I${OPENSSL_111_DIR}/include" \ + PKG_CONFIG_PATH="${OPENSSL_111_DIR}/lib/pkgconfig" \ + LDFLAGS="-L${OPENSSL_111_DIR}/lib -Wl,-rpath,${OPENSSL_111_DIR}/lib" + +RUN make -j$(nproc) && \ + make altinstall + +RUN python${PYTHON_VERSION} -c "import ssl; print(ssl.OPENSSL_VERSION)" + +################################################################## +################################################################## +################################################################## +# Final Layer +################################################################## +################################################################## +################################################################## +FROM epicmorg/debian:sid + +RUN apt-get remove -y python3-pip + +# /etc/ld.so.conf.d/ +ARG LD_CONF_DIR=/etc/ld.so.conf.d/ + +################################################################## +# OpenSSL 1.1.1w +################################################################## +ENV OPENSSL_111_VERSION=1.1.1 +ENV OPENSSL_111_DIR=${EMG_LOCAL_BASE_DIR}/openssl/${OPENSSL_111_VERSION} +ENV OPENSSL_111_BIN_DIR=${OPENSSL_111_DIR}/bin +ENV OPENSSL_111_INC_DIR=${OPENSSL_111_DIR}/include +ENV OPENSSL_111_LIB_DIR=${OPENSSL_111_DIR}/lib +ENV OPENSSL_111_SRC_DIR=/usr/local/src/openssl/${OPENSSL_111_VERSION} + +################################################################## +# Python 3.8 +################################################################## +ENV PYTHON_VERSION=3.8 +ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.20 +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_111_DIR} ${OPENSSL_111_DIR} +COPY --from=builder ${OPENSSL_111_SRC_DIR} ${OPENSSL_111_SRC_DIR} + +ENV OPENSSL_ROOT=${OPENSSL_111_DIR} +ENV LD_LIBRARY_PATH=${OPENSSL_ROOT}/lib:$LD_LIBRARY_PATH +ENV PATH="${OPENSSL_111_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_111_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/sid/python/3.8/Makefile b/linux/ecosystem/epicmorg/debian/sid/python/3.8/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/python/3.8/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/sid/python/3.8/docker-compose.yml b/linux/ecosystem/epicmorg/debian/sid/python/3.8/docker-compose.yml new file mode 100644 index 000000000..1b875658f --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/python/3.8/docker-compose.yml @@ -0,0 +1,6 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:sid-python-3.8" + build: + context: . diff --git a/linux/ecosystem/epicmorg/debian/sid/python/3.8/etc/apt/preferences.d/block-python-packages b/linux/ecosystem/epicmorg/debian/sid/python/3.8/etc/apt/preferences.d/block-python-packages new file mode 100644 index 000000000..2b2824a84 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/python/3.8/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/sid/python/3.8/etc/apt/preferences.d/block-python2-packages b/linux/ecosystem/epicmorg/debian/sid/python/3.8/etc/apt/preferences.d/block-python2-packages new file mode 100644 index 000000000..6cb9a2e9d --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/python/3.8/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/sid/python/3.8/etc/apt/preferences.d/block-python3-packages b/linux/ecosystem/epicmorg/debian/sid/python/3.8/etc/apt/preferences.d/block-python3-packages new file mode 100644 index 000000000..eccd7ebc6 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/python/3.8/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/sid/python/3.9/Dockerfile b/linux/ecosystem/epicmorg/debian/sid/python/3.9/Dockerfile new file mode 100644 index 000000000..faa273a9a --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/python/3.9/Dockerfile @@ -0,0 +1,153 @@ +FROM epicmorg/debian:sid-develop as builder + +################################################################## +# Build +################################################################## +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/ + +ENV PYTHON_VERSION=3.9 +ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.21 +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 + +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_111_DIR} +ENV LD_LIBRARY_PATH=${OPENSSL_ROOT}/lib:$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 \ + --with-computed-gotos \ + --with-pydebug \ + --with-trace-refs \ + --with-assertions \ + --with-valgrind \ +# --with-static-libpython \ +# --with-openssl-rpath=auto \ + --with-openssl=${OPENSSL_111_DIR} \ + SSL=${OPENSSL_111_DIR} \ + CFLAGS="-I${OPENSSL_111_DIR}/include" \ + CPPFLAGS="-I${OPENSSL_111_DIR}/include" \ + PKG_CONFIG_PATH="${OPENSSL_111_DIR}/lib/pkgconfig" \ + LDFLAGS="-L${OPENSSL_111_DIR}/lib -Wl,-rpath,${OPENSSL_111_DIR}/lib" + +RUN make -j$(nproc) && \ + make altinstall + +RUN python${PYTHON_VERSION} -c "import ssl; print(ssl.OPENSSL_VERSION)" + +################################################################## +################################################################## +################################################################## +# Final Layer +################################################################## +################################################################## +################################################################## +FROM epicmorg/debian:sid + +RUN apt-get remove -y python3-pip + +# /etc/ld.so.conf.d/ +ARG LD_CONF_DIR=/etc/ld.so.conf.d/ + +################################################################## +# OpenSSL 1.1.1w +################################################################## +ENV OPENSSL_111_VERSION=1.1.1 +ENV OPENSSL_111_DIR=${EMG_LOCAL_BASE_DIR}/openssl/${OPENSSL_111_VERSION} +ENV OPENSSL_111_BIN_DIR=${OPENSSL_111_DIR}/bin +ENV OPENSSL_111_INC_DIR=${OPENSSL_111_DIR}/include +ENV OPENSSL_111_LIB_DIR=${OPENSSL_111_DIR}/lib +ENV OPENSSL_111_SRC_DIR=/usr/local/src/openssl/${OPENSSL_111_VERSION} + +################################################################## +# Python 3.9 +################################################################## +ENV PYTHON_VERSION=3.9 +ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.21 +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_111_DIR} ${OPENSSL_111_DIR} +COPY --from=builder ${OPENSSL_111_SRC_DIR} ${OPENSSL_111_SRC_DIR} + +ENV OPENSSL_ROOT=${OPENSSL_111_DIR} +ENV LD_LIBRARY_PATH=${OPENSSL_ROOT}/lib:$LD_LIBRARY_PATH +ENV PATH="${OPENSSL_111_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_111_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/sid/python/3.9/Makefile b/linux/ecosystem/epicmorg/debian/sid/python/3.9/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/python/3.9/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/sid/python/3.9/docker-compose.yml b/linux/ecosystem/epicmorg/debian/sid/python/3.9/docker-compose.yml new file mode 100644 index 000000000..ca90cdbe4 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/python/3.9/docker-compose.yml @@ -0,0 +1,6 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:sid-python-3.9" + build: + context: . diff --git a/linux/ecosystem/epicmorg/debian/sid/python/3.9/etc/apt/preferences.d/block-python-packages b/linux/ecosystem/epicmorg/debian/sid/python/3.9/etc/apt/preferences.d/block-python-packages new file mode 100644 index 000000000..2b2824a84 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/python/3.9/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/sid/python/3.9/etc/apt/preferences.d/block-python2-packages b/linux/ecosystem/epicmorg/debian/sid/python/3.9/etc/apt/preferences.d/block-python2-packages new file mode 100644 index 000000000..6cb9a2e9d --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/python/3.9/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/sid/python/3.9/etc/apt/preferences.d/block-python3-packages b/linux/ecosystem/epicmorg/debian/sid/python/3.9/etc/apt/preferences.d/block-python3-packages new file mode 100644 index 000000000..eccd7ebc6 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/python/3.9/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/sid/python/README.md b/linux/ecosystem/epicmorg/debian/sid/python/README.md new file mode 100644 index 000000000..c2cdf75a4 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/python/README.md @@ -0,0 +1,20 @@ +# Version Compablity + +| Python | OpenSSL | Comments | +| ------------- | ------------- | ----------------- | +| 2.6 | Not ready | No pip installed | +| 2.7 | Not ready | | +| 3.0 | 1.0.2u | No pip installed | +| 3.1 | 1.0.2u | No pip installed | +| 3.2 | 1.0.2u | | +| 3.3 | 1.0.2u | | +| 3.4 | 1.0.2u | | +| 3.5 | 1.1.1.1w | | +| 3.6 | 1.1.1.1w | | +| 3.7 | 1.1.1.1w | | +| 3.8 | 1.1.1.1w | | +| 3.9 | 1.1.1.1w | | +| 3.10 | 3.4.x | | +| 3.11 | 3.4.x | | +| 3.12 | 3.4.x | | +| 3.13 | 3.4.x | |