Bug#1065217: libpetsc-complex3.19-dev fails to install

Steve Langasek vorlon at debian.org
Mon Mar 4 00:16:08 GMT 2024


Attached is a patch for a follow-up NMU correcting this issue.

On Sat, Mar 02, 2024 at 02:15:57AM +0200, Adrian Bunk wrote:
> Package: libpetsc-complex3.19-dev
> Version: 3.19.6+dfsg1-2.1
> Severity: serious
> Tags: ftbfs
> X-Debbugs-Cc: Benjamin Drung <bdrung at debian.org>, Steve Langasek <vorlon at debian.org>
> Control: affects -1 src:slepc
> 
> https://buildd.debian.org/status/fetch.php?pkg=slepc&arch=amd64&ver=3.19.2%2Bdfsg1-2.1&stamp=1709337662&raw=0
> 
> ...
> Setting up libpetsc-complex3.19-dev:amd64 (3.19.6+dfsg1-2.1) ...
> update-alternatives: error: no alternatives for petsc
> update-alternatives: error: alternative path /usr/lib/petscdir/petsc3.19t64/x86_64-linux-gnu-complex doesn't exist
> dpkg: error processing package libpetsc-complex3.19-dev:amd64 (--configure):
>  installed libpetsc-complex3.19-dev:amd64 package post-installation script subprocess returned error exit status 2
> ...
> 

-- 
Steve Langasek                   Give me a lever long enough and a Free OS
Debian Developer                   to set it on, and I can move the world.
Ubuntu Developer                                   https://www.debian.org/
slangasek at ubuntu.com                                     vorlon at debian.org
-------------- next part --------------
diff -Nru petsc-3.19.6+dfsg1/debian/changelog petsc-3.19.6+dfsg1/debian/changelog
--- petsc-3.19.6+dfsg1/debian/changelog	2024-01-21 06:41:21.000000000 +0000
+++ petsc-3.19.6+dfsg1/debian/changelog	2024-03-03 21:40:10.000000000 +0000
@@ -1,3 +1,18 @@
+petsc (3.19.6+dfsg1-2.2) unstable; urgency=medium
+
+  * Non-maintainer upload.
+  * Fix extraneous X-Time64-Compat declarations.
+  * Fix substitution of soname in maintainer scripts.  Closes: #1065217.
+
+ -- Steve Langasek <vorlon at debian.org>  Sun, 03 Mar 2024 21:40:10 +0000
+
+petsc (3.19.6+dfsg1-2.1) unstable; urgency=medium
+
+  * Non-maintainer upload.
+  * Rename libraries for 64-bit time_t transition.  Closes: #1064332
+
+ -- Benjamin Drung <bdrung at debian.org>  Thu, 29 Feb 2024 20:22:10 +0000
+
 petsc (3.19.6+dfsg1-2) unstable; urgency=medium
 
   * Update debian/patches/soname_extension to also add a define PETSC_LIB_EXT,
diff -Nru petsc-3.19.6+dfsg1/debian/control petsc-3.19.6+dfsg1/debian/control
--- petsc-3.19.6+dfsg1/debian/control	2024-01-21 06:41:21.000000000 +0000
+++ petsc-3.19.6+dfsg1/debian/control	2024-03-03 21:34:32.000000000 +0000
@@ -4,7 +4,7 @@
 Maintainer: Debian Science Maintainers <debian-science-maintainers at lists.alioth.debian.org>
 Uploaders: "Adam C. Powell, IV" <hazelsct at debian.org>, Drew Parsons <dparsons at debian.org>
 Standards-Version: 4.6.2
-Build-Depends: debhelper-compat (= 13), python3, gfortran,
+Build-Depends: dpkg-dev (>= 1.22.5), debhelper-compat (= 13), python3, gfortran,
  pkg-config, dh-python,
  dh-fortran-mod,
  gdb,
@@ -86,7 +86,7 @@
 Multi-Arch: same
 Architecture: any
 Section: libdevel
-Depends: libpetsc-real3.19 (= ${binary:Version}),
+Depends: libpetsc-real3.19t64 (= ${binary:Version}),
  libpetsc3.19-dev-common (= ${source:Version}),
  ${MPI:Depends},
  libhypre-dev (>= 2.15.1),
@@ -99,7 +99,7 @@
 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: libpetsc3.19-dev-examples, ksh | mksh | pdksh | zsh
-Suggests: petsc-dev, libpetsc-real3.19-dbg (= ${binary:Version}), petsc3.19-doc, libluminate-dev
+Suggests: petsc-dev, libpetsc-real3.19t64-dbg (= ${binary:Version}), petsc3.19-doc, libluminate-dev
 Description: Static libraries, shared links, header files for PETSc
  PETSc is the "Portable Extensible Toolkit for Scientific
  Computation", a suite of data structures and routines for the
@@ -112,16 +112,16 @@
  This package provides the development files for building applications
  using PETSc 3.19 with real numbers.
 
-Package: libpetsc-real3.19
+Package: libpetsc-real3.19t64
 Architecture: any
 Multi-Arch: same
 Section: libs
-Provides: libpetsc3.19
+Provides: ${t64:Provides}, libpetsc3.19
 Pre-Depends: ${misc:Pre-Depends}
 Depends: ${shlibs:Depends}, ${misc:Depends}
 Conflicts: libpetsc3.6 (<< 3.6.2.dfsg1-4)
-Breaks: libpetsc-real3.10, libslepc-real3.10, libpetsc3.10-dev-common, libpetsc3.10-dev-examples
-Replaces: libpetsc3.6 (<< 3.6.2.dfsg1-4)
+Breaks: libpetsc-real3.19 (<< ${source:Version}), libpetsc-real3.10, libslepc-real3.10, libpetsc3.10-dev-common, libpetsc3.10-dev-examples
+Replaces: libpetsc-real3.19, libpetsc3.6 (<< 3.6.2.dfsg1-4)
 Description: Shared libraries for version 3.19 of PETSc
  PETSc is the "Portable Extensible Toolkit for Scientific
  Computation", a suite of data structures and routines for the
@@ -133,7 +133,7 @@
  .
  This package contains the PETSc 3.19 shared library for real numbers.
  .
- It provides soname libpetsc-real3.19
+ It provides soname libpetsc-real3.19t64
 
 Package: libpetsc3.19-dev-common
 Architecture: all
@@ -173,7 +173,7 @@
 Depends: ${misc:Depends}, ${python3:Depends},
  libjs-mathjax
 Recommends: ksh | mksh | pdksh | zsh,
- libpetsc-real3.19-dev | libpetsc-complex3.19-dev | libpetsc-real3.19-dbg | libpetsc-complex3.19-dbg
+ libpetsc-real3.19-dev | libpetsc-complex3.19-dev | libpetsc-real3.19t64-dbg | libpetsc-complex3.19t64-dbg
 Suggests: petsc3.19-doc
 Description: Static libraries, shared links, header files for PETSc
  PETSc is the "Portable Extensible Toolkit for Scientific
@@ -186,7 +186,9 @@
  .
  This package provides example, test, and tutorial scripts for PETSc 3.19.
 
-Package: libpetsc-real3.19-dbg
+Package: libpetsc-real3.19t64-dbg
+Replaces: libpetsc-real3.19-dbg
+Breaks: libpetsc-real3.19-dbg (<< ${source:Version})
 Architecture: any
 Multi-Arch: same
 Section: debug
@@ -198,7 +200,8 @@
  ${misc:Depends}, ${shlibs:Depends},
  python3, ${python3:Depends}
 Recommends: libpetsc3.19-dev-examples, ksh | mksh | pdksh | zsh
-Provides: petsc3.19-dbg
+X-Time64-Compat: libpetsc-real3.19-dbg
+Provides: ${t64:Provides}, petsc3.19-dbg
 Description: Debugging libraries for PETSc
  PETSc is the "Portable Extensible Toolkit for Scientific
  Computation", a suite of data structures and routines for the
@@ -235,7 +238,7 @@
 Architecture: any
 Multi-Arch: same
 Section: libdevel
-Depends: libpetsc-complex3.19 (= ${binary:Version}),
+Depends: libpetsc-complex3.19t64 (= ${binary:Version}),
  libpetsc3.19-dev-common (= ${source:Version}),
  ${MPI:Depends},
  libmumps-dev,
@@ -246,7 +249,7 @@
 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: libpetsc3.19-dev-examples, ksh | mksh | pdksh | zsh
-Suggests: petsc-dev, libpetsc-complex3.19-dbg (= ${binary:Version}), petsc3.19-doc, libluminate-dev
+Suggests: petsc-dev, libpetsc-complex3.19t64-dbg (= ${binary:Version}), petsc3.19-doc, libluminate-dev
 Description: Static libraries, shared links, header files for PETSc
  PETSc is the "Portable Extensible Toolkit for Scientific
  Computation", a suite of data structures and routines for the
@@ -261,15 +264,16 @@
  .
  Note HYPRE is not supported with PETSc complex.
 
-Package: libpetsc-complex3.19
+Package: libpetsc-complex3.19t64
+Provides: ${t64:Provides}
 Architecture: any
 Multi-Arch: same
 Section: libs
 Pre-Depends: ${misc:Pre-Depends}
 Depends: ${shlibs:Depends}, ${misc:Depends}
 Conflicts: libpetsc-complex-3.6 (<< 3.6.2.dfsg1-4)
-Breaks: libpetsc-complex3.10, libslepc-complex3.10, libpetsc3.10-dev-common, libpetsc3.10-dev-examples
-Replaces: libpetsc-complex-3.6 (<< 3.6.2.dfsg1-4)
+Breaks: libpetsc-complex3.19 (<< ${source:Version}), libpetsc-complex3.10, libslepc-complex3.10, libpetsc3.10-dev-common, libpetsc3.10-dev-examples
+Replaces: libpetsc-complex3.19, libpetsc-complex-3.6 (<< 3.6.2.dfsg1-4)
 Description: Shared libraries for version 3.19 of PETSc with Complex Numbers
  PETSc is the "Portable Extensible Toolkit for Scientific
  Computation", a suite of data structures and routines for the
@@ -282,9 +286,11 @@
  This package contains the PETSc 3.19 shared library, supporting
  complex numbers.
  .
- It provides soname libpetsc-complex3.19
+ It provides soname libpetsc-complex3.19t64
 
-Package: libpetsc-complex3.19-dbg
+Package: libpetsc-complex3.19t64-dbg
+Replaces: libpetsc-complex3.19-dbg
+Breaks: libpetsc-complex3.19-dbg (<< ${source:Version})
 Architecture: any
 Multi-Arch: same
 Section: debug
@@ -295,7 +301,8 @@
  ${misc:Depends}, ${shlibs:Depends},
  python3, ${python3:Depends}
 Recommends: libpetsc3.19-dev-examples, ksh | mksh | pdksh | zsh
-Provides: petsc-complex3.19-dbg
+X-Time64-Compat: libpetsc-complex3.19-dbg
+Provides: ${t64:Provides}, petsc-complex3.19-dbg
 Description: Debugging libraries for PETSc
  PETSc is the "Portable Extensible Toolkit for Scientific
  Computation", a suite of data structures and routines for the
@@ -367,7 +374,7 @@
 Multi-Arch: same
 Architecture: any
 Section: libdevel
-Depends: libpetsc64-real3.19 (= ${binary:Version}),
+Depends: libpetsc64-real3.19t64 (= ${binary:Version}),
  libpetsc3.19-dev-common (= ${source:Version}),
  ${MPI:Depends},
  libhypre64m-dev (>= 2.21.0) [amd64 arm64 mips64el ppc64el s390x alpha ia64 ppc64 riscv64 sparc64],
@@ -377,7 +384,7 @@
  valgrind-mpi [amd64 arm64 armhf i386 mips64el mipsel ppc64el s390x powerpc ppc64],
  ${misc:Depends}, python3, ${python3:Depends}
 Recommends: libpetsc3.19-dev-examples, ksh | mksh | pdksh | zsh
-Suggests: petsc64-dev, libpetsc64-real3.19-dbg (= ${binary:Version}), petsc3.19-doc, libluminate-dev
+Suggests: petsc64-dev, libpetsc64-real3.19t64-dbg (= ${binary:Version}), petsc3.19-doc, libluminate-dev
 Description: Static libraries, shared links, header files for 64-bit PETSc
  PETSc is the "Portable Extensible Toolkit for Scientific
  Computation", a suite of data structures and routines for the
@@ -390,11 +397,13 @@
  This package provides the development files for building applications
  using PETSc 3.19 with real numbers and 64-bit indexing.
 
-Package: libpetsc64-real3.19
+Package: libpetsc64-real3.19t64
+Replaces: libpetsc64-real3.19
+Breaks: libpetsc64-real3.19 (<< ${source:Version})
 Architecture: any
 Multi-Arch: same
 Section: libs
-Provides: libpetsc64-3.19
+Provides: ${t64:Provides}, libpetsc64-3.19
 Pre-Depends: ${misc:Pre-Depends}
 Depends: ${shlibs:Depends}, ${misc:Depends}
 Description: Shared libraries for version 3.19 of 64-bit PETSc
@@ -409,9 +418,11 @@
  This package contains the PETSc 3.19 shared library for real numbers
  and 64-bit indexing.
  .
- It provides soname libpetsc-real3.19
+ It provides soname libpetsc-real3.19t64
 
-Package: libpetsc64-real3.19-dbg
+Package: libpetsc64-real3.19t64-dbg
+Replaces: libpetsc64-real3.19-dbg
+Breaks: libpetsc64-real3.19-dbg (<< ${source:Version})
 Architecture: any
 Multi-Arch: same
 Section: debug
@@ -423,7 +434,8 @@
  ${misc:Depends}, ${shlibs:Depends},
  python3, ${python3:Depends}
 Recommends: libpetsc3.19-dev-examples, ksh | mksh | pdksh | zsh
-Provides: petsc64-3.19-dbg
+X-Time64-Compat: libpetsc64-real3.19-dbg
+Provides: ${t64:Provides}, petsc64-3.19-dbg
 Description: Debugging libraries for PETSc
  PETSc is the "Portable Extensible Toolkit for Scientific
  Computation", a suite of data structures and routines for the
@@ -443,7 +455,7 @@
 Architecture: any
 Multi-Arch: same
 Section: libdevel
-Depends: libpetsc64-complex3.19 (= ${binary:Version}),
+Depends: libpetsc64-complex3.19t64 (= ${binary:Version}),
  libpetsc3.19-dev-common (= ${source:Version}),
  ${MPI:Depends},
  libmumps64-dev,
@@ -452,7 +464,7 @@
  valgrind-mpi [amd64 arm64 armhf i386 mips64el mipsel ppc64el s390x powerpc ppc64],
  ${misc:Depends}, python3, ${python3:Depends}
 Recommends: libpetsc3.19-dev-examples, ksh | mksh | pdksh | zsh
