diff -Nru gsl-2.4+dfsg/debian/changelog gsl-2.4+dfsg/debian/changelog --- gsl-2.4+dfsg/debian/changelog 2017-08-05 22:59:00.000000000 +0000 +++ gsl-2.4+dfsg/debian/changelog 2017-08-09 15:07:24.000000000 +0000 @@ -1,8 +1,22 @@ -gsl (2.4+dfsg-3ubuntu1) artful; urgency=medium +gsl (2.4+dfsg-6) unstable; urgency=medium - * Add breaks/replaces for libgsl2/libgsl3. Closes: #870772. + * debian/control: Version is as 'Replaces: libgsl23 (<< 2.4+dfsg-4)' - -- Matthias Klose Sat, 05 Aug 2017 22:59:00 +0000 + -- Dirk Eddelbuettel Wed, 09 Aug 2017 10:07:24 -0500 + +gsl (2.4+dfsg-5) unstable; urgency=medium + + * debian/control: Add Replaces: libgsl23 to libgslcblas (Closes: #871269) + + -- Dirk Eddelbuettel Mon, 07 Aug 2017 09:37:37 -0500 + +gsl (2.4+dfsg-4) unstable; urgency=medium + + * debian/control: New package libgslcblas0 to contain the BLAS interface + library which never changes ABI (Closes: #870772) + * debian/control: Add Depends: libgslcblas0 to libgsl23 and libgsl-dev + + -- Dirk Eddelbuettel Sat, 05 Aug 2017 13:40:20 -0500 gsl (2.4+dfsg-3) unstable; urgency=medium diff -Nru gsl-2.4+dfsg/debian/control gsl-2.4+dfsg/debian/control --- gsl-2.4+dfsg/debian/control 2017-08-05 22:59:00.000000000 +0000 +++ gsl-2.4+dfsg/debian/control 2017-08-09 15:07:24.000000000 +0000 @@ -11,10 +11,9 @@ Architecture: any Multi-Arch: same Pre-Depends: ${misc:Pre-Depends} -Depends: ${shlibs:Depends}, ${misc:Depends} -Breaks: libgsl2 +Depends: ${shlibs:Depends}, ${misc:Depends}, libgslcblas0 (= ${binary:Version}) Conflicts: gsl, libgsl0, libgsl0ldbl -Replaces: gsl, libgsl0 (<= 1.9-4), libgsl0ldbl (<= 1.16+dfsg-4), libgsl2 +Replaces: gsl, libgsl0 (<= 1.9-4), libgsl0ldbl (<= 1.16+dfsg-4) Suggests: gsl-ref-psdoc | gsl-doc-pdf | gsl-doc-info | gsl-ref-html Description: GNU Scientific Library (GSL) -- library package The GNU Scientific Library (GSL) is a collection of routines for @@ -31,7 +30,35 @@ . This package provides the shared libraries required to run programs compiled with GNU GSL. To compile your own programs you also need to - install libgsl0-dev. + install libgsl-dev. + . + URL: http://www.gnu.org/software/gsl/ + +Package: libgslcblas0 +Section: libs +Architecture: any +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Depends: ${shlibs:Depends}, ${misc:Depends} +Conflicts: gsl, libgsl0, libgsl0ldbl, libgsl2 +Replaces: gsl, libgsl0 (<= 1.9-4), libgsl0ldbl (<= 1.16+dfsg-4), libgsl2, libgsl23 (<< 2.4+dfsg-4) +Suggests: gsl-ref-psdoc | gsl-doc-pdf | gsl-doc-info | gsl-ref-html +Description: GNU Scientific Library (GSL) -- blas library package + The GNU Scientific Library (GSL) is a collection of routines for + numerical analysis. The routines are written from scratch by the GSL + team in C, and present a modern API for C programmers, while allowing + wrappers to be written for very high level languages. + . + GSL includes data types and routines for complex numbers, vectors, + matrices, basic linear algebra subroutines (BLAS), eigensystems, + simulated annealing, minimization, root finding, pseudo-random + numbers, least-squares fitting, fast Fourier transforms (FFT), + differential equations, quadrature, Monte Carlo integration, special + functions, physical constants, and much more. + . + This package provides the shared blas library required to run programs + compiled with GNU GSL. To compile your own programs you also need to + install libgsl-dev. . URL: http://www.gnu.org/software/gsl/ @@ -39,7 +66,7 @@ Section: libdevel #Multi-Arch: same -- TODO resolve /usr/bin/gsl-config issue Architecture: any -Depends: libgsl23 (= ${binary:Version}), ${misc:Depends} +Depends: libgsl23 (= ${binary:Version}), libgslcblas0 (= ${binary:Version}), ${misc:Depends} Conflicts: gsl-dev, libgsl0-dev Replaces: gsl-dev, libgsl0 (<= 1.9-4), libgsl0-dev (<= 1.16+dfsg-4) Provides: libgsl0-dev @@ -87,7 +114,7 @@ wrappers to be written for very high level languages. . This package contains debugging symbol tables for the static GSL libraries - libgsl and libgslcblas from the libgsl0-dev package, and the binaries + libgsl and libgslcblas from the libgsl-dev package, and the binaries gsl-randist and gsl-histogram from the gsl-bin package. . URL: http://www.gnu.org/software/gsl/ diff -Nru gsl-2.4+dfsg/debian/IanJackson.patch gsl-2.4+dfsg/debian/IanJackson.patch --- gsl-2.4+dfsg/debian/IanJackson.patch 2008-10-29 14:46:43.000000000 +0000 +++ gsl-2.4+dfsg/debian/IanJackson.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,145 +0,0 @@ -diff -u orig/gsl-1.8/multimin/fminimizer.c gsl-1.8/multimin/fminimizer.c ---- orig/gsl-1.8/multimin/fminimizer.c 2005-06-26 14:25:35.000000000 +0100 -+++ gsl-1.8/multimin/fminimizer.c 2008-09-29 02:07:29.000000000 +0100 -@@ -90,7 +90,9 @@ - - gsl_vector_memcpy (s->x,x); - -- return (s->type->set) (s->state, s->f, s->x, &(s->size), step_size); -+ s->simplex_size_valid = 0; -+ -+ return (s->type->set) (s->state, s->f, s->x, step_size); - } - - void -@@ -105,7 +107,9 @@ - int - gsl_multimin_fminimizer_iterate (gsl_multimin_fminimizer * s) - { -- return (s->type->iterate) (s->state, s->f, s->x, &(s->size), &(s->fval)); -+ s->simplex_size_valid = 0; -+ -+ return (s->type->iterate) (s->state, s->f, s->x, &(s->fval)); - } - - const char * -@@ -128,7 +132,12 @@ - } - - double --gsl_multimin_fminimizer_size (const gsl_multimin_fminimizer * s) -+gsl_multimin_fminimizer_size (gsl_multimin_fminimizer * s) - { -- return s->size; -+ if (!s->simplex_size_valid) -+ { -+ s->simplex_size = (s->type->get_size) (s->state); -+ s->simplex_size_valid = 1; -+ } -+ return s->simplex_size; - } -Only in gsl-1.8/multimin: fminimizer.c~ -diff -u orig/gsl-1.8/multimin/gsl_multimin.h gsl-1.8/multimin/gsl_multimin.h ---- orig/gsl-1.8/multimin/gsl_multimin.h 2005-06-26 14:25:35.000000000 +0100 -+++ gsl-1.8/multimin/gsl_multimin.h 2008-09-29 02:08:17.000000000 +0100 -@@ -84,13 +84,12 @@ - int (*alloc) (void *state, size_t n); - int (*set) (void *state, gsl_multimin_function * f, - const gsl_vector * x, -- double * size, - const gsl_vector * step_size); - int (*iterate) (void *state, gsl_multimin_function * f, - gsl_vector * x, -- double * size, - double * fval); - void (*free) (void *state); -+ double (*get_size) (void *state); - } - gsl_multimin_fminimizer_type; - -@@ -103,7 +102,8 @@ - double fval; - gsl_vector * x; - -- double size; -+ int simplex_size_valid; -+ double simplex_size; - - void *state; - } -@@ -135,7 +135,7 @@ - gsl_multimin_fminimizer_minimum (const gsl_multimin_fminimizer * s); - - double --gsl_multimin_fminimizer_size (const gsl_multimin_fminimizer * s); -+gsl_multimin_fminimizer_size (gsl_multimin_fminimizer * s); - - /* Convergence test functions */ - -Only in gsl-1.8/multimin: gsl_multimin.h~ -diff -u orig/gsl-1.8/multimin/simplex.c gsl-1.8/multimin/simplex.c ---- orig/gsl-1.8/multimin/simplex.c 2005-06-26 14:25:35.000000000 +0100 -+++ gsl-1.8/multimin/simplex.c 2008-09-29 02:01:18.000000000 +0100 -@@ -150,8 +150,10 @@ - } - - static double --nmsimplex_size (nmsimplex_state_t * state) -+nmsimplex_get_size (void *vstate) - { -+ nmsimplex_state_t *state = (nmsimplex_state_t *) vstate; -+ - /* calculates simplex size as average sum of length of vectors - from simplex center to corner points: - -@@ -218,7 +220,7 @@ - static int - nmsimplex_set (void *vstate, gsl_multimin_function * f, - const gsl_vector * x, -- double *size, const gsl_vector * step_size) -+ const gsl_vector * step_size) - { - int status; - size_t i; -@@ -252,10 +254,6 @@ - gsl_vector_set (state->y1, i + 1, val); - } - -- /* Initialize simplex size */ -- -- *size = nmsimplex_size (state); -- - return GSL_SUCCESS; - } - -@@ -272,7 +270,7 @@ - - static int - nmsimplex_iterate (void *vstate, gsl_multimin_function * f, -- gsl_vector * x, double *size, double *fval) -+ gsl_vector * x, double *fval) - { - - /* Simplex iteration tries to minimize function f value */ -@@ -395,10 +393,6 @@ - gsl_matrix_get_row (x, x1, lo); - *fval = gsl_vector_get (y1, lo); - -- /* Update simplex size */ -- -- *size = nmsimplex_size (state); -- - return GSL_SUCCESS; - } - -@@ -408,7 +402,8 @@ - &nmsimplex_alloc, - &nmsimplex_set, - &nmsimplex_iterate, -- &nmsimplex_free -+ &nmsimplex_free, -+ &nmsimplex_get_size - }; - - const gsl_multimin_fminimizer_type -Only in gsl-1.8/multimin: simplex.c~ diff -Nru gsl-2.4+dfsg/debian/libgsl23.install gsl-2.4+dfsg/debian/libgsl23.install --- gsl-2.4+dfsg/debian/libgsl23.install 2015-07-18 21:04:59.000000000 +0000 +++ gsl-2.4+dfsg/debian/libgsl23.install 2017-08-05 18:08:11.000000000 +0000 @@ -1,2 +1 @@ usr/lib/*/libgsl.so.* -usr/lib/*/libgslcblas.so.* diff -Nru gsl-2.4+dfsg/debian/libgsl23.overrides gsl-2.4+dfsg/debian/libgsl23.overrides --- gsl-2.4+dfsg/debian/libgsl23.overrides 2017-07-27 11:59:12.000000000 +0000 +++ gsl-2.4+dfsg/debian/libgsl23.overrides 2017-08-05 18:08:31.000000000 +0000 @@ -1,4 +1 @@ -libgsl23: non-dev-pkg-with-shlib-symlink usr/lib/*/libgslcblas.so.0.0.0 usr/lib/*/libgslcblas.so -libgsl23: non-dev-pkg-with-shlib-symlink usr/lib/*/libgsl.so.0.10.0 usr/lib/*/libgsl.so -libgsl23: package-name-doesnt-match-sonames libgslcblas0 libgsl0 libgsl23: spelling-error-in-readme-debian Documentation Documentation (duplicate word) Documentation diff -Nru gsl-2.4+dfsg/debian/libgsl23.shlib gsl-2.4+dfsg/debian/libgsl23.shlib --- gsl-2.4+dfsg/debian/libgsl23.shlib 2017-07-27 11:59:12.000000000 +0000 +++ gsl-2.4+dfsg/debian/libgsl23.shlib 2017-08-05 18:09:24.000000000 +0000 @@ -1,2 +1 @@ libgsl 23 libgsl23 (>= 2.4) -libgslcblas 23 libgsl23 (>= 2.4) diff -Nru gsl-2.4+dfsg/debian/libgslcblas0.install gsl-2.4+dfsg/debian/libgslcblas0.install --- gsl-2.4+dfsg/debian/libgslcblas0.install 1970-01-01 00:00:00.000000000 +0000 +++ gsl-2.4+dfsg/debian/libgslcblas0.install 2017-08-05 18:08:17.000000000 +0000 @@ -0,0 +1 @@ +usr/lib/*/libgslcblas.so.* diff -Nru gsl-2.4+dfsg/debian/libgslcblas0.overrides gsl-2.4+dfsg/debian/libgslcblas0.overrides --- gsl-2.4+dfsg/debian/libgslcblas0.overrides 1970-01-01 00:00:00.000000000 +0000 +++ gsl-2.4+dfsg/debian/libgslcblas0.overrides 2017-08-05 18:08:52.000000000 +0000 @@ -0,0 +1 @@ +libgslcblas0: spelling-error-in-readme-debian Documentation Documentation (duplicate word) Documentation diff -Nru gsl-2.4+dfsg/debian/libgslcblas0.postinst gsl-2.4+dfsg/debian/libgslcblas0.postinst --- gsl-2.4+dfsg/debian/libgslcblas0.postinst 1970-01-01 00:00:00.000000000 +0000 +++ gsl-2.4+dfsg/debian/libgslcblas0.postinst 2017-08-05 18:09:03.000000000 +0000 @@ -0,0 +1,26 @@ +#!/bin/sh -e +# +# postinst script for the Debian GNU/Linux libgslcblas0 package +# +# Written and GPL'ed by Dirk Eddelbuettel + +#DEBHELPER# + +ldconfig + +case "$1" in + + configure) + ;; + + upgrade|abort-upgrade|abort-remove|abort-deconfigure) + ;; + + *) + echo "postinst called with unknown argument \`$1'" >&2 + ;; + +esac + +exit 0 + diff -Nru gsl-2.4+dfsg/debian/libgslcblas0.shlib gsl-2.4+dfsg/debian/libgslcblas0.shlib --- gsl-2.4+dfsg/debian/libgslcblas0.shlib 1970-01-01 00:00:00.000000000 +0000 +++ gsl-2.4+dfsg/debian/libgslcblas0.shlib 2017-08-05 18:09:16.000000000 +0000 @@ -0,0 +1 @@ +libgslcblas 0 libgslcblas0 (>= 2.4) diff -Nru gsl-2.4+dfsg/debian/MatthewVernon.patch gsl-2.4+dfsg/debian/MatthewVernon.patch --- gsl-2.4+dfsg/debian/MatthewVernon.patch 2008-10-29 14:38:09.000000000 +0000 +++ gsl-2.4+dfsg/debian/MatthewVernon.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,232 +0,0 @@ -diff -ruN unchanged/gsl-1.11+dfsg/debian/control gsl-1.11+dfsg/debian/control ---- unchanged/gsl-1.11+dfsg/debian/control 2008-10-29 11:35:22.000000000 +0000 -+++ gsl-1.11+dfsg/debian/control 2008-10-29 10:28:07.000000000 +0000 -@@ -73,3 +73,20 @@ - This package contains debugging symbol tables for the static GSL libraries - libgsl and libgslcblas from the libgsl0-dev package, and the binaries - gsl-randist and gsl-histogram from the gsl-bin package. -+ -+ -+Package: libgsl0-prof -+Section: libdevel -+Priority: extra -+Architecture: any -+Depends: libgsl0ldbl (= ${binary:Version}) -+Description: GNU Scientific Library (GSL) -- Profiling Libraries -+ The GNU Scientific Library (GSL) is a collection of routines for -+ numerical analysis. The routines are written from scratch by the GSL -+ team in C, and present a modern API for C programmers, while allowing -+ wrappers to be written for very high level languages. -+ . -+ This package contains static libraries compiled with profiling info (-pg) -+ suitable for use with gprof. -+ . -+ URL: http://www.gnu.org/software/gsl/ -diff -ruN unchanged/gsl-1.11+dfsg/debian/libgsl0ldbl.docs gsl-1.11+dfsg/debian/libgsl0ldbl.docs ---- unchanged/gsl-1.11+dfsg/debian/libgsl0ldbl.docs 1970-01-01 01:00:00.000000000 +0100 -+++ gsl-1.11+dfsg/debian/libgsl0ldbl.docs 2008-10-29 10:30:27.000000000 +0000 -@@ -0,0 +1,7 @@ -+AUTHORS -+NEWS -+README -+TODO -+BUGS -+THANKS -+SUPPORT -diff -ruN unchanged/gsl-1.11+dfsg/debian/libgsl0-prof.install gsl-1.11+dfsg/debian/libgsl0-prof.install ---- unchanged/gsl-1.11+dfsg/debian/libgsl0-prof.install 1970-01-01 01:00:00.000000000 +0100 -+++ gsl-1.11+dfsg/debian/libgsl0-prof.install 2008-10-29 10:31:12.000000000 +0000 -@@ -0,0 +1 @@ -+usr/lib/libgsl*p.a -diff -ruN unchanged/gsl-1.11+dfsg/debian/README.Debian gsl-1.11+dfsg/debian/README.Debian ---- unchanged/gsl-1.11+dfsg/debian/README.Debian 2008-10-29 11:35:22.000000000 +0000 -+++ gsl-1.11+dfsg/debian/README.Debian 2008-10-29 10:32:59.000000000 +0000 -@@ -1,3 +1,4 @@ -+ Documentation - - Documentation (in info or pdf format) is no longer provided by the - standard GNU GSL packages. Debian takes a hard stand on the -@@ -10,3 +11,25 @@ - apt-get and other tools can download from it. - - -- Dirk Eddelbuettel , Tue, 26 Aug 2008 18:21:00 -0500 -+ -+ Profiling GSL -+ -+Sometimes when writing complex code, you may want to profile it using -+gprof. In this case, having libraries with profiling information -+compiled in is invaluable. It is possible to build your own .deb -+containing profiling libraries, that may be installed on your system -+in parallel to the usual libraries. To do this, follow these simple -+instructions: -+ -+i) download the gsl source (and the build dependancies if necessary): -+apt-get source libgsl0 -+apt-get build-dep libgsl0 -+ii) build a binary profiling package: -+DEB_BUILD_OPTIONS=buildprof dpkg-buildpackage -b -rfakeroot -us -uc -+iii) install the resulting .deb -+dpkg -i ../libgsl0-prof_[version]_[arch].deb -+ -+Finally, you need to specify -lgsl_p and -lgslcblas_p to link your -+program against the profiling libraries. -+ -+ -- Matthew Vernon , Wed, 29 Oct 2008 10:34:19 +0000 -diff -ruN unchanged/gsl-1.11+dfsg/debian/rules gsl-1.11+dfsg/debian/rules ---- unchanged/gsl-1.11+dfsg/debian/rules 2008-10-29 11:35:22.000000000 +0000 -+++ gsl-1.11+dfsg/debian/rules 2008-10-29 11:32:48.000000000 +0000 -@@ -10,10 +10,12 @@ - devpack := libgsl$(sonum)-dev - dbgpack := libgsl$(sonum)-dbg - binpack := $(source)-bin -+profpack := libgsl$(sonum)-prof - #docpack := $(source)-doc-pdf - #debtmp := $(CURDIR)/debian/$(libpack) - debtmp := $(CURDIR)/debian/tmp - #debdoc := $(CURDIR)/debian/$(docpack) -+debprof := $(CURDIR)/debian/$(profpack) - arch := $(shell dpkg-architecture -qDEB_HOST_ARCH) - - -@@ -56,13 +58,31 @@ - CFLAGS += -mieee - endif - -+#setting DEB_BUILD_OPTIONS=buildprof means we build a package -+#consisting of static libraries (renamed to libfoo_p.a) with -+#profiling information in. -+ifneq (,$(findstring buildprof,$(DEB_BUILD_OPTIONS))) -+CONFIGTARGET = configure-prof-stamp -+INSTALLTARGET = install-prof-stamp -+BINARYTARGET = binary-prof -+CFLAGS += -pg -+export DH_OPTIONS =-N$(libpack) -N$(devpack) -N$(binpack) -N$(dbgpack) -p$(profpack) -+else -+CONFIGTARGET = configure-stamp -+INSTALLTARGET = install-stamp -+BINARYTARGET = binary-arch binary-indep -+export DH_OPTIONS =-N$(profpack) -+endif -+ - upstream: get-orig-source - get-orig-source: - #lynx ftp://sources.redhat.com/pub/gsl - #lynx http://mirrors.rcn.net/pub/sourceware/gsl - lynx http://www.network-theory.co.uk/download/gsl - --configure: configure-stamp -+ -+configure: $(CONFIGTARGET) -+ - configure-stamp: - dh_testdir - dh_testdir -@@ -90,6 +110,25 @@ - # end libtool rpath patch - touch configure-stamp - -+configure-prof-stamp: -+ dh_testdir -+ -+ ln -sf /usr/share/misc/config.sub . -+ ln -sf /usr/share/misc/config.guess . -+ rm -f config.cache -+ -+ [ -d doc ] || mkdir doc -+ cp -vax debian/Makefile.in.doc doc/Makefile.in -+ -+ ./configure CFLAGS="$(CFLAGS)" \ -+ --prefix=/usr \ -+ --disable-shared \ -+ --enable-static \ -+ --with-gnu-ld \ -+ $(CONFFLAGS) -+ touch configure-prof-stamp -+ -+ - build: configure build-stamp - build-stamp: - dh_testdir -@@ -132,15 +171,17 @@ - dh_testdir - dh_testroot - rm -f build-stamp install-stamp test-stamp build-doc-stamp \ -- configure-stamp install-doc-stamp -+ configure-stamp install-doc-stamp configure-prof-stamp \ -+ install-prof-stamp - rm -rf debian/static/ - -rm -f doc/*.pdf doc/*.dvi doc/*.log doc/*.ps - dh_clean lib/*so* build/*.so* -- [ ! -f Makefile ] || $(MAKE) distclean -+ [ ! -f Makefile ] || $(MAKE) distclean || true - rm -vf config.sub config.guess - rm -rf doc/ -+ rm -rf $(debtmp) $(debprof) - --install: test install-stamp -+install: test $(INSTALLTARGET) - install-stamp: - $(MAKE) -f debian/rules DH_OPTIONS= install-work - install-work: -@@ -174,6 +215,21 @@ - - touch install-stamp - -+install-prof-stamp: test-stamp -+ dh_testdir -+ dh_testroot -+ dh_clean -k -+ $(MAKE) prefix=$(debtmp)/usr \ -+ libdir=$(debtmp)/usr/lib \ -+ infodir=$(debtmp)/usr/share/info \ -+ includedir=$(debtmp)/usr/include \ -+ mandir=$(debtmp)/usr/share/man install -+ #rename the profiling libraries -+ for lib in $(debtmp)/usr/lib/*.a ;\ -+ do mv "$$lib" "$${lib%%.a}_p.a"; done -+ dh_install --sourcedir=$(debtmp) -+ touch install-prof-stamp -+ - - install-doc: install-doc-stamp - install-doc-stamp: build-doc -@@ -195,9 +251,7 @@ - dh_testroot - #dh_installdebconf - dh_link -- dh_installdocs -p$(libpack) AUTHORS NEWS README TODO \ -- BUGS THANKS SUPPORT \ -- debian/README.Debian -+ dh_installdocs - #dh_installexamples - #dh_installmenu - #dh_installemacsen -@@ -210,7 +264,7 @@ - dh_compress - dh_fixperms - # dh_strip -N$(devpack) -- dh_strip --sourcedir=debian/tmp --dbg-package=libgsl0-dbg -+ dh_strip -X_p.a --sourcedir=debian/tmp --dbg-package=libgsl0-dbg - #dh_suidregister - dh_makeshlibs - dh_installdeb -@@ -222,15 +276,16 @@ - - # Build architecture independant packages using the common target. - binary-indep: build-doc install-doc -- $(MAKE) -f debian/rules DH_OPTIONS=-i binary-common -+ $(MAKE) -f debian/rules DH_OPTIONS="-i -N$(profpack)" binary-common - - # Build architecture dependant packages using the common target. - binary-arch: build install -- $(MAKE) -f debian/rules DH_OPTIONS=-a binary-common -+ $(MAKE) -f debian/rules DH_OPTIONS="-a -N$(profpack)" binary-common - -+binary-prof: binary-common - # Any other binary targets build just one binary package at a time. - #binary-%: build install - # make -f debian/rules binary-common DH_OPTIONS=-p$* - --binary: binary-arch binary-indep -+binary: $(BINARYTARGET) - .PHONY: build build-doc clean binary-indep binary-arch binary install install-doc diff -Nru gsl-2.4+dfsg/debian/old/IanJackson.patch gsl-2.4+dfsg/debian/old/IanJackson.patch --- gsl-2.4+dfsg/debian/old/IanJackson.patch 1970-01-01 00:00:00.000000000 +0000 +++ gsl-2.4+dfsg/debian/old/IanJackson.patch 2008-10-29 14:46:43.000000000 +0000 @@ -0,0 +1,145 @@ +diff -u orig/gsl-1.8/multimin/fminimizer.c gsl-1.8/multimin/fminimizer.c +--- orig/gsl-1.8/multimin/fminimizer.c 2005-06-26 14:25:35.000000000 +0100 ++++ gsl-1.8/multimin/fminimizer.c 2008-09-29 02:07:29.000000000 +0100 +@@ -90,7 +90,9 @@ + + gsl_vector_memcpy (s->x,x); + +- return (s->type->set) (s->state, s->f, s->x, &(s->size), step_size); ++ s->simplex_size_valid = 0; ++ ++ return (s->type->set) (s->state, s->f, s->x, step_size); + } + + void +@@ -105,7 +107,9 @@ + int + gsl_multimin_fminimizer_iterate (gsl_multimin_fminimizer * s) + { +- return (s->type->iterate) (s->state, s->f, s->x, &(s->size), &(s->fval)); ++ s->simplex_size_valid = 0; ++ ++ return (s->type->iterate) (s->state, s->f, s->x, &(s->fval)); + } + + const char * +@@ -128,7 +132,12 @@ + } + + double +-gsl_multimin_fminimizer_size (const gsl_multimin_fminimizer * s) ++gsl_multimin_fminimizer_size (gsl_multimin_fminimizer * s) + { +- return s->size; ++ if (!s->simplex_size_valid) ++ { ++ s->simplex_size = (s->type->get_size) (s->state); ++ s->simplex_size_valid = 1; ++ } ++ return s->simplex_size; + } +Only in gsl-1.8/multimin: fminimizer.c~ +diff -u orig/gsl-1.8/multimin/gsl_multimin.h gsl-1.8/multimin/gsl_multimin.h +--- orig/gsl-1.8/multimin/gsl_multimin.h 2005-06-26 14:25:35.000000000 +0100 ++++ gsl-1.8/multimin/gsl_multimin.h 2008-09-29 02:08:17.000000000 +0100 +@@ -84,13 +84,12 @@ + int (*alloc) (void *state, size_t n); + int (*set) (void *state, gsl_multimin_function * f, + const gsl_vector * x, +- double * size, + const gsl_vector * step_size); + int (*iterate) (void *state, gsl_multimin_function * f, + gsl_vector * x, +- double * size, + double * fval); + void (*free) (void *state); ++ double (*get_size) (void *state); + } + gsl_multimin_fminimizer_type; + +@@ -103,7 +102,8 @@ + double fval; + gsl_vector * x; + +- double size; ++ int simplex_size_valid; ++ double simplex_size; + + void *state; + } +@@ -135,7 +135,7 @@ + gsl_multimin_fminimizer_minimum (const gsl_multimin_fminimizer * s); + + double +-gsl_multimin_fminimizer_size (const gsl_multimin_fminimizer * s); ++gsl_multimin_fminimizer_size (gsl_multimin_fminimizer * s); + + /* Convergence test functions */ + +Only in gsl-1.8/multimin: gsl_multimin.h~ +diff -u orig/gsl-1.8/multimin/simplex.c gsl-1.8/multimin/simplex.c +--- orig/gsl-1.8/multimin/simplex.c 2005-06-26 14:25:35.000000000 +0100 ++++ gsl-1.8/multimin/simplex.c 2008-09-29 02:01:18.000000000 +0100 +@@ -150,8 +150,10 @@ + } + + static double +-nmsimplex_size (nmsimplex_state_t * state) ++nmsimplex_get_size (void *vstate) + { ++ nmsimplex_state_t *state = (nmsimplex_state_t *) vstate; ++ + /* calculates simplex size as average sum of length of vectors + from simplex center to corner points: + +@@ -218,7 +220,7 @@ + static int + nmsimplex_set (void *vstate, gsl_multimin_function * f, + const gsl_vector * x, +- double *size, const gsl_vector * step_size) ++ const gsl_vector * step_size) + { + int status; + size_t i; +@@ -252,10 +254,6 @@ + gsl_vector_set (state->y1, i + 1, val); + } + +- /* Initialize simplex size */ +- +- *size = nmsimplex_size (state); +- + return GSL_SUCCESS; + } + +@@ -272,7 +270,7 @@ + + static int + nmsimplex_iterate (void *vstate, gsl_multimin_function * f, +- gsl_vector * x, double *size, double *fval) ++ gsl_vector * x, double *fval) + { + + /* Simplex iteration tries to minimize function f value */ +@@ -395,10 +393,6 @@ + gsl_matrix_get_row (x, x1, lo); + *fval = gsl_vector_get (y1, lo); + +- /* Update simplex size */ +- +- *size = nmsimplex_size (state); +- + return GSL_SUCCESS; + } + +@@ -408,7 +402,8 @@ + &nmsimplex_alloc, + &nmsimplex_set, + &nmsimplex_iterate, +- &nmsimplex_free ++ &nmsimplex_free, ++ &nmsimplex_get_size + }; + + const gsl_multimin_fminimizer_type +Only in gsl-1.8/multimin: simplex.c~ diff -Nru gsl-2.4+dfsg/debian/old/MatthewVernon.patch gsl-2.4+dfsg/debian/old/MatthewVernon.patch --- gsl-2.4+dfsg/debian/old/MatthewVernon.patch 1970-01-01 00:00:00.000000000 +0000 +++ gsl-2.4+dfsg/debian/old/MatthewVernon.patch 2008-10-29 14:38:09.000000000 +0000 @@ -0,0 +1,232 @@ +diff -ruN unchanged/gsl-1.11+dfsg/debian/control gsl-1.11+dfsg/debian/control +--- unchanged/gsl-1.11+dfsg/debian/control 2008-10-29 11:35:22.000000000 +0000 ++++ gsl-1.11+dfsg/debian/control 2008-10-29 10:28:07.000000000 +0000 +@@ -73,3 +73,20 @@ + This package contains debugging symbol tables for the static GSL libraries + libgsl and libgslcblas from the libgsl0-dev package, and the binaries + gsl-randist and gsl-histogram from the gsl-bin package. ++ ++ ++Package: libgsl0-prof ++Section: libdevel ++Priority: extra ++Architecture: any ++Depends: libgsl0ldbl (= ${binary:Version}) ++Description: GNU Scientific Library (GSL) -- Profiling Libraries ++ The GNU Scientific Library (GSL) is a collection of routines for ++ numerical analysis. The routines are written from scratch by the GSL ++ team in C, and present a modern API for C programmers, while allowing ++ wrappers to be written for very high level languages. ++ . ++ This package contains static libraries compiled with profiling info (-pg) ++ suitable for use with gprof. ++ . ++ URL: http://www.gnu.org/software/gsl/ +diff -ruN unchanged/gsl-1.11+dfsg/debian/libgsl0ldbl.docs gsl-1.11+dfsg/debian/libgsl0ldbl.docs +--- unchanged/gsl-1.11+dfsg/debian/libgsl0ldbl.docs 1970-01-01 01:00:00.000000000 +0100 ++++ gsl-1.11+dfsg/debian/libgsl0ldbl.docs 2008-10-29 10:30:27.000000000 +0000 +@@ -0,0 +1,7 @@ ++AUTHORS ++NEWS ++README ++TODO ++BUGS ++THANKS ++SUPPORT +diff -ruN unchanged/gsl-1.11+dfsg/debian/libgsl0-prof.install gsl-1.11+dfsg/debian/libgsl0-prof.install +--- unchanged/gsl-1.11+dfsg/debian/libgsl0-prof.install 1970-01-01 01:00:00.000000000 +0100 ++++ gsl-1.11+dfsg/debian/libgsl0-prof.install 2008-10-29 10:31:12.000000000 +0000 +@@ -0,0 +1 @@ ++usr/lib/libgsl*p.a +diff -ruN unchanged/gsl-1.11+dfsg/debian/README.Debian gsl-1.11+dfsg/debian/README.Debian +--- unchanged/gsl-1.11+dfsg/debian/README.Debian 2008-10-29 11:35:22.000000000 +0000 ++++ gsl-1.11+dfsg/debian/README.Debian 2008-10-29 10:32:59.000000000 +0000 +@@ -1,3 +1,4 @@ ++ Documentation + + Documentation (in info or pdf format) is no longer provided by the + standard GNU GSL packages. Debian takes a hard stand on the +@@ -10,3 +11,25 @@ + apt-get and other tools can download from it. + + -- Dirk Eddelbuettel , Tue, 26 Aug 2008 18:21:00 -0500 ++ ++ Profiling GSL ++ ++Sometimes when writing complex code, you may want to profile it using ++gprof. In this case, having libraries with profiling information ++compiled in is invaluable. It is possible to build your own .deb ++containing profiling libraries, that may be installed on your system ++in parallel to the usual libraries. To do this, follow these simple ++instructions: ++ ++i) download the gsl source (and the build dependancies if necessary): ++apt-get source libgsl0 ++apt-get build-dep libgsl0 ++ii) build a binary profiling package: ++DEB_BUILD_OPTIONS=buildprof dpkg-buildpackage -b -rfakeroot -us -uc ++iii) install the resulting .deb ++dpkg -i ../libgsl0-prof_[version]_[arch].deb ++ ++Finally, you need to specify -lgsl_p and -lgslcblas_p to link your ++program against the profiling libraries. ++ ++ -- Matthew Vernon , Wed, 29 Oct 2008 10:34:19 +0000 +diff -ruN unchanged/gsl-1.11+dfsg/debian/rules gsl-1.11+dfsg/debian/rules +--- unchanged/gsl-1.11+dfsg/debian/rules 2008-10-29 11:35:22.000000000 +0000 ++++ gsl-1.11+dfsg/debian/rules 2008-10-29 11:32:48.000000000 +0000 +@@ -10,10 +10,12 @@ + devpack := libgsl$(sonum)-dev + dbgpack := libgsl$(sonum)-dbg + binpack := $(source)-bin ++profpack := libgsl$(sonum)-prof + #docpack := $(source)-doc-pdf + #debtmp := $(CURDIR)/debian/$(libpack) + debtmp := $(CURDIR)/debian/tmp + #debdoc := $(CURDIR)/debian/$(docpack) ++debprof := $(CURDIR)/debian/$(profpack) + arch := $(shell dpkg-architecture -qDEB_HOST_ARCH) + + +@@ -56,13 +58,31 @@ + CFLAGS += -mieee + endif + ++#setting DEB_BUILD_OPTIONS=buildprof means we build a package ++#consisting of static libraries (renamed to libfoo_p.a) with ++#profiling information in. ++ifneq (,$(findstring buildprof,$(DEB_BUILD_OPTIONS))) ++CONFIGTARGET = configure-prof-stamp ++INSTALLTARGET = install-prof-stamp ++BINARYTARGET = binary-prof ++CFLAGS += -pg ++export DH_OPTIONS =-N$(libpack) -N$(devpack) -N$(binpack) -N$(dbgpack) -p$(profpack) ++else ++CONFIGTARGET = configure-stamp ++INSTALLTARGET = install-stamp ++BINARYTARGET = binary-arch binary-indep ++export DH_OPTIONS =-N$(profpack) ++endif ++ + upstream: get-orig-source + get-orig-source: + #lynx ftp://sources.redhat.com/pub/gsl + #lynx http://mirrors.rcn.net/pub/sourceware/gsl + lynx http://www.network-theory.co.uk/download/gsl + +-configure: configure-stamp ++ ++configure: $(CONFIGTARGET) ++ + configure-stamp: + dh_testdir + dh_testdir +@@ -90,6 +110,25 @@ + # end libtool rpath patch + touch configure-stamp + ++configure-prof-stamp: ++ dh_testdir ++ ++ ln -sf /usr/share/misc/config.sub . ++ ln -sf /usr/share/misc/config.guess . ++ rm -f config.cache ++ ++ [ -d doc ] || mkdir doc ++ cp -vax debian/Makefile.in.doc doc/Makefile.in ++ ++ ./configure CFLAGS="$(CFLAGS)" \ ++ --prefix=/usr \ ++ --disable-shared \ ++ --enable-static \ ++ --with-gnu-ld \ ++ $(CONFFLAGS) ++ touch configure-prof-stamp ++ ++ + build: configure build-stamp + build-stamp: + dh_testdir +@@ -132,15 +171,17 @@ + dh_testdir + dh_testroot + rm -f build-stamp install-stamp test-stamp build-doc-stamp \ +- configure-stamp install-doc-stamp ++ configure-stamp install-doc-stamp configure-prof-stamp \ ++ install-prof-stamp + rm -rf debian/static/ + -rm -f doc/*.pdf doc/*.dvi doc/*.log doc/*.ps + dh_clean lib/*so* build/*.so* +- [ ! -f Makefile ] || $(MAKE) distclean ++ [ ! -f Makefile ] || $(MAKE) distclean || true + rm -vf config.sub config.guess + rm -rf doc/ ++ rm -rf $(debtmp) $(debprof) + +-install: test install-stamp ++install: test $(INSTALLTARGET) + install-stamp: + $(MAKE) -f debian/rules DH_OPTIONS= install-work + install-work: +@@ -174,6 +215,21 @@ + + touch install-stamp + ++install-prof-stamp: test-stamp ++ dh_testdir ++ dh_testroot ++ dh_clean -k ++ $(MAKE) prefix=$(debtmp)/usr \ ++ libdir=$(debtmp)/usr/lib \ ++ infodir=$(debtmp)/usr/share/info \ ++ includedir=$(debtmp)/usr/include \ ++ mandir=$(debtmp)/usr/share/man install ++ #rename the profiling libraries ++ for lib in $(debtmp)/usr/lib/*.a ;\ ++ do mv "$$lib" "$${lib%%.a}_p.a"; done ++ dh_install --sourcedir=$(debtmp) ++ touch install-prof-stamp ++ + + install-doc: install-doc-stamp + install-doc-stamp: build-doc +@@ -195,9 +251,7 @@ + dh_testroot + #dh_installdebconf + dh_link +- dh_installdocs -p$(libpack) AUTHORS NEWS README TODO \ +- BUGS THANKS SUPPORT \ +- debian/README.Debian ++ dh_installdocs + #dh_installexamples + #dh_installmenu + #dh_installemacsen +@@ -210,7 +264,7 @@ + dh_compress + dh_fixperms + # dh_strip -N$(devpack) +- dh_strip --sourcedir=debian/tmp --dbg-package=libgsl0-dbg ++ dh_strip -X_p.a --sourcedir=debian/tmp --dbg-package=libgsl0-dbg + #dh_suidregister + dh_makeshlibs + dh_installdeb +@@ -222,15 +276,16 @@ + + # Build architecture independant packages using the common target. + binary-indep: build-doc install-doc +- $(MAKE) -f debian/rules DH_OPTIONS=-i binary-common ++ $(MAKE) -f debian/rules DH_OPTIONS="-i -N$(profpack)" binary-common + + # Build architecture dependant packages using the common target. + binary-arch: build install +- $(MAKE) -f debian/rules DH_OPTIONS=-a binary-common ++ $(MAKE) -f debian/rules DH_OPTIONS="-a -N$(profpack)" binary-common + ++binary-prof: binary-common + # Any other binary targets build just one binary package at a time. + #binary-%: build install + # make -f debian/rules binary-common DH_OPTIONS=-p$* + +-binary: binary-arch binary-indep ++binary: $(BINARYTARGET) + .PHONY: build build-doc clean binary-indep binary-arch binary install install-doc diff -Nru gsl-2.4+dfsg/debian/rules gsl-2.4+dfsg/debian/rules --- gsl-2.4+dfsg/debian/rules 2017-07-27 11:59:12.000000000 +0000 +++ gsl-2.4+dfsg/debian/rules 2017-08-05 18:11:09.000000000 +0000 @@ -7,6 +7,7 @@ sonum := 23 #libpack := libgsl$(sonum)ldbl libpack := libgsl$(sonum) +libcblas := libgslcblas0 #devpack := $(libpack)-dev #devpack := libgsl$(sonum)-dev #dbgpack := libgsl$(sonum)-dbg @@ -77,7 +78,7 @@ INSTALLTARGET = install-prof-stamp BINARYTARGET = binary-prof CFLAGS += -pg -export DH_OPTIONS =-N$(libpack) -N$(devpack) -N$(binpack) -N$(dbgpack) -p$(profpack) +export DH_OPTIONS =-N$(libpack) -N$(libcblas) -N$(devpack) -N$(binpack) -N$(dbgpack) -p$(profpack) else CONFIGTARGET = configure-stamp INSTALLTARGET = install-stamp @@ -219,6 +220,7 @@ # debian/gsl-randist.1 # move static libs into dev-package and binaries into bin package dh_install --sourcedir=debian/tmp -p$(libpack) + dh_install --sourcedir=debian/tmp -p$(libcblas) dh_install --sourcedir=debian/tmp -p$(devpack) dh_install --sourcedir=debian/tmp -p$(binpack)