[Fedora-packaging] php/php53 application packaging

Michael Schwendt mschwendt at gmail.com
Fri Sep 7 11:45:16 UTC 2012


On Fri, 7 Sep 2012 12:37:22 +0200, indent man wrote:

> I'm a bit lost...
> From what I can read, it's not possible to package a php app in centos 5 so
> that it may be installed with either php or php53, is it ?

Well, first of all, it depends on the app and whether the app can detect the
PHP runtime environment and adjust to the different versions it might
find and how it handles missing modules. You could leave it to the admin/user
to install the needed pieces, but you could also create RPM packages which
contain proper dependencies on everything that's strictly needed (and make
installation of the whole show much more comfortable).

> So should I provide 2 packages: myapp and myapp-php53 ?

Give a few details about what those packages would do/contain, and the
question would be easier to answer. A solution could also be to create a
common app package and two meta packages that add the needed stuff via
dependencies.
 
> My app also needs json.
> The official centos php53-common package "provides" php-pecl-json (1.2.1),
> but php-common does not.
> So, and since I can't use EPEL, I need to provide my own php-pecl-json
> package, with version 1.2.1, and a dependency on php < 5.2.
> And to make myapp depend on php-pecl-json.
> Then, when I try to yum install myapp (not myapp-php53), it tries to

Yum does not know anything about PHP. It only evaluates RPM package metadata.
Make the dependencies more accurate/strict, and any package tool will be
able to install the right stuff.

> install php53-common, because it is a valid provider of php-pecl-json.
> And as it also tries to install other php (5.1) dependencies, it crashes
> because of the conflict between php-common and php53-common.
> 
> So what is the correct way to make myapp (not myapp-php53) depend on
> php-pecl-json, and not on php53-pecl-json ?

Choose a more suitable package name for the json version you want to
provide. Depend on that one. Or invent a more convenient virtual
capability to add to the package as "Provides", which to depend on.

-- 
Fedora release 17 (Beefy Miracle) - Linux 3.5.3-1.fc17.x86_64
loadavg: 0.03 0.05 0.05


More information about the packaging mailing list