Date: Tue, 31 Jan 2023 18:53:03 GMT From: Michael Gmelin <grembo@FreeBSD.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org Subject: git: be146a923dbd - main - devel/arcanist-lib: Suppress certain runtime exceptions Message-ID: <202301311853.30VIr3DD024501@gitrepo.freebsd.org>
next in thread | raw e-mail | index | archive | help
The branch main has been updated by grembo: URL: https://cgit.FreeBSD.org/ports/commit/?id=be146a923dbda66f50c6b04b406da790837f6287 commit be146a923dbda66f50c6b04b406da790837f6287 Author: Michael Gmelin <grembo@FreeBSD.org> AuthorDate: 2023-01-31 17:06:46 +0000 Commit: Michael Gmelin <grembo@FreeBSD.org> CommitDate: 2023-01-31 18:51:50 +0000 devel/arcanist-lib: Suppress certain runtime exceptions Default configured PHP 8.1+ issues deprecation errors when NULL strings are passed into various library functions. In the past, we tried to address those one by one, which feels a bit like playing Whac-A-Mole. This patch adds custom error handling for this kind of deprecation error, so that it is ignored. This should fix this entire class of errors at least until PHP 9.0 is released, at which point a different workaround (or real solution is needed). Therefore previous patches were removed. --- devel/arcanist-lib/Makefile | 2 +- .../files/patch-src_error_PhutilErrorHandler.php | 14 ++++++++++++++ .../files/patch-src_parser_ArcanistBundle.php | 20 -------------------- .../patch-src_repository_api_ArcanistGitAPI.php | 11 ----------- .../patch-src_workflow_ArcanistDiffWorkflow.php | 11 ----------- 5 files changed, 15 insertions(+), 43 deletions(-) diff --git a/devel/arcanist-lib/Makefile b/devel/arcanist-lib/Makefile index 88851111a747..35298455a620 100644 --- a/devel/arcanist-lib/Makefile +++ b/devel/arcanist-lib/Makefile @@ -1,6 +1,6 @@ PORTNAME?= arcanist PORTVERSION?= 20220518 -PORTREVISION?= 3 +PORTREVISION?= 4 CATEGORIES?= devel PKGNAMESUFFIX= ${SLAVE_PKGNAMESUFFIX}${PHP_PKGNAMESUFFIX} diff --git a/devel/arcanist-lib/files/patch-src_error_PhutilErrorHandler.php b/devel/arcanist-lib/files/patch-src_error_PhutilErrorHandler.php new file mode 100644 index 000000000000..c5a89b45c7de --- /dev/null +++ b/devel/arcanist-lib/files/patch-src_error_PhutilErrorHandler.php @@ -0,0 +1,14 @@ +--- src/error/PhutilErrorHandler.php.orig 2022-05-17 23:20:14 UTC ++++ src/error/PhutilErrorHandler.php +@@ -181,6 +181,11 @@ final class PhutilErrorHandler extends Phobject { + * @task internal + */ + public static function handleError($num, $str, $file, $line, $ctx = null) { ++ // work around PHP 8.1+ null argument deprecation error ++ if ($num === E_DEPRECATED && preg_match('/Passing null to parameter #.* of type .* is deprecated/', $str)) { ++ return true; ++ } ++ + foreach (self::$traps as $trap) { + $trap->addError($num, $str, $file, $line); + } diff --git a/devel/arcanist-lib/files/patch-src_parser_ArcanistBundle.php b/devel/arcanist-lib/files/patch-src_parser_ArcanistBundle.php deleted file mode 100644 index 095e1b24ee81..000000000000 --- a/devel/arcanist-lib/files/patch-src_parser_ArcanistBundle.php +++ /dev/null @@ -1,20 +0,0 @@ ---- src/parser/ArcanistBundle.php.orig 2022-09-08 16:04:09 UTC -+++ src/parser/ArcanistBundle.php -@@ -762,7 +762,7 @@ final class ArcanistBundle extends Phobject { - $old_data = $this->getBlob($old_phid, $name); - } - -- $old_length = strlen($old_data); -+ $old_length = strlen($old_data ?? ''); - - // Here, and below, the binary will be emitted with base85 encoding. This - // encoding encodes each 4 bytes of input in 5 bytes of output, so we may -@@ -795,7 +795,7 @@ final class ArcanistBundle extends Phobject { - $new_data = $this->getBlob($new_phid, $name); - } - -- $new_length = strlen($new_data); -+ $new_length = strlen($new_data ?? ''); - $this->reserveBytes($new_length * 5 / 4); - - if ($new_data === null) { diff --git a/devel/arcanist-lib/files/patch-src_repository_api_ArcanistGitAPI.php b/devel/arcanist-lib/files/patch-src_repository_api_ArcanistGitAPI.php deleted file mode 100644 index fa73cbef6e63..000000000000 --- a/devel/arcanist-lib/files/patch-src_repository_api_ArcanistGitAPI.php +++ /dev/null @@ -1,11 +0,0 @@ ---- src/repository/api/ArcanistGitAPI.php.orig 2023-01-06 17:27:38 UTC -+++ src/repository/api/ArcanistGitAPI.php -@@ -1143,7 +1143,7 @@ final class ArcanistGitAPI extends ArcanistRepositoryA - - public function hasLocalCommit($commit) { - try { -- if (!$this->getCanonicalRevisionName($commit)) { -+ if (!$this->getCanonicalRevisionName($commit ?? '')) { - return false; - } - } catch (CommandException $exception) { diff --git a/devel/arcanist-lib/files/patch-src_workflow_ArcanistDiffWorkflow.php b/devel/arcanist-lib/files/patch-src_workflow_ArcanistDiffWorkflow.php deleted file mode 100644 index f132ed21d524..000000000000 --- a/devel/arcanist-lib/files/patch-src_workflow_ArcanistDiffWorkflow.php +++ /dev/null @@ -1,11 +0,0 @@ ---- src/workflow/ArcanistDiffWorkflow.php.orig 2023-01-09 21:24:25 UTC -+++ src/workflow/ArcanistDiffWorkflow.php -@@ -2361,7 +2361,7 @@ EOTEXT - - // If we track an upstream branch either directly or indirectly, use that. - $branch = $api->getBranchName(); -- if (strlen($branch)) { -+ if (strlen($branch ?? '')) { - $upstream_path = $api->getPathToUpstream($branch); - $remote_branch = $upstream_path->getRemoteBranchName(); - if ($remote_branch !== null) {
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202301311853.30VIr3DD024501>