-Suggests: petsc64-dev, libpetsc64-complex3.19-dbg (= ${binary:Version}), petsc3.19-doc, libluminate-dev
+Suggests: petsc64-dev, libpetsc64-complex3.19t64-dbg (= ${binary:Version}), petsc3.19-doc, libluminate-dev
 Description: Development files for 64-bit PETSc with complex numbers
  PETSc is the "Portable Extensible Toolkit for Scientific
  Computation", a suite of data structures and routines for the
@@ -468,7 +480,10 @@
  .
  Note HYPRE is not supported with PETSc complex.
 
-Package: libpetsc64-complex3.19
+Package: libpetsc64-complex3.19t64
+Provides: ${t64:Provides}
+Replaces: libpetsc64-complex3.19
+Breaks: libpetsc64-complex3.19 (<< ${source:Version})
 Architecture: any
 Multi-Arch: same
 Section: libs
@@ -486,9 +501,11 @@
  This package contains the PETSc 3.19 shared library, supporting
  complex numbers and 64-bit indexing.
  .
- It provides soname libpetsc64-complex3.19
+ It provides soname libpetsc64-complex3.19t64
 
-Package: libpetsc64-complex3.19-dbg
+Package: libpetsc64-complex3.19t64-dbg
+Replaces: libpetsc64-complex3.19-dbg
+Breaks: libpetsc64-complex3.19-dbg (<< ${source:Version})
 Architecture: any
 Multi-Arch: same
 Section: debug
@@ -499,7 +516,8 @@
  ${misc:Depends}, ${shlibs:Depends},
  python3, ${python3:Depends}
 Recommends: libpetsc3.19-dev-examples, ksh | mksh | pdksh | zsh
-Provides: petsc64-complex3.19-dbg
+X-Time64-Compat: libpetsc64-complex3.19-dbg
+Provides: ${t64:Provides}, petsc64-complex3.19-dbg
 Description: Debugging libraries for 64-bit PETSc with Complex Numbers
  PETSc is the "Portable Extensible Toolkit for Scientific
  Computation", a suite of data structures and routines for the
