Bug #103898
closedExisting "_assets" subdirectories not being a symlink prevents installation
100%
Description
Scenario:¶
Someone transfers over contents of a production instance for local development. They copy "_assets" over to their local install (just because they "copy everything").
The file copying is done without respecting symlinks, so symlinks get turned into actual directories with actual, non-symlinked files. Depending on the deployment process, these symlinks may even have already been resolved on the upload to a production server (rsync dereferencing).
Resulting symptons¶
When now the development instance issues a composer update followed by composer dump-autoload, any updated assets will NOT be updated in the existing directory.
This could lead to odd issues where typo3 cms-... packages do not deliver the right CSS+JS files. See slack https://typo3.slack.com/archives/C025BQLFA/p1716455213954609
Workaround¶
One can remove the whole `_assets` directory and then let `composer dump-autoload` do its magic. However, people may not even notice this, as no errors are shown.
Reasons and suggested change¶
The PackageArtifactBuilder just assumes, everything is good, when the expected directory can be resolved. If it's actually a symlink is not evaluated.
My proposal would be to ensure that the target resource path is actually a symlink, and leads to the assumed symlink target. `composer dump-autoload` should then report a warning, if a directory does not match that expectation. It does not create any hard failures, so if anyone is using non-symlinks in production, nothing will be deleted/recreated, and continue as-is.
Additionally it would be nice if the Admin Tools > Environment > Directory Status could also reveal this warning.
Related documentation change: https://github.com/TYPO3-Documentation/TYPO3CMS-Reference-CoreApi/pull/4440
Updated by Garvin Hicking 6 months ago
- Related to Bug #96386: Cleanup of symlinks in _assets on extension uninstall added
Updated by Garvin Hicking 6 months ago
- Related to Bug #100468: Missing assets folder when creating public folder after installation added
Updated by Gerrit Code Review 6 months ago
- Status changed from New to Under Review
Patch set 1 for branch main of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/84383
Updated by Gerrit Code Review 6 months ago
Patch set 2 for branch main of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/84383
Updated by Gerrit Code Review 6 months ago
Patch set 3 for branch main of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/84383
Updated by Gerrit Code Review 6 months ago
Patch set 4 for branch main of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/84383
Updated by Gerrit Code Review 6 months ago
Patch set 5 for branch main of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/84383
Updated by Gerrit Code Review 6 months ago
Patch set 6 for branch main of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/84383
Updated by Gerrit Code Review 6 months ago
Patch set 7 for branch main of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/84383
Updated by Gerrit Code Review 6 months ago
Patch set 8 for branch main of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/84383
Updated by Gerrit Code Review 6 months ago
Patch set 9 for branch main of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/84383
Updated by Gerrit Code Review 6 months ago
Patch set 10 for branch main of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/84383
Updated by Gerrit Code Review 6 months ago
Patch set 11 for branch main of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/84383
Updated by Gerrit Code Review 5 months ago
Patch set 12 for branch main of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/84383
Updated by Gerrit Code Review 5 months ago
Patch set 13 for branch main of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/84383
Updated by Garvin Hicking 5 months ago
- Status changed from Under Review to Resolved
- % Done changed from 0 to 100
Applied in changeset bb403bb83cfcfe541bb5f45eda7c34f250e43aa1.
Updated by Gerrit Code Review 5 months ago
- Status changed from Resolved to Under Review
Patch set 1 for branch 12.4 of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/84759
Updated by Gerrit Code Review 5 months ago
Patch set 2 for branch 12.4 of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/84759
Updated by Garvin Hicking 5 months ago
- Status changed from Under Review to Resolved
Applied in changeset a1308271468fad66458dfd47fe1f0183c523933f.
Updated by Garvin Hicking 4 months ago
- Related to Bug #104345: Composer installation of a Root Package does not properly store packagePath added
Updated by Chris Müller about 1 month ago
- Related to Bug #105327: PackageArtifactBuilder creates junctions on windows, incompatible with Docker Desktop added