mirror of
https://github.com/EpicMorg/docker-scripts.git
synced 2025-02-23 12:01:20 +03:00
compile fPIC for openssl
+ python base images; updated nextcloud images
This commit is contained in:
parent
5180e49c19
commit
88841cd259
@ -22,50 +22,50 @@ jobs:
|
|||||||
- name: Install requirements.txt
|
- name: Install requirements.txt
|
||||||
run: make pip
|
run: make pip
|
||||||
|
|
||||||
- name: "Build and Deploy Advanced Nextcloud 14 Stock Images:"
|
# - name: "Build and Deploy Advanced Nextcloud 14 Stock Images:"
|
||||||
run: cd linux/advanced/nextcloud/pure/14 && pwd && make build && make deploy
|
# run: cd linux/advanced/nextcloud/pure/14 && pwd && make build && make deploy
|
||||||
|
#
|
||||||
- name: "Build and Deploy Advanced Nextcloud 15 Stock Images:"
|
# - name: "Build and Deploy Advanced Nextcloud 15 Stock Images:"
|
||||||
run: cd linux/advanced/nextcloud/pure/15 && pwd && make build && make deploy
|
# run: cd linux/advanced/nextcloud/pure/15 && pwd && make build && make deploy
|
||||||
|
#
|
||||||
- name: "Build and Deploy Advanced Nextcloud 16 Stock Images:"
|
# - name: "Build and Deploy Advanced Nextcloud 16 Stock Images:"
|
||||||
run: cd linux/advanced/nextcloud/pure/16 && pwd && make build && make deploy
|
# run: cd linux/advanced/nextcloud/pure/16 && pwd && make build && make deploy
|
||||||
|
#
|
||||||
- name: "Build and Deploy Advanced Nextcloud 17 Stock Images:"
|
# - name: "Build and Deploy Advanced Nextcloud 17 Stock Images:"
|
||||||
run: cd linux/advanced/nextcloud/pure/17 && pwd && make build && make deploy
|
# run: cd linux/advanced/nextcloud/pure/17 && pwd && make build && make deploy
|
||||||
|
#
|
||||||
- name: "Build and Deploy Advanced Nextcloud 18 Stock Images:"
|
# - name: "Build and Deploy Advanced Nextcloud 18 Stock Images:"
|
||||||
run: cd linux/advanced/nextcloud/pure/18 && pwd && make build && make deploy
|
# run: cd linux/advanced/nextcloud/pure/18 && pwd && make build && make deploy
|
||||||
|
#
|
||||||
- name: Cleanup
|
# - name: Cleanup
|
||||||
run: make docker-clean
|
# run: make docker-clean
|
||||||
|
#
|
||||||
- name: "Build and Deploy Advanced Nextcloud 19 Stock Images:"
|
# - name: "Build and Deploy Advanced Nextcloud 19 Stock Images:"
|
||||||
run: cd linux/advanced/nextcloud/pure/19 && pwd && make build && make deploy
|
# run: cd linux/advanced/nextcloud/pure/19 && pwd && make build && make deploy
|
||||||
|
#
|
||||||
- name: "Build and Deploy Advanced Nextcloud 20 Stock Images:"
|
# - name: "Build and Deploy Advanced Nextcloud 20 Stock Images:"
|
||||||
run: cd linux/advanced/nextcloud/pure/20 && pwd && make build && make deploy
|
# run: cd linux/advanced/nextcloud/pure/20 && pwd && make build && make deploy
|
||||||
|
#
|
||||||
- name: "Build and Deploy Advanced Nextcloud 21 Stock Images:"
|
# - name: "Build and Deploy Advanced Nextcloud 21 Stock Images:"
|
||||||
run: cd linux/advanced/nextcloud/pure/21 && pwd && make build && make deploy
|
# run: cd linux/advanced/nextcloud/pure/21 && pwd && make build && make deploy
|
||||||
|
#
|
||||||
- name: "Build and Deploy Advanced Nextcloud 22 Stock Images:"
|
# - name: "Build and Deploy Advanced Nextcloud 22 Stock Images:"
|
||||||
run: cd linux/advanced/nextcloud/pure/22 && pwd && make build && make deploy
|
# run: cd linux/advanced/nextcloud/pure/22 && pwd && make build && make deploy
|
||||||
|
#
|
||||||
- name: Cleanup
|
# - name: Cleanup
|
||||||
run: make docker-clean
|
# run: make docker-clean
|
||||||
|
#
|
||||||
- name: "Build and Deploy Advanced Nextcloud 23 Stock Images:"
|
# - name: "Build and Deploy Advanced Nextcloud 23 Stock Images:"
|
||||||
run: cd linux/advanced/nextcloud/pure/23 && pwd && make build && make deploy
|
# run: cd linux/advanced/nextcloud/pure/23 && pwd && make build && make deploy
|
||||||
|
#
|
||||||
- name: "Build and Deploy Advanced Nextcloud 24 Stock Images:"
|
# - name: "Build and Deploy Advanced Nextcloud 24 Stock Images:"
|
||||||
run: cd linux/advanced/nextcloud/pure/24 && pwd && make build && make deploy
|
# run: cd linux/advanced/nextcloud/pure/24 && pwd && make build && make deploy
|
||||||
|
#
|
||||||
- name: "Build and Deploy Advanced Nextcloud 25 Stock Images:"
|
# - name: "Build and Deploy Advanced Nextcloud 25 Stock Images:"
|
||||||
run: cd linux/advanced/nextcloud/pure/25 && pwd && make build && make deploy
|
# run: cd linux/advanced/nextcloud/pure/25 && pwd && make build && make deploy
|
||||||
|
#
|
||||||
- name: "Build and Deploy Advanced Nextcloud 26 Stock Images:"
|
# - name: "Build and Deploy Advanced Nextcloud 26 Stock Images:"
|
||||||
run: cd linux/advanced/nextcloud/pure/26 && pwd && make build && make deploy
|
# run: cd linux/advanced/nextcloud/pure/26 && pwd && make build && make deploy
|
||||||
|
|
||||||
- name: "Build and Deploy Advanced Nextcloud 27 Stock Images:"
|
- name: "Build and Deploy Advanced Nextcloud 27 Stock Images:"
|
||||||
run: cd linux/advanced/nextcloud/pure/27 && pwd && make build && make deploy
|
run: cd linux/advanced/nextcloud/pure/27 && pwd && make build && make deploy
|
||||||
@ -102,50 +102,50 @@ jobs:
|
|||||||
- name: Install requirements.txt
|
- name: Install requirements.txt
|
||||||
run: make pip
|
run: make pip
|
||||||
|
|
||||||
- name: "Build and Deploy Advanced Nextcloud 14 Patched Images:"
|
# - name: "Build and Deploy Advanced Nextcloud 14 Patched Images:"
|
||||||
run: cd linux/advanced/nextcloud/patched/14 && pwd && make build && make deploy
|
# run: cd linux/advanced/nextcloud/patched/14 && pwd && make build && make deploy
|
||||||
|
#
|
||||||
- name: "Build and Deploy Advanced Nextcloud 15 Patched Images:"
|
# - name: "Build and Deploy Advanced Nextcloud 15 Patched Images:"
|
||||||
run: cd linux/advanced/nextcloud/patched/15 && pwd && make build && make deploy
|
# run: cd linux/advanced/nextcloud/patched/15 && pwd && make build && make deploy
|
||||||
|
#
|
||||||
- name: "Build and Deploy Advanced Nextcloud 16 Patched Images:"
|
# - name: "Build and Deploy Advanced Nextcloud 16 Patched Images:"
|
||||||
run: cd linux/advanced/nextcloud/patched/16 && pwd && make build && make deploy
|
# run: cd linux/advanced/nextcloud/patched/16 && pwd && make build && make deploy
|
||||||
|
#
|
||||||
- name: "Build and Deploy Advanced Nextcloud 17 Patched Images:"
|
# - name: "Build and Deploy Advanced Nextcloud 17 Patched Images:"
|
||||||
run: cd linux/advanced/nextcloud/patched/17 && pwd && make build && make deploy
|
# run: cd linux/advanced/nextcloud/patched/17 && pwd && make build && make deploy
|
||||||
|
#
|
||||||
- name: "Build and Deploy Advanced Nextcloud 18 Patched Images:"
|
# - name: "Build and Deploy Advanced Nextcloud 18 Patched Images:"
|
||||||
run: cd linux/advanced/nextcloud/patched/18 && pwd && make build && make deploy
|
# run: cd linux/advanced/nextcloud/patched/18 && pwd && make build && make deploy
|
||||||
|
#
|
||||||
- name: "Build and Deploy Advanced Nextcloud 19 Patched Images:"
|
# - name: "Build and Deploy Advanced Nextcloud 19 Patched Images:"
|
||||||
run: cd linux/advanced/nextcloud/patched/19 && pwd && make build && make deploy
|
# run: cd linux/advanced/nextcloud/patched/19 && pwd && make build && make deploy
|
||||||
|
#
|
||||||
- name: Cleanup
|
# - name: Cleanup
|
||||||
run: make docker-clean
|
# run: make docker-clean
|
||||||
|
#
|
||||||
- name: "Build and Deploy Advanced Nextcloud 20 Patched Images:"
|
# - name: "Build and Deploy Advanced Nextcloud 20 Patched Images:"
|
||||||
run: cd linux/advanced/nextcloud/patched/20 && pwd && make build && make deploy
|
# run: cd linux/advanced/nextcloud/patched/20 && pwd && make build && make deploy
|
||||||
|
#
|
||||||
- name: "Build and Deploy Advanced Nextcloud 21 Patched Images:"
|
# - name: "Build and Deploy Advanced Nextcloud 21 Patched Images:"
|
||||||
run: cd linux/advanced/nextcloud/patched/21 && pwd && make build && make deploy
|
# run: cd linux/advanced/nextcloud/patched/21 && pwd && make build && make deploy
|
||||||
|
#
|
||||||
- name: "Build and Deploy Advanced Nextcloud 22 Patched Images:"
|
# - name: "Build and Deploy Advanced Nextcloud 22 Patched Images:"
|
||||||
run: cd linux/advanced/nextcloud/patched/22 && pwd && make build && make deploy
|
# run: cd linux/advanced/nextcloud/patched/22 && pwd && make build && make deploy
|
||||||
|
#
|
||||||
- name: "Build and Deploy Advanced Nextcloud 23 Patched Images:"
|
# - name: "Build and Deploy Advanced Nextcloud 23 Patched Images:"
|
||||||
run: cd linux/advanced/nextcloud/patched/23 && pwd && make build && make deploy
|
# run: cd linux/advanced/nextcloud/patched/23 && pwd && make build && make deploy
|
||||||
|
#
|
||||||
- name: "Build and Deploy Advanced Nextcloud 24 Patched Images:"
|
# - name: "Build and Deploy Advanced Nextcloud 24 Patched Images:"
|
||||||
run: cd linux/advanced/nextcloud/patched/24 && pwd && make build && make deploy
|
# run: cd linux/advanced/nextcloud/patched/24 && pwd && make build && make deploy
|
||||||
|
#
|
||||||
- name: Cleanup
|
# - name: Cleanup
|
||||||
run: make docker-clean
|
# run: make docker-clean
|
||||||
|
#
|
||||||
- name: "Build and Deploy Advanced Nextcloud 25 Patched Images:"
|
# - name: "Build and Deploy Advanced Nextcloud 25 Patched Images:"
|
||||||
run: cd linux/advanced/nextcloud/patched/25 && pwd && make build && make deploy
|
# run: cd linux/advanced/nextcloud/patched/25 && pwd && make build && make deploy
|
||||||
|
#
|
||||||
- name: "Build and Deploy Advanced Nextcloud 26 Patched Images:"
|
# - name: "Build and Deploy Advanced Nextcloud 26 Patched Images:"
|
||||||
run: cd linux/advanced/nextcloud/patched/26 && pwd && make build && make deploy
|
# run: cd linux/advanced/nextcloud/patched/26 && pwd && make build && make deploy
|
||||||
|
|
||||||
- name: "Build and Deploy Advanced Nextcloud 27 Patched Images:"
|
- name: "Build and Deploy Advanced Nextcloud 27 Patched Images:"
|
||||||
run: cd linux/advanced/nextcloud/patched/27 && pwd && make build && make deploy
|
run: cd linux/advanced/nextcloud/patched/27 && pwd && make build && make deploy
|
||||||
|
@ -36,6 +36,16 @@ jobs:
|
|||||||
- name: Cleanup
|
- name: Cleanup
|
||||||
run: make docker-clean
|
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:"
|
- name: "Build and Deploy Debian 12 PHP 5.6 Image:"
|
||||||
|
@ -2,9 +2,10 @@
|
|||||||
## 2025
|
## 2025
|
||||||
* `feb`
|
* `feb`
|
||||||
* added `zabbix` images with `7.2` version
|
* 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.
|
* updated `OpenSSL` versions.
|
||||||
* created draft `python` base images based on `debian 12`.
|
* created `python` base images.
|
||||||
|
* updated `nextcloud` images.
|
||||||
* `jan`
|
* `jan`
|
||||||
* updated `atlassian` images
|
* updated `atlassian` images
|
||||||
* updated some deps in images:
|
* updated some deps in images:
|
||||||
|
133
Makefile
133
Makefile
@ -299,39 +299,39 @@ advanced-zabbix-72-images:
|
|||||||
####################################################################################################################
|
####################################################################################################################
|
||||||
|
|
||||||
advanced-nextcloud-images:
|
advanced-nextcloud-images:
|
||||||
cd `pwd`/linux/advanced/nextcloud/pure/14 && 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/15 && pwd && make build && make deploy
|
||||||
cd `pwd`/linux/advanced/nextcloud/pure/16 && 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/17 && pwd && make build && make deploy
|
||||||
cd `pwd`/linux/advanced/nextcloud/pure/18 && 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/19 && pwd && make build && make deploy
|
||||||
cd `pwd`/linux/advanced/nextcloud/pure/20 && 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/21 && pwd && make build && make deploy
|
||||||
cd `pwd`/linux/advanced/nextcloud/pure/22 && 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/23 && pwd && make build && make deploy
|
||||||
cd `pwd`/linux/advanced/nextcloud/pure/24 && 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/25 && pwd && make build && make deploy
|
||||||
cd `pwd`/linux/advanced/nextcloud/pure/26 && 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/27 && pwd && make build && make deploy
|
||||||
cd `pwd`/linux/advanced/nextcloud/pure/28 && 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/29 && pwd && make build && make deploy
|
||||||
cd `pwd`/linux/advanced/nextcloud/pure/30 && pwd && make build && make deploy
|
cd `pwd`/linux/advanced/nextcloud/pure/30 && pwd && make build && make deploy
|
||||||
|
|
||||||
advanced-nextcloud-patched-images:
|
advanced-nextcloud-patched-images:
|
||||||
cd `pwd`/linux/advanced/nextcloud/patched/14 && 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/15 && pwd && make build && make deploy
|
||||||
cd `pwd`/linux/advanced/nextcloud/patched/16 && 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/17 && pwd && make build && make deploy
|
||||||
cd `pwd`/linux/advanced/nextcloud/patched/18 && 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/19 && pwd && make build && make deploy
|
||||||
cd `pwd`/linux/advanced/nextcloud/patched/20 && 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/21 && pwd && make build && make deploy
|
||||||
cd `pwd`/linux/advanced/nextcloud/patched/22 && 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/23 && pwd && make build && make deploy
|
||||||
cd `pwd`/linux/advanced/nextcloud/patched/24 && 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/25 && pwd && make build && make deploy
|
||||||
cd `pwd`/linux/advanced/nextcloud/patched/26 && 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/27 && pwd && make build && make deploy
|
||||||
cd `pwd`/linux/advanced/nextcloud/patched/28 && 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/29 && pwd && make build && make deploy
|
||||||
cd `pwd`/linux/advanced/nextcloud/patched/30 && 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/main && pwd && make build && make deploy
|
||||||
cd `pwd`/linux/ecosystem/epicmorg/debian/11-bullseye/develop && 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:
|
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/lts && pwd && make build && make deploy
|
||||||
cd `pwd`/linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/sts && 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/main && pwd && make build && make deploy
|
||||||
cd `pwd`/linux/ecosystem/epicmorg/debian/12-bookworm/develop && 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:
|
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/lts && pwd && make build && make deploy
|
||||||
cd `pwd`/linux/ecosystem/epicmorg/debian/12-bookworm/dotnet/sts && 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/main && pwd && make build && make deploy
|
||||||
cd `pwd`/linux/ecosystem/epicmorg/debian/13-trixie/develop && 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:
|
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/lts && pwd && make build && make deploy
|
||||||
cd `pwd`/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/sts && 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/main && pwd && make build && make deploy
|
||||||
cd `pwd`/linux/ecosystem/epicmorg/debian/sid/develop && 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:
|
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/lts && pwd && make build && make deploy
|
||||||
cd `pwd`/linux/ecosystem/epicmorg/debian/sid/dotnet/sts && 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 "=============================================="
|
||||||
@echo "===== Building EpicMorg Python images ====="
|
@echo "===== Building EpicMorg Python images ====="
|
||||||
@echo "=============================================="
|
@echo "=============================================="
|
||||||
cd `pwd`/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.13 && pwd && make build && make deploy
|
make ecosystem-debian-bullseye-python-images
|
||||||
|
make ecosystem-debian-bookworm-python-images
|
||||||
|
make ecosystem-debian-trixie-python-images
|
||||||
|
make ecosystem-debian-sid-python-images
|
||||||
|
@ -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
|
@ -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
|
@ -0,0 +1,6 @@
|
|||||||
|
#version: '3'
|
||||||
|
services:
|
||||||
|
app:
|
||||||
|
image: "epicmorg/debian:bullseye-python-2.6"
|
||||||
|
build:
|
||||||
|
context: .
|
@ -0,0 +1,3 @@
|
|||||||
|
Package: python-*
|
||||||
|
Pin: release *
|
||||||
|
Pin-Priority: -1
|
@ -0,0 +1,3 @@
|
|||||||
|
Package: python2-*
|
||||||
|
Pin: release *
|
||||||
|
Pin-Priority: -1
|
@ -0,0 +1,3 @@
|
|||||||
|
Package: python3-*
|
||||||
|
Pin: release *
|
||||||
|
Pin-Priority: -1
|
@ -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
|
@ -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
|
@ -0,0 +1,6 @@
|
|||||||
|
#version: '3'
|
||||||
|
services:
|
||||||
|
app:
|
||||||
|
image: "epicmorg/debian:bullseye-python-2.7"
|
||||||
|
build:
|
||||||
|
context: .
|
@ -0,0 +1,3 @@
|
|||||||
|
Package: python-*
|
||||||
|
Pin: release *
|
||||||
|
Pin-Priority: -1
|
@ -0,0 +1,3 @@
|
|||||||
|
Package: python2-*
|
||||||
|
Pin: release *
|
||||||
|
Pin-Priority: -1
|
@ -0,0 +1,3 @@
|
|||||||
|
Package: python3-*
|
||||||
|
Pin: release *
|
||||||
|
Pin-Priority: -1
|
@ -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
|
@ -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
|
@ -0,0 +1,6 @@
|
|||||||
|
#version: '3'
|
||||||
|
services:
|
||||||
|
app:
|
||||||
|
image: "epicmorg/debian:bullseye-python-3.0"
|
||||||
|
build:
|
||||||
|
context: .
|
@ -0,0 +1,3 @@
|
|||||||
|
Package: python-*
|
||||||
|
Pin: release *
|
||||||
|
Pin-Priority: -1
|
@ -0,0 +1,3 @@
|
|||||||
|
Package: python2-*
|
||||||
|
Pin: release *
|
||||||
|
Pin-Priority: -1
|
@ -0,0 +1,3 @@
|
|||||||
|
Package: python3-*
|
||||||
|
Pin: release *
|
||||||
|
Pin-Priority: -1
|
@ -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
|
@ -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
|
@ -0,0 +1,6 @@
|
|||||||
|
#version: '3'
|
||||||
|
services:
|
||||||
|
app:
|
||||||
|
image: "epicmorg/debian:bullseye-python-3.1"
|
||||||
|
build:
|
||||||
|
context: .
|
@ -0,0 +1,3 @@
|
|||||||
|
Package: python-*
|
||||||
|
Pin: release *
|
||||||
|
Pin-Priority: -1
|
@ -0,0 +1,3 @@
|
|||||||
|
Package: python2-*
|
||||||
|
Pin: release *
|
||||||
|
Pin-Priority: -1
|
@ -0,0 +1,3 @@
|
|||||||
|
Package: python3-*
|
||||||
|
Pin: release *
|
||||||
|
Pin-Priority: -1
|
@ -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
|
@ -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
|
@ -0,0 +1,6 @@
|
|||||||
|
#version: '3'
|
||||||
|
services:
|
||||||
|
app:
|
||||||
|
image: "epicmorg/debian:bullseye-python-3.10"
|
||||||
|
build:
|
||||||
|
context: .
|
@ -0,0 +1,3 @@
|
|||||||
|
Package: python-*
|
||||||
|
Pin: release *
|
||||||
|
Pin-Priority: -1
|
@ -0,0 +1,3 @@
|
|||||||
|
Package: python2-*
|
||||||
|
Pin: release *
|
||||||
|
Pin-Priority: -1
|
@ -0,0 +1,3 @@
|
|||||||
|
Package: python3-*
|
||||||
|
Pin: release *
|
||||||
|
Pin-Priority: -1
|
@ -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
|
@ -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
|
@ -0,0 +1,6 @@
|
|||||||
|
#version: '3'
|
||||||
|
services:
|
||||||
|
app:
|
||||||
|
image: "epicmorg/debian:bullseye-python-3.11"
|
||||||
|
build:
|
||||||
|
context: .
|
@ -0,0 +1,3 @@
|
|||||||
|
Package: python-*
|
||||||
|
Pin: release *
|
||||||
|
Pin-Priority: -1
|
@ -0,0 +1,3 @@
|
|||||||
|
Package: python2-*
|
||||||
|
Pin: release *
|
||||||
|
Pin-Priority: -1
|
@ -0,0 +1,3 @@
|
|||||||
|
Package: python3-*
|
||||||
|
Pin: release *
|
||||||
|
Pin-Priority: -1
|
@ -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
|
@ -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
|
@ -0,0 +1,6 @@
|
|||||||
|
#version: '3'
|
||||||
|
services:
|
||||||
|
app:
|
||||||
|
image: "epicmorg/debian:bullseye-python-3.12"
|
||||||
|
build:
|
||||||
|
context: .
|
@ -0,0 +1,3 @@
|
|||||||
|
Package: python-*
|
||||||
|
Pin: release *
|
||||||
|
Pin-Priority: -1
|
@ -0,0 +1,3 @@
|
|||||||
|
Package: python2-*
|
||||||
|
Pin: release *
|
||||||
|
Pin-Priority: -1
|
@ -0,0 +1,3 @@
|
|||||||
|
Package: python3-*
|
||||||
|
Pin: release *
|
||||||
|
Pin-Priority: -1
|
@ -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
|
@ -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
|
@ -0,0 +1,6 @@
|
|||||||
|
#version: '3'
|
||||||
|
services:
|
||||||
|
app:
|
||||||
|
image: "epicmorg/debian:bullseye-python-3.13"
|
||||||
|
build:
|
||||||
|
context: .
|
@ -0,0 +1,3 @@
|
|||||||
|
Package: python-*
|
||||||
|
Pin: release *
|
||||||
|
Pin-Priority: -1
|
@ -0,0 +1,3 @@
|
|||||||
|
Package: python2-*
|
||||||
|
Pin: release *
|
||||||
|
Pin-Priority: -1
|
@ -0,0 +1,3 @@
|
|||||||
|
Package: python3-*
|
||||||
|
Pin: release *
|
||||||
|
Pin-Priority: -1
|
@ -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
|
@ -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
|
@ -0,0 +1,6 @@
|
|||||||
|
#version: '3'
|
||||||
|
services:
|
||||||
|
app:
|
||||||
|
image: "epicmorg/debian:bullseye-python-3.2"
|
||||||
|
build:
|
||||||
|
context: .
|
@ -0,0 +1,3 @@
|
|||||||
|
Package: python-*
|
||||||
|
Pin: release *
|
||||||
|
Pin-Priority: -1
|
@ -0,0 +1,3 @@
|
|||||||
|
Package: python2-*
|
||||||
|
Pin: release *
|
||||||
|
Pin-Priority: -1
|
@ -0,0 +1,3 @@
|
|||||||
|
Package: python3-*
|
||||||
|
Pin: release *
|
||||||
|
Pin-Priority: -1
|
@ -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
|
@ -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
|
@ -0,0 +1,6 @@
|
|||||||
|
#version: '3'
|
||||||
|
services:
|
||||||
|
app:
|
||||||
|
image: "epicmorg/debian:bullseye-python-3.3"
|
||||||
|
build:
|
||||||
|
context: .
|
@ -0,0 +1,3 @@
|
|||||||
|
Package: python-*
|
||||||
|
Pin: release *
|
||||||
|
Pin-Priority: -1
|
@ -0,0 +1,3 @@
|
|||||||
|
Package: python2-*
|
||||||
|
Pin: release *
|
||||||
|
Pin-Priority: -1
|
@ -0,0 +1,3 @@
|
|||||||
|
Package: python3-*
|
||||||
|
Pin: release *
|
||||||
|
Pin-Priority: -1
|
@ -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
|
@ -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
|
@ -0,0 +1,6 @@
|
|||||||
|
#version: '3'
|
||||||
|
services:
|
||||||
|
app:
|
||||||
|
image: "epicmorg/debian:bullseye-python-3.4"
|
||||||
|
build:
|
||||||
|
context: .
|
@ -0,0 +1,3 @@
|
|||||||
|
Package: python-*
|
||||||
|
Pin: release *
|
||||||
|
Pin-Priority: -1
|
@ -0,0 +1,3 @@
|
|||||||
|
Package: python2-*
|
||||||
|
Pin: release *
|
||||||
|
Pin-Priority: -1
|
@ -0,0 +1,3 @@
|
|||||||
|
Package: python3-*
|
||||||
|
Pin: release *
|
||||||
|
Pin-Priority: -1
|
@ -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
|
@ -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
|
@ -0,0 +1,6 @@
|
|||||||
|
#version: '3'
|
||||||
|
services:
|
||||||
|
app:
|
||||||
|
image: "epicmorg/debian:bullseye-python-3.5"
|
||||||
|
build:
|
||||||
|
context: .
|
@ -0,0 +1,3 @@
|
|||||||
|
Package: python-*
|
||||||
|
Pin: release *
|
||||||
|
Pin-Priority: -1
|
@ -0,0 +1,3 @@
|
|||||||
|
Package: python2-*
|
||||||
|
Pin: release *
|
||||||
|
Pin-Priority: -1
|
@ -0,0 +1,3 @@
|
|||||||
|
Package: python3-*
|
||||||
|
Pin: release *
|
||||||
|
Pin-Priority: -1
|
@ -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
|
@ -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
|
@ -0,0 +1,6 @@
|
|||||||
|
#version: '3'
|
||||||
|
services:
|
||||||
|
app:
|
||||||
|
image: "epicmorg/debian:bullseye-python-3.6"
|
||||||
|
build:
|
||||||
|
context: .
|
@ -0,0 +1,3 @@
|
|||||||
|
Package: python-*
|
||||||
|
Pin: release *
|
||||||
|
Pin-Priority: -1
|
@ -0,0 +1,3 @@
|
|||||||
|
Package: python2-*
|
||||||
|
Pin: release *
|
||||||
|
Pin-Priority: -1
|
@ -0,0 +1,3 @@
|
|||||||
|
Package: python3-*
|
||||||
|
Pin: release *
|
||||||
|
Pin-Priority: -1
|
@ -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
|
@ -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
|
@ -0,0 +1,6 @@
|
|||||||
|
#version: '3'
|
||||||
|
services:
|
||||||
|
app:
|
||||||
|
image: "epicmorg/debian:bullseye-python-3.7"
|
||||||
|
build:
|
||||||
|
context: .
|
@ -0,0 +1,3 @@
|
|||||||
|
Package: python-*
|
||||||
|
Pin: release *
|
||||||
|
Pin-Priority: -1
|
@ -0,0 +1,3 @@
|
|||||||
|
Package: python2-*
|
||||||
|
Pin: release *
|
||||||
|
Pin-Priority: -1
|
@ -0,0 +1,3 @@
|
|||||||
|
Package: python3-*
|
||||||
|
Pin: release *
|
||||||
|
Pin-Priority: -1
|
@ -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
|
@ -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
|
@ -0,0 +1,6 @@
|
|||||||
|
#version: '3'
|
||||||
|
services:
|
||||||
|
app:
|
||||||
|
image: "epicmorg/debian:bullseye-python-3.8"
|
||||||
|
build:
|
||||||
|
context: .
|
@ -0,0 +1,3 @@
|
|||||||
|
Package: python-*
|
||||||
|
Pin: release *
|
||||||
|
Pin-Priority: -1
|
@ -0,0 +1,3 @@
|
|||||||
|
Package: python2-*
|
||||||
|
Pin: release *
|
||||||
|
Pin-Priority: -1
|
@ -0,0 +1,3 @@
|
|||||||
|
Package: python3-*
|
||||||
|
Pin: release *
|
||||||
|
Pin-Priority: -1
|
@ -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
|
@ -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
|
@ -0,0 +1,6 @@
|
|||||||
|
#version: '3'
|
||||||
|
services:
|
||||||
|
app:
|
||||||
|
image: "epicmorg/debian:bullseye-python-3.9"
|
||||||
|
build:
|
||||||
|
context: .
|
@ -0,0 +1,3 @@
|
|||||||
|
Package: python-*
|
||||||
|
Pin: release *
|
||||||
|
Pin-Priority: -1
|
@ -0,0 +1,3 @@
|
|||||||
|
Package: python2-*
|
||||||
|
Pin: release *
|
||||||
|
Pin-Priority: -1
|
@ -0,0 +1,3 @@
|
|||||||
|
Package: python3-*
|
||||||
|
Pin: release *
|
||||||
|
Pin-Priority: -1
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user