On 31/07/2014 09:59, Vincent Danjean wrote:
all *-libopencl1 conflict/replace themselves as they provide the same
binary (libOpenCL.so.1)
And we need to put the correct conflict/replace for the libOpenCL.so.
It is not hard but this file is (was?) not handled the same way by all
OpenCL packagers. It is "just" a matter to list all packages (in wheezy
and testing) that provide it. This will avoid to wait for users to
detect missing conflict/replace and upload fixed packages.

In Sid, the situation is as follows:

$ apt-file search libOpenCL.so
amd-libopencl1: /usr/lib/x86_64-linux-gnu/libOpenCL.so.1
amd-opencl-dev: /usr/lib/x86_64-linux-gnu/libOpenCL.so
nvidia-libopencl1: /usr/lib/x86_64-linux-gnu/libOpenCL.so.1
nvidia-libopencl1: /usr/lib/x86_64-linux-gnu/libOpenCL.so.1.0.0
nvidia-opencl-dev: /usr/lib/x86_64-linux-gnu/libOpenCL.so
ocl-icd-libopencl1: /usr/lib/x86_64-linux-gnu/libOpenCL.so
ocl-icd-libopencl1: /usr/lib/x86_64-linux-gnu/libOpenCL.so.1
ocl-icd-libopencl1: /usr/lib/x86_64-linux-gnu/libOpenCL.so.1.0.0
ocl-icd-libopencl1: /usr/share/man/man7/libOpenCL.so.7.gz

Packages providing virtual package libopencl1 [1]:
amd-libopencl1
nvidia-libopencl1
ocl-icd-libopencl1

Packages providing virtual package opencl-dev [2]:
amd-opencl-dev
nvidia-opencl-dev
ocl-icd-opencl-dev

So OpenCL development packages provide opencl-dev and OpenCL library packages provide libopencl1.

If ocl-icd-libopencl1 is going to continue shipping libOpenCL.so, then I think the conflicts/replaces simply need to be updated to amd-opencl-dev and nvidia-opencl-dev (instead of amd-app and nvidia-libopencl1-dev), as per my updated patch (attached).

If ocl-icd-libopencl1 is going to stop shipping libOpenCL.so, then it only needs to conflicts/replaces on libopencl1 and the remaining conflicts/replaces (amd-app and nvidia-libopencl1-dev) can be dropped. Package ocl-icd-opencl-dev can then ship libOpenCL.so and no further changes need to be made as it already conflicts/replaces on opencl-dev.

Can we agree that the fix to bug #755513 lies in ocl-icd? I'd like to mark nvidia-cuda-toolkit as no longer being affected so it can go back into testing.


[1] https://packages.debian.org/sid/libopencl1
[2] https://packages.debian.org/sid/opencl-dev

diff -Nru ocl-icd-2.1.3/debian/control ocl-icd-2.1.3/debian/control
--- ocl-icd-2.1.3/debian/control	2014-02-07 00:33:38.000000000 +0200
+++ ocl-icd-2.1.3/debian/control	2014-07-29 16:33:49.000000000 +0200
@@ -18,8 +18,8 @@
 Provides: libopencl1, libopencl-1.1-1, libopencl-1.2-1
 Pre-Depends: ${misc:Pre-Depends}
 Depends: ${shlibs:Depends}, ${misc:Depends}
-Conflicts: libopencl1, amd-app, nvidia-libopencl1-dev
-Replaces: libopencl1, amd-app, nvidia-libopencl1-dev
+Conflicts: libopencl1, amd-opencl-dev, nvidia-opencl-dev
+Replaces: libopencl1, amd-opencl-dev, nvidia-opencl-dev
 # To promote to an Recommends once an ICD is in main
 Suggests: opencl-icd
 Description: Generic OpenCL ICD Loader

Reply via email to