[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@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
Please send these kind of packaging problems directly to the people of the project. We talk about the OBS technology itself here in first place. thanks adrian On Mittwoch, 15. Mai 2013, 20:10:19 wrote Andrew Daugherity:
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
-- Adrian Schroeter SUSE Linux Products GmbH email: adrian@suse.de -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
On May 16, 2013, at 4:34 AM, Adrian Schröter <adrian@suse.de> wrote:
Please send these kind of packaging problems directly to the people of the project.
We talk about the OBS technology itself here in first place.
thanks adrian
Sorry, I found a lot of hits discussing PHP 5.4 in searching what I thought was this mailing list, but apparently I was mistaken -- I somehow managed to get results from other mailing lists via the "advanced search" page on lists.opensuse.org (probably due to my error). I guess this is not an OBS issue unless I managed to hit some strange corner case of dependency resolution. Would opensuse-packaging or -factory be a better list for this? Thanks, Andrew -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
participants (2)
-
Adrian Schröter
-
Andrew Daugherity