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