Package: slepc Version: 3.2 Severity: normal It will be very helpfull to have a shared library in dbg package. See the attached debian/rules to enable the shared lib creation in debug mode.
--- System information. --- Architecture: amd64 Kernel: Linux 3.2.0-4-amd64 Debian Release: 7.0 500 wheezy neuro.debian.net 500 testing-proposed-updates ftp.fr.debian.org 500 testing security.debian.org 500 testing http.us.debian.org 500 testing ftp.fr.debian.org 500 testing euler.lcmi.local 500 stable dl.google.com 500 squeeze apsy.gse.uni-magdeburg.de 500 intrepid ppa.launchpad.net 500 data neuro.debian.net 500 data apsy.gse.uni-magdeburg.de --- Package information. --- Package's Depends field is empty. Package's Recommends field is empty. Package's Suggests field is empty. -- Christophe TROPHIME Research Engineer LNCMI CNRS - LNCMI 25, rue des Martyrs BP 166 38042 GRENOBLE Cedex 9 FRANCE CNRS Tel : +33 (0)4 76 88 90 02 Fax : +33 (0) 4 76 88 10 01 Office U 19 M@il : christophe.troph...@lncmi.cnrs.fr ________________________________________________________________________
#!/usr/bin/make -f # Sample debian/rules file - for GNU Hello (1.3). # Copyright 1994,1995 by Ian Jackson. # I hereby give you perpetual unlimited permission to copy, # modify and relicense this file, provided that you do not remove # my name from the file itself. (I assert my moral right of # paternity under the Copyright, Designs and Patents Act 1988.) # This file may have to be extensively modified # This file is strongly based on debian/rules from the Debian PETSc package # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 # SLEPC_VERSION is used for the package names, library sonames, and # /usr/lib/slepcdir subdirectory names. SLEPC_VERSION=3.2 # SLEPC_NAME is the install dir under /usr/lib and the base for package names SLEPC_NAME=slepc$(SLEPC_VERSION) # PETSC_ARCH is the architecture that PETSc was configured on. PETSC_ARCH=$(DEB_BUILD_GNU_SYSTEM) # PETSC_DIR is the location of PETSc. PETSC_DIR=/usr/lib/petsc # These files need to be customized based on architecture and/or version. # See the binary arch target for how they are generated. ARCH_GENERATED_FILES=debian/lib$(SLEPC_NAME)-dev.postinst \ debian/lib$(SLEPC_NAME)-dev.prerm export CPPFLAGS=-I/usr/include/petsc clean: dh_testdir -if [ -e patch ]; then \ debian/rules unpatch; \ fi -mv tags thetags dh_clean -mv thetags tags rm -f build* install* $(ARCH_GENERATED_FILES) -$(MAKE) PETSC_ARCH=$(PETSC_ARCH)-c-debug PETSC_DIR=$(PETSC_DIR) \ SLEPC_DIR=$(CURDIR) allclean -$(MAKE) PETSC_ARCH=$(PETSC_ARCH)-c-opt PETSC_DIR=$(PETSC_DIR) \ SLEPC_DIR=$(CURDIR) allclean # These probably should be removed by `make clean' but aren't rm -f `find . -name \*.pyc -print` rm -rf $(PETSC_ARCH)-c-debug $(PETSC_ARCH)-c-opt rm -rf lib debian/extemp patch: if [ ! -e $@ ]; then \ QUILT_PATCHES=debian/patches quilt push -a || test $$? = 2; \ fi touch $@ unpatch: if [ -e patch ]; then \ QUILT_PATCHES=debian/patches quilt pop -a -R || test $$? = 2; \ rm -rf patch .pc; \ fi build-indep: patch # We have nothing to do by default. touch $@ # With debugging=1, only static libraries are generated. # Build optimized libs second so files are consistent with optimized. build-arch: patch PETSC_ARCH=$(PETSC_ARCH)-c-debug PETSC_DIR=$(PETSC_DIR) \ SLEPC_DIR=$(CURDIR) ./configure \ --with-arpack-dir=/usr/lib/debug/usr/lib \ --with-arpack-flags=-lparpack,-larpack $(MAKE) PETSC_ARCH=$(PETSC_ARCH)-c-debug PETSC_DIR=$(PETSC_DIR) \ SLEPC_INSTALL_DIR=/usr/lib/slepcdir/$(SLEPC_VERSION) \ SL_LINKER_SUFFIX_VERSIONED="so.$(SLEPC_VERSION)" \ SLEPC_DIR=$(CURDIR) PETSC_ARCH=$(PETSC_ARCH)-c-opt PETSC_DIR=$(PETSC_DIR) \ SLEPC_DIR=$(CURDIR) ./configure \ --with-arpack-dir=/usr/lib \ --with-arpack-flags=-lparpack,-larpack $(MAKE) PETSC_ARCH=$(PETSC_ARCH)-c-opt PETSC_DIR=$(PETSC_DIR) \ SLEPC_INSTALL_DIR=/usr/lib/slepcdir/$(SLEPC_VERSION) \ SL_LINKER_SUFFIX_VERSIONED="so.$(SLEPC_VERSION)" \ SLEPC_DIR=$(CURDIR) touch $@ build: build-arch build-indep touch $@ install-arch: build-arch # Install conf in PETSC_DIR install -d debian/lib$(SLEPC_NAME)-dev/usr/lib/slepcdir/$(SLEPC_VERSION)/conf for cfile in `ls conf`; do \ grep -v top_builddir conf/$$cfile | \ sed "s/`echo $(CURDIR) | sed s/\\\\//\\\\\\\\\\\\//g`/\/usr\/lib\/slepcdir\/$(SLEPC_VERSION)/g" > \ debian/lib$(SLEPC_NAME)-dev/usr/lib/slepcdir/$(SLEPC_VERSION)/conf/$$cfile ; \ done # Install PETSC_ARCH/conf and PETSC_ARCH/include files in SLEPC_DIR/PETSC_ARCH/; # replace this dir with install dir, and remove top_builddir install -d debian/lib$(SLEPC_NAME)-dev/usr/lib/slepcdir/$(SLEPC_VERSION)/$(PETSC_ARCH)-c-opt/conf for cfile in `ls $(PETSC_ARCH)-c-opt/conf`; do \ grep -v top_builddir $(PETSC_ARCH)-c-opt/conf/$$cfile | \ sed "s/`echo $(CURDIR) | sed s/\\\\//\\\\\\\\\\\\//g`/\/usr\/lib\/slepcdir\/$(SLEPC_VERSION)/g" > \ debian/lib$(SLEPC_NAME)-dev/usr/lib/slepcdir/$(SLEPC_VERSION)/$(PETSC_ARCH)-c-opt/conf/$$cfile ; \ done rm -f debian/lib$(SLEPC_NAME)-dev/usr/lib/slepcdir/$(SLEPC_VERSION)/$(PETSC_ARCH)-c-opt/conf/*.py cp -a $(PETSC_ARCH)-c-opt/include debian/lib$(SLEPC_NAME)-dev/usr/lib/slepcdir/$(SLEPC_VERSION)/$(PETSC_ARCH)-c-opt/ # Now conf and include for the -dbg package install -d debian/lib$(SLEPC_NAME)-dbg/usr/lib/slepcdir/$(SLEPC_VERSION)/$(PETSC_ARCH)-c-debug/conf for cfile in `ls $(PETSC_ARCH)-c-debug/conf`; do \ grep -v top_builddir $(PETSC_ARCH)-c-debug/conf/$$cfile | \ sed "s/`echo $(CURDIR) | sed s/\\\\//\\\\\\\\\\\\//g`/\/usr\/lib\/slepcdir\/$(SLEPC_VERSION)/g" > \ debian/lib$(SLEPC_NAME)-dbg/usr/lib/slepcdir/$(SLEPC_VERSION)/$(PETSC_ARCH)-c-debug/conf/$$cfile ; \ done rm -f debian/lib$(SLEPC_NAME)-dbg/usr/lib/slepcdir/$(SLEPC_VERSION)/$(PETSC_ARCH)-c-debug/conf/*.py cp -a $(PETSC_ARCH)-c-debug/include debian/lib$(SLEPC_NAME)-dbg/usr/lib/slepcdir/$(SLEPC_VERSION)/$(PETSC_ARCH)-c-debug/ # Install headers in SLEPC_DIR/include install -d debian/lib$(SLEPC_NAME)-dev/usr/lib/slepcdir/$(SLEPC_VERSION)/include/finclude cp -p include/*.h \ debian/lib$(SLEPC_NAME)-dev/usr/lib/slepcdir/$(SLEPC_VERSION)/include cp -p include/finclude/*.h include/finclude/*.h90 \ debian/lib$(SLEPC_NAME)-dev/usr/lib/slepcdir/$(SLEPC_VERSION)/include/finclude install -d debian/lib$(SLEPC_NAME)-dev/usr/lib/slepcdir/$(SLEPC_VERSION)/include/private cp -p include/private/*.h \ debian/lib$(SLEPC_NAME)-dev/usr/lib/slepcdir/$(SLEPC_VERSION)/include/private install -d debian/lib$(SLEPC_NAME)-dev/usr/lib/slepcdir/$(SLEPC_VERSION)/include/src/eps/impls/blopex sed "s/..\/src/src/" < src/eps/impls/external/blopex/slepc-interface.h > \ debian/lib$(SLEPC_NAME)-dev/usr/lib/slepcdir/$(SLEPC_VERSION)/include/src/eps/impls/blopex/slepc-interface.h install -d debian/lib$(SLEPC_NAME)-dev/usr/lib/slepcdir/$(SLEPC_VERSION)/include/src/eps/impls/arpack cp -p src/eps/impls/external/arpack/arpackp.h \ debian/lib$(SLEPC_NAME)-dev/usr/lib/slepcdir/$(SLEPC_VERSION)/include/src/eps/impls/arpack # Install libs in SLEPC_DIR, move shared libs to /usr/lib and symlink install -d debian/lib$(SLEPC_NAME)/usr/lib cp -a $(PETSC_ARCH)-c-opt/lib debian/lib$(SLEPC_NAME)-dev/usr/lib/slepcdir/$(SLEPC_VERSION)/$(PETSC_ARCH)-c-opt/ cp -a $(PETSC_ARCH)-c-debug/lib debian/lib$(SLEPC_NAME)-dbg/usr/lib/slepcdir/$(SLEPC_VERSION)/$(PETSC_ARCH)-c-debug/ for LIB in `cd $(PETSC_ARCH)-c-opt/lib && ls *.so.*` ; \ do \ mv debian/lib$(SLEPC_NAME)-dev/usr/lib/slepcdir/$(SLEPC_VERSION)/$(PETSC_ARCH)-c-opt/lib/$$LIB \ debian/lib$(SLEPC_NAME)/usr/lib/$$LIB ; \ ln -s ../../../../$$LIB \ debian/lib$(SLEPC_NAME)-dev/usr/lib/slepcdir/$(SLEPC_VERSION)/$(PETSC_ARCH)-c-opt/lib/$$LIB ; \ done # Make legacy symlinks including C++ install -d debian/lib$(SLEPC_NAME)-dev/usr/lib/slepcdir/$(SLEPC_VERSION)/lib ln -s ../$(PETSC_ARCH)-c-opt/lib debian/lib$(SLEPC_NAME)-dev/usr/lib/slepcdir/$(SLEPC_VERSION)/lib/libO ln -s ../$(PETSC_ARCH)-c-opt/lib debian/lib$(SLEPC_NAME)-dev/usr/lib/slepcdir/$(SLEPC_VERSION)/lib/libO_c++ install -d debian/lib$(SLEPC_NAME)-dbg/usr/lib/slepcdir/$(SLEPC_VERSION)/lib ln -s ../$(PETSC_ARCH)-c-debug/lib debian/lib$(SLEPC_NAME)-dbg/usr/lib/slepcdir/$(SLEPC_VERSION)/lib/libg ln -s ../$(PETSC_ARCH)-c-debug/lib debian/lib$(SLEPC_NAME)-dbg/usr/lib/slepcdir/$(SLEPC_VERSION)/lib/libg_c++ touch install-arch # Depends on install-arch because it creates SLEPC_DIR install-indep: build-indep install-arch ifeq ($(SLEPC_VERSION),3.2) # Install header documentation in -doc/include install -d debian/$(SLEPC_NAME)-doc/usr/share/doc/$(SLEPC_NAME)-doc/include/finclude cp -p include/*.html \ debian/$(SLEPC_NAME)-doc/usr/share/doc/$(SLEPC_NAME)-doc/include cp -p include/finclude/*.html \ debian/$(SLEPC_NAME)-doc/usr/share/doc/$(SLEPC_NAME)-doc/include/finclude install -d debian/$(SLEPC_NAME)-doc/usr/share/doc/$(SLEPC_NAME)-doc/include/private cp -p include/private/*.html \ debian/$(SLEPC_NAME)-doc/usr/share/doc/$(SLEPC_NAME)-doc/include/private for HEADERDOC in `cd debian/$(SLEPC_NAME)-doc/usr/share/doc/$(SLEPC_NAME)-doc/ && find include -name \*.h.html -print | sed s/.h.html/.h/`; \ do \ dh_link -p$(SLEPC_NAME)-doc \ usr/lib/slepcdir/$(SLEPC_VERSION)/$$HEADERDOC \ usr/share/doc/$(SLEPC_NAME)-doc/$$HEADERDOC; \ done # Install examples documentation in -doc/src directory for TESTDIR in `find src -name examples -print | sed "s/src\///"`; \ do \ install -d debian/$(SLEPC_NAME)-doc/usr/share/doc/$(SLEPC_NAME)-doc/src/$$TESTDIR; \ for TESTDOC in `find src/$$TESTDIR -name \*.html -print`; do \ cp -a $$TESTDOC \ debian/$(SLEPC_NAME)-doc/usr/share/doc/$(SLEPC_NAME)-doc/src/$$TESTDIR; \ done ; \ done # I don't know of a way to do this "recursively" -rmdir `find debian/slepc3.2-doc -empty -type d -print` -rmdir `find debian/slepc3.2-doc -empty -type d -print` -rmdir `find debian/slepc3.2-doc -empty -type d -print` -rmdir `find debian/slepc3.2-doc -empty -type d -print` # Install examples & makefiles into temporary directory debian/extemp for TESTDIR in `find src -name examples -print | sed "s/src\///"`; \ do \ install -d debian/extemp/src/$$TESTDIR; \ cp -a src/$$TESTDIR/* debian/extemp/src/$$TESTDIR; \ done for MAKEFILE in `find src -name makefile -print | sed "s/src\///"`; \ do \ if [ -d debian/extemp/src/`echo $$MAKEFILE | sed "s/makefile//"` ] ;\ then \ cp -p src/$$MAKEFILE debian/extemp/src/$$MAKEFILE; \ fi; \ done # Clean up documentation from debian/extemp rm -f `find debian/extemp -name \*.html -print` # Pack debian/extemp/src into src.tar.gz and install cd debian/extemp && tar czf src.tar.gz src mv debian/extemp/src.tar.gz \ debian/$(SLEPC_NAME)-doc/usr/share/doc/$(SLEPC_NAME)-doc/src.tar.gz rm -rf debian/extemp # Make links to documentation and examples from SLEPC_DIR and docs dh_link -p$(SLEPC_NAME)-doc \ usr/share/doc/$(SLEPC_NAME)-doc/docs \ usr/lib/slepcdir/$(SLEPC_VERSION)/docs \ usr/share/doc/$(SLEPC_NAME)-doc/docs/index.html \ usr/lib/slepcdir/$(SLEPC_VERSION)/index.html \ usr/share/doc/$(SLEPC_NAME)-doc/makefile.html \ usr/lib/slepcdir/$(SLEPC_VERSION)/makefile.html \ usr/share/doc/$(SLEPC_NAME)-doc/src \ usr/lib/slepcdir/$(SLEPC_VERSION)/src touch install-indep endif install: install-arch install-indep touch install binary-indep: install-indep ifeq ($(SLEPC_VERSION),3.2) dh_testdir -i dh_testroot -i dh_installdirs -i dh_installdocs -i # Clean up and finish rm -f `find debian/$(SLEPC_NAME)-doc -name ?akefile -print` rm -f `find debian/$(SLEPC_NAME)-doc -name *.cit* -print` rm -f `find debian/$(SLEPC_NAME)-doc -empty -type f -print` dh_installchangelogs -i dh_compress -i -X.xbm -X.pdf dh_fixperms -i dh_installdeb -i dh_gencontrol -i dh_md5sums -i dh_builddeb -i endif binary-arch: install-arch dh_testdir -a dh_testroot -a for ARCHGEN in $(ARCH_GENERATED_FILES); do \ rm -f $$ARCHGEN ; \ sed "s/petsc_arch/$(PETSC_ARCH)-c-opt/" < \ `echo "$$ARCHGEN.in" | sed "s/$(SLEPC_NAME)/slepc3.2/"` | \ sed "s/slepc_ver/$(SLEPC_VERSION)/" > $$ARCHGEN; \ done dh_installdirs -a dh_installdocs -a dh_installchangelogs -a dh_strip -a -Xlibg$(SLEPC_BOPT_EXTRA) --dbg-package=lib$(SLEPC_NAME)-dbg dh_makeshlibs -a -m$(SLEPC_VERSION) dh_compress -a dh_fixperms -a dh_installdeb -a dh_shlibdeps -a dh_gencontrol -a dh_md5sums -a dh_builddeb -a binary: binary-indep binary-arch DEB_SOURCE_PACKAGE = slepc DEB_UPSTREAM_VERSION = $(shell dpkg-parsechangelog | sed -ne 's/^Version: \(.*\)-.*/\1/p') DEB_STRIPPED_UPSTREAM_VERSION = $(shell echo $(DEB_UPSTREAM_VERSION) | sed -n -e 's/\.dfsg.*$$//p') USCAN_DESTDIR := $(CURDIR) .PHONY: binary binary-arch binary-indep clean checkroot get-orig-source get-orig-source: uscan --force-download --verbose --check-dirname-level 0 --destdir $(USCAN_DESTDIR) --download-version $(DEB_STRIPPED_UPSTREAM_VERSION) --upstream-version $(DEB_STRIPPED_UPSTREAM_VERSION) ; \ set -ex ; test -d $(DEB_SOURCE_PACKAGE)-$(DEB_UPSTREAM_VERSION).orig && rm -rf $(DEB_SOURCE_PACKAGE)-$(DEB_UPSTREAM_VERSION).orig ; \ TMPDIR=$(DEB_SOURCE_PACKAGE)-$(DEB_UPSTREAM_VERSION).orig; \ mkdir $$TMPDIR; \ cp $(USCAN_DESTDIR)/$(DEB_SOURCE_PACKAGE)_$(DEB_STRIPPED_UPSTREAM_VERSION).orig.tar.gz "$$TMPDIR" ; \ tar -C "$$TMPDIR" --strip-components 1 -xzf "$$TMPDIR"/$(DEB_SOURCE_PACKAGE)_$(DEB_STRIPPED_UPSTREAM_VERSION).orig.tar.gz ; \ rm -f "$$TMPDIR"/$(DEB_SOURCE_PACKAGE)*.tar.gz ; \ rm -f "$$TMPDIR"/docs/slepc.pdf ; \ GZIP=-9 tar -czf \ $(CURDIR)/$(DEB_SOURCE_PACKAGE)_$(DEB_UPSTREAM_VERSION).orig.tar.gz \ $(DEB_SOURCE_PACKAGE)-$(DEB_UPSTREAM_VERSION).orig ; \ rm -rf "$$TMPDIR"