Source: apbs
Version: 3.4.1-5
Severity: serious
Tags: patch pending
Justification: library ABI skew on upgrade
User: debian-...@lists.debian.org
Usertags: time-t

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
apbs 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 apbs
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'), (1, 'experimental')
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)
diff -Nru apbs-3.4.1/debian/changelog apbs-3.4.1/debian/changelog
--- apbs-3.4.1/debian/changelog 2023-01-10 20:56:38.000000000 +0000
+++ apbs-3.4.1/debian/changelog 2024-01-30 00:38:50.000000000 +0000
@@ -1,3 +1,10 @@
+apbs (3.4.1-5.1) experimental; urgency=medium
+
+  * Non-maintainer upload.
+  * Rename libraries for 64-bit time_t transition.
+
+ -- Steve Langasek <vor...@debian.org>  Tue, 30 Jan 2024 00:38:50 +0000
+
 apbs (3.4.1-5) unstable; urgency=medium
 
   * Team upload.
diff -Nru apbs-3.4.1/debian/control apbs-3.4.1/debian/control
--- apbs-3.4.1/debian/control   2023-01-10 18:37:05.000000000 +0000
+++ apbs-3.4.1/debian/control   2024-01-30 00:38:50.000000000 +0000
@@ -90,7 +90,10 @@
  This package contains the development headers to build against
  libapbs_* shared libraries.
 
-Package: libapbs3
+Package: libapbs3t64
+Provides: ${t64:Provides}
+Replaces: libapbs3
+Breaks: libapbs3 (<< ${source:Version})
 Section: libs
 Architecture: any
 Multi-Arch: same
@@ -175,7 +178,10 @@
  This package contains the development headers to build against
  libapbs_* shared libraries.
 
-Package: libfetk1.9
+Package: libfetk1.9t64
+Provides: ${t64:Provides}
+Replaces: libfetk1.9
+Breaks: libfetk1.9 (<< ${source:Version})
 Section: libs
 Architecture: any
 Multi-Arch: same
