From 7c49e1fbff6e0f3e9d4bed281521b63425c3809b Mon Sep 17 00:00:00 2001 From: David Zuelke Date: Fri, 5 Aug 2022 01:06:15 +0200 Subject: [PATCH 01/12] generate.php: sort series by version comparison otherwise ext-newrelic 10.x comes before 9.x in the list --- support/devcenter/generate.php | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/support/devcenter/generate.php b/support/devcenter/generate.php index 37a5a5ace..af35a5e1c 100755 --- a/support/devcenter/generate.php +++ b/support/devcenter/generate.php @@ -125,8 +125,8 @@ $db = new SQLite3(':memory:'); $db->createCollation('VERSION_CMP', 'version_compare'); // for sorting/MAXing versions; we have to use it explicitly inside MAX(CASEā€¦) statements in addition to setting it on the version column -$db->exec("CREATE TABLE packages (name TEXT COLLATE NOCASE, version TEXT COLLATE VERSION_CMP, type TEXT, series TEXT, stack TEXT)"); -$db->exec("CREATE TABLE extensions (name TEXT COLLATE NOCASE, url TEXT, version TEXT COLLATE VERSION_CMP, runtime TEXT, series TEXT, stack TEXT, bundled INTEGER DEFAULT 0, enabled INTEGER DEFAULT 1)"); +$db->exec("CREATE TABLE packages (name TEXT COLLATE NOCASE, version TEXT COLLATE VERSION_CMP, type TEXT, series TEXT COLLATE VERSION_CMP, stack TEXT)"); +$db->exec("CREATE TABLE extensions (name TEXT COLLATE NOCASE, url TEXT, version TEXT COLLATE VERSION_CMP, runtime TEXT, series TEXT COLLATE VERSION_CMP, stack TEXT, bundled INTEGER DEFAULT 0, enabled INTEGER DEFAULT 1)"); $insertPackage = $db->prepare("INSERT INTO packages (name, version, type, series, stack) VALUES(:name, :version, :type, :series, :stack)"); $insertExtension = $db->prepare("INSERT INTO extensions (name, url, version, runtime, series, stack, bundled, enabled) VALUES(:name, :url, :version, :runtime, :series, :stack, :bundled, :enabled)"); @@ -191,7 +191,7 @@ foreach($stacks as $key => $stack) { $runtimesQuery[] = ", MAX(CASE WHEN stack = '${stack}' THEN version END COLLATE VERSION_CMP) AS '${stack}'"; } -$runtimesQuery[] = "FROM packages WHERE name = 'php' GROUP BY name, series ORDER BY series ASC"; +$runtimesQuery[] = "FROM packages WHERE name = 'php' GROUP BY name, series ORDER BY series COLLATE VERSION_CMP ASC"; $results = $db->query(implode(" ", $runtimesQuery)); $runtimes = []; while($row = $results->fetchArray(SQLITE3_ASSOC)) { @@ -243,7 +243,7 @@ $extensionsQuery[] = ", MAX(CASE WHEN extensions.series = '${serie}' AND extensions.stack = '${stack}' THEN extensions.version END COLLATE VERSION_CMP) AS 'version_${serie}_${stack}'"; } } -$extensionsQuery[] = "FROM extensions WHERE extensions.bundled = 0 GROUP BY extensions.name, major_version ORDER BY extensions.name ASC, major_version ASC"; +$extensionsQuery[] = "FROM extensions WHERE extensions.bundled = 0 GROUP BY extensions.name, major_version ORDER BY extensions.name ASC, major_version COLLATE VERSION_CMP ASC"; $result = $db->query(implode(" ", $extensionsQuery)); $eExtensions = []; while($row = $result->fetchArray(SQLITE3_ASSOC)) { @@ -301,7 +301,7 @@ foreach($stacks as $key => $stack) { $composersQuery[] = ", MAX(CASE WHEN stack = '${stack}' THEN version END COLLATE VERSION_CMP) AS '${stack}'"; } -$composersQuery[] = "FROM packages WHERE name = 'composer' GROUP BY name, series ORDER BY series ASC"; +$composersQuery[] = "FROM packages WHERE name = 'composer' GROUP BY name, series ORDER BY series COLLATE VERSION_CMP ASC"; $results = $db->query(implode(" ", $composersQuery)); $composers = []; while($row = $results->fetchArray(SQLITE3_ASSOC)) { @@ -314,7 +314,7 @@ foreach($stacks as $key => $stack) { $webserversQuery[] = ", MAX(CASE WHEN stack = '${stack}' THEN version END COLLATE VERSION_CMP) AS '${stack}'"; } -$webserversQuery[] = "FROM packages WHERE type = 'heroku-sys-webserver' GROUP BY name, series ORDER BY name ASC, series ASC"; +$webserversQuery[] = "FROM packages WHERE type = 'heroku-sys-webserver' GROUP BY name, series ORDER BY name ASC, series COLLATE VERSION_CMP ASC"; $results = $db->query(implode(" ", $webserversQuery)); $webservers = []; while($row = $results->fetchArray(SQLITE3_ASSOC)) { From d7084bff4360a33b1a68c8eddc95db246bde3ca4 Mon Sep 17 00:00:00 2001 From: David Zuelke Date: Fri, 5 Aug 2022 01:06:43 +0200 Subject: [PATCH 02/12] improve Composer LTS sorting shows up in the right spot in the table this way --- support/devcenter/generate.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/support/devcenter/generate.php b/support/devcenter/generate.php index af35a5e1c..13c34a797 100755 --- a/support/devcenter/generate.php +++ b/support/devcenter/generate.php @@ -173,7 +173,7 @@ } elseif($package['type'] == 'heroku-sys-program' && $package['name'] == 'heroku-sys/composer') { $serie = explode('.', $package['version']); if($serie[0] == '2' && $serie[1] == '2') { - $serie = 'LTS 2.2'; // Composer 2.2 is LTS + $serie = '2 LTS'; // Composer 2.2 is LTS } else { $serie = $serie[0]; // 3, 4, 5 etc - semver major version } @@ -306,7 +306,7 @@ $composers = []; while($row = $results->fetchArray(SQLITE3_ASSOC)) { $row["name"] = ucfirst($row["name"]); // "Composer" - $row["series"] = $row["series"].".x"; // "2.x" + $row["series"] = $row["series"].(strpos($row["series"], "LTS")?"":".x"); // "2.x" $composers[] = $row; } From d8af3264fb8a016a3eeb5dfef883e88f7c16b337 Mon Sep 17 00:00:00 2001 From: David Zuelke Date: Thu, 1 Sep 2022 18:13:13 +0200 Subject: [PATCH 03/12] Composer/2.4.1 GUS-W-11631832 --- .circleci/config.yml | 2 +- CHANGELOG.md | 6 ++++++ bin/compile | 2 +- support/build/composer | 3 +++ support/build/composer-2.4.1 | 5 +++++ 5 files changed, 16 insertions(+), 2 deletions(-) create mode 100755 support/build/composer-2.4.1 diff --git a/.circleci/config.yml b/.circleci/config.yml index 72f75e94a..4439b2dbe 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -35,7 +35,7 @@ jobs: command: | php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" php -r "if (hash_file('sha384', 'composer-setup.php') === file_get_contents('https://composer.github.io/installer.sig')) { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" - sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer --version=2.3.8 + sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer --version=2.4.1 rm composer-setup.php - checkout - run: diff --git a/CHANGELOG.md b/CHANGELOG.md index afce7913d..24afef3cb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # heroku-buildpack-php CHANGELOG +## v224 (2022-09-??) + +### CHG + +- Composer/2.4.1 [David Zuelke] + ## v223 (2022-08-04) ### ADD diff --git a/bin/compile b/bin/compile index a44cbc95e..8e8c94ae1 100755 --- a/bin/compile +++ b/bin/compile @@ -232,7 +232,7 @@ curl_retry_on_18 --retry-connrefused --retry 3 --connect-timeout 5 --fail --sile tar xzf $build_dir/.heroku/php-min.tar.gz -C $build_dir/.heroku/php-min rm $build_dir/.heroku/php-min.tar.gz -curl_retry_on_18 --retry-connrefused --retry 3 --connect-timeout 5 --fail --silent --location -o $build_dir/.heroku/composer.tar.gz "${s3_url}composer-2.3.10.tar.gz" || { +curl_retry_on_18 --retry-connrefused --retry 3 --connect-timeout 5 --fail --silent --location -o $build_dir/.heroku/composer.tar.gz "${s3_url}composer-2.4.1.tar.gz" || { mcount "failures.bootstrap.download.composer" error <<-EOF Failed to download Composer for bootstrapping! diff --git a/support/build/composer b/support/build/composer index 378b2d17f..8e6e80289 100755 --- a/support/build/composer +++ b/support/build/composer @@ -30,6 +30,9 @@ fi php composer-setup.php --version=${dep_version} +# work around https://github.com/composer/composer/issues/11046 +echo '{}' > composer.json + plugin_api_version=$(php composer.phar show --platform | grep 'composer-plugin-api' | awk '{print $2}') # php is in there, so clear it first diff --git a/support/build/composer-2.4.1 b/support/build/composer-2.4.1 new file mode 100755 index 000000000..9e1cfd3c5 --- /dev/null +++ b/support/build/composer-2.4.1 @@ -0,0 +1,5 @@ +#!/usr/bin/env bash +# Build Path: /app/.heroku/php +# Build Deps: php-min-* + +source $(dirname $0)/composer From 7e24d2397447f592f3c8395542999664cb3e8102 Mon Sep 17 00:00:00 2001 From: David Zuelke Date: Thu, 1 Sep 2022 18:14:07 +0200 Subject: [PATCH 04/12] Composer/2.2.18 GUS-W-11602291 --- CHANGELOG.md | 1 + support/build/{composer-2.2.17 => composer-2.2.18} | 0 2 files changed, 1 insertion(+) rename support/build/{composer-2.2.17 => composer-2.2.18} (100%) diff --git a/CHANGELOG.md b/CHANGELOG.md index 24afef3cb..599d4c3f4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ ### CHG - Composer/2.4.1 [David Zuelke] +- Composer/2.2.18 [David Zuelke] ## v223 (2022-08-04) diff --git a/support/build/composer-2.2.17 b/support/build/composer-2.2.18 similarity index 100% rename from support/build/composer-2.2.17 rename to support/build/composer-2.2.18 From 3004327bf5fe185a3b275b92b224f46f4faccf0e Mon Sep 17 00:00:00 2001 From: David Zuelke Date: Thu, 1 Sep 2022 18:16:22 +0200 Subject: [PATCH 05/12] Blackfire/2.10.1 GUS-W-11602291 --- CHANGELOG.md | 1 + support/build/{blackfire-2.10.0 => blackfire-2.10.1} | 0 2 files changed, 1 insertion(+) rename support/build/{blackfire-2.10.0 => blackfire-2.10.1} (100%) diff --git a/CHANGELOG.md b/CHANGELOG.md index 599d4c3f4..2808b021e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ - Composer/2.4.1 [David Zuelke] - Composer/2.2.18 [David Zuelke] +- blackfire/2.10.1 [David Zuelke] ## v223 (2022-08-04) diff --git a/support/build/blackfire-2.10.0 b/support/build/blackfire-2.10.1 similarity index 100% rename from support/build/blackfire-2.10.0 rename to support/build/blackfire-2.10.1 From 35806cacde84021928e9f711c91eed6150471607 Mon Sep 17 00:00:00 2001 From: David Zuelke Date: Thu, 1 Sep 2022 18:18:37 +0200 Subject: [PATCH 06/12] ext-blackfire/1.81.0 GUS-W-11602289 --- CHANGELOG.md | 4 ++++ .../{blackfire-1.80.0 => blackfire-1.81.0} | 0 .../{blackfire-1.80.0 => blackfire-1.81.0} | 0 .../{blackfire-1.80.0 => blackfire-1.81.0} | 0 .../{blackfire-1.80.0 => blackfire-1.81.0} | 0 .../{blackfire-1.80.0 => blackfire-1.81.0} | 0 .../{blackfire-1.80.0 => blackfire-1.81.0} | 0 7 files changed, 4 insertions(+) rename support/build/extensions/no-debug-non-zts-20160303/{blackfire-1.80.0 => blackfire-1.81.0} (100%) rename support/build/extensions/no-debug-non-zts-20170718/{blackfire-1.80.0 => blackfire-1.81.0} (100%) rename support/build/extensions/no-debug-non-zts-20180731/{blackfire-1.80.0 => blackfire-1.81.0} (100%) rename support/build/extensions/no-debug-non-zts-20190902/{blackfire-1.80.0 => blackfire-1.81.0} (100%) rename support/build/extensions/no-debug-non-zts-20200930/{blackfire-1.80.0 => blackfire-1.81.0} (100%) rename support/build/extensions/no-debug-non-zts-20210902/{blackfire-1.80.0 => blackfire-1.81.0} (100%) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2808b021e..21146cdc9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,10 @@ ## v224 (2022-09-??) +### ADD + +- ext-blackfire/1.81.0 [David Zuelke] + ### CHG - Composer/2.4.1 [David Zuelke] diff --git a/support/build/extensions/no-debug-non-zts-20160303/blackfire-1.80.0 b/support/build/extensions/no-debug-non-zts-20160303/blackfire-1.81.0 similarity index 100% rename from support/build/extensions/no-debug-non-zts-20160303/blackfire-1.80.0 rename to support/build/extensions/no-debug-non-zts-20160303/blackfire-1.81.0 diff --git a/support/build/extensions/no-debug-non-zts-20170718/blackfire-1.80.0 b/support/build/extensions/no-debug-non-zts-20170718/blackfire-1.81.0 similarity index 100% rename from support/build/extensions/no-debug-non-zts-20170718/blackfire-1.80.0 rename to support/build/extensions/no-debug-non-zts-20170718/blackfire-1.81.0 diff --git a/support/build/extensions/no-debug-non-zts-20180731/blackfire-1.80.0 b/support/build/extensions/no-debug-non-zts-20180731/blackfire-1.81.0 similarity index 100% rename from support/build/extensions/no-debug-non-zts-20180731/blackfire-1.80.0 rename to support/build/extensions/no-debug-non-zts-20180731/blackfire-1.81.0 diff --git a/support/build/extensions/no-debug-non-zts-20190902/blackfire-1.80.0 b/support/build/extensions/no-debug-non-zts-20190902/blackfire-1.81.0 similarity index 100% rename from support/build/extensions/no-debug-non-zts-20190902/blackfire-1.80.0 rename to support/build/extensions/no-debug-non-zts-20190902/blackfire-1.81.0 diff --git a/support/build/extensions/no-debug-non-zts-20200930/blackfire-1.80.0 b/support/build/extensions/no-debug-non-zts-20200930/blackfire-1.81.0 similarity index 100% rename from support/build/extensions/no-debug-non-zts-20200930/blackfire-1.80.0 rename to support/build/extensions/no-debug-non-zts-20200930/blackfire-1.81.0 diff --git a/support/build/extensions/no-debug-non-zts-20210902/blackfire-1.80.0 b/support/build/extensions/no-debug-non-zts-20210902/blackfire-1.81.0 similarity index 100% rename from support/build/extensions/no-debug-non-zts-20210902/blackfire-1.80.0 rename to support/build/extensions/no-debug-non-zts-20210902/blackfire-1.81.0 From e07e38dee402ab87f7707b8de7de340cb4b00d06 Mon Sep 17 00:00:00 2001 From: David Zuelke Date: Thu, 1 Sep 2022 18:19:42 +0200 Subject: [PATCH 07/12] ext-phalcon/5.0.0RC4 GUS-W-11602289 --- CHANGELOG.md | 1 + .../{phalcon-5.0.0RC3 => phalcon-5.0.0RC4} | 0 .../{phalcon-5.0.0RC3 => phalcon-5.0.0RC4} | 0 .../{phalcon-5.0.0RC3 => phalcon-5.0.0RC4} | 0 4 files changed, 1 insertion(+) rename support/build/extensions/no-debug-non-zts-20190902/{phalcon-5.0.0RC3 => phalcon-5.0.0RC4} (100%) rename support/build/extensions/no-debug-non-zts-20200930/{phalcon-5.0.0RC3 => phalcon-5.0.0RC4} (100%) rename support/build/extensions/no-debug-non-zts-20210902/{phalcon-5.0.0RC3 => phalcon-5.0.0RC4} (100%) diff --git a/CHANGELOG.md b/CHANGELOG.md index 21146cdc9..737f1b723 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ ### ADD - ext-blackfire/1.81.0 [David Zuelke] +- ext-phalcon/5.0.0RC4 [David Zuelke] ### CHG diff --git a/support/build/extensions/no-debug-non-zts-20190902/phalcon-5.0.0RC3 b/support/build/extensions/no-debug-non-zts-20190902/phalcon-5.0.0RC4 similarity index 100% rename from support/build/extensions/no-debug-non-zts-20190902/phalcon-5.0.0RC3 rename to support/build/extensions/no-debug-non-zts-20190902/phalcon-5.0.0RC4 diff --git a/support/build/extensions/no-debug-non-zts-20200930/phalcon-5.0.0RC3 b/support/build/extensions/no-debug-non-zts-20200930/phalcon-5.0.0RC4 similarity index 100% rename from support/build/extensions/no-debug-non-zts-20200930/phalcon-5.0.0RC3 rename to support/build/extensions/no-debug-non-zts-20200930/phalcon-5.0.0RC4 diff --git a/support/build/extensions/no-debug-non-zts-20210902/phalcon-5.0.0RC3 b/support/build/extensions/no-debug-non-zts-20210902/phalcon-5.0.0RC4 similarity index 100% rename from support/build/extensions/no-debug-non-zts-20210902/phalcon-5.0.0RC3 rename to support/build/extensions/no-debug-non-zts-20210902/phalcon-5.0.0RC4 From 25e5880c302870107e1d54000a3578416959958d Mon Sep 17 00:00:00 2001 From: David Zuelke Date: Mon, 5 Sep 2022 15:29:08 +0200 Subject: [PATCH 08/12] use Composer 2.2 for PHP builds only used for gathering list of platform packages 2.4 has a regression that requires a composer.json for this --- support/build/php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/support/build/php b/support/build/php index f1406648d..ee5044e08 100755 --- a/support/build/php +++ b/support/build/php @@ -228,7 +228,9 @@ fi EOF # we need composer to extract all extensions with versions -curl -sS https://getcomposer.org/installer | php +php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" +php -r "if (hash_file('sha384', 'composer-setup.php') === '55ce33d7678c5a611085589f1f3ddf8b3c52d662cd01d4ba75c0ee0459970c2200a51f492d557530c71c15d8dba01eae') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" +php composer-setup.php --2.2 # https://github.com/composer/composer/issues/11046 # first, read all platform packages (just "ext-" and "php-") that are already there; could be statically built, or enabled through one of the INIs loaded platform_default=$(php composer.phar show --platform | grep -E '^(ext-\S+|php-\S+)' | sed s@^@heroku-sys/@ | tr -s " " | cut -d " " -f1,2 | sort) From 7e6ba0625213caa2b6570699d57413617d45aa6b Mon Sep 17 00:00:00 2001 From: David Zuelke Date: Thu, 1 Sep 2022 18:20:29 +0200 Subject: [PATCH 09/12] PHP/8.0.23 GUS-W-11602288 --- CHANGELOG.md | 1 + support/build/{php-8.0.22 => php-8.0.23} | 0 2 files changed, 1 insertion(+) rename support/build/{php-8.0.22 => php-8.0.23} (100%) diff --git a/CHANGELOG.md b/CHANGELOG.md index 737f1b723..4ff204d47 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ - ext-blackfire/1.81.0 [David Zuelke] - ext-phalcon/5.0.0RC4 [David Zuelke] +- PHP/8.0.23 [David Zuelke] ### CHG diff --git a/support/build/php-8.0.22 b/support/build/php-8.0.23 similarity index 100% rename from support/build/php-8.0.22 rename to support/build/php-8.0.23 From 18d0beb5f29f395a7f4798c9dd83aaaba97b2cb6 Mon Sep 17 00:00:00 2001 From: David Zuelke Date: Thu, 1 Sep 2022 18:21:21 +0200 Subject: [PATCH 10/12] PHP/8.1.10 GUS-W-11602288 --- CHANGELOG.md | 1 + bin/compile | 2 +- support/build/{php-8.1.9 => php-8.1.10} | 0 support/build/{php-min-8.1.9 => php-min-8.1.10} | 0 4 files changed, 2 insertions(+), 1 deletion(-) rename support/build/{php-8.1.9 => php-8.1.10} (100%) rename support/build/{php-min-8.1.9 => php-min-8.1.10} (100%) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4ff204d47..5533e71e0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ - ext-blackfire/1.81.0 [David Zuelke] - ext-phalcon/5.0.0RC4 [David Zuelke] - PHP/8.0.23 [David Zuelke] +- PHP/8.1.10 [David Zuelke] ### CHG diff --git a/bin/compile b/bin/compile index 8e8c94ae1..b55bde07b 100755 --- a/bin/compile +++ b/bin/compile @@ -219,7 +219,7 @@ fi mkdir -p $build_dir/.heroku/php-min ln -s $build_dir/.heroku/php-min /app/.heroku/php-min -curl_retry_on_18 --retry-connrefused --retry 3 --connect-timeout 5 --fail --silent --location -o $build_dir/.heroku/php-min.tar.gz "${s3_url}php-min-8.1.9.tar.gz" || { +curl_retry_on_18 --retry-connrefused --retry 3 --connect-timeout 5 --fail --silent --location -o $build_dir/.heroku/php-min.tar.gz "${s3_url}php-min-8.1.10.tar.gz" || { mcount "failures.bootstrap.download.php-min" error <<-EOF Failed to download minimal PHP for bootstrapping! diff --git a/support/build/php-8.1.9 b/support/build/php-8.1.10 similarity index 100% rename from support/build/php-8.1.9 rename to support/build/php-8.1.10 diff --git a/support/build/php-min-8.1.9 b/support/build/php-min-8.1.10 similarity index 100% rename from support/build/php-min-8.1.9 rename to support/build/php-min-8.1.10 From 64c98a546132f2a0eca8f113022a9f7255efba5c Mon Sep 17 00:00:00 2001 From: David Zuelke Date: Mon, 5 Sep 2022 15:12:15 +0200 Subject: [PATCH 11/12] better readability of manifest download progress print percent progress, and break lines in sync.sh to prevent wrapping at 80 columns --- support/build/_util/mkrepo.sh | 2 +- support/build/_util/sync.sh | 8 +++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/support/build/_util/mkrepo.sh b/support/build/_util/mkrepo.sh index 59f9ec741..807d8aace 100755 --- a/support/build/_util/mkrepo.sh +++ b/support/build/_util/mkrepo.sh @@ -15,7 +15,7 @@ function s3cmd_get_progress() { fi echo -n "$line" len=${#line} - done < <(grep --line-buffered -o -E '\[[0-9]+ of [0-9]+\]') # filter only the "[1 of 99]" bits from 's3cmd get' output + done < <(grep --line-buffered -o -P '(?<=\[)[0-9]+ of [0-9]+(?=\])' | awk -W interactive '{print int($1/$3*100)"% ("$1"/"$3")"}') # filter only the "[1 of 99]" bits from 's3cmd get' output and divide using awk } upload=false diff --git a/support/build/_util/sync.sh b/support/build/_util/sync.sh index 4cad34487..01f2000b9 100755 --- a/support/build/_util/sync.sh +++ b/support/build/_util/sync.sh @@ -13,7 +13,7 @@ function s3cmd_get_progress() { fi echo -n "$line" len=${#line} - done < <(grep --line-buffered -o -E '\[[0-9]+ of [0-9]+\]') # filter only the "[1 of 99]" bits from 's3cmd get' output + done < <(grep --line-buffered -o -P '(?<=\[)[0-9]+ of [0-9]+(?=\])' | awk -W interactive '{print int($1/$3*100)"% ("$1"/"$3")"}') # filter only the "[1 of 99]" bits from 's3cmd get' output and divide using awk } remove=true @@ -87,7 +87,8 @@ here=$(cd $(dirname $0); pwd) # clean up at the end trap 'rm -rf $src_tmp $dst_tmp;' EXIT -echo -n "Fetching source's manifests from s3://${src_bucket}/${src_prefix}... " >&2 +echo -n "Fetching source's manifests + from s3://${src_bucket}/${src_prefix}... " >&2 ( cd $src_tmp out=$(s3cmd ${s3cmd_src_host_options} --ssl get s3://${src_bucket}/${src_prefix}packages.json 2>&1) || { echo -e "No packages.json in source repo:\n$out" >&2; exit 1; } @@ -108,7 +109,8 @@ S3_REGION=$src_region $here/mkrepo.sh $src_bucket $src_prefix ${src_tmp}/*.compo [[ ! $proceed =~ [nN]o* ]] && exit 1 # yes is the default so doing yes | sync.sh won't do something stupid } -echo -n "Fetching destination's manifests from s3://${dst_bucket}/${dst_prefix}... " >&2 +echo -n "Fetching destination's manifests + from s3://${dst_bucket}/${dst_prefix}... " >&2 ( cd $dst_tmp s3cmd ${s3cmd_dst_host_options} --ssl --progress get s3://${dst_bucket}/${dst_prefix}*.composer.json 2>&1 | tee download.log | s3cmd_get_progress >&2 || { echo -e "failed! Error:\n$(cat download.log)" >&2; exit 1; } From f0d4ab7af6f9d7a3788b7e19aec4682860fccba2 Mon Sep 17 00:00:00 2001 From: David Zuelke Date: Mon, 5 Sep 2022 15:29:31 +0200 Subject: [PATCH 12/12] v224 date --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5533e71e0..e508ed815 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # heroku-buildpack-php CHANGELOG -## v224 (2022-09-??) +## v224 (2022-09-05) ### ADD