[Flow] Weird behaviour with Flow 2.0, composer and TYPO3 Surf
Martin Keck
keck at bloomproject.de
Thu Jun 27 10:09:16 CEST 2013
Hi all,
has anyone a working solution for a Flow 2.0 application using composer and TYPO3 Surf deployment? I just can't figure it out and ran into a weird behaviour of (supposedly) TYPO3 Surf. Here's my setup:
Flow 2.0.0beta3 base distribution:
- has it's own git repository, in it: composer.lock, composer.json, .gitignore
- in composer.json I have defined my application's package as a "require" and the according "repositories" entry to tell composer where to find it
My Application:
- by now more or less blank with just some controllers
- has its own git repository
So far so good. If I manually copy the composer.lock and .json from the base distributions git to the target server and run "composer install" everything works fine. Composer installs all required packages, also my own package situated in its own git repository.
But when switching to TYPO3 Surf deployment, things become weird. The deployment runs well until "typo3.surf:typo3:flow:symlinkconfiguration". Then comes:
/html/xyz/releases/20130627004328/Configuration: Datei oder Verzeichnis nicht gefunden
mkdir: kann Verzeichnis „../../../shared“ nicht anlegen: Keine Berechtigung
ln: Erzeuge symbolische Verknüpfung „Production“: Keine Berechtigung
When checking the folders on the server it turns out, that the according folders were simply not generated, and so it fails.
After some investigation I can tell that the problem seems to have something to do with the "composer install" tasks called by TYPO3 Surf. Because when I run the TYPO3 Surf deployment without the requirement of my own Package (so to say a "blank" Flow 2.0 setup), everything works. But as soon as I add my package as "require" it fails again.
A look into the TYPO3 Surf log files brought me one step further to the solution. As it turned out the ordering, in which the packages get installed, changes.
Blank Flow application starts with Installing "composer/installers (v1.0.4)" and ends with "Installing typo3/welcome (2.0.0)". Works.
With my package requirement it starts with "Installing typo3/flow (2.0.0)" and does "Installing composer/installers (v1.0.4)" just before cloning my repository ("Installing bloom/hsdd (dev-master ae98063)"). After that there's also this DEBUG output:
Generating autoload files
13-06-27 00:44:27 11058 DEBUG Surf > Class TYPO3\Flow\Composer\InstallerScripts is not autoloadable, can not call post-install-cmd script
So the InstallerScripts don't get autoloaded in this case, which is probably the cause for not generating the relevant folders, resulting in typo3.surf:typo3:flow:symlinkconfiguration to break.
So, now I'm stuck. Where to go on? Has anyone any idea how to go on?
Thank you very much.
Martin
Bloom ist Branchensieger im „Jahr der Werbung" 2013. In der Kategorie
„Alkoholische Getränke“ (B2C) landete Bloom auf dem ersten Platz. Alle Infos
auf http://www.bloomproject.de/arbeiten/show/lederer-markenpositionierung/
More information about the Flow
mailing list