Skip to content

Commit 48d7a53

Browse files
committed
Improve the copy of dependencies
1 parent 5858e89 commit 48d7a53

File tree

5 files changed

+22
-29
lines changed

5 files changed

+22
-29
lines changed

php-82/Dockerfile

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -202,13 +202,8 @@ RUN cp $(php -r 'echo ini_get("extension_dir");')/* /bref-layer/bref/extensions/
202202
# - /opt/bin | /opt/lib | /opt/lib64 (libraries compiled from source)
203203
# into `/bref-layer` (the temp directory for the future Lambda layer)
204204
COPY --link utils/lib-copy /bref/lib-copy
205-
RUN php /bref/lib-copy/copy-dependencies.php /bref-layer/bin/php /bref-layer/lib
206-
RUN php /bref/lib-copy/copy-dependencies.php /bref-layer/bin/php-fpm /bref-layer/lib
207-
RUN php /bref/lib-copy/copy-dependencies.php /bref-layer/bref/extensions/apcu.so /bref-layer/lib
208-
RUN php /bref/lib-copy/copy-dependencies.php /bref-layer/bref/extensions/intl.so /bref-layer/lib
209-
RUN php /bref/lib-copy/copy-dependencies.php /bref-layer/bref/extensions/opcache.so /bref-layer/lib
210-
RUN php /bref/lib-copy/copy-dependencies.php /bref-layer/bref/extensions/pdo_mysql.so /bref-layer/lib
211-
RUN php /bref/lib-copy/copy-dependencies.php /bref-layer/bref/extensions/pdo_pgsql.so /bref-layer/lib
205+
RUN php /bref/lib-copy/copy-dependencies.php /bref-layer/bin /bref-layer/lib
206+
RUN php /bref/lib-copy/copy-dependencies.php /bref-layer/bref/extensions /bref-layer/lib
212207

213208
# Create a symbolic link to the OpenSSL certificates file for BC purposes
214209
RUN ln -s /etc/ssl/cert.pem /bref-layer/bref/ssl/cert.pem

php-83/Dockerfile

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -202,13 +202,8 @@ RUN cp $(php -r 'echo ini_get("extension_dir");')/* /bref-layer/bref/extensions/
202202
# - /opt/bin | /opt/lib | /opt/lib64 (libraries compiled from source)
203203
# into `/bref-layer` (the temp directory for the future Lambda layer)
204204
COPY --link utils/lib-copy /bref/lib-copy
205-
RUN php /bref/lib-copy/copy-dependencies.php /bref-layer/bin/php /bref-layer/lib
206-
RUN php /bref/lib-copy/copy-dependencies.php /bref-layer/bin/php-fpm /bref-layer/lib
207-
RUN php /bref/lib-copy/copy-dependencies.php /bref-layer/bref/extensions/apcu.so /bref-layer/lib
208-
RUN php /bref/lib-copy/copy-dependencies.php /bref-layer/bref/extensions/intl.so /bref-layer/lib
209-
RUN php /bref/lib-copy/copy-dependencies.php /bref-layer/bref/extensions/opcache.so /bref-layer/lib
210-
RUN php /bref/lib-copy/copy-dependencies.php /bref-layer/bref/extensions/pdo_mysql.so /bref-layer/lib
211-
RUN php /bref/lib-copy/copy-dependencies.php /bref-layer/bref/extensions/pdo_pgsql.so /bref-layer/lib
205+
RUN php /bref/lib-copy/copy-dependencies.php /bref-layer/bin /bref-layer/lib
206+
RUN php /bref/lib-copy/copy-dependencies.php /bref-layer/bref/extensions /bref-layer/lib
212207

213208
# Create a symbolic link to the OpenSSL certificates file for BC purposes
214209
RUN ln -s /etc/ssl/cert.pem /bref-layer/bref/ssl/cert.pem

php-84/Dockerfile

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -201,13 +201,8 @@ RUN cp $(php -r 'echo ini_get("extension_dir");')/* /bref-layer/bref/extensions/
201201
# - /opt/bin | /opt/lib | /opt/lib64 (libraries compiled from source)
202202
# into `/bref-layer` (the temp directory for the future Lambda layer)
203203
COPY --link utils/lib-copy /bref/lib-copy
204-
RUN php /bref/lib-copy/copy-dependencies.php /bref-layer/bin/php /bref-layer/lib
205-
RUN php /bref/lib-copy/copy-dependencies.php /bref-layer/bin/php-fpm /bref-layer/lib
206-
RUN php /bref/lib-copy/copy-dependencies.php /bref-layer/bref/extensions/apcu.so /bref-layer/lib
207-
RUN php /bref/lib-copy/copy-dependencies.php /bref-layer/bref/extensions/intl.so /bref-layer/lib
208-
RUN php /bref/lib-copy/copy-dependencies.php /bref-layer/bref/extensions/opcache.so /bref-layer/lib
209-
RUN php /bref/lib-copy/copy-dependencies.php /bref-layer/bref/extensions/pdo_mysql.so /bref-layer/lib
210-
RUN php /bref/lib-copy/copy-dependencies.php /bref-layer/bref/extensions/pdo_pgsql.so /bref-layer/lib
204+
RUN php /bref/lib-copy/copy-dependencies.php /bref-layer/bin /bref-layer/lib
205+
RUN php /bref/lib-copy/copy-dependencies.php /bref-layer/bref/extensions /bref-layer/lib
211206

212207
# Create a symbolic link to the OpenSSL certificates file for BC purposes
213208
RUN ln -s /etc/ssl/cert.pem /bref-layer/bref/ssl/cert.pem

php-85/Dockerfile

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -201,13 +201,8 @@ RUN cp $(php -r 'echo ini_get("extension_dir");')/* /bref-layer/bref/extensions/
201201
# - /opt/bin | /opt/lib | /opt/lib64 (libraries compiled from source)
202202
# into `/bref-layer` (the temp directory for the future Lambda layer)
203203
COPY --link utils/lib-copy /bref/lib-copy
204-
RUN php /bref/lib-copy/copy-dependencies.php /bref-layer/bin/php /bref-layer/lib
205-
RUN php /bref/lib-copy/copy-dependencies.php /bref-layer/bin/php-fpm /bref-layer/lib
206-
RUN php /bref/lib-copy/copy-dependencies.php /bref-layer/bref/extensions/apcu.so /bref-layer/lib
207-
RUN php /bref/lib-copy/copy-dependencies.php /bref-layer/bref/extensions/intl.so /bref-layer/lib
208-
RUN php /bref/lib-copy/copy-dependencies.php /bref-layer/bref/extensions/opcache.so /bref-layer/lib
209-
RUN php /bref/lib-copy/copy-dependencies.php /bref-layer/bref/extensions/pdo_mysql.so /bref-layer/lib
210-
RUN php /bref/lib-copy/copy-dependencies.php /bref-layer/bref/extensions/pdo_pgsql.so /bref-layer/lib
204+
RUN php /bref/lib-copy/copy-dependencies.php /bref-layer/bin /bref-layer/lib
205+
RUN php /bref/lib-copy/copy-dependencies.php /bref-layer/bref/extensions /bref-layer/lib
211206

212207
# Create a symbolic link to the OpenSSL certificates file for BC purposes
213208
RUN ln -s /etc/ssl/cert.pem /bref-layer/bref/ssl/cert.pem

utils/lib-copy/copy-dependencies.php

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66
*
77
* Usage:
88
* php copy-dependencies.php <file-to-analyze> <target-directory>
9+
* It also works with directories:
10+
* php copy-dependencies.php <directory-to-analyze> <target-directory>
911
*
1012
* For example:
1113
* php copy-dependencies.php /opt/bin/php /opt/lib
@@ -45,7 +47,18 @@
4547
;
4648
});
4749

48-
$requiredLibraries = listDependencies($pathToCheck);
50+
if (is_file($pathToCheck)) {
51+
$requiredLibraries = listDependencies($pathToCheck);
52+
} elseif (is_dir($pathToCheck)) {
53+
$requiredLibraries = [];
54+
foreach (glob($pathToCheck . '/*') as $file) {
55+
if (is_file($file)) {
56+
$requiredLibraries = array_merge($requiredLibraries, listDependencies($file));
57+
}
58+
}
59+
} else {
60+
throw new RuntimeException("The path to check is neither a file nor a directory: $pathToCheck");
61+
}
4962
// Exclude existing system libraries
5063
$requiredLibraries = array_filter($requiredLibraries, function (string $lib) use ($librariesThatExistOnLambda) {
5164
// Libraries that we compiled are in /opt/lib or /opt/lib64, we compiled them because they are more

0 commit comments

Comments
 (0)