This package is now empty on most architectures, probably due to a bug in the build rules provided by petsc. For some reason the shared library is created as libslepc.so and not as libslepc.so.3.0.0. This is masked by the way debian/rules is written, which ignores failures in many commands. I'm changing it to avoid that, and bumping the build- dependencies on petsc packages to the current version in the hope that this makes a difference. (I was not able to reproduce this failure with the current version.)
Ben. diff -u slepc-3.0.0-p7.dfsg/debian/rules slepc-3.0.0-p7.dfsg/debian/rules --- slepc-3.0.0-p7.dfsg/debian/rules +++ slepc-3.0.0-p7.dfsg/debian/rules @@ -32,43 +32,28 @@ export CPPFLAGS=-I/usr/include/petsc -clean: +include /usr/share/quilt/quilt.make + +clean: unpatch dh_testdir - -if [ -e patch ]; then \ - debian/rules unpatch; \ - fi - -mv tags thetags - dh_clean - -mv thetags tags + dh_clean -Xtags 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` + find . -name \*.pyc -delete 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 +build-indep: $(QUILT_STAMPFN) # 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 +build-arch: $(QUILT_STAMPFN) 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 @@ -90,27 +75,30 @@ 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 | \ + for cfile in conf/*; do \ + grep -v top_builddir $$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 ; \ + debian/lib$(SLEPC_NAME)-dev/usr/lib/slepcdir/$(SLEPC_VERSION)/$$cfile || \ + exit ; \ 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 | \ + for cfile in $(PETSC_ARCH)-c-opt/conf/*; do \ + grep -v top_builddir $$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 ; \ + debian/lib$(SLEPC_NAME)-dev/usr/lib/slepcdir/$(SLEPC_VERSION)/$$cfile || \ + exit ; \ 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 | \ + for cfile in $(PETSC_ARCH)-c-debug/conf/*; do \ + grep -v top_builddir $$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 ; \ + debian/lib$(SLEPC_NAME)-dbg/usr/lib/slepcdir/$(SLEPC_VERSION)/$$cfile || \ + exit ; \ 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/ @@ -133,12 +121,14 @@ 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.*` ; \ + for LIB in $(PETSC_ARCH)-c-opt/lib/*.so.* ; \ do \ + LIB="$$(basename "$$LIB")" && \ mv debian/lib$(SLEPC_NAME)-dev/usr/lib/slepcdir/$(SLEPC_VERSION)/$(PETSC_ARCH)-c-opt/lib/$$LIB \ - debian/lib$(SLEPC_NAME)/usr/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 ; \ + debian/lib$(SLEPC_NAME)-dev/usr/lib/slepcdir/$(SLEPC_VERSION)/$(PETSC_ARCH)-c-opt/lib/$$LIB || \ + exit ; \ done # Make legacy symlinks including C++ install -d debian/lib$(SLEPC_NAME)-dev/usr/lib/slepcdir/$(SLEPC_VERSION)/lib @@ -161,41 +151,48 @@ 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/`; \ + { cd debian/$(SLEPC_NAME)-doc/usr/share/doc/$(SLEPC_NAME)-doc/ && \ + find include -name \*.h.html -print | sed s/.h.html/.h/ ; } | \ + while read HEADERDOC; \ do \ dh_link -p$(SLEPC_NAME)-doc \ usr/lib/slepcdir/$(SLEPC_VERSION)/$$HEADERDOC \ - usr/share/doc/$(SLEPC_NAME)-doc/$$HEADERDOC; \ + usr/share/doc/$(SLEPC_NAME)-doc/$$HEADERDOC || \ + exit ; \ done # Install examples documentation in -doc/src directory - for TESTDIR in `find src -name examples -print | sed "s/src\///"`; \ + find src -name examples -print | sed "s/src\///" | \ + while read TESTDIR; \ 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 \ + install -d debian/$(SLEPC_NAME)-doc/usr/share/doc/$(SLEPC_NAME)-doc/src/$$TESTDIR && \ + find src/$$TESTDIR -name \*.html -print | \ + while read TESTDOC; do \ cp -a $$TESTDOC \ - debian/$(SLEPC_NAME)-doc/usr/share/doc/$(SLEPC_NAME)-doc/src/$$TESTDIR; \ - done ; \ + debian/$(SLEPC_NAME)-doc/usr/share/doc/$(SLEPC_NAME)-doc/src/$$TESTDIR || \ + exit ; \ + done || \ + exit ; \ done -# I don't know of a way to do this "recursively" - -rmdir `find debian/slepc3.0.0-doc -empty -type d -print` - -rmdir `find debian/slepc3.0.0-doc -empty -type d -print` - -rmdir `find debian/slepc3.0.0-doc -empty -type d -print` - -rmdir `find debian/slepc3.0.0-doc -empty -type d -print` +# Remove empty directories, recursively + find debian/slepc3.0.0-doc -empty -type d -delete # Install examples & makefiles into temporary directory debian/extemp - for TESTDIR in `find src -name examples -print | sed "s/src\///"`; \ + find src -name examples -print | sed "s/src\///" | \ + while read TESTDIR; \ do \ - install -d debian/extemp/src/$$TESTDIR; \ - cp -a src/$$TESTDIR/* debian/extemp/src/$$TESTDIR; \ + install -d debian/extemp/src/$$TESTDIR && \ + cp -a src/$$TESTDIR/* debian/extemp/src/$$TESTDIR || \ + exit ; \ done - for MAKEFILE in `find src -name makefile -print | sed "s/src\///"`; \ + find src -name makefile -print | sed "s/src\///" | \ + while read MAKEFILE; \ do \ if [ -d debian/extemp/src/`echo $$MAKEFILE | sed "s/makefile//"` ] ;\ then \ - cp -p src/$$MAKEFILE debian/extemp/src/$$MAKEFILE; \ + cp -p src/$$MAKEFILE debian/extemp/src/$$MAKEFILE || exit ; \ fi; \ done # Clean up documentation from debian/extemp - rm -f `find debian/extemp -name \*.html -print` + find debian/extemp -name \*.html -delete # 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 \ @@ -224,9 +221,9 @@ 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` + find debian/$(SLEPC_NAME)-doc -name ?akefile -delete + find debian/$(SLEPC_NAME)-doc -name *.cit* -delete + find debian/$(SLEPC_NAME)-doc -empty -type f -delete dh_installchangelogs -i dh_compress -i -X.xbm -X.pdf dh_fixperms -i @@ -240,10 +237,11 @@ dh_testdir -a dh_testroot -a for ARCHGEN in $(ARCH_GENERATED_FILES); do \ - rm -f $$ARCHGEN ; \ + rm -f $$ARCHGEN && \ sed "s/petsc_arch/$(PETSC_ARCH)-c-opt/" < \ `echo "$$ARCHGEN.in" | sed "s/$(SLEPC_NAME)/slepc3.0.0/"` | \ - sed "s/slepc_ver/$(SLEPC_VERSION)/" > $$ARCHGEN; \ + sed "s/slepc_ver/$(SLEPC_VERSION)/" > $$ARCHGEN || \ + exit ; \ done dh_installdirs -a dh_installdocs -a diff -u slepc-3.0.0-p7.dfsg/debian/changelog slepc-3.0.0-p7.dfsg/debian/changelog --- slepc-3.0.0-p7.dfsg/debian/changelog +++ slepc-3.0.0-p7.dfsg/debian/changelog @@ -1,3 +1,16 @@ +slepc (3.0.0-p7.dfsg-7.1) unstable; urgency=low + + * Non-maintainer upload (Possibly closes: #595396) + * Bump petsc build-dependency version to 3.1.dfsg-7 to fix build on kFreeBSD + * Fix potential silent failures in debian/rules: + - Do not suppress failure with '-' (except for 'make allclean') + + Use standard quilt rules instead of hand-rolling them + - Join commands with '&&' instead of ';' + - Use '|| exit' in loops + - Do not run commands in backticks + + -- Ben Hutchings <b...@decadent.org.uk> Sat, 30 Oct 2010 18:02:14 +0200 + slepc (3.0.0-p7.dfsg-7) unstable; urgency=low [Christophe Prud'homme] diff -u slepc-3.0.0-p7.dfsg/debian/control slepc-3.0.0-p7.dfsg/debian/control --- slepc-3.0.0-p7.dfsg/debian/control +++ slepc-3.0.0-p7.dfsg/debian/control @@ -2,7 +2,7 @@ Priority: extra Maintainer: Debian Science Maintainers <debian-science-maintain...@lists.alioth.debian.org> Uploaders: Christophe Prud'homme <prudh...@debian.org> -Build-Depends: debhelper (>= 7), quilt, python (>= 2.4.4-6), libpetsc3.1-dev (>= 3.1.dfsg-3), libpetsc3.1-dbg (>= 3.1.dfsg-3), libarpack2-dev, libarpack2-dbg, libhdf5-mpi-dev +Build-Depends: debhelper (>= 7), quilt, python (>= 2.4.4-6), libpetsc3.1-dev (>= 3.1.dfsg-7), libpetsc3.1-dbg (>= 3.1.dfsg-7), libarpack2-dev, libarpack2-dbg, libhdf5-mpi-dev Standards-Version: 3.8.4 Section: libs Homepage: http://www.grycap.upv.es/slepc/ --- END --- -- Ben Hutchings Once a job is fouled up, anything done to improve it makes it worse.
signature.asc
Description: This is a digitally signed message part