[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