Commit Graph

29 Commits

Author SHA1 Message Date
Joe Ferguson
fd8e15250a Add libsodium to 7.2+ 2018-02-05 16:06:59 -08:00
Tianon Gravi
b418908d2f Update Debian "libs preserving" code to match Alpine (using "ldd" and "apt-mark" to auto-determine necessary dependencies) 2018-01-03 10:55:13 -08:00
Tianon Gravi
6677546d59 Remove errant extra space character 2017-12-18 14:21:03 -08:00
Tianon Gravi
9596aeb358 Add a link to the PR for future travellers 2017-12-13 17:32:36 -08:00
Tianon Gravi
dbd5d1e03d Block the installation of Debian's PHP packages
This will hopefully help folks with the confusion around installing packages like "php-apcu" and then wondering why they don't actually "work" (because they pull in Debian's PHP, and that's not what this image packages).
2017-12-13 16:14:37 -08:00
Joe Ferguson
223086c062 Use bundled pcre to be closer to upstream and disable pcre-jit on unsupported platforms like s390x 2017-11-28 16:24:49 -08:00
Tianon Gravi
2577f1147b Add Argon2 password hashing
See https://wiki.php.net/rfc/argon2_password_hash

See also a91992745b
2017-11-14 16:36:57 -08:00
Tianon Gravi
bfe2775910 Swap from "gnupg2" to "gnupg"
See https://github.com/docker-library/python/issues/236 for details.
2017-11-01 13:52:53 -07:00
Tianon Gravi
ddc7084c8a Add 7.2.0alpha3 2017-07-10 12:05:50 -07:00
Tianon Gravi
eadc27f12c Account for DEB_BUILD_MULTIARCH vs DEB_BUILD_GNU_TYPE disparity
```
DEB_BUILD_GNU_TYPE=i586-linux-gnu
DEB_BUILD_MULTIARCH=i386-linux-gnu
```
2017-06-12 11:04:00 -07:00
Tianon Gravi
a403050c00 Parameterize Debian Suite 2017-06-09 14:01:24 -07:00
Tianon Gravi
c48c629568 Explicitly invoke "pecl update-channels" at build time to ensure our channel definitions are up-to-date 2017-05-31 15:04:31 -07:00
Joe Ferguson
76a1c5ca16 Sort apt/apk package lines 2017-05-12 13:03:16 -07:00
Eugene Kirillov
87a95b77fb Add PCRE lib to PHPIZE_DEPS 2017-05-12 15:57:15 +03:00
Tianon Gravi
6844e717a5 Add explicit "--build" to our "./configure" invocations 2017-05-10 11:14:13 -07:00
yosifkit
b66c0fa028 Merge pull request #349 from infosiftr/docker-php-entrypoint
Add simple initial entrypoint for supporting "docker run php --flags"
2016-12-15 16:12:25 -08:00
Tianon Gravi
703ba52e0c Add simple initial entrypoint for supporting "docker run php --flags" 2016-12-15 10:36:09 -08:00
Joe Ferguson
bb4874c9af Switch CFLAGS to PHP_CFLAGS, so we can keep pie without breaking users 2016-12-12 15:19:57 -08:00
Joe Ferguson
0311282445 Add explanation for clfags and ldflags 2016-12-05 15:33:53 -08:00
Joe Ferguson
cae3c03efd Add cflags and ldflags for security and portability 2016-12-05 12:47:12 -08:00
Tianon Gravi
23533b7185 Use the appropriate APIs to gather information about releases _and_ pre-releases, and verify as much information about the downloads as is available 2016-10-17 09:09:36 -07:00
Tianon Gravi
2f96a00aaa Use "https" for communications with "php.net" where possible 2016-08-22 15:47:04 -07:00
Tianon Gravi
01ab2f7ff3 Minor whitespace and alphabetizing tweaks 2016-08-09 09:26:03 -07:00
Patrick O'Meara
1d332d0e8f enable-ftp
--enable-ftp as some php function need it compiled statically

fixes docker-library/php#236
2016-08-09 17:45:09 +10:00
Alex Wilson
5842c49fd9
Shuffling around order of optional arguments so as to override default configure options. 2016-07-29 14:52:05 +01:00
yosifkit
1a4763005a Remove extracted php src (#256)
* Remove php src the right way for lightweight containers.

* Adapt docker-php-ext-* scripts to check exts against /available-exts generated file.

* Improve docker-php-source script

 - swap spaces to tabs to match
 - use gnu tar for `--strip-components`
 - cache known extension list in `/usr/src/`
 - remove extra output

* Changes per tianon's comments
2016-07-12 17:12:43 -07:00
Tianon Gravi
d1c1222433 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
```
2016-05-23 14:28:40 -07:00
Tianon Gravi
b694d2529d Explicitly enable "mbstring" by default (since certain pecl bits cannot work properly otherwise) 2016-03-30 09:07:32 -07:00
Tianon Gravi
3bf5b82235 Convert all Dockerfiles to be template-based, and resync a few minor bits of Alpine and Debian (libedit in both, no recode in either, POSIX shell versions of docker-php-ext-* scripts for all) 2016-03-18 10:57:31 -07:00