Source: libcrcutil
Version: 1.0-5.2
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
libcrcutil 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 libcrcutil
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'), (500, 'testing'), (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 libcrcutil-1.0/debian/changelog libcrcutil-1.0/debian/changelog
--- libcrcutil-1.0/debian/changelog     2020-05-16 18:14:43.000000000 +0000
+++ libcrcutil-1.0/debian/changelog     2024-01-31 21:03:51.000000000 +0000
@@ -1,3 +1,10 @@
+libcrcutil (1.0-5.3) experimental; urgency=medium
+
+  * Non-maintainer upload.
+  * Rename libraries for 64-bit time_t transition.
+
+ -- Steve Langasek <vor...@debian.org>  Wed, 31 Jan 2024 21:03:51 +0000
+
 libcrcutil (1.0-5.2) unstable; urgency=medium
 
   * Non-maintainer upload.
diff -Nru libcrcutil-1.0/debian/control libcrcutil-1.0/debian/control
--- libcrcutil-1.0/debian/control       2020-02-05 16:41:16.000000000 +0000
+++ libcrcutil-1.0/debian/control       2024-01-31 21:03:51.000000000 +0000
@@ -11,7 +11,10 @@
 Vcs-Browser: https://salsa.debian.org/debian/crcutil
 Vcs-Git: https://salsa.debian.org/debian/crcutil.git
 
-Package: libcrcutil0
+Package: libcrcutil0t64
+Provides: ${t64:Provides}
+Replaces: libcrcutil0
+Breaks: libcrcutil0 (<< ${source:Version})
 Architecture: any-alpha any-amd64 any-arm any-arm64 any-i386 any-ia64 
any-mipsel any-mips64el any-ppc64el any-riscv64 any-sh4 any-x32
 Multi-Arch: same
 Pre-Depends: ${misc:Pre-Depends}
@@ -43,7 +46,7 @@
 Package: libcrcutil-dev
 Section: libdevel
 Architecture: any-alpha any-amd64 any-arm any-arm64 any-i386 any-ia64 
any-mipsel any-mips64el any-ppc64el any-riscv64 any-sh4 any-x32
-Depends: ${misc:Depends}, libcrcutil0 (= ${binary:Version})
+Depends: ${misc:Depends}, libcrcutil0t64 (= ${binary:Version})
 Suggests: libcrcutil-doc
 Description: library for cyclic redundancy check (CRC) computation - 
development files
  Crcutil library provides efficient implementation of CRC algorithms. It
diff -Nru libcrcutil-1.0/debian/libcrcutil0.install 
libcrcutil-1.0/debian/libcrcutil0.install
--- libcrcutil-1.0/debian/libcrcutil0.install   2018-05-01 12:25:39.000000000 
+0000
+++ libcrcutil-1.0/debian/libcrcutil0.install   1970-01-01 00:00:00.000000000 
+0000
@@ -1 +0,0 @@
-usr/lib/*/lib*.so.*
diff -Nru libcrcutil-1.0/debian/libcrcutil0.lintian-overrides 
libcrcutil-1.0/debian/libcrcutil0.lintian-overrides
--- libcrcutil-1.0/debian/libcrcutil0.lintian-overrides 2018-05-01 
12:25:39.000000000 +0000
+++ libcrcutil-1.0/debian/libcrcutil0.lintian-overrides 1970-01-01 
00:00:00.000000000 +0000
@@ -1,3 +0,0 @@
-## symbols are not very useful for CPP, see
-##   http://wiki.debian.org/UsingSymbolsFiles#See_also
-no-symbols-control-file
diff -Nru libcrcutil-1.0/debian/libcrcutil0t64.install 
libcrcutil-1.0/debian/libcrcutil0t64.install
--- libcrcutil-1.0/debian/libcrcutil0t64.install        1970-01-01 
00:00:00.000000000 +0000
+++ libcrcutil-1.0/debian/libcrcutil0t64.install        2018-05-01 
12:25:39.000000000 +0000
@@ -0,0 +1 @@
+usr/lib/*/lib*.so.*
diff -Nru libcrcutil-1.0/debian/libcrcutil0t64.lintian-overrides 
libcrcutil-1.0/debian/libcrcutil0t64.lintian-overrides
--- libcrcutil-1.0/debian/libcrcutil0t64.lintian-overrides      1970-01-01 
00:00:00.000000000 +0000
+++ libcrcutil-1.0/debian/libcrcutil0t64.lintian-overrides      2024-01-31 
21:03:51.000000000 +0000
@@ -0,0 +1,4 @@
+## symbols are not very useful for CPP, see
+##   http://wiki.debian.org/UsingSymbolsFiles#See_also
+no-symbols-control-file
+libcrcutil0t64: package-name-doesnt-match-sonames libcrcutil0

Reply via email to