Re: RFC: Distribution packaging of composer based modular apps

Remi Collet <[email protected]> Thu, 5 Dec 2019 08:35:55 +0100
Newsgroups gmane.comp.horde.devel
Message-ID <[email protected]>
This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--===============0520235056520689561==
Content-Type: multipart/signed; micalg=pgp-sha1;
 protocol="application/pgp-signature";
 boundary="jaTGXRRmJrzIW6BMufTlmISbxgVKHQEuC"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--jaTGXRRmJrzIW6BMufTlmISbxgVKHQEuC
Content-Type: multipart/mixed; boundary="Hcx8zTknfjTEWE12M7A98zf86hLBg13T6"

--Hcx8zTknfjTEWE12M7A98zf86hLBg13T6
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable

Le 04/12/2019 =C3=A0 16:15, Ralf Lang a =C3=A9crit=C2=A0:
> Hi,
>=20
> a recent discussion on opensuse yielded they don't currently have a cle=
ar strategy for distribution packaging of complex composer apps. It's all=
 very pear centered.
>=20
> As tools for composer are in the works, I am trying to build some open =
build service integration. Currently, I would produce pear packages and a=
uto-wrap them into rpm spec files.=20
>=20
> What is the strategy on other distributions?

In Fedora we have hundreds of "composer" packages

The main benefit of composer, if that we now have a perfect description
if the dependencies

The main issue is that composer autoloader is generated after dependency
resolution, when all the stack is known, which is not suitable for
packaging.

Explained in
https://blog.remirepo.net/post/2015/06/30/PHP-SIG-autoloader

BTW, we now have drop the idea to use the Symfony autoloader and prefer
to avoid pulling it for all packages.

We prefer to use https://github.com/php-fedora/autoloader
and often generates classmap with https://github.com/theseer/Autoload

More in https://fedoraproject.org/wiki/SIGs/PHP/PackagingTips

All works really well:

- hundreds of libraries
- frameworks (SF, ZF)
- multiple versions of some libraries
- lot of developer app (phpunit 5, 6, 7 and 8, php-cs-fixer, phan, ...)
- various web app (phpMyAdmin, GLPI, ...)

And of course, upstream test suites are run during the build and in our
CI,
https://blog.remirepo.net/post/2014/08/12/Koschei-continuous-integration-=
of-PHP-stack-in-Fedora


Remi


--Hcx8zTknfjTEWE12M7A98zf86hLBg13T6--

--jaTGXRRmJrzIW6BMufTlmISbxgVKHQEuC
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Comment: Using GnuPG with Thunderbird - https://www.enigmail.net/

iF0EARECAB0WIQRaDm9U2U1XMmnu4/9hSmkFKfFqGAUCXeizXgAKCRBhSmkFKfFq
GJlAAKCKQq04ZB7H2A+DE1fmPkWrbRevdwCgzaHPGLL/3g66CNGDnWalNQw3FWA=
=zXie
-----END PGP SIGNATURE-----

--jaTGXRRmJrzIW6BMufTlmISbxgVKHQEuC--

--===============0520235056520689561==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

-- 
dev mailing list
Frequently Asked Questions: http://wiki.horde.org/FAQ
To unsubscribe, mail: [email protected]

--===============0520235056520689561==--