diff --git a/typo3/sysext/core/Classes/Core/Bootstrap.php b/typo3/sysext/core/Classes/Core/Bootstrap.php index fa2822f94e96590804aa4bef6b14ef6388d8dd97..1e4c94182502b941b0995bb44f783e072bfa7153 100644 --- a/typo3/sysext/core/Classes/Core/Bootstrap.php +++ b/typo3/sysext/core/Classes/Core/Bootstrap.php @@ -106,12 +106,6 @@ class Bootstrap $coreCache ); - // Push PackageManager instance to ExtensionManagementUtility - // Should be fetched through the container (later) but currently a PackageManager - // singleton instance is required by PackageManager->activePackageDuringRuntime - GeneralUtility::setSingletonInstance(PackageManager::class, $packageManager); - ExtensionManagementUtility::setPackageManager($packageManager); - static::setDefaultTimezone(); static::setMemoryLimit(); @@ -142,10 +136,12 @@ class Bootstrap // makeInstance() method creates classes using the container from now on. GeneralUtility::setContainer($container); - // Reset singleton instances in order for GeneralUtility::makeInstance() to use - // ContainerInterface->get() for early services from now on. + // Reset LogManager singleton instance in order for GeneralUtility::makeInstance() + // to proxy LogManager retrieval to ContainerInterface->get() from now on. GeneralUtility::removeSingletonInstance(LogManager::class, $logManager); - GeneralUtility::removeSingletonInstance(PackageManager::class, $packageManager); + + // Push PackageManager instance to ExtensionManagementUtility + ExtensionManagementUtility::setPackageManager($packageManager); if ($failsafe) { $bootState->done = true; diff --git a/typo3/sysext/core/Classes/Utility/ExtensionManagementUtility.php b/typo3/sysext/core/Classes/Utility/ExtensionManagementUtility.php index 9e2a694870775552b95f3751453ce5086dab31ed..2ae4f6c718fce359606332ee78e7cceaf046827c 100644 --- a/typo3/sysext/core/Classes/Utility/ExtensionManagementUtility.php +++ b/typo3/sysext/core/Classes/Utility/ExtensionManagementUtility.php @@ -1621,7 +1621,7 @@ tt_content.' . $key . $suffix . ' { */ protected static function getExtLocalconfCacheIdentifier() { - return 'ext_localconf_' . sha1((string)(new Typo3Version()) . Environment::getProjectPath() . 'extLocalconf' . serialize($GLOBALS['TYPO3_CONF_VARS']['EXT']['runtimeActivatedPackages'])); + return 'ext_localconf_' . sha1((string)(new Typo3Version()) . Environment::getProjectPath() . 'extLocalconf'); } /** @@ -1759,7 +1759,7 @@ tt_content.' . $key . $suffix . ' { */ protected static function getBaseTcaCacheIdentifier() { - return 'tca_base_' . sha1((string)(new Typo3Version()) . Environment::getProjectPath() . 'tca_code' . serialize($GLOBALS['TYPO3_CONF_VARS']['EXT']['runtimeActivatedPackages'])); + return 'tca_base_' . sha1((string)(new Typo3Version()) . Environment::getProjectPath() . 'tca_code'); } /** @@ -1844,7 +1844,7 @@ tt_content.' . $key . $suffix . ' { */ protected static function getExtTablesCacheIdentifier() { - return 'ext_tables_' . sha1((string)(new Typo3Version()) . Environment::getProjectPath() . 'extTables' . serialize($GLOBALS['TYPO3_CONF_VARS']['EXT']['runtimeActivatedPackages'])); + return 'ext_tables_' . sha1((string)(new Typo3Version()) . Environment::getProjectPath() . 'extTables'); } /** diff --git a/typo3/sysext/core/Configuration/DefaultConfiguration.php b/typo3/sysext/core/Configuration/DefaultConfiguration.php index d4ba12d8afd7c18b52960e48c5f33ecede2ce8e9..fdcb930239e5eeac3a4ad2014bc8836d5d6754ef 100644 --- a/typo3/sysext/core/Configuration/DefaultConfiguration.php +++ b/typo3/sysext/core/Configuration/DefaultConfiguration.php @@ -1112,7 +1112,6 @@ return [ 'allowGlobalInstall' => false, 'allowLocalInstall' => true, 'excludeForPackaging' => '(?:\\.(?!htaccess$).*|.*~|.*\\.swp|.*\\.bak|node_modules|bower_components)', - 'runtimeActivatedPackages' => [], ], 'BE' => [ // Backend Configuration. diff --git a/typo3/sysext/extensionmanager/Classes/ViewHelpers/ToggleExtensionInstallationStateViewHelper.php b/typo3/sysext/extensionmanager/Classes/ViewHelpers/ToggleExtensionInstallationStateViewHelper.php index bceeadcc4b836640732490617a9cf210838b81a0..6937fd9cbdeebaa60ee55f679b467b3229955a62 100644 --- a/typo3/sysext/extensionmanager/Classes/ViewHelpers/ToggleExtensionInstallationStateViewHelper.php +++ b/typo3/sysext/extensionmanager/Classes/ViewHelpers/ToggleExtensionInstallationStateViewHelper.php @@ -63,11 +63,11 @@ class ToggleExtensionInstallationStateViewHelper extends ActionViewHelper public function render() { $extension = $this->arguments['extension']; - // Early return if package is protected or is a runtime activated package and can not be unloaded + // Early return if package is protected and can not be unloaded /** @var \TYPO3\CMS\Core\Package\PackageManager $packageManager */ $packageManager = $this->objectManager->get(PackageManager::class); $package = $packageManager->getPackage($extension['key']); - if ($package->isProtected() || in_array($extension['key'], $GLOBALS['TYPO3_CONF_VARS']['EXT']['runtimeActivatedPackages'])) { + if ($package->isProtected()) { return ''; } diff --git a/typo3/sysext/install/Configuration/ExtensionScanner/Php/ArrayDimensionMatcher.php b/typo3/sysext/install/Configuration/ExtensionScanner/Php/ArrayDimensionMatcher.php index 2c5ad379191f1f2763fa0671fad343c6dc339422..cc73306a01c48723eeba797e97dc4a7808ac702a 100644 --- a/typo3/sysext/install/Configuration/ExtensionScanner/Php/ArrayDimensionMatcher.php +++ b/typo3/sysext/install/Configuration/ExtensionScanner/Php/ArrayDimensionMatcher.php @@ -429,6 +429,7 @@ return [ '$GLOBALS[\'TYPO3_CONF_VARS\'][\'EXT\'][\'runtimeActivatedPackages\']' => [ 'restFiles' => [ 'Deprecation-91030-Runtime-ActivatedPackages.rst', + 'Breaking-91473-DeprecatedFunctionalityRemoved.rst' ], ], ];