Skip to content

Commit 0e62a49

Browse files
committed
Fix docker images build to handle old linux distributions
1 parent 2826410 commit 0e62a49

File tree

12 files changed

+535
-99
lines changed

12 files changed

+535
-99
lines changed

.docker/php53/Dockerfile

+53-5
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,20 @@
1-
FROM buildpack-deps:jessie
1+
FROM buildpack-deps:jessie as php53
22

33
ENV PHP_VERSION 5.3.29
44

5+
RUN set -eux; \
6+
codename='jessie'; \
7+
{ \
8+
echo "deb http://archive.debian.org/debian ${codename} main"; \
9+
echo "deb http://archive.debian.org/debian ${codename}-backports main"; \
10+
echo "deb http://archive.debian.org/debian-security ${codename}/updates main"; \
11+
} > /etc/apt/sources.list;
12+
513
# php 5.3 needs older autoconf
614
RUN set -eux; \
715
\
816
apt-get update; \
9-
apt-get install -y \
17+
apt-get install -y --force-yes --no-upgrade --no-install-recommends \
1018
curl \
1119
autoconf2.13 \
1220
; \
@@ -18,7 +26,7 @@ RUN set -eux; \
1826
dpkg -i bison_2.7.1.dfsg-1_amd64.deb; \
1927
rm *.deb; \
2028
\
21-
curl -sSLf "https://php.net/get/php-$PHP_VERSION.tar.bz2/from/this/mirror" -o php.tar.bz2; \
29+
curl --insecure -sSLf "https://php.net/get/php-$PHP_VERSION.tar.bz2/from/this/mirror" -o php.tar.bz2; \
2230
echo 'c4e1cf6972b2a9c7f2777a18497d83bf713cdbecabb65d3ff62ba441aebb0091 php.tar.bz2' | sha256sum -cw --status; \
2331
\
2432
mkdir -p /usr/src/php; \
@@ -32,6 +40,8 @@ RUN set -eux; \
3240
--with-pdo-mysql \
3341
--with-zlib \
3442
--enable-mbstring \
43+
--with-openssl=/usr \
44+
--with-libdir=lib/x86_64-linux-gnu \
3545
; \
3646
make -j"$(nproc)"; \
3747
make install; \
@@ -40,11 +50,15 @@ RUN set -eux; \
4050
bison \
4151
libbison-dev \
4252
; \
43-
apt-get purge -y --auto-remove \
53+
apt-get purge -y --force-yes --auto-remove \
4454
autoconf2.13 \
4555
; \
4656
rm -r /usr/src/php
4757

58+
CMD ["php", "-a"]
59+
60+
FROM php53
61+
4862
# Install APC PHP extension
4963
#
5064
RUN set -eux; \
@@ -54,4 +68,38 @@ RUN set -eux; \
5468
\
5569
rm -r /tmp/pear;
5670

