Skip to content

Commit 6a085d9

Browse files
committed
Run update.sh for build deps auto-removal
1 parent 251aece commit 6a085d9

File tree

8 files changed

+120
-72
lines changed

8 files changed

+120
-72
lines changed

php5.6/apache/Dockerfile

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,24 +2,30 @@ FROM php:5.6-apache
22

33
# install the PHP extensions we need
44
RUN set -ex; \
5+
\
6+
savedAptMark="$(apt-mark showmanual)"; \
57
\
68
apt-get update; \
7-
buildDeps=" \
9+
apt-get install -y --no-install-recommends \
810
libjpeg-dev \
911
libpng-dev \
10-
"; \
11-
apt-get install -y \
12-
$buildDeps \
1312
; \
1413
\
1514
docker-php-ext-configure gd --with-png-dir=/usr --with-jpeg-dir=/usr; \
1615
docker-php-ext-install gd mysqli opcache; \
1716
\
18-
apt-mark manual \
19-
libjpeg62-turbo \
20-
; \
21-
apt-mark manual libpng12-0 || apt-mark manual libpng16-16; \
22-
apt-get purge -y --auto-remove $buildDeps; \
17+
# reset apt-mark's "manual" list so that "purge --auto-remove" will remove all build dependencies
18+
apt-mark auto '.*' > /dev/null; \
19+
apt-mark manual $savedAptMark; \
20+
ldd "$(php -r 'echo ini_get("extension_dir");')"/*.so \
21+
| awk '/=>/ { print $3 }' \
22+
| sort -u \
23+
| xargs -r dpkg-query -S \
24+
| cut -d: -f1 \
25+
| sort -u \
26+
| xargs -rt apt-mark manual; \
27+
\
28+
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
2329
rm -rf /var/lib/apt/lists/*
2430

2531
# set recommended PHP.ini settings

php5.6/fpm/Dockerfile

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,24 +2,30 @@ FROM php:5.6-fpm
22

33
# install the PHP extensions we need
44
RUN set -ex; \
5+
\
6+
savedAptMark="$(apt-mark showmanual)"; \
57
\
68
apt-get update; \
7-
buildDeps=" \
9+
apt-get install -y --no-install-recommends \
810
libjpeg-dev \
911
libpng-dev \
10-
"; \
11-
apt-get install -y \
12-
$buildDeps \
1312
; \
1413
\
1514
docker-php-ext-configure gd --with-png-dir=/usr --with-jpeg-dir=/usr; \
1615
docker-php-ext-install gd mysqli opcache; \
1716
\
18-
apt-mark manual \
19-
libjpeg62-turbo \
20-
; \
21-
apt-mark manual libpng12-0 || apt-mark manual libpng16-16; \
22-
apt-get purge -y --auto-remove $buildDeps; \
17+
# reset apt-mark's "manual" list so that "purge --auto-remove" will remove all build dependencies
18+
apt-mark auto '.*' > /dev/null; \
19+
apt-mark manual $savedAptMark; \
20+
ldd "$(php -r 'echo ini_get("extension_dir");')"/*.so \
21+
| awk '/=>/ { print $3 }' \
22+
| sort -u \
23+
| xargs -r dpkg-query -S \
24+
| cut -d: -f1 \
25+
| sort -u \
26+
| xargs -rt apt-mark manual; \
27+
\
28+
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
2329
rm -rf /var/lib/apt/lists/*
2430

2531
# set recommended PHP.ini settings

php7.0/apache/Dockerfile

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,24 +2,30 @@ FROM php:7.0-apache
22

33
# install the PHP extensions we need
44
RUN set -ex; \
5+
\
6+
savedAptMark="$(apt-mark showmanual)"; \
57
\
68
apt-get update; \
7-
buildDeps=" \
9+
apt-get install -y --no-install-recommends \
810
libjpeg-dev \
911
libpng-dev \
10-
"; \
11-
apt-get install -y \
12-
$buildDeps \
1312
; \
1413
\
1514
docker-php-ext-configure gd --with-png-dir=/usr --with-jpeg-dir=/usr; \
1615
docker-php-ext-install gd mysqli opcache; \
1716
\
18-
apt-mark manual \
19-
libjpeg62-turbo \
20-
; \
21-
apt-mark manual libpng12-0 || apt-mark manual libpng16-16; \
22-
apt-get purge -y --auto-remove $buildDeps; \
17+
# reset apt-mark's "manual" list so that "purge --auto-remove" will remove all build dependencies
18+
apt-mark auto '.*' > /dev/null; \
19+
apt-mark manual $savedAptMark; \
20+
ldd "$(php -r 'echo ini_get("extension_dir");')"/*.so \
21+
| awk '/=>/ { print $3 }' \
22+
| sort -u \
23+
| xargs -r dpkg-query -S \
24+
| cut -d: -f1 \
25+
| sort -u \
26+
| xargs -rt apt-mark manual; \
27+
\
28+
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
2329
rm -rf /var/lib/apt/lists/*
2430

2531
# set recommended PHP.ini settings

php7.0/fpm/Dockerfile

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,24 +2,30 @@ FROM php:7.0-fpm
22

33
# install the PHP extensions we need
44
RUN set -ex; \
5+
\
6+
savedAptMark="$(apt-mark showmanual)"; \
57
\
68
apt-get update; \
7-
buildDeps=" \
9+
apt-get install -y --no-install-recommends \
810
libjpeg-dev \
911
libpng-dev \
10-
"; \
11-
apt-get install -y \
12-
$buildDeps \
1312
; \
1413
\
1514
docker-php-ext-configure gd --with-png-dir=/usr --with-jpeg-dir=/usr; \
1615
docker-php-ext-install gd mysqli opcache; \
1716
\
18-
apt-mark manual \
19-
libjpeg62-turbo \
20-
; \
21-
apt-mark manual libpng12-0 || apt-mark manual libpng16-16; \
22-
apt-get purge -y --auto-remove $buildDeps; \
17+
# reset apt-mark's "manual" list so that "purge --auto-remove" will remove all build dependencies
18+
apt-mark auto '.*' > /dev/null; \
19+
apt-mark manual $savedAptMark; \
20+
ldd "$(php -r 'echo ini_get("extension_dir");')"/*.so \
21+
| awk '/=>/ { print $3 }' \
22+
| sort -u \
23+
| xargs -r dpkg-query -S \
24+
| cut -d: -f1 \
25+
| sort -u \
26+
| xargs -rt apt-mark manual; \
27+
\
28+
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
2329
rm -rf /var/lib/apt/lists/*
2430

2531
# set recommended PHP.ini settings

php7.1/apache/Dockerfile

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,24 +2,30 @@ FROM php:7.1-apache
22

33
# install the PHP extensions we need
44
RUN set -ex; \
5+
\
6+
savedAptMark="$(apt-mark showmanual)"; \
57
\
68
apt-get update; \
7-
buildDeps=" \
9+
apt-get install -y --no-install-recommends \
810
libjpeg-dev \
911
libpng-dev \
10-
"; \
11-
apt-get install -y \
12-
$buildDeps \
1312
; \
1413
\
1514
docker-php-ext-configure gd --with-png-dir=/usr --with-jpeg-dir=/usr; \
1615
docker-php-ext-install gd mysqli opcache; \
1716
\
18-
apt-mark manual \
19-
libjpeg62-turbo \
20-
; \
21-
apt-mark manual libpng12-0 || apt-mark manual libpng16-16; \
22-
apt-get purge -y --auto-remove $buildDeps; \
17+
# reset apt-mark's "manual" list so that "purge --auto-remove" will remove all build dependencies
18+
apt-mark auto '.*' > /dev/null; \
19+
apt-mark manual $savedAptMark; \
20+
ldd "$(php -r 'echo ini_get("extension_dir");')"/*.so \
21+
| awk '/=>/ { print $3 }' \
22+
| sort -u \
23+
| xargs -r dpkg-query -S \
24+
| cut -d: -f1 \
25+
| sort -u \
26+
| xargs -rt apt-mark manual; \
27+
\
28+
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
2329
rm -rf /var/lib/apt/lists/*
2430

2531
# set recommended PHP.ini settings

php7.1/fpm/Dockerfile

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,24 +2,30 @@ FROM php:7.1-fpm
22

33
# install the PHP extensions we need
44
RUN set -ex; \
5+
\
6+
savedAptMark="$(apt-mark showmanual)"; \
57
\
68
apt-get update; \
7-
buildDeps=" \
9+
apt-get install -y --no-install-recommends \
810
libjpeg-dev \
911
libpng-dev \
10-
"; \
11-
apt-get install -y \
12-
$buildDeps \
1312
; \
1413
\
1514
docker-php-ext-configure gd --with-png-dir=/usr --with-jpeg-dir=/usr; \
1615
docker-php-ext-install gd mysqli opcache; \
1716
\
18-
apt-mark manual \
19-
libjpeg62-turbo \
20-
; \
21-
apt-mark manual libpng12-0 || apt-mark manual libpng16-16; \
22-
apt-get purge -y --auto-remove $buildDeps; \
17+
# reset apt-mark's "manual" list so that "purge --auto-remove" will remove all build dependencies
18+
apt-mark auto '.*' > /dev/null; \
19+
apt-mark manual $savedAptMark; \
20+
ldd "$(php -r 'echo ini_get("extension_dir");')"/*.so \
21+
| awk '/=>/ { print $3 }' \
22+
| sort -u \
23+
| xargs -r dpkg-query -S \
24+
| cut -d: -f1 \
25+
| sort -u \
26+
| xargs -rt apt-mark manual; \
27+
\
28+
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
2329
rm -rf /var/lib/apt/lists/*
2430

2531
# set recommended PHP.ini settings

php7.2/apache/Dockerfile

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,24 +2,30 @@ FROM php:7.2-apache
22

33
# install the PHP extensions we need
44
RUN set -ex; \
5+
\
6+
savedAptMark="$(apt-mark showmanual)"; \
57
\
68
apt-get update; \
7-
buildDeps=" \
9+
apt-get install -y --no-install-recommends \
810
libjpeg-dev \
911
libpng-dev \
10-
"; \
11-
apt-get install -y \
12-
$buildDeps \
1312
; \
1413
\
1514
docker-php-ext-configure gd --with-png-dir=/usr --with-jpeg-dir=/usr; \
1615
docker-php-ext-install gd mysqli opcache; \
1716
\
18-
apt-mark manual \
19-
libjpeg62-turbo \
20-
; \
21-
apt-mark manual libpng12-0 || apt-mark manual libpng16-16; \
22-
apt-get purge -y --auto-remove $buildDeps; \
17+
# reset apt-mark's "manual" list so that "purge --auto-remove" will remove all build dependencies
18+
apt-mark auto '.*' > /dev/null; \
19+
apt-mark manual $savedAptMark; \
20+
ldd "$(php -r 'echo ini_get("extension_dir");')"/*.so \
21+
| awk '/=>/ { print $3 }' \
22+
| sort -u \
23+
| xargs -r dpkg-query -S \
24+
| cut -d: -f1 \
25+
| sort -u \
26+
| xargs -rt apt-mark manual; \
27+
\
28+
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
2329
rm -rf /var/lib/apt/lists/*
2430

2531
# set recommended PHP.ini settings

php7.2/fpm/Dockerfile

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,24 +2,30 @@ FROM php:7.2-fpm
22

33
# install the PHP extensions we need
44
RUN set -ex; \
5+
\
6+
savedAptMark="$(apt-mark showmanual)"; \
57
\
68
apt-get update; \
7-
buildDeps=" \
9+
apt-get install -y --no-install-recommends \
810
libjpeg-dev \
911
libpng-dev \
10-
"; \
11-
apt-get install -y \
12-
$buildDeps \
1312
; \
1413
\
1514
docker-php-ext-configure gd --with-png-dir=/usr --with-jpeg-dir=/usr; \
1615
docker-php-ext-install gd mysqli opcache; \
1716
\
18-
apt-mark manual \
19-
libjpeg62-turbo \
20-
; \
21-
apt-mark manual libpng12-0 || apt-mark manual libpng16-16; \
22-
apt-get purge -y --auto-remove $buildDeps; \
17+
# reset apt-mark's "manual" list so that "purge --auto-remove" will remove all build dependencies
18+
apt-mark auto '.*' > /dev/null; \
19+
apt-mark manual $savedAptMark; \
20+
ldd "$(php -r 'echo ini_get("extension_dir");')"/*.so \
21+
| awk '/=>/ { print $3 }' \
22+
| sort -u \
23+
| xargs -r dpkg-query -S \
24+
| cut -d: -f1 \
25+
| sort -u \
26+
| xargs -rt apt-mark manual; \
27+
\
28+
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
2329
rm -rf /var/lib/apt/lists/*
2430

2531
# set recommended PHP.ini settings

0 commit comments

Comments
 (0)