diff --git a/core/includes/install.core.inc b/core/includes/install.core.inc index 0fe33db..03048d4 100644 --- a/core/includes/install.core.inc +++ b/core/includes/install.core.inc @@ -429,6 +429,12 @@ function install_begin_request($class_loader, &$install_state) { drupal_get_filename('profile', $name, $profile->getPathname()); } + // Before having installed the system module and being able to do a module + // rebuild, prime the drupal_get_filename() static cache with the module's + // exact location. + // @todo Remove as part of https://www.drupal.org/node/2186491 + drupal_get_filename('module', 'system', 'core/modules/system/system.info.yml'); + if ($profile = _install_select_profile($install_state)) { $install_state['parameters']['profile'] = $profile; install_load_profile($install_state); diff --git a/core/lib/Drupal/Core/Extension/ExtensionList.php b/core/lib/Drupal/Core/Extension/ExtensionList.php index e9d627e..a7cc21d 100644 --- a/core/lib/Drupal/Core/Extension/ExtensionList.php +++ b/core/lib/Drupal/Core/Extension/ExtensionList.php @@ -142,7 +142,10 @@ public function reset() { $this->fileNames = NULL; $this->state->delete($this->getFilenameCacheId()); $this->cache->delete($this->getFilenameCacheId()); - $this->addedFileNames = []; + // We explicitly don't reset the addedFileNames as its sort of a static + // cache. + // @todo On the longrun it would be great to add the reset, but the early + // installer fails due to that. return $this; }