Commit Graph

61 Commits

Author SHA1 Message Date
Tianon Gravi
deb4a80b40 Keep "pecl update-channels" for 8.0 also 2020-11-30 10:04:30 -08:00
James Sansbury
03a9fae331 Update templates. 2020-11-24 09:31:47 -05:00
Tianon Gravi
3dc9a6988d Add "--with-pic" to configure flags (specifically to fix i386)
After looking/comparing at the output of `./configure` for our i386 and amd64 builds against that of Debian's i386 build, our i386 build was the only one of the three to include `checking whether to force non-PIC code in shared modules... yes` (the other two were `no`).

Debian includes `--with-pic`, and we do not.

Looking at the upstream PHP code for this configure check (313a56add0/configure.ac (L241-L256)), this makes total sense, and explains why i386 is the only architecture we see this issue on:

```m4
dnl Disable PIC mode by default where it is known to be safe to do so, to avoid
dnl the performance hit from the lost register.
AC_MSG_CHECKING([whether to force non-PIC code in shared modules])
case $host_alias in
  i?86-*-linux*|i?86-*-freebsd*)
    if test "${with_pic+set}" != "set" || test "$with_pic" = "no"; then
      with_pic=no
      AC_MSG_RESULT(yes)
    else
      AC_MSG_RESULT(no)
    fi
    ;;
  *)
    AC_MSG_RESULT(no)
    ;;
esac
```

This was probably already implied by our `CFLAGS` (and the compiler) on Alpine, but I figured it doesn't hurt to be explicit / consistent.
2020-11-04 17:22:43 -08:00
Joe Ferguson
e12d4c5d46 Drop md5 checksums 2020-10-29 13:51:51 -07:00
Tianon Gravi
165f8ca09c Add initial jq-based templating engine 2020-08-28 15:17:53 -07:00
Tianon Gravi
1daa5daf97 Properly pin all buster dists in stretch-based images 2020-06-22 11:00:40 -07:00
Pierre Grimaud
de3cd259b6 Fix typos 2020-04-26 00:16:34 +02:00
Tianon Gravi
7ccfc9272c Remove "--hash-style=both"
It turns out that --hash-style=gnu is considered better than either of --hash-style=both or --hash-style=sysv, assuming your environment/platform supports it.

On amd64 with both Debian's and Alpine's linkers, --hash-style=gnu is the default.

This is especially relevant on MIPS (mips64le), where "ld: .gnu.hash is incompatible with the MIPS ABI" (so the linker sanely defaults to --hash-style=sysv there, as it should).
2020-04-16 20:49:46 -07:00
Tianon Gravi
88a8a1e14a Add comment to remind us why we added largefile support 2019-10-21 10:36:14 -07:00
Delfer
168caf5849 Enabled large file support (affects 32bit systems)
Build flags added: -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
According to https://www.php.net/manual/en/intro.filesystem.php
2019-10-21 10:33:20 -07:00
Ivan Kurnosov
3a546766fd Always build with external sqlite 2019-10-02 16:05:35 -07:00
Tianon Gravi
a0ce8afda4 Add temporary "freetype-config" workaround for PHP 7.3, 7.2, and 7.1 on buster
See:

- https://github.com/docker-library/php/issues/865
- https://bugs.php.net/bug.php?id=76324
- https://github.com/php/php-src/pull/3632
- 2d03197749

This is not necessary for Debian Stretch (where `freetype-config` still exists) nor PHP 7.4+ (where `pkg-config` is used instead/in addition).
2019-07-19 14:20:04 -07:00
Tianon Gravi
afa08b1838 Replace "stretch" with "buster" for PHP 7.4-rc given the imminent Debian release
Also, ditch Alpine 3.9 on PHP 7.4-rc.
2019-07-01 14:26:08 -07:00
Tianon Gravi
e2331f5270 Add "--with-pear" in 7.4
This means that `pear` and `pecl` will be available for PHP 7.4+, but *will be removed* in PHP 8+ (see https://externals.io/message/103977 for upstream discussion around this deprecation).

I tested the 8+ changes to this script by creating a few fake "8.0" bits in the script itself (fake `possibles` version, etc) and verified that the result is as expected.
2019-06-26 02:29:25 -07:00
Tianon Gravi
250c2d872d Add "set -u" and more consistency 2019-06-24 14:55:17 -07:00
J0WI
82d590a8c7 Use already available curl and consistent code style 2019-06-24 12:55:09 -07:00
Joe Ferguson
d92a953b08 Fix build issues on 7.4.0-alpha1 2019-06-14 14:02:52 -07:00
Joe Ferguson
640a30e8ff Apply 'remove extensions/*.a' to templates and run update.sh 2019-02-14 16:30:31 -08:00
Tianon Gravi
ea377551f7 Adjust "/var/www/html" permissions consistently across variants
The issue speaks for itself:

```console
$ docker run --rm php:apache ls -ld /var/www/html
drwxrwxrwx 2 www-data www-data 4096 Jan 22 21:56 /var/www/html

$ docker run --rm php:fpm ls -ld /var/www/html
drwxr-xr-x 2 root root 4096 Jan 22 22:10 /var/www/html
```
2019-01-31 14:45:15 -08:00
Tianon Gravi
b99209cc07 Update "gpg" invocations to use "--batch"
See https://bugs.debian.org/913614
2018-11-14 12:44:19 -08:00
Tianon Gravi
88189f0168 Ship PHP's example "php.ini-production" and "php.ini-development" files in "$PHP_INI_DIR" 2018-08-27 15:26:42 -07:00
Tianon Gravi
c53a180b78 Swap from "sid" to "buster" and slightly adjust the implementation to match the templating 2018-08-10 14:32:01 -07:00
Tim Düsterhus
e1a4affaa5
Install libargon2 from sid
see: https://github.com/docker-library/php/pull/677#issuecomment-408555320
see: https://travis-ci.org/docker-library/php/jobs/411259094
2018-08-05 01:35:28 +02:00
Tim Düsterhus
1fdbc537ba
Install libargon2 from buster 2018-08-01 14:10:41 +02:00
Tianon Gravi
b250a22ce6 Add "pgp-happy-eyeballs" in Travis to help cut down on gpg-related issues
Also, this removes the not-recommended usage of "travis_retry" and adds "gpgconf --kill all".
2018-06-11 17:01:50 -07:00
Baldinof
c14ef6c61b Enable cgi bin for cli variant 2018-06-11 14:08:44 -07:00
Tianon Gravi
b045ba7c51 Add "--enable-option-checking=fatal" to ./configure invocations 2018-04-30 13:06:26 -07:00
Tianon Gravi
1df2501817 Switch to "--with-mhash" instead (to break less users) 2018-04-26 13:45:14 -07:00
Tianon Gravi
b6c589131a Add "--disable-hash" (so it can be compiled after-the-fact)
This allows for users of the image to `docker-php-ext-configure hash --with-mhash`, for example.
2018-04-19 14:15:39 -07:00
yosifkit
7707290c53
Merge pull request #605 from infosiftr/shared-sodium
Update sodium extension to be shared (so it can be replaced if necessary by users)
2018-03-21 13:34:44 -07:00
Tianon Gravi
fe07cedc05 Update/fix PHPIZE_DEPS comment
Closes #597
2018-03-21 11:23:32 -07:00
Tianon Gravi
604dfc0baf Update sodium extension to be shared (so it can be replaced if necessary by users) 2018-03-21 11:10:03 -07:00
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