From d1c122243375cc48ee7911379ebe5edaac53845c Mon Sep 17 00:00:00 2001 From: Tianon Gravi Date: Mon, 23 May 2016 14:25:24 -0700 Subject: [PATCH] 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 ``` --- Dockerfile-alpine.template | 11 +++++++++-- Dockerfile-debian.template | 10 ++++------ docker-php-ext-install | 5 ++--- 3 files changed, 15 insertions(+), 11 deletions(-) diff --git a/Dockerfile-alpine.template b/Dockerfile-alpine.template index 368913a8..60491a05 100644 --- a/Dockerfile-alpine.template +++ b/Dockerfile-alpine.template @@ -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 \ diff --git a/Dockerfile-debian.template b/Dockerfile-debian.template index a95b5829..397eee5f 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 89f3aa15..eb2380af 100755 --- a/docker-php-ext-install +++ b/docker-php-ext-install @@ -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