Skip to content

Commit 4cfa24e

Browse files
committed
Install "binutils" in "docker-php-ext-enable" if needed
This matches the behavior of `docker-php-ext-configure` and `docker-php-ext-install`, and ensures that `nm` is installed and then removed in Alpine where necessary.
1 parent fdc6876 commit 4cfa24e

22 files changed

+462
-0
lines changed

5.6/alpine/docker-php-ext-enable

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,23 @@ if [ -z "$modules" ]; then
5757
exit 1
5858
fi
5959

60+
pm='unknown'
61+
if [ -e /lib/apk/db/installed ]; then
62+
pm='apk'
63+
fi
64+
65+
apkDel=
66+
if [ "$pm" = 'apk' ]; then
67+
if \
68+
[ -n "$PHPIZE_DEPS" ] \
69+
&& ! apk info --installed .phpize-deps > /dev/null \
70+
&& ! apk info --installed .phpize-deps-configure > /dev/null \
71+
; then
72+
apk add --no-cache --virtual '.docker-php-ext-enable-deps' binutils
73+
apkDel='.docker-php-ext-enable-deps'
74+
fi
75+
fi
76+
6077
for module in $modules; do
6178
if nm -g "$module" | grep -q ' zend_extension_entry$'; then
6279
# https://wiki.php.net/internals/extensions#loading_zend_extensions
@@ -81,3 +98,7 @@ for module in $modules; do
8198
echo "$line" >> "$ini"
8299
fi
83100
done
101+
102+
if [ "$pm" = 'apk' ] && [ -n "$apkDel" ]; then
103+
apk del $apkDel
104+
fi

5.6/apache/docker-php-ext-enable

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,23 @@ if [ -z "$modules" ]; then
5757
exit 1
5858
fi
5959

60+
pm='unknown'
61+
if [ -e /lib/apk/db/installed ]; then
62+
pm='apk'
63+
fi
64+
65+
apkDel=
66+
if [ "$pm" = 'apk' ]; then
67+
if \
68+
[ -n "$PHPIZE_DEPS" ] \
69+
&& ! apk info --installed .phpize-deps > /dev/null \
70+
&& ! apk info --installed .phpize-deps-configure > /dev/null \
71+
; then
72+
apk add --no-cache --virtual '.docker-php-ext-enable-deps' binutils
73+
apkDel='.docker-php-ext-enable-deps'
74+
fi
75+
fi
76+
6077
for module in $modules; do
6178
if nm -g "$module" | grep -q ' zend_extension_entry$'; then
6279
# https://wiki.php.net/internals/extensions#loading_zend_extensions
@@ -81,3 +98,7 @@ for module in $modules; do
8198
echo "$line" >> "$ini"
8299
fi
83100
done
101+
102+
if [ "$pm" = 'apk' ] && [ -n "$apkDel" ]; then
103+
apk del $apkDel
104+
fi

5.6/docker-php-ext-enable

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,23 @@ if [ -z "$modules" ]; then
5757
exit 1
5858
fi
5959

60+
pm='unknown'
61+
if [ -e /lib/apk/db/installed ]; then
62+
pm='apk'
63+
fi
64+
65+
apkDel=
66+
if [ "$pm" = 'apk' ]; then
67+
if \
68+
[ -n "$PHPIZE_DEPS" ] \
69+
&& ! apk info --installed .phpize-deps > /dev/null \
70+
&& ! apk info --installed .phpize-deps-configure > /dev/null \
71+
; then
72+
apk add --no-cache --virtual '.docker-php-ext-enable-deps' binutils
73+
apkDel='.docker-php-ext-enable-deps'
74+
fi
75+
fi
76+
6077
for module in $modules; do
6178
if nm -g "$module" | grep -q ' zend_extension_entry$'; then
6279
# https://wiki.php.net/internals/extensions#loading_zend_extensions
@@ -81,3 +98,7 @@ for module in $modules; do
8198
echo "$line" >> "$ini"
8299
fi
83100
done
101+
102+
if [ "$pm" = 'apk' ] && [ -n "$apkDel" ]; then
103+
apk del $apkDel
104+
fi

5.6/fpm/alpine/docker-php-ext-enable

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,23 @@ if [ -z "$modules" ]; then
5757
exit 1
5858
fi
5959

