[TYPO3-dev] composer install typo3/cms
Christian Opitz
christian.opitz at netresearch.de
Thu Feb 6 10:10:02 CET 2014
Hi Fabien,
thanks for your comprehensive answer!
> (1) What is important for Packagist as well is to have the user "typo3" as maintainer. This will
> ensure Gerrit is allowed to trigger an update when a new merge is made. A package could well be
> registered by anybody (e.g. for a third-party extension) but then user "typo3" must be added as
> additional maintainer on the Packagist GUI. I did some successful test with a random extension and
> left some note: https://notes.typo3.org/p/composer
Ok, sounds good - additionaly if you don't want this additional user,
you could trigger the update manually. Maybe it might be a good idea to
name this user typo3-gerrit to not confuse extension authors?
> (2) but the sys-extensions do have a composer file as reminder / info. This can be exploited, see below.
>
> On the topic there is a pending patch where to standardize the packages name of the core packages
> which are for now not compliant with Packagist (regular expression will make it fail when submitting
> against Packagist. https://review.typo3.org/#/c/25503/
So, you'd submit the sysexts to packagist separately? I thought, it
would be fine if the typo3/cms package would just provide them by the
provide [1] key in composer.json (as the lightwerk guys did in their
repository). Thus they would be published and coupled to the core also.
> The tags format should be fixed on the main repository IMO. It must be checked / sync with the
> release managers. As for the *main* composer.json, it must be added at the root. If you already have
> an idea how it should look like, a patch could be proposed for the Core.
Maybe packagist works differently but composer refuses tags that don't
contain a composer.json (even if there's one in the master). Fixing all
tags in the main repo would be great in terms of straightness but I
think for the composer venture I would go with Philipp's suggestion.
> It is perhaps a dream but it could be interesting to be fine-grain when installing / deploying TYPO3
> CMS Core. "typo3/cms" would install the default distribution as we know it. But could it be the
> opportunity to only pick the core packages (or sysext) that are desired. The "virtual" git
> repository for packagist you mentioned sounds as a solution. However, I fear it will not work with
> the main composer.json file which would have the dependencies to all sub-packages. To be investigated...
Well, your dream isn't so far away:
Currently our installer
- downloads the TYPO3 sources to vendor/typo3/cms and links typo3 and
index.php there if the filesystem/os supports symlinks or directly to
typo3/index.php if not
- creates the directories fileadmin, typo3conf, typo3temp and uploads
- touches ENABLE_INSTALL_TOOL and FIRST_INSTALL
Our roadmap provides for a basic 1/2/3-install by the composer installer
as well as an extension installer for composer that would delegate to
the TYPO3 CLI extension installer.
But composer doesn't know the concept of de/activating packages - so I
think it's still up to TYPO3 to organise, which packages of the
"composer installed" are "TYPO3 activated".
> It goes into the same direction, does it?
> https://github.com/lightwerk/typo3cms-installers
Yes, but some steps further (those installers actually just download the
TYPO3 / extension sources).
[1] https://getcomposer.org/doc/04-schema.md#provide
[2] at the very end: http://composer.lightwerk.com/packages.json
Regards,
Christian
More information about the TYPO3-dev
mailing list