Skip to content

Commit 8eb5d12

Browse files
committed
Docker: introduce "slim" python images
Closes: #1352
1 parent 5b47542 commit 8eb5d12

File tree

1 file changed

+14
-6
lines changed

1 file changed

+14
-6
lines changed

pkg/docker/Makefile

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ VERSION ?= $(DEFAULT_VERSION)
99
PATCHLEVEL ?= 1
1010

1111
MODULES ?= go jsc node perl php python ruby wasm
12+
MODULES_SLIM ?= python
1213

1314
VARIANT ?= bookworm
1415

@@ -62,6 +63,7 @@ MODULE_PREBUILD_php ?= /bin/true
6263
VERSIONS_python ?= 3.11 3.12
6364
VARIANT_python ?= $(VARIANT)
6465
$(foreach pythonversion, $(VERSIONS_python), $(eval CONTAINER_python$(pythonversion) = python:$(pythonversion)-$(VARIANT_python)))
66+
$(foreach pythonversion, $(VERSIONS_python), $(eval CONTAINER_python$(pythonversion)-slim = python:$(pythonversion)-slim-$(VARIANT_python)))
6567
CONFIGURE_python ?= python --config=/usr/local/bin/python3-config
6668
INSTALL_python ?= python3-install
6769
RUN_python ?= /bin/true
@@ -109,9 +111,11 @@ endef
109111
default:
110112
@echo "valid targets: all build dockerfiles library clean"
111113
112-
MODVERSIONS = $(foreach module, $(MODULES), $(foreach modversion, $(shell for v in $(VERSIONS_$(module)); do echo $$v; done | sort -r), $(module)$(modversion))) wasm minimal
114+
MODVERSIONS = $(foreach module, $(MODULES), $(foreach modversion, $(shell for v in $(VERSIONS_$(module)); do echo $$v; done | sort -r), $(module)$(modversion)))
115+
MODVERSIONS += $(foreach module, $(MODULES_SLIM), $(foreach modversion, $(shell for v in $(VERSIONS_$(module)); do echo $$v; done | sort -r), $(module)$(modversion)-slim))
116+
MODVERSIONS += wasm minimal
113117
114-
modname = $(shell echo $1 | /usr/bin/tr -d '.01234567890-')
118+
modname = $(shell echo $1 | /usr/bin/tr -d '.01234567890-' | sed 's/slim//')
115119
116120
dockerfiles: $(addprefix Dockerfile., $(MODVERSIONS))
117121
build: $(addprefix build-, $(MODVERSIONS))
@@ -141,10 +145,14 @@ library:
141145
@previous=""; \
142146
for mod in $(MODVERSIONS); do \
143147
echo ""; \
144-
modname="$$( echo $$mod | tr -d '.0123456789-' )"; \
145-
TAGS="$$mod $${mod%%.*} $$modname" ; \
148+
modname="$$( echo $$mod | tr -d '.0123456789')"; \
149+
modmajor="$${mod%%.*}"; \
150+
if test "$${mod#*slim}" != "$$mod"; then \
151+
modmajor="$${modmajor}-slim"; \
152+
fi; \
153+
TAGS="$$mod $$modmajor $$modname"; \
146154
TAGS="$$(echo $$TAGS | tr " " "\n" | sort -u -r | tr "\n" "," | sed "s/,/, /g")"; \
147-
if [ "$$previous" = "$$modname" ]; then \
155+
if test "$${previous#*"$$modname"}" != "$$previous"; then \
148156
echo "Tags: $(VERSION)-$$mod, $$mod"; \
149157
else \
150158
if [ "$$mod" = "minimal" ]; then \
@@ -158,7 +166,7 @@ library:
158166
echo "GitCommit: $(shell git describe --always --abbrev=0 HEAD)"; \
159167
echo "Directory: pkg/docker"; \
160168
echo "File: Dockerfile.$$mod"; \
161-
previous=$$(echo $$mod | tr -d '.0123456789-'); \
169+
previous="$$previous $$modname"; \
162170
done
163171
164172
diff: $(addprefix diff-, $(MODVERSIONS))

0 commit comments

Comments
 (0)