60+
pm='unknown'
61+
if [ -e /lib/apk/db/installed ]; then
62+
pm='apk'
63+
fi
64+
65+
apkDel=
66+
if [ "$pm" = 'apk' ]; then
67+
if \
68+
[ -n "$PHPIZE_DEPS" ] \
69+
&& ! apk info --installed .phpize-deps > /dev/null \
70+
&& ! apk info --installed .phpize-deps-configure > /dev/null \
71+
; then
72+
apk add --no-cache --virtual '.docker-php-ext-enable-deps' binutils
73+
apkDel='.docker-php-ext-enable-deps'
74+
fi
75+
fi
76+
6077
for module in $modules; do
6178
if nm -g "$module" | grep -q ' zend_extension_entry$'; then
6279
# https://wiki.php.net/internals/extensions#loading_zend_extensions
@@ -81,3 +98,7 @@ for module in $modules; do
8198
echo "$line" >> "$ini"
8299
fi
83100
done
101+
102+
if [ "$pm" = 'apk' ] && [ -n "$apkDel" ]; then
103+
apk del $apkDel
104+
fi

5.6/fpm/docker-php-ext-enable

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,23 @@ if [ -z "$modules" ]; then
5757
exit 1
5858
fi
5959

60+
pm='unknown'
61+
if [ -e /lib/apk/db/installed ]; then
62+
pm='apk'
63+
fi
64+
65+
apkDel=
66+
if [ "$pm" = 'apk' ]; then
67+
if \
68+
[ -n "$PHPIZE_DEPS" ] \
69+
&& ! apk info --installed .phpize-deps > /dev/null \
70+
&& ! apk info --installed .phpize-deps-configure > /dev/null \
71+
; then
72+
apk add --no-cache --virtual '.docker-php-ext-enable-deps' binutils
73+
apkDel='.docker-php-ext-enable-deps'
74+
fi
75+
fi
76+
6077
for module in $modules; do
6178
if nm -g "$module" | grep -q ' zend_extension_entry$'; then
6279
# https://wiki.php.net/internals/extensions#loading_zend_extensions
@@ -81,3 +98,7 @@ for module in $modules; do
8198
echo "$line" >> "$ini"
8299
fi
83100
done
101+
102+
if [ "$pm" = 'apk' ] && [ -n "$apkDel" ]; then
103+
apk del $apkDel
104+
fi

5.6/zts/alpine/docker-php-ext-enable

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,23 @@ if [ -z "$modules" ]; then
5757
exit 1
5858
fi
5959

60+
pm='unknown'
61+
if [ -e /lib/apk/db/installed ]; then
62+
pm='apk'
63+
fi
64+
65+
apkDel=
66+
if [ "$pm" = 'apk' ]; then
67+
if \
68+
[ -n "$PHPIZE_DEPS" ] \
69+
&& ! apk info --installed .phpize-deps > /dev/null \
70+
&& ! apk info --installed .phpize-deps-configure > /dev/null \
71+
; then
72+
apk add --no-cache --virtual '.docker-php-ext-enable-deps' binutils
73+
apkDel='.docker-php-ext-enable-deps'
74+
fi
75+
fi
76+
6077
for module in $modules; do
6178
if nm -g "$module" | grep -q ' zend_extension_entry$'; then
6279
# https://wiki.php.net/internals/extensions#loading_zend_extensions
@@ -81,3 +98,7 @@ for module in $modules; do
8198
echo "$line" >> "$ini"
8299
fi
83100
done
101+
102+
if [ "$pm" = 'apk' ] && [ -n "$apkDel" ]; then
103+
apk del $apkDel
104+
fi

5.6/zts/docker-php-ext-enable

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,23 @@ if [ -z "$modules" ]; then
5757
exit 1
5858
fi
5959

60+
pm='unknown'
61+
if [ -e /lib/apk/db/installed ]; then
62+
pm='apk'
63+
fi
64+
65+
apkDel=
66+
if [ "$pm" = 'apk' ]; then
67+
if \
68+
[ -n "$PHPIZE_DEPS" ] \
69+
&& ! apk info --installed .phpize-deps > /dev/null \
70+
&& ! apk info --installed .phpize-deps-configure > /dev/null \
71+
; then
72+
apk add --no-cache --virtual '.docker-php-ext-enable-deps' binutils
73+
apkDel='.docker-php-ext-enable-deps'
74+
fi
75+
fi
76+
6077
for module in $modules; do
6178
if nm -g "$module" | grep -q ' zend_extension_entry$'; then
6279
# https://wiki.php.net/internals/extensions#loading_zend_extensions
@@ -81,3 +98,7 @@ for module in $modules; do
8198
echo "$line" >> "$ini"
8299
fi
83100
done
101+
102+
if [ "$pm" = 'apk' ] && [ -n "$apkDel" ]; then
103+
apk del $apkDel
104+
fi

