[TYPO3-dev] composer install typo3/cms

Fabien Udriot fabien.udriot at ecodev.ch
Wed Feb 5 21:00:28 CET 2014


Hi Christian,

> we've lately been working on a composer TYPO3 installer [1] and thought it would be great to have
> a official typo3/cms package at packagist [2].

They are few people experimenting around with Composer / Packagist. Thanks for sharing your
experience and giving feedback since it is a new area for many. And there is some good potential.

> The usual procedure for that would be, to simply add the (git) repository to packagist and let
> composer do the rest. Unfortunately this probably won't work with the TYPO3 repository as 1. the >
tag names there are no valid composer versions and 2. the tags don't contain composer.json files.

(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

(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 there are two possibilities to accomplish an packagist package anyway:
>
> 1. Add tags in the format, composer expects (v6.1.7 or 6.1.7 or release-6.1.7) including the
> composer.json files to the git repository
>
> 2. Create a new git repository just for packagist, which contains the relevant tags and
> composer.json files

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.

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...

> We could then contribute our installers and people could just run "composer install typo3/cms" to
> download and install TYPO3.

It goes into the same direction, does it?
https://github.com/lightwerk/typo3cms-installers

> [1] https://packagist.org/packages/netresearch/composer-installers

Regards,

Fabien



More information about the TYPO3-dev mailing list