Bug#1064332: petsc: NMU diff for 64-bit time_t transition

Steve Langasek vorlon at debian.org
Tue Feb 20 03:19:02 GMT 2024


Source: petsc
Version: 3.19.6+dfsg1-2
Severity: important
Tags: patch pending sid trixie
User: debian-arm at lists.debian.org
Usertags: time-t

NOTICE: these changes must not be uploaded to unstable yet!

Dear maintainer,

As part of the 64-bit time_t transition required to support 32-bit
architectures in 2038 and beyond
(https://wiki.debian.org/ReleaseGoals/64bit-time), we have identified
petsc as a source package shipping runtime libraries whose ABI
either is affected by the change in size of time_t, or could not be
analyzed via abi-compliance-checker (and therefore to be on the safe
side we assume is affected).

To ensure that inconsistent combinations of libraries with their
reverse-dependencies are never installed together, it is necessary to
have a library transition, which is most easily done by renaming the
runtime library package.

Since turning on 64-bit time_t is being handled centrally through a change
to the default dpkg-buildflags (https://bugs.debian.org/1037136), it is
important that libraries affected by this ABI change all be uploaded close
together in time.  Therefore I have prepared a 0-day NMU for petsc
which will initially be uploaded to experimental if possible, then to
unstable after packages have cleared binary NEW.

Please find the patch for this NMU attached.

If you have any concerns about this patch, please reach out ASAP.  Although
this package will be uploaded to experimental immediately, there will be a
period of several days before we begin uploads to unstable; so if information
becomes available that your package should not be included in the transition,
there is time for us to amend the planned uploads.



-- System Information:
Debian Release: trixie/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 6.5.0-14-generic (SMP w/12 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE
Locale: LANG=C, LC_CTYPE=C.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
-------------- 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-02-20 01:26:36.000000000 +0000
@@ -1,3 +1,10 @@
+petsc (3.19.6+dfsg1-2.1) experimental; urgency=medium
+
+  * Non-maintainer upload.
+  * Rename libraries for 64-bit time_t transition.
+
+ -- Steve Langasek <vorlon at debian.org>  Tue, 20 Feb 2024 01:26:36 +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-02-20 01:26:36.000000000 +0000
@@ -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,17 @@
  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
+X-Time64-Compat: libpetsc-complex3.19-dbg
+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 +134,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 +174,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 +187,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 +201,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 +239,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 +250,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 +265,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 +287,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 +302,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 +375,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 +385,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 +398,14 @@
  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
+X-Time64-Compat: libpetsc64-complex3.19-dbg
+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 +420,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 +436,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 +457,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 +466,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 +482,11 @@
  .
  Note HYPRE is not supported with PETSc complex.
 
-Package: libpetsc64-complex3.19
+Package: libpetsc64-complex3.19t64
+Provides: ${t64:Provides}
+X-Time64-Compat: libpetsc-real3.19-dbg
+Replaces: libpetsc64-complex3.19
+Breaks: libpetsc64-complex3.19 (<< ${source:Version})
 Architecture: any
 Multi-Arch: same
 Section: libs
@@ -486,9 +504,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 +519,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-20 01:26:36.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-20 01:26:36.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-20 01:26:36.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-20 01:26:36.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-20 01:26:36.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-20 01:26:36.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-20 01:26:36.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-20 01:26:36.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-02-20 01:26:36.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


More information about the debian-science-maintainers mailing list