Bug #91220
openExtensionManager dependency calculation does not take extension-interrelationship-dependencies into account
0%
Description
When one extension depends on two extensions where both extensions depend on a third one, but with a different set of matching versions, then ExtensionManager is unable to find the common dependency version that is allowed by both extensions, because it decided for a very too early.
Sound very complicated in written words, therefore an example:
Two custom extensions: "master" and "other_ext"
EXT:master (allowing powermail v6-v8 and depending on `other_ext`)
'constraints' => array(
'depends' => array(
'typo3' => '9.5.0-9.5.99',
'powermail' => '6.0.0-8.99.99',
'other_ext' => '*',
),
),
EXT:other_ext (allowing only powermail v6)
'constraints' => array(
'depends' => array(
'typo3' => '9.5.0-9.5.99',
'powermail' => '6.0.0-6.99.99',
),
),
When installing "master" on 9.5 the error "powermail was requested to be downloaded in different versions (6.2.0 and 7.4.0)." will be thrown.
That is because the latest version of powermail is used when checking dependencies for "EXT:master" – the compatible v6 should/could be taken into account as both extensions are marked to be compatible with it and v6 itself is marked to be v9.5 compatible.
Note: This is not a bug that was introduced with https://review.typo3.org/c/Packages/TYPO3.CMS/+/64308/ (that patch is fine) – it's just an additional and more complex case.
#91179 is therefore related, but not the source of this bug.