diff -Nru apbs-3.4.1/debian/external_deps/fetk/README.orig 
apbs-3.4.1/debian/external_deps/fetk/README.orig
--- apbs-3.4.1/debian/external_deps/fetk/README.orig    2023-01-10 
18:37:05.000000000 +0000
+++ apbs-3.4.1/debian/external_deps/fetk/README.orig    1970-01-01 
00:00:00.000000000 +0000
@@ -1,85 +0,0 @@
-
-Welcome to FETK (The Finite Element ToolKit).
-
-FETK is developed and maintained by the Mathematical and Computational 
-Physics Group in the Mathematics and Physics Departments at UC San Diego,
-together with colleagues from around the world.  The development effort 
-is based in the Center for Computational Mathematics at UCSD.  For more 
-detailed information about FETK, see the FETK.org website:
-
-    http://FETK.org/
-
-In brief, FETK consists of a number of finite element modeling 
-software libraries that depend on each other in a hierarchical way.
-The dependencies in the core FETK libraries are:
-
-   MALOC
-     |
-     |-----> SG     .....
-     |                   \
-     |-----> PUNC   ----> MC
-     |                   /
-     |-----> GAMer  ..../
-
-The solid lines mean that there is a build dependency; the dotted lines 
-means that there is run-time dependency, in that additional capabilities 
-are provided to MC if either/both of SG and/or GAMer have been built.
-FETK is based around a GNU autoconf build framework; you can build each 
-library independently, or you can build the entire FETK suite using a 
-script we provide (see below).  Below is a brief summary of what the 
-core libraries do.
-
-MALOC (Minimal Abstraction Layer for Object-oriented C):
-  All of the FETK libraries depend on the single low-level abstraction 
-  library MALOC (as does several tools developed separately from FETK, 
-  such as APBS; see the ABPS website for more information about APBS).
-  See the FETK website for more information about MALOC.
-
-PUNC (Portable Understructure for Numerical Computing):
-  The MC library (below) depends on having access to a standard set 
-  of numerical libraries such as BLAS, LAPACK, SuperLU, UMFPACK, ARPACK,
-  and a few other tools.  PUNC looks for these on the given platform,
-  and builds them if it is unable to locate a functioning library;
-  after building and installing PUNC, the MC library is assured of having
-  access to all of the standard libraries on which it depends.
-  See the FETK website for more information about PUNC.
-
-SG (Socket Graphics):
-  The SG library provides a very lightweight polygon visualization
-  and manipulation tool, similar to Geomview but is much simpler.
-  It does do three things that Geomview does not do:
-    (1) It accepts Geomview OFF input as well as several other formats.
-    (2) It accepts input from files, pipes, buffers, UNIX sockets, and
-        also INET sockets (both UNIX and Windows via Winsock).
-    (3) It generates exact postscript renderings using the Painter's
-        Algorithm, by solving linear programming problems to determine
-        a feasible point in the set of correct rendering orders.
-  See the FETK website for more information about SG.
-
-GAMer (Geometry-preservering Adaptiver Mesher):
-  The GAMer library is a surface and volume mesh generator based on
-  standard simplex generation, smoothing, and subdivision algorithms.
-  It was designed for modeling molecular surfaces, but is a general
-  meshing tool that can be used for many applications.  It generates
-  meshing files that are compatible mesh input files for MC (see below).
-  GAMer employs both Triangle and Tetgen as auxilliary triangulation 
-  and tetrahedralization tools.  See the FETK website for more information
-  about GAMer.
-
-MC (Manifold Code):
-  The MC library is a finite element modeling library for discretizing
-  and solving coupled systems of elliptic and parabolic partial differential
-  equations on both 2D and 3D domains.  It has been designed to allow for
-  the representation of 2- and 3-manifold domains, and the discretization
-  of elliptic and parabolic differential operators on these types of domains.
-  It has been used to simulate problems ranging from molecular systems
-  to black holes.  See the FETK website for more information about MC.
-
-The simplest way to build the entire FETK suite of libraries is the
-using the "fetk-build" script in the main FETK directory.
-
-Have fun.
-
--michael holst 
- Mon Jun 28 10:27:39 PDT 2010
-
diff -Nru apbs-3.4.1/debian/libapbs3.install apbs-3.4.1/debian/libapbs3.install
--- apbs-3.4.1/debian/libapbs3.install  2023-01-10 18:37:06.000000000 +0000
+++ apbs-3.4.1/debian/libapbs3.install  1970-01-01 00:00:00.000000000 +0000
@@ -1 +0,0 @@
-usr/lib/*/libapbs*.so.*
diff -Nru apbs-3.4.1/debian/libapbs3.lintian-overrides 
apbs-3.4.1/debian/libapbs3.lintian-overrides
--- apbs-3.4.1/debian/libapbs3.lintian-overrides        2023-01-10 
18:37:06.000000000 +0000
+++ apbs-3.4.1/debian/libapbs3.lintian-overrides        1970-01-01 
00:00:00.000000000 +0000
@@ -1 +0,0 @@
-package-name-doesnt-match-sonames libapbs-fem* libapbs-generic* libapbs-mg* 
libapbs-pmgc* libapbs-routines*
diff -Nru apbs-3.4.1/debian/libapbs3t64.install 
apbs-3.4.1/debian/libapbs3t64.install
--- apbs-3.4.1/debian/libapbs3t64.install       1970-01-01 00:00:00.000000000 
+0000
+++ apbs-3.4.1/debian/libapbs3t64.install       2023-01-10 18:37:06.000000000 
+0000
@@ -0,0 +1 @@
+usr/lib/*/libapbs*.so.*
diff -Nru apbs-3.4.1/debian/libapbs3t64.lintian-overrides 
apbs-3.4.1/debian/libapbs3t64.lintian-overrides
--- apbs-3.4.1/debian/libapbs3t64.lintian-overrides     1970-01-01 
00:00:00.000000000 +0000
+++ apbs-3.4.1/debian/libapbs3t64.lintian-overrides     2024-01-30 
00:38:50.000000000 +0000
@@ -0,0 +1,2 @@
+package-name-doesnt-match-sonames libapbs-fem* libapbs-generic* libapbs-mg* 
libapbs-pmgc* libapbs-routines*
+libapbs3t64: package-name-doesnt-match-sonames libapbs3
diff -Nru apbs-3.4.1/debian/libfetk1.9.install 
apbs-3.4.1/debian/libfetk1.9.install
--- apbs-3.4.1/debian/libfetk1.9.install        2023-01-10 18:37:06.000000000 
+0000
+++ apbs-3.4.1/debian/libfetk1.9.install        1970-01-01 00:00:00.000000000 
+0000
@@ -1,5 +0,0 @@
-usr/lib/*/libgamer*.so.*
-usr/lib/*/libmc*.so.*
-usr/lib/*/libpunc*.so.*
-usr/lib/*/libcgcode*.so.*
-usr/lib/*/libvf2c*.so.*
diff -Nru apbs-3.4.1/debian/libfetk1.9.lintian-overrides 
apbs-3.4.1/debian/libfetk1.9.lintian-overrides
--- apbs-3.4.1/debian/libfetk1.9.lintian-overrides      2023-01-10 
18:37:06.000000000 +0000
+++ apbs-3.4.1/debian/libfetk1.9.lintian-overrides      1970-01-01 
00:00:00.000000000 +0000
@@ -1 +0,0 @@
-package-name-doesnt-match-sonames libcgcode* libgamer* libmc* libpunc* libvf2c*
diff -Nru apbs-3.4.1/debian/libfetk1.9t64.install 
apbs-3.4.1/debian/libfetk1.9t64.install
--- apbs-3.4.1/debian/libfetk1.9t64.install     1970-01-01 00:00:00.000000000 
+0000
+++ apbs-3.4.1/debian/libfetk1.9t64.install     2023-01-10 18:37:06.000000000 
+0000
@@ -0,0 +1,5 @@
+usr/lib/*/libgamer*.so.*
+usr/lib/*/libmc*.so.*
+usr/lib/*/libpunc*.so.*
+usr/lib/*/libcgcode*.so.*
+usr/lib/*/libvf2c*.so.*
diff -Nru apbs-3.4.1/debian/libfetk1.9t64.lintian-overrides 
apbs-3.4.1/debian/libfetk1.9t64.lintian-overrides
--- apbs-3.4.1/debian/libfetk1.9t64.lintian-overrides   1970-01-01 
00:00:00.000000000 +0000
+++ apbs-3.4.1/debian/libfetk1.9t64.lintian-overrides   2024-01-30 
00:38:50.000000000 +0000
@@ -0,0 +1,2 @@
+package-name-doesnt-match-sonames libcgcode* libgamer* libmc* libpunc* libvf2c*
+libfetk1.9t64: package-name-doesnt-match-sonames libfetk1.9

Reply via email to