7.0/alpine/docker-php-ext-enable

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,23 @@ if [ -z "$modules" ]; then
5757
exit 1
5858
fi
5959

60+
pm='unknown'
61+
if [ -e /lib/apk/db/installed ]; then
62+
pm='apk'
63+
fi
64+
65+
apkDel=
66+
if [ "$pm" = 'apk' ]; then
67+
if \
68+
[ -n "$PHPIZE_DEPS" ] \
69+
&& ! apk info --installed .phpize-deps > /dev/null \
70+
&& ! apk info --installed .phpize-deps-configure > /dev/null \
71+
; then
72+
apk add --no-cache --virtual '.docker-php-ext-enable-deps' binutils
73+
apkDel='.docker-php-ext-enable-deps'
74+
fi
75+
fi
76+
6077
for module in $modules; do
6178
if nm -g "$module" | grep -q ' zend_extension_entry$'; then
6279
# https://wiki.php.net/internals/extensions#loading_zend_extensions
@@ -81,3 +98,7 @@ for module in $modules; do
8198
echo "$line" >> "$ini"
8299
fi
83100
done
101+
102+
if [ "$pm" = 'apk' ] && [ -n "$apkDel" ]; then
103+
apk del $apkDel
104+
fi

7.0/apache/docker-php-ext-enable

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,23 @@ if [ -z "$modules" ]; then
5757
exit 1
5858
fi
5959

60+
pm='unknown'
61+
if [ -e /lib/apk/db/installed ]; then
62+
pm='apk'
63+
fi
64+
65+
apkDel=
66+
if [ "$pm" = 'apk' ]; then
67+
if \
68+
[ -n "$PHPIZE_DEPS" ] \
69+
&& ! apk info --installed .phpize-deps > /dev/null \
70+
&& ! apk info --installed .phpize-deps-configure > /dev/null \
71+
; then
72+
apk add --no-cache --virtual '.docker-php-ext-enable-deps' binutils
73+
apkDel='.docker-php-ext-enable-deps'
74+
fi
75+
fi
76+
6077
for module in $modules; do
6178
if nm -g "$module" | grep -q ' zend_extension_entry$'; then
6279
# https://wiki.php.net/internals/extensions#loading_zend_extensions
@@ -81,3 +98,7 @@ for module in $modules; do
8198
echo "$line" >> "$ini"
8299
fi
83100
done
101+
102+
if [ "$pm" = 'apk' ] && [ -n "$apkDel" ]; then
103+
apk del $apkDel
104+
fi

7.0/docker-php-ext-enable

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,23 @@ if [ -z "$modules" ]; then
5757
exit 1
5858
fi
5959

60+
pm='unknown'
61+
if [ -e /lib/apk/db/installed ]; then
62+
pm='apk'
63+
fi
64+
65+
apkDel=
66+
if [ "$pm" = 'apk' ]; then
67+
if \
68+
[ -n "$PHPIZE_DEPS" ] \
69+
&& ! apk info --installed .phpize-deps > /dev/null \
70+
&& ! apk info --installed .phpize-deps-configure > /dev/null \
71+
; then
72+
apk add --no-cache --virtual '.docker-php-ext-enable-deps' binutils
73+
apkDel='.docker-php-ext-enable-deps'
74+
fi
75+
fi
76+
6077
for module in $modules; do
6178
if nm -g "$module" | grep -q ' zend_extension_entry$'; then
6279
# https://wiki.php.net/internals/extensions#loading_zend_extensions
@@ -81,3 +98,7 @@ for module in $modules; do
8198
echo "$line" >> "$ini"
8299
fi
83100
done
101+
102+
if [ "$pm" = 'apk' ] && [ -n "$apkDel" ]; then
103+
apk del $apkDel
104+
fi

0 commit comments

Comments
 (0)