From 59beb77141d24bb6eebc212608de3da032542515 Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Sat, 8 Aug 2026 06:19:01 +0200 Subject: [PATCH 1/3] Fix build provider detection for Remi --- .../ResolveDependencyWithComposer.php | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/src/DependencyResolver/ResolveDependencyWithComposer.php b/src/DependencyResolver/ResolveDependencyWithComposer.php index 059ca117..3349e34c 100644 --- a/src/DependencyResolver/ResolveDependencyWithComposer.php +++ b/src/DependencyResolver/ResolveDependencyWithComposer.php @@ -143,16 +143,19 @@ private function assertBuildProviderProvidersBundledExtensions(TargetPlatform $t 'CentOS', 'Fedora Project', 'Red Hat, Inc.', - 'Remi\'s RPM repository #StandWithUkraine', + '|^Remi\'s RPM repository |', 'Rocky Enterprise Software Foundation', ]; - if (in_array($buildProvider, $rpmProviders)) { - $identifiedBuildProvider = true; - $this->io->write(sprintf( - '%sYou should probably use "dnf install php-%s" instead', - $note, - $piePackage->extensionName()->name(), - )); + foreach($rpmProviders as $rpmProvider) { + if ($buildProvider === $rpmProvider || ($rpmProvider[0] === '|' && preg_match($rpmProvider, $buildProvider))) { + $identifiedBuildProvider = true; + $this->io->write(sprintf( + '%sYou should probably use "dnf install php-%s" instead', + $note, + $piePackage->extensionName()->name(), + )); + break; + } } if ($buildProvider === 'Homebrew') { From 8e7174a643cab58fc1c3f68cb698b9820bb7d13e Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Sat, 8 Aug 2026 06:39:38 +0200 Subject: [PATCH 2/3] return early if no build provider --- src/DependencyResolver/ResolveDependencyWithComposer.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/DependencyResolver/ResolveDependencyWithComposer.php b/src/DependencyResolver/ResolveDependencyWithComposer.php index 3349e34c..eca826a2 100644 --- a/src/DependencyResolver/ResolveDependencyWithComposer.php +++ b/src/DependencyResolver/ResolveDependencyWithComposer.php @@ -115,6 +115,10 @@ private function assertBuildProviderProvidersBundledExtensions(TargetPlatform $t } $buildProvider = $targetPlatform->phpBinaryPath->buildProvider(); + if (! $buildProvider) { + return; + } + $identifiedBuildProvider = false; $note = 'Note: '; From 7461436b39caa4826288406ae668942b457c12d7 Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Sat, 8 Aug 2026 06:43:12 +0200 Subject: [PATCH 3/3] CS --- src/DependencyResolver/ResolveDependencyWithComposer.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/DependencyResolver/ResolveDependencyWithComposer.php b/src/DependencyResolver/ResolveDependencyWithComposer.php index eca826a2..67d5e7d5 100644 --- a/src/DependencyResolver/ResolveDependencyWithComposer.php +++ b/src/DependencyResolver/ResolveDependencyWithComposer.php @@ -114,7 +114,7 @@ private function assertBuildProviderProvidersBundledExtensions(TargetPlatform $t throw BundledPhpExtensionRefusal::forPhpExtraVersion($targetPlatform->phpBinaryPath); } - $buildProvider = $targetPlatform->phpBinaryPath->buildProvider(); + $buildProvider = $targetPlatform->phpBinaryPath->buildProvider(); if (! $buildProvider) { return; } @@ -150,7 +150,7 @@ private function assertBuildProviderProvidersBundledExtensions(TargetPlatform $t '|^Remi\'s RPM repository |', 'Rocky Enterprise Software Foundation', ]; - foreach($rpmProviders as $rpmProvider) { + foreach ($rpmProviders as $rpmProvider) { if ($buildProvider === $rpmProvider || ($rpmProvider[0] === '|' && preg_match($rpmProvider, $buildProvider))) { $identifiedBuildProvider = true; $this->io->write(sprintf(