[Kolab-devel] Kolab Development packages now requiring a package for composer

Timotheus Pokorra timotheus at kolab.org
Thu May 7 15:11:23 CEST 2015


Hello,

In Kolab Development, the packages iRony and kolab-freebusy previously
have been built from a tarball that was prepared with composer.
With the recent changes, this processing with composer happens during
the build of the package.
This works fine for the RPM packages, because Jeroen has provided a
composer RPM package.
https://obs.kolabsys.com/package/show/Kolab:Development/composer

I have tried to look for a Debian package for composer.
What I found is an Ubuntu PPA:
https://launchpad.net/~duggan/+archive/ubuntu/composer/+packages
and a Debian proposal:
https://anonscm.debian.org/cgit/pkg-php/composer.git

The Debian proposal package requires jsonlint which is not even
available in Jessie.
The required package php-symfony-class-loader is available in Jessie,
but not in Wheezy.
see https://anonscm.debian.org/cgit/pkg-php/composer.git/tree/debian/control

The Ubuntu package just uses a binary (composer.phar), and does not
build from sources.
That way it requires less dependancies.
I am still trying to build that.
see https://obs.kolabsys.com/package/show/home:timotheus:branches:Kolab:Development/composer

One issue: I need to rename the composer file to composer.sh,
otherwise I get during the build this error:
cannot create directory 'debian/composer': Not a directory
I guess we can live with that renamed file.

The other issue: if the package builds, and I install it,
composer.phar has a wrong checksum, and will not run.
I have no idea how the file gets corrupted, but indeed the checksums
are different, even the size is off by one byte.
When I build the composer package locally, then the composer.phar is
packaged correctly.

The result is the error message when I build iRony for Debian:
https://obs.kolabsys.com/package/live_build_log/home:timotheus:branches:Kolab:Development/iRony/Debian_8.0/x86_64

composer.sh -vvv dumpautoload --optimize
[   58s] PHP Fatal error:  Uncaught exception 'PharException' with
message 'phar "/usr/lib/composer/composer.phar" has a broken
signature' in /usr/lib/composer/composer.phar:13
[   58s] Stack trace:
[   58s] #0 /usr/lib/composer/composer.phar(13): Phar::mapPhar('composer.phar')
[   58s] #1 {main}
[   58s]   thrown in /usr/lib/composer/composer.phar on line 13
[   58s] debian/rules:10: recipe for target 'override_dh_install' failed

Does anyone have any ideas?

Timotheus


More information about the devel mailing list