Mailinglist Archive: opensuse-buildservice (209 mails)

< Previous Next >
[opensuse-buildservice] problems with php5-hash preventing build of dependent pkgs
The php5-pecl_http package in server:php:extensions fails to build for
server_php_SLE_11 and server_php_openSUSE_11.4 due to broken handling of its
dependency on php5-hash:
====
andrew@build11:~/server:php:extensions/php5-pecl_http> osc build
server_php_SLE_11 x86_64
Building php5-pecl_http.spec for server_php_SLE_11/x86_64
Getting buildinfo from server and store to
/home/andrew/server:php:extensions/php5-pecl_http/.osc/_buildinfo-server_php_SLE_11-x86_64.xml
Getting buildconfig from server and store to
/home/andrew/server:php:extensions/php5-pecl_http/.osc/_buildconfig-server_php_SLE_11-x86_64
buildinfo is broken... it says:
unresolvable: conflict for provider of php5 = 5.4.15 needed by php5-devel,
(provider php5 obsoletes installed php5-hash), conflict for provider of php5 =
5.4.15 needed by php5-iconv, (provider php5 obsoletes installed php5-hash),
nothing provides php5 = 5.2.6 needed by php5-hash
====
(same message for 11.4, except "nothing provides php5 = 5.3.5 needed by
php5-hash")



The newer PHP packages (including distro php5-5.3.* packages in >= 12.1, php53
in SLE11 SP2, and php5-5.4.* from server:php) provide and obsolete php5-hash
(it's noted in the RPM changelog for php5 that the has extension was
integrated), and that seems reasonable. If I install php5-5.2.x from SLES11,
add the server:php repo, then 'zypper dup', it works properly -- php5-hash is
removed, as it should be. The problem is when trying to install build
dependencies.


I attempt a manual rebuild of the source RPM on a SLES 11 SP2 VM with the
server:php repo added:
====
ADaugherity@dhcp-126:~> rpmbuild --rebuild php5-pecl_http-1.7.5-1.2.src.rpm
Installing php5-pecl_http-1.7.5-1.2.src.rpm
error: Failed build dependencies:
php5-devel is needed by php5-pecl_http-1.7.5-1.2.x86_64
php5-iconv is needed by php5-pecl_http-1.7.5-1.2.x86_64
php5-hash is needed by php5-pecl_http-1.7.5-1.2.x86_64
ADaugherity@dhcp-126:~> sudo zypper in php5-devel php5-iconv php5-hash
Loading repository data...
Reading installed packages...
Resolving package dependencies...

Problem: php5-devel-5.4.15-165.1.x86_64 requires php5 = 5.4.15, but this
requirement cannot be provided
uninstallable providers: php5-5.4.15-165.1.x86_64[server_php]
php5-5.4.15-165.1.i586[server_php]
Solution 1: Following actions will be done:
do not install php5-devel-5.4.15-165.1.x86_64
do not install php5-iconv-5.4.15-165.1.x86_64
Solution 2: do not install php5-hash-5.2.14-0.7.30.46.1.x86_64
Solution 3: break php5-devel-5.4.15-165.1.x86_64 by ignoring some of its
dependencies

Choose from above solutions by number or cancel [1/2/3/c] (c):
====
Whoops. Solution 2 works, as does leaving php5-hash off the zypper install
command. After that, rpmbuild succeeds.


'zypper source-install' seems smart enough however:
====
ADaugherity@dhcp-126:~> sudo zypper si -d php5-pecl_http
Building repository 'PHP extensions (server_php_openSUSE_Factory)' cache [done]
Reading installed packages...
Loading repository data...
Resolving package dependencies...

The following NEW packages are going to be installed:
php5 php5-devel php5-iconv

The following packages are not supported by their vendor:
php5 php5-devel php5-iconv

3 new packages to install.
Overall download size: 2.2 MiB. After the operation, additional 13.7 MiB will
be used.
Continue? [y/n/?] (y):
====
(I'm using the factory repo for this test because the broken package means no
.src.rpm in the server_php_SLE_11 repo.)

Note that it doesn't attempt to install php5-hash. So why does osc? My guess
is the older package named 'php5-hash' is being preferred to the package
providing it (php5). It seems like this is something that should be fixed in
the php5 package rather than the extension package (there's probably other
extensions broken in the same way), but I don't know how to go about this.
You'd think zypper/osc/build would be smart enough to check capabilities
(Provides) when generating a non-conflicting list of needed packages, but
something is tripping it up.


TIA for any guidance.


-Andrew

--
To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@xxxxxxxxxxxx
To contact the owner, e-mail: opensuse-buildservice+owner@xxxxxxxxxxxx

< Previous Next >
Follow Ups