Adjust PHPIZE_DEPS logic slightly for better cross-environment consistency (and to allow for folks to set "PHPIZE_DEPS=" in order to disable the additional behavior)

Full diff from before this change, to show the impact of this commit slightly more clearly:

```diff
diff --git a/Dockerfile-alpine.template b/Dockerfile-alpine.template
index c3c3d36..60491a0 100644
--- a/Dockerfile-alpine.template
+++ b/Dockerfile-alpine.template
@@ -1,7 +1,7 @@
 FROM alpine:3.3

-# phpize deps
-RUN apk add --no-cache --virtual .phpize-deps \
+# persistent / runtime deps
+ENV PHPIZE_DEPS \
 		autoconf \
 		file \
 		g++ \
@@ -10,8 +10,6 @@ RUN apk add --no-cache --virtual .phpize-deps \
 		make \
 		pkgconf \
 		re2c
-
-# persistent / runtime deps
 RUN apk add --no-cache --virtual .persistent-deps \
 		ca-certificates \
 		curl
@@ -39,6 +37,7 @@ ENV PHP_SHA256 %%PHP_SHA256%%

 RUN set -xe \
 	&& apk add --no-cache --virtual .build-deps \
+		$PHPIZE_DEPS \
 		curl-dev \
 		gnupg \
 		libedit-dev \
diff --git a/Dockerfile-debian.template b/Dockerfile-debian.template
index a95b582..397eee5 100644
--- a/Dockerfile-debian.template
+++ b/Dockerfile-debian.template
@@ -1,7 +1,7 @@
 FROM debian:jessie

-# phpize deps
-RUN apt-get update && apt-get install -y \
+# persistent / runtime deps
+ENV PHPIZE_DEPS \
 		autoconf \
 		file \
 		g++ \
@@ -9,11 +9,9 @@ RUN apt-get update && apt-get install -y \
 		libc-dev \
 		make \
 		pkg-config \
-		re2c \
-	--no-install-recommends && rm -r /var/lib/apt/lists/*
-
-# persistent / runtime deps
+		re2c
 RUN apt-get update && apt-get install -y \
+		$PHPIZE_DEPS \
 		ca-certificates \
 		curl \
 		libedit2 \
diff --git a/docker-php-ext-install b/docker-php-ext-install
index 67180a8..eb2380a 100755
--- a/docker-php-ext-install
+++ b/docker-php-ext-install
@@ -55,6 +55,10 @@ if [ -z "$exts" ]; then
 	exit 1
 fi

+if [ -e /lib/apk/db/installed ] && [ -n "$PHPIZE_DEPS" ]; then
+	apk add --no-cache --virtual .phpize-deps $PHPIZE_DEPS
+fi
+
 for ext in $exts; do
 	(
 		cd "$ext"
@@ -69,3 +73,7 @@ for ext in $exts; do
 		make -j"$j" clean
 	)
 done
+
+if [ -e /lib/apk/db/installed ] && [ -n "$PHPIZE_DEPS" ]; then
+	apk del .phpize-deps
+fi
```
This commit is contained in:
Tianon Gravi
2016-05-23 14:25:24 -07:00
parent 60a7ce3c28
commit d1c1222433
3 changed files with 15 additions and 11 deletions

View File

@ -1,6 +1,15 @@
FROM alpine:3.3
# persistent / runtime deps
ENV PHPIZE_DEPS \
autoconf \
file \
g++ \
gcc \
libc-dev \
make \
pkgconf \
re2c
RUN apk add --no-cache --virtual .persistent-deps \
ca-certificates \
curl
@ -26,8 +35,6 @@ ENV PHP_VERSION %%PHP_VERSION%%
ENV PHP_FILENAME %%PHP_FILENAME%%
ENV PHP_SHA256 %%PHP_SHA256%%
ENV PHPIZE_DEPS autoconf file g++ gcc libc-dev make pkgconf re2c
RUN set -xe \
&& apk add --no-cache --virtual .build-deps \
$PHPIZE_DEPS \

View File

@ -1,7 +1,7 @@
FROM debian:jessie
# phpize deps
RUN apt-get update && apt-get install -y \
# persistent / runtime deps
ENV PHPIZE_DEPS \
autoconf \
file \
g++ \
@ -9,11 +9,9 @@ RUN apt-get update && apt-get install -y \
libc-dev \
make \
pkg-config \
re2c \
--no-install-recommends && rm -r /var/lib/apt/lists/*
# persistent / runtime deps
re2c
RUN apt-get update && apt-get install -y \
$PHPIZE_DEPS \
ca-certificates \
curl \
libedit2 \

View File

@ -55,8 +55,7 @@ if [ -z "$exts" ]; then
exit 1
fi
: ${PHPIZE_DEPS:="autoconf file g++ gcc libc-dev make pkgconf re2c"}
if [ -e /lib/apk/db/installed ]; then
if [ -e /lib/apk/db/installed ] && [ -n "$PHPIZE_DEPS" ]; then
apk add --no-cache --virtual .phpize-deps $PHPIZE_DEPS
fi
@ -75,6 +74,6 @@ for ext in $exts; do
)
done
if [ -e /lib/apk/db/installed ]; then
if [ -e /lib/apk/db/installed ] && [ -n "$PHPIZE_DEPS" ]; then
apk del .phpize-deps
fi