[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:06 UTC 2013


The following commit has been merged in the master branch:
commit 5ee232132e62efc6e6dbb14bdd796eaa1a732237
Author: Sébastien Villemot <sebastien at debian.org>
Date:   Mon Apr 29 15:48:49 2013 +0200

    Ensure that shared libraries have no missing symbol or dependency

diff --git a/debian/changelog b/debian/changelog
index 2a4fd92..7de8c21 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -31,6 +31,10 @@ suitesparse (1:4.2.0-1) experimental; urgency=low
     - remove obsolete ATLAS specialized libraries (Closes: #645846)
     - add libopenblas-dev as a BLAS alternative (Closes: #645844)
   * Bump to Standards-Version 3.9.4, no changes needed
+  * Suitesparse_config_Makefile.diff: new patch, creates a PIC version
+    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
 
  -- Christophe Trophime <christophe.trophime at lncmi.cnrs.fr>  Mon, 10 Sep 2012 16:40:47 +0200
 
diff --git a/debian/patches/06-BTF_Lib_Makefile.diff b/debian/patches/06-BTF_Lib_Makefile.diff
index 37bf458..b564e98 100644
--- a/debian/patches/06-BTF_Lib_Makefile.diff
+++ b/debian/patches/06-BTF_Lib_Makefile.diff
@@ -2,10 +2,8 @@ Build shared version of BTF library
 
  -- Daniel Rus Morales <danirus at tol-project.org>  Tue, 17 Jul 2007 12:15:41 +0200
 
-Index: suitesparse-4.0.2/BTF/Lib/Makefile
-===================================================================
---- suitesparse-4.0.2.orig/BTF/Lib/Makefile	2012-09-11 10:25:16.000000000 +0200
-+++ suitesparse-4.0.2/BTF/Lib/Makefile	2012-09-11 10:40:01.304227769 +0200
+--- a/BTF/Lib/Makefile
++++ b/BTF/Lib/Makefile
 @@ -15,38 +15,58 @@
  
  all: library
@@ -25,7 +23,7 @@ Index: suitesparse-4.0.2/BTF/Lib/Makefile
  
 -$(OBJ): $(INC)
 +libbtf.so.$(SOVERSION): $(OBJ_SL)
-+	$(CC) $(LDFLAGS) -shared $^ -lm -Wl,-soname -Wl,$@ -o $@
++	$(CC) $(LDFLAGS) -shared $^ -Wl,-soname -Wl,$@ -o $@
 +	ln -s $@ libbtf.so
 +
 +$(OBJ) $(OBJ_SL): $(INC)
diff --git a/debian/patches/08-LDL_Lib_Makefile.diff b/debian/patches/08-LDL_Lib_Makefile.diff
index 327c3b2..2b04597 100644
--- a/debian/patches/08-LDL_Lib_Makefile.diff
+++ b/debian/patches/08-LDL_Lib_Makefile.diff
@@ -2,10 +2,8 @@ Build shared version of LDL library
 
  -- Daniel Rus Morales <danirus at tol-project.org>  Tue, 17 Jul 2007 12:15:41 +0200
 
-Index: suitesparse-4.0.2/LDL/Lib/Makefile
-===================================================================
---- suitesparse-4.0.2.orig/LDL/Lib/Makefile	2012-09-10 21:22:09.864246217 +0200
-+++ suitesparse-4.0.2/LDL/Lib/Makefile	2012-09-10 21:28:57.196229088 +0200
+--- a/LDL/Lib/Makefile
++++ b/LDL/Lib/Makefile
 @@ -10,7 +10,9 @@
  
  C = $(CC) $(CF) $(I)
@@ -24,7 +22,7 @@ Index: suitesparse-4.0.2/LDL/Lib/Makefile
 +libldl.so.$(SOVERSION): ../Source/ldl.c ../Include/ldl.h
 +	$(C) -fPIC -c ../Source/ldl.c -o ldl.oo
 +	$(C) -fPIC -DLDL_LONG -c ../Source/ldl.c -o ldll.oo
-+	$(C) $(LDFLAGS) -shared *.oo -lm -Wl,-soname -Wl,$@ -o $@
++	$(C) $(LDFLAGS) -shared *.oo -Wl,-soname -Wl,$@ -o $@
 +	ln -s $@ libldl.so
 +
  distclean: purge
diff --git a/debian/patches/11-UMFPACK_Lib_GNUmakefile.diff b/debian/patches/11-UMFPACK_Lib_GNUmakefile.diff
index 2ee92e4..daac4df 100644
--- a/debian/patches/11-UMFPACK_Lib_GNUmakefile.diff
+++ b/debian/patches/11-UMFPACK_Lib_GNUmakefile.diff
@@ -2,10 +2,8 @@ Build shared version of UMFPACK library
 
  -- Daniel Rus Morales <danirus at tol-project.org>  Tue, 17 Jul 2007 12:15:41 +0200
 
-Index: suitesparse-4.0.2/UMFPACK/Lib/GNUmakefile
-===================================================================
---- suitesparse-4.0.2.orig/UMFPACK/Lib/GNUmakefile	2012-09-11 11:57:34.000000000 +0200
-+++ suitesparse-4.0.2/UMFPACK/Lib/GNUmakefile	2012-09-11 13:05:20.444589224 +0200
+--- a/UMFPACK/Lib/GNUmakefile
++++ b/UMFPACK/Lib/GNUmakefile
 @@ -2,7 +2,9 @@
  # UMFPACK Makefile for compiling on Unix systems (for GNU Make)
  #-------------------------------------------------------------------------------
@@ -261,7 +259,7 @@ Index: suitesparse-4.0.2/UMFPACK/Lib/GNUmakefile
  
  #-------------------------------------------------------------------------------
  # Create the generic routines (GN) using a generic rule
-@@ -248,17 +342,20 @@
+@@ -248,6 +342,8 @@
  
  umfpack_gn_%.o: ../Source/umfpack_%.c $(INC)
  	$(C) -c $< -o $@
@@ -270,17 +268,14 @@ Index: suitesparse-4.0.2/UMFPACK/Lib/GNUmakefile
  
  #-------------------------------------------------------------------------------
  # Create the libumfpack.a library
- #-------------------------------------------------------------------------------
- 
- libumfpack.a: $(II) $(LL) $(GN) $(DI) $(DL) $(ZI) $(ZL)
--	$(ARCHIVE)  libumfpack.a $^
-+	$(ARCHIVE)  libumfpack.a $^
+@@ -257,8 +353,9 @@
+ 	$(ARCHIVE)  libumfpack.a $^
  	- $(RANLIB) libumfpack.a
  
 -so: $(II) $(LL) $(GN) $(DI) $(DL) $(ZI) $(ZL)
 -	gcc -shared -Wl,-soname,libumfpack.so -o libumfpack.so $^
 +libumfpack.so.$(SOVERSION): $(II_SL) $(LL_SL) $(GN_SL) $(DI_SL) $(DL_SL) $(ZI_SL) $(ZL_SL)
-+	$(CC) $(LDFLAGS) -shared $^ -lm -lblas ../../AMD/Lib/libamd.so -Wl,-soname -Wl,$@ -o $@
++	$(CC) $(LDFLAGS) -shared $^ -lm -lblas ../../AMD/Lib/libamd.so ../../CHOLMOD/Lib/libcholmod.so ../../SuiteSparse_config/libsuitesparseconfig_pic.a -Wl,-soname -Wl,$@ -o $@
 +	ln -s $@ libumfpack.so
  
  #-------------------------------------------------------------------------------
diff --git a/debian/patches/12-CHOLMOD_Lib_Makefile.diff b/debian/patches/12-CHOLMOD_Lib_Makefile.diff
index 3a207a5..7d83217 100644
--- a/debian/patches/12-CHOLMOD_Lib_Makefile.diff
+++ b/debian/patches/12-CHOLMOD_Lib_Makefile.diff
@@ -111,7 +111,7 @@ Build shared version of CHOLMOD library.
  
 -$(OBJ): $(INC)
 +libcholmod.so.$(SOVERSION): $(OBJ_SL)
-+	$(CC) $(LDFLAGS) -shared $^ -lblas -llapack ../../AMD/Lib/libamd.so ../../COLAMD/Lib/libcolamd.so -lm  -Wl,-soname -Wl,$@ -o $@
++	$(CC) $(LDFLAGS) -shared $^ -lblas -llapack ../../AMD/Lib/libamd.so ../../COLAMD/Lib/libcolamd.so ../../CAMD/Lib/libcamd.so ../../CCOLAMD/Lib/libccolamd.so -lm ../../SuiteSparse_config/libsuitesparseconfig_pic.a -lrt -Wl,-soname -Wl,$@ -o $@
 +	ln -s $@ libcholmod.so
 +
 +$(OBJ) $(OBJ_SL): $(INC)
diff --git a/debian/patches/KLU_Demo_Makefile.diff b/debian/patches/KLU_Demo_Makefile.diff
new file mode 100644
index 0000000..bb140e2
--- /dev/null
+++ b/debian/patches/KLU_Demo_Makefile.diff
@@ -0,0 +1,22 @@
+Description: Compile CAMD and CCOLAMD before KLU
+ Since KLU depends on these two libraries, they must be compiled before KLU in
+ order to create correct dependencies between shared libraries.
+Author: Sébastien Villemot <sebastien at debian.org>
+Forwarded: not-needed
+Last-Update: 2013-04-29
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+--- a/KLU/Demo/Makefile
++++ b/KLU/Demo/Makefile
+@@ -42,9 +42,9 @@
+ 	( cd ../../COLAMD ; $(MAKE) library )
+ 
+ ../../CHOLMOD/Lib/libcholmod.a:
++	( cd ../../CAMD ; $(MAKE) library )
++	( cd ../../CCOLAMD ; $(MAKE) library )
+ 	( cd ../../CHOLMOD ; $(MAKE) library )
+-#	( cd ../../CAMD ; $(MAKE) )
+-#	( cd ../../CCOLAMD ; $(MAKE) )
+ #	( cd ../../metis-4.0 ; $(MAKE) )
+ 
+ ../../SuiteSparse_config/libsuitesparseconfig.a:
diff --git a/debian/patches/Suitesparse_config_Makefile.diff b/debian/patches/Suitesparse_config_Makefile.diff
new file mode 100644
index 0000000..e15eac1
--- /dev/null
+++ b/debian/patches/Suitesparse_config_Makefile.diff
@@ -0,0 +1,33 @@
+Description: Create a PIC version of libsuitesparse_config
+ This will be embedded in the shared libraries which need it. Note that creating
+ a separate shared library package for this would have been an overkill, since
+ there is only one (small) source file.
+Author: Sébastien Villemot <sebastien at debian.org>
+Forwarded: not-needed
+Last-Update: 2013-04-29
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+--- a/SuiteSparse_config/Makefile
++++ b/SuiteSparse_config/Makefile
+@@ -8,7 +8,7 @@
+ 
+ include SuiteSparse_config.mk
+ 
+-ccode: libsuitesparseconfig.a
++ccode: libsuitesparseconfig.a libsuitesparseconfig_pic.a
+ 
+ all: libsuitesparseconfig.a
+ 
+@@ -20,6 +20,12 @@
+ 	$(RANLIB) libsuitesparseconfig.a
+ 	- $(RM) SuiteSparse_config.o
+ 
++libsuitesparseconfig_pic.a: SuiteSparse_config.c SuiteSparse_config.h
++	$(CC) $(CF) -fPIC -o SuiteSparse_config.oo -c SuiteSparse_config.c
++	$(ARCHIVE) libsuitesparseconfig_pic.a SuiteSparse_config.oo
++	$(RANLIB) libsuitesparseconfig_pic.a
++	- $(RM) SuiteSparse_config.oo
++
+ distclean: purge
+ 
+ purge: clean
diff --git a/debian/patches/series b/debian/patches/series
index 93e70e2..010c942 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -13,3 +13,5 @@
 13-UFconfig_UFconfig.mk.diff
 buildflags.diff
 parallel-build.diff
+KLU_Demo_Makefile.diff
+Suitesparse_config_Makefile.diff

-- 
Debian packaging for suitesparse



More information about the debian-science-commits mailing list