[SCM] Debian packaging for suitesparse branch, master, updated. upstream/4.2.0-25-g170c1ce

Sébastien Villemot sebastien at debian.org
Mon Apr 29 14:52:07 UTC 2013


The following commit has been merged in the master branch:
commit 6059c2a1d6fb2b9e9a7c41b7e6bba66048c5e402
Author: Sébastien Villemot <sebastien at debian.org>
Date:   Mon Apr 29 15:51:59 2013 +0200

    Create a new library package for SPQR

diff --git a/debian/changelog b/debian/changelog
index 7de8c21..b17885d 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -35,6 +35,7 @@ suitesparse (1:4.2.0-1) experimental; urgency=low
     of the (small) config code, for embedding in other shared libs
   * KLU_Demo_Makefile.diff: new patch, needed for creating the right
     dependencies between shared libraries
+  * Create a new shared library package for SPQR (Closes: #589296)
 
  -- Christophe Trophime <christophe.trophime at lncmi.cnrs.fr>  Mon, 10 Sep 2012 16:40:47 +0200
 
diff --git a/debian/control.in b/debian/control.in
index 779c24a..96e5341 100644
--- a/debian/control.in
+++ b/debian/control.in
@@ -144,6 +144,18 @@ Description: sparse LU factorization library
  .
  UMFPACK     sparse LU factorization
 
+Package: @SPQR@
+Section: libs
+Architecture: any
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: sparse QR factorization library
+ Suitesparse is a collection of libraries for computations involving
+ sparse matrices.  This package includes the following dynamic library:
+ .
+ SPQR        sparse QR factorization library
+
 Package: libsuitesparse-dev
 Section: libdevel
 Architecture: any
@@ -163,6 +175,7 @@ Depends: ${misc:Depends},
  @KLU@ (= ${binary:Version}),
  @LDL@ (= ${binary:Version}),
  @UMFPACK@ (= ${binary:Version}),
+ @SPQR@ (= ${binary:Version}),
  libblas-dev | libatlas-base-dev | libatlas-sse-dev | libatlas-sse2-dev | libatlas-3dnow-dev,
  liblapack-dev | libatlas-base-dev | libatlas-sse-dev | libatlas-sse2-dev | libatlas-3dnow-dev
 Description: libraries for sparse matrices computations (development files)
@@ -191,6 +204,8 @@ Description: libraries for sparse matrices computations (development files)
  .
  UMFPACK     sparse LU factorization
  .
+ SPQR        sparse QR factorization
+ .
  This package contains the static libraries and header files.
 
 Package: libsuitesparse-dbg
@@ -209,6 +224,7 @@ Depends: ${misc:Depends},
  @KLU@ (= ${binary:Version}),
  @LDL@ (= ${binary:Version}),
  @UMFPACK@ (= ${binary:Version}),
+ @SPQR@ (= ${binary:Version}),
  libblas-dev | libatlas-base-dev | libopenblas-dev,
  liblapack-dev | libatlas-base-dev
 Conflicts: libufsparse-dbg
@@ -239,6 +255,8 @@ Description: libraries for sparse matrices computations (debugging symbols)
  .
  UMFPACK     sparse LU factorization
  .
+ SPQR        sparse QR factorization
+ .
  SuiteSparse_config    configuration file for all the above packages.
  .
  This package contains the debug libraries (stored in /usr/lib/debug).
diff --git a/debian/install/SPQR b/debian/install/SPQR
new file mode 100755
index 0000000..dfcbf6a
--- /dev/null
+++ b/debian/install/SPQR
@@ -0,0 +1,3 @@
+#!/usr/bin/dh-exec
+
+SPQR/Lib/*.so.* /usr/lib/${DEB_HOST_MULTIARCH}/
diff --git a/debian/library-soname.pl b/debian/library-soname.pl
index 850e2c7..1d72b26 100644
--- a/debian/library-soname.pl
+++ b/debian/library-soname.pl
@@ -11,7 +11,8 @@
     CXSparse, "3.1.2",
     KLU, "1.2.1",
     LDL, "2.1.0",
-    UMFPACK, "5.6.1"
+    UMFPACK, "5.6.1",
+    SPQR, "1.3.1"
 );
 
 die "Usage: $0 LIB\n" if $#ARGV != 0;
diff --git a/debian/libsuitesparse-dev.install b/debian/libsuitesparse-dev.install
index 8dcf4d9..bf93579 100755
--- a/debian/libsuitesparse-dev.install
+++ b/debian/libsuitesparse-dev.install
@@ -35,5 +35,6 @@ UMFPACK/Lib/*.so /usr/lib/${DEB_HOST_MULTIARCH}/
 UMFPACK/Include/*.h /usr/include/suitesparse
 SuiteSparse_config/*.h /usr/include/suitesparse
 SPQR/Lib/*.a /usr/lib/${DEB_HOST_MULTIARCH}/
+SPQR/Lib/*.so /usr/lib/${DEB_HOST_MULTIARCH}/
 SPQR/Include/*.h /usr/include/suitesparse
 SPQR/Include/*.hpp /usr/include/suitesparse
diff --git a/debian/libsuitesparse-doc.install b/debian/libsuitesparse-doc.install
index fd41319..275b189 100644
--- a/debian/libsuitesparse-doc.install
+++ b/debian/libsuitesparse-doc.install
@@ -10,3 +10,5 @@ CHOLMOD/Doc/CHOLMOD*.pdf /usr/share/doc/libsuitesparse-doc
 CHOLMOD/Doc/CHOLMOD*.bib /usr/share/doc/libsuitesparse-doc
 UMFPACK/Doc/UMFPACK*.pdf /usr/share/doc/libsuitesparse-doc
 UMFPACK/Doc/UMFPACK*.bib /usr/share/doc/libsuitesparse-doc
+SPQR/Doc/spqr_user_guide.pdf /usr/share/doc/libsuitesparse-doc
+SPQR/Doc/spqr_user_guide.bib /usr/share/doc/libsuitesparse-doc
diff --git a/debian/patches/SPQR_Lib_Makefile.diff b/debian/patches/SPQR_Lib_Makefile.diff
new file mode 100644
index 0000000..5e6d79e
--- /dev/null
+++ b/debian/patches/SPQR_Lib_Makefile.diff
@@ -0,0 +1,253 @@
+Description: <short description, required>
+ <long description that can span multiple lines, optional>
+Author: <name and email of author, optional>
+Origin: <upstream|backport|vendor|other>, <URL, required except if Author is present>
+Bug: <URL to the upstream bug report if any, implies patch has been forwarded, optional>
+Bug-<Vendor>: <URL to the vendor bug report if any, optional>
+Forwarded: <URL|no|not-needed, useless if you have a Bug field, optional>
+Applied-Upstream: <version|URL|commit, identifies patches merged upstream, optional>
+Reviewed-by: <name and email of a reviewer, optional>
+Last-Update: <YYYY-MM-DD, last update of the meta-information, optional>
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+--- a/SPQR/Lib/Makefile
++++ b/SPQR/Lib/Makefile
+@@ -37,7 +37,9 @@
+ # 	-Wredundant-decls -Wdisabled-optimization \
+ # 	-ansi -fexceptions
+ 
+-all: libspqr.a
++SOVERSION = $(shell perl ../../debian/library-soname.pl SPQR | sed 's/libspqr//')
++
++all: libspqr.a libspqr.so.$(SOVERSION)
+ 
+ library: libspqr.a
+ 
+@@ -48,6 +50,9 @@
+ 
+ clean:
+ 	- $(RM) $(CLEAN)
++	-$(RM) *.oo
++	-$(RM) *.a
++	-$(RM) *.so*
+ 
+ INC = ../Include/spqr.hpp ../Include/SuiteSparseQR_C.h \
+ 	../Include/SuiteSparseQR_definitions.h \
+@@ -95,7 +100,9 @@
+     spqr_type.o \
+     spqr_tol.o
+ 
+-$(OBJ): $(INC)
++OBJ_SL = $(subst .o,.oo,$(OBJ))
++
++$(OBJ) $(OBJ_SL): $(INC)
+ 
+ I = -I../../CHOLMOD/Include -I../../SuiteSparse_config -I../Include
+ 
+@@ -105,122 +112,206 @@
+ 	$(ARCHIVE)  libspqr.a $(OBJ)
+ 	- $(RANLIB) libspqr.a
+ 
++libspqr.so.$(SOVERSION): $(OBJ_SL)
++	$(CC) $(LDFLAGS) -shared $^ -lm -lblas -llapack ../../CHOLMOD/Lib/libcholmod.so ../../SuiteSparse_config/libsuitesparseconfig.a -Wl,-soname -Wl,$@ -o $@
++	ln -s $@ libspqr.so
++
+ spqr_1colamd.o: ../Source/spqr_1colamd.cpp
+ 	$(C) -c $<
++spqr_1colamd.oo: ../Source/spqr_1colamd.cpp
++	$(C) -fPIC -c $< -o $@
+ 
+ spqr_1factor.o: ../Source/spqr_1factor.cpp
+ 	$(C) -c $<
++spqr_1factor.oo: ../Source/spqr_1factor.cpp
++	$(C) -fPIC -c $< -o $@
+ 
+ spqr_1fixed.o: ../Source/spqr_1fixed.cpp
+ 	$(C) -c $<
++spqr_1fixed.oo: ../Source/spqr_1fixed.cpp
++	$(C) -fPIC -c $< -o $@
+ 
+ spqr_analyze.o: ../Source/spqr_analyze.cpp
+ 	$(C) -c $<
++spqr_analyze.oo: ../Source/spqr_analyze.cpp
++	$(C) -fPIC -c $< -o $@
+ 
+ spqr_parallel.o: ../Source/spqr_parallel.cpp
+ 	$(C) -c $<
++spqr_parallel.oo: ../Source/spqr_parallel.cpp
++	$(C) -fPIC -c $< -o $@
+ 
+ spqr_kernel.o: ../Source/spqr_kernel.cpp
+ 	$(C) -c $<
++spqr_kernel.oo: ../Source/spqr_kernel.cpp
++	$(C) -fPIC -c $< -o $@
+ 
+ spqr_append.o: ../Source/spqr_append.cpp
+ 	$(C) -c $<
++spqr_append.oo: ../Source/spqr_append.cpp
++	$(C) -fPIC -c $< -o $@
+ 
+ spqr_assemble.o: ../Source/spqr_assemble.cpp
+ 	$(C) -c $<
++spqr_assemble.oo: ../Source/spqr_assemble.cpp
++	$(C) -fPIC -c $< -o $@
+ 
+ spqr_cpack.o: ../Source/spqr_cpack.cpp
+ 	$(C) -c $<
++spqr_cpack.oo: ../Source/spqr_cpack.cpp
++	$(C) -fPIC -c $< -o $@
+ 
+ spqr_csize.o: ../Source/spqr_csize.cpp
+ 	$(C) -c $<
++spqr_csize.oo: ../Source/spqr_csize.cpp
++	$(C) -fPIC -c $< -o $@
+ 
+ spqr_cumsum.o: ../Source/spqr_cumsum.cpp
+ 	$(C) -c $<
++spqr_cumsum.oo: ../Source/spqr_cumsum.cpp
++	$(C) -fPIC -c $< -o $@
+ 
+ spqr_debug.o: ../Source/spqr_debug.cpp
+ 	$(C) -c $<
++spqr_debug.oo: ../Source/spqr_debug.cpp
++	$(C) -fPIC -c $< -o $@
+ 
+ spqr_factorize.o: ../Source/spqr_factorize.cpp
+ 	$(C) -c $<
++spqr_factorize.oo: ../Source/spqr_factorize.cpp
++	$(C) -fPIC -c $< -o $@
+ 
+ spqr_fcsize.o: ../Source/spqr_fcsize.cpp
+ 	$(C) -c $<
++spqr_fcsize.oo: ../Source/spqr_fcsize.cpp
++	$(C) -fPIC -c $< -o $@
+ 
+ spqr_freefac.o: ../Source/spqr_freefac.cpp
+ 	$(C) -c $<
++spqr_freefac.oo: ../Source/spqr_freefac.cpp
++	$(C) -fPIC -c $< -o $@
+ 
+ spqr_freenum.o: ../Source/spqr_freenum.cpp
+ 	$(C) -c $<
++spqr_freenum.oo: ../Source/spqr_freenum.cpp
++	$(C) -fPIC -c $< -o $@
+ 
+ spqr_freesym.o: ../Source/spqr_freesym.cpp
+ 	$(C) -c $<
++spqr_freesym.oo: ../Source/spqr_freesym.cpp
++	$(C) -fPIC -c $< -o $@
+ 
+ spqr_fsize.o: ../Source/spqr_fsize.cpp
+ 	$(C) -c $<
++spqr_fsize.oo: ../Source/spqr_fsize.cpp
++	$(C) -fPIC -c $< -o $@
+ 
+ spqr_happly.o: ../Source/spqr_happly.cpp
+ 	$(C) -c $<
++spqr_happly.oo: ../Source/spqr_happly.cpp
++	$(C) -fPIC -c $< -o $@
+ 
+ spqr_panel.o: ../Source/spqr_panel.cpp
+ 	$(C) -c $<
++spqr_panel.oo: ../Source/spqr_panel.cpp
++	$(C) -fPIC -c $< -o $@
+ 
+ spqr_happly_work.o: ../Source/spqr_happly_work.cpp
+ 	$(C) -c $<
++spqr_happly_work.oo: ../Source/spqr_happly_work.cpp
++	$(C) -fPIC -c $< -o $@
+ 
+ spqr_hpinv.o: ../Source/spqr_hpinv.cpp
+ 	$(C) -c $<
++spqr_hpinv.oo: ../Source/spqr_hpinv.cpp
++	$(C) -fPIC -c $< -o $@
+ 
+ spqr_larftb.o: ../Source/spqr_larftb.cpp
+ 	$(C) -c $<
++spqr_larftb.oo: ../Source/spqr_larftb.cpp
++	$(C) -fPIC -c $< -o $@
+ 
+ spqr_rconvert.o: ../Source/spqr_rconvert.cpp
+ 	$(C) -c $<
++spqr_rconvert.oo: ../Source/spqr_rconvert.cpp
++	$(C) -fPIC -c $< -o $@
+ 
+ spqr_rcount.o: ../Source/spqr_rcount.cpp
+ 	$(C) -c $<
++spqr_rcount.oo: ../Source/spqr_rcount.cpp
++	$(C) -fPIC -c $< -o $@
+ 
+ spqr_rhpack.o: ../Source/spqr_rhpack.cpp
+ 	$(C) -c $<
++spqr_rhpack.oo: ../Source/spqr_rhpack.cpp
++	$(C) -fPIC -c $< -o $@
+ 
+ spqr_rsolve.o: ../Source/spqr_rsolve.cpp
+ 	$(C) -c $<
++spqr_rsolve.oo: ../Source/spqr_rsolve.cpp
++	$(C) -fPIC -c $< -o $@
+ 
+ spqr_shift.o: ../Source/spqr_shift.cpp
+ 	$(C) -c $<
++spqr_shift.oo: ../Source/spqr_shift.cpp
++	$(C) -fPIC -c $< -o $@
+ 
+ spqr_stranspose1.o: ../Source/spqr_stranspose1.cpp
+ 	$(C) -c $<
++spqr_stranspose1.oo: ../Source/spqr_stranspose1.cpp
++	$(C) -fPIC -c $< -o $@
+ 
+ spqr_stranspose2.o: ../Source/spqr_stranspose2.cpp
+ 	$(C) -c $<
++spqr_stranspose2.oo: ../Source/spqr_stranspose2.cpp
++	$(C) -fPIC -c $< -o $@
+ 
+ spqr_trapezoidal.o: ../Source/spqr_trapezoidal.cpp
+ 	$(C) -c $<
++spqr_trapezoidal.oo: ../Source/spqr_trapezoidal.cpp
++	$(C) -fPIC -c $< -o $@
+ 
+ spqr_type.o: ../Source/spqr_type.cpp
+ 	$(C) -c $<
++spqr_type.oo: ../Source/spqr_type.cpp
++	$(C) -fPIC -c $< -o $@
+ 
+ spqr_front.o: ../Source/spqr_front.cpp
+ 	$(C) -c $<
++spqr_front.oo: ../Source/spqr_front.cpp
++	$(C) -fPIC -c $< -o $@
+ 
+ SuiteSparseQR_expert.o: ../Source/SuiteSparseQR_expert.cpp
+ 	$(C) -c $<
++SuiteSparseQR_expert.oo: ../Source/SuiteSparseQR_expert.cpp
++	$(C) -fPIC -c $< -o $@
+ 
+ spqr_maxcolnorm.o: ../Source/spqr_maxcolnorm.cpp
+ 	$(C) -c $<
++spqr_maxcolnorm.oo: ../Source/spqr_maxcolnorm.cpp
++	$(C) -fPIC -c $< -o $@
+ 
+ SuiteSparseQR_qmult.o: ../Source/SuiteSparseQR_qmult.cpp
+ 	$(C) -c $<
++SuiteSparseQR_qmult.oo: ../Source/SuiteSparseQR_qmult.cpp
++	$(C) -fPIC -c $< -o $@
+ 
+ SuiteSparseQR.o: ../Source/SuiteSparseQR.cpp
+ 	$(C) -c $<
++SuiteSparseQR.oo: ../Source/SuiteSparseQR.cpp
++	$(C) -fPIC -c $< -o $@
+ 
+ spqr_tol.o: ../Source/spqr_tol.cpp
+ 	$(C) -c $<
++spqr_tol.oo: ../Source/spqr_tol.cpp
++	$(C) -fPIC -c $< -o $@
+ 
+ SuiteSparseQR_C.o: ../Source/SuiteSparseQR_C.cpp
+ 	$(C) -c $<
++SuiteSparseQR_C.oo: ../Source/SuiteSparseQR_C.cpp
++	$(C) -fPIC -c $< -o $@
+ 
+ spqr_rmap.o: ../Source/spqr_rmap.cpp
+ 	$(C) -c $<
++spqr_rmap.oo: ../Source/spqr_rmap.cpp
++	$(C) -fPIC -c $< -o $@
diff --git a/debian/patches/series b/debian/patches/series
index 010c942..a4df113 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -15,3 +15,4 @@ buildflags.diff
 parallel-build.diff
 KLU_Demo_Makefile.diff
 Suitesparse_config_Makefile.diff
+SPQR_Lib_Makefile.diff
diff --git a/debian/rules b/debian/rules
index 625face..f07a2f7 100755
--- a/debian/rules
+++ b/debian/rules
@@ -12,7 +12,7 @@ DEB_MAKE_BUILD_TARGET    := default
 DEB_COMPRESS_EXCLUDE_ALL := .pdf
 
 # List of libraries provided by SuiteSparse
-LIBRARIES = AMD CAMD BTF COLAMD CCOLAMD CHOLMOD CSparse CXSparse KLU LDL UMFPACK
+LIBRARIES = AMD CAMD BTF COLAMD CCOLAMD CHOLMOD CSparse CXSparse KLU LDL UMFPACK SPQR
 # Generate variables like "AMD = libamd<soversion>"
 $(foreach lib, $(LIBRARIES), $(eval $(lib) = $(shell perl debian/library-soname.pl $(lib))))
 # Lists of lib*.install files

-- 
Debian packaging for suitesparse



More information about the debian-science-commits mailing list