From b267007a025a9a5fed13f2ff5cfa5deb137204fc Mon Sep 17 00:00:00 2001
From: Helmut Hummel <typo3@helhum.io>
Date: Thu, 16 Dec 2021 16:26:25 +0100
Subject: [PATCH] [BUGFIX] Fix extension path in ComposerDeficitDetector

Instead of relying on a hard coded extension install path,
now the real extension path is used provided by the package manager

Releases: main, 11.5
Resolves: #96375
Change-Id: Ic2e4d71413416a5271420e939e5f74fa28cbaca6
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/72697
Reviewed-by: Simon Gilli <typo3@gilbertsoft.org>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: Mathias Brodala <mbrodala@pagemachine.de>
Reviewed-by: Oliver Klee <typo3-coding@oliverklee.de>
Reviewed-by: Helmut Hummel <typo3@helhum.io>
Tested-by: Simon Gilli <typo3@gilbertsoft.org>
Tested-by: core-ci <typo3@b13.com>
Tested-by: Helmut Hummel <typo3@helhum.io>
---
 .../Classes/Package/ComposerDeficitDetector.php                | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/typo3/sysext/extensionmanager/Classes/Package/ComposerDeficitDetector.php b/typo3/sysext/extensionmanager/Classes/Package/ComposerDeficitDetector.php
index 8b9f6c5caddd..26d37e4cf52e 100644
--- a/typo3/sysext/extensionmanager/Classes/Package/ComposerDeficitDetector.php
+++ b/typo3/sysext/extensionmanager/Classes/Package/ComposerDeficitDetector.php
@@ -17,7 +17,6 @@ declare(strict_types=1);
 
 namespace TYPO3\CMS\Extensionmanager\Package;
 
-use TYPO3\CMS\Core\Core\Environment;
 use TYPO3\CMS\Extensionmanager\Utility\ListUtility;
 
 /**
@@ -63,7 +62,7 @@ class ComposerDeficitDetector
             throw new \InvalidArgumentException('Extension key ' . $extensionKey . ' is not valid.', 1619446378);
         }
 
-        $composerManifestPath = Environment::getExtensionsPath() . '/' . $extensionKey . '/composer.json';
+        $composerManifestPath = $this->availableExtensions[$extensionKey]['packagePath'] . 'composer.json';
 
         if (!file_exists($composerManifestPath) || !($composerManifest = file_get_contents($composerManifestPath))) {
             return self::EXTENSION_COMPOSER_MANIFEST_MISSING;
-- 
GitLab