57-
CMD ["php", "-a"]
71+
# Install composer
72+
#
73+
RUN set -eux; \
74+
composerVersion='1.10.27'; \
75+
installerUrl='https://raw.githubusercontent.com/composer/getcomposer.org/a19025d6c0a1ff9fc1fac341128b2823193be462/web/installer'; \
76+
\
77+
curl --insecure -sSLf "${installerUrl}" -o /usr/local/bin/composer-installer.php; \
78+
echo '203196aedb1a3b0f563363796bbf6f647a4f8c2419bc1dfc5aa45adc1725025d /usr/local/bin/composer-installer.php' \
79+
| sha256sum -cw --status; \
80+
\
81+
{ \
82+
echo '#! /usr/bin/env php'; \
83+
cat /usr/local/bin/composer-installer.php; \
84+
} > /usr/local/bin/composer-installer; \
85+
rm /usr/local/bin/composer-installer.php; \
86+
chmod +x /usr/local/bin/composer-installer; \
87+
\
88+
composer-installer \
89+
--disable-tls \
90+
--version="${composerVersion}" \
91+
--filename=composer \
92+
--install-dir=/usr/local/bin \
93+
; \
94+
\
95+
echo '230d28fb29f3c6c07ab2382390bef313e36de17868b2bd23b2e070554cae23d2 /usr/local/bin/composer' \
96+
| sha256sum -cw --status; \
97+
\
98+
composer --version; \
99+
\
100+
apt-get update; \
101+
apt-get install -y --force-yes --no-upgrade --no-install-recommends \
102+
git \
103+
; \
104+
rm -r /var/lib/apt/lists/*; \
105+
:;

.docker/php54/Dockerfile

+50-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,13 @@
11
FROM php:5.4-cli
22

3+
RUN set -eux; \
4+
codename='jessie'; \
5+
{ \
6+
echo "deb http://archive.debian.org/debian ${codename} main"; \
7+
echo "deb http://archive.debian.org/debian ${codename}-backports main"; \
8+
echo "deb http://archive.debian.org/debian-security ${codename}/updates main"; \
9+
} > /etc/apt/sources.list;
10+
311
RUN docker-php-ext-install pdo
412
RUN docker-php-ext-install pdo_mysql
513
RUN docker-php-ext-install mbstring
@@ -19,16 +27,56 @@ RUN set -eux; \
1927
libzip-dev \
2028
'; \
2129
apt-get update; \
22-
apt-get install -y --no-upgrade --no-install-recommends \
30+
apt-get install -y --force-yes --no-upgrade --no-install-recommends \
2331
$buildDeps \
2432
; \
2533
\
2634
pecl install memcache-${MEMCACHE_VERSION}; \
2735
docker-php-ext-enable memcache; \
2836
\
29-
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=true \
37+
apt-get purge -y --force-yes --auto-remove -o APT::AutoRemove::RecommendsImportant=true \
3038
$buildDeps \
3139
; \
3240
apt-get clean; \
3341
rm -rf /var/lib/apt/lists/*; \
3442
rm -r /tmp/pear
43+
44+
# Install composer
45+
#
46+
RUN set -eux; \
47+
composerVersion='1.10.27'; \
48+
installerUrl='https://raw.githubusercontent.com/composer/getcomposer.org/a19025d6c0a1ff9fc1fac341128b2823193be462/web/installer'; \
49+
\
50+
curl --insecure -sSLf "${installerUrl}" -o /usr/local/bin/composer-installer.php; \
51+
echo '203196aedb1a3b0f563363796bbf6f647a4f8c2419bc1dfc5aa45adc1725025d /usr/local/bin/composer-installer.php' \
52+
| sha256sum -cw --status; \
53+
\
54+
{ \
55+
echo '#! /usr/bin/env php'; \
56+
cat /usr/local/bin/composer-installer.php; \
57+
} > /usr/local/bin/composer-installer; \
58+
rm /usr/local/bin/composer-installer.php; \
59+
chmod +x /usr/local/bin/composer-installer; \
60+
\
61+
composer-installer \
62+
--disable-tls \
63+
--version="${composerVersion}" \
64+
--filename=composer \
65+
--install-dir=/usr/local/bin \
66+
; \
67+
\
68+
echo '230d28fb29f3c6c07ab2382390bef313e36de17868b2bd23b2e070554cae23d2 /usr/local/bin/composer' \
69+
| sha256sum -cw --status; \
70+
\
71+
composer --version; \
72+
\
73+
apt-get update; \
74+
apt-get install -y --force-yes --no-upgrade --no-install-recommends \
75+
git \
76+
libzip-dev \
77+
unzip \
78+
; \
79+
rm -r /var/lib/apt/lists/*; \
80+
\
81+
docker-php-ext-install zip; \
82+
:;

.docker/php55_71/Dockerfile

+50-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,14 @@
11
ARG PHP_TAG
22
FROM php:${PHP_TAG}
33

4+
RUN set -eux; \
5+
codename='jessie'; \
6+
{ \
7+
echo "deb http://archive.debian.org/debian ${codename} main"; \
8+
echo "deb http://archive.debian.org/debian ${codename}-backports main"; \
9+
echo "deb http://archive.debian.org/debian-security ${codename}/updates main"; \
10+
} > /etc/apt/sources.list;
11+
412
RUN docker-php-ext-install pdo
513
RUN docker-php-ext-install pdo_mysql
614
RUN docker-php-ext-install mbstring
@@ -25,16 +33,56 @@ RUN set -eux; \
2533
libzip-dev \
2634
'; \
2735
apt-get update; \
28-
apt-get install -y --no-upgrade --no-install-recommends \
36+
apt-get install -y --force-yes --no-upgrade --no-install-recommends \
2937
$buildDeps \
3038
; \
3139
\
3240
pecl install memcache-${MEMCACHE_VERSION}; \
3341
docker-php-ext-enable memcache; \
3442
\
35-
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=true \
43+
apt-get purge -y --force-yes --auto-remove -o APT::AutoRemove::RecommendsImportant=true \
3644
$buildDeps \
3745
; \
3846
apt-get clean; \
3947
rm -rf /var/lib/apt/lists/*; \
4048
rm -r /tmp/pear
49+
50+
# Install composer
51+
#
52+
RUN set -eux; \
53+
composerVersion='1.10.27'; \
54+
installerUrl='https://raw.githubusercontent.com/composer/getcomposer.org/a19025d6c0a1ff9fc1fac341128b2823193be462/web/installer'; \
55+
\
56+
curl --insecure -sSLf "${installerUrl}" -o /usr/local/bin/composer-installer.php; \
57+
echo '203196aedb1a3b0f563363796bbf6f647a4f8c2419bc1dfc5aa45adc1725025d /usr/local/bin/composer-installer.php' \
58+
| sha256sum -cw --status; \
59+
\
60+
{ \
61+
echo '#! /usr/bin/env php'; \
62+
cat /usr/local/bin/composer-installer.php; \
63+
} > /usr/local/bin/composer-installer; \
64+
rm /usr/local/bin/composer-installer.php; \
65+
chmod +x /usr/local/bin/composer-installer; \
66+
\
67+
composer-installer \
68+
--disable-tls \
69+
--version="${composerVersion}" \
70+
--filename=composer \
71+
--install-dir=/usr/local/bin \
72+
; \
73+
\
74+
echo '230d28fb29f3c6c07ab2382390bef313e36de17868b2bd23b2e070554cae23d2 /usr/local/bin/composer' \
75+
| sha256sum -cw --status; \
76+
\
77+
composer --version; \
78+
\
79+
apt-get update; \
80+
apt-get install -y --force-yes --no-upgrade --no-install-recommends \
81+
git \
82+
libzip-dev \
83+
unzip \
84+
; \
85+
rm -r /var/lib/apt/lists/*; \
86+
\
87+
docker-php-ext-install zip; \
88+
:;

.docker/php72_73/Dockerfile

+41-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ RUN set -eux; \
2525
libzip-dev \
2626
'; \
2727
apt-get update; \
28-
apt-get install -y --no-upgrade --no-install-recommends \
28+
apt-get install -y --force-yes --no-upgrade --no-install-recommends \
2929
$buildDeps \
3030
; \
3131
\
@@ -54,3 +54,43 @@ RUN set -eux; \
5454
\
5555
file /bin/ls --mime | grep application/x-executable; \
5656
:;
57+
58+
# Install composer
59+
#
60+
RUN set -eux; \
61+
composerVersion='1.10.27'; \
62+
installerUrl='https://raw.githubusercontent.com/composer/getcomposer.org/a19025d6c0a1ff9fc1fac341128b2823193be462/web/installer'; \
63+
\
64+
curl --insecure -sSLf "${installerUrl}" -o /usr/local/bin/composer-installer.php; \
65+
echo '203196aedb1a3b0f563363796bbf6f647a4f8c2419bc1dfc5aa45adc1725025d /usr/local/bin/composer-installer.php' \
66+
| sha256sum -cw --status; \
67+
\
68+
{ \
69+
echo '#! /usr/bin/env php'; \
70+
cat /usr/local/bin/composer-installer.php; \
71+
} > /usr/local/bin/composer-installer; \
72+
rm /usr/local/bin/composer-installer.php; \
73+
chmod +x /usr/local/bin/composer-installer; \
74+
\
75+
composer-installer \
76+
--disable-tls \
77+
--version="${composerVersion}" \
78+
--filename=composer \
79+
--install-dir=/usr/local/bin \
80+
; \
81+
\
82+
echo '230d28fb29f3c6c07ab2382390bef313e36de17868b2bd23b2e070554cae23d2 /usr/local/bin/composer' \
83+
| sha256sum -cw --status; \
84+
\
85+
composer --version; \
86+
\
87+
apt-get update; \
88+
apt-get install -y --force-yes --no-upgrade --no-install-recommends \
89+
git \
90+
libzip-dev \
91+
unzip \
92+
; \
93+
rm -r /var/lib/apt/lists/*; \
94+
\
95+
docker-php-ext-install zip; \
96+
:;

.docker/php74_82/Dockerfile

+43-3
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ RUN docker-php-ext-install pdo_mysql
88
#
99
RUN set -eux; \
1010
apt-get update; \
11-
apt-get install -y --no-upgrade --no-install-recommends \
11+
apt-get install -y --force-yes --no-upgrade --no-install-recommends \
1212
libonig-dev \
1313
; \
1414
\
@@ -37,14 +37,14 @@ RUN set -eux; \
3737
libzip-dev \
3838
'; \
3939
apt-get update; \
40-
apt-get install -y --no-upgrade --no-install-recommends \
40+
apt-get install -y --force-yes --no-upgrade --no-install-recommends \
4141
$buildDeps \
4242
; \
4343
\
4444
pecl install memcache-${MEMCACHE_VERSION}; \
4545
docker-php-ext-enable memcache; \
4646
\
47-
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=true \
47+
apt-get purge -y --force-yes --auto-remove -o APT::AutoRemove::RecommendsImportant=true \
4848
$buildDeps \
4949
; \
5050
apt-get clean; \
@@ -66,3 +66,43 @@ RUN set -eux; \
6666
\
6767
file /bin/ls --mime | grep application/x-executable; \
6868
:;
69+
70+
# Install composer
71+
#
72+
RUN set -eux; \
73+
composerVersion='1.10.27'; \
74+
installerUrl='https://raw.githubusercontent.com/composer/getcomposer.org/a19025d6c0a1ff9fc1fac341128b2823193be462/web/installer'; \
75+
\
76+
curl --insecure -sSLf "${installerUrl}" -o /usr/local/bin/composer-installer.php; \
77+
echo '203196aedb1a3b0f563363796bbf6f647a4f8c2419bc1dfc5aa45adc1725025d /usr/local/bin/composer-installer.php' \
78+
| sha256sum -cw --status; \
79+
\
80+
{ \
81+
echo '#! /usr/bin/env php'; \
82+
cat /usr/local/bin/composer-installer.php; \
83+
} > /usr/local/bin/composer-installer; \
84+
rm /usr/local/bin/composer-installer.php; \
85+
chmod +x /usr/local/bin/composer-installer; \
86+
\
87+
composer-installer \
88+
--disable-tls \
89+
--version="${composerVersion}" \
90+
--filename=composer \
91+
--install-dir=/usr/local/bin \
92+
; \
93+
\
94+
echo '230d28fb29f3c6c07ab2382390bef313e36de17868b2bd23b2e070554cae23d2 /usr/local/bin/composer' \
95+
| sha256sum -cw --status; \
96+
\
97+
composer --version; \
98+
\
99+
apt-get update; \
100+
apt-get install -y --force-yes --no-upgrade --no-install-recommends \
101+
git \
102+
libzip-dev \
103+
unzip \
104+
; \
105+
rm -r /var/lib/apt/lists/*; \
106+
\
107+
docker-php-ext-install zip; \
108+
:;

.editorconfig

+4-2
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ insert_final_newline = true
1111
[*.md]
1212
trim_trailing_whitespace = false
1313

14-
[.github/**.yml]
14+
[*.yml]
15+
indent_size = 2
16+
17+
[Dockerfile]
1518
indent_size = 2
16-
indent_style = space

.env

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
#
2+
# Environment variables used by for running tests.
3+
#
4+
# Copy to `.env.local` in order to customize it.
5+
#
6+
DOCKER_COMPOSE='docker-compose'
7+
APC_ENABLE_CLI=off

.env.dist

-11
This file was deleted.

0 commit comments

Comments
 (0)