[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#854338: unblock: petsc/3.7.5+dfsg1-4



Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock

Please unblock package petsc

A late bug report came in (#852514) noting that libpetsc3.7-dev was
leaving stray alternatives behind. Release 3.7.5+dfsg1-4 fixes the
problem. The bug was marked important, but I would actually treat it
as serious for violating policy.  This release should go into stretch,
or upgrades from stretch later on will be messier than they should be.

This release also tidies up recommended packages.

petsc 3.7.5+dfsg1-4 is built on all tier 1 architectures.

Bugs fixed:   #852514  important ("serious")

debdiff attached

unblock petsc/3.7.5+dfsg1-4

-- System Information:
Debian Release: 9.0
  APT prefers unstable
  APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.9.0-1-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_AU.UTF-8, LC_CTYPE=en_AU.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
diff -Nru petsc-3.7.5+dfsg1/debian/changelog petsc-3.7.5+dfsg1/debian/changelog
--- petsc-3.7.5+dfsg1/debian/changelog	2017-01-22 12:13:55.000000000 +0800
+++ petsc-3.7.5+dfsg1/debian/changelog	2017-02-06 05:03:51.000000000 +0800
@@ -1,3 +1,15 @@
+petsc (3.7.5+dfsg1-4) unstable; urgency=medium
+
+  * Don't duplicate -dev dependencies. -lhdf5 and -lsuperlu are
+    invoked in PETSc.pc, so we Depend on their dev packages, we don't
+    simply Recommend them.
+  * Move petsc3.7 and petsc3.7-real alternatives handling from
+    libpetsc3.7-dev to libpetsc3.7.5-dev. Similarly petsc3.7-complex. 
+    Otherwise alternatives for older patch versions are left unowned. 
+    Closes: #852514.
+
+ -- Drew Parsons <dparsons@debian.org>  Mon, 06 Feb 2017 05:03:51 +0800
+
 petsc (3.7.5+dfsg1-3) unstable; urgency=medium
 
   * Update libgfortran-5-dev dependency to gfortran to ensure 
diff -Nru petsc-3.7.5+dfsg1/debian/control petsc-3.7.5+dfsg1/debian/control
--- petsc-3.7.5+dfsg1/debian/control	2017-01-22 12:13:55.000000000 +0800
+++ petsc-3.7.5+dfsg1/debian/control	2017-02-06 05:03:51.000000000 +0800
@@ -45,12 +45,11 @@
 Depends: libpetsc3.7.5 (= ${binary:Version}), ${MPI:Depends}, libsuitesparse-dev, libspooles-dev,
  libhypre-dev (>= 2.0.0.dfsg-7), libptscotch-dev, libblacs-mpi-dev, libscalapack-mpi-dev,
  libmumps-dev, libfftw3-dev, libfftw3-mpi-dev, libssl-dev, gfortran,
- libhdf5-mpi-dev,
+ libhdf5-mpi-dev (>= 1.8.8), libsuperlu-dev (>= 5.2),
  ${misc:Depends}, ${python:Depends}
 Conflicts: libpetsc3.6.3-dev (<< 3.6.3.dfsg2-2), libpetsc-complex-3.6.3-dev (<< 3.6.3.dfsg2-2),
  libpetsc3.6.2-dev (<= 3.6.2.dfsg1-3), libpetsc-complex-3.6.2-dev (<= 3.6.2.dfsg1-3)
-Recommends: libhdf5-mpi-dev (>= 1.8.8), libsuperlu-dev (>= 5.2),
- tcsh | csh | c-shell, ksh | mksh | pdksh | zsh
+Recommends: tcsh | csh | c-shell, ksh | mksh | pdksh | zsh
 Suggests: petsc-dev (= ${binary:Version}), libpetsc3.7.5-dbg (= ${binary:Version}), petsc3.7.5-doc (= ${binary:Version}), libluminate-dev
 Description: Static libraries, shared links, header files for PETSc
  PETSc is the "Portable Extensible Toolkit for Scientific Computation", a suite
@@ -168,12 +167,11 @@
 Depends: libpetsc-complex-3.7.5 (= ${binary:Version}), ${MPI:Depends}, libsuitesparse-dev, libspooles-dev,
  libhypre-dev (>= 2.0.0.dfsg-7), libptscotch-dev, libblacs-mpi-dev, libscalapack-mpi-dev,
  libmumps-dev, libfftw3-dev, libfftw3-mpi-dev, libssl-dev, gfortran,
- libhdf5-mpi-dev,
+ libhdf5-mpi-dev (>= 1.8.8), libsuperlu-dev (>= 5.2),
  ${misc:Depends}, ${python:Depends}
 Conflicts: libpetsc-complex-3.6.3-dev (<< 3.6.3.dfsg2-2), libpetsc3.6.3-dev (<< 3.6.3.dfsg2-2),
  libpetsc3.6.2-dev (<= 3.6.2.dfsg1-3), libpetsc-complex-3.6.2-dev (<= 3.6.2.dfsg1-3)
-Recommends: libhdf5-mpi-dev (>= 1.8.8), libsuperlu-dev (>= 5.2),
- tcsh | csh | c-shell, ksh | mksh | pdksh | zsh
+Recommends: tcsh | csh | c-shell, ksh | mksh | pdksh | zsh
 Suggests: petsc-dev (= ${binary:Version}), libpetsc-complex-3.7.5-dbg (= ${binary:Version}), petsc3.7.5-doc (= ${binary:Version}), libluminate-dev
 Description: Static libraries, shared links, header files for PETSc
  PETSc is the "Portable Extensible Toolkit for Scientific Computation", a suite
diff -Nru petsc-3.7.5+dfsg1/debian/libpetsc3.7.5-dev.postinst petsc-3.7.5+dfsg1/debian/libpetsc3.7.5-dev.postinst
--- petsc-3.7.5+dfsg1/debian/libpetsc3.7.5-dev.postinst	2017-01-22 12:13:55.000000000 +0800
+++ petsc-3.7.5+dfsg1/debian/libpetsc3.7.5-dev.postinst	2017-02-06 05:03:51.000000000 +0800
@@ -2,6 +2,8 @@
 
 DEB_HOST_MULTIARCH=__DEB_HOST_MULTIARCH__
 
+SONAME=__PETSC_SONAME_VERSION__
+
 PETSC_VERSION=__PETSC_VERSION__
 PETSC_ARCH=${DEB_HOST_MULTIARCH}
 PETSC_REAL_ARCH=${PETSC_ARCH}-real
@@ -35,6 +37,13 @@
 # alternative base version of petsc real
 update-alternatives --install /usr/lib/${DEB_HOST_MULTIARCH}/libpetsc_real.so libpetsc_real.so /usr/lib/${DEB_HOST_MULTIARCH}/libpetsc_real.so.${PETSC_VERSION} ${PETSC_VERSION_NUMBER}77
 
+# alternative petsc for this X.Y soname (e.g. real or complex)
+update-alternatives --install /usr/lib/petscdir/${SONAME} petsc${SONAME} ${PETSC_DIR_REAL} ${PETSC_VERSION_NUMBER}77
+
+# alternative real petsc for this X.Y soname
+update-alternatives --install /usr/lib/petscdir/${SONAME}-real petsc${SONAME}-real ${PETSC_DIR_REAL} ${PETSC_VERSION_NUMBER}77
+
+
 fi
 
 
diff -Nru petsc-3.7.5+dfsg1/debian/libpetsc3.7.5-dev.prerm petsc-3.7.5+dfsg1/debian/libpetsc3.7.5-dev.prerm
--- petsc-3.7.5+dfsg1/debian/libpetsc3.7.5-dev.prerm	2017-01-22 12:13:55.000000000 +0800
+++ petsc-3.7.5+dfsg1/debian/libpetsc3.7.5-dev.prerm	2017-02-06 05:03:51.000000000 +0800
@@ -2,14 +2,23 @@
 
 DEB_HOST_MULTIARCH=__DEB_HOST_MULTIARCH__
 
+SONAME=__PETSC_SONAME_VERSION__
+
 PETSC_VERSION=__PETSC_VERSION__
 PETSC_ARCH=${DEB_HOST_MULTIARCH}
 PETSC_REAL_ARCH=${PETSC_ARCH}-real
 
+PETSC_DIR_REAL=/usr/lib/petscdir/${PETSC_VERSION}/${PETSC_REAL_ARCH}
+
 # Remove alternatives links
 if [ "$1" = "remove" ]; then
   update-alternatives --remove petsc /usr/lib/petscdir/${PETSC_VERSION}/${PETSC_REAL_ARCH}
   update-alternatives --remove libpetsc_real.so /usr/lib/${DEB_HOST_MULTIARCH}/libpetsc_real.so.${PETSC_VERSION}
+
+  # remove general X.Y soname alternatives
+  update-alternatives --remove petsc${SONAME} ${PETSC_DIR_REAL}
+  update-alternatives --remove petsc${SONAME}-real ${PETSC_DIR_REAL}
+
 fi
 
 #DEBHELPER#
diff -Nru petsc-3.7.5+dfsg1/debian/libpetsc3.7-dev.postinst petsc-3.7.5+dfsg1/debian/libpetsc3.7-dev.postinst
--- petsc-3.7.5+dfsg1/debian/libpetsc3.7-dev.postinst	2017-01-22 12:13:55.000000000 +0800
+++ petsc-3.7.5+dfsg1/debian/libpetsc3.7-dev.postinst	1970-01-01 08:00:00.000000000 +0800
@@ -1,25 +0,0 @@
-#!/bin/sh -e
-
-DEB_HOST_MULTIARCH=__DEB_HOST_MULTIARCH__
-
-PETSC_VERSION=__PETSC_VERSION__
-PETSC_ARCH=${DEB_HOST_MULTIARCH}
-PETSC_REAL_ARCH=${PETSC_ARCH}-real
-PETSC_VERSION_NUMBER=$( echo ${PETSC_VERSION} | sed "s/\.//g" )
-SONAME=__PETSC_SONAME_VERSION__
-
-PETSC_DIR_REAL=/usr/lib/petscdir/${PETSC_VERSION}/${PETSC_REAL_ARCH}
-
-# Make alternatives links
-if [ "$1" = "configure" ]; then
-
-# alternative petsc for this soname (e.g. real or complex)
-update-alternatives --install /usr/lib/petscdir/${SONAME} petsc${SONAME} ${PETSC_DIR_REAL} ${PETSC_VERSION_NUMBER}77
-
-# alternative real petsc for this soname
-update-alternatives --install /usr/lib/petscdir/${SONAME}-real petsc${SONAME}-real ${PETSC_DIR_REAL} ${PETSC_VERSION_NUMBER}77
-
-fi
-
-
-#DEBHELPER#
diff -Nru petsc-3.7.5+dfsg1/debian/libpetsc3.7-dev.prerm petsc-3.7.5+dfsg1/debian/libpetsc3.7-dev.prerm
--- petsc-3.7.5+dfsg1/debian/libpetsc3.7-dev.prerm	2017-01-22 12:13:55.000000000 +0800
+++ petsc-3.7.5+dfsg1/debian/libpetsc3.7-dev.prerm	1970-01-01 08:00:00.000000000 +0800
@@ -1,18 +0,0 @@
-#!/bin/sh -e
-
-DEB_HOST_MULTIARCH=__DEB_HOST_MULTIARCH__
-
-PETSC_VERSION=__PETSC_VERSION__
-PETSC_ARCH=${DEB_HOST_MULTIARCH}
-PETSC_REAL_ARCH=${PETSC_ARCH}-real
-SONAME=__PETSC_SONAME_VERSION__
-
-PETSC_DIR_REAL=/usr/lib/petscdir/${PETSC_VERSION}/${PETSC_REAL_ARCH}
-
-# Remove alternatives links
-if [ "$1" = "remove" ]; then
-  update-alternatives --remove petsc${SONAME} ${PETSC_DIR_REAL}
-  update-alternatives --remove petsc${SONAME}-real ${PETSC_DIR_REAL}
-fi
-
-#DEBHELPER#
diff -Nru petsc-3.7.5+dfsg1/debian/libpetsc-complex-3.7.5-dev.postinst petsc-3.7.5+dfsg1/debian/libpetsc-complex-3.7.5-dev.postinst
--- petsc-3.7.5+dfsg1/debian/libpetsc-complex-3.7.5-dev.postinst	2017-01-22 12:13:55.000000000 +0800
+++ petsc-3.7.5+dfsg1/debian/libpetsc-complex-3.7.5-dev.postinst	2017-02-06 05:03:51.000000000 +0800
@@ -2,6 +2,8 @@
 
 DEB_HOST_MULTIARCH=__DEB_HOST_MULTIARCH__
 
+SONAME=__PETSC_SONAME_VERSION__
+
 PETSC_VERSION=__PETSC_VERSION__
 PETSC_ARCH=${DEB_HOST_MULTIARCH}
 PETSC_COMPLEX_ARCH=${PETSC_ARCH}-complex
@@ -36,6 +38,12 @@
 # alternative base version of petsc complex
 update-alternatives --install /usr/lib/${DEB_HOST_MULTIARCH}/libpetsc_complex.so libpetsc_complex.so /usr/lib/${DEB_HOST_MULTIARCH}/libpetsc_complex.so.${PETSC_VERSION} ${PETSC_VERSION_NUMBER}73
 
+# alternative petsc for this X.Y soname (e.g. real or complex)
+update-alternatives --install /usr/lib/petscdir/${SONAME} petsc${SONAME} ${PETSC_DIR_COMPLEX} ${PETSC_VERSION_NUMBER}73
+
+# alternative complex petsc for this X.Y soname
+update-alternatives --install /usr/lib/petscdir/${SONAME}-complex petsc${SONAME}-complex ${PETSC_DIR_COMPLEX} ${PETSC_VERSION_NUMBER}73
+
 fi
 
 
diff -Nru petsc-3.7.5+dfsg1/debian/libpetsc-complex-3.7.5-dev.prerm petsc-3.7.5+dfsg1/debian/libpetsc-complex-3.7.5-dev.prerm
--- petsc-3.7.5+dfsg1/debian/libpetsc-complex-3.7.5-dev.prerm	2017-01-22 12:13:55.000000000 +0800
+++ petsc-3.7.5+dfsg1/debian/libpetsc-complex-3.7.5-dev.prerm	2017-02-06 05:03:51.000000000 +0800
@@ -2,14 +2,21 @@
 
 DEB_HOST_MULTIARCH=__DEB_HOST_MULTIARCH__
 
+SONAME=__PETSC_SONAME_VERSION__
+
 PETSC_VERSION=__PETSC_VERSION__
 PETSC_ARCH=${DEB_HOST_MULTIARCH}
 PETSC_COMPLEX_ARCH=${PETSC_ARCH}-complex
 
+PETSC_DIR_COMPLEX=/usr/lib/petscdir/${PETSC_VERSION}/${PETSC_COMPLEX_ARCH}
+
 # Remove alternatives links
 if [ "$1" = "remove" ]; then
   update-alternatives --remove petsc /usr/lib/petscdir/${PETSC_VERSION}/${PETSC_COMPLEX_ARCH}
   update-alternatives --remove libpetsc_complex.so /usr/lib/${DEB_HOST_MULTIARCH}/libpetsc_complex.so.${PETSC_VERSION}
+
+  update-alternatives --remove petsc${SONAME} ${PETSC_DIR_COMPLEX}
+  update-alternatives --remove petsc${SONAME}-complex ${PETSC_DIR_COMPLEX}
 fi
 
 #DEBHELPER#
diff -Nru petsc-3.7.5+dfsg1/debian/libpetsc-complex-3.7-dev.postinst petsc-3.7.5+dfsg1/debian/libpetsc-complex-3.7-dev.postinst
--- petsc-3.7.5+dfsg1/debian/libpetsc-complex-3.7-dev.postinst	2017-01-22 12:13:55.000000000 +0800
+++ petsc-3.7.5+dfsg1/debian/libpetsc-complex-3.7-dev.postinst	1970-01-01 08:00:00.000000000 +0800
@@ -1,25 +0,0 @@
-#!/bin/sh -e
-
-DEB_HOST_MULTIARCH=__DEB_HOST_MULTIARCH__
-
-PETSC_VERSION=__PETSC_VERSION__
-PETSC_ARCH=${DEB_HOST_MULTIARCH}
-PETSC_COMPLEX_ARCH=${PETSC_ARCH}-complex
-PETSC_VERSION_NUMBER=$( echo ${PETSC_VERSION} | sed "s/\.//g" )
-SONAME=__PETSC_SONAME_VERSION__
-
-PETSC_DIR_COMPLEX=/usr/lib/petscdir/${PETSC_VERSION}/${PETSC_COMPLEX_ARCH}
-
-# Make alternatives links
-if [ "$1" = "configure" ]; then
-
-# alternative petsc for this soname (e.g. real or complex)
-update-alternatives --install /usr/lib/petscdir/${SONAME} petsc${SONAME} ${PETSC_DIR_COMPLEX} ${PETSC_VERSION_NUMBER}73
-
-# alternative complex petsc for this soname
-update-alternatives --install /usr/lib/petscdir/${SONAME}-complex petsc${SONAME}-complex ${PETSC_DIR_COMPLEX} ${PETSC_VERSION_NUMBER}73
-
-fi
-
-
-#DEBHELPER#
diff -Nru petsc-3.7.5+dfsg1/debian/libpetsc-complex-3.7-dev.prerm petsc-3.7.5+dfsg1/debian/libpetsc-complex-3.7-dev.prerm
--- petsc-3.7.5+dfsg1/debian/libpetsc-complex-3.7-dev.prerm	2017-01-22 12:13:55.000000000 +0800
+++ petsc-3.7.5+dfsg1/debian/libpetsc-complex-3.7-dev.prerm	1970-01-01 08:00:00.000000000 +0800
@@ -1,18 +0,0 @@
-#!/bin/sh -e
-
-DEB_HOST_MULTIARCH=__DEB_HOST_MULTIARCH__
-
-PETSC_VERSION=__PETSC_VERSION__
-PETSC_ARCH=${DEB_HOST_MULTIARCH}
-PETSC_COMPLEX_ARCH=${PETSC_ARCH}-complex
-SONAME=__PETSC_SONAME_VERSION__
-
-PETSC_DIR_COMPLEX=/usr/lib/petscdir/${PETSC_VERSION}/${PETSC_COMPLEX_ARCH}
-
-# Remove alternatives links
-if [ "$1" = "remove" ]; then
-  update-alternatives --remove petsc${SONAME} ${PETSC_DIR_COMPLEX}
-  update-alternatives --remove petsc${SONAME}-complex ${PETSC_DIR_COMPLEX}
-fi
-
-#DEBHELPER#

Reply to: