Hi, I've uploaded updated Caffe to mentors. http://mentors.debian.net/package/caffe
On Thu, 2015-09-03 at 15:13 +0000, Gianfranco Costamagna wrote: > libboost-all-dev (>= 1.55) | libboost1.55-all-dev (>= 1.55), > what is the rationale for that? I guess libboost-all-dev is already enough... Reduced one. > Multi-Arch: no > isn't that the default? Stripped all Multi-Arch: no in d/control. > "Pre-Depends: ${misc:Pre-Depends}" > this should be useless Removed. > rules: > --builddirectory= > can be passed also in dh call, making useless everywhere > > > "fakeroot dh binary" > > well, I usually don't like such hacks in rules file :) Then, how about splitting those custom target into another file? e.g. debian/custom $ debian/custom cpu $ debian/custom cuda Such change can 1. reduce length of d/rules, 2. avoid confusion on custom matter. > CUSTOM_JOBS := "-j4" > > well mips porters might hate you for this! Well, I changed the default custom build jobs to -j2. > isn't something like > override_dh_auto_build: > dh_auto_configure flags-build1 > dh_auto_build -O--parallel --builddirectory=build1 > dh_auto_configure flags-build2 > dh_auto_build -O--parallel --builddirectory=build2 > > not good for your purpose? I still don't understand how to write working rules like that ... Full changes since last time mentors upload is attached. Thank you :-)
diff --git a/debian/control b/debian/control index 4fc3b87..a3a8379 100644 --- a/debian/control +++ b/debian/control @@ -5,7 +5,7 @@ Maintainer: Debian Science Maintainers <debian-science-maintainers@lists.alioth. Uploaders: Zhou Mo <cdlumin...@gmail.com> Build-Depends: cmake, debhelper (>=9), libopencv-dev (>= 2.4), - libboost-all-dev (>= 1.55) | libboost1.55-all-dev (>= 1.55), + libboost-all-dev (>= 1.55), libopenblas-dev, libprotobuf-dev, libleveldb-dev, @@ -26,15 +26,14 @@ Build-Depends: cmake, debhelper (>=9), nvidia-cuda-toolkit (>= 6.5.14) [amd64 i386] Standards-Version: 3.9.6 Homepage: http://caffe.berkeleyvision.org -Vcs-Git: https://github.com/BVLC/caffe.git -X-Python-Version: >= 2.6 +Vcs-Browser: http://anonscm.debian.org/cgit/debian-science/packages/caffe.git +Vcs-Git: https://anonscm.debian.org/git/debian-science/packages/caffe.git +X-Python-Version: >= 2.7 Package: caffe-cpu Architecture: any -Multi-Arch: no Depends: libcaffe-cpu0 (= ${binary:Version}), - ${misc:Depends}, - ${shlibs:Depends} + ${misc:Depends}, ${shlibs:Depends} Conflicts: caffe-cuda Description: Fast open framework for Deep Learning (Tools, CPU_ONLY) Caffe is a deep learning framework made with expression, speed, @@ -46,8 +45,6 @@ Description: Fast open framework for Deep Learning (Tools, CPU_ONLY) Package: libcaffe-cpu0 Section: contrib/libs Architecture: any -Multi-Arch: no -Pre-Depends: ${misc:Pre-Depends} Depends: ${misc:Depends}, ${shlibs:Depends} Conflicts: libcaffe-cuda0 Provides: libcaffe.so.0 @@ -61,10 +58,9 @@ Description: Fast open framework for Deep Learning (Lib, CPU_ONLY) Package: libcaffe-cpu-dev Section: contrib/libdevel Architecture: any -Multi-Arch: no Conflicts: libcaffe-cuda-dev Depends: libcaffe-cpu0 (= ${binary:Version}), ${misc:Depends} -Description: Fast open framework for Deep Learning (LibDev, CPU_ONLY) +Description: Fast open framework for Deep Learning (Dev, CPU_ONLY) Caffe is a deep learning framework made with expression, speed, and modularity in mind. It is developed by the Berkeley Vision and Learning Center (BVLC) and community contributors. @@ -74,10 +70,8 @@ Description: Fast open framework for Deep Learning (LibDev, CPU_ONLY) Package: caffe-cuda # CUDA is available only on i386 and amd64 Architecture: i386 amd64 -Multi-Arch: no Depends: libcaffe-cuda0 (= ${binary:Version}), - ${misc:Depends}, - ${shlibs:Depends} + ${misc:Depends}, ${shlibs:Depends} Conflicts: caffe-cpu Description: Fast open framework for Deep Learning (Tools, CUDA) Caffe is a deep learning framework made with expression, speed, @@ -90,8 +84,6 @@ Package: libcaffe-cuda0 Section: contrib/libs # CUDA is available only on i386 and amd64 Architecture: i386 amd64 -Multi-Arch: no -Pre-Depends: ${misc:Pre-Depends} Depends: ${misc:Depends}, ${shlibs:Depends} Conflicts: libcaffe-cpu0 Provides: libcaffe.so.0 @@ -106,10 +98,9 @@ Package: libcaffe-cuda-dev Section: contrib/libdevel # CUDA is available only on i386 and amd64 Architecture: i386 amd64 -Multi-Arch: no Depends: libcaffe-cuda0 (= ${binary:Version}), ${misc:Depends} Conflicts: libcaffe-cpu-dev -Description: Fast open framework for Deep Learning (LibDev, CUDA) +Description: Fast open framework for Deep Learning (Dev, CUDA) Caffe is a deep learning framework made with expression, speed, and modularity in mind. It is developed by the Berkeley Vision and Learning Center (BVLC) and community contributors. @@ -119,7 +110,8 @@ Description: Fast open framework for Deep Learning (LibDev, CUDA) Package: python-caffe-cpu Section: contrib/python Architecture: any -Depends: libcaffe-cpu0 (= ${binary:Version}), ${misc:Depends}, ${python:Depends}, ${shlibs:Depends} +Depends: libcaffe-cpu0 (= ${binary:Version}), ${misc:Depends}, + ${python:Depends}, ${shlibs:Depends} Conflicts: python-caffe-cuda Description: Fast open framework for Deep Learning (Python2, CPU_ONLY) Caffe is a deep learning framework made with expression, speed, @@ -131,7 +123,8 @@ Description: Fast open framework for Deep Learning (Python2, CPU_ONLY) Package: python-caffe-cuda Section: contrib/python Architecture: i386 amd64 -Depends: libcaffe-cuda0 (= ${binary:Version}), ${misc:Depends}, ${python:Depends}, ${shlibs:Depends} +Depends: libcaffe-cuda0 (= ${binary:Version}), ${misc:Depends}, + ${python:Depends}, ${shlibs:Depends} Conflicts: python-caffe-cpu Description: Fast open framework for Deep Learning (Python2, CUDA) Caffe is a deep learning framework made with expression, speed, diff --git a/debian/rules b/debian/rules index 0bf8f5f..bd95c85 100755 --- a/debian/rules +++ b/debian/rules @@ -11,6 +11,11 @@ ORIG_SOURCE := "https://github.com/BVLC/caffe/archive/master.tar.gz" export CAFFE_CPU_BUILDDIR="caffe_cpu_build" export CAFFE_CUDA_BUILDDIR="caffe_cuda_build" +SUITE_CPU := caffe-cpu libcaffe-cpu0 libcaffe-cpu-dev python-caffe-cpu +SUITE_CUDA := caffe-cuda libcaffe-cuda0 libcaffe-cuda-dev python-caffe-cuda +SUITE_CPU_P := $(foreach PKG, $(SUITE_CPU), --package=$(PKG)) +SUITE_CUDA_P := $(foreach PKG, $(SUITE_CUDA), --package=$(PKG)) + ifeq (amd64, $(DEB_HOST_ARCH)) flag_build_caffe_cuda := y endif @@ -106,38 +111,19 @@ endif override_dh_makeshlibs: dh_makeshlibs \ - --package=caffe-cpu \ - --package=libcaffe-cpu0 \ - --package=libcaffe-cpu-dev - dh_makeshlibs \ - --package=python-caffe-cpu \ - -X/usr/lib/python + --package=python-caffe-cpu -X/usr/lib/python ifeq (y, $(flag_build_caffe_cuda)) dh_makeshlibs \ - --package=caffe-cuda \ - --package=libcaffe-cuda0 \ - --package=libcaffe-cuda-dev - dh_makeshlibs \ - --package=python-caffe-cuda \ - -X/usr/lib/python + --package=python-caffe-cuda -X/usr/lib/python endif + dh_makeshlibs --remaining-packages override_dh_shlibdeps: - dh_shlibdeps \ - --package=caffe-cpu \ - --package=libcaffe-cpu0 \ - --package=libcaffe-cpu-dev \ - --package=python-caffe-cpu \ - -- \ - -xlibcaffe-cuda0 + dh_shlibdeps $(SUITE_CPU_P) \ + -- -xlibcaffe-cuda0 ifeq (y, $(flag_build_caffe_cuda)) - dh_shlibdeps \ - --package=caffe-cuda \ - --package=libcaffe-cuda0 \ - --package=libcaffe-cuda-dev \ - --package=python-caffe-cuda \ - -- \ - -xlibcaffe-cpu0 + dh_shlibdeps $(SUITE_CUDA_P) \ + -- -xlibcaffe-cpu0 endif get-orig-source: @@ -146,7 +132,7 @@ get-orig-source: # Since the Distributed Binary Caffe can not play the best performance # of user's machines, it's good to provide a custom build target, # allowing users to build their locally performance-optimized packages. -CUSTOM_JOBS := "-j4" +CUSTOM_JOBS := "-j2" CONFFLAG_CPU_CUSTOM = \ -DBLAS="Open" \ -DCMAKE_SKIP_RPATH=TRUE \ @@ -197,11 +183,7 @@ custom-cpu: cd ${CAFFE_CPU_BUILDDIR}; cmake -DCMAKE_INSTALL_CONFIG_NAME="Release" \ -P cmake_install.cmake $(RM) debian/*.symbols - fakeroot dh binary \ - --package=caffe-cpu \ - --package=libcaffe-cpu0 \ - --package=libcaffe-cpu-dev \ - --package=python-caffe-cpu + fakeroot dh binary $(SUITE_CPU_P) custom-cuda: dch --local='+custom' "Custom build of caffe-cuda on `uname -a`" dpkg-source --after-build ./ @@ -219,8 +201,4 @@ custom-cuda: cd ${CAFFE_CUDA_BUILDDIR}; cmake -DCMAKE_INSTALL_CONFIG_NAME="Release" \ -P cmake_install.cmake $(RM) debian/*.symbols - fakeroot dh binary \ - --package=caffe-cuda \ - --package=libcaffe-cuda0 \ - --package=libcaffe-cuda-dev \ - --package=python-caffe-cuda + fakeroot dh binary $(SUITE_CUDA_P)
signature.asc
Description: This is a digitally signed message part