Skip to content

Commit 6586bc1

Browse files
committed
fix: use python3 or python2 for alpine
In alpine3.12, they removed the python package in favor of either python2 or python3. https://wiki.alpinelinux.org/wiki/Release_Notes_for_Alpine_3.12.0#python2_no_longer_provides_python_and_python-devel However, nodejs 12, 10 require python2 for building from source. I added a change in update.sh that swaps out python3 for python2 in those older versions for alpine Dockerfiles. Refs #1330
1 parent 3a5c226 commit 6586bc1

File tree

12 files changed

+27
-11
lines changed

12 files changed

+27
-11
lines changed

10/alpine3.10/Dockerfile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
FROM alpine:3.10
22

33
ENV NODE_VERSION 10.22.1
4+
ENV PYTHON_VERSION python2
45

56
RUN addgroup -g 1000 node \
67
&& adduser -u 1000 -G node -s /bin/sh -D node \
@@ -33,7 +34,7 @@ RUN addgroup -g 1000 node \
3334
libgcc \
3435
linux-headers \
3536
make \
36-
python \
37+
${PYTHON_VERSION} \
3738
# gpg keys listed at https://github.com/nodejs/node#release-keys
3839
&& for key in \
3940
4ED778F539E3634C779C87C6D7062848A1AB005C \

10/alpine3.11/Dockerfile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
FROM alpine:3.11
22

33
ENV NODE_VERSION 10.22.1
4+
ENV PYTHON_VERSION python2
45

56
RUN addgroup -g 1000 node \
67
&& adduser -u 1000 -G node -s /bin/sh -D node \
@@ -33,7 +34,7 @@ RUN addgroup -g 1000 node \
3334
libgcc \
3435
linux-headers \
3536
make \
36-
python \
37+
${PYTHON_VERSION} \
3738
# gpg keys listed at https://github.com/nodejs/node#release-keys
3839
&& for key in \
3940
4ED778F539E3634C779C87C6D7062848A1AB005C \

10/alpine3.9/Dockerfile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
FROM alpine:3.9
22

33
ENV NODE_VERSION 10.22.1
4+
ENV PYTHON_VERSION python2
45

56
RUN addgroup -g 1000 node \
67
&& adduser -u 1000 -G node -s /bin/sh -D node \
@@ -33,7 +34,7 @@ RUN addgroup -g 1000 node \
3334
libgcc \
3435
linux-headers \
3536
make \
36-
python \
37+
${PYTHON_VERSION} \
3738
# gpg keys listed at https://github.com/nodejs/node#release-keys
3839
&& for key in \
3940
4ED778F539E3634C779C87C6D7062848A1AB005C \

12/alpine3.10/Dockerfile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
FROM alpine:3.10
22

33
ENV NODE_VERSION 12.18.4
4+
ENV PYTHON_VERSION python2
45

56
RUN addgroup -g 1000 node \
67
&& adduser -u 1000 -G node -s /bin/sh -D node \
@@ -33,7 +34,7 @@ RUN addgroup -g 1000 node \
3334
libgcc \
3435
linux-headers \
3536
make \
36-
python \
37+
${PYTHON_VERSION} \
3738
# gpg keys listed at https://github.com/nodejs/node#release-keys
3839
&& for key in \
3940
4ED778F539E3634C779C87C6D7062848A1AB005C \

12/alpine3.11/Dockerfile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
FROM alpine:3.11
22

33
ENV NODE_VERSION 12.18.4
4+
ENV PYTHON_VERSION python2
45

56
RUN addgroup -g 1000 node \
67
&& adduser -u 1000 -G node -s /bin/sh -D node \
@@ -33,7 +34,7 @@ RUN addgroup -g 1000 node \
3334
libgcc \
3435
linux-headers \
3536
make \
36-
python \
37+
${PYTHON_VERSION} \
3738
# gpg keys listed at https://github.com/nodejs/node#release-keys
3839
&& for key in \
3940
4ED778F539E3634C779C87C6D7062848A1AB005C \

12/alpine3.12/Dockerfile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
FROM alpine:3.12
22

33
ENV NODE_VERSION 12.18.4
4+
ENV PYTHON_VERSION python2
45

56
RUN addgroup -g 1000 node \
67
&& adduser -u 1000 -G node -s /bin/sh -D node \
@@ -33,7 +34,7 @@ RUN addgroup -g 1000 node \
3334
libgcc \
3435
linux-headers \
3536
make \
36-
python \
37+
${PYTHON_VERSION} \
3738
# gpg keys listed at https://github.com/nodejs/node#release-keys
3839
&& for key in \
3940
4ED778F539E3634C779C87C6D7062848A1AB005C \