diff -Nru petsc-3.19.6+dfsg1/debian/libpetsc-complex3.19-dbg.dirs petsc-3.19.6+dfsg1/debian/libpetsc-complex3.19-dbg.dirs
--- petsc-3.19.6+dfsg1/debian/libpetsc-complex3.19-dbg.dirs	2024-01-21 06:41:21.000000000 +0000
+++ petsc-3.19.6+dfsg1/debian/libpetsc-complex3.19-dbg.dirs	1970-01-01 00:00:00.000000000 +0000
@@ -1 +0,0 @@
-/usr/share/octave/site/m
diff -Nru petsc-3.19.6+dfsg1/debian/libpetsc-complex3.19-dbg.fortran-mod petsc-3.19.6+dfsg1/debian/libpetsc-complex3.19-dbg.fortran-mod
--- petsc-3.19.6+dfsg1/debian/libpetsc-complex3.19-dbg.fortran-mod	2024-01-21 06:41:21.000000000 +0000
+++ petsc-3.19.6+dfsg1/debian/libpetsc-complex3.19-dbg.fortran-mod	1970-01-01 00:00:00.000000000 +0000
@@ -1,5 +0,0 @@
-#! /bin/sh
-for modpath in debian/tmp/petsc${PETSC_SONAME_VERSION}-complex-debug/${PETSC_COMPLEX_DEBUG_DIR_PREFIX}/include/*.mod; do
-  modfile=$(basename $modpath)
-  echo ${modpath} ${PETSC_COMPLEX_DEBUG_DIR_PREFIX}/include
-done
diff -Nru petsc-3.19.6+dfsg1/debian/libpetsc-complex3.19-dbg.links petsc-3.19.6+dfsg1/debian/libpetsc-complex3.19-dbg.links
--- petsc-3.19.6+dfsg1/debian/libpetsc-complex3.19-dbg.links	2024-01-21 06:41:21.000000000 +0000
+++ petsc-3.19.6+dfsg1/debian/libpetsc-complex3.19-dbg.links	1970-01-01 00:00:00.000000000 +0000
@@ -1,4 +0,0 @@
-#! /bin/sh
-for common in include/petsc lib/petsc/bin share; do
-  echo usr/share/petsc/${PETSC_SONAME_VERSION}/${common} ${PETSC_COMPLEX_DEBUG_DIR_PREFIX}/${common}
-done
diff -Nru petsc-3.19.6+dfsg1/debian/libpetsc-complex3.19-dbg.lintian-overrides petsc-3.19.6+dfsg1/debian/libpetsc-complex3.19-dbg.lintian-overrides
--- petsc-3.19.6+dfsg1/debian/libpetsc-complex3.19-dbg.lintian-overrides	2024-01-21 06:41:21.000000000 +0000
+++ petsc-3.19.6+dfsg1/debian/libpetsc-complex3.19-dbg.lintian-overrides	1970-01-01 00:00:00.000000000 +0000
@@ -1,2 +0,0 @@
-# common arch-indep files are installed in usr/share/petsc
-breakout-link usr/lib/petscdir/petsc* -> usr/share/petsc/*
diff -Nru petsc-3.19.6+dfsg1/debian/libpetsc-complex3.19-dbg.postinst petsc-3.19.6+dfsg1/debian/libpetsc-complex3.19-dbg.postinst
--- petsc-3.19.6+dfsg1/debian/libpetsc-complex3.19-dbg.postinst	2024-01-21 06:41:21.000000000 +0000
+++ petsc-3.19.6+dfsg1/debian/libpetsc-complex3.19-dbg.postinst	1970-01-01 00:00:00.000000000 +0000
@@ -1,38 +0,0 @@
-#!/bin/sh -e
-
-DEB_HOST_MULTIARCH=__DEB_HOST_MULTIARCH__
-
-PETSC_VERSION=__PETSC_VERSION__
-PETSC_ARCH=${DEB_HOST_MULTIARCH}
-PETSC_DEBUG_ARCH=${PETSC_ARCH}-complex-debug
-PETSC_VERSION_NUMBER=$( echo ${PETSC_VERSION} | sed "s/\.//g" )
-PETSC_SONAME_VERSION=__PETSC_SONAME_VERSION__
-PETSC_NAME=petsc${PETSC_SONAME_VERSION}
-
-PETSC_DIR_COMPLEX_DEBUG=/usr/lib/petscdir/${PETSC_NAME}/${PETSC_DEBUG_ARCH}
-
-
-# Make alternatives links
-if [ "$1" = "configure" ]; then
-
-# alternative libpetsc.so.multiarch is deprecated
-# test if libpetsc.so.multiarch is still in use, so remove old petsc alternatives
-# This should be safe since Conflicts are set up with the dev package versions using deprecated libpetsc.so.multiarch.
-if update-alternatives --query petsc | grep libpetsc.so.multiarch > /dev/null ; then
-  echo Removing deprecated petsc alternatives using libpetsc.so.multiarch.
-  for alt in `update-alternatives --list petsc`; do
-    update-alternatives --remove petsc ${alt}
-  done
-fi
-
-update-alternatives --install /usr/lib/petsc petsc ${PETSC_DIR_COMPLEX_DEBUG} ${PETSC_VERSION_NUMBER}37 \
-  --slave /usr/lib/${DEB_HOST_MULTIARCH}/libpetsc.so libpetsc.so ${PETSC_DIR_COMPLEX_DEBUG}/lib/libpetsc_complex.so.${PETSC_VERSION} \
-  --slave /usr/include/petsc petscinclude ${PETSC_DIR_COMPLEX_DEBUG}/include \
-  --slave /usr/lib/${DEB_HOST_MULTIARCH}/pkgconfig/PETSc.pc PETSc.pc ${PETSC_DIR_COMPLEX_DEBUG}/lib/pkgconfig/PETSc.pc \
-  --slave /usr/lib/${DEB_HOST_MULTIARCH}/pkgconfig/petsc.pc petsc.pc ${PETSC_DIR_COMPLEX_DEBUG}/lib/pkgconfig/petsc.pc \
-  --slave /usr/share/octave/site/m/petsc petsc-octave ${PETSC_DIR_COMPLEX_DEBUG}/share/petsc/matlab
-
-fi
-
-
-#DEBHELPER#
diff -Nru petsc-3.19.6+dfsg1/debian/libpetsc-complex3.19-dbg.prerm petsc-3.19.6+dfsg1/debian/libpetsc-complex3.19-dbg.prerm
--- petsc-3.19.6+dfsg1/debian/libpetsc-complex3.19-dbg.prerm	2024-01-21 06:41:21.000000000 +0000
+++ petsc-3.19.6+dfsg1/debian/libpetsc-complex3.19-dbg.prerm	1970-01-01 00:00:00.000000000 +0000
@@ -1,16 +0,0 @@
-#!/bin/sh -e
-
-DEB_HOST_MULTIARCH=__DEB_HOST_MULTIARCH__
-
-PETSC_VERSION=__PETSC_VERSION__
-PETSC_ARCH=${DEB_HOST_MULTIARCH}
-PETSC_DEBUG_ARCH=${PETSC_ARCH}-complex-debug
-PETSC_SONAME_VERSION=__PETSC_SONAME_VERSION__
-PETSC_NAME=petsc${PETSC_SONAME_VERSION}
-
-# Remove alternatives links
-if [ "$1" = "remove" ]; then
-  update-alternatives --remove petsc /usr/lib/petscdir/${PETSC_NAME}/${PETSC_DEBUG_ARCH}
-fi
-
-#DEBHELPER#
diff -Nru petsc-3.19.6+dfsg1/debian/libpetsc-complex3.19.links petsc-3.19.6+dfsg1/debian/libpetsc-complex3.19.links
--- petsc-3.19.6+dfsg1/debian/libpetsc-complex3.19.links	2024-01-21 06:41:21.000000000 +0000
+++ petsc-3.19.6+dfsg1/debian/libpetsc-complex3.19.links	1970-01-01 00:00:00.000000000 +0000
@@ -1,2 +0,0 @@
-#! /bin/sh
-echo usr/lib/${DEB_HOST_MULTIARCH}/libpetsc_complex.so.${PETSC_VERSION} usr/lib/${DEB_HOST_MULTIARCH}/libpetsc_complex.so.${PETSC_SONAME_VERSION}
diff -Nru petsc-3.19.6+dfsg1/debian/libpetsc-complex3.19.lintian-overrides petsc-3.19.6+dfsg1/debian/libpetsc-complex3.19.lintian-overrides
--- petsc-3.19.6+dfsg1/debian/libpetsc-complex3.19.lintian-overrides	2024-01-21 06:41:21.000000000 +0000
+++ petsc-3.19.6+dfsg1/debian/libpetsc-complex3.19.lintian-overrides	1970-01-01 00:00:00.000000000 +0000
@@ -1,9 +0,0 @@
-# libpetsc.so.X.Y soname links are managed by alternatives (libpetc.so.X.Y)
-ldconfig-symlink-missing-for-shlib usr/lib/*/libpetsc.so.* usr/lib/*/libpetsc-complex.so.* libpetsc.so.*
-
-# libpetsc_complex.so is handled by alternatives in libpetsc-complexX.Y-dev
-lacks-unversioned-link-to-shared-library example: usr/lib/*/libpetsc_complex.so [usr/lib/*/libpetsc_complex.so.*]
-
-# the version of the broken packages is embedded in the package names
-breaks-without-version libpetsc*3.10*
-breaks-without-version libslepc*3.10*
diff -Nru petsc-3.19.6+dfsg1/debian/libpetsc-complex3.19.postinst petsc-3.19.6+dfsg1/debian/libpetsc-complex3.19.postinst
--- petsc-3.19.6+dfsg1/debian/libpetsc-complex3.19.postinst	2024-01-21 06:41:21.000000000 +0000
+++ petsc-3.19.6+dfsg1/debian/libpetsc-complex3.19.postinst	1970-01-01 00:00:00.000000000 +0000
@@ -1,15 +0,0 @@
-#!/bin/sh -e
-
-DEB_HOST_MULTIARCH=__DEB_HOST_MULTIARCH__
-
-PETSC_VERSION=__PETSC_VERSION__
-PETSC_VERSION_NUMBER=$( echo ${PETSC_VERSION} | sed "s/\.//g" )
-SONAME=__PETSC_SONAME_VERSION__
-
-# Make alternatives links
-if [ "$1" = "configure" ]; then
-  # alternative petsc version (for given soname), real or complex
-  update-alternatives --install /usr/lib/${DEB_HOST_MULTIARCH}/libpetsc.so.${SONAME} libpetsc.so.${SONAME} /usr/lib/${DEB_HOST_MULTIARCH}/libpetsc_complex.so.${PETSC_VERSION} ${PETSC_VERSION_NUMBER}73
-fi
-
-#DEBHELPER#
diff -Nru petsc-3.19.6+dfsg1/debian/libpetsc-complex3.19.prerm petsc-3.19.6+dfsg1/debian/libpetsc-complex3.19.prerm
--- petsc-3.19.6+dfsg1/debian/libpetsc-complex3.19.prerm	2024-01-21 06:41:21.000000000 +0000
+++ petsc-3.19.6+dfsg1/debian/libpetsc-complex3.19.prerm	1970-01-01 00:00:00.000000000 +0000
@@ -1,12 +0,0 @@
-#!/bin/sh -e
-
-DEB_HOST_MULTIARCH=__DEB_HOST_MULTIARCH__
-PETSC_VERSION=__PETSC_VERSION__
-SONAME=__PETSC_SONAME_VERSION__
-
-# Remove alternatives links
-if [ "$1" = "remove" ]; then
-  update-alternatives --remove libpetsc.so.${SONAME} /usr/lib/${DEB_HOST_MULTIARCH}/libpetsc_complex.so.${PETSC_VERSION}
-fi
-
-#DEBHELPER#
diff -Nru petsc-3.19.6+dfsg1/debian/libpetsc-complex3.19t64-dbg.dirs petsc-3.19.6+dfsg1/debian/libpetsc-complex3.19t64-dbg.dirs
--- petsc-3.19.6+dfsg1/debian/libpetsc-complex3.19t64-dbg.dirs	1970-01-01 00:00:00.000000000 +0000
+++ petsc-3.19.6+dfsg1/debian/libpetsc-complex3.19t64-dbg.dirs	2024-01-21 06:41:21.000000000 +0000
@@ -0,0 +1 @@
+/usr/share/octave/site/m
diff -Nru petsc-3.19.6+dfsg1/debian/libpetsc-complex3.19t64-dbg.fortran-mod petsc-3.19.6+dfsg1/debian/libpetsc-complex3.19t64-dbg.fortran-mod
--- petsc-3.19.6+dfsg1/debian/libpetsc-complex3.19t64-dbg.fortran-mod	1970-01-01 00:00:00.000000000 +0000
+++ petsc-3.19.6+dfsg1/debian/libpetsc-complex3.19t64-dbg.fortran-mod	2024-01-21 06:41:21.000000000 +0000
@@ -0,0 +1,5 @@
+#! /bin/sh
+for modpath in debian/tmp/petsc${PETSC_SONAME_VERSION}-complex-debug/${PETSC_COMPLEX_DEBUG_DIR_PREFIX}/include/*.mod; do
+  modfile=$(basename $modpath)
+  echo ${modpath} ${PETSC_COMPLEX_DEBUG_DIR_PREFIX}/include
+done
diff -Nru petsc-3.19.6+dfsg1/debian/libpetsc-complex3.19t64-dbg.links petsc-3.19.6+dfsg1/debian/libpetsc-complex3.19t64-dbg.links
--- petsc-3.19.6+dfsg1/debian/libpetsc-complex3.19t64-dbg.links	1970-01-01 00:00:00.000000000 +0000
+++ petsc-3.19.6+dfsg1/debian/libpetsc-complex3.19t64-dbg.links	2024-01-21 06:41:21.000000000 +0000
@@ -0,0 +1,4 @@
+#! /bin/sh
+for common in include/petsc lib/petsc/bin share; do
+  echo usr/share/petsc/${PETSC_SONAME_VERSION}/${common} ${PETSC_COMPLEX_DEBUG_DIR_PREFIX}/${common}
+done
diff -Nru petsc-3.19.6+dfsg1/debian/libpetsc-complex3.19t64-dbg.lintian-overrides petsc-3.19.6+dfsg1/debian/libpetsc-complex3.19t64-dbg.lintian-overrides
--- petsc-3.19.6+dfsg1/debian/libpetsc-complex3.19t64-dbg.lintian-overrides	1970-01-01 00:00:00.000000000 +0000
+++ petsc-3.19.6+dfsg1/debian/libpetsc-complex3.19t64-dbg.lintian-overrides	2024-02-29 20:21:12.000000000 +0000
@@ -0,0 +1,3 @@
+# common arch-indep files are installed in usr/share/petsc
+breakout-link usr/lib/petscdir/petsc* -> usr/share/petsc/*
+libpetsc-complex3.19t64-dbg: package-name-doesnt-match-sonames libpetsc-complex3.19-dbg
diff -Nru petsc-3.19.6+dfsg1/debian/libpetsc-complex3.19t64-dbg.postinst petsc-3.19.6+dfsg1/debian/libpetsc-complex3.19t64-dbg.postinst
--- petsc-3.19.6+dfsg1/debian/libpetsc-complex3.19t64-dbg.postinst	1970-01-01 00:00:00.000000000 +0000
+++ petsc-3.19.6+dfsg1/debian/libpetsc-complex3.19t64-dbg.postinst	2024-01-21 06:41:21.000000000 +0000
@@ -0,0 +1,38 @@
+#!/bin/sh -e
+
+DEB_HOST_MULTIARCH=__DEB_HOST_MULTIARCH__
+
+PETSC_VERSION=__PETSC_VERSION__
+PETSC_ARCH=${DEB_HOST_MULTIARCH}
+PETSC_DEBUG_ARCH=${PETSC_ARCH}-complex-debug
+PETSC_VERSION_NUMBER=$( echo ${PETSC_VERSION} | sed "s/\.//g" )
+PETSC_SONAME_VERSION=__PETSC_SONAME_VERSION__
+PETSC_NAME=petsc${PETSC_SONAME_VERSION}
+
+PETSC_DIR_COMPLEX_DEBUG=/usr/lib/petscdir/${PETSC_NAME}/${PETSC_DEBUG_ARCH}
+
+
+# Make alternatives links
+if [ "$1" = "configure" ]; then
+
+# alternative libpetsc.so.multiarch is deprecated
+# test if libpetsc.so.multiarch is still in use, so remove old petsc alternatives
+# This should be safe since Conflicts are set up with the dev package versions using deprecated libpetsc.so.multiarch.
+if update-alternatives --query petsc | grep libpetsc.so.multiarch > /dev/null ; then
+  echo Removing deprecated petsc alternatives using libpetsc.so.multiarch.
+  for alt in `update-alternatives --list petsc`; do
+    update-alternatives --remove petsc ${alt}
+  done
+fi
+
+update-alternatives --install /usr/lib/petsc petsc ${PETSC_DIR_COMPLEX_DEBUG} ${PETSC_VERSION_NUMBER}37 \
+  --slave /usr/lib/${DEB_HOST_MULTIARCH}/libpetsc.so libpetsc.so ${PETSC_DIR_COMPLEX_DEBUG}/lib/libpetsc_complex.so.${PETSC_VERSION} \
+  --slave /usr/include/petsc petscinclude ${PETSC_DIR_COMPLEX_DEBUG}/include \
+  --slave /usr/lib/${DEB_HOST_MULTIARCH}/pkgconfig/PETSc.pc PETSc.pc ${PETSC_DIR_COMPLEX_DEBUG}/lib/pkgconfig/PETSc.pc \
+  --slave /usr/lib/${DEB_HOST_MULTIARCH}/pkgconfig/petsc.pc petsc.pc ${PETSC_DIR_COMPLEX_DEBUG}/lib/pkgconfig/petsc.pc \
+  --slave /usr/share/octave/site/m/petsc petsc-octave ${PETSC_DIR_COMPLEX_DEBUG}/share/petsc/matlab
+
+fi
+
+
+#DEBHELPER#
diff -Nru petsc-3.19.6+dfsg1/debian/libpetsc-complex3.19t64-dbg.prerm petsc-3.19.6+dfsg1/debian/libpetsc-complex3.19t64-dbg.prerm
--- petsc-3.19.6+dfsg1/debian/libpetsc-complex3.19t64-dbg.prerm	1970-01-01 00:00:00.000000000 +0000
+++ petsc-3.19.6+dfsg1/debian/libpetsc-complex3.19t64-dbg.prerm	2024-01-21 06:41:21.000000000 +0000
@@ -0,0 +1,16 @@
+#!/bin/sh -e
+
+DEB_HOST_MULTIARCH=__DEB_HOST_MULTIARCH__
+
+PETSC_VERSION=__PETSC_VERSION__
+PETSC_ARCH=${DEB_HOST_MULTIARCH}
+PETSC_DEBUG_ARCH=${PETSC_ARCH}-complex-debug
+PETSC_SONAME_VERSION=__PETSC_SONAME_VERSION__
+PETSC_NAME=petsc${PETSC_SONAME_VERSION}
+
+# Remove alternatives links
+if [ "$1" = "remove" ]; then
+  update-alternatives --remove petsc /usr/lib/petscdir/${PETSC_NAME}/${PETSC_DEBUG_ARCH}
+fi
+
+#DEBHELPER#
diff -Nru petsc-3.19.6+dfsg1/debian/libpetsc-complex3.19t64.links petsc-3.19.6+dfsg1/debian/libpetsc-complex3.19t64.links
--- petsc-3.19.6+dfsg1/debian/libpetsc-complex3.19t64.links	1970-01-01 00:00:00.000000000 +0000
+++ petsc-3.19.6+dfsg1/debian/libpetsc-complex3.19t64.links	2024-01-21 06:41:21.000000000 +0000
@@ -0,0 +1,2 @@
+#! /bin/sh
+echo usr/lib/${DEB_HOST_MULTIARCH}/libpetsc_complex.so.${PETSC_VERSION} usr/lib/${DEB_HOST_MULTIARCH}/libpetsc_complex.so.${PETSC_SONAME_VERSION}
diff -Nru petsc-3.19.6+dfsg1/debian/libpetsc-complex3.19t64.lintian-overrides petsc-3.19.6+dfsg1/debian/libpetsc-complex3.19t64.lintian-overrides
--- petsc-3.19.6+dfsg1/debian/libpetsc-complex3.19t64.lintian-overrides	1970-01-01 00:00:00.000000000 +0000
+++ petsc-3.19.6+dfsg1/debian/libpetsc-complex3.19t64.lintian-overrides	2024-02-29 20:21:12.000000000 +0000
@@ -0,0 +1,10 @@
+# libpetsc.so.X.Y soname links are managed by alternatives (libpetc.so.X.Y)
+ldconfig-symlink-missing-for-shlib usr/lib/*/libpetsc.so.* usr/lib/*/libpetsc-complex.so.* libpetsc.so.*
+
+# libpetsc_complex.so is handled by alternatives in libpetsc-complexX.Y-dev
+lacks-unversioned-link-to-shared-library example: usr/lib/*/libpetsc_complex.so [usr/lib/*/libpetsc_complex.so.*]
+
+# the version of the broken packages is embedded in the package names
+breaks-without-version libpetsc*3.10*
+breaks-without-version libslepc*3.10*
+libpetsc-complex3.19t64: package-name-doesnt-match-sonames libpetsc-complex3.19
diff -Nru petsc-3.19.6+dfsg1/debian/libpetsc-complex3.19t64.postinst petsc-3.19.6+dfsg1/debian/libpetsc-complex3.19t64.postinst
--- petsc-3.19.6+dfsg1/debian/libpetsc-complex3.19t64.postinst	1970-01-01 00:00:00.000000000 +0000
+++ petsc-3.19.6+dfsg1/debian/libpetsc-complex3.19t64.postinst	2024-01-21 06:41:21.000000000 +0000
@@ -0,0 +1,15 @@
+#!/bin/sh -e
+
+DEB_HOST_MULTIARCH=__DEB_HOST_MULTIARCH__
+
+PETSC_VERSION=__PETSC_VERSION__
+PETSC_VERSION_NUMBER=$( echo ${PETSC_VERSION} | sed "s/\.//g" )
+SONAME=__PETSC_SONAME_VERSION__
+
+# Make alternatives links
+if [ "$1" = "configure" ]; then
+  # alternative petsc version (for given soname), real or complex
+  update-alternatives --install /usr/lib/${DEB_HOST_MULTIARCH}/libpetsc.so.${SONAME} libpetsc.so.${SONAME} /usr/lib/${DEB_HOST_MULTIARCH}/libpetsc_complex.so.${PETSC_VERSION} ${PETSC_VERSION_NUMBER}73
+fi
+
+#DEBHELPER#
diff -Nru petsc-3.19.6+dfsg1/debian/libpetsc-complex3.19t64.prerm petsc-3.19.6+dfsg1/debian/libpetsc-complex3.19t64.prerm
--- petsc-3.19.6+dfsg1/debian/libpetsc-complex3.19t64.prerm	1970-01-01 00:00:00.000000000 +0000
+++ petsc-3.19.6+dfsg1/debian/libpetsc-complex3.19t64.prerm	2024-01-21 06:41:21.000000000 +0000
@@ -0,0 +1,12 @@
+#!/bin/sh -e
+
+DEB_HOST_MULTIARCH=__DEB_HOST_MULTIARCH__
+PETSC_VERSION=__PETSC_VERSION__
+SONAME=__PETSC_SONAME_VERSION__
+
+# Remove alternatives links
+if [ "$1" = "remove" ]; then
+  update-alternatives --remove libpetsc.so.${SONAME} /usr/lib/${DEB_HOST_MULTIARCH}/libpetsc_complex.so.${PETSC_VERSION}
+fi
+
+#DEBHELPER#
diff -Nru petsc-3.19.6+dfsg1/debian/libpetsc-real3.19-dbg.dirs petsc-3.19.6+dfsg1/debian/libpetsc-real3.19-dbg.dirs
--- petsc-3.19.6+dfsg1/debian/libpetsc-real3.19-dbg.dirs	2024-01-21 06:41:21.000000000 +0000
+++ petsc-3.19.6+dfsg1/debian/libpetsc-real3.19-dbg.dirs	1970-01-01 00:00:00.000000000 +0000
@@ -1 +0,0 @@
-/usr/share/octave/site/m
diff -Nru petsc-3.19.6+dfsg1/debian/libpetsc-real3.19-dbg.fortran-mod petsc-3.19.6+dfsg1/debian/libpetsc-real3.19-dbg.fortran-mod
--- petsc-3.19.6+dfsg1/debian/libpetsc-real3.19-dbg.fortran-mod	2024-01-21 06:41:21.000000000 +0000
+++ petsc-3.19.6+dfsg1/debian/libpetsc-real3.19-dbg.fortran-mod	1970-01-01 00:00:00.000000000 +0000
@@ -1,5 +0,0 @@
-#! /bin/sh
-for modpath in debian/tmp/petsc${PETSC_SONAME_VERSION}-real-debug/${PETSC_REAL_DEBUG_DIR_PREFIX}/include/*.mod; do
-  modfile=$(basename $modpath)
-  echo ${modpath} ${PETSC_REAL_DEBUG_DIR_PREFIX}/include
-done
diff -Nru petsc-3.19.6+dfsg1/debian/libpetsc-real3.19-dbg.links petsc-3.19.6+dfsg1/debian/libpetsc-real3.19-dbg.links
--- petsc-3.19.6+dfsg1/debian/libpetsc-real3.19-dbg.links	2024-01-21 06:41:21.000000000 +0000
+++ petsc-3.19.6+dfsg1/debian/libpetsc-real3.19-dbg.links	1970-01-01 00:00:00.000000000 +0000
@@ -1,4 +0,0 @@
-#! /bin/sh
-for common in include/petsc lib/petsc/bin share; do
-  echo usr/share/petsc/${PETSC_SONAME_VERSION}/${common} ${PETSC_REAL_DEBUG_DIR_PREFIX}/${common}
-done
diff -Nru petsc-3.19.6+dfsg1/debian/libpetsc-real3.19-dbg.lintian-overrides petsc-3.19.6+dfsg1/debian/libpetsc-real3.19-dbg.lintian-overrides
--- petsc-3.19.6+dfsg1/debian/libpetsc-real3.19-dbg.lintian-overrides	2024-01-21 06:41:21.000000000 +0000
+++ petsc-3.19.6+dfsg1/debian/libpetsc-real3.19-dbg.lintian-overrides	1970-01-01 00:00:00.000000000 +0000
@@ -1,2 +0,0 @@
-# common arch-indep files are installed in usr/share/petsc
-breakout-link usr/lib/petscdir/petsc* -> usr/share/petsc/*
diff -Nru petsc-3.19.6+dfsg1/debian/libpetsc-real3.19-dbg.postinst petsc-3.19.6+dfsg1/debian/libpetsc-real3.19-dbg.postinst
--- petsc-3.19.6+dfsg1/debian/libpetsc-real3.19-dbg.postinst	2024-01-21 06:41:21.000000000 +0000
+++ petsc-3.19.6+dfsg1/debian/libpetsc-real3.19-dbg.postinst	1970-01-01 00:00:00.000000000 +0000
@@ -1,36 +0,0 @@
-#!/bin/sh -e
-
-DEB_HOST_MULTIARCH=__DEB_HOST_MULTIARCH__
-
-PETSC_VERSION=__PETSC_VERSION__
-PETSC_ARCH=${DEB_HOST_MULTIARCH}
-PETSC_DEBUG_ARCH=${PETSC_ARCH}-real-debug
-PETSC_VERSION_NUMBER=$( echo ${PETSC_VERSION} | sed "s/\.//g" )
-PETSC_SONAME_VERSION=__PETSC_SONAME_VERSION__
-PETSC_NAME=petsc${PETSC_SONAME_VERSION}
-
-PETSC_DIR_REAL_DEBUG=/usr/lib/petscdir/${PETSC_NAME}/${PETSC_DEBUG_ARCH}
-
-# Make alternatives links
-if [ "$1" = "configure" ]; then
-
-# alternative libpetsc.so.multiarch is deprecated
-# test if libpetsc.so.multiarch is still in use, so remove old petsc alternatives
-# This should be safe since Conflicts are set up with the dev package versions using deprecated libpetsc.so.multiarch.
-if update-alternatives --query petsc | grep libpetsc.so.multiarch > /dev/null ; then
-  echo Removing deprecated petsc alternatives using libpetsc.so.multiarch.
-  for alt in `update-alternatives --list petsc`; do
-    update-alternatives --remove petsc ${alt}
-  done
-fi
-
-update-alternatives --install /usr/lib/petsc petsc ${PETSC_DIR_REAL_DEBUG} ${PETSC_VERSION_NUMBER}39 \
-  --slave /usr/lib/${DEB_HOST_MULTIARCH}/libpetsc.so libpetsc.so ${PETSC_DIR_REAL_DEBUG}/lib/libpetsc_real.so.${PETSC_VERSION} \
-  --slave /usr/include/petsc petscinclude ${PETSC_DIR_REAL_DEBUG}/include \
-  --slave /usr/lib/${DEB_HOST_MULTIARCH}/pkgconfig/PETSc.pc PETSc.pc ${PETSC_DIR_REAL_DEBUG}/lib/pkgconfig/PETSc.pc \
-  --slave /usr/lib/${DEB_HOST_MULTIARCH}/pkgconfig/petsc.pc petsc.pc ${PETSC_DIR_REAL_DEBUG}/lib/pkgconfig/petsc.pc \
-  --slave /usr/share/octave/site/m/petsc petsc-octave ${PETSC_DIR_REAL_DEBUG}/share/petsc/matlab
-
-fi
-
-#DEBHELPER#
diff -Nru petsc-3.19.6+dfsg1/debian/libpetsc-real3.19-dbg.prerm petsc-3.19.6+dfsg1/debian/libpetsc-real3.19-dbg.prerm
--- petsc-3.19.6+dfsg1/debian/libpetsc-real3.19-dbg.prerm	2024-01-21 06:41:21.000000000 +0000
+++ petsc-3.19.6+dfsg1/debian/libpetsc-real3.19-dbg.prerm	1970-01-01 00:00:00.000000000 +0000
@@ -1,16 +0,0 @@
-#!/bin/sh -e
-
-DEB_HOST_MULTIARCH=__DEB_HOST_MULTIARCH__
-
-PETSC_VERSION=__PETSC_VERSION__
-PETSC_ARCH=${DEB_HOST_MULTIARCH}
-PETSC_DEBUG_ARCH=${PETSC_ARCH}-real-debug
-PETSC_SONAME_VERSION=__PETSC_SONAME_VERSION__
-PETSC_NAME=petsc${PETSC_SONAME_VERSION}
-
-# Remove alternatives links
-if [ "$1" = "remove" ]; then
-  update-alternatives --remove petsc /usr/lib/petscdir/${PETSC_NAME}/${PETSC_DEBUG_ARCH}
-fi
-
-#DEBHELPER#
diff -Nru petsc-3.19.6+dfsg1/debian/libpetsc-real3.19.links petsc-3.19.6+dfsg1/debian/libpetsc-real3.19.links
--- petsc-3.19.6+dfsg1/debian/libpetsc-real3.19.links	2024-01-21 06:41:21.000000000 +0000
+++ petsc-3.19.6+dfsg1/debian/libpetsc-real3.19.links	1970-01-01 00:00:00.000000000 +0000
@@ -1,2 +0,0 @@
-#! /bin/sh
-echo usr/lib/${DEB_HOST_MULTIARCH}/libpetsc_real.so.${PETSC_VERSION} usr/lib/${DEB_HOST_MULTIARCH}/libpetsc_real.so.${PETSC_SONAME_VERSION}
diff -Nru petsc-3.19.6+dfsg1/debian/libpetsc-real3.19.lintian-overrides petsc-3.19.6+dfsg1/debian/libpetsc-real3.19.lintian-overrides
--- petsc-3.19.6+dfsg1/debian/libpetsc-real3.19.lintian-overrides	2024-01-21 06:41:21.000000000 +0000
+++ petsc-3.19.6+dfsg1/debian/libpetsc-real3.19.lintian-overrides	1970-01-01 00:00:00.000000000 +0000
@@ -1,9 +0,0 @@
-# libpetsc.so.X.Y soname links are managed by alternatives (libpetc.so.X.Y)
-ldconfig-symlink-missing-for-shlib usr/lib/*/libpetsc.so.* usr/lib/*/libpetsc-real.so.* libpetsc.so.*
-
-# libpetsc_real.so is handled by alternatives in libpetsc-realX.Y-dev
-lacks-unversioned-link-to-shared-library example: usr/lib/*/libpetsc_real.so [usr/lib/*/libpetsc_real.so.*]
-
-# the version of the broken packages is embedded in the package names
-breaks-without-version libpetsc*3.10*
-breaks-without-version libslepc*3.10*
diff -Nru petsc-3.19.6+dfsg1/debian/libpetsc-real3.19.postinst petsc-3.19.6+dfsg1/debian/libpetsc-real3.19.postinst
--- petsc-3.19.6+dfsg1/debian/libpetsc-real3.19.postinst	2024-01-21 06:41:21.000000000 +0000
+++ petsc-3.19.6+dfsg1/debian/libpetsc-real3.19.postinst	1970-01-01 00:00:00.000000000 +0000
@@ -1,15 +0,0 @@
-#!/bin/sh -e
-
-DEB_HOST_MULTIARCH=__DEB_HOST_MULTIARCH__
-
-PETSC_VERSION=__PETSC_VERSION__
-PETSC_VERSION_NUMBER=$( echo ${PETSC_VERSION} | sed "s/\.//g" )
-SONAME=__PETSC_SONAME_VERSION__
-
-# Make alternatives links
-if [ "$1" = "configure" ]; then
-  # alternative petsc version (for given soname), real or complex
-  update-alternatives --install /usr/lib/${DEB_HOST_MULTIARCH}/libpetsc.so.${SONAME} libpetsc.so.${SONAME} /usr/lib/${DEB_HOST_MULTIARCH}/libpetsc_real.so.${PETSC_VERSION} ${PETSC_VERSION_NUMBER}77
-fi
-
-#DEBHELPER#
diff -Nru petsc-3.19.6+dfsg1/debian/libpetsc-real3.19.prerm petsc-3.19.6+dfsg1/debian/libpetsc-real3.19.prerm
--- petsc-3.19.6+dfsg1/debian/libpetsc-real3.19.prerm	2024-01-21 06:41:21.000000000 +0000
+++ petsc-3.19.6+dfsg1/debian/libpetsc-real3.19.prerm	1970-01-01 00:00:00.000000000 +0000
@@ -1,12 +0,0 @@
-#!/bin/sh -e
-
-DEB_HOST_MULTIARCH=__DEB_HOST_MULTIARCH__
-PETSC_VERSION=__PETSC_VERSION__
-SONAME=__PETSC_SONAME_VERSION__
-
-# Remove alternatives links
-if [ "$1" = "remove" ]; then
-  update-alternatives --remove libpetsc.so.${SONAME} /usr/lib/${DEB_HOST_MULTIARCH}/libpetsc_real.so.${PETSC_VERSION}
-fi
-
-#DEBHELPER#
diff -Nru petsc-3.19.6+dfsg1/debian/libpetsc-real3.19t64-dbg.dirs petsc-3.19.6+dfsg1/debian/libpetsc-real3.19t64-dbg.dirs
--- petsc-3.19.6+dfsg1/debian/libpetsc-real3.19t64-dbg.dirs	1970-01-01 00:00:00.000000000 +0000
+++ petsc-3.19.6+dfsg1/debian/libpetsc-real3.19t64-dbg.dirs	2024-01-21 06:41:21.000000000 +0000
@@ -0,0 +1 @@
+/usr/share/octave/site/m
diff -Nru petsc-3.19.6+dfsg1/debian/libpetsc-real3.19t64-dbg.fortran-mod petsc-3.19.6+dfsg1/debian/libpetsc-real3.19t64-dbg.fortran-mod
--- petsc-3.19.6+dfsg1/debian/libpetsc-real3.19t64-dbg.fortran-mod	1970-01-01 00:00:00.000000000 +0000
+++ petsc-3.19.6+dfsg1/debian/libpetsc-real3.19t64-dbg.fortran-mod	2024-01-21 06:41:21.000000000 +0000
@@ -0,0 +1,5 @@
+#! /bin/sh
+for modpath in debian/tmp/petsc${PETSC_SONAME_VERSION}-real-debug/${PETSC_REAL_DEBUG_DIR_PREFIX}/include/*.mod; do
+  modfile=$(basename $modpath)
+  echo ${modpath} ${PETSC_REAL_DEBUG_DIR_PREFIX}/include
+done
diff -Nru petsc-3.19.6+dfsg1/debian/libpetsc-real3.19t64-dbg.links petsc-3.19.6+dfsg1/debian/libpetsc-real3.19t64-dbg.links
--- petsc-3.19.6+dfsg1/debian/libpetsc-real3.19t64-dbg.links	1970-01-01 00:00:00.000000000 +0000
+++ petsc-3.19.6+dfsg1/debian/libpetsc-real3.19t64-dbg.links	2024-01-21 06:41:21.000000000 +0000
@@ -0,0 +1,4 @@
+#! /bin/sh
+for common in include/petsc lib/petsc/bin share; do
+  echo usr/share/petsc/${PETSC_SONAME_VERSION}/${common} ${PETSC_REAL_DEBUG_DIR_PREFIX}/${common}
+done
diff -Nru petsc-3.19.6+dfsg1/debian/libpetsc-real3.19t64-dbg.lintian-overrides petsc-3.19.6+dfsg1/debian/libpetsc-real3.19t64-dbg.lintian-overrides
--- petsc-3.19.6+dfsg1/debian/libpetsc-real3.19t64-dbg.lintian-overrides	1970-01-01 00:00:00.000000000 +0000
+++ petsc-3.19.6+dfsg1/debian/libpetsc-real3.19t64-dbg.lintian-overrides	2024-02-29 20:21:12.000000000 +0000
@@ -0,0 +1,3 @@
+# common arch-indep files are installed in usr/share/petsc
+breakout-link usr/lib/petscdir/petsc* -> usr/share/petsc/*
+libpetsc-real3.19t64-dbg: package-name-doesnt-match-sonames libpetsc-real3.19-dbg
diff -Nru petsc-3.19.6+dfsg1/debian/libpetsc-real3.19t64-dbg.postinst petsc-3.19.6+dfsg1/debian/libpetsc-real3.19t64-dbg.postinst
--- petsc-3.19.6+dfsg1/debian/libpetsc-real3.19t64-dbg.postinst	1970-01-01 00:00:00.000000000 +0000
+++ petsc-3.19.6+dfsg1/debian/libpetsc-real3.19t64-dbg.postinst	2024-01-21 06:41:21.000000000 +0000
@@ -0,0 +1,36 @@
+#!/bin/sh -e
+
+DEB_HOST_MULTIARCH=__DEB_HOST_MULTIARCH__
+
+PETSC_VERSION=__PETSC_VERSION__
+PETSC_ARCH=${DEB_HOST_MULTIARCH}
+PETSC_DEBUG_ARCH=${PETSC_ARCH}-real-debug
+PETSC_VERSION_NUMBER=$( echo ${PETSC_VERSION} | sed "s/\.//g" )
+PETSC_SONAME_VERSION=__PETSC_SONAME_VERSION__
+PETSC_NAME=petsc${PETSC_SONAME_VERSION}
+
+PETSC_DIR_REAL_DEBUG=/usr/lib/petscdir/${PETSC_NAME}/${PETSC_DEBUG_ARCH}
+
+# Make alternatives links
+if [ "$1" = "configure" ]; then
+
+# alternative libpetsc.so.multiarch is deprecated
+# test if libpetsc.so.multiarch is still in use, so remove old petsc alternatives
+# This should be safe since Conflicts are set up with the dev package versions using deprecated libpetsc.so.multiarch.
+if update-alternatives --query petsc | grep libpetsc.so.multiarch > /dev/null ; then
+  echo Removing deprecated petsc alternatives using libpetsc.so.multiarch.
+  for alt in `update-alternatives --list petsc`; do
+    update-alternatives --remove petsc ${alt}
+  done
+fi
+
+update-alternatives --install /usr/lib/petsc petsc ${PETSC_DIR_REAL_DEBUG} ${PETSC_VERSION_NUMBER}39 \
+  --slave /usr/lib/${DEB_HOST_MULTIARCH}/libpetsc.so libpetsc.so ${PETSC_DIR_REAL_DEBUG}/lib/libpetsc_real.so.${PETSC_VERSION} \
+  --slave /usr/include/petsc petscinclude ${PETSC_DIR_REAL_DEBUG}/include \
+  --slave /usr/lib/${DEB_HOST_MULTIARCH}/pkgconfig/PETSc.pc PETSc.pc ${PETSC_DIR_REAL_DEBUG}/lib/pkgconfig/PETSc.pc \
+  --slave /usr/lib/${DEB_HOST_MULTIARCH}/pkgconfig/petsc.pc petsc.pc ${PETSC_DIR_REAL_DEBUG}/lib/pkgconfig/petsc.pc \
+  --slave /usr/share/octave/site/m/petsc petsc-octave ${PETSC_DIR_REAL_DEBUG}/share/petsc/matlab
+
+fi
+
+#DEBHELPER#
diff -Nru petsc-3.19.6+dfsg1/debian/libpetsc-real3.19t64-dbg.prerm petsc-3.19.6+dfsg1/debian/libpetsc-real3.19t64-dbg.prerm
--- petsc-3.19.6+dfsg1/debian/libpetsc-real3.19t64-dbg.prerm	1970-01-01 00:00:00.000000000 +0000
+++ petsc-3.19.6+dfsg1/debian/libpetsc-real3.19t64-dbg.prerm	2024-01-21 06:41:21.000000000 +0000
@@ -0,0 +1,16 @@
+#!/bin/sh -e
+
+DEB_HOST_MULTIARCH=__DEB_HOST_MULTIARCH__
+
+PETSC_VERSION=__PETSC_VERSION__
+PETSC_ARCH=${DEB_HOST_MULTIARCH}
+PETSC_DEBUG_ARCH=${PETSC_ARCH}-real-debug
+PETSC_SONAME_VERSION=__PETSC_SONAME_VERSION__
+PETSC_NAME=petsc${PETSC_SONAME_VERSION}
+
+# Remove alternatives links
+if [ "$1" = "remove" ]; then
+  update-alternatives --remove petsc /usr/lib/petscdir/${PETSC_NAME}/${PETSC_DEBUG_ARCH}
+fi
+
+#DEBHELPER#
diff -Nru petsc-3.19.6+dfsg1/debian/libpetsc-real3.19t64.links petsc-3.19.6+dfsg1/debian/libpetsc-real3.19t64.links
--- petsc-3.19.6+dfsg1/debian/libpetsc-real3.19t64.links	1970-01-01 00:00:00.000000000 +0000
+++ petsc-3.19.6+dfsg1/debian/libpetsc-real3.19t64.links	2024-01-21 06:41:21.000000000 +0000
@@ -0,0 +1,2 @@
+#! /bin/sh
+echo usr/lib/${DEB_HOST_MULTIARCH}/libpetsc_real.so.${PETSC_VERSION} usr/lib/${DEB_HOST_MULTIARCH}/libpetsc_real.so.${PETSC_SONAME_VERSION}
diff -Nru petsc-3.19.6+dfsg1/debian/libpetsc-real3.19t64.lintian-overrides petsc-3.19.6+dfsg1/debian/libpetsc-real3.19t64.lintian-overrides
--- petsc-3.19.6+dfsg1/debian/libpetsc-real3.19t64.lintian-overrides	1970-01-01 00:00:00.000000000 +0000
+++ petsc-3.19.6+dfsg1/debian/libpetsc-real3.19t64.lintian-overrides	2024-02-29 20:21:12.000000000 +0000
@@ -0,0 +1,10 @@
+# libpetsc.so.X.Y soname links are managed by alternatives (libpetc.so.X.Y)
+ldconfig-symlink-missing-for-shlib usr/lib/*/libpetsc.so.* usr/lib/*/libpetsc-real.so.* libpetsc.so.*
+
+# libpetsc_real.so is handled by alternatives in libpetsc-realX.Y-dev
+lacks-unversioned-link-to-shared-library example: usr/lib/*/libpetsc_real.so [usr/lib/*/libpetsc_real.so.*]
+
+# the version of the broken packages is embedded in the package names
+breaks-without-version libpetsc*3.10*
+breaks-without-version libslepc*3.10*
+libpetsc-real3.19t64: package-name-doesnt-match-sonames libpetsc-real3.19
diff -Nru petsc-3.19.6+dfsg1/debian/libpetsc-real3.19t64.postinst petsc-3.19.6+dfsg1/debian/libpetsc-real3.19t64.postinst
--- petsc-3.19.6+dfsg1/debian/libpetsc-real3.19t64.postinst	1970-01-01 00:00:00.000000000 +0000
+++ petsc-3.19.6+dfsg1/debian/libpetsc-real3.19t64.postinst	2024-01-21 06:41:21.000000000 +0000
@@ -0,0 +1,15 @@
+#!/bin/sh -e
+
+DEB_HOST_MULTIARCH=__DEB_HOST_MULTIARCH__
+
+PETSC_VERSION=__PETSC_VERSION__
+PETSC_VERSION_NUMBER=$( echo ${PETSC_VERSION} | sed "s/\.//g" )
+SONAME=__PETSC_SONAME_VERSION__
+
+# Make alternatives links
+if [ "$1" = "configure" ]; then
+  # alternative petsc version (for given soname), real or complex
+  update-alternatives --install /usr/lib/${DEB_HOST_MULTIARCH}/libpetsc.so.${SONAME} libpetsc.so.${SONAME} /usr/lib/${DEB_HOST_MULTIARCH}/libpetsc_real.so.${PETSC_VERSION} ${PETSC_VERSION_NUMBER}77
+fi
+
+#DEBHELPER#
diff -Nru petsc-3.19.6+dfsg1/debian/libpetsc-real3.19t64.prerm petsc-3.19.6+dfsg1/debian/libpetsc-real3.19t64.prerm
--- petsc-3.19.6+dfsg1/debian/libpetsc-real3.19t64.prerm	1970-01-01 00:00:00.000000000 +0000
+++ petsc-3.19.6+dfsg1/debian/libpetsc-real3.19t64.prerm	2024-01-21 06:41:21.000000000 +0000
@@ -0,0 +1,12 @@
+#!/bin/sh -e
+
+DEB_HOST_MULTIARCH=__DEB_HOST_MULTIARCH__
+PETSC_VERSION=__PETSC_VERSION__
+SONAME=__PETSC_SONAME_VERSION__
+
+# Remove alternatives links
+if [ "$1" = "remove" ]; then
+  update-alternatives --remove libpetsc.so.${SONAME} /usr/lib/${DEB_HOST_MULTIARCH}/libpetsc_real.so.${PETSC_VERSION}
+fi
+
+#DEBHELPER#
diff -Nru petsc-3.19.6+dfsg1/debian/libpetsc64-complex3.19-dbg.dirs petsc-3.19.6+dfsg1/debian/libpetsc64-complex3.19-dbg.dirs
--- petsc-3.19.6+dfsg1/debian/libpetsc64-complex3.19-dbg.dirs	2024-01-21 06:41:21.000000000 +0000
+++ petsc-3.19.6+dfsg1/debian/libpetsc64-complex3.19-dbg.dirs	1970-01-01 00:00:00.000000000 +0000
@@ -1 +0,0 @@
-/usr/share/octave/site/m
diff -Nru petsc-3.19.6+dfsg1/debian/libpetsc64-complex3.19-dbg.fortran-mod petsc-3.19.6+dfsg1/debian/libpetsc64-complex3.19-dbg.fortran-mod
--- petsc-3.19.6+dfsg1/debian/libpetsc64-complex3.19-dbg.fortran-mod	2024-01-21 06:41:21.000000000 +0000
+++ petsc-3.19.6+dfsg1/debian/libpetsc64-complex3.19-dbg.fortran-mod	1970-01-01 00:00:00.000000000 +0000
@@ -1,5 +0,0 @@
-#! /bin/sh
-for modpath in debian/tmp/petsc64-${PETSC_SONAME_VERSION}-complex-debug/${PETSC64_COMPLEX_DEBUG_DIR_PREFIX}/include/*.mod; do
-  modfile=$(basename $modpath)
-  echo ${modpath} ${PETSC64_COMPLEX_DEBUG_DIR_PREFIX}/include
-done
diff -Nru petsc-3.19.6+dfsg1/debian/libpetsc64-complex3.19-dbg.links petsc-3.19.6+dfsg1/debian/libpetsc64-complex3.19-dbg.links
--- petsc-3.19.6+dfsg1/debian/libpetsc64-complex3.19-dbg.links	2024-01-21 06:41:21.000000000 +0000
+++ petsc-3.19.6+dfsg1/debian/libpetsc64-complex3.19-dbg.links	1970-01-01 00:00:00.000000000 +0000
@@ -1,6 +0,0 @@
-#! /bin/sh
-for common in include/petsc lib/petsc/bin share; do
-  echo usr/share/petsc/${PETSC_SONAME_VERSION}/${common} ${PETSC64_COMPLEX_DEBUG_DIR_PREFIX}/${common}
-done
-echo ${PETSC64_COMPLEX_DEBUG_DIR_PREFIX}/lib/pkgconfig/petsc.pc ${PETSC64_COMPLEX_DEBUG_DIR_PREFIX}/lib/pkgconfig/petsc64.pc
-echo ${PETSC64_COMPLEX_DEBUG_DIR_PREFIX}/lib/pkgconfig/PETSc.pc ${PETSC64_COMPLEX_DEBUG_DIR_PREFIX}/lib/pkgconfig/PETSc64.pc
diff -Nru petsc-3.19.6+dfsg1/debian/libpetsc64-complex3.19-dbg.lintian-overrides petsc-3.19.6+dfsg1/debian/libpetsc64-complex3.19-dbg.lintian-overrides
--- petsc-3.19.6+dfsg1/debian/libpetsc64-complex3.19-dbg.lintian-overrides	2024-01-21 06:41:21.000000000 +0000
+++ petsc-3.19.6+dfsg1/debian/libpetsc64-complex3.19-dbg.lintian-overrides	1970-01-01 00:00:00.000000000 +0000
@@ -1,2 +0,0 @@
-# common arch-indep files are installed in usr/share/petsc
-breakout-link usr/lib/petscdir/petsc* -> usr/share/petsc/*
diff -Nru petsc-3.19.6+dfsg1/debian/libpetsc64-complex3.19-dbg.postinst petsc-3.19.6+dfsg1/debian/libpetsc64-complex3.19-dbg.postinst
--- petsc-3.19.6+dfsg1/debian/libpetsc64-complex3.19-dbg.postinst	2024-01-21 06:41:21.000000000 +0000
+++ petsc-3.19.6+dfsg1/debian/libpetsc64-complex3.19-dbg.postinst	1970-01-01 00:00:00.000000000 +0000
@@ -1,28 +0,0 @@
-#!/bin/sh -e
-
-DEB_HOST_MULTIARCH=__DEB_HOST_MULTIARCH__
-
-PETSC_VERSION=__PETSC_VERSION__
-PETSC_ARCH=${DEB_HOST_MULTIARCH}
-PETSC_DEBUG_ARCH=${PETSC_ARCH}-complex-debug
-PETSC_VERSION_NUMBER=$( echo ${PETSC_VERSION} | sed "s/\.//g" )
-PETSC_SONAME_VERSION=__PETSC_SONAME_VERSION__
-PETSC64_NAME=petsc64-${PETSC_SONAME_VERSION}
-
-PETSC64_DIR_COMPLEX_DEBUG=/usr/lib/petscdir/${PETSC64_NAME}/${PETSC_DEBUG_ARCH}
-
-
-# Make alternatives links
-if [ "$1" = "configure" ]; then
-
-update-alternatives --install /usr/lib/petsc64 petsc64 ${PETSC64_DIR_COMPLEX_DEBUG} ${PETSC_VERSION_NUMBER}33 \
-  --slave /usr/lib/${DEB_HOST_MULTIARCH}/libpetsc64.so libpetsc64.so ${PETSC64_DIR_COMPLEX_DEBUG}/lib/libpetsc64_complex.so.${PETSC_VERSION} \
-  --slave /usr/include/petsc64 petsc64include ${PETSC64_DIR_COMPLEX_DEBUG}/include \
-  --slave /usr/lib/${DEB_HOST_MULTIARCH}/pkgconfig/PETSc64.pc PETSc64.pc ${PETSC64_DIR_COMPLEX_DEBUG}/lib/pkgconfig/PETSc.pc \
-  --slave /usr/lib/${DEB_HOST_MULTIARCH}/pkgconfig/petsc64.pc petsc64.pc ${PETSC64_DIR_COMPLEX_DEBUG}/lib/pkgconfig/petsc.pc \
-  --slave /usr/share/octave/site/m/petsc64 petsc64-octave ${PETSC64_DIR_COMPLEX_DEBUG}/share/petsc/matlab
-
-fi
-
-
-#DEBHELPER#
diff -Nru petsc-3.19.6+dfsg1/debian/libpetsc64-complex3.19-dbg.prerm petsc-3.19.6+dfsg1/debian/libpetsc64-complex3.19-dbg.prerm
--- petsc-3.19.6+dfsg1/debian/libpetsc64-complex3.19-dbg.prerm	2024-01-21 06:41:21.000000000 +0000
+++ petsc-3.19.6+dfsg1/debian/libpetsc64-complex3.19-dbg.prerm	1970-01-01 00:00:00.000000000 +0000
@@ -1,16 +0,0 @@
-#!/bin/sh -e
-
-DEB_HOST_MULTIARCH=__DEB_HOST_MULTIARCH__
-
-PETSC_VERSION=__PETSC_VERSION__
-PETSC_ARCH=${DEB_HOST_MULTIARCH}
-PETSC_DEBUG_ARCH=${PETSC_ARCH}-complex-debug
-PETSC_SONAME_VERSION=__PETSC_SONAME_VERSION__
-PETSC64_NAME=petsc64-${PETSC_SONAME_VERSION}
-
-# Remove alternatives links
-if [ "$1" = "remove" ]; then
-  update-alternatives --remove petsc64 /usr/lib/petscdir/${PETSC64_NAME}/${PETSC_DEBUG_ARCH}
-fi
-
-#DEBHELPER#
diff -Nru petsc-3.19.6+dfsg1/debian/libpetsc64-complex3.19.links petsc-3.19.6+dfsg1/debian/libpetsc64-complex3.19.links
--- petsc-3.19.6+dfsg1/debian/libpetsc64-complex3.19.links	2024-01-21 06:41:21.000000000 +0000
+++ petsc-3.19.6+dfsg1/debian/libpetsc64-complex3.19.links	1970-01-01 00:00:00.000000000 +0000
@@ -1,2 +0,0 @@
-#! /bin/sh
-echo usr/lib/${DEB_HOST_MULTIARCH}/libpetsc64_complex.so.${PETSC_VERSION} usr/lib/${DEB_HOST_MULTIARCH}/libpetsc64_complex.so.${PETSC_SONAME_VERSION}
diff -Nru petsc-3.19.6+dfsg1/debian/libpetsc64-complex3.19.lintian-overrides petsc-3.19.6+dfsg1/debian/libpetsc64-complex3.19.lintian-overrides
--- petsc-3.19.6+dfsg1/debian/libpetsc64-complex3.19.lintian-overrides	2024-01-21 06:41:21.000000000 +0000
+++ petsc-3.19.6+dfsg1/debian/libpetsc64-complex3.19.lintian-overrides	1970-01-01 00:00:00.000000000 +0000
@@ -1,5 +0,0 @@
-# libpetsc64.so.X.Y soname links are managed by alternatives (libpetc64.so.X.Y)
-ldconfig-symlink-missing-for-shlib usr/lib/*/libpetsc64.so.* usr/lib/*/libpetsc64-complex.so.* libpetsc64.so.*
-
-# libpetsc64_complex.so is handled by alternatives in libpetsc64-complexX.Y-dev
-lacks-unversioned-link-to-shared-library example: usr/lib/*/libpetsc64_complex.so [usr/lib/*/libpetsc64_complex.so.*]
diff -Nru petsc-3.19.6+dfsg1/debian/libpetsc64-complex3.19.postinst petsc-3.19.6+dfsg1/debian/libpetsc64-complex3.19.postinst
--- petsc-3.19.6+dfsg1/debian/libpetsc64-complex3.19.postinst	2024-01-21 06:41:21.000000000 +0000
+++ petsc-3.19.6+dfsg1/debian/libpetsc64-complex3.19.postinst	1970-01-01 00:00:00.000000000 +0000
@@ -1,15 +0,0 @@
-#!/bin/sh -e
-
-DEB_HOST_MULTIARCH=__DEB_HOST_MULTIARCH__
-
-PETSC_VERSION=__PETSC_VERSION__
-PETSC_VERSION_NUMBER=$( echo ${PETSC_VERSION} | sed "s/\.//g" )
-SONAME=__PETSC_SONAME_VERSION__
-
-# Make alternatives links
-if [ "$1" = "configure" ]; then
-  # alternative petsc version (for given soname), real or complex
-  update-alternatives --install /usr/lib/${DEB_HOST_MULTIARCH}/libpetsc64.so.${SONAME} libpetsc64.so.${SONAME} /usr/lib/${DEB_HOST_MULTIARCH}/libpetsc64_complex.so.${PETSC_VERSION} ${PETSC_VERSION_NUMBER}73
-fi
-
-#DEBHELPER#
diff -Nru petsc-3.19.6+dfsg1/debian/libpetsc64-complex3.19.prerm petsc-3.19.6+dfsg1/debian/libpetsc64-complex3.19.prerm
--- petsc-3.19.6+dfsg1/debian/libpetsc64-complex3.19.prerm	2024-01-21 06:41:21.000000000 +0000
+++ petsc-3.19.6+dfsg1/debian/libpetsc64-complex3.19.prerm	1970-01-01 00:00:00.000000000 +0000
@@ -1,12 +0,0 @@
-#!/bin/sh -e
-
-DEB_HOST_MULTIARCH=__DEB_HOST_MULTIARCH__
-PETSC_VERSION=__PETSC_VERSION__
-SONAME=__PETSC_SONAME_VERSION__
-
-# Remove alternatives links
-if [ "$1" = "remove" ]; then
-  update-alternatives --remove libpetsc64.so.${SONAME} /usr/lib/${DEB_HOST_MULTIARCH}/libpetsc64_complex.so.${PETSC_VERSION}
-fi
-
-#DEBHELPER#
diff -Nru petsc-3.19.6+dfsg1/debian/libpetsc64-complex3.19t64-dbg.dirs petsc-3.19.6+dfsg1/debian/libpetsc64-complex3.19t64-dbg.dirs
--- petsc-3.19.6+dfsg1/debian/libpetsc64-complex3.19t64-dbg.dirs	1970-01-01 00:00:00.000000000 +0000
+++ petsc-3.19.6+dfsg1/debian/libpetsc64-complex3.19t64-dbg.dirs	2024-01-21 06:41:21.000000000 +0000
@@ -0,0 +1 @@
+/usr/share/octave/site/m
diff -Nru petsc-3.19.6+dfsg1/debian/libpetsc64-complex3.19t64-dbg.fortran-mod petsc-3.19.6+dfsg1/debian/libpetsc64-complex3.19t64-dbg.fortran-mod
--- petsc-3.19.6+dfsg1/debian/libpetsc64-complex3.19t64-dbg.fortran-mod	1970-01-01 00:00:00.000000000 +0000
+++ petsc-3.19.6+dfsg1/debian/libpetsc64-complex3.19t64-dbg.fortran-mod	2024-01-21 06:41:21.000000000 +0000
@@ -0,0 +1,5 @@
+#! /bin/sh
+for modpath in debian/tmp/petsc64-${PETSC_SONAME_VERSION}-complex-debug/${PETSC64_COMPLEX_DEBUG_DIR_PREFIX}/include/*.mod; do
+  modfile=$(basename $modpath)
+  echo ${modpath} ${PETSC64_COMPLEX_DEBUG_DIR_PREFIX}/include
+done
diff -Nru petsc-3.19.6+dfsg1/debian/libpetsc64-complex3.19t64-dbg.links petsc-3.19.6+dfsg1/debian/libpetsc64-complex3.19t64-dbg.links
--- petsc-3.19.6+dfsg1/debian/libpetsc64-complex3.19t64-dbg.links	1970-01-01 00:00:00.000000000 +0000
+++ petsc-3.19.6+dfsg1/debian/libpetsc64-complex3.19t64-dbg.links	2024-01-21 06:41:21.000000000 +0000
@@ -0,0 +1,6 @@
+#! /bin/sh
+for common in include/petsc lib/petsc/bin share; do
+  echo usr/share/petsc/${PETSC_SONAME_VERSION}/${common} ${PETSC64_COMPLEX_DEBUG_DIR_PREFIX}/${common}
+done
+echo ${PETSC64_COMPLEX_DEBUG_DIR_PREFIX}/lib/pkgconfig/petsc.pc ${PETSC64_COMPLEX_DEBUG_DIR_PREFIX}/lib/pkgconfig/petsc64.pc
+echo ${PETSC64_COMPLEX_DEBUG_DIR_PREFIX}/lib/pkgconfig/PETSc.pc ${PETSC64_COMPLEX_DEBUG_DIR_PREFIX}/lib/pkgconfig/PETSc64.pc
diff -Nru petsc-3.19.6+dfsg1/debian/libpetsc64-complex3.19t64-dbg.lintian-overrides petsc-3.19.6+dfsg1/debian/libpetsc64-complex3.19t64-dbg.lintian-overrides
--- petsc-3.19.6+dfsg1/debian/libpetsc64-complex3.19t64-dbg.lintian-overrides	1970-01-01 00:00:00.000000000 +0000
+++ petsc-3.19.6+dfsg1/debian/libpetsc64-complex3.19t64-dbg.lintian-overrides	2024-02-29 20:21:12.000000000 +0000
@@ -0,0 +1,3 @@
+# common arch-indep files are installed in usr/share/petsc
+breakout-link usr/lib/petscdir/petsc* -> usr/share/petsc/*
+libpetsc64-complex3.19t64-dbg: package-name-doesnt-match-sonames libpetsc64-complex3.19-dbg
diff -Nru petsc-3.19.6+dfsg1/debian/libpetsc64-complex3.19t64-dbg.postinst petsc-3.19.6+dfsg1/debian/libpetsc64-complex3.19t64-dbg.postinst
--- petsc-3.19.6+dfsg1/debian/libpetsc64-complex3.19t64-dbg.postinst	1970-01-01 00:00:00.000000000 +0000
+++ petsc-3.19.6+dfsg1/debian/libpetsc64-complex3.19t64-dbg.postinst	2024-01-21 06:41:21.000000000 +0000
@@ -0,0 +1,28 @@
+#!/bin/sh -e
+
+DEB_HOST_MULTIARCH=__DEB_HOST_MULTIARCH__
+
+PETSC_VERSION=__PETSC_VERSION__
+PETSC_ARCH=${DEB_HOST_MULTIARCH}
+PETSC_DEBUG_ARCH=${PETSC_ARCH}-complex-debug
+PETSC_VERSION_NUMBER=$( echo ${PETSC_VERSION} | sed "s/\.//g" )
+PETSC_SONAME_VERSION=__PETSC_SONAME_VERSION__
+PETSC64_NAME=petsc64-${PETSC_SONAME_VERSION}
+
+PETSC64_DIR_COMPLEX_DEBUG=/usr/lib/petscdir/${PETSC64_NAME}/${PETSC_DEBUG_ARCH}
+
+
+# Make alternatives links
+if [ "$1" = "configure" ]; then
+
+update-alternatives --install /usr/lib/petsc64 petsc64 ${PETSC64_DIR_COMPLEX_DEBUG} ${PETSC_VERSION_NUMBER}33 \
+  --slave /usr/lib/${DEB_HOST_MULTIARCH}/libpetsc64.so libpetsc64.so ${PETSC64_DIR_COMPLEX_DEBUG}/lib/libpetsc64_complex.so.${PETSC_VERSION} \
+  --slave /usr/include/petsc64 petsc64include ${PETSC64_DIR_COMPLEX_DEBUG}/include \
+  --slave /usr/lib/${DEB_HOST_MULTIARCH}/pkgconfig/PETSc64.pc PETSc64.pc ${PETSC64_DIR_COMPLEX_DEBUG}/lib/pkgconfig/PETSc.pc \
+  --slave /usr/lib/${DEB_HOST_MULTIARCH}/pkgconfig/petsc64.pc petsc64.pc ${PETSC64_DIR_COMPLEX_DEBUG}/lib/pkgconfig/petsc.pc \
+  --slave /usr/share/octave/site/m/petsc64 petsc64-octave ${PETSC64_DIR_COMPLEX_DEBUG}/share/petsc/matlab
+
+fi
+
+
+#DEBHELPER#
diff -Nru petsc-3.19.6+dfsg1/debian/libpetsc64-complex3.19t64-dbg.prerm petsc-3.19.6+dfsg1/debian/libpetsc64-complex3.19t64-dbg.prerm
--- petsc-3.19.6+dfsg1/debian/libpetsc64-complex3.19t64-dbg.prerm	1970-01-01 00:00:00.000000000 +0000
+++ petsc-3.19.6+dfsg1/debian/libpetsc64-complex3.19t64-dbg.prerm	2024-01-21 06:41:21.000000000 +0000
@@ -0,0 +1,16 @@
+#!/bin/sh -e
+
+DEB_HOST_MULTIARCH=__DEB_HOST_MULTIARCH__
+
+PETSC_VERSION=__PETSC_VERSION__
+PETSC_ARCH=${DEB_HOST_MULTIARCH}
+PETSC_DEBUG_ARCH=${PETSC_ARCH}-complex-debug
+PETSC_SONAME_VERSION=__PETSC_SONAME_VERSION__
+PETSC64_NAME=petsc64-${PETSC_SONAME_VERSION}
+
+# Remove alternatives links
+if [ "$1" = "remove" ]; then
+  update-alternatives --remove petsc64 /usr/lib/petscdir/${PETSC64_NAME}/${PETSC_DEBUG_ARCH}
+fi
+
+#DEBHELPER#
diff -Nru petsc-3.19.6+dfsg1/debian/libpetsc64-complex3.19t64.links petsc-3.19.6+dfsg1/debian/libpetsc64-complex3.19t64.links
--- petsc-3.19.6+dfsg1/debian/libpetsc64-complex3.19t64.links	1970-01-01 00:00:00.000000000 +0000
+++ petsc-3.19.6+dfsg1/debian/libpetsc64-complex3.19t64.links	2024-01-21 06:41:21.000000000 +0000
@@ -0,0 +1,2 @@
+#! /bin/sh
+echo usr/lib/${DEB_HOST_MULTIARCH}/libpetsc64_complex.so.${PETSC_VERSION} usr/lib/${DEB_HOST_MULTIARCH}/libpetsc64_complex.so.${PETSC_SONAME_VERSION}
diff -Nru petsc-3.19.6+dfsg1/debian/libpetsc64-complex3.19t64.lintian-overrides petsc-3.19.6+dfsg1/debian/libpetsc64-complex3.19t64.lintian-overrides
--- petsc-3.19.6+dfsg1/debian/libpetsc64-complex3.19t64.lintian-overrides	1970-01-01 00:00:00.000000000 +0000
+++ petsc-3.19.6+dfsg1/debian/libpetsc64-complex3.19t64.lintian-overrides	2024-02-29 20:21:12.000000000 +0000
@@ -0,0 +1,6 @@
+# libpetsc64.so.X.Y soname links are managed by alternatives (libpetc64.so.X.Y)
+ldconfig-symlink-missing-for-shlib usr/lib/*/libpetsc64.so.* usr/lib/*/libpetsc64-complex.so.* libpetsc64.so.*
+
+# libpetsc64_complex.so is handled by alternatives in libpetsc64-complexX.Y-dev
+lacks-unversioned-link-to-shared-library example: usr/lib/*/libpetsc64_complex.so [usr/lib/*/libpetsc64_complex.so.*]
+libpetsc64-complex3.19t64: package-name-doesnt-match-sonames libpetsc64-complex3.19
diff -Nru petsc-3.19.6+dfsg1/debian/libpetsc64-complex3.19t64.postinst petsc-3.19.6+dfsg1/debian/libpetsc64-complex3.19t64.postinst
--- petsc-3.19.6+dfsg1/debian/libpetsc64-complex3.19t64.postinst	1970-01-01 00:00:00.000000000 +0000
+++ petsc-3.19.6+dfsg1/debian/libpetsc64-complex3.19t64.postinst	2024-01-21 06:41:21.000000000 +0000
@@ -0,0 +1,15 @@
+#!/bin/sh -e
+
+DEB_HOST_MULTIARCH=__DEB_HOST_MULTIARCH__
+
+PETSC_VERSION=__PETSC_VERSION__
+PETSC_VERSION_NUMBER=$( echo ${PETSC_VERSION} | sed "s/\.//g" )
+SONAME=__PETSC_SONAME_VERSION__
+
+# Make alternatives links
+if [ "$1" = "configure" ]; then
+  # alternative petsc version (for given soname), real or complex
+  update-alternatives --install /usr/lib/${DEB_HOST_MULTIARCH}/libpetsc64.so.${SONAME} libpetsc64.so.${SONAME} /usr/lib/${DEB_HOST_MULTIARCH}/libpetsc64_complex.so.${PETSC_VERSION} ${PETSC_VERSION_NUMBER}73
+fi
+
+#DEBHELPER#
diff -Nru petsc-3.19.6+dfsg1/debian/libpetsc64-complex3.19t64.prerm petsc-3.19.6+dfsg1/debian/libpetsc64-complex3.19t64.prerm
--- petsc-3.19.6+dfsg1/debian/libpetsc64-complex3.19t64.prerm	1970-01-01 00:00:00.000000000 +0000
+++ petsc-3.19.6+dfsg1/debian/libpetsc64-complex3.19t64.prerm	2024-01-21 06:41:21.000000000 +0000
@@ -0,0 +1,12 @@
+#!/bin/sh -e
+
+DEB_HOST_MULTIARCH=__DEB_HOST_MULTIARCH__
+PETSC_VERSION=__PETSC_VERSION__
+SONAME=__PETSC_SONAME_VERSION__
+
+# Remove alternatives links
+if [ "$1" = "remove" ]; then
+  update-alternatives --remove libpetsc64.so.${SONAME} /usr/lib/${DEB_HOST_MULTIARCH}/libpetsc64_complex.so.${PETSC_VERSION}
+fi
+
+#DEBHELPER#
diff -Nru petsc-3.19.6+dfsg1/debian/libpetsc64-real3.19-dbg.dirs petsc-3.19.6+dfsg1/debian/libpetsc64-real3.19-dbg.dirs
--- petsc-3.19.6+dfsg1/debian/libpetsc64-real3.19-dbg.dirs	2024-01-21 06:41:21.000000000 +0000
+++ petsc-3.19.6+dfsg1/debian/libpetsc64-real3.19-dbg.dirs	1970-01-01 00:00:00.000000000 +0000
@@ -1 +0,0 @@
-/usr/share/octave/site/m
diff -Nru petsc-3.19.6+dfsg1/debian/libpetsc64-real3.19-dbg.fortran-mod petsc-3.19.6+dfsg1/debian/libpetsc64-real3.19-dbg.fortran-mod
--- petsc-3.19.6+dfsg1/debian/libpetsc64-real3.19-dbg.fortran-mod	2024-01-21 06:41:21.000000000 +0000
+++ petsc-3.19.6+dfsg1/debian/libpetsc64-real3.19-dbg.fortran-mod	1970-01-01 00:00:00.000000000 +0000
@@ -1,5 +0,0 @@
-#! /bin/sh
-for modpath in debian/tmp/petsc64-${PETSC_SONAME_VERSION}-real-debug/${PETSC64_REAL_DEBUG_DIR_PREFIX}/include/*.mod; do
-  modfile=$(basename $modpath)
-  echo ${modpath} ${PETSC64_REAL_DEBUG_DIR_PREFIX}/include
-done
diff -Nru petsc-3.19.6+dfsg1/debian/libpetsc64-real3.19-dbg.links petsc-3.19.6+dfsg1/debian/libpetsc64-real3.19-dbg.links
--- petsc-3.19.6+dfsg1/debian/libpetsc64-real3.19-dbg.links	2024-01-21 06:41:21.000000000 +0000
+++ petsc-3.19.6+dfsg1/debian/libpetsc64-real3.19-dbg.links	1970-01-01 00:00:00.000000000 +0000
@@ -1,6 +0,0 @@
-#! /bin/sh
-for common in include/petsc lib/petsc/bin share; do
-  echo usr/share/petsc/${PETSC_SONAME_VERSION}/${common} ${PETSC64_REAL_DEBUG_DIR_PREFIX}/${common}
-done
-echo ${PETSC64_REAL_DEBUG_DIR_PREFIX}/lib/pkgconfig/petsc.pc ${PETSC64_REAL_DEBUG_DIR_PREFIX}/lib/pkgconfig/petsc64.pc
-echo ${PETSC64_REAL_DEBUG_DIR_PREFIX}/lib/pkgconfig/PETSc.pc ${PETSC64_REAL_DEBUG_DIR_PREFIX}/lib/pkgconfig/PETSc64.pc
diff -Nru petsc-3.19.6+dfsg1/debian/libpetsc64-real3.19-dbg.lintian-overrides petsc-3.19.6+dfsg1/debian/libpetsc64-real3.19-dbg.lintian-overrides
--- petsc-3.19.6+dfsg1/debian/libpetsc64-real3.19-dbg.lintian-overrides	2024-01-21 06:41:21.000000000 +0000
+++ petsc-3.19.6+dfsg1/debian/libpetsc64-real3.19-dbg.lintian-overrides	1970-01-01 00:00:00.000000000 +0000
@@ -1,2 +0,0 @@
-# common arch-indep files are installed in usr/share/petsc
-breakout-link usr/lib/petscdir/petsc* -> usr/share/petsc/*
diff -Nru petsc-3.19.6+dfsg1/debian/libpetsc64-real3.19-dbg.postinst petsc-3.19.6+dfsg1/debian/libpetsc64-real3.19-dbg.postinst
--- petsc-3.19.6+dfsg1/debian/libpetsc64-real3.19-dbg.postinst	2024-01-21 06:41:21.000000000 +0000
+++ petsc-3.19.6+dfsg1/debian/libpetsc64-real3.19-dbg.postinst	1970-01-01 00:00:00.000000000 +0000
@@ -1,26 +0,0 @@
-#!/bin/sh -e
-
-DEB_HOST_MULTIARCH=__DEB_HOST_MULTIARCH__
-
-PETSC_VERSION=__PETSC_VERSION__
-PETSC_ARCH=${DEB_HOST_MULTIARCH}
-PETSC_DEBUG_ARCH=${PETSC_ARCH}-real-debug
-PETSC_VERSION_NUMBER=$( echo ${PETSC_VERSION} | sed "s/\.//g" )
-PETSC_SONAME_VERSION=__PETSC_SONAME_VERSION__
-PETSC64_NAME=petsc64-${PETSC_SONAME_VERSION}
-
-PETSC64_DIR_REAL_DEBUG=/usr/lib/petscdir/${PETSC64_NAME}/${PETSC_DEBUG_ARCH}
-
-# Make alternatives links
-if [ "$1" = "configure" ]; then
-
-update-alternatives --install /usr/lib/petsc64 petsc64 ${PETSC64_DIR_REAL_DEBUG} ${PETSC_VERSION_NUMBER}35 \
-  --slave /usr/lib/${DEB_HOST_MULTIARCH}/libpetsc64.so libpetsc64.so ${PETSC64_DIR_REAL_DEBUG}/lib/libpetsc64_real.so.${PETSC_VERSION} \
-  --slave /usr/include/petsc64 petsc64include ${PETSC64_DIR_REAL_DEBUG}/include \
-  --slave /usr/lib/${DEB_HOST_MULTIARCH}/pkgconfig/PETSc64.pc PETSc64.pc ${PETSC64_DIR_REAL_DEBUG}/lib/pkgconfig/PETSc.pc \
-  --slave /usr/lib/${DEB_HOST_MULTIARCH}/pkgconfig/petsc64.pc petsc64.pc ${PETSC64_DIR_REAL_DEBUG}/lib/pkgconfig/petsc.pc \
-  --slave /usr/share/octave/site/m/petsc64 petsc64-octave ${PETSC64_DIR_REAL_DEBUG}/share/petsc/matlab
-
-fi
-
-#DEBHELPER#
diff -Nru petsc-3.19.6+dfsg1/debian/libpetsc64-real3.19-dbg.prerm petsc-3.19.6+dfsg1/debian/libpetsc64-real3.19-dbg.prerm
--- petsc-3.19.6+dfsg1/debian/libpetsc64-real3.19-dbg.prerm	2024-01-21 06:41:21.000000000 +0000
+++ petsc-3.19.6+dfsg1/debian/libpetsc64-real3.19-dbg.prerm	1970-01-01 00:00:00.000000000 +0000
@@ -1,16 +0,0 @@
-#!/bin/sh -e
-
-DEB_HOST_MULTIARCH=__DEB_HOST_MULTIARCH__
-
-PETSC_VERSION=__PETSC_VERSION__
-PETSC_ARCH=${DEB_HOST_MULTIARCH}
-PETSC_DEBUG_ARCH=${PETSC_ARCH}-real-debug
-PETSC_SONAME_VERSION=__PETSC_SONAME_VERSION__
-PETSC64_NAME=petsc64-${PETSC_SONAME_VERSION}
-
-# Remove alternatives links
-if [ "$1" = "remove" ]; then
-  update-alternatives --remove petsc64 /usr/lib/petscdir/${PETSC64_NAME}/${PETSC_DEBUG_ARCH}
-fi
-
-#DEBHELPER#
diff -Nru petsc-3.19.6+dfsg1/debian/libpetsc64-real3.19.links petsc-3.19.6+dfsg1/debian/libpetsc64-real3.19.links
--- petsc-3.19.6+dfsg1/debian/libpetsc64-real3.19.links	2024-01-21 06:41:21.000000000 +0000
+++ petsc-3.19.6+dfsg1/debian/libpetsc64-real3.19.links	1970-01-01 00:00:00.000000000 +0000
@@ -1,2 +0,0 @@
-#! /bin/sh
-echo usr/lib/${DEB_HOST_MULTIARCH}/libpetsc64_real.so.${PETSC_VERSION} usr/lib/${DEB_HOST_MULTIARCH}/libpetsc64_real.so.${PETSC_SONAME_VERSION}
diff -Nru petsc-3.19.6+dfsg1/debian/libpetsc64-real3.19.lintian-overrides petsc-3.19.6+dfsg1/debian/libpetsc64-real3.19.lintian-overrides
--- petsc-3.19.6+dfsg1/debian/libpetsc64-real3.19.lintian-overrides	2024-01-21 06:41:21.000000000 +0000
+++ petsc-3.19.6+dfsg1/debian/libpetsc64-real3.19.lintian-overrides	1970-01-01 00:00:00.000000000 +0000
@@ -1,5 +0,0 @@
-# libpetsc64.so.X.Y soname links are managed by alternatives (libpetc64.so.X.Y)
-ldconfig-symlink-missing-for-shlib usr/lib/*/libpetsc64.so.* usr/lib/*/libpetsc64-real.so.* libpetsc64.so.*
-
-# libpetsc64_real.so is handled by alternatives in libpetsc64-realX.Y-dev
-lacks-unversioned-link-to-shared-library example: usr/lib/*/libpetsc64_real.so [usr/lib/*/libpetsc64_real.so.*]
diff -Nru petsc-3.19.6+dfsg1/debian/libpetsc64-real3.19.postinst petsc-3.19.6+dfsg1/debian/libpetsc64-real3.19.postinst
--- petsc-3.19.6+dfsg1/debian/libpetsc64-real3.19.postinst	2024-01-21 06:41:21.000000000 +0000
+++ petsc-3.19.6+dfsg1/debian/libpetsc64-real3.19.postinst	1970-01-01 00:00:00.000000000 +0000
@@ -1,15 +0,0 @@
-#!/bin/sh -e
-
-DEB_HOST_MULTIARCH=__DEB_HOST_MULTIARCH__
-
-PETSC_VERSION=__PETSC_VERSION__
-PETSC_VERSION_NUMBER=$( echo ${PETSC_VERSION} | sed "s/\.//g" )
-SONAME=__PETSC_SONAME_VERSION__
-
-# Make alternatives links
-if [ "$1" = "configure" ]; then
-  # alternative petsc version (for given soname), real or complex
-  update-alternatives --install /usr/lib/${DEB_HOST_MULTIARCH}/libpetsc64.so.${SONAME} libpetsc64.so.${SONAME} /usr/lib/${DEB_HOST_MULTIARCH}/libpetsc64_real.so.${PETSC_VERSION} ${PETSC_VERSION_NUMBER}77
-fi
-
-#DEBHELPER#
diff -Nru petsc-3.19.6+dfsg1/debian/libpetsc64-real3.19.prerm petsc-3.19.6+dfsg1/debian/libpetsc64-real3.19.prerm
--- petsc-3.19.6+dfsg1/debian/libpetsc64-real3.19.prerm	2024-01-21 06:41:21.000000000 +0000
+++ petsc-3.19.6+dfsg1/debian/libpetsc64-real3.19.prerm	1970-01-01 00:00:00.000000000 +0000
@@ -1,12 +0,0 @@
-#!/bin/sh -e
-
-DEB_HOST_MULTIARCH=__DEB_HOST_MULTIARCH__
-PETSC_VERSION=__PETSC_VERSION__
-SONAME=__PETSC_SONAME_VERSION__
-
-# Remove alternatives links
-if [ "$1" = "remove" ]; then
-  update-alternatives --remove libpetsc64.so.${SONAME} /usr/lib/${DEB_HOST_MULTIARCH}/libpetsc64_real.so.${PETSC_VERSION}
-fi
-
-#DEBHELPER#
diff -Nru petsc-3.19.6+dfsg1/debian/libpetsc64-real3.19t64-dbg.dirs petsc-3.19.6+dfsg1/debian/libpetsc64-real3.19t64-dbg.dirs
--- petsc-3.19.6+dfsg1/debian/libpetsc64-real3.19t64-dbg.dirs	1970-01-01 00:00:00.000000000 +0000
+++ petsc-3.19.6+dfsg1/debian/libpetsc64-real3.19t64-dbg.dirs	2024-01-21 06:41:21.000000000 +0000
@@ -0,0 +1 @@
+/usr/share/octave/site/m
diff -Nru petsc-3.19.6+dfsg1/debian/libpetsc64-real3.19t64-dbg.fortran-mod petsc-3.19.6+dfsg1/debian/libpetsc64-real3.19t64-dbg.fortran-mod
--- petsc-3.19.6+dfsg1/debian/libpetsc64-real3.19t64-dbg.fortran-mod	1970-01-01 00:00:00.000000000 +0000
+++ petsc-3.19.6+dfsg1/debian/libpetsc64-real3.19t64-dbg.fortran-mod	2024-01-21 06:41:21.000000000 +0000
@@ -0,0 +1,5 @@
+#! /bin/sh
+for modpath in debian/tmp/petsc64-${PETSC_SONAME_VERSION}-real-debug/${PETSC64_REAL_DEBUG_DIR_PREFIX}/include/*.mod; do
+  modfile=$(basename $modpath)
+  echo ${modpath} ${PETSC64_REAL_DEBUG_DIR_PREFIX}/include
+done
diff -Nru petsc-3.19.6+dfsg1/debian/libpetsc64-real3.19t64-dbg.links petsc-3.19.6+dfsg1/debian/libpetsc64-real3.19t64-dbg.links
--- petsc-3.19.6+dfsg1/debian/libpetsc64-real3.19t64-dbg.links	1970-01-01 00:00:00.000000000 +0000
+++ petsc-3.19.6+dfsg1/debian/libpetsc64-real3.19t64-dbg.links	2024-01-21 06:41:21.000000000 +0000
@@ -0,0 +1,6 @@
+#! /bin/sh
+for common in include/petsc lib/petsc/bin share; do
+  echo usr/share/petsc/${PETSC_SONAME_VERSION}/${common} ${PETSC64_REAL_DEBUG_DIR_PREFIX}/${common}
+done
+echo ${PETSC64_REAL_DEBUG_DIR_PREFIX}/lib/pkgconfig/petsc.pc ${PETSC64_REAL_DEBUG_DIR_PREFIX}/lib/pkgconfig/petsc64.pc
+echo ${PETSC64_REAL_DEBUG_DIR_PREFIX}/lib/pkgconfig/PETSc.pc ${PETSC64_REAL_DEBUG_DIR_PREFIX}/lib/pkgconfig/PETSc64.pc
diff -Nru petsc-3.19.6+dfsg1/debian/libpetsc64-real3.19t64-dbg.lintian-overrides petsc-3.19.6+dfsg1/debian/libpetsc64-real3.19t64-dbg.lintian-overrides
--- petsc-3.19.6+dfsg1/debian/libpetsc64-real3.19t64-dbg.lintian-overrides	1970-01-01 00:00:00.000000000 +0000
+++ petsc-3.19.6+dfsg1/debian/libpetsc64-real3.19t64-dbg.lintian-overrides	2024-02-29 20:21:12.000000000 +0000
@@ -0,0 +1,3 @@
+# common arch-indep files are installed in usr/share/petsc
+breakout-link usr/lib/petscdir/petsc* -> usr/share/petsc/*
+libpetsc64-real3.19t64-dbg: package-name-doesnt-match-sonames libpetsc64-real3.19-dbg
diff -Nru petsc-3.19.6+dfsg1/debian/libpetsc64-real3.19t64-dbg.postinst petsc-3.19.6+dfsg1/debian/libpetsc64-real3.19t64-dbg.postinst
--- petsc-3.19.6+dfsg1/debian/libpetsc64-real3.19t64-dbg.postinst	1970-01-01 00:00:00.000000000 +0000
+++ petsc-3.19.6+dfsg1/debian/libpetsc64-real3.19t64-dbg.postinst	2024-01-21 06:41:21.000000000 +0000
@@ -0,0 +1,26 @@
+#!/bin/sh -e
+
+DEB_HOST_MULTIARCH=__DEB_HOST_MULTIARCH__
+
+PETSC_VERSION=__PETSC_VERSION__
+PETSC_ARCH=${DEB_HOST_MULTIARCH}
+PETSC_DEBUG_ARCH=${PETSC_ARCH}-real-debug
+PETSC_VERSION_NUMBER=$( echo ${PETSC_VERSION} | sed "s/\.//g" )
+PETSC_SONAME_VERSION=__PETSC_SONAME_VERSION__
+PETSC64_NAME=petsc64-${PETSC_SONAME_VERSION}
+
+PETSC64_DIR_REAL_DEBUG=/usr/lib/petscdir/${PETSC64_NAME}/${PETSC_DEBUG_ARCH}
+
+# Make alternatives links
+if [ "$1" = "configure" ]; then
+
+update-alternatives --install /usr/lib/petsc64 petsc64 ${PETSC64_DIR_REAL_DEBUG} ${PETSC_VERSION_NUMBER}35 \
+  --slave /usr/lib/${DEB_HOST_MULTIARCH}/libpetsc64.so libpetsc64.so ${PETSC64_DIR_REAL_DEBUG}/lib/libpetsc64_real.so.${PETSC_VERSION} \
+  --slave /usr/include/petsc64 petsc64include ${PETSC64_DIR_REAL_DEBUG}/include \
+  --slave /usr/lib/${DEB_HOST_MULTIARCH}/pkgconfig/PETSc64.pc PETSc64.pc ${PETSC64_DIR_REAL_DEBUG}/lib/pkgconfig/PETSc.pc \
+  --slave /usr/lib/${DEB_HOST_MULTIARCH}/pkgconfig/petsc64.pc petsc64.pc ${PETSC64_DIR_REAL_DEBUG}/lib/pkgconfig/petsc.pc \
+  --slave /usr/share/octave/site/m/petsc64 petsc64-octave ${PETSC64_DIR_REAL_DEBUG}/share/petsc/matlab
+
+fi
+
+#DEBHELPER#
diff -Nru petsc-3.19.6+dfsg1/debian/libpetsc64-real3.19t64-dbg.prerm petsc-3.19.6+dfsg1/debian/libpetsc64-real3.19t64-dbg.prerm
--- petsc-3.19.6+dfsg1/debian/libpetsc64-real3.19t64-dbg.prerm	1970-01-01 00:00:00.000000000 +0000
+++ petsc-3.19.6+dfsg1/debian/libpetsc64-real3.19t64-dbg.prerm	2024-01-21 06:41:21.000000000 +0000
@@ -0,0 +1,16 @@
+#!/bin/sh -e
+
+DEB_HOST_MULTIARCH=__DEB_HOST_MULTIARCH__
+
+PETSC_VERSION=__PETSC_VERSION__
+PETSC_ARCH=${DEB_HOST_MULTIARCH}
+PETSC_DEBUG_ARCH=${PETSC_ARCH}-real-debug
+PETSC_SONAME_VERSION=__PETSC_SONAME_VERSION__
+PETSC64_NAME=petsc64-${PETSC_SONAME_VERSION}
+
+# Remove alternatives links
+if [ "$1" = "remove" ]; then
+  update-alternatives --remove petsc64 /usr/lib/petscdir/${PETSC64_NAME}/${PETSC_DEBUG_ARCH}
+fi
+
+#DEBHELPER#
diff -Nru petsc-3.19.6+dfsg1/debian/libpetsc64-real3.19t64.links petsc-3.19.6+dfsg1/debian/libpetsc64-real3.19t64.links
--- petsc-3.19.6+dfsg1/debian/libpetsc64-real3.19t64.links	1970-01-01 00:00:00.000000000 +0000
+++ petsc-3.19.6+dfsg1/debian/libpetsc64-real3.19t64.links	2024-01-21 06:41:21.000000000 +0000
@@ -0,0 +1,2 @@
+#! /bin/sh
+echo usr/lib/${DEB_HOST_MULTIARCH}/libpetsc64_real.so.${PETSC_VERSION} usr/lib/${DEB_HOST_MULTIARCH}/libpetsc64_real.so.${PETSC_SONAME_VERSION}
diff -Nru petsc-3.19.6+dfsg1/debian/libpetsc64-real3.19t64.lintian-overrides petsc-3.19.6+dfsg1/debian/libpetsc64-real3.19t64.lintian-overrides
--- petsc-3.19.6+dfsg1/debian/libpetsc64-real3.19t64.lintian-overrides	1970-01-01 00:00:00.000000000 +0000
+++ petsc-3.19.6+dfsg1/debian/libpetsc64-real3.19t64.lintian-overrides	2024-02-29 20:21:12.000000000 +0000
@@ -0,0 +1,6 @@
+# libpetsc64.so.X.Y soname links are managed by alternatives (libpetc64.so.X.Y)
+ldconfig-symlink-missing-for-shlib usr/lib/*/libpetsc64.so.* usr/lib/*/libpetsc64-real.so.* libpetsc64.so.*
+
+# libpetsc64_real.so is handled by alternatives in libpetsc64-realX.Y-dev
+lacks-unversioned-link-to-shared-library example: usr/lib/*/libpetsc64_real.so [usr/lib/*/libpetsc64_real.so.*]
+libpetsc64-real3.19t64: package-name-doesnt-match-sonames libpetsc64-real3.19
diff -Nru petsc-3.19.6+dfsg1/debian/libpetsc64-real3.19t64.postinst petsc-3.19.6+dfsg1/debian/libpetsc64-real3.19t64.postinst
--- petsc-3.19.6+dfsg1/debian/libpetsc64-real3.19t64.postinst	1970-01-01 00:00:00.000000000 +0000
+++ petsc-3.19.6+dfsg1/debian/libpetsc64-real3.19t64.postinst	2024-01-21 06:41:21.000000000 +0000
@@ -0,0 +1,15 @@
+#!/bin/sh -e
+
+DEB_HOST_MULTIARCH=__DEB_HOST_MULTIARCH__
+
+PETSC_VERSION=__PETSC_VERSION__
+PETSC_VERSION_NUMBER=$( echo ${PETSC_VERSION} | sed "s/\.//g" )
+SONAME=__PETSC_SONAME_VERSION__
+
+# Make alternatives links
+if [ "$1" = "configure" ]; then
+  # alternative petsc version (for given soname), real or complex
+  update-alternatives --install /usr/lib/${DEB_HOST_MULTIARCH}/libpetsc64.so.${SONAME} libpetsc64.so.${SONAME} /usr/lib/${DEB_HOST_MULTIARCH}/libpetsc64_real.so.${PETSC_VERSION} ${PETSC_VERSION_NUMBER}77
+fi
+
+#DEBHELPER#
diff -Nru petsc-3.19.6+dfsg1/debian/libpetsc64-real3.19t64.prerm petsc-3.19.6+dfsg1/debian/libpetsc64-real3.19t64.prerm
--- petsc-3.19.6+dfsg1/debian/libpetsc64-real3.19t64.prerm	1970-01-01 00:00:00.000000000 +0000
+++ petsc-3.19.6+dfsg1/debian/libpetsc64-real3.19t64.prerm	2024-01-21 06:41:21.000000000 +0000
@@ -0,0 +1,12 @@
+#!/bin/sh -e
+
+DEB_HOST_MULTIARCH=__DEB_HOST_MULTIARCH__
+PETSC_VERSION=__PETSC_VERSION__
+SONAME=__PETSC_SONAME_VERSION__
+
+# Remove alternatives links
+if [ "$1" = "remove" ]; then
+  update-alternatives --remove libpetsc64.so.${SONAME} /usr/lib/${DEB_HOST_MULTIARCH}/libpetsc64_real.so.${PETSC_VERSION}
+fi
+
+#DEBHELPER#
diff -Nru petsc-3.19.6+dfsg1/debian/rules petsc-3.19.6+dfsg1/debian/rules
--- petsc-3.19.6+dfsg1/debian/rules	2024-01-21 06:41:21.000000000 +0000
+++ petsc-3.19.6+dfsg1/debian/rules	2024-03-03 21:39:51.000000000 +0000
@@ -94,34 +94,39 @@
 # /usr/lib/petscdir subdirectory names.
 export PETSC_VERSION=$(DEB_STRIPPED_UPSTREAM_VERSION)$(PETSC_EXT)
 # use only major.minor as general soname (rather than major.minor.patch.build)
-export PETSC_SONAME_VERSION=$(shell echo $(PETSC_VERSION) | awk 'BEGIN { FS="."}; {print $$1"."$$2 }')
+export PETSC_SONAMEISH_VERSION=$(shell echo $(PETSC_VERSION) | awk 'BEGIN { FS="."}; {print $$1"."$$2 }')
+export PETSC_SONAME_VERSION=$(PETSC_SONAMEISH_VERSION)t64
 
 # PETSC_NAME is the install dir under /usr/lib and the base for package names
-PETSC_NAME=petsc$(PETSC_SONAME_VERSION)
+PETSC_NAME=petsc$(PETSC_SONAMEISH_VERSION)
 PETSC_REAL_SONAME=petsc-real$(PETSC_SONAME_VERSION)
+PETSC_REALISH_SONAME=petsc-real$(PETSC_SONAMEISH_VERSION)
 PETSC_COMPLEX_SONAME=petsc-complex$(PETSC_SONAME_VERSION)
+PETSC_COMPLEXISH_SONAME=petsc-complex$(PETSC_SONAMEISH_VERSION)
 
-PETSC64_NAME=petsc64-$(PETSC_SONAME_VERSION)
+PETSC64_NAME=petsc64-$(PETSC_SONAMEISH_VERSION)
 PETSC64_REAL_SONAME=petsc64-real$(PETSC_SONAME_VERSION)
+PETSC64_REALISH_SONAME=petsc64-real$(PETSC_SONAMEISH_VERSION)
 PETSC64_COMPLEX_SONAME=petsc64-complex$(PETSC_SONAME_VERSION)
+PETSC64_COMPLEXISH_SONAME=petsc64-complex$(PETSC_SONAMEISH_VERSION)
 
 # debian binary package names
-PETSC_REAL_DEV_PACKAGE=lib$(PETSC_REAL_SONAME)-dev
+PETSC_REAL_DEV_PACKAGE=lib$(PETSC_REALISH_SONAME)-dev
 PETSC_REAL_PACKAGE=lib$(PETSC_REAL_SONAME)
 PETSC_REAL_DEBUG_PACKAGE=lib$(PETSC_REAL_SONAME)-dbg
-PETSC_COMPLEX_DEV_PACKAGE=lib$(PETSC_COMPLEX_SONAME)-dev
+PETSC_COMPLEX_DEV_PACKAGE=lib$(PETSC_COMPLEXISH_SONAME)-dev
 PETSC_COMPLEX_PACKAGE=lib$(PETSC_COMPLEX_SONAME)
 PETSC_COMPLEX_DEBUG_PACKAGE=lib$(PETSC_COMPLEX_SONAME)-dbg
 
-PETSC64_REAL_DEV_PACKAGE=lib$(PETSC64_REAL_SONAME)-dev
+PETSC64_REAL_DEV_PACKAGE=lib$(PETSC64_REALISH_SONAME)-dev
 PETSC64_REAL_PACKAGE=lib$(PETSC64_REAL_SONAME)
 PETSC64_REAL_DEBUG_PACKAGE=lib$(PETSC64_REAL_SONAME)-dbg
-PETSC64_COMPLEX_DEV_PACKAGE=lib$(PETSC64_COMPLEX_SONAME)-dev
+PETSC64_COMPLEX_DEV_PACKAGE=lib$(PETSC64_COMPLEXISH_SONAME)-dev
 PETSC64_COMPLEX_PACKAGE=lib$(PETSC64_COMPLEX_SONAME)
 PETSC64_COMPLEX_DEBUG_PACKAGE=lib$(PETSC64_COMPLEX_SONAME)-dbg
 
 PETSC_DEV_COMMON_PACKAGE=lib$(PETSC_NAME)-dev-common
-export PETSC_DOC_PACKAGE=petsc$(PETSC_SONAME_VERSION)-doc
+export PETSC_DOC_PACKAGE=petsc$(PETSC_SONAMEISH_VERSION)-doc
 export PETSC_DEV_EXAMPLE_PACKAGE=lib$(PETSC_NAME)-dev-examples
 
 # install into /usr/lib/petscdir rather than /usr/lib/petsc
@@ -645,7 +650,7 @@
 override_dh_installdeb:
 	dh_installdeb
 	for pkg in $$(dh_listpackages -a); do \
-	  sed -i -e 's/__PETSC_SONAME_VERSION__/$(PETSC_SONAME_VERSION)/; s/__PETSC_VERSION__/$(PETSC_VERSION)/; s/__DEB_HOST_MULTIARCH__/$(DEB_HOST_MULTIARCH)/' debian/$$pkg/DEBIAN/*; \
+	  sed -i -e 's/__PETSC_SONAME_VERSION__/$(PETSC_SONAMEISH_VERSION)/; s/__PETSC_VERSION__/$(PETSC_VERSION)/; s/__DEB_HOST_MULTIARCH__/$(DEB_HOST_MULTIARCH)/' debian/$$pkg/DEBIAN/*; \
 	done
 
 override_dh_gencontrol:
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://alioth-lists.debian.net/pipermail/debian-science-maintainers/attachments/20240303/1ff2144b/attachment-0003.sig>


More information about the debian-science-maintainers mailing list