Compare commits

...

45 Commits
0.106 ... 0.112

Author SHA1 Message Date
cytopia
332d03010c Merge pull request #172 from devilbox/release-0.112
Release 0.112
2020-09-16 03:08:42 +02:00
cytopia
d9b205f2f1 CI: increase retries 2020-09-16 00:26:27 +02:00
cytopia
42df419376 CI: Ensure travis retries during push 2020-09-15 23:25:10 +02:00
cytopia
4be4c2eded More verbose CI output 2020-09-15 18:28:54 +02:00
cytopia
6a49ffce10 Adjust workflows 2020-09-15 15:46:48 +02:00
cytopia
ca6b176620 Fixes #169: Missing locale-gen binary 2020-09-15 15:30:27 +02:00
cytopia
7019b00e55 Fix apt packages for PHP 7.0 2020-09-15 15:30:23 +02:00
cytopia
c40082e886 Added xlswriter extension 2020-09-15 15:30:19 +02:00
cytopia
3f89c534e4 Added vips extension 2020-09-15 15:30:15 +02:00
cytopia
c65bd0653b Fix variables 2020-09-15 15:06:03 +02:00
cytopia
89edcd20d8 Set correct branch/tag 2020-09-15 15:00:32 +02:00
cytopia
fd0594e3c1 Fix GitHub Actions 2020-09-15 14:48:16 +02:00
cytopia
bef26e8c27 Fix checkout 2020-09-15 14:41:55 +02:00
cytopia
f60c0e8fea Fix workflow run 2020-09-15 14:33:45 +02:00
cytopia
1fc03c7b0d Fix workflow file 2020-09-15 14:32:40 +02:00
cytopia
a782cf22ab GitHub Actions Fix schedule 2020-09-15 14:19:06 +02:00
cytopia
51808ccc1b Merge pull request #174 from devilbox/github-actions
Test GitHub actions
2020-09-15 14:05:14 +02:00
cytopia
6f901d4bc7 Test GitHub actions 2020-09-15 14:04:48 +02:00
cytopia
b721b3b5ae Merge pull request #173 from devilbox/github-actions
Test GitHub actions
2020-09-15 13:54:54 +02:00
cytopia
ebd7c5ec37 Test GitHub actions 2020-09-15 13:53:09 +02:00
cytopia
050322cf02 Merge pull request #171 from devilbox/release-0.111
Release v0.111
2020-09-13 15:41:18 +02:00
cytopia
5227af8e4c Re-adding xdebug for PHP 8.0 2020-09-13 11:30:37 +02:00
cytopia
9e247307ad Merge pull request #170 from devilbox/release-0.110
Release v0.110
2020-09-13 11:16:48 +02:00
cytopia
b095b04ec3 Fix laravel symlink location for PHP 7.2 2020-09-12 17:39:20 +02:00
cytopia
5684fac8a2 Fixes laravel installer for PHP 7.2 2020-09-12 12:54:07 +02:00
cytopia
eb6799ad29 Fix download for drupal console 2020-09-12 11:48:21 +02:00
cytopia
1c53a0fd68 Merge pull request #168 from devilbox/release-0.109
Fix absolute path in tests
2020-08-09 14:47:03 +02:00
cytopia
fabc29299c Fix absolute path in tests 2020-08-09 13:07:53 +02:00
cytopia
83b4cb6b43 Merge pull request #167 from devilbox/release-0.108
Release 0.108
2020-08-08 18:11:27 +02:00
cytopia
dc438b0aad Fixes policy.xml for Imagick 2020-08-08 12:16:37 +02:00
cytopia
c8bd21ebbe Update CHANGELOG 2020-08-08 12:03:13 +02:00
cytopia
b2476e3851 Add gsfonts, mupdf and mupdf-tools 2020-08-08 12:02:39 +02:00
cytopia
c06a3d2237 Fix Redis for PHP 8.0 2020-08-08 12:02:04 +02:00
cytopia
ce4f022c70 Update CHANGELOG 2020-08-08 11:12:20 +02:00
cytopia
9c5326dc0f Stricter version check for installed tools 2020-08-08 11:11:35 +02:00
cytopia
2701a524b9 Fixed MongoDB module for PHP 5.6 2020-08-08 11:10:22 +02:00
cytopia
acea0ac0fe Fixed Ansible installation 2020-08-08 11:09:19 +02:00
cytopia
3153b329f1 Added imagick PDF support (via ghostscript) 2020-08-08 11:08:05 +02:00
cytopia
10285279c7 Merge pull request #159 from devilbox/release-0.107
Release 0.107
2020-06-27 23:36:51 +02:00
cytopia
0a04342e46 Adding certbot binary 2020-06-27 18:46:50 +02:00
cytopia
dad684bfd1 Re-added imap for PHP 7.4 2020-06-27 16:23:07 +02:00
cytopia
9fabcf3b71 Fixes imagick segfault by setting its threads to 1 2020-06-27 15:52:01 +02:00
cytopia
0669d92289 Adjust travis.yml 2020-06-27 12:16:48 +02:00
cytopia
6d2053878a Fix broken pipelines 2020-06-26 10:00:26 +02:00
cytopia
c3f46d3706 Fix push to Dockerhub 2020-04-07 12:01:29 +02:00
36 changed files with 1591 additions and 673 deletions

View File

@@ -62,14 +62,11 @@ jobs:
build: build:
name: "[ ${{ matrix.version }} ]" name: "[ PHP-${{ matrix.version }} ]"
runs-on: ubuntu-latest runs-on: ubuntu-latest
strategy: strategy:
fail-fast: False fail-fast: False
matrix: 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: version:
- '5.2' - '5.2'
- '5.3' - '5.3'
@@ -88,7 +85,7 @@ jobs:
# Checkout repository # Checkout repository
# ------------------------------------------------------------ # ------------------------------------------------------------
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@v1 uses: actions/checkout@v2
- name: Set variables - name: Set variables
id: vars id: vars
@@ -105,7 +102,6 @@ jobs:
GIT_SLUG="${GITHUB_REF/refs\/heads\//}" GIT_SLUG="${GITHUB_REF/refs\/heads\//}"
fi fi
fi fi
# Export variable # 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 # # 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} echo ::set-env name=GIT_TYPE::${GIT_TYPE}
@@ -118,36 +114,40 @@ jobs:
- name: Build Base - name: Build Base
run: | run: |
retry() { retry() {
for ((n=0; n<${RETRIES}; n++)); do for n in $(seq ${RETRIES}); do
echo "[${n}] ${*}"; echo "[${n}/${RETRIES}] ${*}";
if eval "${*}"; then if eval "${*}"; then
echo "[SUCC] ${n}/${RETRIES}";
return 0; return 0;
fi; fi;
sleep 10; sleep 2;
echo "[FAIL] ${n}/${RETRIES}";
done; done;
return 1; return 1;
} }
retry make build-base VERSION=${VERSION} retry make build-base VERSION=${VERSION}
env: env:
VERSION: ${{ matrix.version }} VERSION: ${{ matrix.version }}
RETRIES: 5 RETRIES: 20
- name: Test Base - name: Test Base
run: | run: |
retry() { retry() {
for ((n=0; n<${RETRIES}; n++)); do for n in $(seq ${RETRIES}); do
echo "[${n}] ${*}"; echo "[${n}/${RETRIES}] ${*}";
if eval "${*}"; then if eval "${*}"; then
echo "[SUCC] ${n}/${RETRIES}";
return 0; return 0;
fi; fi;
sleep 10; sleep 2;
echo "[FAIL] ${n}/${RETRIES}";
done; done;
return 1; return 1;
} }
retry make test-base VERSION=${VERSION} retry make test-base VERSION=${VERSION}
env: env:
VERSION: ${{ matrix.version }} VERSION: ${{ matrix.version }}
RETRIES: 5 RETRIES: 20
# ------------------------------------------------------------ # ------------------------------------------------------------
@@ -156,36 +156,40 @@ jobs:
- name: Build Mods - name: Build Mods
run: | run: |
retry() { retry() {
for ((n=0; n<${RETRIES}; n++)); do for n in $(seq ${RETRIES}); do
echo "[${n}] ${*}"; echo "[${n}/${RETRIES}] ${*}";
if eval "${*}"; then if eval "${*}"; then
echo "[SUCC] ${n}/${RETRIES}";
return 0; return 0;
fi; fi;
sleep 10; sleep 2;
echo "[FAIL] ${n}/${RETRIES}";
done; done;
return 1; return 1;
} }
retry make build-mods VERSION=${VERSION} retry make build-mods VERSION=${VERSION}
env: env:
VERSION: ${{ matrix.version }} VERSION: ${{ matrix.version }}
RETRIES: 5 RETRIES: 20
- name: Test Mods - name: Test Mods
run: | run: |
retry() { retry() {
for ((n=0; n<${RETRIES}; n++)); do for n in $(seq ${RETRIES}); do
echo "[${n}] ${*}"; echo "[${n}/${RETRIES}] ${*}";
if eval "${*}"; then if eval "${*}"; then
echo "[SUCC] ${n}/${RETRIES}";
return 0; return 0;
fi; fi;
sleep 10; sleep 2;
echo "[FAIL] ${n}/${RETRIES}";
done; done;
return 1; return 1;
} }
retry make test-mods VERSION=${VERSION} retry make test-mods VERSION=${VERSION}
env: env:
VERSION: ${{ matrix.version }} VERSION: ${{ matrix.version }}
RETRIES: 5 RETRIES: 20
# ------------------------------------------------------------ # ------------------------------------------------------------
@@ -194,36 +198,40 @@ jobs:
- name: Build Prod - name: Build Prod
run: | run: |
retry() { retry() {
for ((n=0; n<${RETRIES}; n++)); do for n in $(seq ${RETRIES}); do
echo "[${n}] ${*}"; echo "[${n}/${RETRIES}] ${*}";
if eval "${*}"; then if eval "${*}"; then
echo "[SUCC] ${n}/${RETRIES}";
return 0; return 0;
fi; fi;
sleep 10; sleep 2;
echo "[FAIL] ${n}/${RETRIES}";
done; done;
return 1; return 1;
} }
retry make build-prod VERSION=${VERSION} retry make build-prod VERSION=${VERSION}
env: env:
VERSION: ${{ matrix.version }} VERSION: ${{ matrix.version }}
RETRIES: 5 RETRIES: 20
- name: Test Prod - name: Test Prod
run: | run: |
retry() { retry() {
for ((n=0; n<${RETRIES}; n++)); do for n in $(seq ${RETRIES}); do
echo "[${n}] ${*}"; echo "[${n}/${RETRIES}] ${*}";
if eval "${*}"; then if eval "${*}"; then
echo "[SUCC] ${n}/${RETRIES}";
return 0; return 0;
fi; fi;
sleep 10; sleep 2;
echo "[FAIL] ${n}/${RETRIES}";
done; done;
return 1; return 1;
} }
retry make test-prod VERSION=${VERSION} retry make test-prod VERSION=${VERSION}
env: env:
VERSION: ${{ matrix.version }} VERSION: ${{ matrix.version }}
RETRIES: 5 RETRIES: 20
# ------------------------------------------------------------ # ------------------------------------------------------------
@@ -232,36 +240,40 @@ jobs:
- name: Build Work - name: Build Work
run: | run: |
retry() { retry() {
for ((n=0; n<${RETRIES}; n++)); do for n in $(seq ${RETRIES}); do
echo "[${n}] ${*}"; echo "[${n}/${RETRIES}] ${*}";
if eval "${*}"; then if eval "${*}"; then
echo "[SUCC] ${n}/${RETRIES}";
return 0; return 0;
fi; fi;
sleep 10; sleep 2;
echo "[FAIL] ${n}/${RETRIES}";
done; done;
return 1; return 1;
} }
retry make build-work VERSION=${VERSION} retry make build-work VERSION=${VERSION}
env: env:
VERSION: ${{ matrix.version }} VERSION: ${{ matrix.version }}
RETRIES: 5 RETRIES: 20
- name: Test Work - name: Test Work
run: | run: |
retry() { retry() {
for ((n=0; n<${RETRIES}; n++)); do for n in $(seq ${RETRIES}); do
echo "[${n}] ${*}"; echo "[${n}/${RETRIES}] ${*}";
if eval "${*}"; then if eval "${*}"; then
echo "[SUCC] ${n}/${RETRIES}";
return 0; return 0;
fi; fi;
sleep 10; sleep 2;
echo "[FAIL] ${n}/${RETRIES}";
done; done;
return 1; return 1;
} }
retry make test-work VERSION=${VERSION} retry make test-work VERSION=${VERSION}
env: env:
VERSION: ${{ matrix.version }} VERSION: ${{ matrix.version }}
RETRIES: 5 RETRIES: 20
# ------------------------------------------------------------ # ------------------------------------------------------------
@@ -278,17 +290,18 @@ jobs:
# ------------------------------------------------------------ # ------------------------------------------------------------
# Push build artifacts # Push build artifacts
# ------------------------------------------------------------ # ------------------------------------------------------------
# Only run this, if the PR was created by the repo owner # Only run this, if the PR was created by the repo owner
- name: Publish images (only repo owner) - name: Publish images (only repo owner)
run: | run: |
retry() { retry() {
for ((n=0; n<${RETRIES}; n++)); do for n in $(seq ${RETRIES}); do
echo "[${n}] ${*}"; echo "[${n}/${RETRIES}] ${*}";
if eval "${*}"; then if eval "${*}"; then
echo "[SUCC] ${n}/${RETRIES}";
return 0; return 0;
fi; fi;
sleep 10; sleep 2;
echo "[FAIL] ${n}/${RETRIES}";
done; done;
return 1; return 1;
} }
@@ -321,7 +334,7 @@ jobs:
fi fi
env: env:
VERSION: ${{ matrix.version }} 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 # 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 if: github.event.pull_request.base.repo.id == github.event.pull_request.head.repo.id
&& ( && (

View File

@@ -15,7 +15,6 @@ on:
- cron: '0 0 * * *' - cron: '0 0 * * *'
# ------------------------------------------------------------------------------------------------- # -------------------------------------------------------------------------------------------------
# What to run # What to run
# ------------------------------------------------------------------------------------------------- # -------------------------------------------------------------------------------------------------
@@ -55,16 +54,19 @@ jobs:
RUNNER_CONTEXT: ${{ toJson(runner) }} RUNNER_CONTEXT: ${{ toJson(runner) }}
run: echo "${RUNNER_CONTEXT}" run: echo "${RUNNER_CONTEXT}"
- name: Show git info
env:
RUNNER_CONTEXT: ${{ toJson(runner) }}
run: |
git log | head -20
build: build:
name: "[ ${{ matrix.version }} ]" name: "[ PHP-${{ matrix.version }} (ref: ${{ matrix.refs }}) ]"
runs-on: ubuntu-latest runs-on: ubuntu-latest
strategy: strategy:
fail-fast: False fail-fast: False
matrix: 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: version:
- '5.2' - '5.2'
- '5.3' - '5.3'
@@ -77,30 +79,34 @@ jobs:
- '7.3' - '7.3'
- '7.4' - '7.4'
- '8.0' - '8.0'
refs:
- 'master'
- '0.111'
- '0.112'
steps: steps:
# ------------------------------------------------------------ # ------------------------------------------------------------
# Checkout repository # Checkout repository
# ------------------------------------------------------------ # ------------------------------------------------------------
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@v1 uses: actions/checkout@v2
with:
fetch-depth: 0
ref: ${{ matrix.refs }}
- name: Set variables - name: Set variables
id: vars id: vars
run: | run: |
# Set git branch or git tag as slug # 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_TYPE=TAG
GIT_SLUG="${GITHUB_REF/refs\/tags\//}" GIT SLUG="$( git tag --points-at HEAD )"
else elif [ "$( git rev-parse --abbrev-ref HEAD )" != "HEAD" ]; then
GIT_TYPE=BRANCH GIT_TYPE=BRANCH
if [ -n "${GITHUB_HEAD_REF}" ]; then GIT SLUG="$( git rev-parse --abbrev-ref HEAD )"
GIT_SLUG="${GITHUB_HEAD_REF}" else
else false
GIT_SLUG="${GITHUB_REF/refs\/heads\//}"
fi
fi fi
# Export variable # 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 # # 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} echo ::set-env name=GIT_TYPE::${GIT_TYPE}
@@ -113,36 +119,40 @@ jobs:
- name: Build Base - name: Build Base
run: | run: |
retry() { retry() {
for ((n=0; n<${RETRIES}; n++)); do for n in $(seq ${RETRIES}); do
echo "[${n}] ${*}"; echo "[${n}/${RETRIES}] ${*}";
if eval "${*}"; then if eval "${*}"; then
echo "[SUCC] ${n}/${RETRIES}";
return 0; return 0;
fi; fi;
sleep 10; sleep 2;
echo "[FAIL] ${n}/${RETRIES}";
done; done;
return 1; return 1;
} }
retry make build-base VERSION=${VERSION} retry make build-base VERSION=${VERSION}
env: env:
VERSION: ${{ matrix.version }} VERSION: ${{ matrix.version }}
RETRIES: 5 RETRIES: 20
- name: Test Base - name: Test Base
run: | run: |
retry() { retry() {
for ((n=0; n<${RETRIES}; n++)); do for n in $(seq ${RETRIES}); do
echo "[${n}] ${*}"; echo "[${n}/${RETRIES}] ${*}";
if eval "${*}"; then if eval "${*}"; then
echo "[SUCC] ${n}/${RETRIES}";
return 0; return 0;
fi; fi;
sleep 10; sleep 2;
echo "[FAIL] ${n}/${RETRIES}";
done; done;
return 1; return 1;
} }
retry make test-base VERSION=${VERSION} retry make test-base VERSION=${VERSION}
env: env:
VERSION: ${{ matrix.version }} VERSION: ${{ matrix.version }}
RETRIES: 5 RETRIES: 20
# ------------------------------------------------------------ # ------------------------------------------------------------
@@ -151,36 +161,40 @@ jobs:
- name: Build Mods - name: Build Mods
run: | run: |
retry() { retry() {
for ((n=0; n<${RETRIES}; n++)); do for n in $(seq ${RETRIES}); do
echo "[${n}] ${*}"; echo "[${n}/${RETRIES}] ${*}";
if eval "${*}"; then if eval "${*}"; then
echo "[SUCC] ${n}/${RETRIES}";
return 0; return 0;
fi; fi;
sleep 10; sleep 2;
echo "[FAIL] ${n}/${RETRIES}";
done; done;
return 1; return 1;
} }
retry make build-mods VERSION=${VERSION} retry make build-mods VERSION=${VERSION}
env: env:
VERSION: ${{ matrix.version }} VERSION: ${{ matrix.version }}
RETRIES: 5 RETRIES: 20
- name: Test Mods - name: Test Mods
run: | run: |
retry() { retry() {
for ((n=0; n<${RETRIES}; n++)); do for n in $(seq ${RETRIES}); do
echo "[${n}] ${*}"; echo "[${n}/${RETRIES}] ${*}";
if eval "${*}"; then if eval "${*}"; then
echo "[SUCC] ${n}/${RETRIES}";
return 0; return 0;
fi; fi;
sleep 10; sleep 2;
echo "[FAIL] ${n}/${RETRIES}";
done; done;
return 1; return 1;
} }
retry make test-mods VERSION=${VERSION} retry make test-mods VERSION=${VERSION}
env: env:
VERSION: ${{ matrix.version }} VERSION: ${{ matrix.version }}
RETRIES: 5 RETRIES: 20
# ------------------------------------------------------------ # ------------------------------------------------------------
@@ -189,36 +203,40 @@ jobs:
- name: Build Prod - name: Build Prod
run: | run: |
retry() { retry() {
for ((n=0; n<${RETRIES}; n++)); do for n in $(seq ${RETRIES}); do
echo "[${n}] ${*}"; echo "[${n}/${RETRIES}] ${*}";
if eval "${*}"; then if eval "${*}"; then
echo "[SUCC] ${n}/${RETRIES}";
return 0; return 0;
fi; fi;
sleep 10; sleep 2;
echo "[FAIL] ${n}/${RETRIES}";
done; done;
return 1; return 1;
} }
retry make build-prod VERSION=${VERSION} retry make build-prod VERSION=${VERSION}
env: env:
VERSION: ${{ matrix.version }} VERSION: ${{ matrix.version }}
RETRIES: 5 RETRIES: 20
- name: Test Prod - name: Test Prod
run: | run: |
retry() { retry() {
for ((n=0; n<${RETRIES}; n++)); do for n in $(seq ${RETRIES}); do
echo "[${n}] ${*}"; echo "[${n}/${RETRIES}] ${*}";
if eval "${*}"; then if eval "${*}"; then
echo "[SUCC] ${n}/${RETRIES}";
return 0; return 0;
fi; fi;
sleep 10; sleep 2;
echo "[FAIL] ${n}/${RETRIES}";
done; done;
return 1; return 1;
} }
retry make test-prod VERSION=${VERSION} retry make test-prod VERSION=${VERSION}
env: env:
VERSION: ${{ matrix.version }} VERSION: ${{ matrix.version }}
RETRIES: 5 RETRIES: 20
# ------------------------------------------------------------ # ------------------------------------------------------------
@@ -227,36 +245,40 @@ jobs:
- name: Build Work - name: Build Work
run: | run: |
retry() { retry() {
for ((n=0; n<${RETRIES}; n++)); do for n in $(seq ${RETRIES}); do
echo "[${n}] ${*}"; echo "[${n}/${RETRIES}] ${*}";
if eval "${*}"; then if eval "${*}"; then
echo "[SUCC] ${n}/${RETRIES}";
return 0; return 0;
fi; fi;
sleep 10; sleep 2;
echo "[FAIL] ${n}/${RETRIES}";
done; done;
return 1; return 1;
} }
retry make build-work VERSION=${VERSION} retry make build-work VERSION=${VERSION}
env: env:
VERSION: ${{ matrix.version }} VERSION: ${{ matrix.version }}
RETRIES: 5 RETRIES: 20
- name: Test Work - name: Test Work
run: | run: |
retry() { retry() {
for ((n=0; n<${RETRIES}; n++)); do for n in $(seq ${RETRIES}); do
echo "[${n}] ${*}"; echo "[${n}/${RETRIES}] ${*}";
if eval "${*}"; then if eval "${*}"; then
echo "[SUCC] ${n}/${RETRIES}";
return 0; return 0;
fi; fi;
sleep 10; sleep 2;
echo "[FAIL] ${n}/${RETRIES}";
done; done;
return 1; return 1;
} }
retry make test-work VERSION=${VERSION} retry make test-work VERSION=${VERSION}
env: env:
VERSION: ${{ matrix.version }} VERSION: ${{ matrix.version }}
RETRIES: 5 RETRIES: 20
# ------------------------------------------------------------ # ------------------------------------------------------------
@@ -273,17 +295,18 @@ jobs:
# ------------------------------------------------------------ # ------------------------------------------------------------
# Push build artifacts # Push build artifacts
# ------------------------------------------------------------ # ------------------------------------------------------------
# Only run this, if the PR was created by the repo owner # Only run this, if the PR was created by the repo owner
- name: Publish images (only repo owner) - name: Publish images (only repo owner)
run: | run: |
retry() { retry() {
for ((n=0; n<${RETRIES}; n++)); do for n in $(seq ${RETRIES}); do
echo "[${n}] ${*}"; echo "[${n}/${RETRIES}] ${*}";
if eval "${*}"; then if eval "${*}"; then
echo "[SUCC] ${n}/${RETRIES}";
return 0; return 0;
fi; fi;
sleep 10; sleep 2;
echo "[FAIL] ${n}/${RETRIES}";
done; done;
return 1; return 1;
} }
@@ -316,7 +339,7 @@ jobs:
fi fi
env: env:
VERSION: ${{ matrix.version }} 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 # 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 if: github.event.pull_request.base.repo.id == github.event.pull_request.head.repo.id
&& ( && (

View File

@@ -15,13 +15,6 @@ services:
env: env:
global: global:
- IMAGE: devilbox/php-fpm - IMAGE: devilbox/php-fpm
# travis encrypt DOCKER_USERNAME=user
# travis encrypt DOCKER_PASSWORD=pass
# Must be regenerated when repository name/owner changes
# DOCKER_USERNAME
- secure: "Y7xt3qZW9Zwrsgdd/aCf8ZqA7I039506ZDf/u/WVzGwNHta5YJJ7XYy8XG7XugyqGGXRVpfBiaqmDH4xsPLXyHXdOt2G38GXZHZXIgJOiEJ6aUfpdUxyeu8XIXkD2MDMmc3Kb27Yub/OadxRMLWEflzRnSXXs3KJ8TsbPHh0yRWDMsmHYOYl16gDGUX1izLkEx4J+9iA3+JwIFZk8by/OUuIIQ93bSNORpwHT8A1j7Y1kh8kYkPZ6nRxWO8xrc2wI1Rbp0X+ivLnOotxDZo53UI/0KroeSckDpoWfoz+B7mP+M+5B6kGlI2pKDNQB/ErYvnya6PdtFSS9skbvepR4tBhUOZDDY7NMRg9m3w0b9T1no+g3A4LBGXy6+OZZoiYAGy9LvqMhFkINqbBhRBX+mZhtG0pNXunfcu5dk81Ni/XpXDiy9JU98jItwsRj4SeaPfSt0LUNNXMS/fEwZyTy6TihN1CM3krJpV30Ic5rN64FRnrRjUuNU4lJ/W36yUhM29gb13ahh+f7sDsYoCzMwDM9HFe0YLb3ar3mW1lb3FuUugU2f2EupgCPY60X2XrY9aSgCfbdiVsA84dbLtRfHTPG7UbEcJW5RH8HS+9qVZBK+AcPqon9jbOJRVh7q99YW+R8X/XeyYpz7amacVmRus80+toZ16bbU7D2Qgjdek="
# DOCKER_PASSWORD
- secure: "ZRrVOVOkSCS2UxEi1HNF1iKefK4sDT/sPRl1HxMQjLnRRaAMdG0aRnBwQf2YAM2qzhCfN85qt6zZtC4awc2mHiZ88JrAZxBjK6xj4BwOyLbDuzpBsKXnx8Nix+wyYYKSjsC3LOYrsUe+4rvkw3tVvVaX8G2llojwdksF34VDmmHBmzCG/Bsexk7UqC+qw0PZm7BtctQO+IL0btmMDijRDElxfR+AuPvf9JdkhYzw9TOO7Jqd53NssNVGyL+XSV0dfGn8PkZTp1e8D+28pLK4oGVog+Wk7Cq94hSGjk5AkWKvL5441rupG1AA8K3njeDNMKdov4o+dmnkAH7Jh8tjShMhNhoxHce3IzpczjhoE1EyYQcyPf1qdfhV35Xv096iWX5809pp1MZF2oE5eism8JaU9NpGClryVbKVKtup8ko9/tCqz01Czq5Vue40feMkGtdePulg59OhyyPLYldsObw8QlZydkrmgVZe6b+GyybeiHraTfDq4pvTgUrC4Cmm5J3IB5Ig1THEiYKHfRJ5hSSMDDODeBXc8Xh6mFssEVshNx/jbUQWuAVYQFw/GIquVHxr6btbevrWIoD+zmqcc0L98u9pYH8w7b+gMgVJNCC4QQz2NCGGWw9l9/TmLrKJgeXbG18n8D314le1zuna6/VfH9pXIlbNO4hgz5NLHJk="
matrix: matrix:
- PHP=5.2 - PHP=5.2
- PHP=5.3 - PHP=5.3
@@ -76,10 +69,6 @@ install:
### Check generation changes, build and test ### Check generation changes, build and test
### ###
before_script: 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) # Build (multiple tries due to network outages)
- retry make build-base VERSION=${PHP} - retry make build-base VERSION=${PHP}
#- retry make test-base VERSION=${PHP} #- retry make test-base VERSION=${PHP}
@@ -93,54 +82,50 @@ before_script:
- retry make build-work VERSION=${PHP} - retry make build-work VERSION=${PHP}
- retry make test-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 ### Push to Dockerhub
### ###
script: script:
- if [ "${TRAVIS_PULL_REQUEST}" == "false" ]; then - if [ "${TRAVIS_PULL_REQUEST}" == "false" ]; then
echo "${DOCKER_PASSWORD}" | docker login --username "${DOCKER_USERNAME}" --password-stdin && retry make login USERNAME="${DOCKER_USERNAME}" PASSWORD="${DOCKER_PASSWORD}";
if [ "${TRAVIS_BRANCH}" == "master" ]; then if [ "${TRAVIS_BRANCH}" == "master" ]; then
echo "Pushing latest"; echo "Pushing latest";
until docker push "${IMAGE}:${PHP}-base"; do sleep 1; done; retry make push TAG="${PHP}-base" &&
until docker push "${IMAGE}:${PHP}-mods"; do sleep 1; done; retry make push TAG="${PHP}-mods" &&
until docker push "${IMAGE}:${PHP}-prod"; do sleep 1; done; retry make push TAG="${PHP}-prod" &&
until docker push "${IMAGE}:${PHP}-work"; do sleep 1; done; retry make push TAG="${PHP}-work";
elif [[ ${TRAVIS_BRANCH} =~ ^(release-[.0-9]+)$ ]]; then elif [[ ${TRAVIS_BRANCH} =~ ^(release-[.0-9]+)$ ]]; then
echo "Pushing branch ${TRAVIS_BRANCH}"; echo "Pushing branch ${TRAVIS_BRANCH}";
docker tag "${IMAGE}:${PHP}-base" "${IMAGE}:${PHP}-base-${TRAVIS_BRANCH}" && retry make tag OLD_TAG="${PHP}-base" NEW_TAG="${PHP}-base-${TRAVIS_BRANCH}" &&
docker tag "${IMAGE}:${PHP}-mods" "${IMAGE}:${PHP}-mods-${TRAVIS_BRANCH}" && retry make tag OLD_TAG="${PHP}-mods" NEW_TAG="${PHP}-mods-${TRAVIS_BRANCH}" &&
docker tag "${IMAGE}:${PHP}-prod" "${IMAGE}:${PHP}-prod-${TRAVIS_BRANCH}" && retry make tag OLD_TAG="${PHP}-prod" NEW_TAG="${PHP}-prod-${TRAVIS_BRANCH}" &&
docker tag "${IMAGE}:${PHP}-work" "${IMAGE}:${PHP}-work-${TRAVIS_BRANCH}" && retry make tag OLD_TAG="${PHP}-work" NEW_TAG="${PHP}-work-${TRAVIS_BRANCH}" &&
until docker push "${IMAGE}:${PHP}-base-${TRAVIS_BRANCH}"; do sleep 1; done; retry make push TAG="${PHP}-base-${TRAVIS_BRANCH}" &&
until docker push "${IMAGE}:${PHP}-mods-${TRAVIS_BRANCH}"; do sleep 1; done; retry make push TAG="${PHP}-mods-${TRAVIS_BRANCH}" &&
until docker push "${IMAGE}:${PHP}-prod-${TRAVIS_BRANCH}"; do sleep 1; done; retry make push TAG="${PHP}-prod-${TRAVIS_BRANCH}" &&
until docker push "${IMAGE}:${PHP}-work-${TRAVIS_BRANCH}"; do sleep 1; done; retry make push TAG="${PHP}-work-${TRAVIS_BRANCH}";
elif [ -n "${TRAVIS_TAG}" ]; then elif [ -n "${TRAVIS_TAG}" ]; then
echo "Pushing tag ${TRAVIS_TAG}"; echo "Pushing tag ${TRAVIS_TAG}";
docker tag "${IMAGE}:${PHP}-base" "${IMAGE}:${PHP}-base-${TRAVIS_TAG}" && retry make tag OLD_TAG="${PHP}-base" NEW_TAG="${PHP}-base-${TRAVIS_TAG}" &&
docker tag "${IMAGE}:${PHP}-mods" "${IMAGE}:${PHP}-mods-${TRAVIS_TAG}" && retry make tag OLD_TAG="${PHP}-mods" NEW_TAG="${PHP}-mods-${TRAVIS_TAG}" &&
docker tag "${IMAGE}:${PHP}-prod" "${IMAGE}:${PHP}-prod-${TRAVIS_TAG}" && retry make tag OLD_TAG="${PHP}-prod" NEW_TAG="${PHP}-prod-${TRAVIS_TAG}" &&
docker tag "${IMAGE}:${PHP}-work" "${IMAGE}:${PHP}-work-${TRAVIS_TAG}" && retry make tag OLD_TAG="${PHP}-work" NEW_TAG="${PHP}-work-${TRAVIS_TAG}" &&
until docker push "${IMAGE}:${PHP}-base-${TRAVIS_TAG}"; do sleep 1; done; retry make push TAG="${PHP}-base-${TRAVIS_TAG}" &&
until docker push "${IMAGE}:${PHP}-mods-${TRAVIS_TAG}"; do sleep 1; done; retry make push TAG="${PHP}-mods-${TRAVIS_TAG}" &&
until docker push "${IMAGE}:${PHP}-prod-${TRAVIS_TAG}"; do sleep 1; done; retry make push TAG="${PHP}-prod-${TRAVIS_TAG}" &&
until docker push "${IMAGE}:${PHP}-work-${TRAVIS_TAG}"; do sleep 1; done; retry make push TAG="${PHP}-work-${TRAVIS_TAG}";
elif [ "${TRAVIS_EVENT_TYPE}" = "cron" ]; then elif [ "${TRAVIS_EVENT_TYPE}" = "cron" ]; then
if MY_TAG="$( git describe --exact-match "$(git rev-parse HEAD)" 2>/dev/null )"; then if MY_TAG="$( git describe --exact-match "$(git rev-parse HEAD)" 2>/dev/null )"; then
echo "Pushing cron tag ${MY_TAG}"; echo "Pushing cron tag ${MY_TAG}";
docker tag "${IMAGE}:${PHP}-base" "${IMAGE}:${PHP}-base-${MY_TAG}" && retry make tag OLD_TAG="${PHP}-base" NEW_TAG="${PHP}-base-${MY_TAG}" &&
docker tag "${IMAGE}:${PHP}-mods" "${IMAGE}:${PHP}-mods-${MY_TAG}" && retry make tag OLD_TAG="${PHP}-mods" NEW_TAG="${PHP}-mods-${MY_TAG}" &&
docker tag "${IMAGE}:${PHP}-prod" "${IMAGE}:${PHP}-prod-${MY_TAG}" && retry make tag OLD_TAG="${PHP}-prod" NEW_TAG="${PHP}-prod-${MY_TAG}" &&
docker tag "${IMAGE}:${PHP}-work" "${IMAGE}:${PHP}-work-${MY_TAG}" && retry make tag OLD_TAG="${PHP}-work" NEW_TAG="${PHP}-work-${MY_TAG}" &&
until docker push "${IMAGE}:${PHP}-base-${MY_TAG}"; do sleep 1; done; retry make push TAG="${PHP}-base-${MY_TAG}" &&
until docker push "${IMAGE}:${PHP}-mods-${MY_TAG}"; do sleep 1; done; retry make push TAG="${PHP}-mods-${MY_TAG}" &&
until docker push "${IMAGE}:${PHP}-prod-${MY_TAG}"; do sleep 1; done; retry make push TAG="${PHP}-prod-${MY_TAG}" &&
until docker push "${IMAGE}:${PHP}-work-${MY_TAG}"; do sleep 1; done; retry make push TAG="${PHP}-work-${MY_TAG}";
fi fi
else else
echo "Skipping push to dockerhub on normal branches"; echo "Skipping push to dockerhub on normal branches";

View File

@@ -4,6 +4,64 @@
## Unreleased ## 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
- Added xdebug for PHP 8.0
## Release 0.110
#### Fixed
- [169](https://github.com/devilbox/docker-php-fpm/issues/169) Fixes download for drupal console
- Fixes laravel installer for PHP 7.2
## Release 0.109
#### Fixed
- Fixed absolute paths in tests
## Release 0.108
#### Added
- Added ghostscript
- Added gsfonts
- Added imagick PDF support (via ghostscript)
- Added mupdf and mupdf-tools
#### Fixed
- Fixes Ansible installation
- Fixes MongoDB for PHP 5.6
- Fixes Redis for PHP 8.0
- Fixes policy.xml for Imagick
#### Changed
- Stricter version check for installed tools
## Release 0.107
#### Fixed
- Fixes login to Dockerhub for CI jobs
- Fixes imagick segfault by setting its threads to 1
#### Added
- Re-added imap for PHP 7.4
- Adding `certbot` binary
## Release 0.106 ## Release 0.106
#### Fixed #### Fixed

View File

@@ -561,6 +561,8 @@ LABEL "org.opencontainers.image.description"="PHP-FPM 5.2-mods"
ARG EXT_DIR ARG EXT_DIR
COPY --from=builder ${EXT_DIR}/ ${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/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/ COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/

View File

@@ -672,6 +672,8 @@ LABEL "org.opencontainers.image.description"="PHP-FPM 5.3-mods"
ARG EXT_DIR ARG EXT_DIR
COPY --from=builder ${EXT_DIR}/ ${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/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/ COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/

View File

@@ -691,6 +691,8 @@ LABEL "org.opencontainers.image.description"="PHP-FPM 5.4-mods"
ARG EXT_DIR ARG EXT_DIR
COPY --from=builder ${EXT_DIR}/ ${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/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/ COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/

View File

@@ -12,6 +12,7 @@ RUN set -eux \
alien \ alien \
firebird-dev \ firebird-dev \
freetds-dev \ freetds-dev \
ghostscript \
libaio-dev \ libaio-dev \
libbz2-dev \ libbz2-dev \
libc-client-dev \ libc-client-dev \
@@ -26,6 +27,7 @@ RUN set -eux \
libjpeg-dev \ libjpeg-dev \
libkrb5-dev \ libkrb5-dev \
libldap2-dev \ libldap2-dev \
libmagickwand-dev \
libmcrypt-dev \ libmcrypt-dev \
libmemcached-dev \ libmemcached-dev \
libnghttp2-dev \ libnghttp2-dev \
@@ -41,6 +43,7 @@ RUN set -eux \
libssl-dev \ libssl-dev \
libtidy-dev \ libtidy-dev \
libvpx-dev \ libvpx-dev \
libwebp5 \
libxml2-dev \ libxml2-dev \
libxpm-dev \ libxpm-dev \
libxslt-dev \ libxslt-dev \
@@ -194,6 +197,28 @@ RUN set -eux \
&& true && true
# -------------------- Installing PHP Extension: imagick --------------------
RUN set -eux \
# Installation: Version specific
# Type: PECL extension
# Default: Pecl command
&& pecl install imagick \
# Enabling
&& docker-php-ext-enable imagick \
# Generic post-command
&& sed -i'' 's|.*"thread".*| <policy domain="resource" name="thread" value="1"/>|g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS2".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS3".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"EPS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PDF".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"XPS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="delegate".*pattern="gs".*||g' /etc/ImageMagick-6/policy.xml \
\
&& true
# -------------------- Installing PHP Extension: imap -------------------- # -------------------- Installing PHP Extension: imap --------------------
RUN set -eux \ RUN set -eux \
# Generic pre-command # Generic pre-command
@@ -679,6 +704,8 @@ LABEL "org.opencontainers.image.description"="PHP-FPM 5.5-mods"
ARG EXT_DIR ARG EXT_DIR
COPY --from=builder ${EXT_DIR}/ ${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/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/ COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/
@@ -688,6 +715,7 @@ COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/
RUN set -eux \ RUN set -eux \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \ && DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
ghostscript \
libaio1 \ libaio1 \
libaspell15 \ libaspell15 \
libc-client2007e \ libc-client2007e \
@@ -696,6 +724,7 @@ RUN set -eux \
libfreetype6 \ libfreetype6 \
libicu52 \ libicu52 \
libjpeg62-turbo \ libjpeg62-turbo \
libmagickwand-6.q16-2 \
libmcrypt4 \ libmcrypt4 \
libmemcachedutil2 \ libmemcachedutil2 \
libmysqlclient18 \ libmysqlclient18 \
@@ -708,6 +737,7 @@ RUN set -eux \
libsybdb5 \ libsybdb5 \
libtidy-0.99-0 \ libtidy-0.99-0 \
libvpx1 \ libvpx1 \
libwebp5 \
libxpm4 \ libxpm4 \
libxslt1.1 \ libxslt1.1 \
libyaml-0-2 \ libyaml-0-2 \
@@ -722,6 +752,17 @@ RUN set -eux \
### Post Install ### Post Install
### ###
RUN set -eux \ RUN set -eux \
# ---------- imagick ----------
&& sed -i'' 's|.*"thread".*| <policy domain="resource" name="thread" value="1"/>|g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS2".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS3".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"EPS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PDF".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"XPS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="delegate".*pattern="gs".*||g' /etc/ImageMagick-6/policy.xml \
\
# ---------- oci8 ---------- # ---------- oci8 ----------
&& ORACLE_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/ | tac | tac | grep -Eo 'href="getPackage/oracle-instantclient.+basiclite.+rpm"' | tail -1 )" \ && ORACLE_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/ | tac | tac | grep -Eo 'href="getPackage/oracle-instantclient.+basiclite.+rpm"' | tail -1 )" \
&& ORACLE_VERSION_MAJOR="$( echo "${ORACLE_HREF}" | grep -Eo 'instantclient[.0-9]+' | sed 's/instantclient//g' )" \ && ORACLE_VERSION_MAJOR="$( echo "${ORACLE_HREF}" | grep -Eo 'instantclient[.0-9]+' | sed 's/instantclient//g' )" \
@@ -790,6 +831,8 @@ RUN set -eux \
&& php-fpm -m | grep -oiE '^iconv$' \ && php-fpm -m | grep -oiE '^iconv$' \
&& php -m | grep -oiE '^igbinary$' \ && php -m | grep -oiE '^igbinary$' \
&& php-fpm -m | grep -oiE '^igbinary$' \ && php-fpm -m | grep -oiE '^igbinary$' \
&& php -m | grep -oiE '^imagick$' \
&& php-fpm -m | grep -oiE '^imagick$' \
&& php -m | grep -oiE '^imap$' \ && php -m | grep -oiE '^imap$' \
&& php-fpm -m | grep -oiE '^imap$' \ && php-fpm -m | grep -oiE '^imap$' \
&& php -m | grep -oiE '^interbase$' \ && php -m | grep -oiE '^interbase$' \

View File

@@ -12,6 +12,7 @@ RUN set -eux \
alien \ alien \
firebird-dev \ firebird-dev \
freetds-dev \ freetds-dev \
ghostscript \
libaio-dev \ libaio-dev \
libbz2-dev \ libbz2-dev \
libc-client-dev \ libc-client-dev \
@@ -220,6 +221,17 @@ RUN set -eux \
&& pecl install imagick \ && pecl install imagick \
# Enabling # Enabling
&& docker-php-ext-enable imagick \ && docker-php-ext-enable imagick \
# Generic post-command
&& sed -i'' 's|.*"thread".*| <policy domain="resource" name="thread" value="1"/>|g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS2".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS3".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"EPS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PDF".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"XPS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="delegate".*pattern="gs".*||g' /etc/ImageMagick-6/policy.xml \
\
&& true && true
@@ -318,10 +330,10 @@ RUN set -eux \
# -------------------- Installing PHP Extension: mongodb -------------------- # -------------------- Installing PHP Extension: mongodb --------------------
RUN set -eux \ RUN set -eux \
# Installation: Generic # Installation: Version specific
# Type: PECL extension # Type: PECL extension
# Default: Pecl command # Default: Pecl command
&& pecl install mongodb \ && pecl install mongodb-1.7.5 \
# Enabling # Enabling
&& docker-php-ext-enable mongodb \ && docker-php-ext-enable mongodb \
&& true && true
@@ -708,6 +720,8 @@ LABEL "org.opencontainers.image.description"="PHP-FPM 5.6-mods"
ARG EXT_DIR ARG EXT_DIR
COPY --from=builder ${EXT_DIR}/ ${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/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/ COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/
@@ -717,6 +731,7 @@ COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/
RUN set -eux \ RUN set -eux \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \ && DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
ghostscript \
libaio1 \ libaio1 \
libaspell15 \ libaspell15 \
libc-client2007e \ libc-client2007e \
@@ -754,6 +769,17 @@ RUN set -eux \
### Post Install ### Post Install
### ###
RUN set -eux \ RUN set -eux \
# ---------- imagick ----------
&& sed -i'' 's|.*"thread".*| <policy domain="resource" name="thread" value="1"/>|g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS2".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS3".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"EPS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PDF".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"XPS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="delegate".*pattern="gs".*||g' /etc/ImageMagick-6/policy.xml \
\
# ---------- oci8 ---------- # ---------- oci8 ----------
&& ORACLE_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/ | tac | tac | grep -Eo 'href="getPackage/oracle-instantclient.+basiclite.+rpm"' | tail -1 )" \ && ORACLE_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/ | tac | tac | grep -Eo 'href="getPackage/oracle-instantclient.+basiclite.+rpm"' | tail -1 )" \
&& ORACLE_VERSION_MAJOR="$( echo "${ORACLE_HREF}" | grep -Eo 'instantclient[.0-9]+' | sed 's/instantclient//g' )" \ && ORACLE_VERSION_MAJOR="$( echo "${ORACLE_HREF}" | grep -Eo 'instantclient[.0-9]+' | sed 's/instantclient//g' )" \

View File

@@ -10,41 +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 apt-utils \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
alien \ alien \
fftw-dev \
firebird-dev \ firebird-dev \
freetds-dev \ freetds-dev \
ghostscript \
gobject-introspection \
gtk-doc-tools \
libaio-dev \ libaio-dev \
libbz2-dev \ libbz2-dev \
libc-client-dev \ libc-client-dev \
libcurl4-openssl-dev \ libcurl4-openssl-dev \
libenchant-dev \ libenchant-dev \
libevent-dev \ libevent-dev \
libexif-dev \
libexpat1-dev \
libfbclient2 \ libfbclient2 \
libfftw3-dev \
libfreetype6-dev \ libfreetype6-dev \
libgif-dev \
libglib2.0-dev \
libgmp-dev \ libgmp-dev \
libib-util \ libib-util \
libicu-dev \ libicu-dev \
libjpeg-dev \ libjpeg-dev \
libkrb5-dev \ libkrb5-dev \
libldap2-dev \ libldap2-dev \
libmagick++-dev \
libmagickcore-6.q16-dev \
libmagickwand-dev \ libmagickwand-dev \
libmcrypt-dev \ libmcrypt-dev \
libmemcached-dev \ libmemcached-dev \
libnghttp2-dev \ libnghttp2-dev \
libpcre3-dev \ libpcre3-dev \
libpng-dev \ libpng-dev \
libpoppler-glib-dev \
libpq-dev \ libpq-dev \
libpspell-dev \ libpspell-dev \
librabbitmq-dev \ librabbitmq-dev \
librdkafka-dev \ librdkafka-dev \
librecode-dev \ librecode-dev \
librsvg2-dev \
libsasl2-dev \ libsasl2-dev \
libsnmp-dev \ libsnmp-dev \
libssh2-1-dev \ libssh2-1-dev \
libssl-dev \ libssl-dev \
libtidy-dev \ libtidy-dev \
libtool \
libvpx-dev \ libvpx-dev \
libwebp-dev \ libwebp-dev \
libwebp6 \ libwebp6 \
libwebpdemux2 \
libwebpmux2 \
libxml2-dev \ libxml2-dev \
libxpm-dev \ libxpm-dev \
libxslt-dev \ libxslt-dev \
@@ -222,6 +238,17 @@ RUN set -eux \
&& pecl install imagick \ && pecl install imagick \
# Enabling # Enabling
&& docker-php-ext-enable imagick \ && docker-php-ext-enable imagick \
# Generic post-command
&& sed -i'' 's|.*"thread".*| <policy domain="resource" name="thread" value="1"/>|g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS2".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS3".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"EPS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PDF".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"XPS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="delegate".*pattern="gs".*||g' /etc/ImageMagick-6/policy.xml \
\
&& true && true
@@ -647,6 +674,26 @@ RUN set -eux \
&& true && 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 -------------------- # -------------------- Installing PHP Extension: wddx --------------------
RUN set -eux \ RUN set -eux \
# Installation: Generic # Installation: Generic
@@ -686,12 +733,23 @@ RUN set -eux \
&& true && true
# -------------------- Installing PHP Extension: yaml -------------------- # -------------------- Installing PHP Extension: xlswriter --------------------
RUN set -eux \ RUN set -eux \
# Installation: Generic # Installation: Generic
# Type: PECL extension # Type: PECL extension
# Default: Pecl command # Default: Pecl command
&& pecl install yaml \ && pecl install xlswriter \
# Enabling
&& docker-php-ext-enable xlswriter \
&& true
# -------------------- Installing PHP Extension: yaml --------------------
RUN set -eux \
# Installation: Version specific
# Type: PECL extension
# Default: Pecl command
&& pecl install yaml-2.0.4 \
# Enabling # Enabling
&& docker-php-ext-enable yaml \ && docker-php-ext-enable yaml \
&& true && true
@@ -754,6 +812,8 @@ LABEL "org.opencontainers.image.description"="PHP-FPM 7.0-mods"
ARG EXT_DIR ARG EXT_DIR
COPY --from=builder ${EXT_DIR}/ ${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/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/ COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/
@@ -763,28 +823,46 @@ COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/
RUN set -eux \ RUN set -eux \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \ && DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \ && 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 \ libaio1 \
libaspell15 \ libaspell15 \
libc-client2007e \ libc-client2007e \
libenchant1c2a \ libenchant1c2a \
libexif12 \
libexpat1 \
libfbclient2 \ libfbclient2 \
libfftw3-3 \
libfreetype6 \ libfreetype6 \
libgif7 \
libglib2.0-0 \
libicu57 \ libicu57 \
libjpeg62-turbo \ 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.q16-3 \
libmagickwand-6.q16hdri-3 \
libmcrypt4 \ libmcrypt4 \
libmemcachedutil2 \ libmemcachedutil2 \
libnghttp2-14 \ libnghttp2-14 \
libpng16-16 \ libpng16-16 \
libpoppler-glib8 \
libpq5 \ libpq5 \
librabbitmq4 \ librabbitmq4 \
librdkafka1 \ librdkafka1 \
librecode0 \ librecode0 \
librsvg2-2 \
libssh2-1 \ libssh2-1 \
libsybdb5 \ libsybdb5 \
libtidy5 \ libtidy5 \
libvpx4 \ libvpx4 \
libwebp6 \ libwebp6 \
libwebpdemux2 \
libwebpmux2 \
libxpm4 \ libxpm4 \
libxslt1.1 \ libxslt1.1 \
libyaml-0-2 \ libyaml-0-2 \
@@ -801,6 +879,17 @@ RUN set -eux \
### Post Install ### Post Install
### ###
RUN set -eux \ RUN set -eux \
# ---------- imagick ----------
&& sed -i'' 's|.*"thread".*| <policy domain="resource" name="thread" value="1"/>|g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS2".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS3".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"EPS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PDF".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"XPS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="delegate".*pattern="gs".*||g' /etc/ImageMagick-6/policy.xml \
\
# ---------- oci8 ---------- # ---------- oci8 ----------
&& ORACLE_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/ | tac | tac | grep -Eo 'href="getPackage/oracle-instantclient.+basiclite.+rpm"' | tail -1 )" \ && ORACLE_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/ | tac | tac | grep -Eo 'href="getPackage/oracle-instantclient.+basiclite.+rpm"' | tail -1 )" \
&& ORACLE_VERSION_MAJOR="$( echo "${ORACLE_HREF}" | grep -Eo 'instantclient[.0-9]+' | sed 's/instantclient//g' )" \ && ORACLE_VERSION_MAJOR="$( echo "${ORACLE_HREF}" | grep -Eo 'instantclient[.0-9]+' | sed 's/instantclient//g' )" \
@@ -980,6 +1069,8 @@ RUN set -eux \
&& php-fpm -m | grep -oiE '^tokenizer$' \ && php-fpm -m | grep -oiE '^tokenizer$' \
&& php -m | grep -oiE '^uploadprogress$' \ && php -m | grep -oiE '^uploadprogress$' \
&& php-fpm -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 -m | grep -oiE '^wddx$' \
&& php-fpm -m | grep -oiE '^wddx$' \ && php-fpm -m | grep -oiE '^wddx$' \
&& php -m | grep -oiE '^xdebug$' \ && php -m | grep -oiE '^xdebug$' \
@@ -994,6 +1085,8 @@ RUN set -eux \
&& php-fpm -m | grep -oiE '^xmlwriter$' \ && php-fpm -m | grep -oiE '^xmlwriter$' \
&& php -m | grep -oiE '^xsl$' \ && php -m | grep -oiE '^xsl$' \
&& php-fpm -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 -m | grep -oiE '^yaml$' \
&& php-fpm -m | grep -oiE '^yaml$' \ && php-fpm -m | grep -oiE '^yaml$' \
&& php -m | grep -oiE '^zip$' \ && php -m | grep -oiE '^zip$' \

View File

@@ -10,41 +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 apt-utils \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
alien \ alien \
fftw-dev \
firebird-dev \ firebird-dev \
freetds-dev \ freetds-dev \
ghostscript \
gobject-introspection \
gtk-doc-tools \
libaio-dev \ libaio-dev \
libbz2-dev \ libbz2-dev \
libc-client-dev \ libc-client-dev \
libcurl4-openssl-dev \ libcurl4-openssl-dev \
libenchant-dev \ libenchant-dev \
libevent-dev \ libevent-dev \
libexif-dev \
libexpat1-dev \
libfbclient2 \ libfbclient2 \
libfftw3-dev \
libfreetype6-dev \ libfreetype6-dev \
libgif-dev \
libglib2.0-dev \
libgmp-dev \ libgmp-dev \
libib-util \ libib-util \
libicu-dev \ libicu-dev \
libimagequant-dev \
libjpeg-dev \ libjpeg-dev \
libkrb5-dev \ libkrb5-dev \
libldap2-dev \ libldap2-dev \
libmagick++-dev \
libmagickcore-6.q16-dev \
libmagickwand-dev \ libmagickwand-dev \
libmcrypt-dev \ libmcrypt-dev \
libmemcached-dev \ libmemcached-dev \
libnghttp2-dev \ libnghttp2-dev \
libpcre3-dev \ libpcre3-dev \
libpng-dev \ libpng-dev \
libpoppler-glib-dev \
libpq-dev \ libpq-dev \
libpspell-dev \ libpspell-dev \
librabbitmq-dev \ librabbitmq-dev \
librdkafka-dev \ librdkafka-dev \
librecode-dev \ librecode-dev \
librsvg2-dev \
libsasl2-dev \ libsasl2-dev \
libsnmp-dev \ libsnmp-dev \
libssh2-1-dev \ libssh2-1-dev \
libssl-dev \ libssl-dev \
libtidy-dev \ libtidy-dev \
libtool \
libvpx-dev \ libvpx-dev \
libwebp-dev \ libwebp-dev \
libwebp6 \ libwebp6 \
libwebpdemux2 \
libwebpmux3 \
libxml2-dev \ libxml2-dev \
libxpm-dev \ libxpm-dev \
libxslt-dev \ libxslt-dev \
@@ -222,6 +239,17 @@ RUN set -eux \
&& pecl install imagick \ && pecl install imagick \
# Enabling # Enabling
&& docker-php-ext-enable imagick \ && docker-php-ext-enable imagick \
# Generic post-command
&& sed -i'' 's|.*"thread".*| <policy domain="resource" name="thread" value="1"/>|g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS2".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS3".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"EPS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PDF".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"XPS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="delegate".*pattern="gs".*||g' /etc/ImageMagick-6/policy.xml \
\
&& true && true
@@ -656,6 +684,26 @@ RUN set -eux \
&& true && 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 -------------------- # -------------------- Installing PHP Extension: wddx --------------------
RUN set -eux \ RUN set -eux \
# Installation: Generic # Installation: Generic
@@ -695,6 +743,17 @@ RUN set -eux \
&& true && 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 -------------------- # -------------------- Installing PHP Extension: yaml --------------------
RUN set -eux \ RUN set -eux \
# Installation: Generic # Installation: Generic
@@ -763,6 +822,8 @@ LABEL "org.opencontainers.image.description"="PHP-FPM 7.1-mods"
ARG EXT_DIR ARG EXT_DIR
COPY --from=builder ${EXT_DIR}/ ${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/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/ COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/
@@ -772,29 +833,48 @@ COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/
RUN set -eux \ RUN set -eux \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \ && DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \ && 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 \ libaio1 \
libaspell15 \ libaspell15 \
libc-client2007e \ libc-client2007e \
libenchant1c2a \ libenchant1c2a \
libexif12 \
libexpat1 \
libfbclient2 \ libfbclient2 \
libfftw3-3 \
libfreetype6 \ libfreetype6 \
libgif7 \
libglib2.0-0 \
libicu63 \ libicu63 \
libimagequant0 \
libjpeg62-turbo \ 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.q16-6 \
libmagickwand-6.q16hdri-6 \
libmcrypt4 \ libmcrypt4 \
libmemcachedutil2 \ libmemcachedutil2 \
libnghttp2-14 \ libnghttp2-14 \
libpng16-16 \ libpng16-16 \
libpoppler-glib8 \
libpq5 \ libpq5 \
librabbitmq4 \ librabbitmq4 \
librdkafka1 \ librdkafka1 \
librecode0 \ librecode0 \
librsvg2-2 \
libssh2-1 \ libssh2-1 \
libsybdb5 \ libsybdb5 \
libtidy5deb1 \ libtidy5deb1 \
libvpx5 \ libvpx5 \
libwebp-dev \ libwebp-dev \
libwebp6 \ libwebp6 \
libwebpdemux2 \
libwebpmux3 \
libxpm4 \ libxpm4 \
libxslt1.1 \ libxslt1.1 \
libyaml-0-2 \ libyaml-0-2 \
@@ -811,6 +891,17 @@ RUN set -eux \
### Post Install ### Post Install
### ###
RUN set -eux \ RUN set -eux \
# ---------- imagick ----------
&& sed -i'' 's|.*"thread".*| <policy domain="resource" name="thread" value="1"/>|g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS2".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS3".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"EPS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PDF".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"XPS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="delegate".*pattern="gs".*||g' /etc/ImageMagick-6/policy.xml \
\
# ---------- oci8 ---------- # ---------- oci8 ----------
&& ORACLE_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/ | tac | tac | grep -Eo 'href="getPackage/oracle-instantclient.+basiclite.+rpm"' | tail -1 )" \ && ORACLE_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/ | tac | tac | grep -Eo 'href="getPackage/oracle-instantclient.+basiclite.+rpm"' | tail -1 )" \
&& ORACLE_VERSION_MAJOR="$( echo "${ORACLE_HREF}" | grep -Eo 'instantclient[.0-9]+' | sed 's/instantclient//g' )" \ && ORACLE_VERSION_MAJOR="$( echo "${ORACLE_HREF}" | grep -Eo 'instantclient[.0-9]+' | sed 's/instantclient//g' )" \
@@ -992,6 +1083,8 @@ RUN set -eux \
&& php-fpm -m | grep -oiE '^tokenizer$' \ && php-fpm -m | grep -oiE '^tokenizer$' \
&& php -m | grep -oiE '^uploadprogress$' \ && php -m | grep -oiE '^uploadprogress$' \
&& php-fpm -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 -m | grep -oiE '^wddx$' \
&& php-fpm -m | grep -oiE '^wddx$' \ && php-fpm -m | grep -oiE '^wddx$' \
&& php -m | grep -oiE '^xdebug$' \ && php -m | grep -oiE '^xdebug$' \
@@ -1006,6 +1099,8 @@ RUN set -eux \
&& php-fpm -m | grep -oiE '^xmlwriter$' \ && php-fpm -m | grep -oiE '^xmlwriter$' \
&& php -m | grep -oiE '^xsl$' \ && php -m | grep -oiE '^xsl$' \
&& php-fpm -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 -m | grep -oiE '^yaml$' \
&& php-fpm -m | grep -oiE '^yaml$' \ && php-fpm -m | grep -oiE '^yaml$' \
&& php -m | grep -oiE '^zip$' \ && php -m | grep -oiE '^zip$' \

View File

@@ -10,41 +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 apt-utils \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
alien \ alien \
fftw-dev \
firebird-dev \ firebird-dev \
freetds-dev \ freetds-dev \
ghostscript \
gobject-introspection \
gtk-doc-tools \
libaio-dev \ libaio-dev \
libbz2-dev \ libbz2-dev \
libc-client-dev \ libc-client-dev \
libcurl4-openssl-dev \ libcurl4-openssl-dev \
libenchant-dev \ libenchant-dev \
libevent-dev \ libevent-dev \
libexif-dev \
libexpat1-dev \
libfbclient2 \ libfbclient2 \
libfftw3-dev \
libfreetype6-dev \ libfreetype6-dev \
libgif-dev \
libglib2.0-dev \
libgmp-dev \ libgmp-dev \
libib-util \ libib-util \
libicu-dev \ libicu-dev \
libimagequant-dev \
libjpeg-dev \ libjpeg-dev \
libkrb5-dev \ libkrb5-dev \
libldap2-dev \ libldap2-dev \
libmagick++-dev \
libmagickcore-6.q16-dev \
libmagickwand-dev \ libmagickwand-dev \
libmcrypt-dev \ libmcrypt-dev \
libmemcached-dev \ libmemcached-dev \
libnghttp2-dev \ libnghttp2-dev \
libpcre3-dev \ libpcre3-dev \
libpng-dev \ libpng-dev \
libpoppler-glib-dev \
libpq-dev \ libpq-dev \
libpspell-dev \ libpspell-dev \
librabbitmq-dev \ librabbitmq-dev \
librdkafka-dev \ librdkafka-dev \
librecode-dev \ librecode-dev \
librsvg2-dev \
libsasl2-dev \ libsasl2-dev \
libsnmp-dev \ libsnmp-dev \
libssh2-1-dev \ libssh2-1-dev \
libssl-dev \ libssl-dev \
libtidy-dev \ libtidy-dev \
libtool \
libvpx-dev \ libvpx-dev \
libwebp-dev \ libwebp-dev \
libwebp6 \ libwebp6 \
libwebpdemux2 \
libwebpmux3 \
libxml2-dev \ libxml2-dev \
libxpm-dev \ libxpm-dev \
libxslt-dev \ libxslt-dev \
@@ -222,6 +239,17 @@ RUN set -eux \
&& pecl install imagick \ && pecl install imagick \
# Enabling # Enabling
&& docker-php-ext-enable imagick \ && docker-php-ext-enable imagick \
# Generic post-command
&& sed -i'' 's|.*"thread".*| <policy domain="resource" name="thread" value="1"/>|g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS2".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS3".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"EPS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PDF".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"XPS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="delegate".*pattern="gs".*||g' /etc/ImageMagick-6/policy.xml \
\
&& true && true
@@ -660,6 +688,26 @@ RUN set -eux \
&& true && 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 -------------------- # -------------------- Installing PHP Extension: wddx --------------------
RUN set -eux \ RUN set -eux \
# Installation: Generic # Installation: Generic
@@ -699,6 +747,17 @@ RUN set -eux \
&& true && 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 -------------------- # -------------------- Installing PHP Extension: yaml --------------------
RUN set -eux \ RUN set -eux \
# Installation: Generic # Installation: Generic
@@ -767,6 +826,8 @@ LABEL "org.opencontainers.image.description"="PHP-FPM 7.2-mods"
ARG EXT_DIR ARG EXT_DIR
COPY --from=builder ${EXT_DIR}/ ${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/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/ COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/
@@ -776,29 +837,48 @@ COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/
RUN set -eux \ RUN set -eux \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \ && DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \ && 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 \ libaio1 \
libaspell15 \ libaspell15 \
libc-client2007e \ libc-client2007e \
libenchant1c2a \ libenchant1c2a \
libexif12 \
libexpat1 \
libfbclient2 \ libfbclient2 \
libfftw3-3 \
libfreetype6 \ libfreetype6 \
libgif7 \
libglib2.0-0 \
libicu63 \ libicu63 \
libimagequant0 \
libjpeg62-turbo \ 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.q16-6 \
libmagickwand-6.q16hdri-6 \
libmcrypt4 \ libmcrypt4 \
libmemcachedutil2 \ libmemcachedutil2 \
libnghttp2-14 \ libnghttp2-14 \
libpng16-16 \ libpng16-16 \
libpoppler-glib8 \
libpq5 \ libpq5 \
librabbitmq4 \ librabbitmq4 \
librdkafka1 \ librdkafka1 \
librecode0 \ librecode0 \
librsvg2-2 \
libssh2-1 \ libssh2-1 \
libsybdb5 \ libsybdb5 \
libtidy5deb1 \ libtidy5deb1 \
libvpx5 \ libvpx5 \
libwebp-dev \ libwebp-dev \
libwebp6 \ libwebp6 \
libwebpdemux2 \
libwebpmux3 \
libxpm4 \ libxpm4 \
libxslt1.1 \ libxslt1.1 \
libyaml-0-2 \ libyaml-0-2 \
@@ -815,6 +895,17 @@ RUN set -eux \
### Post Install ### Post Install
### ###
RUN set -eux \ RUN set -eux \
# ---------- imagick ----------
&& sed -i'' 's|.*"thread".*| <policy domain="resource" name="thread" value="1"/>|g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS2".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS3".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"EPS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PDF".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"XPS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="delegate".*pattern="gs".*||g' /etc/ImageMagick-6/policy.xml \
\
# ---------- oci8 ---------- # ---------- oci8 ----------
&& ORACLE_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/ | tac | tac | grep -Eo 'href="getPackage/oracle-instantclient.+basiclite.+rpm"' | tail -1 )" \ && ORACLE_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/ | tac | tac | grep -Eo 'href="getPackage/oracle-instantclient.+basiclite.+rpm"' | tail -1 )" \
&& ORACLE_VERSION_MAJOR="$( echo "${ORACLE_HREF}" | grep -Eo 'instantclient[.0-9]+' | sed 's/instantclient//g' )" \ && ORACLE_VERSION_MAJOR="$( echo "${ORACLE_HREF}" | grep -Eo 'instantclient[.0-9]+' | sed 's/instantclient//g' )" \
@@ -998,6 +1089,8 @@ RUN set -eux \
&& php-fpm -m | grep -oiE '^tokenizer$' \ && php-fpm -m | grep -oiE '^tokenizer$' \
&& php -m | grep -oiE '^uploadprogress$' \ && php -m | grep -oiE '^uploadprogress$' \
&& php-fpm -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 -m | grep -oiE '^wddx$' \
&& php-fpm -m | grep -oiE '^wddx$' \ && php-fpm -m | grep -oiE '^wddx$' \
&& php -m | grep -oiE '^xdebug$' \ && php -m | grep -oiE '^xdebug$' \
@@ -1012,6 +1105,8 @@ RUN set -eux \
&& php-fpm -m | grep -oiE '^xmlwriter$' \ && php-fpm -m | grep -oiE '^xmlwriter$' \
&& php -m | grep -oiE '^xsl$' \ && php -m | grep -oiE '^xsl$' \
&& php-fpm -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 -m | grep -oiE '^yaml$' \
&& php-fpm -m | grep -oiE '^yaml$' \ && php-fpm -m | grep -oiE '^yaml$' \
&& php -m | grep -oiE '^zip$' \ && php -m | grep -oiE '^zip$' \

View File

@@ -10,41 +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 apt-utils \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
alien \ alien \
fftw-dev \
firebird-dev \ firebird-dev \
freetds-dev \ freetds-dev \
ghostscript \
gobject-introspection \
gtk-doc-tools \
libaio-dev \ libaio-dev \
libbz2-dev \ libbz2-dev \
libc-client-dev \ libc-client-dev \
libcurl4-openssl-dev \ libcurl4-openssl-dev \
libenchant-dev \ libenchant-dev \
libevent-dev \ libevent-dev \
libexif-dev \
libexpat1-dev \
libfbclient2 \ libfbclient2 \
libfftw3-dev \
libfreetype6-dev \ libfreetype6-dev \
libgif-dev \
libglib2.0-dev \
libgmp-dev \ libgmp-dev \
libib-util \ libib-util \
libicu-dev \ libicu-dev \
libimagequant-dev \
libjpeg-dev \ libjpeg-dev \
libkrb5-dev \ libkrb5-dev \
libldap2-dev \ libldap2-dev \
libmagick++-dev \
libmagickcore-6.q16-dev \
libmagickwand-dev \ libmagickwand-dev \
libmcrypt-dev \ libmcrypt-dev \
libmemcached-dev \ libmemcached-dev \
libnghttp2-dev \ libnghttp2-dev \
libpcre3-dev \ libpcre3-dev \
libpng-dev \ libpng-dev \
libpoppler-glib-dev \
libpq-dev \ libpq-dev \
libpspell-dev \ libpspell-dev \
librabbitmq-dev \ librabbitmq-dev \
librdkafka-dev \ librdkafka-dev \
librecode-dev \ librecode-dev \
librsvg2-dev \
libsasl2-dev \ libsasl2-dev \
libsnmp-dev \ libsnmp-dev \
libssh2-1-dev \ libssh2-1-dev \
libssl-dev \ libssl-dev \
libtidy-dev \ libtidy-dev \
libtool \
libvpx-dev \ libvpx-dev \
libwebp-dev \ libwebp-dev \
libwebp6 \ libwebp6 \
libwebpdemux2 \
libwebpmux3 \
libxml2-dev \ libxml2-dev \
libxpm-dev \ libxpm-dev \
libxslt-dev \ libxslt-dev \
@@ -222,6 +239,17 @@ RUN set -eux \
&& pecl install imagick \ && pecl install imagick \
# Enabling # Enabling
&& docker-php-ext-enable imagick \ && docker-php-ext-enable imagick \
# Generic post-command
&& sed -i'' 's|.*"thread".*| <policy domain="resource" name="thread" value="1"/>|g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS2".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS3".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"EPS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PDF".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"XPS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="delegate".*pattern="gs".*||g' /etc/ImageMagick-6/policy.xml \
\
&& true && true
@@ -660,6 +688,26 @@ RUN set -eux \
&& true && 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 -------------------- # -------------------- Installing PHP Extension: wddx --------------------
RUN set -eux \ RUN set -eux \
# Installation: Generic # Installation: Generic
@@ -699,6 +747,17 @@ RUN set -eux \
&& true && 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 -------------------- # -------------------- Installing PHP Extension: yaml --------------------
RUN set -eux \ RUN set -eux \
# Installation: Generic # Installation: Generic
@@ -767,6 +826,8 @@ LABEL "org.opencontainers.image.description"="PHP-FPM 7.3-mods"
ARG EXT_DIR ARG EXT_DIR
COPY --from=builder ${EXT_DIR}/ ${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/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/ COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/
@@ -776,29 +837,48 @@ COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/
RUN set -eux \ RUN set -eux \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \ && DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \ && 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 \ libaio1 \
libaspell15 \ libaspell15 \
libc-client2007e \ libc-client2007e \
libenchant1c2a \ libenchant1c2a \
libexif12 \
libexpat1 \
libfbclient2 \ libfbclient2 \
libfftw3-3 \
libfreetype6 \ libfreetype6 \
libgif7 \
libglib2.0-0 \
libicu63 \ libicu63 \
libimagequant0 \
libjpeg62-turbo \ 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.q16-6 \
libmagickwand-6.q16hdri-6 \
libmcrypt4 \ libmcrypt4 \
libmemcachedutil2 \ libmemcachedutil2 \
libnghttp2-14 \ libnghttp2-14 \
libpng16-16 \ libpng16-16 \
libpoppler-glib8 \
libpq5 \ libpq5 \
librabbitmq4 \ librabbitmq4 \
librdkafka1 \ librdkafka1 \
librecode0 \ librecode0 \
librsvg2-2 \
libssh2-1 \ libssh2-1 \
libsybdb5 \ libsybdb5 \
libtidy5deb1 \ libtidy5deb1 \
libvpx5 \ libvpx5 \
libwebp-dev \ libwebp-dev \
libwebp6 \ libwebp6 \
libwebpdemux2 \
libwebpmux3 \
libxpm4 \ libxpm4 \
libxslt1.1 \ libxslt1.1 \
libyaml-0-2 \ libyaml-0-2 \
@@ -815,6 +895,17 @@ RUN set -eux \
### Post Install ### Post Install
### ###
RUN set -eux \ RUN set -eux \
# ---------- imagick ----------
&& sed -i'' 's|.*"thread".*| <policy domain="resource" name="thread" value="1"/>|g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS2".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS3".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"EPS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PDF".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"XPS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="delegate".*pattern="gs".*||g' /etc/ImageMagick-6/policy.xml \
\
# ---------- oci8 ---------- # ---------- oci8 ----------
&& ORACLE_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/ | tac | tac | grep -Eo 'href="getPackage/oracle-instantclient.+basiclite.+rpm"' | tail -1 )" \ && ORACLE_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/ | tac | tac | grep -Eo 'href="getPackage/oracle-instantclient.+basiclite.+rpm"' | tail -1 )" \
&& ORACLE_VERSION_MAJOR="$( echo "${ORACLE_HREF}" | grep -Eo 'instantclient[.0-9]+' | sed 's/instantclient//g' )" \ && ORACLE_VERSION_MAJOR="$( echo "${ORACLE_HREF}" | grep -Eo 'instantclient[.0-9]+' | sed 's/instantclient//g' )" \
@@ -998,6 +1089,8 @@ RUN set -eux \
&& php-fpm -m | grep -oiE '^tokenizer$' \ && php-fpm -m | grep -oiE '^tokenizer$' \
&& php -m | grep -oiE '^uploadprogress$' \ && php -m | grep -oiE '^uploadprogress$' \
&& php-fpm -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 -m | grep -oiE '^wddx$' \
&& php-fpm -m | grep -oiE '^wddx$' \ && php-fpm -m | grep -oiE '^wddx$' \
&& php -m | grep -oiE '^xdebug$' \ && php -m | grep -oiE '^xdebug$' \
@@ -1012,6 +1105,8 @@ RUN set -eux \
&& php-fpm -m | grep -oiE '^xmlwriter$' \ && php-fpm -m | grep -oiE '^xmlwriter$' \
&& php -m | grep -oiE '^xsl$' \ && php -m | grep -oiE '^xsl$' \
&& php-fpm -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 -m | grep -oiE '^yaml$' \
&& php-fpm -m | grep -oiE '^yaml$' \ && php-fpm -m | grep -oiE '^yaml$' \
&& php -m | grep -oiE '^zip$' \ && php -m | grep -oiE '^zip$' \

View File

@@ -10,39 +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 apt-utils \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
alien \ alien \
fftw-dev \
firebird-dev \ firebird-dev \
freetds-dev \ freetds-dev \
ghostscript \
gobject-introspection \
gtk-doc-tools \
libaio-dev \ libaio-dev \
libbz2-dev \ libbz2-dev \
libc-client-dev \
libcurl4-openssl-dev \ libcurl4-openssl-dev \
libenchant-dev \ libenchant-dev \
libevent-dev \ libevent-dev \
libexif-dev \
libexpat1-dev \
libfbclient2 \ libfbclient2 \
libffi-dev \ libffi-dev \
libfftw3-dev \
libfreetype6-dev \ libfreetype6-dev \
libgif-dev \
libglib2.0-dev \
libgmp-dev \ libgmp-dev \
libib-util \ libib-util \
libicu-dev \ libicu-dev \
libimagequant-dev \
libjpeg-dev \ libjpeg-dev \
libkrb5-dev \
libldap2-dev \ libldap2-dev \
libmagick++-dev \
libmagickcore-6.q16-dev \
libmagickwand-dev \ libmagickwand-dev \
libmcrypt-dev \ libmcrypt-dev \
libmemcached-dev \ libmemcached-dev \
libnghttp2-dev \ libnghttp2-dev \
libpcre3-dev \ libpcre3-dev \
libpng-dev \ libpng-dev \
libpoppler-glib-dev \
libpq-dev \ libpq-dev \
libpspell-dev \ libpspell-dev \
librabbitmq-dev \ librabbitmq-dev \
librdkafka-dev \ librdkafka-dev \
librsvg2-dev \
libsasl2-dev \ libsasl2-dev \
libsnmp-dev \ libsnmp-dev \
libssh2-1-dev \ libssh2-1-dev \
libssl-dev \ libssl-dev \
libtidy-dev \ libtidy-dev \
libtool \
libvpx-dev \ libvpx-dev \
libwebp-dev \ libwebp-dev \
libwebp6 \ libwebp6 \
libwebpdemux2 \
libwebpmux3 \
libxml2-dev \ libxml2-dev \
libxpm-dev \ libxpm-dev \
libxslt-dev \ libxslt-dev \
@@ -219,6 +238,29 @@ RUN set -eux \
&& pecl install imagick \ && pecl install imagick \
# Enabling # Enabling
&& docker-php-ext-enable imagick \ && docker-php-ext-enable imagick \
# Generic post-command
&& sed -i'' 's|.*"thread".*| <policy domain="resource" name="thread" value="1"/>|g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS2".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS3".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"EPS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PDF".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"XPS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="delegate".*pattern="gs".*||g' /etc/ImageMagick-6/policy.xml \
\
&& true
# -------------------- Installing PHP Extension: imap --------------------
RUN set -eux \
# Generic pre-command
&& ln -s /usr/lib/x86_64-linux-gnu/libkrb5* /usr/lib/ \
# Installation: Generic
# Type: Built-in extension
# Custom: configure command
&& docker-php-ext-configure imap --with-kerberos --with-imap-ssl --with-imap \
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) imap \
&& true && true
@@ -609,6 +651,26 @@ RUN set -eux \
&& true && 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 -------------------- # -------------------- Installing PHP Extension: xdebug --------------------
RUN set -eux \ RUN set -eux \
# Installation: Generic # Installation: Generic
@@ -639,6 +701,17 @@ RUN set -eux \
&& true && 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 -------------------- # -------------------- Installing PHP Extension: yaml --------------------
RUN set -eux \ RUN set -eux \
# Installation: Generic # Installation: Generic
@@ -708,6 +781,8 @@ LABEL "org.opencontainers.image.description"="PHP-FPM 7.4-mods"
ARG EXT_DIR ARG EXT_DIR
COPY --from=builder ${EXT_DIR}/ ${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/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/ COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/
@@ -717,28 +792,48 @@ COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/
RUN set -eux \ RUN set -eux \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \ && DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \ && 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 \ libaio1 \
libaspell15 \ libaspell15 \
libc-client2007e \
libenchant1c2a \ libenchant1c2a \
libexif12 \
libexpat1 \
libfbclient2 \ libfbclient2 \
libffi6 \ libffi6 \
libfftw3-3 \
libfreetype6 \ libfreetype6 \
libgif7 \
libglib2.0-0 \
libicu63 \ libicu63 \
libimagequant0 \
libjpeg62-turbo \ 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.q16-6 \
libmagickwand-6.q16hdri-6 \
libmcrypt4 \ libmcrypt4 \
libmemcachedutil2 \ libmemcachedutil2 \
libnghttp2-14 \ libnghttp2-14 \
libpng16-16 \ libpng16-16 \
libpoppler-glib8 \
libpq5 \ libpq5 \
librabbitmq4 \ librabbitmq4 \
librdkafka1 \ librdkafka1 \
librsvg2-2 \
libssh2-1 \ libssh2-1 \
libsybdb5 \ libsybdb5 \
libtidy5deb1 \ libtidy5deb1 \
libvpx5 \ libvpx5 \
libwebp-dev \ libwebp-dev \
libwebp6 \ libwebp6 \
libwebpdemux2 \
libwebpmux3 \
libxpm4 \ libxpm4 \
libxslt1.1 \ libxslt1.1 \
libyaml-0-2 \ libyaml-0-2 \
@@ -754,6 +849,17 @@ RUN set -eux \
### Post Install ### Post Install
### ###
RUN set -eux \ RUN set -eux \
# ---------- imagick ----------
&& sed -i'' 's|.*"thread".*| <policy domain="resource" name="thread" value="1"/>|g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS2".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS3".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"EPS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PDF".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"XPS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="delegate".*pattern="gs".*||g' /etc/ImageMagick-6/policy.xml \
\
# ---------- oci8 ---------- # ---------- oci8 ----------
&& ORACLE_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/ | tac | tac | grep -Eo 'href="getPackage/oracle-instantclient.+basiclite.+rpm"' | tail -1 )" \ && ORACLE_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/ | tac | tac | grep -Eo 'href="getPackage/oracle-instantclient.+basiclite.+rpm"' | tail -1 )" \
&& ORACLE_VERSION_MAJOR="$( echo "${ORACLE_HREF}" | grep -Eo 'instantclient[.0-9]+' | sed 's/instantclient//g' )" \ && ORACLE_VERSION_MAJOR="$( echo "${ORACLE_HREF}" | grep -Eo 'instantclient[.0-9]+' | sed 's/instantclient//g' )" \
@@ -826,6 +932,8 @@ RUN set -eux \
&& php-fpm -m | grep -oiE '^igbinary$' \ && php-fpm -m | grep -oiE '^igbinary$' \
&& php -m | grep -oiE '^imagick$' \ && php -m | grep -oiE '^imagick$' \
&& php-fpm -m | grep -oiE '^imagick$' \ && php-fpm -m | grep -oiE '^imagick$' \
&& php -m | grep -oiE '^imap$' \
&& php-fpm -m | grep -oiE '^imap$' \
&& php -m | grep -oiE '^intl$' \ && php -m | grep -oiE '^intl$' \
&& php-fpm -m | grep -oiE '^intl$' \ && php-fpm -m | grep -oiE '^intl$' \
&& php -m | grep -oiE '^json$' \ && php -m | grep -oiE '^json$' \
@@ -929,6 +1037,8 @@ RUN set -eux \
&& php-fpm -m | grep -oiE '^tokenizer$' \ && php-fpm -m | grep -oiE '^tokenizer$' \
&& php -m | grep -oiE '^uploadprogress$' \ && php -m | grep -oiE '^uploadprogress$' \
&& php-fpm -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 -m | grep -oiE '^xdebug$' \
&& php-fpm -m | grep -oiE '^xdebug$' \ && php-fpm -m | grep -oiE '^xdebug$' \
&& php -m | grep -oiE '^xml$' \ && php -m | grep -oiE '^xml$' \
@@ -941,6 +1051,8 @@ RUN set -eux \
&& php-fpm -m | grep -oiE '^xmlwriter$' \ && php-fpm -m | grep -oiE '^xmlwriter$' \
&& php -m | grep -oiE '^xsl$' \ && php -m | grep -oiE '^xsl$' \
&& php-fpm -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 -m | grep -oiE '^yaml$' \
&& php-fpm -m | grep -oiE '^yaml$' \ && php-fpm -m | grep -oiE '^yaml$' \
&& php -m | grep -oiE '^zip$' \ && php -m | grep -oiE '^zip$' \

View File

@@ -179,48 +179,6 @@ RUN set -eux \
&& true && true
# -------------------- Installing PHP Extension: mongodb --------------------
RUN set -eux \
# Installation: Version specific
# Type: GIT extension
&& git clone https://github.com/mongodb/mongo-php-driver /tmp/mongodb \
&& cd /tmp/mongodb \
# Custom: Install command
&& git checkout v1.6 \
&& git submodule update --init \
# FIXME: This is a work-around to mitigate compile error with PHP 8.0
&& rgrep -I 'TSRMLS_C' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_C)/)/g' \
&& rgrep -I 'TSRMLS_C' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_C,/,/g' \
&& rgrep -I 'TSRMLS_CC' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_CC)/)/g' \
&& rgrep -I 'TSRMLS_CC' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_CC,/,/g' \
&& rgrep -I 'TSRMLS_DC' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_DC)/)/g' \
&& rgrep -I 'TSRMLS_DC' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_DC,/,/g' \
&& sed -i'' 's/TSRMLS_SET_CTX(ctx);/\/\/TSRMLS_SET_CTX(ctx);/g' php_phongo.c \
&& sed -i'' 's/TSRMLS_FETCH();/\/\/TSRMLS_FETCH();/g' php_phongo.c \
&& sed -i'' 's/TSRMLS_FETCH();/\/\/TSRMLS_FETCH();/g' phongo_compat.h \
&& sed -i'' 's/TSRMLS_FETCH();/\/\/TSRMLS_FETCH();/g' src/bson.c \
\
&& sed -i'' 's/php_phongo_handler_binary.compare_objects.*//g' src/BSON/Binary.c \
&& sed -i'' 's/php_phongo_handler_dbpointer.compare_objects.*//g' src/BSON/DBPointer.c \
&& sed -i'' 's/php_phongo_handler_int64.compare_objects.*//g' src/BSON/Int64.c \
&& sed -i'' 's/php_phongo_handler_javascript.compare_objects.*//g' src/BSON/Javascript.c \
&& sed -i'' 's/php_phongo_handler_objectid.compare_objects.*//g' src/BSON/ObjectId.c \
&& sed -i'' 's/php_phongo_handler_symbol.compare_objects.*//g' src/BSON/Symbol.c \
&& sed -i'' 's/php_phongo_handler_timestamp.compare_objects.*//g' src/BSON/Timestamp.c \
&& sed -i'' 's/php_phongo_handler_regex.compare_objects.*//g' src/BSON/Regex.c \
&& sed -i'' 's/php_phongo_handler_server.compare_objects.*//g' src/MongoDB/Server.c \
&& sed -i'' 's/php_phongo_handler_utcdatetime.compare_objects.*//g' src/BSON/UTCDateTime.c \
\
&& phpize \
&& ./configure --enable-mongodb \
&& make all \
&& make install \
\
# Enabling
&& docker-php-ext-enable mongodb \
&& true
# -------------------- Installing PHP Extension: mysqli -------------------- # -------------------- Installing PHP Extension: mysqli --------------------
RUN set -eux \ RUN set -eux \
# Installation: Generic # Installation: Generic
@@ -365,6 +323,10 @@ RUN set -eux \
&& git checkout $(git for-each-ref --format='%(refname)' refs/tags | grep -E 'tags/[.0-9]+$' | sed 's|.*tags/||g' | sort -V | tail -1) \ && git checkout $(git for-each-ref --format='%(refname)' refs/tags | grep -E 'tags/[.0-9]+$' | sed 's|.*tags/||g' | sort -V | tail -1) \
# Custom: Install command # Custom: Install command
&& sed -i'' 's/, ZSTR_LEN(ra->algorithm)//g' redis_array_impl.c \ && sed -i'' 's/, ZSTR_LEN(ra->algorithm)//g' redis_array_impl.c \
&& sed -i'' 's|.*sctx->cb\.no_separation.*||g' library.c \
&& sed -i'' 's|.*sctx->cb\.no_separation.*||g' redis_array_impl.c \
&& sed -i'' 's|.*sctx->cb\.no_separation.*||g' cluster_library.c \
&& sed -i'' 's|.*->no_separation.*||g' redis_array_impl.c \
&& phpize \ && phpize \
&& ./configure --enable-redis \ && ./configure --enable-redis \
&& make -j$(getconf _NPROCESSORS_ONLN) \ && make -j$(getconf _NPROCESSORS_ONLN) \
@@ -451,13 +413,19 @@ RUN set -eux \
&& true && true
# -------------------- Installing PHP Extension: xmlrpc -------------------- # -------------------- Installing PHP Extension: xdebug --------------------
RUN set -eux \ RUN set -eux \
# Installation: Generic # Installation: Version specific
# Type: Built-in extension # Type: GIT extension
# Custom: configure command && git clone https://github.com/xdebug/xdebug /tmp/xdebug \
&& docker-php-ext-configure xmlrpc --with-libxml-dir=/usr --with-iconv-dir=/usr \ && cd /tmp/xdebug \
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xmlrpc \ # Default: Install command
&& phpize \
&& ./configure --enable-xdebug \
&& make -j$(getconf _NPROCESSORS_ONLN) \
&& make install \
# Enabling
&& docker-php-ext-enable xdebug \
&& true && true
@@ -526,6 +494,8 @@ LABEL "org.opencontainers.image.description"="PHP-FPM 8.0-mods"
ARG EXT_DIR ARG EXT_DIR
COPY --from=builder ${EXT_DIR}/ ${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/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/ COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/
@@ -640,8 +610,6 @@ RUN set -eux \
&& php-fpm -m | grep -oiE '^mbstring$' \ && php-fpm -m | grep -oiE '^mbstring$' \
&& php -m | grep -oiE '^memcached$' \ && php -m | grep -oiE '^memcached$' \
&& php-fpm -m | grep -oiE '^memcached$' \ && php-fpm -m | grep -oiE '^memcached$' \
&& php -m | grep -oiE '^mongodb$' \
&& php-fpm -m | grep -oiE '^mongodb$' \
&& php -m | grep -oiE '^mysqli$' \ && php -m | grep -oiE '^mysqli$' \
&& php-fpm -m | grep -oiE '^mysqli$' \ && php-fpm -m | grep -oiE '^mysqli$' \
&& php -m | grep -oiE '^mysqlnd$' \ && php -m | grep -oiE '^mysqlnd$' \
@@ -709,12 +677,12 @@ RUN set -eux \
&& php-fpm -m | grep -oiE '^tidy$' \ && php-fpm -m | grep -oiE '^tidy$' \
&& php -m | grep -oiE '^tokenizer$' \ && php -m | grep -oiE '^tokenizer$' \
&& php-fpm -m | grep -oiE '^tokenizer$' \ && php-fpm -m | grep -oiE '^tokenizer$' \
&& php -m | grep -oiE '^xdebug$' \
&& php-fpm -m | grep -oiE '^xdebug$' \
&& php -m | grep -oiE '^xml$' \ && php -m | grep -oiE '^xml$' \
&& php-fpm -m | grep -oiE '^xml$' \ && php-fpm -m | grep -oiE '^xml$' \
&& php -m | grep -oiE '^xmlreader$' \ && php -m | grep -oiE '^xmlreader$' \
&& php-fpm -m | grep -oiE '^xmlreader$' \ && php-fpm -m | grep -oiE '^xmlreader$' \
&& php -m | grep -oiE '^xmlrpc$' \
&& php-fpm -m | grep -oiE '^xmlrpc$' \
&& php -m | grep -oiE '^xmlwriter$' \ && php -m | grep -oiE '^xmlwriter$' \
&& php-fpm -m | grep -oiE '^xmlwriter$' \ && php-fpm -m | grep -oiE '^xmlwriter$' \
&& php -m | grep -oiE '^xsl$' \ && php -m | grep -oiE '^xsl$' \

View File

@@ -74,6 +74,7 @@ RUN set -eux \
git-svn \ git-svn \
ghostscript \ ghostscript \
graphviz \ graphviz \
gsfonts \
hostname \ hostname \
htop \ htop \
imagemagick \ imagemagick \
@@ -84,11 +85,14 @@ RUN set -eux \
libffi-dev \ libffi-dev \
libssl-dev \ libssl-dev \
libyaml-dev \ libyaml-dev \
locales \
make \ make \
mongodb-org-shell \ mongodb-org-shell \
mongodb-org-tools \ mongodb-org-tools \
moreutils \ moreutils \
mysql-client \ mysql-client \
mupdf \
mupdf-tools \
nano \ nano \
net-tools \ net-tools \
netcat \ netcat \
@@ -360,6 +364,9 @@ RUN set -eux \
# -------------------- mixlib_config -------------------- # -------------------- mixlib_config --------------------
&& gem install mixlib-config -v 2.2.4 \ && gem install mixlib-config -v 2.2.4 \
\ \
# -------------------- ffi --------------------
&& gem install ffi -v 1.12.2 \
\
# -------------------- rb_inotify -------------------- # -------------------- rb_inotify --------------------
&& gem install rb-inotify -v 0.9.10 \ && gem install rb-inotify -v 0.9.10 \
\ \
@@ -381,13 +388,13 @@ RUN set -eux \
### ###
RUN set -eux \ RUN set -eux \
# -------------------- ansible -------------------- # -------------------- ansible --------------------
&& pip install --no-cache-dir --force-reinstall ansible \ && pip install --no-cache-dir --force-reinstall ansible || true \
\ \
# -------------------- yamllint -------------------- # -------------------- yamllint --------------------
&& pip install --no-cache-dir --force-reinstall yamllint \ && pip install --no-cache-dir --force-reinstall yamllint || true \
\ \
# -------------------- yq -------------------- # -------------------- yq --------------------
&& pip install --no-cache-dir --force-reinstall yq \ && pip install --no-cache-dir --force-reinstall yq || true \
\ \
\ \
&& rm -rf /root/.cache/pip \ && rm -rf /root/.cache/pip \
@@ -440,38 +447,38 @@ RUN set -eux \
RUN set -eux \ RUN set -eux \
# -------------------- Software -------------------- # -------------------- Software --------------------
&& su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^[.0-9]+' \ && su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^[0-9][.0-9]+' \
&& regex-grep --version | grep -E '[.0-9]+' \ && regex-grep --version | grep -E '[0-9][.0-9]+' \
&& git-flow version | grep -E '[.0-9]+' \ && git-flow version | grep -E '[0-9][.0-9]+' \
&& linkcheck --version | grep -E '^linkcheck\sv[.0-9]+' \ && linkcheck --version | grep -E '^linkcheck\sv[0-9][.0-9]+' \
&& su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew --version' | grep -E 'Homebrew\s*[.0-9]+' \ && su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew --version' | grep -E 'Homebrew\s*[0-9][.0-9]+' \
&& mysqldump-secure --version | grep -E 'Version:\s*[.0-9]+' \ && mysqldump-secure --version | grep -E 'Version:\s*[0-9][.0-9]+' \
&& phpcs --version | grep -E 'version [.0-9]+' \ && phpcs --version | grep -E 'version [0-9][.0-9]+' \
&& phpcbf --version | grep -E 'version [.0-9]+' \ && phpcbf --version | grep -E 'version [0-9][.0-9]+' \
&& wkhtmltopdf --version | grep -E "^wkhtmltopdf [.0-9]+\s+\(.+patched.+\)" \ && wkhtmltopdf --version | grep -E "^wkhtmltopdf [0-9][.0-9]+\s+\(.+patched.+\)" \
\ \
# -------------------- Composer -------------------- # -------------------- Composer --------------------
\ \
# -------------------- PIP -------------------- # -------------------- PIP --------------------
&& ansible --version | grep -E '^ansible [.0-9]+$' \ && ansible --version | grep -E '^ansible [0-9][.0-9]+$' \
&& yamllint --version 2>&1 | grep -E '[.0-9]+' \ && yamllint --version 2>&1 | grep -E '[0-9][.0-9]+' \
&& yq --version 2>&1 | grep -E '^yq\s+[.0-9]+$' \ && yq --version 2>&1 | grep -E '^yq\s+[0-9][.0-9]+$' \
\ \
# -------------------- NPM -------------------- # -------------------- NPM --------------------
&& ng version 2>&1 | grep -iE 'Angular CLI:\s*[.0-9]+' \ && ng version 2>&1 | grep -iE 'Angular CLI:\s*[0-9][.0-9]+' \
&& eslint -v | grep -E '[.0-9]+' \ && eslint -v | grep -E '[0-9][.0-9]+' \
&& grunt --version | grep -E '[.0-9]+' \ && grunt --version | grep -E '[0-9][.0-9]+' \
&& gulp --version | grep -E '[.0-9]+' \ && gulp --version | grep -E '[0-9][.0-9]+' \
&& jsonlint --version | grep -E '[.0-9]+' \ && jsonlint --version | grep -E '[0-9][.0-9]+' \
&& pm2 --no-daemon --version | grep -E '[.0-9]+' \ && pm2 --no-daemon --version | tail -1 | grep -E '[0-9][.0-9]+' \
&& mdlint --version | grep -E '[.0-9]+' \ && mdlint --version | grep -E '[0-9][.0-9]+' \
&& sass --version | grep -E '[.0-9]+' \ && sass --version | grep -E '[0-9][.0-9]+' \
&& stylelint --version | grep -E '[.0-9]+' \ && stylelint --version | grep -E '[0-9][.0-9]+' \
&& vue --version | grep -E '[.0-9]+' \ && vue --version | grep -E '[0-9][.0-9]+' \
&& webpack --version | grep -E '[.0-9]+' \ && webpack --version | grep -E '[0-9][.0-9]+' \
\ \
# -------------------- GEM -------------------- # -------------------- GEM --------------------
&& mdl --version | grep -E '[.0-9]+' \ && mdl --version | grep -E '[0-9][.0-9]+' \
\ \
# -------------------- Cleanup -------------------- # -------------------- Cleanup --------------------
&& rm -rf /home/devilbox/.cache/ \ && rm -rf /home/devilbox/.cache/ \

View File

@@ -74,6 +74,7 @@ RUN set -eux \
git-svn \ git-svn \
ghostscript \ ghostscript \
graphviz \ graphviz \
gsfonts \
hostname \ hostname \
htop \ htop \
imagemagick \ imagemagick \
@@ -84,11 +85,14 @@ RUN set -eux \
libffi-dev \ libffi-dev \
libssl-dev \ libssl-dev \
libyaml-dev \ libyaml-dev \
locales \
make \ make \
mongodb-org-shell \ mongodb-org-shell \
mongodb-org-tools \ mongodb-org-tools \
moreutils \ moreutils \
mysql-client \ mysql-client \
mupdf \
mupdf-tools \
nano \ nano \
net-tools \ net-tools \
netcat \ netcat \
@@ -416,6 +420,9 @@ RUN set -eux \
# -------------------- mixlib_config -------------------- # -------------------- mixlib_config --------------------
&& gem install mixlib-config -v 2.2.4 \ && gem install mixlib-config -v 2.2.4 \
\ \
# -------------------- ffi --------------------
&& gem install ffi -v 1.12.2 \
\
# -------------------- rb_inotify -------------------- # -------------------- rb_inotify --------------------
&& gem install rb-inotify -v 0.9.10 \ && gem install rb-inotify -v 0.9.10 \
\ \
@@ -437,13 +444,13 @@ RUN set -eux \
### ###
RUN set -eux \ RUN set -eux \
# -------------------- ansible -------------------- # -------------------- ansible --------------------
&& pip install --no-cache-dir --force-reinstall ansible \ && pip install --no-cache-dir --force-reinstall ansible || true \
\ \
# -------------------- yamllint -------------------- # -------------------- yamllint --------------------
&& pip install --no-cache-dir --force-reinstall yamllint \ && pip install --no-cache-dir --force-reinstall yamllint || true \
\ \
# -------------------- yq -------------------- # -------------------- yq --------------------
&& pip install --no-cache-dir --force-reinstall yq \ && pip install --no-cache-dir --force-reinstall yq || true \
\ \
\ \
&& rm -rf /root/.cache/pip \ && rm -rf /root/.cache/pip \
@@ -496,46 +503,46 @@ RUN set -eux \
RUN set -eux \ RUN set -eux \
# -------------------- Software -------------------- # -------------------- Software --------------------
&& composer --version 2>/dev/null | grep -E 'version\s*[.0-9]+' \ && composer --version 2>/dev/null | grep -E 'version\s*[0-9][.0-9]+' \
&& su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^[.0-9]+' \ && su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^[0-9][.0-9]+' \
&& regex-grep --version | grep -E '[.0-9]+' \ && regex-grep --version | grep -E '[0-9][.0-9]+' \
&& drush7 --version | grep -E '7[.0-9]+\s*$' \ && drush7 --version | grep -E '7[.0-9]+\s*$' \
&& git-flow version | grep -E '[.0-9]+' \ && git-flow version | grep -E '[0-9][.0-9]+' \
&& linkcheck --version | grep -E '^linkcheck\sv[.0-9]+' \ && linkcheck --version | grep -E '^linkcheck\sv[0-9][.0-9]+' \
&& su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew --version' | grep -E 'Homebrew\s*[.0-9]+' \ && su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew --version' | grep -E 'Homebrew\s*[0-9][.0-9]+' \
&& mysqldump-secure --version | grep -E 'Version:\s*[.0-9]+' \ && mysqldump-secure --version | grep -E 'Version:\s*[0-9][.0-9]+' \
&& phalcon commands | grep -E '[.0-9]+' \ && phalcon commands | grep -E '[0-9][.0-9]+' \
&& phpcs --version | grep -E 'version [.0-9]+' \ && phpcs --version | grep -E 'version [0-9][.0-9]+' \
&& phpcbf --version | grep -E 'version [.0-9]+' \ && phpcbf --version | grep -E 'version [0-9][.0-9]+' \
&& php-cs-fixer --version 2>&1 | grep -E 'Fixer\s+(version\s*)?[-_.0-9]+\s+' \ && php-cs-fixer --version 2>&1 | grep -E 'Fixer\s+(version\s*)?[-_.0-9]+\s+' \
&& phpmd --version | grep -E '^PHPMD [.0-9]+' \ && phpmd --version | grep -E '^PHPMD [0-9][.0-9]+' \
&& phpunit --version | grep -iE '^PHPUnit\s[.0-9]+' \ && phpunit --version | grep -iE '^PHPUnit\s[0-9][.0-9]+' \
&& wkhtmltopdf --version | grep -E "^wkhtmltopdf [.0-9]+\s+\(.+patched.+\)" \ && wkhtmltopdf --version | grep -E "^wkhtmltopdf [0-9][.0-9]+\s+\(.+patched.+\)" \
&& wp --allow-root --version | grep -E '[.0-9]+' \ && wp --allow-root --version | grep -E '[0-9][.0-9]+' \
\ \
# -------------------- Composer -------------------- # -------------------- Composer --------------------
&& codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[.0-9]+$' \ && codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[0-9][.0-9]+$' \
\ \
# -------------------- PIP -------------------- # -------------------- PIP --------------------
&& ansible --version | grep -E '^ansible [.0-9]+$' \ && ansible --version | grep -E '^ansible [0-9][.0-9]+$' \
&& yamllint --version 2>&1 | grep -E '[.0-9]+' \ && yamllint --version 2>&1 | grep -E '[0-9][.0-9]+' \
&& yq --version 2>&1 | grep -E '^yq\s+[.0-9]+$' \ && yq --version 2>&1 | grep -E '^yq\s+[0-9][.0-9]+$' \
\ \
# -------------------- NPM -------------------- # -------------------- NPM --------------------
&& ng version 2>&1 | grep -iE 'Angular CLI:\s*[.0-9]+' \ && ng version 2>&1 | grep -iE 'Angular CLI:\s*[0-9][.0-9]+' \
&& eslint -v | grep -E '[.0-9]+' \ && eslint -v | grep -E '[0-9][.0-9]+' \
&& grunt --version | grep -E '[.0-9]+' \ && grunt --version | grep -E '[0-9][.0-9]+' \
&& gulp --version | grep -E '[.0-9]+' \ && gulp --version | grep -E '[0-9][.0-9]+' \
&& jsonlint --version | grep -E '[.0-9]+' \ && jsonlint --version | grep -E '[0-9][.0-9]+' \
&& pm2 --no-daemon --version | grep -E '[.0-9]+' \ && pm2 --no-daemon --version | tail -1 | grep -E '[0-9][.0-9]+' \
&& mdlint --version | grep -E '[.0-9]+' \ && mdlint --version | grep -E '[0-9][.0-9]+' \
&& sass --version | grep -E '[.0-9]+' \ && sass --version | grep -E '[0-9][.0-9]+' \
&& stylelint --version | grep -E '[.0-9]+' \ && stylelint --version | grep -E '[0-9][.0-9]+' \
&& vue --version | grep -E '[.0-9]+' \ && vue --version | grep -E '[0-9][.0-9]+' \
&& webpack --version | grep -E '[.0-9]+' \ && webpack --version | grep -E '[0-9][.0-9]+' \
\ \
# -------------------- GEM -------------------- # -------------------- GEM --------------------
&& mdl --version | grep -E '[.0-9]+' \ && mdl --version | grep -E '[0-9][.0-9]+' \
\ \
# -------------------- Cleanup -------------------- # -------------------- Cleanup --------------------
&& rm -rf /home/devilbox/.cache/ \ && rm -rf /home/devilbox/.cache/ \

View File

@@ -74,6 +74,7 @@ RUN set -eux \
git-svn \ git-svn \
ghostscript \ ghostscript \
graphviz \ graphviz \
gsfonts \
hostname \ hostname \
htop \ htop \
imagemagick \ imagemagick \
@@ -84,11 +85,14 @@ RUN set -eux \
libffi-dev \ libffi-dev \
libssl-dev \ libssl-dev \
libyaml-dev \ libyaml-dev \
locales \
make \ make \
mongodb-org-shell \ mongodb-org-shell \
mongodb-org-tools \ mongodb-org-tools \
moreutils \ moreutils \
mysql-client \ mysql-client \
mupdf \
mupdf-tools \
nano \ nano \
net-tools \ net-tools \
netcat \ netcat \
@@ -450,6 +454,9 @@ RUN set -eux \
# -------------------- mixlib_config -------------------- # -------------------- mixlib_config --------------------
&& gem install mixlib-config -v 2.2.4 \ && gem install mixlib-config -v 2.2.4 \
\ \
# -------------------- ffi --------------------
&& gem install ffi -v 1.12.2 \
\
# -------------------- rb_inotify -------------------- # -------------------- rb_inotify --------------------
&& gem install rb-inotify -v 0.9.10 \ && gem install rb-inotify -v 0.9.10 \
\ \
@@ -471,13 +478,13 @@ RUN set -eux \
### ###
RUN set -eux \ RUN set -eux \
# -------------------- ansible -------------------- # -------------------- ansible --------------------
&& pip install --no-cache-dir --force-reinstall ansible \ && pip install --no-cache-dir --force-reinstall ansible || true \
\ \
# -------------------- yamllint -------------------- # -------------------- yamllint --------------------
&& pip install --no-cache-dir --force-reinstall yamllint \ && pip install --no-cache-dir --force-reinstall yamllint || true \
\ \
# -------------------- yq -------------------- # -------------------- yq --------------------
&& pip install --no-cache-dir --force-reinstall yq \ && pip install --no-cache-dir --force-reinstall yq || true \
\ \
\ \
&& rm -rf /root/.cache/pip \ && rm -rf /root/.cache/pip \
@@ -530,50 +537,50 @@ RUN set -eux \
RUN set -eux \ RUN set -eux \
# -------------------- Software -------------------- # -------------------- Software --------------------
&& composer --version 2>/dev/null | grep -E 'version\s*[.0-9]+' \ && composer --version 2>/dev/null | grep -E 'version\s*[0-9][.0-9]+' \
&& su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^[.0-9]+' \ && su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^[0-9][.0-9]+' \
&& regex-grep --version | grep -E '[.0-9]+' \ && regex-grep --version | grep -E '[0-9][.0-9]+' \
&& dep --version 2>/dev/null | grep -Ei 'deployer\s*(version\s*)?[.0-9]+' \ && dep --version 2>/dev/null | grep -Ei 'deployer\s*(version\s*)?[0-9][.0-9]+' \
&& drush7 --version | grep -E '7[.0-9]+\s*$' \ && drush7 --version | grep -E '7[.0-9]+\s*$' \
&& drush8 --version | grep -E '8[.0-9]+\s*$' \ && drush8 --version | grep -E '8[.0-9]+\s*$' \
&& git-flow version | grep -E '[.0-9]+' \ && git-flow version | grep -E '[0-9][.0-9]+' \
&& laravel --version | grep -E '(Installer|version)\s*[.0-9]+' \ && laravel --version | grep -E '(Installer|version)\s*[0-9][.0-9]+' \
&& linkcheck --version | grep -E '^linkcheck\sv[.0-9]+' \ && linkcheck --version | grep -E '^linkcheck\sv[0-9][.0-9]+' \
&& su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew --version' | grep -E 'Homebrew\s*[.0-9]+' \ && su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew --version' | grep -E 'Homebrew\s*[0-9][.0-9]+' \
&& mysqldump-secure --version | grep -E 'Version:\s*[.0-9]+' \ && mysqldump-secure --version | grep -E 'Version:\s*[0-9][.0-9]+' \
&& phalcon commands | grep -E '[.0-9]+' \ && phalcon commands | grep -E '[0-9][.0-9]+' \
&& phpcs --version | grep -E 'version [.0-9]+' \ && phpcs --version | grep -E 'version [0-9][.0-9]+' \
&& phpcbf --version | grep -E 'version [.0-9]+' \ && phpcbf --version | grep -E 'version [0-9][.0-9]+' \
&& php-cs-fixer --version 2>&1 | grep -E 'Fixer\s+(version\s*)?[-_.0-9]+\s+' \ && php-cs-fixer --version 2>&1 | grep -E 'Fixer\s+(version\s*)?[-_.0-9]+\s+' \
&& phpmd --version | grep -E '^PHPMD [.0-9]+' \ && phpmd --version | grep -E '^PHPMD [0-9][.0-9]+' \
&& phpunit --version | grep -iE '^PHPUnit\s[.0-9]+' \ && phpunit --version | grep -iE '^PHPUnit\s[0-9][.0-9]+' \
&& symfony -V | grep -Ei 'version\s*.*v[.0-9]+' \ && symfony -V | grep -Ei 'version\s*.*v[0-9][.0-9]+' \
&& wkhtmltopdf --version | grep -E "^wkhtmltopdf [.0-9]+\s+\(.+patched.+\)" \ && wkhtmltopdf --version | grep -E "^wkhtmltopdf [0-9][.0-9]+\s+\(.+patched.+\)" \
&& wp --allow-root --version | grep -E '[.0-9]+' \ && wp --allow-root --version | grep -E '[0-9][.0-9]+' \
\ \
# -------------------- Composer -------------------- # -------------------- Composer --------------------
&& codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[.0-9]+$' \ && codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[0-9][.0-9]+$' \
\ \
# -------------------- PIP -------------------- # -------------------- PIP --------------------
&& ansible --version | grep -E '^ansible [.0-9]+$' \ && ansible --version | grep -E '^ansible [0-9][.0-9]+$' \
&& yamllint --version 2>&1 | grep -E '[.0-9]+' \ && yamllint --version 2>&1 | grep -E '[0-9][.0-9]+' \
&& yq --version 2>&1 | grep -E '^yq\s+[.0-9]+$' \ && yq --version 2>&1 | grep -E '^yq\s+[0-9][.0-9]+$' \
\ \
# -------------------- NPM -------------------- # -------------------- NPM --------------------
&& ng version 2>&1 | grep -iE 'Angular CLI:\s*[.0-9]+' \ && ng version 2>&1 | grep -iE 'Angular CLI:\s*[0-9][.0-9]+' \
&& eslint -v | grep -E '[.0-9]+' \ && eslint -v | grep -E '[0-9][.0-9]+' \
&& grunt --version | grep -E '[.0-9]+' \ && grunt --version | grep -E '[0-9][.0-9]+' \
&& gulp --version | grep -E '[.0-9]+' \ && gulp --version | grep -E '[0-9][.0-9]+' \
&& jsonlint --version | grep -E '[.0-9]+' \ && jsonlint --version | grep -E '[0-9][.0-9]+' \
&& pm2 --no-daemon --version | grep -E '[.0-9]+' \ && pm2 --no-daemon --version | tail -1 | grep -E '[0-9][.0-9]+' \
&& mdlint --version | grep -E '[.0-9]+' \ && mdlint --version | grep -E '[0-9][.0-9]+' \
&& sass --version | grep -E '[.0-9]+' \ && sass --version | grep -E '[0-9][.0-9]+' \
&& stylelint --version | grep -E '[.0-9]+' \ && stylelint --version | grep -E '[0-9][.0-9]+' \
&& vue --version | grep -E '[.0-9]+' \ && vue --version | grep -E '[0-9][.0-9]+' \
&& webpack --version | grep -E '[.0-9]+' \ && webpack --version | grep -E '[0-9][.0-9]+' \
\ \
# -------------------- GEM -------------------- # -------------------- GEM --------------------
&& mdl --version | grep -E '[.0-9]+' \ && mdl --version | grep -E '[0-9][.0-9]+' \
\ \
# -------------------- Cleanup -------------------- # -------------------- Cleanup --------------------
&& rm -rf /home/devilbox/.cache/ \ && rm -rf /home/devilbox/.cache/ \

View File

@@ -74,6 +74,7 @@ RUN set -eux \
git-svn \ git-svn \
ghostscript \ ghostscript \
graphviz \ graphviz \
gsfonts \
hostname \ hostname \
htop \ htop \
imagemagick \ imagemagick \
@@ -84,11 +85,14 @@ RUN set -eux \
libffi-dev \ libffi-dev \
libssl-dev \ libssl-dev \
libyaml-dev \ libyaml-dev \
locales \
make \ make \
mongodb-org-shell \ mongodb-org-shell \
mongodb-org-tools \ mongodb-org-tools \
moreutils \ moreutils \
mysql-client \ mysql-client \
mupdf \
mupdf-tools \
nano \ nano \
net-tools \ net-tools \
netcat \ netcat \
@@ -202,7 +206,8 @@ RUN set -eux \
\ \
\ \
# -------------------- drupalconsole -------------------- # -------------------- drupalconsole --------------------
&& curl -sS -L --fail https://drupalconsole.com/installer -L -o /usr/local/bin/drupal \ && DURL="https://github.com$(curl -sS 'https://github.com/hechoendrupal/drupal-console-launcher/releases' | grep -Eo 'href="/.+drupal.phar"' | head -1 | sed 's/^href="//g' | sed 's/"$//g')" \
&& curl -sS -L --fail "${DURL}" -L -o /usr/local/bin/drupal \
&& chmod +x /usr/local/bin/drupal \ && chmod +x /usr/local/bin/drupal \
\ \
# -------------------- gitflow -------------------- # -------------------- gitflow --------------------
@@ -467,6 +472,9 @@ RUN set -eux \
# -------------------- mixlib_config -------------------- # -------------------- mixlib_config --------------------
&& gem install mixlib-config -v 2.2.4 \ && gem install mixlib-config -v 2.2.4 \
\ \
# -------------------- ffi --------------------
&& gem install ffi -v 1.12.2 \
\
# -------------------- rb_inotify -------------------- # -------------------- rb_inotify --------------------
&& gem install rb-inotify -v 0.9.10 \ && gem install rb-inotify -v 0.9.10 \
\ \
@@ -488,13 +496,13 @@ RUN set -eux \
### ###
RUN set -eux \ RUN set -eux \
# -------------------- ansible -------------------- # -------------------- ansible --------------------
&& pip install --no-cache-dir --force-reinstall ansible \ && pip install --no-cache-dir --force-reinstall ansible || true \
\ \
# -------------------- yamllint -------------------- # -------------------- yamllint --------------------
&& pip install --no-cache-dir --force-reinstall yamllint \ && pip install --no-cache-dir --force-reinstall yamllint || true \
\ \
# -------------------- yq -------------------- # -------------------- yq --------------------
&& pip install --no-cache-dir --force-reinstall yq \ && pip install --no-cache-dir --force-reinstall yq || true \
\ \
\ \
&& rm -rf /root/.cache/pip \ && rm -rf /root/.cache/pip \
@@ -547,54 +555,54 @@ RUN set -eux \
RUN set -eux \ RUN set -eux \
# -------------------- Software -------------------- # -------------------- Software --------------------
&& composer --version 2>/dev/null | grep -E 'version\s*[.0-9]+' \ && composer --version 2>/dev/null | grep -E 'version\s*[0-9][.0-9]+' \
&& su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^[.0-9]+' \ && su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^[0-9][.0-9]+' \
&& regex-grep --version | grep -E '[.0-9]+' \ && regex-grep --version | grep -E '[0-9][.0-9]+' \
&& dep --version 2>/dev/null | grep -Ei 'deployer\s*(version\s*)?[.0-9]+' \ && dep --version 2>/dev/null | grep -Ei 'deployer\s*(version\s*)?[0-9][.0-9]+' \
&& drush7 --version | grep -E '7[.0-9]+\s*$' \ && drush7 --version | grep -E '7[.0-9]+\s*$' \
&& drush8 --version | grep -E '8[.0-9]+\s*$' \ && drush8 --version | grep -E '8[.0-9]+\s*$' \
&& drupal --version | grep -E 'Drupal Console Launcher\s*[.0-9]' \ && drupal --version | grep -E 'Drupal Console Launcher\s*[0-9][.0-9]' \
&& git-flow version | grep -E '[.0-9]+' \ && git-flow version | grep -E '[0-9][.0-9]+' \
&& laravel --version | grep -E '(Installer|version)\s*[.0-9]+' \ && laravel --version | grep -E '(Installer|version)\s*[0-9][.0-9]+' \
&& linkcheck --version | grep -E '^linkcheck\sv[.0-9]+' \ && linkcheck --version | grep -E '^linkcheck\sv[0-9][.0-9]+' \
&& su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew --version' | grep -E 'Homebrew\s*[.0-9]+' \ && su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew --version' | grep -E 'Homebrew\s*[0-9][.0-9]+' \
&& mysqldump-secure --version | grep -E 'Version:\s*[.0-9]+' \ && mysqldump-secure --version | grep -E 'Version:\s*[0-9][.0-9]+' \
&& phalcon commands | grep -E '[.0-9]+' \ && phalcon commands | grep -E '[0-9][.0-9]+' \
&& phpcs --version | grep -E 'version [.0-9]+' \ && phpcs --version | grep -E 'version [0-9][.0-9]+' \
&& phpcbf --version | grep -E 'version [.0-9]+' \ && phpcbf --version | grep -E 'version [0-9][.0-9]+' \
&& php-cs-fixer --version 2>&1 | grep -E 'Fixer\s+(version\s*)?[-_.0-9]+\s+' \ && php-cs-fixer --version 2>&1 | grep -E 'Fixer\s+(version\s*)?[-_.0-9]+\s+' \
&& phpmd --version | grep -E '^PHPMD [.0-9]+' \ && phpmd --version | grep -E '^PHPMD [0-9][.0-9]+' \
&& phpunit --version | grep -iE '^PHPUnit\s[.0-9]+' \ && phpunit --version | grep -iE '^PHPUnit\s[0-9][.0-9]+' \
&& symfony -V | grep -Ei 'version\s*.*v[.0-9]+' \ && symfony -V | grep -Ei 'version\s*.*v[0-9][.0-9]+' \
&& wkhtmltopdf --version | grep -E "^wkhtmltopdf [.0-9]+\s+\(.+patched.+\)" \ && wkhtmltopdf --version | grep -E "^wkhtmltopdf [0-9][.0-9]+\s+\(.+patched.+\)" \
&& wp --allow-root --version | grep -E '[.0-9]+' \ && wp --allow-root --version | grep -E '[0-9][.0-9]+' \
\ \
# -------------------- Composer -------------------- # -------------------- Composer --------------------
&& asgardcms --version 2>/dev/null | grep -Ei 'AsgardCMS\sInstaller\s[.0-9]+' \ && asgardcms --version 2>/dev/null | grep -Ei 'AsgardCMS\sInstaller\s[0-9][.0-9]+' \
&& codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[.0-9]+$' \ && codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[0-9][.0-9]+$' \
&& lumen --version 2>/dev/null | grep -E '^Lumen Installer\s[.0-9]+$' \ && lumen --version 2>/dev/null | grep -E '^Lumen Installer\s[0-9][.0-9]+$' \
&& photon --version | grep -E 'Installer [.0-9]+' \ && photon --version | grep -E 'Installer [0-9][.0-9]+' \
\ \
# -------------------- PIP -------------------- # -------------------- PIP --------------------
&& ansible --version | grep -E '^ansible [.0-9]+$' \ && ansible --version | grep -E '^ansible [0-9][.0-9]+$' \
&& yamllint --version 2>&1 | grep -E '[.0-9]+' \ && yamllint --version 2>&1 | grep -E '[0-9][.0-9]+' \
&& yq --version 2>&1 | grep -E '^yq\s+[.0-9]+$' \ && yq --version 2>&1 | grep -E '^yq\s+[0-9][.0-9]+$' \
\ \
# -------------------- NPM -------------------- # -------------------- NPM --------------------
&& ng version 2>&1 | grep -iE 'Angular CLI:\s*[.0-9]+' \ && ng version 2>&1 | grep -iE 'Angular CLI:\s*[0-9][.0-9]+' \
&& eslint -v | grep -E '[.0-9]+' \ && eslint -v | grep -E '[0-9][.0-9]+' \
&& grunt --version | grep -E '[.0-9]+' \ && grunt --version | grep -E '[0-9][.0-9]+' \
&& gulp --version | grep -E '[.0-9]+' \ && gulp --version | grep -E '[0-9][.0-9]+' \
&& jsonlint --version | grep -E '[.0-9]+' \ && jsonlint --version | grep -E '[0-9][.0-9]+' \
&& pm2 --no-daemon --version | grep -E '[.0-9]+' \ && pm2 --no-daemon --version | tail -1 | grep -E '[0-9][.0-9]+' \
&& mdlint --version | grep -E '[.0-9]+' \ && mdlint --version | grep -E '[0-9][.0-9]+' \
&& sass --version | grep -E '[.0-9]+' \ && sass --version | grep -E '[0-9][.0-9]+' \
&& stylelint --version | grep -E '[.0-9]+' \ && stylelint --version | grep -E '[0-9][.0-9]+' \
&& vue --version | grep -E '[.0-9]+' \ && vue --version | grep -E '[0-9][.0-9]+' \
&& webpack --version | grep -E '[.0-9]+' \ && webpack --version | grep -E '[0-9][.0-9]+' \
\ \
# -------------------- GEM -------------------- # -------------------- GEM --------------------
&& mdl --version | grep -E '[.0-9]+' \ && mdl --version | grep -E '[0-9][.0-9]+' \
\ \
# -------------------- Cleanup -------------------- # -------------------- Cleanup --------------------
&& rm -rf /home/devilbox/.cache/ \ && rm -rf /home/devilbox/.cache/ \

View File

@@ -62,6 +62,7 @@ RUN set -eux \
blackfire-agent \ blackfire-agent \
build-essential \ build-essential \
bzip2 \ bzip2 \
certbot \
coreutils \ coreutils \
dnsutils \ dnsutils \
dos2unix \ dos2unix \
@@ -73,6 +74,7 @@ RUN set -eux \
git-svn \ git-svn \
ghostscript \ ghostscript \
graphviz \ graphviz \
gsfonts \
hostname \ hostname \
htop \ htop \
imagemagick \ imagemagick \
@@ -83,11 +85,14 @@ RUN set -eux \
libffi-dev \ libffi-dev \
libssl-dev \ libssl-dev \
libyaml-dev \ libyaml-dev \
locales \
make \ make \
mongodb-org-shell \ mongodb-org-shell \
mongodb-org-tools \ mongodb-org-tools \
moreutils \ moreutils \
mysql-client \ mysql-client \
mupdf \
mupdf-tools \
nano \ nano \
net-tools \ net-tools \
netcat \ netcat \
@@ -215,7 +220,8 @@ RUN set -eux \
\ \
\ \
# -------------------- drupalconsole -------------------- # -------------------- drupalconsole --------------------
&& curl -sS -L --fail https://drupalconsole.com/installer -L -o /usr/local/bin/drupal \ && DURL="https://github.com$(curl -sS 'https://github.com/hechoendrupal/drupal-console-launcher/releases' | grep -Eo 'href="/.+drupal.phar"' | head -1 | sed 's/^href="//g' | sed 's/"$//g')" \
&& curl -sS -L --fail "${DURL}" -L -o /usr/local/bin/drupal \
&& chmod +x /usr/local/bin/drupal \ && chmod +x /usr/local/bin/drupal \
\ \
# -------------------- gitflow -------------------- # -------------------- gitflow --------------------
@@ -501,13 +507,13 @@ RUN set -eux \
### ###
RUN set -eux \ RUN set -eux \
# -------------------- ansible -------------------- # -------------------- ansible --------------------
&& pip install --no-cache-dir --force-reinstall ansible \ && pip install --no-cache-dir --force-reinstall ansible || true \
\ \
# -------------------- yamllint -------------------- # -------------------- yamllint --------------------
&& pip install --no-cache-dir --force-reinstall yamllint \ && pip install --no-cache-dir --force-reinstall yamllint || true \
\ \
# -------------------- yq -------------------- # -------------------- yq --------------------
&& pip install --no-cache-dir --force-reinstall yq \ && pip install --no-cache-dir --force-reinstall yq || true \
\ \
\ \
&& rm -rf /root/.cache/pip \ && rm -rf /root/.cache/pip \
@@ -560,55 +566,55 @@ RUN set -eux \
RUN set -eux \ RUN set -eux \
# -------------------- Software -------------------- # -------------------- Software --------------------
&& composer --version 2>/dev/null | grep -E 'version\s*[.0-9]+' \ && composer --version 2>/dev/null | grep -E 'version\s*[0-9][.0-9]+' \
&& su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^[.0-9]+' \ && su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^[0-9][.0-9]+' \
&& regex-grep --version | grep -E '[.0-9]+' \ && regex-grep --version | grep -E '[0-9][.0-9]+' \
&& dep --version 2>/dev/null | grep -Ei 'deployer\s*(version\s*)?[.0-9]+' \ && dep --version 2>/dev/null | grep -Ei 'deployer\s*(version\s*)?[0-9][.0-9]+' \
&& drush7 --version | grep -E '7[.0-9]+\s*$' \ && drush7 --version | grep -E '7[.0-9]+\s*$' \
&& drush8 --version | grep -E '8[.0-9]+\s*$' \ && drush8 --version | grep -E '8[.0-9]+\s*$' \
&& drush9 --version | grep -E '9[.0-9]+\s*$' \ && drush9 --version | grep -E '9[.0-9]+\s*$' \
&& drupal --version | grep -E 'Drupal Console Launcher\s*[.0-9]' \ && drupal --version | grep -E 'Drupal Console Launcher\s*[0-9][.0-9]' \
&& git-flow version | grep -E '[.0-9]+' \ && git-flow version | grep -E '[0-9][.0-9]+' \
&& laravel --version | grep -E '(Installer|version)\s*[.0-9]+' \ && laravel --version | grep -E '(Installer|version)\s*[0-9][.0-9]+' \
&& linkcheck --version | grep -E '^linkcheck\sv[.0-9]+' \ && linkcheck --version | grep -E '^linkcheck\sv[0-9][.0-9]+' \
&& su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew --version' | grep -E 'Homebrew\s*[.0-9]+' \ && su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew --version' | grep -E 'Homebrew\s*[0-9][.0-9]+' \
&& mysqldump-secure --version | grep -E 'Version:\s*[.0-9]+' \ && mysqldump-secure --version | grep -E 'Version:\s*[0-9][.0-9]+' \
&& phalcon commands | grep -E '[.0-9]+' \ && phalcon commands | grep -E '[0-9][.0-9]+' \
&& phpcs --version | grep -E 'version [.0-9]+' \ && phpcs --version | grep -E 'version [0-9][.0-9]+' \
&& phpcbf --version | grep -E 'version [.0-9]+' \ && phpcbf --version | grep -E 'version [0-9][.0-9]+' \
&& php-cs-fixer --version 2>&1 | grep -E 'Fixer\s+(version\s*)?[-_.0-9]+\s+' \ && php-cs-fixer --version 2>&1 | grep -E 'Fixer\s+(version\s*)?[-_.0-9]+\s+' \
&& phpmd --version | grep -E '^PHPMD [.0-9]+' \ && phpmd --version | grep -E '^PHPMD [0-9][.0-9]+' \
&& phpunit --version | grep -iE '^PHPUnit\s[.0-9]+' \ && phpunit --version | grep -iE '^PHPUnit\s[0-9][.0-9]+' \
&& symfony -V | grep -Ei 'version\s*.*v[.0-9]+' \ && symfony -V | grep -Ei 'version\s*.*v[0-9][.0-9]+' \
&& wkhtmltopdf --version | grep -E "^wkhtmltopdf [.0-9]+\s+\(.+patched.+\)" \ && wkhtmltopdf --version | grep -E "^wkhtmltopdf [0-9][.0-9]+\s+\(.+patched.+\)" \
&& wp --allow-root --version | grep -E '[.0-9]+' \ && wp --allow-root --version | grep -E '[0-9][.0-9]+' \
\ \
# -------------------- Composer -------------------- # -------------------- Composer --------------------
&& asgardcms --version 2>/dev/null | grep -Ei 'AsgardCMS\sInstaller\s[.0-9]+' \ && asgardcms --version 2>/dev/null | grep -Ei 'AsgardCMS\sInstaller\s[0-9][.0-9]+' \
&& codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[.0-9]+$' \ && codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[0-9][.0-9]+$' \
&& lumen --version 2>/dev/null | grep -E '^Lumen Installer\s[.0-9]+$' \ && lumen --version 2>/dev/null | grep -E '^Lumen Installer\s[0-9][.0-9]+$' \
&& photon --version | grep -E 'Installer [.0-9]+' \ && photon --version | grep -E 'Installer [0-9][.0-9]+' \
\ \
# -------------------- PIP -------------------- # -------------------- PIP --------------------
&& ansible --version | grep -E '^ansible [.0-9]+$' \ && ansible --version | grep -E '^ansible [0-9][.0-9]+$' \
&& yamllint --version 2>&1 | grep -E '[.0-9]+' \ && yamllint --version 2>&1 | grep -E '[0-9][.0-9]+' \
&& yq --version 2>&1 | grep -E '^yq\s+[.0-9]+$' \ && yq --version 2>&1 | grep -E '^yq\s+[0-9][.0-9]+$' \
\ \
# -------------------- NPM -------------------- # -------------------- NPM --------------------
&& ng version 2>&1 | grep -iE 'Angular CLI:\s*[.0-9]+' \ && ng version 2>&1 | grep -iE 'Angular CLI:\s*[0-9][.0-9]+' \
&& eslint -v | grep -E '[.0-9]+' \ && eslint -v | grep -E '[0-9][.0-9]+' \
&& grunt --version | grep -E '[.0-9]+' \ && grunt --version | grep -E '[0-9][.0-9]+' \
&& gulp --version | grep -E '[.0-9]+' \ && gulp --version | grep -E '[0-9][.0-9]+' \
&& jsonlint --version | grep -E '[.0-9]+' \ && jsonlint --version | grep -E '[0-9][.0-9]+' \
&& pm2 --no-daemon --version | grep -E '[.0-9]+' \ && pm2 --no-daemon --version | tail -1 | grep -E '[0-9][.0-9]+' \
&& mdlint --version | grep -E '[.0-9]+' \ && mdlint --version | grep -E '[0-9][.0-9]+' \
&& sass --version | grep -E '[.0-9]+' \ && sass --version | grep -E '[0-9][.0-9]+' \
&& stylelint --version | grep -E '[.0-9]+' \ && stylelint --version | grep -E '[0-9][.0-9]+' \
&& vue --version | grep -E '[.0-9]+' \ && vue --version | grep -E '[0-9][.0-9]+' \
&& webpack --version | grep -E '[.0-9]+' \ && webpack --version | grep -E '[0-9][.0-9]+' \
\ \
# -------------------- GEM -------------------- # -------------------- GEM --------------------
&& mdl --version | grep -E '[.0-9]+' \ && mdl --version | grep -E '[0-9][.0-9]+' \
\ \
# -------------------- Cleanup -------------------- # -------------------- Cleanup --------------------
&& rm -rf /home/devilbox/.cache/ \ && rm -rf /home/devilbox/.cache/ \

View File

@@ -62,6 +62,7 @@ RUN set -eux \
blackfire-agent \ blackfire-agent \
build-essential \ build-essential \
bzip2 \ bzip2 \
certbot \
coreutils \ coreutils \
dnsutils \ dnsutils \
dos2unix \ dos2unix \
@@ -73,6 +74,7 @@ RUN set -eux \
git-svn \ git-svn \
ghostscript \ ghostscript \
graphviz \ graphviz \
gsfonts \
hostname \ hostname \
htop \ htop \
imagemagick \ imagemagick \
@@ -83,11 +85,14 @@ RUN set -eux \
libffi-dev \ libffi-dev \
libssl-dev \ libssl-dev \
libyaml-dev \ libyaml-dev \
locales \
make \ make \
mongodb-org-shell \ mongodb-org-shell \
mongodb-org-tools \ mongodb-org-tools \
moreutils \ moreutils \
mysql-client \ mysql-client \
mupdf \
mupdf-tools \
nano \ nano \
net-tools \ net-tools \
netcat \ netcat \
@@ -215,7 +220,8 @@ RUN set -eux \
\ \
\ \
# -------------------- drupalconsole -------------------- # -------------------- drupalconsole --------------------
&& curl -sS -L --fail https://drupalconsole.com/installer -L -o /usr/local/bin/drupal \ && DURL="https://github.com$(curl -sS 'https://github.com/hechoendrupal/drupal-console-launcher/releases' | grep -Eo 'href="/.+drupal.phar"' | head -1 | sed 's/^href="//g' | sed 's/"$//g')" \
&& curl -sS -L --fail "${DURL}" -L -o /usr/local/bin/drupal \
&& chmod +x /usr/local/bin/drupal \ && chmod +x /usr/local/bin/drupal \
\ \
# -------------------- gitflow -------------------- # -------------------- gitflow --------------------
@@ -501,13 +507,13 @@ RUN set -eux \
### ###
RUN set -eux \ RUN set -eux \
# -------------------- ansible -------------------- # -------------------- ansible --------------------
&& pip install --no-cache-dir --force-reinstall ansible \ && pip install --no-cache-dir --force-reinstall ansible || true \
\ \
# -------------------- yamllint -------------------- # -------------------- yamllint --------------------
&& pip install --no-cache-dir --force-reinstall yamllint \ && pip install --no-cache-dir --force-reinstall yamllint || true \
\ \
# -------------------- yq -------------------- # -------------------- yq --------------------
&& pip install --no-cache-dir --force-reinstall yq \ && pip install --no-cache-dir --force-reinstall yq || true \
\ \
\ \
&& rm -rf /root/.cache/pip \ && rm -rf /root/.cache/pip \
@@ -560,55 +566,55 @@ RUN set -eux \
RUN set -eux \ RUN set -eux \
# -------------------- Software -------------------- # -------------------- Software --------------------
&& composer --version 2>/dev/null | grep -E 'version\s*[.0-9]+' \ && composer --version 2>/dev/null | grep -E 'version\s*[0-9][.0-9]+' \
&& su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^[.0-9]+' \ && su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^[0-9][.0-9]+' \
&& regex-grep --version | grep -E '[.0-9]+' \ && regex-grep --version | grep -E '[0-9][.0-9]+' \
&& dep --version 2>/dev/null | grep -Ei 'deployer\s*(version\s*)?[.0-9]+' \ && dep --version 2>/dev/null | grep -Ei 'deployer\s*(version\s*)?[0-9][.0-9]+' \
&& drush7 --version | grep -E '7[.0-9]+\s*$' \ && drush7 --version | grep -E '7[.0-9]+\s*$' \
&& drush8 --version | grep -E '8[.0-9]+\s*$' \ && drush8 --version | grep -E '8[.0-9]+\s*$' \
&& drush9 --version | grep -E '9[.0-9]+\s*$' \ && drush9 --version | grep -E '9[.0-9]+\s*$' \
&& drupal --version | grep -E 'Drupal Console Launcher\s*[.0-9]' \ && drupal --version | grep -E 'Drupal Console Launcher\s*[0-9][.0-9]' \
&& git-flow version | grep -E '[.0-9]+' \ && git-flow version | grep -E '[0-9][.0-9]+' \
&& laravel --version | grep -E '(Installer|version)\s*[.0-9]+' \ && laravel --version | grep -E '(Installer|version)\s*[0-9][.0-9]+' \
&& linkcheck --version | grep -E '^linkcheck\sv[.0-9]+' \ && linkcheck --version | grep -E '^linkcheck\sv[0-9][.0-9]+' \
&& su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew --version' | grep -E 'Homebrew\s*[.0-9]+' \ && su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew --version' | grep -E 'Homebrew\s*[0-9][.0-9]+' \
&& mysqldump-secure --version | grep -E 'Version:\s*[.0-9]+' \ && mysqldump-secure --version | grep -E 'Version:\s*[0-9][.0-9]+' \
&& phalcon commands | grep -E '[.0-9]+' \ && phalcon commands | grep -E '[0-9][.0-9]+' \
&& phpcs --version | grep -E 'version [.0-9]+' \ && phpcs --version | grep -E 'version [0-9][.0-9]+' \
&& phpcbf --version | grep -E 'version [.0-9]+' \ && phpcbf --version | grep -E 'version [0-9][.0-9]+' \
&& php-cs-fixer --version 2>&1 | grep -E 'Fixer\s+(version\s*)?[-_.0-9]+\s+' \ && php-cs-fixer --version 2>&1 | grep -E 'Fixer\s+(version\s*)?[-_.0-9]+\s+' \
&& phpmd --version | grep -E '^PHPMD [.0-9]+' \ && phpmd --version | grep -E '^PHPMD [0-9][.0-9]+' \
&& phpunit --version | grep -iE '^PHPUnit\s[.0-9]+' \ && phpunit --version | grep -iE '^PHPUnit\s[0-9][.0-9]+' \
&& symfony -V | grep -Ei 'version\s*.*v[.0-9]+' \ && symfony -V | grep -Ei 'version\s*.*v[0-9][.0-9]+' \
&& wkhtmltopdf --version | grep -E "^wkhtmltopdf [.0-9]+\s+\(.+patched.+\)" \ && wkhtmltopdf --version | grep -E "^wkhtmltopdf [0-9][.0-9]+\s+\(.+patched.+\)" \
&& wp --allow-root --version | grep -E '[.0-9]+' \ && wp --allow-root --version | grep -E '[0-9][.0-9]+' \
\ \
# -------------------- Composer -------------------- # -------------------- Composer --------------------
&& asgardcms --version 2>/dev/null | grep -Ei 'AsgardCMS\sInstaller\s[.0-9]+' \ && asgardcms --version 2>/dev/null | grep -Ei 'AsgardCMS\sInstaller\s[0-9][.0-9]+' \
&& codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[.0-9]+$' \ && codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[0-9][.0-9]+$' \
&& lumen --version 2>/dev/null | grep -E '^Lumen Installer\s[.0-9]+$' \ && lumen --version 2>/dev/null | grep -E '^Lumen Installer\s[0-9][.0-9]+$' \
&& photon --version | grep -E 'Installer [.0-9]+' \ && photon --version | grep -E 'Installer [0-9][.0-9]+' \
\ \
# -------------------- PIP -------------------- # -------------------- PIP --------------------
&& ansible --version | grep -E '^ansible [.0-9]+$' \ && ansible --version | grep -E '^ansible [0-9][.0-9]+$' \
&& yamllint --version 2>&1 | grep -E '[.0-9]+' \ && yamllint --version 2>&1 | grep -E '[0-9][.0-9]+' \
&& yq --version 2>&1 | grep -E '^yq\s+[.0-9]+$' \ && yq --version 2>&1 | grep -E '^yq\s+[0-9][.0-9]+$' \
\ \
# -------------------- NPM -------------------- # -------------------- NPM --------------------
&& ng version 2>&1 | grep -iE 'Angular CLI:\s*[.0-9]+' \ && ng version 2>&1 | grep -iE 'Angular CLI:\s*[0-9][.0-9]+' \
&& eslint -v | grep -E '[.0-9]+' \ && eslint -v | grep -E '[0-9][.0-9]+' \
&& grunt --version | grep -E '[.0-9]+' \ && grunt --version | grep -E '[0-9][.0-9]+' \
&& gulp --version | grep -E '[.0-9]+' \ && gulp --version | grep -E '[0-9][.0-9]+' \
&& jsonlint --version | grep -E '[.0-9]+' \ && jsonlint --version | grep -E '[0-9][.0-9]+' \
&& pm2 --no-daemon --version | grep -E '[.0-9]+' \ && pm2 --no-daemon --version | tail -1 | grep -E '[0-9][.0-9]+' \
&& mdlint --version | grep -E '[.0-9]+' \ && mdlint --version | grep -E '[0-9][.0-9]+' \
&& sass --version | grep -E '[.0-9]+' \ && sass --version | grep -E '[0-9][.0-9]+' \
&& stylelint --version | grep -E '[.0-9]+' \ && stylelint --version | grep -E '[0-9][.0-9]+' \
&& vue --version | grep -E '[.0-9]+' \ && vue --version | grep -E '[0-9][.0-9]+' \
&& webpack --version | grep -E '[.0-9]+' \ && webpack --version | grep -E '[0-9][.0-9]+' \
\ \
# -------------------- GEM -------------------- # -------------------- GEM --------------------
&& mdl --version | grep -E '[.0-9]+' \ && mdl --version | grep -E '[0-9][.0-9]+' \
\ \
# -------------------- Cleanup -------------------- # -------------------- Cleanup --------------------
&& rm -rf /home/devilbox/.cache/ \ && rm -rf /home/devilbox/.cache/ \

View File

@@ -62,6 +62,7 @@ RUN set -eux \
blackfire-agent \ blackfire-agent \
build-essential \ build-essential \
bzip2 \ bzip2 \
certbot \
coreutils \ coreutils \
dnsutils \ dnsutils \
dos2unix \ dos2unix \
@@ -73,6 +74,7 @@ RUN set -eux \
git-svn \ git-svn \
ghostscript \ ghostscript \
graphviz \ graphviz \
gsfonts \
hostname \ hostname \
htop \ htop \
imagemagick \ imagemagick \
@@ -83,11 +85,14 @@ RUN set -eux \
libffi-dev \ libffi-dev \
libssl-dev \ libssl-dev \
libyaml-dev \ libyaml-dev \
locales \
make \ make \
mongodb-org-shell \ mongodb-org-shell \
mongodb-org-tools \ mongodb-org-tools \
moreutils \ moreutils \
mariadb-client \ mariadb-client \
mupdf \
mupdf-tools \
nano \ nano \
net-tools \ net-tools \
netcat \ netcat \
@@ -215,7 +220,8 @@ RUN set -eux \
\ \
\ \
# -------------------- drupalconsole -------------------- # -------------------- drupalconsole --------------------
&& curl -sS -L --fail https://drupalconsole.com/installer -L -o /usr/local/bin/drupal \ && DURL="https://github.com$(curl -sS 'https://github.com/hechoendrupal/drupal-console-launcher/releases' | grep -Eo 'href="/.+drupal.phar"' | head -1 | sed 's/^href="//g' | sed 's/"$//g')" \
&& curl -sS -L --fail "${DURL}" -L -o /usr/local/bin/drupal \
&& chmod +x /usr/local/bin/drupal \ && chmod +x /usr/local/bin/drupal \
\ \
# -------------------- gitflow -------------------- # -------------------- gitflow --------------------
@@ -501,13 +507,13 @@ RUN set -eux \
### ###
RUN set -eux \ RUN set -eux \
# -------------------- ansible -------------------- # -------------------- ansible --------------------
&& pip install --no-cache-dir --force-reinstall ansible \ && pip install --no-cache-dir --force-reinstall ansible || true \
\ \
# -------------------- yamllint -------------------- # -------------------- yamllint --------------------
&& pip install --no-cache-dir --force-reinstall yamllint \ && pip install --no-cache-dir --force-reinstall yamllint || true \
\ \
# -------------------- yq -------------------- # -------------------- yq --------------------
&& pip install --no-cache-dir --force-reinstall yq \ && pip install --no-cache-dir --force-reinstall yq || true \
\ \
\ \
&& rm -rf /root/.cache/pip \ && rm -rf /root/.cache/pip \
@@ -560,55 +566,55 @@ RUN set -eux \
RUN set -eux \ RUN set -eux \
# -------------------- Software -------------------- # -------------------- Software --------------------
&& composer --version 2>/dev/null | grep -E 'version\s*[.0-9]+' \ && composer --version 2>/dev/null | grep -E 'version\s*[0-9][.0-9]+' \
&& su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^[.0-9]+' \ && su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^[0-9][.0-9]+' \
&& regex-grep --version | grep -E '[.0-9]+' \ && regex-grep --version | grep -E '[0-9][.0-9]+' \
&& dep --version 2>/dev/null | grep -Ei 'deployer\s*(version\s*)?[.0-9]+' \ && dep --version 2>/dev/null | grep -Ei 'deployer\s*(version\s*)?[0-9][.0-9]+' \
&& drush7 --version | grep -E '7[.0-9]+\s*$' \ && drush7 --version | grep -E '7[.0-9]+\s*$' \
&& drush8 --version | grep -E '8[.0-9]+\s*$' \ && drush8 --version | grep -E '8[.0-9]+\s*$' \
&& drush9 --version | grep -E '9[.0-9]+\s*$' \ && drush9 --version | grep -E '9[.0-9]+\s*$' \
&& drupal --version | grep -E 'Drupal Console Launcher\s*[.0-9]' \ && drupal --version | grep -E 'Drupal Console Launcher\s*[0-9][.0-9]' \
&& git-flow version | grep -E '[.0-9]+' \ && git-flow version | grep -E '[0-9][.0-9]+' \
&& laravel --version | grep -E '(Installer|version)\s*[.0-9]+' \ && laravel --version | grep -E '(Installer|version)\s*[0-9][.0-9]+' \
&& linkcheck --version | grep -E '^linkcheck\sv[.0-9]+' \ && linkcheck --version | grep -E '^linkcheck\sv[0-9][.0-9]+' \
&& su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew --version' | grep -E 'Homebrew\s*[.0-9]+' \ && su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew --version' | grep -E 'Homebrew\s*[0-9][.0-9]+' \
&& mysqldump-secure --version | grep -E 'Version:\s*[.0-9]+' \ && mysqldump-secure --version | grep -E 'Version:\s*[0-9][.0-9]+' \
&& phalcon commands | grep -E '[.0-9]+' \ && phalcon commands | grep -E '[0-9][.0-9]+' \
&& phpcs --version | grep -E 'version [.0-9]+' \ && phpcs --version | grep -E 'version [0-9][.0-9]+' \
&& phpcbf --version | grep -E 'version [.0-9]+' \ && phpcbf --version | grep -E 'version [0-9][.0-9]+' \
&& php-cs-fixer --version 2>&1 | grep -E 'Fixer\s+(version\s*)?[-_.0-9]+\s+' \ && php-cs-fixer --version 2>&1 | grep -E 'Fixer\s+(version\s*)?[-_.0-9]+\s+' \
&& phpmd --version | grep -E '^PHPMD [.0-9]+' \ && phpmd --version | grep -E '^PHPMD [0-9][.0-9]+' \
&& phpunit --version | grep -iE '^PHPUnit\s[.0-9]+' \ && phpunit --version | grep -iE '^PHPUnit\s[0-9][.0-9]+' \
&& symfony -V | grep -Ei 'version\s*.*v[.0-9]+' \ && symfony -V | grep -Ei 'version\s*.*v[0-9][.0-9]+' \
&& wkhtmltopdf --version | grep -E "^wkhtmltopdf [.0-9]+\s+\(.+patched.+\)" \ && wkhtmltopdf --version | grep -E "^wkhtmltopdf [0-9][.0-9]+\s+\(.+patched.+\)" \
&& wp --allow-root --version | grep -E '[.0-9]+' \ && wp --allow-root --version | grep -E '[0-9][.0-9]+' \
\ \
# -------------------- Composer -------------------- # -------------------- Composer --------------------
&& asgardcms --version 2>/dev/null | grep -Ei 'AsgardCMS\sInstaller\s[.0-9]+' \ && asgardcms --version 2>/dev/null | grep -Ei 'AsgardCMS\sInstaller\s[0-9][.0-9]+' \
&& codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[.0-9]+$' \ && codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[0-9][.0-9]+$' \
&& lumen --version 2>/dev/null | grep -E '^Lumen Installer\s[.0-9]+$' \ && lumen --version 2>/dev/null | grep -E '^Lumen Installer\s[0-9][.0-9]+$' \
&& photon --version | grep -E 'Installer [.0-9]+' \ && photon --version | grep -E 'Installer [0-9][.0-9]+' \
\ \
# -------------------- PIP -------------------- # -------------------- PIP --------------------
&& ansible --version | grep -E '^ansible [.0-9]+$' \ && ansible --version | grep -E '^ansible [0-9][.0-9]+$' \
&& yamllint --version 2>&1 | grep -E '[.0-9]+' \ && yamllint --version 2>&1 | grep -E '[0-9][.0-9]+' \
&& yq --version 2>&1 | grep -E '^yq\s+[.0-9]+$' \ && yq --version 2>&1 | grep -E '^yq\s+[0-9][.0-9]+$' \
\ \
# -------------------- NPM -------------------- # -------------------- NPM --------------------
&& ng version 2>&1 | grep -iE 'Angular CLI:\s*[.0-9]+' \ && ng version 2>&1 | grep -iE 'Angular CLI:\s*[0-9][.0-9]+' \
&& eslint -v | grep -E '[.0-9]+' \ && eslint -v | grep -E '[0-9][.0-9]+' \
&& grunt --version | grep -E '[.0-9]+' \ && grunt --version | grep -E '[0-9][.0-9]+' \
&& gulp --version | grep -E '[.0-9]+' \ && gulp --version | grep -E '[0-9][.0-9]+' \
&& jsonlint --version | grep -E '[.0-9]+' \ && jsonlint --version | grep -E '[0-9][.0-9]+' \
&& pm2 --no-daemon --version | grep -E '[.0-9]+' \ && pm2 --no-daemon --version | tail -1 | grep -E '[0-9][.0-9]+' \
&& mdlint --version | grep -E '[.0-9]+' \ && mdlint --version | grep -E '[0-9][.0-9]+' \
&& sass --version | grep -E '[.0-9]+' \ && sass --version | grep -E '[0-9][.0-9]+' \
&& stylelint --version | grep -E '[.0-9]+' \ && stylelint --version | grep -E '[0-9][.0-9]+' \
&& vue --version | grep -E '[.0-9]+' \ && vue --version | grep -E '[0-9][.0-9]+' \
&& webpack --version | grep -E '[.0-9]+' \ && webpack --version | grep -E '[0-9][.0-9]+' \
\ \
# -------------------- GEM -------------------- # -------------------- GEM --------------------
&& mdl --version | grep -E '[.0-9]+' \ && mdl --version | grep -E '[0-9][.0-9]+' \
\ \
# -------------------- Cleanup -------------------- # -------------------- Cleanup --------------------
&& rm -rf /home/devilbox/.cache/ \ && rm -rf /home/devilbox/.cache/ \

View File

@@ -62,6 +62,7 @@ RUN set -eux \
blackfire-agent \ blackfire-agent \
build-essential \ build-essential \
bzip2 \ bzip2 \
certbot \
coreutils \ coreutils \
dnsutils \ dnsutils \
dos2unix \ dos2unix \
@@ -73,6 +74,7 @@ RUN set -eux \
git-svn \ git-svn \
ghostscript \ ghostscript \
graphviz \ graphviz \
gsfonts \
hostname \ hostname \
htop \ htop \
imagemagick \ imagemagick \
@@ -83,11 +85,14 @@ RUN set -eux \
libffi-dev \ libffi-dev \
libssl-dev \ libssl-dev \
libyaml-dev \ libyaml-dev \
locales \
make \ make \
mongodb-org-shell \ mongodb-org-shell \
mongodb-org-tools \ mongodb-org-tools \
moreutils \ moreutils \
mariadb-client \ mariadb-client \
mupdf \
mupdf-tools \
nano \ nano \
net-tools \ net-tools \
netcat \ netcat \
@@ -215,7 +220,8 @@ RUN set -eux \
\ \
\ \
# -------------------- drupalconsole -------------------- # -------------------- drupalconsole --------------------
&& curl -sS -L --fail https://drupalconsole.com/installer -L -o /usr/local/bin/drupal \ && DURL="https://github.com$(curl -sS 'https://github.com/hechoendrupal/drupal-console-launcher/releases' | grep -Eo 'href="/.+drupal.phar"' | head -1 | sed 's/^href="//g' | sed 's/"$//g')" \
&& curl -sS -L --fail "${DURL}" -L -o /usr/local/bin/drupal \
&& chmod +x /usr/local/bin/drupal \ && chmod +x /usr/local/bin/drupal \
\ \
# -------------------- gitflow -------------------- # -------------------- gitflow --------------------
@@ -228,7 +234,7 @@ RUN set -eux \
# -------------------- laravel -------------------- # -------------------- laravel --------------------
&& git clone https://github.com/laravel/installer /usr/local/src/laravel-installer \ && git clone https://github.com/laravel/installer /usr/local/src/laravel-installer \
&& cd /usr/local/src/laravel-installer \ && cd /usr/local/src/laravel-installer \
&& git checkout $(git describe --abbrev=0 --tags) \ && git checkout v4.0.0 \
\ \
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/laravel-installer \ && chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/laravel-installer \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/laravel-installer && COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer install --no-interaction --no-progress --no-dev' \ && su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/laravel-installer && COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer install --no-interaction --no-progress --no-dev' \
@@ -502,13 +508,13 @@ RUN set -eux \
### ###
RUN set -eux \ RUN set -eux \
# -------------------- ansible -------------------- # -------------------- ansible --------------------
&& pip install --no-cache-dir --force-reinstall ansible \ && pip install --no-cache-dir --force-reinstall ansible || true \
\ \
# -------------------- yamllint -------------------- # -------------------- yamllint --------------------
&& pip install --no-cache-dir --force-reinstall yamllint \ && pip install --no-cache-dir --force-reinstall yamllint || true \
\ \
# -------------------- yq -------------------- # -------------------- yq --------------------
&& pip install --no-cache-dir --force-reinstall yq \ && pip install --no-cache-dir --force-reinstall yq || true \
\ \
\ \
&& rm -rf /root/.cache/pip \ && rm -rf /root/.cache/pip \
@@ -561,55 +567,55 @@ RUN set -eux \
RUN set -eux \ RUN set -eux \
# -------------------- Software -------------------- # -------------------- Software --------------------
&& composer --version 2>/dev/null | grep -E 'version\s*[.0-9]+' \ && composer --version 2>/dev/null | grep -E 'version\s*[0-9][.0-9]+' \
&& su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^[.0-9]+' \ && su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^[0-9][.0-9]+' \
&& regex-grep --version | grep -E '[.0-9]+' \ && regex-grep --version | grep -E '[0-9][.0-9]+' \
&& dep --version 2>/dev/null | grep -Ei 'deployer\s*(version\s*)?[.0-9]+' \ && dep --version 2>/dev/null | grep -Ei 'deployer\s*(version\s*)?[0-9][.0-9]+' \
&& drush7 --version | grep -E '7[.0-9]+\s*$' \ && drush7 --version | grep -E '7[.0-9]+\s*$' \
&& drush8 --version | grep -E '8[.0-9]+\s*$' \ && drush8 --version | grep -E '8[.0-9]+\s*$' \
&& drush9 --version | grep -E '9[.0-9]+\s*$' \ && drush9 --version | grep -E '9[.0-9]+\s*$' \
&& drupal --version | grep -E 'Drupal Console Launcher\s*[.0-9]' \ && drupal --version | grep -E 'Drupal Console Launcher\s*[0-9][.0-9]' \
&& git-flow version | grep -E '[.0-9]+' \ && git-flow version | grep -E '[0-9][.0-9]+' \
&& laravel --version | grep -E '(Installer|version)\s*[.0-9]+' \ && laravel --version | grep -E '(Installer|version)\s*[0-9][.0-9]+' \
&& linkcheck --version | grep -E '^linkcheck\sv[.0-9]+' \ && linkcheck --version | grep -E '^linkcheck\sv[0-9][.0-9]+' \
&& su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew --version' | grep -E 'Homebrew\s*[.0-9]+' \ && su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew --version' | grep -E 'Homebrew\s*[0-9][.0-9]+' \
&& mysqldump-secure --version | grep -E 'Version:\s*[.0-9]+' \ && mysqldump-secure --version | grep -E 'Version:\s*[0-9][.0-9]+' \
&& phalcon commands | grep -E '[.0-9]+' \ && phalcon commands | grep -E '[0-9][.0-9]+' \
&& phpcs --version | grep -E 'version [.0-9]+' \ && phpcs --version | grep -E 'version [0-9][.0-9]+' \
&& phpcbf --version | grep -E 'version [.0-9]+' \ && phpcbf --version | grep -E 'version [0-9][.0-9]+' \
&& php-cs-fixer --version 2>&1 | grep -E 'Fixer\s+(version\s*)?[-_.0-9]+\s+' \ && php-cs-fixer --version 2>&1 | grep -E 'Fixer\s+(version\s*)?[-_.0-9]+\s+' \
&& phpmd --version | grep -E '^PHPMD [.0-9]+' \ && phpmd --version | grep -E '^PHPMD [0-9][.0-9]+' \
&& phpunit --version | grep -iE '^PHPUnit\s[.0-9]+' \ && phpunit --version | grep -iE '^PHPUnit\s[0-9][.0-9]+' \
&& symfony -V | grep -Ei 'version\s*.*v[.0-9]+' \ && symfony -V | grep -Ei 'version\s*.*v[0-9][.0-9]+' \
&& wkhtmltopdf --version | grep -E "^wkhtmltopdf [.0-9]+\s+\(.+patched.+\)" \ && wkhtmltopdf --version | grep -E "^wkhtmltopdf [0-9][.0-9]+\s+\(.+patched.+\)" \
&& wp --allow-root --version | grep -E '[.0-9]+' \ && wp --allow-root --version | grep -E '[0-9][.0-9]+' \
\ \
# -------------------- Composer -------------------- # -------------------- Composer --------------------
&& asgardcms --version 2>/dev/null | grep -Ei 'AsgardCMS\sInstaller\s[.0-9]+' \ && asgardcms --version 2>/dev/null | grep -Ei 'AsgardCMS\sInstaller\s[0-9][.0-9]+' \
&& codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[.0-9]+$' \ && codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[0-9][.0-9]+$' \
&& lumen --version 2>/dev/null | grep -E '^Lumen Installer\s[.0-9]+$' \ && lumen --version 2>/dev/null | grep -E '^Lumen Installer\s[0-9][.0-9]+$' \
&& photon --version | grep -E 'Installer [.0-9]+' \ && photon --version | grep -E 'Installer [0-9][.0-9]+' \
\ \
# -------------------- PIP -------------------- # -------------------- PIP --------------------
&& ansible --version | grep -E '^ansible [.0-9]+$' \ && ansible --version | grep -E '^ansible [0-9][.0-9]+$' \
&& yamllint --version 2>&1 | grep -E '[.0-9]+' \ && yamllint --version 2>&1 | grep -E '[0-9][.0-9]+' \
&& yq --version 2>&1 | grep -E '^yq\s+[.0-9]+$' \ && yq --version 2>&1 | grep -E '^yq\s+[0-9][.0-9]+$' \
\ \
# -------------------- NPM -------------------- # -------------------- NPM --------------------
&& ng version 2>&1 | grep -iE 'Angular CLI:\s*[.0-9]+' \ && ng version 2>&1 | grep -iE 'Angular CLI:\s*[0-9][.0-9]+' \
&& eslint -v | grep -E '[.0-9]+' \ && eslint -v | grep -E '[0-9][.0-9]+' \
&& grunt --version | grep -E '[.0-9]+' \ && grunt --version | grep -E '[0-9][.0-9]+' \
&& gulp --version | grep -E '[.0-9]+' \ && gulp --version | grep -E '[0-9][.0-9]+' \
&& jsonlint --version | grep -E '[.0-9]+' \ && jsonlint --version | grep -E '[0-9][.0-9]+' \
&& pm2 --no-daemon --version | grep -E '[.0-9]+' \ && pm2 --no-daemon --version | tail -1 | grep -E '[0-9][.0-9]+' \
&& mdlint --version | grep -E '[.0-9]+' \ && mdlint --version | grep -E '[0-9][.0-9]+' \
&& sass --version | grep -E '[.0-9]+' \ && sass --version | grep -E '[0-9][.0-9]+' \
&& stylelint --version | grep -E '[.0-9]+' \ && stylelint --version | grep -E '[0-9][.0-9]+' \
&& vue --version | grep -E '[.0-9]+' \ && vue --version | grep -E '[0-9][.0-9]+' \
&& webpack --version | grep -E '[.0-9]+' \ && webpack --version | grep -E '[0-9][.0-9]+' \
\ \
# -------------------- GEM -------------------- # -------------------- GEM --------------------
&& mdl --version | grep -E '[.0-9]+' \ && mdl --version | grep -E '[0-9][.0-9]+' \
\ \
# -------------------- Cleanup -------------------- # -------------------- Cleanup --------------------
&& rm -rf /home/devilbox/.cache/ \ && rm -rf /home/devilbox/.cache/ \

View File

@@ -62,6 +62,7 @@ RUN set -eux \
blackfire-agent \ blackfire-agent \
build-essential \ build-essential \
bzip2 \ bzip2 \
certbot \
coreutils \ coreutils \
dnsutils \ dnsutils \
dos2unix \ dos2unix \
@@ -73,6 +74,7 @@ RUN set -eux \
git-svn \ git-svn \
ghostscript \ ghostscript \
graphviz \ graphviz \
gsfonts \
hostname \ hostname \
htop \ htop \
imagemagick \ imagemagick \
@@ -83,11 +85,14 @@ RUN set -eux \
libffi-dev \ libffi-dev \
libssl-dev \ libssl-dev \
libyaml-dev \ libyaml-dev \
locales \
make \ make \
mongodb-org-shell \ mongodb-org-shell \
mongodb-org-tools \ mongodb-org-tools \
moreutils \ moreutils \
mariadb-client \ mariadb-client \
mupdf \
mupdf-tools \
nano \ nano \
net-tools \ net-tools \
netcat \ netcat \
@@ -215,7 +220,8 @@ RUN set -eux \
\ \
\ \
# -------------------- drupalconsole -------------------- # -------------------- drupalconsole --------------------
&& curl -sS -L --fail https://drupalconsole.com/installer -L -o /usr/local/bin/drupal \ && DURL="https://github.com$(curl -sS 'https://github.com/hechoendrupal/drupal-console-launcher/releases' | grep -Eo 'href="/.+drupal.phar"' | head -1 | sed 's/^href="//g' | sed 's/"$//g')" \
&& curl -sS -L --fail "${DURL}" -L -o /usr/local/bin/drupal \
&& chmod +x /usr/local/bin/drupal \ && chmod +x /usr/local/bin/drupal \
\ \
# -------------------- gitflow -------------------- # -------------------- gitflow --------------------
@@ -502,13 +508,13 @@ RUN set -eux \
### ###
RUN set -eux \ RUN set -eux \
# -------------------- ansible -------------------- # -------------------- ansible --------------------
&& pip install --no-cache-dir --force-reinstall ansible \ && pip install --no-cache-dir --force-reinstall ansible || true \
\ \
# -------------------- yamllint -------------------- # -------------------- yamllint --------------------
&& pip install --no-cache-dir --force-reinstall yamllint \ && pip install --no-cache-dir --force-reinstall yamllint || true \
\ \
# -------------------- yq -------------------- # -------------------- yq --------------------
&& pip install --no-cache-dir --force-reinstall yq \ && pip install --no-cache-dir --force-reinstall yq || true \
\ \
\ \
&& rm -rf /root/.cache/pip \ && rm -rf /root/.cache/pip \
@@ -561,55 +567,55 @@ RUN set -eux \
RUN set -eux \ RUN set -eux \
# -------------------- Software -------------------- # -------------------- Software --------------------
&& composer --version 2>/dev/null | grep -E 'version\s*[.0-9]+' \ && composer --version 2>/dev/null | grep -E 'version\s*[0-9][.0-9]+' \
&& su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^[.0-9]+' \ && su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^[0-9][.0-9]+' \
&& regex-grep --version | grep -E '[.0-9]+' \ && regex-grep --version | grep -E '[0-9][.0-9]+' \
&& dep --version 2>/dev/null | grep -Ei 'deployer\s*(version\s*)?[.0-9]+' \ && dep --version 2>/dev/null | grep -Ei 'deployer\s*(version\s*)?[0-9][.0-9]+' \
&& drush7 --version | grep -E '7[.0-9]+\s*$' \ && drush7 --version | grep -E '7[.0-9]+\s*$' \
&& drush8 --version | grep -E '8[.0-9]+\s*$' \ && drush8 --version | grep -E '8[.0-9]+\s*$' \
&& drush9 --version | grep -E '9[.0-9]+\s*$' \ && drush9 --version | grep -E '9[.0-9]+\s*$' \
&& drupal --version | grep -E 'Drupal Console Launcher\s*[.0-9]' \ && drupal --version | grep -E 'Drupal Console Launcher\s*[0-9][.0-9]' \
&& git-flow version | grep -E '[.0-9]+' \ && git-flow version | grep -E '[0-9][.0-9]+' \
&& laravel --version | grep -E '(Installer|version)\s*[.0-9]+' \ && laravel --version | grep -E '(Installer|version)\s*[0-9][.0-9]+' \
&& linkcheck --version | grep -E '^linkcheck\sv[.0-9]+' \ && linkcheck --version | grep -E '^linkcheck\sv[0-9][.0-9]+' \
&& su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew --version' | grep -E 'Homebrew\s*[.0-9]+' \ && su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew --version' | grep -E 'Homebrew\s*[0-9][.0-9]+' \
&& mysqldump-secure --version | grep -E 'Version:\s*[.0-9]+' \ && mysqldump-secure --version | grep -E 'Version:\s*[0-9][.0-9]+' \
&& phalcon commands | grep -E '[.0-9]+' \ && phalcon commands | grep -E '[0-9][.0-9]+' \
&& phpcs --version | grep -E 'version [.0-9]+' \ && phpcs --version | grep -E 'version [0-9][.0-9]+' \
&& phpcbf --version | grep -E 'version [.0-9]+' \ && phpcbf --version | grep -E 'version [0-9][.0-9]+' \
&& php-cs-fixer --version 2>&1 | grep -E 'Fixer\s+(version\s*)?[-_.0-9]+\s+' \ && php-cs-fixer --version 2>&1 | grep -E 'Fixer\s+(version\s*)?[-_.0-9]+\s+' \
&& phpmd --version | grep -E '^PHPMD [.0-9]+' \ && phpmd --version | grep -E '^PHPMD [0-9][.0-9]+' \
&& phpunit --version | grep -iE '^PHPUnit\s[.0-9]+' \ && phpunit --version | grep -iE '^PHPUnit\s[0-9][.0-9]+' \
&& symfony -V | grep -Ei 'version\s*.*v[.0-9]+' \ && symfony -V | grep -Ei 'version\s*.*v[0-9][.0-9]+' \
&& wkhtmltopdf --version | grep -E "^wkhtmltopdf [.0-9]+\s+\(.+patched.+\)" \ && wkhtmltopdf --version | grep -E "^wkhtmltopdf [0-9][.0-9]+\s+\(.+patched.+\)" \
&& wp --allow-root --version | grep -E '[.0-9]+' \ && wp --allow-root --version | grep -E '[0-9][.0-9]+' \
\ \
# -------------------- Composer -------------------- # -------------------- Composer --------------------
&& asgardcms --version 2>/dev/null | grep -Ei 'AsgardCMS\sInstaller\s[.0-9]+' \ && asgardcms --version 2>/dev/null | grep -Ei 'AsgardCMS\sInstaller\s[0-9][.0-9]+' \
&& codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[.0-9]+$' \ && codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[0-9][.0-9]+$' \
&& lumen --version 2>/dev/null | grep -E '^Lumen Installer\s[.0-9]+$' \ && lumen --version 2>/dev/null | grep -E '^Lumen Installer\s[0-9][.0-9]+$' \
&& photon --version | grep -E 'Installer [.0-9]+' \ && photon --version | grep -E 'Installer [0-9][.0-9]+' \
\ \
# -------------------- PIP -------------------- # -------------------- PIP --------------------
&& ansible --version | grep -E '^ansible [.0-9]+$' \ && ansible --version | grep -E '^ansible [0-9][.0-9]+$' \
&& yamllint --version 2>&1 | grep -E '[.0-9]+' \ && yamllint --version 2>&1 | grep -E '[0-9][.0-9]+' \
&& yq --version 2>&1 | grep -E '^yq\s+[.0-9]+$' \ && yq --version 2>&1 | grep -E '^yq\s+[0-9][.0-9]+$' \
\ \
# -------------------- NPM -------------------- # -------------------- NPM --------------------
&& ng version 2>&1 | grep -iE 'Angular CLI:\s*[.0-9]+' \ && ng version 2>&1 | grep -iE 'Angular CLI:\s*[0-9][.0-9]+' \
&& eslint -v | grep -E '[.0-9]+' \ && eslint -v | grep -E '[0-9][.0-9]+' \
&& grunt --version | grep -E '[.0-9]+' \ && grunt --version | grep -E '[0-9][.0-9]+' \
&& gulp --version | grep -E '[.0-9]+' \ && gulp --version | grep -E '[0-9][.0-9]+' \
&& jsonlint --version | grep -E '[.0-9]+' \ && jsonlint --version | grep -E '[0-9][.0-9]+' \
&& pm2 --no-daemon --version | grep -E '[.0-9]+' \ && pm2 --no-daemon --version | tail -1 | grep -E '[0-9][.0-9]+' \
&& mdlint --version | grep -E '[.0-9]+' \ && mdlint --version | grep -E '[0-9][.0-9]+' \
&& sass --version | grep -E '[.0-9]+' \ && sass --version | grep -E '[0-9][.0-9]+' \
&& stylelint --version | grep -E '[.0-9]+' \ && stylelint --version | grep -E '[0-9][.0-9]+' \
&& vue --version | grep -E '[.0-9]+' \ && vue --version | grep -E '[0-9][.0-9]+' \
&& webpack --version | grep -E '[.0-9]+' \ && webpack --version | grep -E '[0-9][.0-9]+' \
\ \
# -------------------- GEM -------------------- # -------------------- GEM --------------------
&& mdl --version | grep -E '[.0-9]+' \ && mdl --version | grep -E '[0-9][.0-9]+' \
\ \
# -------------------- Cleanup -------------------- # -------------------- Cleanup --------------------
&& rm -rf /home/devilbox/.cache/ \ && rm -rf /home/devilbox/.cache/ \

View File

@@ -62,6 +62,7 @@ RUN set -eux \
blackfire-agent \ blackfire-agent \
build-essential \ build-essential \
bzip2 \ bzip2 \
certbot \
coreutils \ coreutils \
dnsutils \ dnsutils \
dos2unix \ dos2unix \
@@ -73,6 +74,7 @@ RUN set -eux \
git-svn \ git-svn \
ghostscript \ ghostscript \
graphviz \ graphviz \
gsfonts \
hostname \ hostname \
htop \ htop \
imagemagick \ imagemagick \
@@ -83,11 +85,14 @@ RUN set -eux \
libffi-dev \ libffi-dev \
libssl-dev \ libssl-dev \
libyaml-dev \ libyaml-dev \
locales \
make \ make \
mongodb-org-shell \ mongodb-org-shell \
mongodb-org-tools \ mongodb-org-tools \
moreutils \ moreutils \
mariadb-client \ mariadb-client \
mupdf \
mupdf-tools \
nano \ nano \
net-tools \ net-tools \
netcat \ netcat \
@@ -215,7 +220,8 @@ RUN set -eux \
\ \
\ \
# -------------------- drupalconsole -------------------- # -------------------- drupalconsole --------------------
&& curl -sS -L --fail https://drupalconsole.com/installer -L -o /usr/local/bin/drupal \ && DURL="https://github.com$(curl -sS 'https://github.com/hechoendrupal/drupal-console-launcher/releases' | grep -Eo 'href="/.+drupal.phar"' | head -1 | sed 's/^href="//g' | sed 's/"$//g')" \
&& curl -sS -L --fail "${DURL}" -L -o /usr/local/bin/drupal \
&& chmod +x /usr/local/bin/drupal \ && chmod +x /usr/local/bin/drupal \
\ \
# -------------------- gitflow -------------------- # -------------------- gitflow --------------------
@@ -497,13 +503,13 @@ RUN set -eux \
### ###
RUN set -eux \ RUN set -eux \
# -------------------- ansible -------------------- # -------------------- ansible --------------------
&& pip install --no-cache-dir --force-reinstall ansible \ && pip install --no-cache-dir --force-reinstall ansible || true \
\ \
# -------------------- yamllint -------------------- # -------------------- yamllint --------------------
&& pip install --no-cache-dir --force-reinstall yamllint \ && pip install --no-cache-dir --force-reinstall yamllint || true \
\ \
# -------------------- yq -------------------- # -------------------- yq --------------------
&& pip install --no-cache-dir --force-reinstall yq \ && pip install --no-cache-dir --force-reinstall yq || true \
\ \
\ \
&& rm -rf /root/.cache/pip \ && rm -rf /root/.cache/pip \
@@ -556,54 +562,54 @@ RUN set -eux \
RUN set -eux \ RUN set -eux \
# -------------------- Software -------------------- # -------------------- Software --------------------
&& composer --version 2>/dev/null | grep -E 'version\s*[.0-9]+' \ && composer --version 2>/dev/null | grep -E 'version\s*[0-9][.0-9]+' \
&& su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^[.0-9]+' \ && su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^[0-9][.0-9]+' \
&& regex-grep --version | grep -E '[.0-9]+' \ && regex-grep --version | grep -E '[0-9][.0-9]+' \
&& dep --version 2>/dev/null | grep -Ei 'deployer\s*(version\s*)?[.0-9]+' \ && dep --version 2>/dev/null | grep -Ei 'deployer\s*(version\s*)?[0-9][.0-9]+' \
&& drush7 --version | grep -E '7[.0-9]+\s*$' \ && drush7 --version | grep -E '7[.0-9]+\s*$' \
&& drush8 --version | grep -E '8[.0-9]+\s*$' \ && drush8 --version | grep -E '8[.0-9]+\s*$' \
&& drush9 --version | grep -E '9[.0-9]+\s*$' \ && drush9 --version | grep -E '9[.0-9]+\s*$' \
&& drupal --version | grep -E 'Drupal Console Launcher\s*[.0-9]' \ && drupal --version | grep -E 'Drupal Console Launcher\s*[0-9][.0-9]' \
&& git-flow version | grep -E '[.0-9]+' \ && git-flow version | grep -E '[0-9][.0-9]+' \
&& laravel --version | grep -E '(Installer|version)\s*[.0-9]+' \ && laravel --version | grep -E '(Installer|version)\s*[0-9][.0-9]+' \
&& linkcheck --version | grep -E '^linkcheck\sv[.0-9]+' \ && linkcheck --version | grep -E '^linkcheck\sv[0-9][.0-9]+' \
&& su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew --version' | grep -E 'Homebrew\s*[.0-9]+' \ && su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew --version' | grep -E 'Homebrew\s*[0-9][.0-9]+' \
&& mysqldump-secure --version | grep -E 'Version:\s*[.0-9]+' \ && mysqldump-secure --version | grep -E 'Version:\s*[0-9][.0-9]+' \
&& phalcon commands | grep -E '[.0-9]+' \ && phalcon commands | grep -E '[0-9][.0-9]+' \
&& phpcs --version | grep -E 'version [.0-9]+' \ && phpcs --version | grep -E 'version [0-9][.0-9]+' \
&& phpcbf --version | grep -E 'version [.0-9]+' \ && phpcbf --version | grep -E 'version [0-9][.0-9]+' \
&& phpmd --version | grep -E '^PHPMD [.0-9]+' \ && phpmd --version | grep -E '^PHPMD [0-9][.0-9]+' \
&& phpunit --version | grep -iE '^PHPUnit\s[.0-9]+' \ && phpunit --version | grep -iE '^PHPUnit\s[0-9][.0-9]+' \
&& symfony -V | grep -Ei 'version\s*.*v[.0-9]+' \ && symfony -V | grep -Ei 'version\s*.*v[0-9][.0-9]+' \
&& wkhtmltopdf --version | grep -E "^wkhtmltopdf [.0-9]+\s+\(.+patched.+\)" \ && wkhtmltopdf --version | grep -E "^wkhtmltopdf [0-9][.0-9]+\s+\(.+patched.+\)" \
&& wp --allow-root --version | grep -E '[.0-9]+' \ && wp --allow-root --version | grep -E '[0-9][.0-9]+' \
\ \
# -------------------- Composer -------------------- # -------------------- Composer --------------------
&& asgardcms --version 2>/dev/null | grep -Ei 'AsgardCMS\sInstaller\s[.0-9]+' \ && asgardcms --version 2>/dev/null | grep -Ei 'AsgardCMS\sInstaller\s[0-9][.0-9]+' \
&& codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[.0-9]+$' \ && codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[0-9][.0-9]+$' \
&& lumen --version 2>/dev/null | grep -E '^Lumen Installer\s[.0-9]+$' \ && lumen --version 2>/dev/null | grep -E '^Lumen Installer\s[0-9][.0-9]+$' \
&& photon --version | grep -E 'Installer [.0-9]+' \ && photon --version | grep -E 'Installer [0-9][.0-9]+' \
\ \
# -------------------- PIP -------------------- # -------------------- PIP --------------------
&& ansible --version | grep -E '^ansible [.0-9]+$' \ && ansible --version | grep -E '^ansible [0-9][.0-9]+$' \
&& yamllint --version 2>&1 | grep -E '[.0-9]+' \ && yamllint --version 2>&1 | grep -E '[0-9][.0-9]+' \
&& yq --version 2>&1 | grep -E '^yq\s+[.0-9]+$' \ && yq --version 2>&1 | grep -E '^yq\s+[0-9][.0-9]+$' \
\ \
# -------------------- NPM -------------------- # -------------------- NPM --------------------
&& ng version 2>&1 | grep -iE 'Angular CLI:\s*[.0-9]+' \ && ng version 2>&1 | grep -iE 'Angular CLI:\s*[0-9][.0-9]+' \
&& eslint -v | grep -E '[.0-9]+' \ && eslint -v | grep -E '[0-9][.0-9]+' \
&& grunt --version | grep -E '[.0-9]+' \ && grunt --version | grep -E '[0-9][.0-9]+' \
&& gulp --version | grep -E '[.0-9]+' \ && gulp --version | grep -E '[0-9][.0-9]+' \
&& jsonlint --version | grep -E '[.0-9]+' \ && jsonlint --version | grep -E '[0-9][.0-9]+' \
&& pm2 --no-daemon --version | grep -E '[.0-9]+' \ && pm2 --no-daemon --version | tail -1 | grep -E '[0-9][.0-9]+' \
&& mdlint --version | grep -E '[.0-9]+' \ && mdlint --version | grep -E '[0-9][.0-9]+' \
&& sass --version | grep -E '[.0-9]+' \ && sass --version | grep -E '[0-9][.0-9]+' \
&& stylelint --version | grep -E '[.0-9]+' \ && stylelint --version | grep -E '[0-9][.0-9]+' \
&& vue --version | grep -E '[.0-9]+' \ && vue --version | grep -E '[0-9][.0-9]+' \
&& webpack --version | grep -E '[.0-9]+' \ && webpack --version | grep -E '[0-9][.0-9]+' \
\ \
# -------------------- GEM -------------------- # -------------------- GEM --------------------
&& mdl --version | grep -E '[.0-9]+' \ && mdl --version | grep -E '[0-9][.0-9]+' \
\ \
# -------------------- Cleanup -------------------- # -------------------- Cleanup --------------------
&& rm -rf /home/devilbox/.cache/ \ && rm -rf /home/devilbox/.cache/ \

View File

@@ -62,6 +62,7 @@ RUN set -eux \
blackfire-agent \ blackfire-agent \
build-essential \ build-essential \
bzip2 \ bzip2 \
certbot \
coreutils \ coreutils \
dnsutils \ dnsutils \
dos2unix \ dos2unix \
@@ -73,6 +74,7 @@ RUN set -eux \
git-svn \ git-svn \
ghostscript \ ghostscript \
graphviz \ graphviz \
gsfonts \
hostname \ hostname \
htop \ htop \
imagemagick \ imagemagick \
@@ -83,11 +85,14 @@ RUN set -eux \
libffi-dev \ libffi-dev \
libssl-dev \ libssl-dev \
libyaml-dev \ libyaml-dev \
locales \
make \ make \
mongodb-org-shell \ mongodb-org-shell \
mongodb-org-tools \ mongodb-org-tools \
moreutils \ moreutils \
mariadb-client \ mariadb-client \
mupdf \
mupdf-tools \
nano \ nano \
net-tools \ net-tools \
netcat \ netcat \
@@ -402,13 +407,13 @@ RUN set -eux \
### ###
RUN set -eux \ RUN set -eux \
# -------------------- ansible -------------------- # -------------------- ansible --------------------
&& pip install --no-cache-dir --force-reinstall ansible \ && pip install --no-cache-dir --force-reinstall ansible || true \
\ \
# -------------------- yamllint -------------------- # -------------------- yamllint --------------------
&& pip install --no-cache-dir --force-reinstall yamllint \ && pip install --no-cache-dir --force-reinstall yamllint || true \
\ \
# -------------------- yq -------------------- # -------------------- yq --------------------
&& pip install --no-cache-dir --force-reinstall yq \ && pip install --no-cache-dir --force-reinstall yq || true \
\ \
\ \
&& rm -rf /root/.cache/pip \ && rm -rf /root/.cache/pip \
@@ -461,43 +466,43 @@ RUN set -eux \
RUN set -eux \ RUN set -eux \
# -------------------- Software -------------------- # -------------------- Software --------------------
&& composer --version 2>/dev/null | grep -E 'version\s*[.0-9]+' \ && composer --version 2>/dev/null | grep -E 'version\s*[0-9][.0-9]+' \
&& su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^[.0-9]+' \ && su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^[0-9][.0-9]+' \
&& regex-grep --version | grep -E '[.0-9]+' \ && regex-grep --version | grep -E '[0-9][.0-9]+' \
&& dep --version 2>/dev/null | grep -Ei 'deployer\s*(version\s*)?[.0-9]+' \ && dep --version 2>/dev/null | grep -Ei 'deployer\s*(version\s*)?[0-9][.0-9]+' \
&& git-flow version | grep -E '[.0-9]+' \ && git-flow version | grep -E '[0-9][.0-9]+' \
&& linkcheck --version | grep -E '^linkcheck\sv[.0-9]+' \ && linkcheck --version | grep -E '^linkcheck\sv[0-9][.0-9]+' \
&& su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew --version' | grep -E 'Homebrew\s*[.0-9]+' \ && su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew --version' | grep -E 'Homebrew\s*[0-9][.0-9]+' \
&& mysqldump-secure --version | grep -E 'Version:\s*[.0-9]+' \ && mysqldump-secure --version | grep -E 'Version:\s*[0-9][.0-9]+' \
&& phpcs --version | grep -E 'version [.0-9]+' \ && phpcs --version | grep -E 'version [0-9][.0-9]+' \
&& phpcbf --version | grep -E 'version [.0-9]+' \ && phpcbf --version | grep -E 'version [0-9][.0-9]+' \
&& phpmd --version | grep -E '^PHPMD [.0-9]+' \ && phpmd --version | grep -E '^PHPMD [0-9][.0-9]+' \
&& symfony -V | grep -Ei 'version\s*.*v[.0-9]+' \ && symfony -V | grep -Ei 'version\s*.*v[0-9][.0-9]+' \
&& wkhtmltopdf --version | grep -E "^wkhtmltopdf [.0-9]+\s+\(.+patched.+\)" \ && wkhtmltopdf --version | grep -E "^wkhtmltopdf [0-9][.0-9]+\s+\(.+patched.+\)" \
&& wp --allow-root --version | grep -E '[.0-9]+' \ && wp --allow-root --version | grep -E '[0-9][.0-9]+' \
\ \
# -------------------- Composer -------------------- # -------------------- Composer --------------------
\ \
# -------------------- PIP -------------------- # -------------------- PIP --------------------
&& ansible --version | grep -E '^ansible [.0-9]+$' \ && ansible --version | grep -E '^ansible [0-9][.0-9]+$' \
&& yamllint --version 2>&1 | grep -E '[.0-9]+' \ && yamllint --version 2>&1 | grep -E '[0-9][.0-9]+' \
&& yq --version 2>&1 | grep -E '^yq\s+[.0-9]+$' \ && yq --version 2>&1 | grep -E '^yq\s+[0-9][.0-9]+$' \
\ \
# -------------------- NPM -------------------- # -------------------- NPM --------------------
&& ng version 2>&1 | grep -iE 'Angular CLI:\s*[.0-9]+' \ && ng version 2>&1 | grep -iE 'Angular CLI:\s*[0-9][.0-9]+' \
&& eslint -v | grep -E '[.0-9]+' \ && eslint -v | grep -E '[0-9][.0-9]+' \
&& grunt --version | grep -E '[.0-9]+' \ && grunt --version | grep -E '[0-9][.0-9]+' \
&& gulp --version | grep -E '[.0-9]+' \ && gulp --version | grep -E '[0-9][.0-9]+' \
&& jsonlint --version | grep -E '[.0-9]+' \ && jsonlint --version | grep -E '[0-9][.0-9]+' \
&& pm2 --no-daemon --version | grep -E '[.0-9]+' \ && pm2 --no-daemon --version | tail -1 | grep -E '[0-9][.0-9]+' \
&& mdlint --version | grep -E '[.0-9]+' \ && mdlint --version | grep -E '[0-9][.0-9]+' \
&& sass --version | grep -E '[.0-9]+' \ && sass --version | grep -E '[0-9][.0-9]+' \
&& stylelint --version | grep -E '[.0-9]+' \ && stylelint --version | grep -E '[0-9][.0-9]+' \
&& vue --version | grep -E '[.0-9]+' \ && vue --version | grep -E '[0-9][.0-9]+' \
&& webpack --version | grep -E '[.0-9]+' \ && webpack --version | grep -E '[0-9][.0-9]+' \
\ \
# -------------------- GEM -------------------- # -------------------- GEM --------------------
&& mdl --version | grep -E '[.0-9]+' \ && mdl --version | grep -E '[0-9][.0-9]+' \
\ \
# -------------------- Cleanup -------------------- # -------------------- Cleanup --------------------
&& rm -rf /home/devilbox/.cache/ \ && rm -rf /home/devilbox/.cache/ \

View File

@@ -73,12 +73,14 @@ help:
gen-readme: gen-readme:
ifeq ($(strip $(VERSION)),) ifeq ($(strip $(VERSION)),)
@echo "Generate README.md for all PHP versions"
cd build; ./gen-readme.sh cd build; ./gen-readme.sh
else else
@echo "Generate README.md for PHP $(VERSION)"
@$(MAKE) --no-print-directory _check-version @$(MAKE) --no-print-directory _check-version
@$(MAKE) --no-print-directory _check-image-exists _EXIST_IMAGE=base @$(MAKE) --no-print-directory _check-image-exists _EXIST_IMAGE=base
@$(MAKE) --no-print-directory _check-image-exists _EXIST_IMAGE=mods @$(MAKE) --no-print-directory _check-image-exists _EXIST_IMAGE=mods
cd build; ./gen-readme.sh ${VERSION} cd build; ./gen-readme.sh $(VERSION)
endif endif
@@ -227,6 +229,52 @@ test-work: _check-version
./tests/test.sh ${VERSION} work ./tests/test.sh ${VERSION} work
# -------------------------------------------------------------------------------------------------
# DOCKERHUB TARGETS
# -------------------------------------------------------------------------------------------------
login:
ifeq ($(strip $(USERNAME)),)
@$(info This make target requires the USERNAME variable to be set.)
@$(info make login USERNAME= PASSWORD=)
@$(info )
@$(error Exiting)
endif
ifeq ($(strip $(PASSWORD)),)
@$(info This make target requires the PASSWORD variable to be set.)
@$(info make login USERNAME= PASSWORD=)
@$(info )
@$(error Exiting)
endif
@yes | docker login --username $(USERNAME) --password $(PASSWORD)
push:
ifeq ($(strip $(TAG)),)
@$(info This make target requires the TAG variable to be set.)
@$(info make push TAG=)
@$(info )
@$(error Exiting)
endif
docker push $(IMAGE):$(TAG)
tag:
ifeq ($(strip $(OLD_TAG)),)
@$(info This make target requires the OLD_TAG variable to be set.)
@$(info make tag OLD_TAG= NEW_TAG=)
@$(info )
@$(error Exiting)
endif
ifeq ($(strip $(NEW_TAG)),)
@$(info This make target requires the NEW_TAG variable to be set.)
@$(info make tag OLD_TAG= NEW_TAG=)
@$(info )
@$(error Exiting)
endif
docker tag $(IMAGE):$(OLD_TAG) $(IMAGE):$(NEW_TAG)
# ------------------------------------------------------------------------------------------------- # -------------------------------------------------------------------------------------------------
# HELPER TARGETS # HELPER TARGETS
# ------------------------------------------------------------------------------------------------- # -------------------------------------------------------------------------------------------------
@@ -274,6 +322,7 @@ endif
endif endif
endif endif
endif endif
@echo "Version $(VERSION) is valid"
_check-image-exists: _check-image-exists:

View File

@@ -617,7 +617,7 @@ Check out this table to see which Docker image provides what PHP modules.
<tr> <tr>
<th>5.5</th> <th>5.5</th>
<td id="55-base">Core, ctype, curl, date, dom, ereg, fileinfo, filter, ftp, hash, iconv, json, libxml, mbstring, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, Reflection, session, SimpleXML, SPL, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib</td> <td id="55-base">Core, ctype, curl, date, dom, ereg, fileinfo, filter, ftp, hash, iconv, json, libxml, mbstring, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, Reflection, session, SimpleXML, SPL, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib</td>
<td id="55-mods">amqp, apc, apcu, bcmath, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, ereg, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imap, interbase, intl, ioncube, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongo, mongodb, msgpack, mysql, mysqli, mysqlnd, OAuth, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, phalcon, Phar, posix, pspell, psr, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, SPL, sqlite3, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, yaml, Zend OPcache, zip, zlib</td> <td id="55-mods">amqp, apc, apcu, bcmath, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, ereg, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, interbase, intl, ioncube, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongo, mongodb, msgpack, mysql, mysqli, mysqlnd, OAuth, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, phalcon, Phar, posix, pspell, psr, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, SPL, sqlite3, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, yaml, Zend OPcache, zip, zlib</td>
</tr> </tr>
<tr> <tr>
<th>5.6</th> <th>5.6</th>
@@ -627,32 +627,32 @@ Check out this table to see which Docker image provides what PHP modules.
<tr> <tr>
<th>7.0</th> <th>7.0</th>
<td id="70-base">Core, ctype, curl, date, dom, fileinfo, filter, ftp, hash, iconv, json, libxml, mbstring, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, Reflection, session, SimpleXML, SPL, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib</td> <td id="70-base">Core, ctype, curl, date, dom, fileinfo, filter, ftp, hash, iconv, json, libxml, mbstring, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, Reflection, session, SimpleXML, SPL, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib</td>
<td id="70-mods">amqp, apcu, bcmath, blackfire, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, interbase, intl, ioncube, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongodb, msgpack, mysqli, mysqlnd, OAuth, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, PDO_OCI, pdo_pgsql, pdo_sqlite, pdo_sqlsrv, pgsql, phalcon, Phar, posix, pspell, psr, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, SPL, sqlite3, sqlsrv, ssh2, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, yaml, Zend OPcache, zip, zlib</td> <td id="70-mods">amqp, apcu, bcmath, blackfire, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, interbase, intl, ioncube, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongodb, msgpack, mysqli, mysqlnd, OAuth, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, PDO_OCI, pdo_pgsql, pdo_sqlite, pdo_sqlsrv, pgsql, phalcon, Phar, posix, pspell, psr, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, SPL, sqlite3, sqlsrv, ssh2, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, vips, wddx, xdebug, xlswriter, xml, xmlreader, xmlrpc, xmlwriter, xsl, yaml, Zend OPcache, zip, zlib</td>
</tr> </tr>
<tr> <tr>
<th>7.1</th> <th>7.1</th>
<td id="71-base">Core, ctype, curl, date, dom, fileinfo, filter, ftp, hash, iconv, json, libxml, mbstring, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, Reflection, session, SimpleXML, SPL, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib</td> <td id="71-base">Core, ctype, curl, date, dom, fileinfo, filter, ftp, hash, iconv, json, libxml, mbstring, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, Reflection, session, SimpleXML, SPL, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib</td>
<td id="71-mods">amqp, apcu, bcmath, blackfire, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, interbase, intl, ioncube, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongodb, msgpack, mysqli, mysqlnd, OAuth, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, PDO_OCI, pdo_pgsql, pdo_sqlite, pdo_sqlsrv, pgsql, phalcon, Phar, posix, pspell, psr, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, solr, SPL, sqlite3, sqlsrv, ssh2, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, yaml, Zend OPcache, zip, zlib</td> <td id="71-mods">amqp, apcu, bcmath, blackfire, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, interbase, intl, ioncube, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongodb, msgpack, mysqli, mysqlnd, OAuth, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, PDO_OCI, pdo_pgsql, pdo_sqlite, pdo_sqlsrv, pgsql, phalcon, Phar, posix, pspell, psr, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, solr, SPL, sqlite3, sqlsrv, ssh2, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, vips, wddx, xdebug, xlswriter, xml, xmlreader, xmlrpc, xmlwriter, xsl, yaml, Zend OPcache, zip, zlib</td>
</tr> </tr>
<tr> <tr>
<th>7.2</th> <th>7.2</th>
<td id="72-base">Core, ctype, curl, date, dom, fileinfo, filter, ftp, hash, iconv, json, libxml, mbstring, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, Reflection, session, SimpleXML, sodium, SPL, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib</td> <td id="72-base">Core, ctype, curl, date, dom, fileinfo, filter, ftp, hash, iconv, json, libxml, mbstring, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, Reflection, session, SimpleXML, sodium, SPL, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib</td>
<td id="72-mods">amqp, apcu, bcmath, blackfire, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, interbase, intl, ioncube, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongodb, msgpack, mysqli, mysqlnd, OAuth, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, PDO_OCI, pdo_pgsql, pdo_sqlite, pdo_sqlsrv, pgsql, phalcon, Phar, posix, pspell, psr, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, sodium, solr, SPL, sqlite3, sqlsrv, ssh2, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, yaml, Zend OPcache, zip, zlib</td> <td id="72-mods">amqp, apcu, bcmath, blackfire, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, interbase, intl, ioncube, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongodb, msgpack, mysqli, mysqlnd, OAuth, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, PDO_OCI, pdo_pgsql, pdo_sqlite, pdo_sqlsrv, pgsql, phalcon, Phar, posix, pspell, psr, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, sodium, solr, SPL, sqlite3, sqlsrv, ssh2, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, vips, wddx, xdebug, xlswriter, xml, xmlreader, xmlrpc, xmlwriter, xsl, yaml, Zend OPcache, zip, zlib</td>
</tr> </tr>
<tr> <tr>
<th>7.3</th> <th>7.3</th>
<td id="73-base">Core, ctype, curl, date, dom, fileinfo, filter, ftp, hash, iconv, json, libxml, mbstring, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, Reflection, session, SimpleXML, sodium, SPL, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib</td> <td id="73-base">Core, ctype, curl, date, dom, fileinfo, filter, ftp, hash, iconv, json, libxml, mbstring, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, Reflection, session, SimpleXML, sodium, SPL, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib</td>
<td id="73-mods">amqp, apcu, bcmath, blackfire, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, interbase, intl, ioncube, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongodb, msgpack, mysqli, mysqlnd, OAuth, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, PDO_OCI, pdo_pgsql, pdo_sqlite, pdo_sqlsrv, pgsql, phalcon, Phar, posix, pspell, psr, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, sodium, solr, SPL, sqlite3, sqlsrv, ssh2, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, yaml, Zend OPcache, zip, zlib</td> <td id="73-mods">amqp, apcu, bcmath, blackfire, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, interbase, intl, ioncube, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongodb, msgpack, mysqli, mysqlnd, OAuth, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, PDO_OCI, pdo_pgsql, pdo_sqlite, pdo_sqlsrv, pgsql, phalcon, Phar, posix, pspell, psr, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, sodium, solr, SPL, sqlite3, sqlsrv, ssh2, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, vips, wddx, xdebug, xlswriter, xml, xmlreader, xmlrpc, xmlwriter, xsl, yaml, Zend OPcache, zip, zlib</td>
</tr> </tr>
<tr> <tr>
<th>7.4</th> <th>7.4</th>
<td id="74-base">Core, ctype, curl, date, dom, fileinfo, filter, ftp, hash, iconv, json, libxml, mbstring, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, Reflection, session, SimpleXML, sodium, SPL, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib</td> <td id="74-base">Core, ctype, curl, date, dom, fileinfo, filter, ftp, hash, iconv, json, libxml, mbstring, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, Reflection, session, SimpleXML, sodium, SPL, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib</td>
<td id="74-mods">amqp, apcu, bcmath, blackfire, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, FFI, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, intl, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongodb, msgpack, mysqli, mysqlnd, OAuth, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, PDO_OCI, pdo_pgsql, pdo_sqlite, pgsql, phalcon, Phar, posix, pspell, psr, rdkafka, readline, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, sodium, solr, SPL, sqlite3, ssh2, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, yaml, Zend OPcache, zip, zlib</td> <td id="74-mods">amqp, apcu, bcmath, blackfire, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, FFI, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, intl, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongodb, msgpack, mysqli, mysqlnd, OAuth, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, PDO_OCI, pdo_pgsql, pdo_sqlite, pgsql, phalcon, Phar, posix, pspell, psr, rdkafka, readline, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, sodium, solr, SPL, sqlite3, ssh2, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, vips, xdebug, xlswriter, xml, xmlreader, xmlrpc, xmlwriter, xsl, yaml, Zend OPcache, zip, zlib</td>
</tr> </tr>
<tr> <tr>
<th>8.0</th> <th>8.0</th>
<td id="80-base">Core, ctype, curl, date, dom, FFI, fileinfo, filter, ftp, hash, iconv, json, libxml, mbstring, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, Reflection, session, SimpleXML, sodium, SPL, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib</td> <td id="80-base">Core, ctype, curl, date, dom, FFI, fileinfo, filter, ftp, hash, iconv, json, libxml, mbstring, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, Reflection, session, SimpleXML, sodium, SPL, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib</td>
<td id="80-mods">bcmath, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, FFI, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, intl, json, ldap, libxml, mbstring, memcached, mongodb, mysqli, mysqlnd, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, PDO_OCI, pdo_pgsql, pdo_sqlite, pgsql, Phar, posix, pspell, readline, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, sodium, SPL, sqlite3, standard, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib</td> <td id="80-mods">bcmath, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, FFI, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, intl, json, ldap, libxml, mbstring, memcached, mysqli, mysqlnd, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, PDO_OCI, pdo_pgsql, pdo_sqlite, pgsql, Phar, posix, pspell, readline, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, sodium, SPL, sqlite3, standard, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, xdebug, xml, xmlreader, xmlwriter, xsl, Zend OPcache, zip, zlib</td>
</tr> </tr>
</tbody> </tbody>
</table> </table>

View File

@@ -324,6 +324,8 @@ LABEL "org.opencontainers.image.description"="PHP-FPM {{ php_version }}-mods"
ARG EXT_DIR ARG EXT_DIR
COPY --from=builder ${EXT_DIR}/ ${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/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/ COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/

View File

@@ -76,6 +76,9 @@ RUN set -eux \
blackfire-agent \ blackfire-agent \
build-essential \ build-essential \
bzip2 \ bzip2 \
{% if php_version != 5.2 and php_version != 5.3 and php_version != 5.4 and php_version != 5.5 %}
certbot \
{% endif %}
coreutils \ coreutils \
dnsutils \ dnsutils \
dos2unix \ dos2unix \
@@ -87,6 +90,7 @@ RUN set -eux \
git-svn \ git-svn \
ghostscript \ ghostscript \
graphviz \ graphviz \
gsfonts \
hostname \ hostname \
htop \ htop \
imagemagick \ imagemagick \
@@ -97,6 +101,7 @@ RUN set -eux \
libffi-dev \ libffi-dev \
libssl-dev \ libssl-dev \
libyaml-dev \ libyaml-dev \
locales \
make \ make \
mongodb-org-shell \ mongodb-org-shell \
mongodb-org-tools \ mongodb-org-tools \
@@ -106,6 +111,8 @@ RUN set -eux \
{% else %} {% else %}
mysql-client \ mysql-client \
{% endif %} {% endif %}
mupdf \
mupdf-tools \
nano \ nano \
net-tools \ net-tools \
netcat \ netcat \
@@ -381,13 +388,13 @@ RUN set -eux \
{%- endif -%} {%- endif -%}
{#- Version specific gem version available? -#} {#- Version specific gem version available? -#}
{%- if php_version in pip_available[tool] and 'version' in pip_available[tool][php_version] -%} {%- if php_version in pip_available[tool] and 'version' in pip_available[tool][php_version] -%}
{{ "\n\t" }}&& pip install --no-cache-dir --force-reinstall {{ pip_available[tool]['name'] }}=={{ pip_available[tool][php_version]['version'] }} \ {{ "\n\t" }}&& pip install --no-cache-dir --force-reinstall {{ pip_available[tool]['name'] }}=={{ pip_available[tool][php_version]['version'] }} || true \
{#- Generic gem version available? -#} {#- Generic gem version available? -#}
{%- elif 'all' in pip_available[tool] and 'version' in pip_available[tool]['all'] -%} {%- elif 'all' in pip_available[tool] and 'version' in pip_available[tool]['all'] -%}
{{ "\n\t" }}&& pip install --no-cache-dir --force-reinstall {{ pip_available[tool]['name'] }}=={{ pip_available[tool]['all']['version'] }} \ {{ "\n\t" }}&& pip install --no-cache-dir --force-reinstall {{ pip_available[tool]['name'] }}=={{ pip_available[tool]['all']['version'] }} || true \
{#- No version info available -#} {#- No version info available -#}
{%- else -%} {%- else -%}
{{ "\n\t" }}&& pip install --no-cache-dir --force-reinstall {{ pip_available[tool]['name'] }} \ {{ "\n\t" }}&& pip install --no-cache-dir --force-reinstall {{ pip_available[tool]['name'] }} || true \
{%- endif -%} {%- endif -%}
{#- Fail fast version -#} {#- Fail fast version -#}
{%- if build_fail_fast -%} {%- if build_fail_fast -%}

View File

@@ -101,6 +101,7 @@ extensions_enabled:
- tidy - tidy
- tokenizer - tokenizer
- uploadprogress - uploadprogress
- vips
- wddx - wddx
- xdebug - xdebug
- xml - xml
@@ -108,6 +109,7 @@ extensions_enabled:
- xmlrpc - xmlrpc
- xmlwriter - xmlwriter
- xsl - xsl
- xlswriter
- yaml - yaml
- zip - zip
@@ -343,19 +345,35 @@ extensions_available:
all: all:
type: pecl type: pecl
imagick: imagick:
disabled: [5.2, 5.3, 5.4, 5.5, 8.0] # 5.3, 5.4 and 5.5 segfaults disabled: [5.2, 5.3, 5.4, 8.0] # Only available since 5.3. 5.3 and 5.4 segfaults
5.5:
type: pecl
build_dep: [libmagickwand-dev, libwebp5, ghostscript]
run_dep: [libmagickwand-6.q16-2, libwebp5, ghostscript]
5.6: 5.6:
type: pecl type: pecl
run_dep: [libmagickwand-6.q16-3, libwebp6] run_dep: [libmagickwand-6.q16-3, libwebp6, ghostscript]
7.0: 7.0:
type: pecl type: pecl
run_dep: [libmagickwand-6.q16-3, libwebp6] run_dep: [libmagickwand-6.q16-3, libwebp6, ghostscript]
all: all:
type: pecl type: pecl
build_dep: [libmagickwand-dev, libwebp6] build_dep: [libmagickwand-dev, libwebp6, ghostscript]
run_dep: [libmagickwand-6.q16-6, libwebp-dev] run_dep: [libmagickwand-6.q16-6, libwebp-dev, ghostscript]
# https://bugs.php.net/bug.php?id=77683
# https://github.com/Imagick/imagick/issues/262 (policy prevents PDF from being read)
post: |
sed -i'' 's|.*"thread".*| <policy domain="resource" name="thread" value="1"/>|g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS2".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS3".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"EPS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PDF".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"XPS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="delegate".*pattern="gs".*||g' /etc/ImageMagick-6/policy.xml \
imap: imap:
disabled: [7.4, 8.0] # TODO: re-enable. currently fails with: configure: error: OpenSSL libraries not found. disabled: [8.0] # TODO: re-enable. currently fails with: configure: error: OpenSSL libraries not found.
all: all:
type: builtin type: builtin
pre: ln -s /usr/lib/x86_64-linux-gnu/libkrb5* /usr/lib/ pre: ln -s /usr/lib/x86_64-linux-gnu/libkrb5* /usr/lib/
@@ -500,7 +518,7 @@ extensions_available:
command: yes yes | pecl install mongo command: yes yes | pecl install mongo
build_dep: [libssl-dev, libsasl2-dev] build_dep: [libssl-dev, libsasl2-dev]
mongodb: mongodb:
disabled: [5.2] disabled: [5.2, 8.0]
5.3: 5.3:
type: pecl type: pecl
version: 0.6.3 version: 0.6.3
@@ -510,6 +528,9 @@ extensions_available:
5.5: 5.5:
type: pecl type: pecl
version: 1.5.5 version: 1.5.5
5.6:
type: pecl
version: 1.7.5
8.0: 8.0:
type: git type: git
git_url: https://github.com/mongodb/mongo-php-driver git_url: https://github.com/mongodb/mongo-php-driver
@@ -541,7 +562,7 @@ extensions_available:
\ \
&& phpize \ && phpize \
&& ./configure --enable-mongodb \ && ./configure --enable-mongodb \
&& make all \ && make -j$(getconf _NPROCESSORS_ONLN) \
&& make install \ && make install \
all: all:
type: pecl type: pecl
@@ -824,6 +845,10 @@ extensions_available:
# TODO: This is a nasty work-around to fix current phpredis implementation for PHP 8.0 # TODO: This is a nasty work-around to fix current phpredis implementation for PHP 8.0
command: | command: |
sed -i'' 's/, ZSTR_LEN(ra->algorithm)//g' redis_array_impl.c \ sed -i'' 's/, ZSTR_LEN(ra->algorithm)//g' redis_array_impl.c \
&& sed -i'' 's|.*sctx->cb\.no_separation.*||g' library.c \
&& sed -i'' 's|.*sctx->cb\.no_separation.*||g' redis_array_impl.c \
&& sed -i'' 's|.*sctx->cb\.no_separation.*||g' cluster_library.c \
&& sed -i'' 's|.*->no_separation.*||g' redis_array_impl.c \
&& phpize \ && phpize \
&& ./configure --enable-redis \ && ./configure --enable-redis \
&& make -j$(getconf _NPROCESSORS_ONLN) \ && make -j$(getconf _NPROCESSORS_ONLN) \
@@ -992,6 +1017,97 @@ extensions_available:
type: git type: git
git_url: https://github.com/php/pecl-php-uploadprogress git_url: https://github.com/php/pecl-php-uploadprogress
configure: --enable-uploadprogress configure: --enable-uploadprogress
vips:
disabled: [5.2, 5.3, 5.4, 5.5, 5.6, 8.0]
7.0:
build_dep:
- fftw-dev
- gobject-introspection
- gtk-doc-tools
- libexif-dev
- libexpat1-dev
- libfftw3-dev
- libgif-dev
- libglib2.0-dev
- libmagick++-dev
- libmagickcore-6.q16-dev
- libmagickwand-dev
- libpoppler-glib-dev
- librsvg2-dev
- libtool
- libwebp-dev
- libwebpdemux2
- libwebpmux2
run_dep:
- fftw2
- gir1.2-poppler-0.18
- imagemagick-6.q16
- libexif12
- libexpat1
- libfftw3-3
- libgif7
- libglib2.0-0
- 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
- libpoppler-glib8
- librsvg2-2
- libwebp6
- libwebpdemux2
- libwebpmux2
all:
type: pecl
pre: |
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 \
build_dep:
- fftw-dev
- gobject-introspection
- gtk-doc-tools
- libexif-dev
- libexpat1-dev
- libfftw3-dev
- libgif-dev
- libglib2.0-dev
- libimagequant-dev
- libmagick++-dev
- libmagickcore-6.q16-dev
- libmagickwand-dev
- libpoppler-glib-dev
- librsvg2-dev
- libtool
- libwebp-dev
- libwebpdemux2
- libwebpmux3
run_dep:
- fftw2
- gir1.2-poppler-0.18
- imagemagick-6.q16
- libexif12
- libexpat1
- libfftw3-3
- libgif7
- libglib2.0-0
- libimagequant0
- 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
- libpoppler-glib8
- librsvg2-2
- libwebp6
- libwebpdemux2
- libwebpmux3
wddx: wddx:
# https://wiki.php.net/rfc/deprecate-and-remove-ext-wddx # https://wiki.php.net/rfc/deprecate-and-remove-ext-wddx
disabled: [7.4, 8.0] disabled: [7.4, 8.0]
@@ -1000,7 +1116,7 @@ extensions_available:
configure: --with-libxml-dir=/usr configure: --with-libxml-dir=/usr
build_dep: [libxml2-dev] build_dep: [libxml2-dev]
xdebug: xdebug:
disabled: [8.0] disabled: []
5.2: 5.2:
type: pecl type: pecl
version: 2.2.7 version: 2.2.7
@@ -1019,13 +1135,24 @@ extensions_available:
7.0: 7.0:
type: pecl type: pecl
version: 2.9.0 version: 2.9.0
8.0:
type: git
git_url: https://github.com/xdebug/xdebug
configure: --enable-xdebug
all: all:
type: pecl type: pecl
xlswriter:
disabled: [5.2, 5.3, 5.4, 5.5, 5.6, 8.0]
all:
type: pecl
build_dep: [zlib1g-dev]
run_dep: []
xml: xml:
already_avail: "{{ php_all_versions }}" already_avail: "{{ php_all_versions }}"
xmlreader: xmlreader:
already_avail: "{{ php_all_versions }}" already_avail: "{{ php_all_versions }}"
xmlrpc: xmlrpc:
disabled: [8.0]
7.4: 7.4:
type: builtin type: builtin
configure: --with-iconv-dir=/usr configure: --with-iconv-dir=/usr
@@ -1054,6 +1181,9 @@ extensions_available:
5.6: 5.6:
type: pecl type: pecl
version: 1.3.2 version: 1.3.2
7.0:
type: pecl
version: 2.0.4
all: all:
type: pecl type: pecl
build_dep: [libyaml-dev] build_dep: [libyaml-dev]

View File

@@ -43,6 +43,7 @@ composer_enabled:
# ------------------------------------------------------------------------------------------------- # -------------------------------------------------------------------------------------------------
gem_enabled: gem_enabled:
- mixlib_config - mixlib_config
- ffi
- rb_inotify - rb_inotify
- mdl - mdl
@@ -207,22 +208,22 @@ apt_repositories_available:
composer_available: composer_available:
asgardcms: asgardcms:
disabled: [5.2, 5.3, 5.4, 8.0] disabled: [5.2, 5.3, 5.4, 8.0]
check: asgardcms --version 2>/dev/null | grep -Ei 'AsgardCMS\sInstaller\s[.0-9]+' check: asgardcms --version 2>/dev/null | grep -Ei 'AsgardCMS\sInstaller\s[0-9][.0-9]+'
name: asgardcms/asgardcms-installer name: asgardcms/asgardcms-installer
link: asgardcms link: asgardcms
codeception: codeception:
disabled: [5.2, 8.0] disabled: [5.2, 8.0]
check: codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[.0-9]+$' check: codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[0-9][.0-9]+$'
name: codeception/codeception name: codeception/codeception
link: codecept link: codecept
lumen: lumen:
disabled: [5.2, 5.3, 5.4, 8.0] disabled: [5.2, 5.3, 5.4, 8.0]
check: lumen --version 2>/dev/null | grep -E '^Lumen Installer\s[.0-9]+$' check: lumen --version 2>/dev/null | grep -E '^Lumen Installer\s[0-9][.0-9]+$'
name: laravel/lumen-installer name: laravel/lumen-installer
link: lumen link: lumen
photon: photon:
disabled: [5.2, 5.3, 5.4, 8.0] disabled: [5.2, 5.3, 5.4, 8.0]
check: photon --version | grep -E 'Installer [.0-9]+' check: photon --version | grep -E 'Installer [0-9][.0-9]+'
name: photoncms/installer name: photoncms/installer
link: photon link: photon
prestissimo: prestissimo:
@@ -248,13 +249,20 @@ gem_available:
name: mixlib-config name: mixlib-config
all: all:
version: 2.2.4 version: 2.2.4
# Required by rb-inotify, as otherwise rb-inotify will pull ffi as a dependency in a
# version which is not supported by the ruby version (>= 2.3)
ffi:
name: ffi
disabled: [5.6, 7.0, 7.1, 7.2, 7.3, 7.4, 8.0]
all:
version: 1.12.2
rb_inotify: rb_inotify:
name: rb-inotify name: rb-inotify
all: all:
version: 0.9.10 version: 0.9.10
mdl: mdl:
name: mdl name: mdl
check: mdl --version | grep -E '[.0-9]+' check: mdl --version | grep -E '[0-9][.0-9]+'
8.0: 8.0:
version: 0.5.0 version: 0.5.0
7.4: 7.4:
@@ -289,43 +297,43 @@ gem_available:
npm_available: npm_available:
angular_cli: angular_cli:
name: "@angular/cli" name: "@angular/cli"
check: ng version 2>&1 | grep -iE 'Angular CLI:\s*[.0-9]+' check: ng version 2>&1 | grep -iE 'Angular CLI:\s*[0-9][.0-9]+'
eslint: eslint:
name: eslint name: eslint
check: eslint -v | grep -E '[.0-9]+' check: eslint -v | grep -E '[0-9][.0-9]+'
grunt: grunt:
name: grunt name: grunt
grunt_cli: grunt_cli:
name: grunt-cli name: grunt-cli
check: grunt --version | grep -E '[.0-9]+' check: grunt --version | grep -E '[0-9][.0-9]+'
gulp: gulp:
name: gulp name: gulp
check: gulp --version | grep -E '[.0-9]+' check: gulp --version | grep -E '[0-9][.0-9]+'
jsonlint: jsonlint:
name: jsonlint name: jsonlint
check: jsonlint --version | grep -E '[.0-9]+' check: jsonlint --version | grep -E '[0-9][.0-9]+'
pm2: pm2:
name: pm2 name: pm2
check: pm2 --no-daemon --version | grep -E '[.0-9]+' check: pm2 --no-daemon --version | tail -1 | grep -E '[0-9][.0-9]+'
mdlint: mdlint:
name: mdlint name: mdlint
check: mdlint --version | grep -E '[.0-9]+' check: mdlint --version | grep -E '[0-9][.0-9]+'
sass: sass:
name: sass name: sass
check: sass --version | grep -E '[.0-9]+' check: sass --version | grep -E '[0-9][.0-9]+'
stylelint: stylelint:
name: stylelint name: stylelint
check: stylelint --version | grep -E '[.0-9]+' check: stylelint --version | grep -E '[0-9][.0-9]+'
vue_cli: vue_cli:
name: "@vue/cli" name: "@vue/cli"
check: vue --version | grep -E '[.0-9]+' check: vue --version | grep -E '[0-9][.0-9]+'
vue_cli_service_global: vue_cli_service_global:
name: "@vue/cli-service-global" name: "@vue/cli-service-global"
webpack: webpack:
name: webpack name: webpack
webpack_cli: webpack_cli:
name: webpack-cli name: webpack-cli
check: webpack --version | grep -E '[.0-9]+' check: webpack --version | grep -E '[0-9][.0-9]+'
# ------------------------------------------------------------------------------------------------- # -------------------------------------------------------------------------------------------------
@@ -344,13 +352,13 @@ npm_available:
pip_available: pip_available:
ansible: ansible:
name: ansible name: ansible
check: ansible --version | grep -E '^ansible [.0-9]+$' check: ansible --version | grep -E '^ansible [0-9][.0-9]+$'
yamllint: yamllint:
name: yamllint name: yamllint
check: yamllint --version 2>&1 | grep -E '[.0-9]+' check: yamllint --version 2>&1 | grep -E '[0-9][.0-9]+'
yq: yq:
name: yq name: yq
check: yq --version 2>&1 | grep -E '^yq\s+[.0-9]+$' check: yq --version 2>&1 | grep -E '^yq\s+[0-9][.0-9]+$'
# ------------------------------------------------------------------------------------------------- # -------------------------------------------------------------------------------------------------
@@ -371,7 +379,7 @@ software_available:
# Composer is a dependency for others # Composer is a dependency for others
composer: composer:
disabled: [5.2] disabled: [5.2]
check: composer --version 2>/dev/null | grep -E 'version\s*[.0-9]+' check: composer --version 2>/dev/null | grep -E 'version\s*[0-9][.0-9]+'
all: all:
command: curl -sS -L --fail https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer command: curl -sS -L --fail https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
# pip is a dependency for others # pip is a dependency for others
@@ -387,7 +395,7 @@ software_available:
&& curl -sS -L --fail https://bootstrap.pypa.io/get-pip.py | python \ && curl -sS -L --fail https://bootstrap.pypa.io/get-pip.py | python \
# nvm is a dependency for others # nvm is a dependency for others
nvm: nvm:
check: su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^[.0-9]+' check: su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^[0-9][.0-9]+'
all: all:
pre: | pre: |
git clone https://github.com/creationix/nvm /opt/nvm \ git clone https://github.com/creationix/nvm /opt/nvm \
@@ -407,7 +415,7 @@ software_available:
&& su -c '. /opt/nvm/nvm.sh; nvm install --lts' devilbox \ && su -c '. /opt/nvm/nvm.sh; nvm install --lts' devilbox \
&& su -c '. /opt/nvm/nvm.sh; nvm use node' devilbox \ && su -c '. /opt/nvm/nvm.sh; nvm use node' devilbox \
awesomeci: awesomeci:
check: regex-grep --version | grep -E '[.0-9]+' check: regex-grep --version | grep -E '[0-9][.0-9]+'
all: all:
command: | command: |
git clone https://github.com/cytopia/awesome-ci.git /usr/local/src/awesome-ci \ git clone https://github.com/cytopia/awesome-ci.git /usr/local/src/awesome-ci \
@@ -419,7 +427,7 @@ software_available:
&& rm -rf /usr/local/src/awesome-ci \ && rm -rf /usr/local/src/awesome-ci \
deployer: deployer:
disabled: [5.2, 5.3] disabled: [5.2, 5.3]
check: dep --version 2>/dev/null | grep -Ei 'deployer\s*(version\s*)?[.0-9]+' check: dep --version 2>/dev/null | grep -Ei 'deployer\s*(version\s*)?[0-9][.0-9]+'
5.4: 5.4:
command: curl -sS -L --fail https://deployer.org/releases/v3.3.0/deployer.phar -L -o /usr/local/bin/dep command: curl -sS -L --fail https://deployer.org/releases/v3.3.0/deployer.phar -L -o /usr/local/bin/dep
post: chmod +x /usr/local/bin/dep post: chmod +x /usr/local/bin/dep
@@ -488,12 +496,13 @@ software_available:
&& rm -rf /usr/local/src/drush9/misc \ && rm -rf /usr/local/src/drush9/misc \
drupalconsole: drupalconsole:
disabled: [5.2, 5.3, 5.4, 8.0] # TODO: re-enable for 8.0 (currently errors) disabled: [5.2, 5.3, 5.4, 8.0] # TODO: re-enable for 8.0 (currently errors)
check: drupal --version | grep -E 'Drupal Console Launcher\s*[.0-9]' check: drupal --version | grep -E 'Drupal Console Launcher\s*[0-9][.0-9]'
all: all:
command: curl -sS -L --fail https://drupalconsole.com/installer -L -o /usr/local/bin/drupal pre: DURL="https://github.com$(curl -sS 'https://github.com/hechoendrupal/drupal-console-launcher/releases' | grep -Eo 'href="/.+drupal.phar"' | head -1 | sed 's/^href="//g' | sed 's/"$//g')"
command: curl -sS -L --fail "${DURL}" -L -o /usr/local/bin/drupal
post: chmod +x /usr/local/bin/drupal post: chmod +x /usr/local/bin/drupal
gitflow: gitflow:
check: git-flow version | grep -E '[.0-9]+' check: git-flow version | grep -E '[0-9][.0-9]+'
all: all:
command: | command: |
git clone git://github.com/petervanderdoes/gitflow.git /tmp/gitflow \ git clone git://github.com/petervanderdoes/gitflow.git /tmp/gitflow \
@@ -501,7 +510,7 @@ software_available:
&& make install \ && make install \
&& cd / && rm -rf /tmp/gitflow \ && cd / && rm -rf /tmp/gitflow \
laravel: laravel:
check: laravel --version | grep -E '(Installer|version)\s*[.0-9]+' check: laravel --version | grep -E '(Installer|version)\s*[0-9][.0-9]+'
disabled: [5.2, 5.3, 8.0] disabled: [5.2, 5.3, 8.0]
5.4: 5.4:
pre: | pre: |
@@ -538,6 +547,13 @@ software_available:
&& git checkout $(git tag | grep '^v2\.3\.' | sort -u | tail -1) \ && git checkout $(git tag | grep '^v2\.3\.' | sort -u | tail -1) \
post: post:
ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel
7.2:
pre: |
git clone https://github.com/laravel/installer /usr/local/src/laravel-installer \
&& cd /usr/local/src/laravel-installer \
&& git checkout v4.0.0 \
post:
ln -s /usr/local/src/laravel-installer/bin/laravel /usr/local/bin/laravel
all: all:
pre: | pre: |
git clone https://github.com/laravel/installer /usr/local/src/laravel-installer \ git clone https://github.com/laravel/installer /usr/local/src/laravel-installer \
@@ -550,13 +566,13 @@ software_available:
post: post:
ln -s /usr/local/src/laravel-installer/bin/laravel /usr/local/bin/laravel ln -s /usr/local/src/laravel-installer/bin/laravel /usr/local/bin/laravel
linkcheck: linkcheck:
check: linkcheck --version | grep -E '^linkcheck\sv[.0-9]+' check: linkcheck --version | grep -E '^linkcheck\sv[0-9][.0-9]+'
all: all:
command: | command: |
curl -sS -L --fail https://raw.githubusercontent.com/cytopia/linkcheck/master/linkcheck > /usr/local/bin/linkcheck \ curl -sS -L --fail https://raw.githubusercontent.com/cytopia/linkcheck/master/linkcheck > /usr/local/bin/linkcheck \
&& chmod +x /usr/local/bin/linkcheck \ && chmod +x /usr/local/bin/linkcheck \
linuxbrew: linuxbrew:
check: su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew --version' | grep -E 'Homebrew\s*[.0-9]+' check: su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew --version' | grep -E 'Homebrew\s*[0-9][.0-9]+'
all: all:
command: | command: |
git clone https://github.com/Linuxbrew/brew.git /usr/local/src/linuxbrew \ git clone https://github.com/Linuxbrew/brew.git /usr/local/src/linuxbrew \
@@ -575,7 +591,7 @@ software_available:
&& chmod +x mhsendmail_linux_amd64 \ && chmod +x mhsendmail_linux_amd64 \
&& mv mhsendmail_linux_amd64 /usr/local/bin/mhsendmail \ && mv mhsendmail_linux_amd64 /usr/local/bin/mhsendmail \
mysqldumpsecure: mysqldumpsecure:
check: mysqldump-secure --version | grep -E 'Version:\s*[.0-9]+' check: mysqldump-secure --version | grep -E 'Version:\s*[0-9][.0-9]+'
all: all:
command: | command: |
git clone https://github.com/cytopia/mysqldump-secure.git /usr/local/src/mysqldump-secure \ git clone https://github.com/cytopia/mysqldump-secure.git /usr/local/src/mysqldump-secure \
@@ -600,7 +616,7 @@ software_available:
&& rm -rf /usr/local/src/mysqldump-secure \ && rm -rf /usr/local/src/mysqldump-secure \
phalcon: phalcon:
disabled: [5.2, 8.0] disabled: [5.2, 8.0]
check: phalcon commands | grep -E '[.0-9]+' check: phalcon commands | grep -E '[0-9][.0-9]+'
5.3: 5.3:
pre: | pre: |
git clone https://github.com/phalcon/phalcon-devtools /usr/local/src/phalcon-devtools \ git clone https://github.com/phalcon/phalcon-devtools /usr/local/src/phalcon-devtools \
@@ -685,7 +701,7 @@ software_available:
&& cd / \ && cd / \
&& rm -rf /usr/local/src/phalcon-devtools/.git \ && rm -rf /usr/local/src/phalcon-devtools/.git \
phpcs: phpcs:
check: phpcs --version | grep -E 'version [.0-9]+' check: phpcs --version | grep -E 'version [0-9][.0-9]+'
5.2: 5.2:
command: | command: |
curl -sS -L --fail https://github.com/squizlabs/PHP_CodeSniffer/releases/download/2.9.0/phpcs.phar > /usr/local/bin/phpcs 2>/dev/null \ curl -sS -L --fail https://github.com/squizlabs/PHP_CodeSniffer/releases/download/2.9.0/phpcs.phar > /usr/local/bin/phpcs 2>/dev/null \
@@ -699,7 +715,7 @@ software_available:
curl -sS -L --fail https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar > /usr/local/bin/phpcs 2>/dev/null \ curl -sS -L --fail https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar > /usr/local/bin/phpcs 2>/dev/null \
&& chmod +x /usr/local/bin/phpcs \ && chmod +x /usr/local/bin/phpcs \
phpcbf: phpcbf:
check: phpcbf --version | grep -E 'version [.0-9]+' check: phpcbf --version | grep -E 'version [0-9][.0-9]+'
5.2: 5.2:
command: | command: |
curl -sS -L --fail https://github.com/squizlabs/PHP_CodeSniffer/releases/download/2.9.0/phpcbf.phar > /usr/local/bin/phpcbf 2>/dev/null \ curl -sS -L --fail https://github.com/squizlabs/PHP_CodeSniffer/releases/download/2.9.0/phpcbf.phar > /usr/local/bin/phpcbf 2>/dev/null \
@@ -733,7 +749,7 @@ software_available:
&& chmod +x /usr/local/bin/php-cs-fixer \ && chmod +x /usr/local/bin/php-cs-fixer \
phpmd: phpmd:
disabled: [5.2] disabled: [5.2]
check: phpmd --version | grep -E '^PHPMD [.0-9]+' check: phpmd --version | grep -E '^PHPMD [0-9][.0-9]+'
all: all:
command: | command: |
curl -sS -L --fail https://phpmd.org/static/latest/phpmd.phar > phpmd.phar \ curl -sS -L --fail https://phpmd.org/static/latest/phpmd.phar > phpmd.phar \
@@ -741,7 +757,7 @@ software_available:
&& chmod +x /usr/local/bin/phpmd \ && chmod +x /usr/local/bin/phpmd \
phpunit: phpunit:
disabled: [5.2, 8.0] disabled: [5.2, 8.0]
check: phpunit --version | grep -iE '^PHPUnit\s[.0-9]+' check: phpunit --version | grep -iE '^PHPUnit\s[0-9][.0-9]+'
5.3: 5.3:
command: | command: |
curl -sS -L --fail https://phar.phpunit.de/phpunit-4.phar > /usr/local/bin/phpunit 2>/dev/null \ curl -sS -L --fail https://phar.phpunit.de/phpunit-4.phar > /usr/local/bin/phpunit 2>/dev/null \
@@ -768,13 +784,13 @@ software_available:
&& chmod +x /usr/local/bin/phpunit \ && chmod +x /usr/local/bin/phpunit \
symfony: symfony:
disabled: [5.2, 5.3] disabled: [5.2, 5.3]
check: symfony -V | grep -Ei 'version\s*.*v[.0-9]+' check: symfony -V | grep -Ei 'version\s*.*v[0-9][.0-9]+'
all: all:
pre: SYMFONY_VERSION="$( curl -sS -L --fail https://get.symfony.com/cli/LATEST )" pre: SYMFONY_VERSION="$( curl -sS -L --fail https://get.symfony.com/cli/LATEST )"
command: curl -sS -L --fail "https://github.com/symfony/cli/releases/download/v${SYMFONY_VERSION}/symfony_linux_amd64" > /usr/local/bin/symfony command: curl -sS -L --fail "https://github.com/symfony/cli/releases/download/v${SYMFONY_VERSION}/symfony_linux_amd64" > /usr/local/bin/symfony
post: chmod +x /usr/local/bin/symfony post: chmod +x /usr/local/bin/symfony
wkhtmltopdf: wkhtmltopdf:
check: wkhtmltopdf --version | grep -E "^wkhtmltopdf [.0-9]+\s+\(.+patched.+\)" check: wkhtmltopdf --version | grep -E "^wkhtmltopdf [0-9][.0-9]+\s+\(.+patched.+\)"
5.2: 5.2:
pre: VERSION="$( curl -sSL -L --fail https://github.com/wkhtmltopdf/wkhtmltopdf/releases | grep -Eo '/wkhtmltopdf/.+jessie_amd64\.deb' | head -1 )" pre: VERSION="$( curl -sSL -L --fail https://github.com/wkhtmltopdf/wkhtmltopdf/releases | grep -Eo '/wkhtmltopdf/.+jessie_amd64\.deb' | head -1 )"
5.3: 5.3:
@@ -837,7 +853,7 @@ software_available:
&& rm -rf /var/lib/apt/lists/* \ && rm -rf /var/lib/apt/lists/* \
wpcli: wpcli:
disabled: [5.2] disabled: [5.2]
check: wp --allow-root --version | grep -E '[.0-9]+' check: wp --allow-root --version | grep -E '[0-9][.0-9]+'
5.3: 5.3:
command: curl -sS -L --fail https://github.com/wp-cli/wp-cli/releases/download/v1.5.1/wp-cli-1.5.1.phar -L -o /usr/local/bin/wp command: curl -sS -L --fail https://github.com/wp-cli/wp-cli/releases/download/v1.5.1/wp-cli-1.5.1.phar -L -o /usr/local/bin/wp
post: chmod +x /usr/local/bin/wp post: chmod +x /usr/local/bin/wp

Binary file not shown.

View File

@@ -9,8 +9,8 @@ error_reporting(-1);
$PHP_VERSION = str_replace('-dev', '', PHP_VERSION); $PHP_VERSION = str_replace('-dev', '', PHP_VERSION);
// Only available since 5.3.0 (PHP 5.3, 5.4 and 5.5 segfaults) // Only available since 5.3.0 (PHP 5.3 and 5.4 segfaults)
if (version_compare($PHP_VERSION, '5.6.0', '<')) { if (version_compare($PHP_VERSION, '5.5.0', '<')) {
echo 'SKIP'; echo 'SKIP';
exit(0); exit(0);
} }

View File

@@ -0,0 +1,32 @@
<?php
/**
* This page should print 'OK' if everything works,
* 'FAIL' or nothing if an error occured.
*/
ini_set('display_startup_errors', 1);
ini_set('display_errors', 1);
error_reporting(-1);
$PHP_VERSION = str_replace('-dev', '', PHP_VERSION);
// Only available since 5.3.0 (PHP 5.3 and 5.4 segfaults)
if (version_compare($PHP_VERSION, '5.5.0', '<')) {
echo 'SKIP';
exit(0);
}
// FIXME: Currently not supported on PHP 8
if (version_compare($PHP_VERSION, '8.0.0', '>=')) {
echo 'SKIP';
exit(0);
}
$dir = realpath(dirname(__FILE__));
$file = $dir . DIRECTORY_SEPARATOR . 'dummy.pdf';
$img = new Imagick();
if ($img->readImage($file) !== True) {
echo 'FAIL: newImage()';
exit(1);
}
echo 'OK';

View File

@@ -9,8 +9,8 @@ error_reporting(-1);
$PHP_VERSION = str_replace('-dev', '', PHP_VERSION); $PHP_VERSION = str_replace('-dev', '', PHP_VERSION);
// Only available since 5.3.0 (PHP 5.3, 5.4 and 5.5 segfaults) // Only available since 5.3.0 (PHP 5.3 and 5.4 segfaults)
if (version_compare($PHP_VERSION, '5.6.0', '<')) { if (version_compare($PHP_VERSION, '5.5.0', '<')) {
echo 'SKIP'; echo 'SKIP';
exit(0); exit(0);
} }