12/alpine3.9/Dockerfile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
FROM alpine:3.9
22

33
ENV NODE_VERSION 12.18.4
4+
ENV PYTHON_VERSION python2
45

56
RUN addgroup -g 1000 node \
67
&& adduser -u 1000 -G node -s /bin/sh -D node \
@@ -33,7 +34,7 @@ RUN addgroup -g 1000 node \
3334
libgcc \
3435
linux-headers \
3536
make \
36-
python \
37+
${PYTHON_VERSION} \
3738
# gpg keys listed at https://github.com/nodejs/node#release-keys
3839
&& for key in \
3940
4ED778F539E3634C779C87C6D7062848A1AB005C \

14/alpine3.10/Dockerfile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
FROM alpine:3.10
22

33
ENV NODE_VERSION 14.11.0
4+
ENV PYTHON_VERSION python3
45

56
RUN addgroup -g 1000 node \
67
&& adduser -u 1000 -G node -s /bin/sh -D node \
@@ -33,7 +34,7 @@ RUN addgroup -g 1000 node \
3334
libgcc \
3435
linux-headers \
3536
make \
36-
python \
37+
${PYTHON_VERSION} \
3738
# gpg keys listed at https://github.com/nodejs/node#release-keys
3839
&& for key in \
3940
4ED778F539E3634C779C87C6D7062848A1AB005C \

14/alpine3.11/Dockerfile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
FROM alpine:3.11
22

33
ENV NODE_VERSION 14.11.0
4+
ENV PYTHON_VERSION python3
45

56
RUN addgroup -g 1000 node \
67
&& adduser -u 1000 -G node -s /bin/sh -D node \
@@ -33,7 +34,7 @@ RUN addgroup -g 1000 node \
3334
libgcc \
3435
linux-headers \
3536
make \
36-
python \
37+
${PYTHON_VERSION} \
3738
# gpg keys listed at https://github.com/nodejs/node#release-keys
3839
&& for key in \
3940
4ED778F539E3634C779C87C6D7062848A1AB005C \

14/alpine3.12/Dockerfile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
FROM alpine:3.12
22

33
ENV NODE_VERSION 14.11.0
4+
ENV PYTHON_VERSION python3
45

56
RUN addgroup -g 1000 node \
67
&& adduser -u 1000 -G node -s /bin/sh -D node \
@@ -33,7 +34,7 @@ RUN addgroup -g 1000 node \
3334
libgcc \
3435
linux-headers \
3536
make \
36-
python \
37+
${PYTHON_VERSION} \
3738
# gpg keys listed at https://github.com/nodejs/node#release-keys
3839
&& for key in \
3940
4ED778F539E3634C779C87C6D7062848A1AB005C \

Dockerfile-alpine.template

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
FROM alpine:0.0
22

33
ENV NODE_VERSION 0.0.0
4+
ENV PYTHON_VERSION python3
45

56
RUN addgroup -g 1000 node \
67
&& adduser -u 1000 -G node -s /bin/sh -D node \
@@ -33,7 +34,7 @@ RUN addgroup -g 1000 node \
3334
libgcc \
3435
linux-headers \
3536
make \
36-
python \
37+
${PYTHON_VERSION} \
3738
# gpg keys listed at https://github.com/nodejs/node#release-keys
3839
&& for key in \
3940
"${NODE_KEYS[@]}"

update.sh

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -167,6 +167,11 @@ function update_node_version() {
167167
)\""
168168
sed -Ei -e "s/(alpine:)0.0/\\1${alpine_version}/" "${dockerfile}-tmp"
169169
sed -Ei -e "s/CHECKSUM=CHECKSUM_x64/CHECKSUM=${checksum}/" "${dockerfile}-tmp"
170+
171+
# Replace python3 with python2 for nodejs < 14 on alpine
172+
if [ $version -lt 14 ]; then
173+
sed -Ei -e 's/^(ENV PYTHON_VERSION ).*/\1'"python2"'/' "${dockerfile}-tmp"
174+
fi
170175
elif is_debian "${variant}"; then
171176
sed -Ei -e "s/(buildpack-deps:)name/\\1${variant}/" "${dockerfile}-tmp"
172177
elif is_debian_slim "${variant}"; then

0 commit comments

Comments
 (0)