Hi mentors, I'm packaging caffe, which is nearly done.
http://mentors.debian.net/package/caffe http://mentors.debian.net/debian/pool/contrib/c/caffe/caffe_0.9999~rc2+git20150902+e8e660d3-1.dsc Source caffe are built twice against different configurations, and are compiled into 2 groups of binary packages, 4 in each group: caffe-cpu conflict with caffe-cuda libcaffe-cpu0 conflict with libcaffe-cuda0 libcaffe-cpu-dev conflict with libcaffe-cuda-dev python-caffe-cpu conflict with python-caffe-cuda They are well built on my amd64 build machine, but when I'm testing installing them I found this: (I stripped some lines) Package: caffe-cpu Source: caffe Depends: libcaffe-cpu0 (= 0.9999~rc2+git20150902+e8e660d3-1), libboost-python1.55.0, libc6 (>= 2.14), libcaffe-cuda0 (>= 0.9999~rc2+git20150902+e8e660d3), libgcc1 (>= 1:4.1.1), libgflags2, libgoogle-glog0, libleveldb1, liblmdb0 (>= 0.9.7), libopencv-core2.4, libopencv-highgui2.4, libopencv-imgproc2.4, libprotobuf9, libpython2.7 (>= 2.7), libstdc++6 (>= 4.9) Conflicts: caffe-cuda Package: caffe-cuda Source: caffe Depends: libcaffe-cuda0 (= 0.9999~rc2+git20150902+e8e660d3-1), libboost-python1.55.0, libc6 (>= 2.14), libcudart6.5 (>= 2.0), libgcc1 (>= 1:4.1.1), libgflags2, libgoogle-glog0, libleveldb1, liblmdb0 (>= 0.9.7), libopencv-core2.4, libopencv-highgui2.4, libopencv-imgproc2.4, libprotobuf9, libpython2.7 (>= 2.7), libstdc++6 (>= 4.9) Conflicts: caffe-cpu Package: libcaffe-cpu-dev Source: caffe Depends: libcaffe-cpu0 (= 0.9999~rc2+git20150902+e8e660d3-1) Conflicts: libcaffe-cuda-dev Package: libcaffe-cpu0 Source: caffe Provides: libcaffe.so.0 <-----------------NOTICE------------- Depends: libboost-python1.55.0, libboost-system1.55.0, libboost-thread1.55.0, libc6 (>= 2.14), libgcc1 (>= 1:4.1.1), libgflags2, libgoogle-glog0, libhdf5-8, libleveldb1, liblmdb0 (>= 0.9.7), libopenblas-base, libopencv-core2.4, libopencv-highgui2.4, libopencv-imgproc2.4, libprotobuf9, libpython2.7 (>= 2.7), libstdc++6 (>= 4.9) Conflicts: libcaffe-cuda0 Package: libcaffe-cuda-dev Source: caffe Depends: libcaffe-cuda0 (= 0.9999~rc2+git20150902+e8e660d3-1) Conflicts: libcaffe-cpu-dev Package: libcaffe-cuda0 Source: caffe Provides: libcaffe.so.0 <----------NOTICE-------------------- Depends: libboost-python1.55.0, libboost-system1.55.0, libboost-thread1.55.0, libc6 (>= 2.14), libcublas6.5 (>= 4.0), libcudart6.5 (>= 5.0), libcurand6.5 (>= 3.2), libgcc1 (>= 1:4.1.1), libgflags2, libgoogle-glog0, libhdf5-8, libleveldb1, liblmdb0 (>= 0.9.7), libopenblas-base, libopencv-core2.4, libopencv-highgui2.4, libopencv-imgproc2.4, libprotobuf9, libpython2.7 (>= 2.7), libstdc++6 (>= 4.9) Conflicts: libcaffe-cpu0 Package: python-caffe-cpu Source: caffe Depends: python:any (<< 2.8), python:any (>= 2.7.5-5~), libboost-python1.55.0, libc6 (>= 2.4), libcaffe-cuda0 (>= 0.9999~rc2+git20150902+e8e660d3), libgcc1 (>= 1:4.1.1), libgoogle-glog0, libprotobuf9, libpython2.7 (>= 2.7), libstdc++6 (>= 4.2.1), libcaffe-cpu0 Conflicts: python-caffe-cuda Package: python-caffe-cuda Source: caffe Depends: python:any (<< 2.8), python:any (>= 2.7.5-5~), libboost-python1.55.0, libc6 (>= 2.4), libcaffe-cpu0 (>= 0.9999~rc2+git20150902+e8e660d3), libgcc1 (>= 1:4.1.1), libgoogle-glog0, libprotobuf9, libpython2.7 (>= 2.7), libstdc++6 (>= 4.2.1), libcaffe-cuda0 Conflicts: python-caffe-cpu We can see that: * there is no problem at dependency of libcaffe-cpu0 and libcaffe-cuda0 * libdev packages have correct and healthy dependency. * caffe-cpu depends on libcaffe-cpu0 (correct), and libcaffe-cuda0 (wrong), so does caffe-cuda * python packages depends on both libcaffe-cpu0 and libcaffe-cuda0 However caffe-cpu and caffe-cuda suites are conflicting with each other, which means the dependency entry generated by `dpkg-shlibdeps` is wrong. I looked up dpkg-shlibdeps(1), but found no option like 'exclude' 'prevent' etc... How should I prevent that wrong and needless dependencies ? Sed'ing caffe-cpu.substvars, throwing "libcaffe-cuda0*" out ? Thanks in advance. :-) -- .''`. Lumin : :' : `. `' `- 638B C75E C1E5 C589 067E 35DE 6264 5EB3 5F68 6A8A
signature.asc
Description: This is a digitally signed message part