diff --git a/.github/workflows/php-ci.yml b/.github/workflows/php-ci.yml index 3f204aa6..7d1f0e4c 100644 --- a/.github/workflows/php-ci.yml +++ b/.github/workflows/php-ci.yml @@ -62,14 +62,11 @@ jobs: build: - name: "[ ${{ matrix.version }} ]" + name: "[ PHP-${{ matrix.version }} ]" runs-on: ubuntu-latest strategy: fail-fast: False matrix: - # Adding all targets and only run them if they exist. - # Prevents us from forgetting to update this in case - # we add new envs in terragrunt. version: - '5.2' - '5.3' @@ -88,7 +85,7 @@ jobs: # Checkout repository # ------------------------------------------------------------ - name: Checkout repository - uses: actions/checkout@v1 + uses: actions/checkout@v2 - name: Set variables id: vars @@ -105,7 +102,6 @@ jobs: GIT_SLUG="${GITHUB_REF/refs\/heads\//}" fi fi - # Export variable # # https://help.github.com/en/actions/automating-your-workflow-with-github-actions/development-tools-for-github-actions#set-an-environment-variable-set-env echo ::set-env name=GIT_TYPE::${GIT_TYPE} @@ -121,16 +117,18 @@ jobs: for n in $(seq ${RETRIES}); do echo "[${n}/${RETRIES}] ${*}"; if eval "${*}"; then + echo "[SUCC] ${n}/${RETRIES}"; return 0; fi; - sleep 10; + sleep 2; + echo "[FAIL] ${n}/${RETRIES}"; done; return 1; } retry make build-base VERSION=${VERSION} env: VERSION: ${{ matrix.version }} - RETRIES: 5 + RETRIES: 20 - name: Test Base run: | @@ -138,16 +136,18 @@ jobs: for n in $(seq ${RETRIES}); do echo "[${n}/${RETRIES}] ${*}"; if eval "${*}"; then + echo "[SUCC] ${n}/${RETRIES}"; return 0; fi; - sleep 10; + sleep 2; + echo "[FAIL] ${n}/${RETRIES}"; done; return 1; } retry make test-base VERSION=${VERSION} env: VERSION: ${{ matrix.version }} - RETRIES: 5 + RETRIES: 20 # ------------------------------------------------------------ @@ -159,16 +159,18 @@ jobs: for n in $(seq ${RETRIES}); do echo "[${n}/${RETRIES}] ${*}"; if eval "${*}"; then + echo "[SUCC] ${n}/${RETRIES}"; return 0; fi; - sleep 10; + sleep 2; + echo "[FAIL] ${n}/${RETRIES}"; done; return 1; } retry make build-mods VERSION=${VERSION} env: VERSION: ${{ matrix.version }} - RETRIES: 5 + RETRIES: 20 - name: Test Mods run: | @@ -176,16 +178,18 @@ jobs: for n in $(seq ${RETRIES}); do echo "[${n}/${RETRIES}] ${*}"; if eval "${*}"; then + echo "[SUCC] ${n}/${RETRIES}"; return 0; fi; - sleep 10; + sleep 2; + echo "[FAIL] ${n}/${RETRIES}"; done; return 1; } retry make test-mods VERSION=${VERSION} env: VERSION: ${{ matrix.version }} - RETRIES: 5 + RETRIES: 20 # ------------------------------------------------------------ @@ -197,16 +201,18 @@ jobs: for n in $(seq ${RETRIES}); do echo "[${n}/${RETRIES}] ${*}"; if eval "${*}"; then + echo "[SUCC] ${n}/${RETRIES}"; return 0; fi; - sleep 10; + sleep 2; + echo "[FAIL] ${n}/${RETRIES}"; done; return 1; } retry make build-prod VERSION=${VERSION} env: VERSION: ${{ matrix.version }} - RETRIES: 5 + RETRIES: 20 - name: Test Prod run: | @@ -214,16 +220,18 @@ jobs: for n in $(seq ${RETRIES}); do echo "[${n}/${RETRIES}] ${*}"; if eval "${*}"; then + echo "[SUCC] ${n}/${RETRIES}"; return 0; fi; - sleep 10; + sleep 2; + echo "[FAIL] ${n}/${RETRIES}"; done; return 1; } retry make test-prod VERSION=${VERSION} env: VERSION: ${{ matrix.version }} - RETRIES: 5 + RETRIES: 20 # ------------------------------------------------------------ @@ -235,16 +243,18 @@ jobs: for n in $(seq ${RETRIES}); do echo "[${n}/${RETRIES}] ${*}"; if eval "${*}"; then + echo "[SUCC] ${n}/${RETRIES}"; return 0; fi; - sleep 10; + sleep 2; + echo "[FAIL] ${n}/${RETRIES}"; done; return 1; } retry make build-work VERSION=${VERSION} env: VERSION: ${{ matrix.version }} - RETRIES: 5 + RETRIES: 20 - name: Test Work run: | @@ -252,16 +262,18 @@ jobs: for n in $(seq ${RETRIES}); do echo "[${n}/${RETRIES}] ${*}"; if eval "${*}"; then + echo "[SUCC] ${n}/${RETRIES}"; return 0; fi; - sleep 10; + sleep 2; + echo "[FAIL] ${n}/${RETRIES}"; done; return 1; } retry make test-work VERSION=${VERSION} env: VERSION: ${{ matrix.version }} - RETRIES: 5 + RETRIES: 20 # ------------------------------------------------------------ @@ -278,7 +290,6 @@ jobs: # ------------------------------------------------------------ # Push build artifacts # ------------------------------------------------------------ - # Only run this, if the PR was created by the repo owner - name: Publish images (only repo owner) run: | @@ -286,9 +297,11 @@ jobs: for n in $(seq ${RETRIES}); do echo "[${n}/${RETRIES}] ${*}"; if eval "${*}"; then + echo "[SUCC] ${n}/${RETRIES}"; return 0; fi; - sleep 10; + sleep 2; + echo "[FAIL] ${n}/${RETRIES}"; done; return 1; } @@ -321,7 +334,7 @@ jobs: fi env: VERSION: ${{ matrix.version }} - RETRIES: 5 + RETRIES: 20 # https://help.github.com/en/github/automating-your-workflow-with-github-actions/contexts-and-expression-syntax-for-github-actions#functions if: github.event.pull_request.base.repo.id == github.event.pull_request.head.repo.id && ( diff --git a/.github/workflows/php-nightly.yml b/.github/workflows/php-nightly.yml index 5cd11211..4810a520 100644 --- a/.github/workflows/php-nightly.yml +++ b/.github/workflows/php-nightly.yml @@ -62,14 +62,11 @@ jobs: build: - name: "[ ${{ matrix.version }} ]" + name: "[ PHP-${{ matrix.version }} (ref: ${{ matrix.refs }}) ]" runs-on: ubuntu-latest strategy: fail-fast: False matrix: - # Adding all targets and only run them if they exist. - # Prevents us from forgetting to update this in case - # we add new envs in terragrunt. version: - '5.2' - '5.3' @@ -82,30 +79,34 @@ jobs: - '7.3' - '7.4' - '8.0' + refs: + - 'master' + - '0.111' + - '0.112' steps: # ------------------------------------------------------------ # Checkout repository # ------------------------------------------------------------ - name: Checkout repository - uses: actions/checkout@v1 + uses: actions/checkout@v2 + with: + fetch-depth: 0 + ref: ${{ matrix.refs }} - name: Set variables id: vars run: | # Set git branch or git tag as slug - if [[ ${GITHUB_REF} =~ ^refs\/tags\/ ]]; then + if [ -n "$( git tag --points-at HEAD )" ]; then GIT_TYPE=TAG - GIT_SLUG="${GITHUB_REF/refs\/tags\//}" - else + GIT SLUG="$( git tag --points-at HEAD )" + elif [ "$( git rev-parse --abbrev-ref HEAD )" != "HEAD" ]; then GIT_TYPE=BRANCH - if [ -n "${GITHUB_HEAD_REF}" ]; then - GIT_SLUG="${GITHUB_HEAD_REF}" - else - GIT_SLUG="${GITHUB_REF/refs\/heads\//}" - fi + GIT SLUG="$( git rev-parse --abbrev-ref HEAD )" + else + false fi - # Export variable # # https://help.github.com/en/actions/automating-your-workflow-with-github-actions/development-tools-for-github-actions#set-an-environment-variable-set-env echo ::set-env name=GIT_TYPE::${GIT_TYPE} @@ -121,16 +122,18 @@ jobs: for n in $(seq ${RETRIES}); do echo "[${n}/${RETRIES}] ${*}"; if eval "${*}"; then + echo "[SUCC] ${n}/${RETRIES}"; return 0; fi; - sleep 10; + sleep 2; + echo "[FAIL] ${n}/${RETRIES}"; done; return 1; } retry make build-base VERSION=${VERSION} env: VERSION: ${{ matrix.version }} - RETRIES: 5 + RETRIES: 20 - name: Test Base run: | @@ -138,16 +141,18 @@ jobs: for n in $(seq ${RETRIES}); do echo "[${n}/${RETRIES}] ${*}"; if eval "${*}"; then + echo "[SUCC] ${n}/${RETRIES}"; return 0; fi; - sleep 10; + sleep 2; + echo "[FAIL] ${n}/${RETRIES}"; done; return 1; } retry make test-base VERSION=${VERSION} env: VERSION: ${{ matrix.version }} - RETRIES: 5 + RETRIES: 20 # ------------------------------------------------------------ @@ -159,16 +164,18 @@ jobs: for n in $(seq ${RETRIES}); do echo "[${n}/${RETRIES}] ${*}"; if eval "${*}"; then + echo "[SUCC] ${n}/${RETRIES}"; return 0; fi; - sleep 10; + sleep 2; + echo "[FAIL] ${n}/${RETRIES}"; done; return 1; } retry make build-mods VERSION=${VERSION} env: VERSION: ${{ matrix.version }} - RETRIES: 5 + RETRIES: 20 - name: Test Mods run: | @@ -176,16 +183,18 @@ jobs: for n in $(seq ${RETRIES}); do echo "[${n}/${RETRIES}] ${*}"; if eval "${*}"; then + echo "[SUCC] ${n}/${RETRIES}"; return 0; fi; - sleep 10; + sleep 2; + echo "[FAIL] ${n}/${RETRIES}"; done; return 1; } retry make test-mods VERSION=${VERSION} env: VERSION: ${{ matrix.version }} - RETRIES: 5 + RETRIES: 20 # ------------------------------------------------------------ @@ -197,16 +206,18 @@ jobs: for n in $(seq ${RETRIES}); do echo "[${n}/${RETRIES}] ${*}"; if eval "${*}"; then + echo "[SUCC] ${n}/${RETRIES}"; return 0; fi; - sleep 10; + sleep 2; + echo "[FAIL] ${n}/${RETRIES}"; done; return 1; } retry make build-prod VERSION=${VERSION} env: VERSION: ${{ matrix.version }} - RETRIES: 5 + RETRIES: 20 - name: Test Prod run: | @@ -214,16 +225,18 @@ jobs: for n in $(seq ${RETRIES}); do echo "[${n}/${RETRIES}] ${*}"; if eval "${*}"; then + echo "[SUCC] ${n}/${RETRIES}"; return 0; fi; - sleep 10; + sleep 2; + echo "[FAIL] ${n}/${RETRIES}"; done; return 1; } retry make test-prod VERSION=${VERSION} env: VERSION: ${{ matrix.version }} - RETRIES: 5 + RETRIES: 20 # ------------------------------------------------------------ @@ -235,16 +248,18 @@ jobs: for n in $(seq ${RETRIES}); do echo "[${n}/${RETRIES}] ${*}"; if eval "${*}"; then + echo "[SUCC] ${n}/${RETRIES}"; return 0; fi; - sleep 10; + sleep 2; + echo "[FAIL] ${n}/${RETRIES}"; done; return 1; } retry make build-work VERSION=${VERSION} env: VERSION: ${{ matrix.version }} - RETRIES: 5 + RETRIES: 20 - name: Test Work run: | @@ -252,16 +267,18 @@ jobs: for n in $(seq ${RETRIES}); do echo "[${n}/${RETRIES}] ${*}"; if eval "${*}"; then + echo "[SUCC] ${n}/${RETRIES}"; return 0; fi; - sleep 10; + sleep 2; + echo "[FAIL] ${n}/${RETRIES}"; done; return 1; } retry make test-work VERSION=${VERSION} env: VERSION: ${{ matrix.version }} - RETRIES: 5 + RETRIES: 20 # ------------------------------------------------------------ @@ -278,7 +295,6 @@ jobs: # ------------------------------------------------------------ # Push build artifacts # ------------------------------------------------------------ - # Only run this, if the PR was created by the repo owner - name: Publish images (only repo owner) run: | @@ -286,9 +302,11 @@ jobs: for n in $(seq ${RETRIES}); do echo "[${n}/${RETRIES}] ${*}"; if eval "${*}"; then + echo "[SUCC] ${n}/${RETRIES}"; return 0; fi; - sleep 10; + sleep 2; + echo "[FAIL] ${n}/${RETRIES}"; done; return 1; } @@ -321,7 +339,7 @@ jobs: fi env: VERSION: ${{ matrix.version }} - RETRIES: 5 + RETRIES: 20 # https://help.github.com/en/github/automating-your-workflow-with-github-actions/contexts-and-expression-syntax-for-github-actions#functions if: github.event.pull_request.base.repo.id == github.event.pull_request.head.repo.id && ( diff --git a/.github/workflows/schedule.yml b/.github/workflows/schedule.yml deleted file mode 100644 index 8bc7efc0..00000000 --- a/.github/workflows/schedule.yml +++ /dev/null @@ -1,97 +0,0 @@ ---- - -name: schedule - -on: - schedule: - - cron: '*/5 * * * *' - -jobs: - build: - name: "[ PHP-${{ matrix.version }} (ref: ${{ matrix.refs }}) ]" - runs-on: ubuntu-latest - strategy: - fail-fast: False - matrix: - version: - - '5.2' - - '5.3' - - '5.4' - - '5.5' - - '5.6' - - '7.0' - - '7.1' - - '7.2' - - '7.3' - - '7.4' - - '8.0' - refs: - - 'master' - - '0.110' - steps: - - name: Checkout repository - uses: actions/checkout@v2 - with: - fetch-depth: 0 - ref: ${{ matrix.refs }} - - - name: Show git info - run: | - git branch - git log | head - - - name: Set variables - id: vars - run: | - if [ -n "$( git tag --points-at HEAD )" ]; then - GIT_TYPE=TAG - GIT_SLUG="$( git tag --points-at HEAD )" - elif [ "$( git rev-parse --abbrev-ref HEAD )" != "HEAD" ]; then - GIT_TYPE=BRANCH - GIT_SLUG="$( git rev-parse --abbrev-ref HEAD )" - else - false - fi - echo ::set-env name=GIT_TYPE::${GIT_TYPE} - echo ::set-env name=GIT_SLUG::${GIT_SLUG} - - - name: Publish images (only repo owner) - run: | - retry() { - for n in $(seq ${RETRIES}); do - echo "[${n}/${RETRIES}] ${*}"; - if eval "${*}"; then - return 0; - fi; - sleep 10; - done; - return 1; - } - - # Info output - echo "Git Type: ${GIT_TYPE}" - echo "Git Slug: ${GIT_SLUG}" - # Login - echo "retry make login USER= PASS=" - # Push - if [ "${GIT_TYPE}" = "TAG" ]; then - echo "retry make push-base VERSION=${VERSION}-${GIT_SLUG}" - echo "retry make push-mods VERSION=${VERSION}-${GIT_SLUG}" - echo "retry make push-prod VERSION=${VERSION}-${GIT_SLUG}" - echo "retry make push-work VERSION=${VERSION}-${GIT_SLUG}" - else - if [ "${GIT_SLUG}" = "master" ]; then - echo "retry make push-base VERSION=${VERSION}" - echo "retry make push-mods VERSION=${VERSION}" - echo "retry make push-prod VERSION=${VERSION}" - echo "retry make push-work VERSION=${VERSION}" - else - echo "retry make push-base VERSION=${VERSION}-${GIT_SLUG}" - echo "retry make push-mods VERSION=${VERSION}-${GIT_SLUG}" - echo "retry make push-prod VERSION=${VERSION}-${GIT_SLUG}" - echo "retry make push-work VERSION=${VERSION}-${GIT_SLUG}" - fi - fi - env: - VERSION: ${{ matrix.version }} - RETRIES: 5 diff --git a/.travis.yml b/.travis.yml index 4be21751..21ca3f14 100644 --- a/.travis.yml +++ b/.travis.yml @@ -69,10 +69,6 @@ install: ### Check generation changes, build and test ### before_script: - # Regenerate Dockerfiles and make sure nothing has changed (every stage) - - make gen-dockerfiles - - git diff --quiet || { echo "Build Changes"; git diff; git status; false; } - # Build (multiple tries due to network outages) - retry make build-base VERSION=${PHP} #- retry make test-base VERSION=${PHP} @@ -86,54 +82,50 @@ before_script: - retry make build-work VERSION=${PHP} - retry make test-work VERSION=${PHP} - # Test if PHP modules have changed - - make gen-readme VERSION=${PHP} - - git diff --quiet || { echo "Build Changes"; git diff; git status; false; } - ### ### Push to Dockerhub ### script: - if [ "${TRAVIS_PULL_REQUEST}" == "false" ]; then - make login USERNAME="${DOCKER_USERNAME}" PASSWORD="${DOCKER_PASSWORD}"; + retry make login USERNAME="${DOCKER_USERNAME}" PASSWORD="${DOCKER_PASSWORD}"; if [ "${TRAVIS_BRANCH}" == "master" ]; then echo "Pushing latest"; - make push TAG="${PHP}-base" && - make push TAG="${PHP}-mods" && - make push TAG="${PHP}-prod" && - make push TAG="${PHP}-work"; + retry make push TAG="${PHP}-base" && + retry make push TAG="${PHP}-mods" && + retry make push TAG="${PHP}-prod" && + retry make push TAG="${PHP}-work"; elif [[ ${TRAVIS_BRANCH} =~ ^(release-[.0-9]+)$ ]]; then echo "Pushing branch ${TRAVIS_BRANCH}"; - make tag OLD_TAG="${PHP}-base" NEW_TAG="${PHP}-base-${TRAVIS_BRANCH}" && - make tag OLD_TAG="${PHP}-mods" NEW_TAG="${PHP}-mods-${TRAVIS_BRANCH}" && - make tag OLD_TAG="${PHP}-prod" NEW_TAG="${PHP}-prod-${TRAVIS_BRANCH}" && - make tag OLD_TAG="${PHP}-work" NEW_TAG="${PHP}-work-${TRAVIS_BRANCH}" && - make push TAG="${PHP}-base-${TRAVIS_BRANCH}" && - make push TAG="${PHP}-mods-${TRAVIS_BRANCH}" && - make push TAG="${PHP}-prod-${TRAVIS_BRANCH}" && - make push TAG="${PHP}-work-${TRAVIS_BRANCH}"; + retry make tag OLD_TAG="${PHP}-base" NEW_TAG="${PHP}-base-${TRAVIS_BRANCH}" && + retry make tag OLD_TAG="${PHP}-mods" NEW_TAG="${PHP}-mods-${TRAVIS_BRANCH}" && + retry make tag OLD_TAG="${PHP}-prod" NEW_TAG="${PHP}-prod-${TRAVIS_BRANCH}" && + retry make tag OLD_TAG="${PHP}-work" NEW_TAG="${PHP}-work-${TRAVIS_BRANCH}" && + retry make push TAG="${PHP}-base-${TRAVIS_BRANCH}" && + retry make push TAG="${PHP}-mods-${TRAVIS_BRANCH}" && + retry make push TAG="${PHP}-prod-${TRAVIS_BRANCH}" && + retry make push TAG="${PHP}-work-${TRAVIS_BRANCH}"; elif [ -n "${TRAVIS_TAG}" ]; then echo "Pushing tag ${TRAVIS_TAG}"; - make tag OLD_TAG="${PHP}-base" NEW_TAG="${PHP}-base-${TRAVIS_TAG}" && - make tag OLD_TAG="${PHP}-mods" NEW_TAG="${PHP}-mods-${TRAVIS_TAG}" && - make tag OLD_TAG="${PHP}-prod" NEW_TAG="${PHP}-prod-${TRAVIS_TAG}" && - make tag OLD_TAG="${PHP}-work" NEW_TAG="${PHP}-work-${TRAVIS_TAG}" && - make push TAG="${PHP}-base-${TRAVIS_TAG}" && - make push TAG="${PHP}-mods-${TRAVIS_TAG}" && - make push TAG="${PHP}-prod-${TRAVIS_TAG}" && - make push TAG="${PHP}-work-${TRAVIS_TAG}"; + retry make tag OLD_TAG="${PHP}-base" NEW_TAG="${PHP}-base-${TRAVIS_TAG}" && + retry make tag OLD_TAG="${PHP}-mods" NEW_TAG="${PHP}-mods-${TRAVIS_TAG}" && + retry make tag OLD_TAG="${PHP}-prod" NEW_TAG="${PHP}-prod-${TRAVIS_TAG}" && + retry make tag OLD_TAG="${PHP}-work" NEW_TAG="${PHP}-work-${TRAVIS_TAG}" && + retry make push TAG="${PHP}-base-${TRAVIS_TAG}" && + retry make push TAG="${PHP}-mods-${TRAVIS_TAG}" && + retry make push TAG="${PHP}-prod-${TRAVIS_TAG}" && + retry make push TAG="${PHP}-work-${TRAVIS_TAG}"; elif [ "${TRAVIS_EVENT_TYPE}" = "cron" ]; then if MY_TAG="$( git describe --exact-match "$(git rev-parse HEAD)" 2>/dev/null )"; then echo "Pushing cron tag ${MY_TAG}"; - make tag OLD_TAG="${PHP}-base" NEW_TAG="${PHP}-base-${MY_TAG}" && - make tag OLD_TAG="${PHP}-mods" NEW_TAG="${PHP}-mods-${MY_TAG}" && - make tag OLD_TAG="${PHP}-prod" NEW_TAG="${PHP}-prod-${MY_TAG}" && - make tag OLD_TAG="${PHP}-work" NEW_TAG="${PHP}-work-${MY_TAG}" && - make push TAG="${PHP}-base-${MY_TAG}" && - make push TAG="${PHP}-mods-${MY_TAG}" && - make push TAG="${PHP}-prod-${MY_TAG}" && - make push TAG="${PHP}-work-${MY_TAG}"; + retry make tag OLD_TAG="${PHP}-base" NEW_TAG="${PHP}-base-${MY_TAG}" && + retry make tag OLD_TAG="${PHP}-mods" NEW_TAG="${PHP}-mods-${MY_TAG}" && + retry make tag OLD_TAG="${PHP}-prod" NEW_TAG="${PHP}-prod-${MY_TAG}" && + retry make tag OLD_TAG="${PHP}-work" NEW_TAG="${PHP}-work-${MY_TAG}" && + retry make push TAG="${PHP}-base-${MY_TAG}" && + retry make push TAG="${PHP}-mods-${MY_TAG}" && + retry make push TAG="${PHP}-prod-${MY_TAG}" && + retry make push TAG="${PHP}-work-${MY_TAG}"; fi else echo "Skipping push to dockerhub on normal branches"; diff --git a/CHANGELOG.md b/CHANGELOG.md index 6b055411..5e4679c7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,16 @@ ## Unreleased +## Release 0.112 + +#### Fixed +- Fixes [166](https://github.com/devilbox/docker-php-fpm/issues/166) Missing `locale-gen` binary + +#### Added +- Added vips extension +- Added xlswriter extension + + ## Release 0.111 #### Added diff --git a/Dockerfiles/mods/Dockerfile-5.2 b/Dockerfiles/mods/Dockerfile-5.2 index ff590c89..64e34b5b 100644 --- a/Dockerfiles/mods/Dockerfile-5.2 +++ b/Dockerfiles/mods/Dockerfile-5.2 @@ -561,6 +561,8 @@ LABEL "org.opencontainers.image.description"="PHP-FPM 5.2-mods" ARG EXT_DIR COPY --from=builder ${EXT_DIR}/ ${EXT_DIR}/ COPY --from=builder /usr/local/etc/php/conf.d/ /usr/local/etc/php/conf.d/ +COPY --from=builder /usr/local/bin/ /usr/local/bin/ +COPY --from=builder /usr/local/lib/ /usr/local/lib/ COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/ diff --git a/Dockerfiles/mods/Dockerfile-5.3 b/Dockerfiles/mods/Dockerfile-5.3 index 32214ac8..333bd98f 100644 --- a/Dockerfiles/mods/Dockerfile-5.3 +++ b/Dockerfiles/mods/Dockerfile-5.3 @@ -672,6 +672,8 @@ LABEL "org.opencontainers.image.description"="PHP-FPM 5.3-mods" ARG EXT_DIR COPY --from=builder ${EXT_DIR}/ ${EXT_DIR}/ COPY --from=builder /usr/local/etc/php/conf.d/ /usr/local/etc/php/conf.d/ +COPY --from=builder /usr/local/bin/ /usr/local/bin/ +COPY --from=builder /usr/local/lib/ /usr/local/lib/ COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/ diff --git a/Dockerfiles/mods/Dockerfile-5.4 b/Dockerfiles/mods/Dockerfile-5.4 index 27d93b21..666cb34a 100644 --- a/Dockerfiles/mods/Dockerfile-5.4 +++ b/Dockerfiles/mods/Dockerfile-5.4 @@ -691,6 +691,8 @@ LABEL "org.opencontainers.image.description"="PHP-FPM 5.4-mods" ARG EXT_DIR COPY --from=builder ${EXT_DIR}/ ${EXT_DIR}/ COPY --from=builder /usr/local/etc/php/conf.d/ /usr/local/etc/php/conf.d/ +COPY --from=builder /usr/local/bin/ /usr/local/bin/ +COPY --from=builder /usr/local/lib/ /usr/local/lib/ COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/ diff --git a/Dockerfiles/mods/Dockerfile-5.5 b/Dockerfiles/mods/Dockerfile-5.5 index a159537b..24f1d878 100644 --- a/Dockerfiles/mods/Dockerfile-5.5 +++ b/Dockerfiles/mods/Dockerfile-5.5 @@ -704,6 +704,8 @@ LABEL "org.opencontainers.image.description"="PHP-FPM 5.5-mods" ARG EXT_DIR COPY --from=builder ${EXT_DIR}/ ${EXT_DIR}/ COPY --from=builder /usr/local/etc/php/conf.d/ /usr/local/etc/php/conf.d/ +COPY --from=builder /usr/local/bin/ /usr/local/bin/ +COPY --from=builder /usr/local/lib/ /usr/local/lib/ COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/ diff --git a/Dockerfiles/mods/Dockerfile-5.6 b/Dockerfiles/mods/Dockerfile-5.6 index 4b01ad6a..6cc83002 100644 --- a/Dockerfiles/mods/Dockerfile-5.6 +++ b/Dockerfiles/mods/Dockerfile-5.6 @@ -720,6 +720,8 @@ LABEL "org.opencontainers.image.description"="PHP-FPM 5.6-mods" ARG EXT_DIR COPY --from=builder ${EXT_DIR}/ ${EXT_DIR}/ COPY --from=builder /usr/local/etc/php/conf.d/ /usr/local/etc/php/conf.d/ +COPY --from=builder /usr/local/bin/ /usr/local/bin/ +COPY --from=builder /usr/local/lib/ /usr/local/lib/ COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/ diff --git a/Dockerfiles/mods/Dockerfile-7.0 b/Dockerfiles/mods/Dockerfile-7.0 index 1356589d..e7c47fc6 100644 --- a/Dockerfiles/mods/Dockerfile-7.0 +++ b/Dockerfiles/mods/Dockerfile-7.0 @@ -10,42 +10,57 @@ RUN set -eux \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \ alien \ + fftw-dev \ firebird-dev \ freetds-dev \ ghostscript \ + gobject-introspection \ + gtk-doc-tools \ libaio-dev \ libbz2-dev \ libc-client-dev \ libcurl4-openssl-dev \ libenchant-dev \ libevent-dev \ + libexif-dev \ + libexpat1-dev \ libfbclient2 \ + libfftw3-dev \ libfreetype6-dev \ + libgif-dev \ + libglib2.0-dev \ libgmp-dev \ libib-util \ libicu-dev \ libjpeg-dev \ libkrb5-dev \ libldap2-dev \ + libmagick++-dev \ + libmagickcore-6.q16-dev \ libmagickwand-dev \ libmcrypt-dev \ libmemcached-dev \ libnghttp2-dev \ libpcre3-dev \ libpng-dev \ + libpoppler-glib-dev \ libpq-dev \ libpspell-dev \ librabbitmq-dev \ librdkafka-dev \ librecode-dev \ + librsvg2-dev \ libsasl2-dev \ libsnmp-dev \ libssh2-1-dev \ libssl-dev \ libtidy-dev \ + libtool \ libvpx-dev \ libwebp-dev \ libwebp6 \ + libwebpdemux2 \ + libwebpmux2 \ libxml2-dev \ libxpm-dev \ libxslt-dev \ @@ -659,6 +674,26 @@ RUN set -eux \ && true +# -------------------- Installing PHP Extension: vips -------------------- +RUN set -eux \ + # Generic pre-command + && git clone https://github.com/libvips/libvips /tmp/libvips \ +&& cd /tmp/libvips \ +&& ./autogen.sh \ +&& make -j$(getconf _NPROCESSORS_ONLN) \ +&& make install \ +&& cd /tmp \ +&& rm -rf /tmp/libvips \ + \ + # Installation: Generic + # Type: PECL extension + # Default: Pecl command + && pecl install vips \ + # Enabling + && docker-php-ext-enable vips \ + && true + + # -------------------- Installing PHP Extension: wddx -------------------- RUN set -eux \ # Installation: Generic @@ -698,6 +733,17 @@ RUN set -eux \ && true +# -------------------- Installing PHP Extension: xlswriter -------------------- +RUN set -eux \ + # Installation: Generic + # Type: PECL extension + # Default: Pecl command + && pecl install xlswriter \ + # Enabling + && docker-php-ext-enable xlswriter \ + && true + + # -------------------- Installing PHP Extension: yaml -------------------- RUN set -eux \ # Installation: Version specific @@ -766,6 +812,8 @@ LABEL "org.opencontainers.image.description"="PHP-FPM 7.0-mods" ARG EXT_DIR COPY --from=builder ${EXT_DIR}/ ${EXT_DIR}/ COPY --from=builder /usr/local/etc/php/conf.d/ /usr/local/etc/php/conf.d/ +COPY --from=builder /usr/local/bin/ /usr/local/bin/ +COPY --from=builder /usr/local/lib/ /usr/local/lib/ COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/ @@ -775,29 +823,46 @@ COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/ RUN set -eux \ && DEBIAN_FRONTEND=noninteractive apt-get update -qq \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \ + fftw2 \ ghostscript \ + gir1.2-poppler-0.18 \ + imagemagick-6.q16 \ libaio1 \ libaspell15 \ libc-client2007e \ libenchant1c2a \ + libexif12 \ + libexpat1 \ libfbclient2 \ + libfftw3-3 \ libfreetype6 \ + libgif7 \ + libglib2.0-0 \ libicu57 \ libjpeg62-turbo \ + libmagick++-6.q16-7 \ + libmagick++-6.q16hdri-7 \ + libmagickcore-6.q16-3 \ + libmagickcore-6.q16-3-extra \ libmagickwand-6.q16-3 \ + libmagickwand-6.q16hdri-3 \ libmcrypt4 \ libmemcachedutil2 \ libnghttp2-14 \ libpng16-16 \ + libpoppler-glib8 \ libpq5 \ librabbitmq4 \ librdkafka1 \ librecode0 \ + librsvg2-2 \ libssh2-1 \ libsybdb5 \ libtidy5 \ libvpx4 \ libwebp6 \ + libwebpdemux2 \ + libwebpmux2 \ libxpm4 \ libxslt1.1 \ libyaml-0-2 \ @@ -1004,6 +1069,8 @@ RUN set -eux \ && php-fpm -m | grep -oiE '^tokenizer$' \ && php -m | grep -oiE '^uploadprogress$' \ && php-fpm -m | grep -oiE '^uploadprogress$' \ + && php -m | grep -oiE '^vips$' \ + && php-fpm -m | grep -oiE '^vips$' \ && php -m | grep -oiE '^wddx$' \ && php-fpm -m | grep -oiE '^wddx$' \ && php -m | grep -oiE '^xdebug$' \ @@ -1018,6 +1085,8 @@ RUN set -eux \ && php-fpm -m | grep -oiE '^xmlwriter$' \ && php -m | grep -oiE '^xsl$' \ && php-fpm -m | grep -oiE '^xsl$' \ + && php -m | grep -oiE '^xlswriter$' \ + && php-fpm -m | grep -oiE '^xlswriter$' \ && php -m | grep -oiE '^yaml$' \ && php-fpm -m | grep -oiE '^yaml$' \ && php -m | grep -oiE '^zip$' \ diff --git a/Dockerfiles/mods/Dockerfile-7.1 b/Dockerfiles/mods/Dockerfile-7.1 index f5acc5ab..4f421f60 100644 --- a/Dockerfiles/mods/Dockerfile-7.1 +++ b/Dockerfiles/mods/Dockerfile-7.1 @@ -10,42 +10,58 @@ RUN set -eux \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \ alien \ + fftw-dev \ firebird-dev \ freetds-dev \ ghostscript \ + gobject-introspection \ + gtk-doc-tools \ libaio-dev \ libbz2-dev \ libc-client-dev \ libcurl4-openssl-dev \ libenchant-dev \ libevent-dev \ + libexif-dev \ + libexpat1-dev \ libfbclient2 \ + libfftw3-dev \ libfreetype6-dev \ + libgif-dev \ + libglib2.0-dev \ libgmp-dev \ libib-util \ libicu-dev \ + libimagequant-dev \ libjpeg-dev \ libkrb5-dev \ libldap2-dev \ + libmagick++-dev \ + libmagickcore-6.q16-dev \ libmagickwand-dev \ libmcrypt-dev \ libmemcached-dev \ libnghttp2-dev \ libpcre3-dev \ libpng-dev \ + libpoppler-glib-dev \ libpq-dev \ libpspell-dev \ librabbitmq-dev \ librdkafka-dev \ librecode-dev \ + librsvg2-dev \ libsasl2-dev \ libsnmp-dev \ libssh2-1-dev \ libssl-dev \ libtidy-dev \ + libtool \ libvpx-dev \ libwebp-dev \ libwebp6 \ + libwebpdemux2 \ + libwebpmux3 \ libxml2-dev \ libxpm-dev \ libxslt-dev \ @@ -668,6 +684,26 @@ RUN set -eux \ && true +# -------------------- Installing PHP Extension: vips -------------------- +RUN set -eux \ + # Generic pre-command + && git clone https://github.com/libvips/libvips /tmp/libvips \ +&& cd /tmp/libvips \ +&& ./autogen.sh \ +&& make -j$(getconf _NPROCESSORS_ONLN) \ +&& make install \ +&& cd /tmp \ +&& rm -rf /tmp/libvips \ + \ + # Installation: Generic + # Type: PECL extension + # Default: Pecl command + && pecl install vips \ + # Enabling + && docker-php-ext-enable vips \ + && true + + # -------------------- Installing PHP Extension: wddx -------------------- RUN set -eux \ # Installation: Generic @@ -707,6 +743,17 @@ RUN set -eux \ && true +# -------------------- Installing PHP Extension: xlswriter -------------------- +RUN set -eux \ + # Installation: Generic + # Type: PECL extension + # Default: Pecl command + && pecl install xlswriter \ + # Enabling + && docker-php-ext-enable xlswriter \ + && true + + # -------------------- Installing PHP Extension: yaml -------------------- RUN set -eux \ # Installation: Generic @@ -775,6 +822,8 @@ LABEL "org.opencontainers.image.description"="PHP-FPM 7.1-mods" ARG EXT_DIR COPY --from=builder ${EXT_DIR}/ ${EXT_DIR}/ COPY --from=builder /usr/local/etc/php/conf.d/ /usr/local/etc/php/conf.d/ +COPY --from=builder /usr/local/bin/ /usr/local/bin/ +COPY --from=builder /usr/local/lib/ /usr/local/lib/ COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/ @@ -784,30 +833,48 @@ COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/ RUN set -eux \ && DEBIAN_FRONTEND=noninteractive apt-get update -qq \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \ + fftw2 \ ghostscript \ + gir1.2-poppler-0.18 \ + imagemagick-6.q16 \ libaio1 \ libaspell15 \ libc-client2007e \ libenchant1c2a \ + libexif12 \ + libexpat1 \ libfbclient2 \ + libfftw3-3 \ libfreetype6 \ + libgif7 \ + libglib2.0-0 \ libicu63 \ + libimagequant0 \ libjpeg62-turbo \ + libmagick++-6.q16-8 \ + libmagick++-6.q16hdri-8 \ + libmagickcore-6.q16-6 \ + libmagickcore-6.q16-6-extra \ libmagickwand-6.q16-6 \ + libmagickwand-6.q16hdri-6 \ libmcrypt4 \ libmemcachedutil2 \ libnghttp2-14 \ libpng16-16 \ + libpoppler-glib8 \ libpq5 \ librabbitmq4 \ librdkafka1 \ librecode0 \ + librsvg2-2 \ libssh2-1 \ libsybdb5 \ libtidy5deb1 \ libvpx5 \ libwebp-dev \ libwebp6 \ + libwebpdemux2 \ + libwebpmux3 \ libxpm4 \ libxslt1.1 \ libyaml-0-2 \ @@ -1016,6 +1083,8 @@ RUN set -eux \ && php-fpm -m | grep -oiE '^tokenizer$' \ && php -m | grep -oiE '^uploadprogress$' \ && php-fpm -m | grep -oiE '^uploadprogress$' \ + && php -m | grep -oiE '^vips$' \ + && php-fpm -m | grep -oiE '^vips$' \ && php -m | grep -oiE '^wddx$' \ && php-fpm -m | grep -oiE '^wddx$' \ && php -m | grep -oiE '^xdebug$' \ @@ -1030,6 +1099,8 @@ RUN set -eux \ && php-fpm -m | grep -oiE '^xmlwriter$' \ && php -m | grep -oiE '^xsl$' \ && php-fpm -m | grep -oiE '^xsl$' \ + && php -m | grep -oiE '^xlswriter$' \ + && php-fpm -m | grep -oiE '^xlswriter$' \ && php -m | grep -oiE '^yaml$' \ && php-fpm -m | grep -oiE '^yaml$' \ && php -m | grep -oiE '^zip$' \ diff --git a/Dockerfiles/mods/Dockerfile-7.2 b/Dockerfiles/mods/Dockerfile-7.2 index c0fbed41..1e5e4045 100644 --- a/Dockerfiles/mods/Dockerfile-7.2 +++ b/Dockerfiles/mods/Dockerfile-7.2 @@ -10,42 +10,58 @@ RUN set -eux \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \ alien \ + fftw-dev \ firebird-dev \ freetds-dev \ ghostscript \ + gobject-introspection \ + gtk-doc-tools \ libaio-dev \ libbz2-dev \ libc-client-dev \ libcurl4-openssl-dev \ libenchant-dev \ libevent-dev \ + libexif-dev \ + libexpat1-dev \ libfbclient2 \ + libfftw3-dev \ libfreetype6-dev \ + libgif-dev \ + libglib2.0-dev \ libgmp-dev \ libib-util \ libicu-dev \ + libimagequant-dev \ libjpeg-dev \ libkrb5-dev \ libldap2-dev \ + libmagick++-dev \ + libmagickcore-6.q16-dev \ libmagickwand-dev \ libmcrypt-dev \ libmemcached-dev \ libnghttp2-dev \ libpcre3-dev \ libpng-dev \ + libpoppler-glib-dev \ libpq-dev \ libpspell-dev \ librabbitmq-dev \ librdkafka-dev \ librecode-dev \ + librsvg2-dev \ libsasl2-dev \ libsnmp-dev \ libssh2-1-dev \ libssl-dev \ libtidy-dev \ + libtool \ libvpx-dev \ libwebp-dev \ libwebp6 \ + libwebpdemux2 \ + libwebpmux3 \ libxml2-dev \ libxpm-dev \ libxslt-dev \ @@ -672,6 +688,26 @@ RUN set -eux \ && true +# -------------------- Installing PHP Extension: vips -------------------- +RUN set -eux \ + # Generic pre-command + && git clone https://github.com/libvips/libvips /tmp/libvips \ +&& cd /tmp/libvips \ +&& ./autogen.sh \ +&& make -j$(getconf _NPROCESSORS_ONLN) \ +&& make install \ +&& cd /tmp \ +&& rm -rf /tmp/libvips \ + \ + # Installation: Generic + # Type: PECL extension + # Default: Pecl command + && pecl install vips \ + # Enabling + && docker-php-ext-enable vips \ + && true + + # -------------------- Installing PHP Extension: wddx -------------------- RUN set -eux \ # Installation: Generic @@ -711,6 +747,17 @@ RUN set -eux \ && true +# -------------------- Installing PHP Extension: xlswriter -------------------- +RUN set -eux \ + # Installation: Generic + # Type: PECL extension + # Default: Pecl command + && pecl install xlswriter \ + # Enabling + && docker-php-ext-enable xlswriter \ + && true + + # -------------------- Installing PHP Extension: yaml -------------------- RUN set -eux \ # Installation: Generic @@ -779,6 +826,8 @@ LABEL "org.opencontainers.image.description"="PHP-FPM 7.2-mods" ARG EXT_DIR COPY --from=builder ${EXT_DIR}/ ${EXT_DIR}/ COPY --from=builder /usr/local/etc/php/conf.d/ /usr/local/etc/php/conf.d/ +COPY --from=builder /usr/local/bin/ /usr/local/bin/ +COPY --from=builder /usr/local/lib/ /usr/local/lib/ COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/ @@ -788,30 +837,48 @@ COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/ RUN set -eux \ && DEBIAN_FRONTEND=noninteractive apt-get update -qq \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \ + fftw2 \ ghostscript \ + gir1.2-poppler-0.18 \ + imagemagick-6.q16 \ libaio1 \ libaspell15 \ libc-client2007e \ libenchant1c2a \ + libexif12 \ + libexpat1 \ libfbclient2 \ + libfftw3-3 \ libfreetype6 \ + libgif7 \ + libglib2.0-0 \ libicu63 \ + libimagequant0 \ libjpeg62-turbo \ + libmagick++-6.q16-8 \ + libmagick++-6.q16hdri-8 \ + libmagickcore-6.q16-6 \ + libmagickcore-6.q16-6-extra \ libmagickwand-6.q16-6 \ + libmagickwand-6.q16hdri-6 \ libmcrypt4 \ libmemcachedutil2 \ libnghttp2-14 \ libpng16-16 \ + libpoppler-glib8 \ libpq5 \ librabbitmq4 \ librdkafka1 \ librecode0 \ + librsvg2-2 \ libssh2-1 \ libsybdb5 \ libtidy5deb1 \ libvpx5 \ libwebp-dev \ libwebp6 \ + libwebpdemux2 \ + libwebpmux3 \ libxpm4 \ libxslt1.1 \ libyaml-0-2 \ @@ -1022,6 +1089,8 @@ RUN set -eux \ && php-fpm -m | grep -oiE '^tokenizer$' \ && php -m | grep -oiE '^uploadprogress$' \ && php-fpm -m | grep -oiE '^uploadprogress$' \ + && php -m | grep -oiE '^vips$' \ + && php-fpm -m | grep -oiE '^vips$' \ && php -m | grep -oiE '^wddx$' \ && php-fpm -m | grep -oiE '^wddx$' \ && php -m | grep -oiE '^xdebug$' \ @@ -1036,6 +1105,8 @@ RUN set -eux \ && php-fpm -m | grep -oiE '^xmlwriter$' \ && php -m | grep -oiE '^xsl$' \ && php-fpm -m | grep -oiE '^xsl$' \ + && php -m | grep -oiE '^xlswriter$' \ + && php-fpm -m | grep -oiE '^xlswriter$' \ && php -m | grep -oiE '^yaml$' \ && php-fpm -m | grep -oiE '^yaml$' \ && php -m | grep -oiE '^zip$' \ diff --git a/Dockerfiles/mods/Dockerfile-7.3 b/Dockerfiles/mods/Dockerfile-7.3 index a50039ea..af258592 100644 --- a/Dockerfiles/mods/Dockerfile-7.3 +++ b/Dockerfiles/mods/Dockerfile-7.3 @@ -10,42 +10,58 @@ RUN set -eux \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \ alien \ + fftw-dev \ firebird-dev \ freetds-dev \ ghostscript \ + gobject-introspection \ + gtk-doc-tools \ libaio-dev \ libbz2-dev \ libc-client-dev \ libcurl4-openssl-dev \ libenchant-dev \ libevent-dev \ + libexif-dev \ + libexpat1-dev \ libfbclient2 \ + libfftw3-dev \ libfreetype6-dev \ + libgif-dev \ + libglib2.0-dev \ libgmp-dev \ libib-util \ libicu-dev \ + libimagequant-dev \ libjpeg-dev \ libkrb5-dev \ libldap2-dev \ + libmagick++-dev \ + libmagickcore-6.q16-dev \ libmagickwand-dev \ libmcrypt-dev \ libmemcached-dev \ libnghttp2-dev \ libpcre3-dev \ libpng-dev \ + libpoppler-glib-dev \ libpq-dev \ libpspell-dev \ librabbitmq-dev \ librdkafka-dev \ librecode-dev \ + librsvg2-dev \ libsasl2-dev \ libsnmp-dev \ libssh2-1-dev \ libssl-dev \ libtidy-dev \ + libtool \ libvpx-dev \ libwebp-dev \ libwebp6 \ + libwebpdemux2 \ + libwebpmux3 \ libxml2-dev \ libxpm-dev \ libxslt-dev \ @@ -672,6 +688,26 @@ RUN set -eux \ && true +# -------------------- Installing PHP Extension: vips -------------------- +RUN set -eux \ + # Generic pre-command + && git clone https://github.com/libvips/libvips /tmp/libvips \ +&& cd /tmp/libvips \ +&& ./autogen.sh \ +&& make -j$(getconf _NPROCESSORS_ONLN) \ +&& make install \ +&& cd /tmp \ +&& rm -rf /tmp/libvips \ + \ + # Installation: Generic + # Type: PECL extension + # Default: Pecl command + && pecl install vips \ + # Enabling + && docker-php-ext-enable vips \ + && true + + # -------------------- Installing PHP Extension: wddx -------------------- RUN set -eux \ # Installation: Generic @@ -711,6 +747,17 @@ RUN set -eux \ && true +# -------------------- Installing PHP Extension: xlswriter -------------------- +RUN set -eux \ + # Installation: Generic + # Type: PECL extension + # Default: Pecl command + && pecl install xlswriter \ + # Enabling + && docker-php-ext-enable xlswriter \ + && true + + # -------------------- Installing PHP Extension: yaml -------------------- RUN set -eux \ # Installation: Generic @@ -779,6 +826,8 @@ LABEL "org.opencontainers.image.description"="PHP-FPM 7.3-mods" ARG EXT_DIR COPY --from=builder ${EXT_DIR}/ ${EXT_DIR}/ COPY --from=builder /usr/local/etc/php/conf.d/ /usr/local/etc/php/conf.d/ +COPY --from=builder /usr/local/bin/ /usr/local/bin/ +COPY --from=builder /usr/local/lib/ /usr/local/lib/ COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/ @@ -788,30 +837,48 @@ COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/ RUN set -eux \ && DEBIAN_FRONTEND=noninteractive apt-get update -qq \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \ + fftw2 \ ghostscript \ + gir1.2-poppler-0.18 \ + imagemagick-6.q16 \ libaio1 \ libaspell15 \ libc-client2007e \ libenchant1c2a \ + libexif12 \ + libexpat1 \ libfbclient2 \ + libfftw3-3 \ libfreetype6 \ + libgif7 \ + libglib2.0-0 \ libicu63 \ + libimagequant0 \ libjpeg62-turbo \ + libmagick++-6.q16-8 \ + libmagick++-6.q16hdri-8 \ + libmagickcore-6.q16-6 \ + libmagickcore-6.q16-6-extra \ libmagickwand-6.q16-6 \ + libmagickwand-6.q16hdri-6 \ libmcrypt4 \ libmemcachedutil2 \ libnghttp2-14 \ libpng16-16 \ + libpoppler-glib8 \ libpq5 \ librabbitmq4 \ librdkafka1 \ librecode0 \ + librsvg2-2 \ libssh2-1 \ libsybdb5 \ libtidy5deb1 \ libvpx5 \ libwebp-dev \ libwebp6 \ + libwebpdemux2 \ + libwebpmux3 \ libxpm4 \ libxslt1.1 \ libyaml-0-2 \ @@ -1022,6 +1089,8 @@ RUN set -eux \ && php-fpm -m | grep -oiE '^tokenizer$' \ && php -m | grep -oiE '^uploadprogress$' \ && php-fpm -m | grep -oiE '^uploadprogress$' \ + && php -m | grep -oiE '^vips$' \ + && php-fpm -m | grep -oiE '^vips$' \ && php -m | grep -oiE '^wddx$' \ && php-fpm -m | grep -oiE '^wddx$' \ && php -m | grep -oiE '^xdebug$' \ @@ -1036,6 +1105,8 @@ RUN set -eux \ && php-fpm -m | grep -oiE '^xmlwriter$' \ && php -m | grep -oiE '^xsl$' \ && php-fpm -m | grep -oiE '^xsl$' \ + && php -m | grep -oiE '^xlswriter$' \ + && php-fpm -m | grep -oiE '^xlswriter$' \ && php -m | grep -oiE '^yaml$' \ && php-fpm -m | grep -oiE '^yaml$' \ && php -m | grep -oiE '^zip$' \ diff --git a/Dockerfiles/mods/Dockerfile-7.4 b/Dockerfiles/mods/Dockerfile-7.4 index 81d76c48..b71d6512 100644 --- a/Dockerfiles/mods/Dockerfile-7.4 +++ b/Dockerfiles/mods/Dockerfile-7.4 @@ -10,42 +10,58 @@ RUN set -eux \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \ alien \ + fftw-dev \ firebird-dev \ freetds-dev \ ghostscript \ + gobject-introspection \ + gtk-doc-tools \ libaio-dev \ libbz2-dev \ libc-client-dev \ libcurl4-openssl-dev \ libenchant-dev \ libevent-dev \ + libexif-dev \ + libexpat1-dev \ libfbclient2 \ libffi-dev \ + libfftw3-dev \ libfreetype6-dev \ + libgif-dev \ + libglib2.0-dev \ libgmp-dev \ libib-util \ libicu-dev \ + libimagequant-dev \ libjpeg-dev \ libkrb5-dev \ libldap2-dev \ + libmagick++-dev \ + libmagickcore-6.q16-dev \ libmagickwand-dev \ libmcrypt-dev \ libmemcached-dev \ libnghttp2-dev \ libpcre3-dev \ libpng-dev \ + libpoppler-glib-dev \ libpq-dev \ libpspell-dev \ librabbitmq-dev \ librdkafka-dev \ + librsvg2-dev \ libsasl2-dev \ libsnmp-dev \ libssh2-1-dev \ libssl-dev \ libtidy-dev \ + libtool \ libvpx-dev \ libwebp-dev \ libwebp6 \ + libwebpdemux2 \ + libwebpmux3 \ libxml2-dev \ libxpm-dev \ libxslt-dev \ @@ -635,6 +651,26 @@ RUN set -eux \ && true +# -------------------- Installing PHP Extension: vips -------------------- +RUN set -eux \ + # Generic pre-command + && git clone https://github.com/libvips/libvips /tmp/libvips \ +&& cd /tmp/libvips \ +&& ./autogen.sh \ +&& make -j$(getconf _NPROCESSORS_ONLN) \ +&& make install \ +&& cd /tmp \ +&& rm -rf /tmp/libvips \ + \ + # Installation: Generic + # Type: PECL extension + # Default: Pecl command + && pecl install vips \ + # Enabling + && docker-php-ext-enable vips \ + && true + + # -------------------- Installing PHP Extension: xdebug -------------------- RUN set -eux \ # Installation: Generic @@ -665,6 +701,17 @@ RUN set -eux \ && true +# -------------------- Installing PHP Extension: xlswriter -------------------- +RUN set -eux \ + # Installation: Generic + # Type: PECL extension + # Default: Pecl command + && pecl install xlswriter \ + # Enabling + && docker-php-ext-enable xlswriter \ + && true + + # -------------------- Installing PHP Extension: yaml -------------------- RUN set -eux \ # Installation: Generic @@ -734,6 +781,8 @@ LABEL "org.opencontainers.image.description"="PHP-FPM 7.4-mods" ARG EXT_DIR COPY --from=builder ${EXT_DIR}/ ${EXT_DIR}/ COPY --from=builder /usr/local/etc/php/conf.d/ /usr/local/etc/php/conf.d/ +COPY --from=builder /usr/local/bin/ /usr/local/bin/ +COPY --from=builder /usr/local/lib/ /usr/local/lib/ COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/ @@ -743,30 +792,48 @@ COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/ RUN set -eux \ && DEBIAN_FRONTEND=noninteractive apt-get update -qq \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \ + fftw2 \ ghostscript \ + gir1.2-poppler-0.18 \ + imagemagick-6.q16 \ libaio1 \ libaspell15 \ libc-client2007e \ libenchant1c2a \ + libexif12 \ + libexpat1 \ libfbclient2 \ libffi6 \ + libfftw3-3 \ libfreetype6 \ + libgif7 \ + libglib2.0-0 \ libicu63 \ + libimagequant0 \ libjpeg62-turbo \ + libmagick++-6.q16-8 \ + libmagick++-6.q16hdri-8 \ + libmagickcore-6.q16-6 \ + libmagickcore-6.q16-6-extra \ libmagickwand-6.q16-6 \ + libmagickwand-6.q16hdri-6 \ libmcrypt4 \ libmemcachedutil2 \ libnghttp2-14 \ libpng16-16 \ + libpoppler-glib8 \ libpq5 \ librabbitmq4 \ librdkafka1 \ + librsvg2-2 \ libssh2-1 \ libsybdb5 \ libtidy5deb1 \ libvpx5 \ libwebp-dev \ libwebp6 \ + libwebpdemux2 \ + libwebpmux3 \ libxpm4 \ libxslt1.1 \ libyaml-0-2 \ @@ -970,6 +1037,8 @@ RUN set -eux \ && php-fpm -m | grep -oiE '^tokenizer$' \ && php -m | grep -oiE '^uploadprogress$' \ && php-fpm -m | grep -oiE '^uploadprogress$' \ + && php -m | grep -oiE '^vips$' \ + && php-fpm -m | grep -oiE '^vips$' \ && php -m | grep -oiE '^xdebug$' \ && php-fpm -m | grep -oiE '^xdebug$' \ && php -m | grep -oiE '^xml$' \ @@ -982,6 +1051,8 @@ RUN set -eux \ && php-fpm -m | grep -oiE '^xmlwriter$' \ && php -m | grep -oiE '^xsl$' \ && php-fpm -m | grep -oiE '^xsl$' \ + && php -m | grep -oiE '^xlswriter$' \ + && php-fpm -m | grep -oiE '^xlswriter$' \ && php -m | grep -oiE '^yaml$' \ && php-fpm -m | grep -oiE '^yaml$' \ && php -m | grep -oiE '^zip$' \ diff --git a/Dockerfiles/mods/Dockerfile-8.0 b/Dockerfiles/mods/Dockerfile-8.0 index 0ec85d2e..ae5281c4 100644 --- a/Dockerfiles/mods/Dockerfile-8.0 +++ b/Dockerfiles/mods/Dockerfile-8.0 @@ -494,6 +494,8 @@ LABEL "org.opencontainers.image.description"="PHP-FPM 8.0-mods" ARG EXT_DIR COPY --from=builder ${EXT_DIR}/ ${EXT_DIR}/ COPY --from=builder /usr/local/etc/php/conf.d/ /usr/local/etc/php/conf.d/ +COPY --from=builder /usr/local/bin/ /usr/local/bin/ +COPY --from=builder /usr/local/lib/ /usr/local/lib/ COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/ diff --git a/Dockerfiles/work/Dockerfile-5.2 b/Dockerfiles/work/Dockerfile-5.2 index b7f42a85..c7a459c4 100644 --- a/Dockerfiles/work/Dockerfile-5.2 +++ b/Dockerfiles/work/Dockerfile-5.2 @@ -85,6 +85,7 @@ RUN set -eux \ libffi-dev \ libssl-dev \ libyaml-dev \ + locales \ make \ mongodb-org-shell \ mongodb-org-tools \ diff --git a/Dockerfiles/work/Dockerfile-5.3 b/Dockerfiles/work/Dockerfile-5.3 index 7f48dddd..e79513d2 100644 --- a/Dockerfiles/work/Dockerfile-5.3 +++ b/Dockerfiles/work/Dockerfile-5.3 @@ -85,6 +85,7 @@ RUN set -eux \ libffi-dev \ libssl-dev \ libyaml-dev \ + locales \ make \ mongodb-org-shell \ mongodb-org-tools \ diff --git a/Dockerfiles/work/Dockerfile-5.4 b/Dockerfiles/work/Dockerfile-5.4 index 62697aa2..74a148b4 100644 --- a/Dockerfiles/work/Dockerfile-5.4 +++ b/Dockerfiles/work/Dockerfile-5.4 @@ -85,6 +85,7 @@ RUN set -eux \ libffi-dev \ libssl-dev \ libyaml-dev \ + locales \ make \ mongodb-org-shell \ mongodb-org-tools \ diff --git a/Dockerfiles/work/Dockerfile-5.5 b/Dockerfiles/work/Dockerfile-5.5 index b4875a98..1286a3b2 100644 --- a/Dockerfiles/work/Dockerfile-5.5 +++ b/Dockerfiles/work/Dockerfile-5.5 @@ -85,6 +85,7 @@ RUN set -eux \ libffi-dev \ libssl-dev \ libyaml-dev \ + locales \ make \ mongodb-org-shell \ mongodb-org-tools \ diff --git a/Dockerfiles/work/Dockerfile-5.6 b/Dockerfiles/work/Dockerfile-5.6 index 4ee91bb3..61d3a0ca 100644 --- a/Dockerfiles/work/Dockerfile-5.6 +++ b/Dockerfiles/work/Dockerfile-5.6 @@ -85,6 +85,7 @@ RUN set -eux \ libffi-dev \ libssl-dev \ libyaml-dev \ + locales \ make \ mongodb-org-shell \ mongodb-org-tools \ diff --git a/Dockerfiles/work/Dockerfile-7.0 b/Dockerfiles/work/Dockerfile-7.0 index 93ddaf25..b7ee845e 100644 --- a/Dockerfiles/work/Dockerfile-7.0 +++ b/Dockerfiles/work/Dockerfile-7.0 @@ -85,6 +85,7 @@ RUN set -eux \ libffi-dev \ libssl-dev \ libyaml-dev \ + locales \ make \ mongodb-org-shell \ mongodb-org-tools \ diff --git a/Dockerfiles/work/Dockerfile-7.1 b/Dockerfiles/work/Dockerfile-7.1 index b75ac18c..3069fa66 100644 --- a/Dockerfiles/work/Dockerfile-7.1 +++ b/Dockerfiles/work/Dockerfile-7.1 @@ -85,6 +85,7 @@ RUN set -eux \ libffi-dev \ libssl-dev \ libyaml-dev \ + locales \ make \ mongodb-org-shell \ mongodb-org-tools \ diff --git a/Dockerfiles/work/Dockerfile-7.2 b/Dockerfiles/work/Dockerfile-7.2 index 758b3203..9a6096bf 100644 --- a/Dockerfiles/work/Dockerfile-7.2 +++ b/Dockerfiles/work/Dockerfile-7.2 @@ -85,6 +85,7 @@ RUN set -eux \ libffi-dev \ libssl-dev \ libyaml-dev \ + locales \ make \ mongodb-org-shell \ mongodb-org-tools \ diff --git a/Dockerfiles/work/Dockerfile-7.3 b/Dockerfiles/work/Dockerfile-7.3 index 17bebded..c9a1ab86 100644 --- a/Dockerfiles/work/Dockerfile-7.3 +++ b/Dockerfiles/work/Dockerfile-7.3 @@ -85,6 +85,7 @@ RUN set -eux \ libffi-dev \ libssl-dev \ libyaml-dev \ + locales \ make \ mongodb-org-shell \ mongodb-org-tools \ diff --git a/Dockerfiles/work/Dockerfile-7.4 b/Dockerfiles/work/Dockerfile-7.4 index 4335ab14..4322b493 100644 --- a/Dockerfiles/work/Dockerfile-7.4 +++ b/Dockerfiles/work/Dockerfile-7.4 @@ -85,6 +85,7 @@ RUN set -eux \ libffi-dev \ libssl-dev \ libyaml-dev \ + locales \ make \ mongodb-org-shell \ mongodb-org-tools \ diff --git a/Dockerfiles/work/Dockerfile-8.0 b/Dockerfiles/work/Dockerfile-8.0 index 20a35e45..cc459862 100644 --- a/Dockerfiles/work/Dockerfile-8.0 +++ b/Dockerfiles/work/Dockerfile-8.0 @@ -85,6 +85,7 @@ RUN set -eux \ libffi-dev \ libssl-dev \ libyaml-dev \ + locales \ make \ mongodb-org-shell \ mongodb-org-tools \ diff --git a/README.md b/README.md index affc0357..5a3f4b41 100644 --- a/README.md +++ b/README.md @@ -627,27 +627,27 @@ Check out this table to see which Docker image provides what PHP modules.