Unfortunately, the lam source package has a debian/shlibs.local file which
resulted in incorrect internal dependencies between binary packages built
from this source.

The debian/shlibs.local is actually incorrect (it is more lax than the
public one) so the correct fix here is to drop it.

Attached is a full NMU debdiff for -7.2 which I am uploading now.

On Sat, Feb 17, 2024 at 10:27:54PM +0000, Steve Langasek wrote:
> Source: lam
> Version: 7.1.4-7
> Severity: important
> Tags: patch pending sid trixie
> User: debian-...@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
> lam 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 lam
> 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'), (500, 'stable'), (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 lam-7.1.4/debian/changelog lam-7.1.4/debian/changelog
> --- lam-7.1.4/debian/changelog        2021-11-06 14:23:49.000000000 +0000
> +++ lam-7.1.4/debian/changelog        2024-02-17 22:00:52.000000000 +0000
> @@ -1,3 +1,10 @@
> +lam (7.1.4-7.1) experimental; urgency=medium
> +
> +  * Non-maintainer upload.
> +  * Rename libraries for 64-bit time_t transition.
> +
> + -- Steve Langasek <vor...@debian.org>  Sat, 17 Feb 2024 22:00:52 +0000
> +
>  lam (7.1.4-7) unstable; urgency=medium
>  
>    * --with-romio-flags=-ar_nolocal in two configure runs in debian/rules
> diff -Nru lam-7.1.4/debian/control lam-7.1.4/debian/control
> --- lam-7.1.4/debian/control  2021-11-06 14:22:46.000000000 +0000
> +++ lam-7.1.4/debian/control  2024-02-17 22:00:52.000000000 +0000
> @@ -21,7 +21,7 @@
>  Package: lam4-dev
>  Section: devel
>  Architecture: any
> -Depends: liblam4 (= ${binary:Version}), libc6-dev,${misc:Depends}
> +Depends: liblam4t64 (= ${binary:Version}), libc6-dev,${misc:Depends}
>  Provides: lam-dev
>  Conflicts: lam-dev,lam,lam1-dev,mpi-doc (<< 1.2.7-4),lam-runtime (<= 7.1.2-2)
>  Replaces: lam-dev,lam,lam1-dev,lam2-dev,lam3-dev,lam-runtime (<= 7.1.2-2)
> @@ -31,16 +31,16 @@
>   .
>   This package provides the development headers and related files.
>  
> -Package: liblam4
> +Package: liblam4t64
>  Section: libs
>  Architecture: any
>  Multi-Arch: same
>  Depends: ${shlibs:Depends},${misc:Depends}
> -Provides: mpi
> +Provides: ${t64:Provides}, mpi
>  Conflicts: lam,lam1,lam4,lam4c2
> -Replaces: lam,lam1,lam4,lam4c2
> +Replaces: liblam4, lam,lam1,lam4,lam4c2
>  Recommends: lam-runtime
> -Breaks: libopenmpi-dev (<< 3.0.1~rc1-2), openmpi-bin (<< 3.0.1~rc1-2), mpich 
> (<< 3.3~a3-2), libmpich-dev (<< 3.3~a3-2)
> +Breaks: liblam4 (<< ${source:Version}), libopenmpi-dev (<< 3.0.1~rc1-2), 
> openmpi-bin (<< 3.0.1~rc1-2), mpich (<< 3.3~a3-2), libmpich-dev (<< 3.3~a3-2)
>  Description: Shared libraries used by LAM parallel programs
>   LAM (Local Area Multicomputer) is an open source implementation of the
>   Message Passing Interface (MPI) standard.
> diff -Nru lam-7.1.4/debian/liblam4.files lam-7.1.4/debian/liblam4.files
> --- lam-7.1.4/debian/liblam4.files    2012-04-05 14:02:40.000000000 +0000
> +++ lam-7.1.4/debian/liblam4.files    1970-01-01 00:00:00.000000000 +0000
> @@ -1 +0,0 @@
> -usr/lib/*.so.*
> diff -Nru lam-7.1.4/debian/liblam4t64.files lam-7.1.4/debian/liblam4t64.files
> --- lam-7.1.4/debian/liblam4t64.files 1970-01-01 00:00:00.000000000 +0000
> +++ lam-7.1.4/debian/liblam4t64.files 2012-04-05 14:02:40.000000000 +0000
> @@ -0,0 +1 @@
> +usr/lib/*.so.*
> diff -Nru lam-7.1.4/debian/liblam4t64.lintian-overrides 
> lam-7.1.4/debian/liblam4t64.lintian-overrides
> --- lam-7.1.4/debian/liblam4t64.lintian-overrides     1970-01-01 
> 00:00:00.000000000 +0000
> +++ lam-7.1.4/debian/liblam4t64.lintian-overrides     2024-02-17 
> 22:00:52.000000000 +0000
> @@ -0,0 +1 @@
> +liblam4t64: package-name-doesnt-match-sonames liblam4
> diff -Nru lam-7.1.4/debian/rules lam-7.1.4/debian/rules
> --- lam-7.1.4/debian/rules    2021-11-06 13:42:30.000000000 +0000
> +++ lam-7.1.4/debian/rules    2024-02-17 22:00:52.000000000 +0000
> @@ -443,8 +443,8 @@
>       rm -rf $(MDIR)/usr/lib/lam/bin/.libs
>       dh_movefiles
>       mv ./debian/lam4-dev/usr/share/man/man3/MPI_Comm_set_name.3 
> ./debian/lam4-dev/usr/share/man/man3/MPI_Comm_set_name_lam4-dev.3
> -     mkdir -p debian/liblam$(SO)/usr/lib/$(DEB_HOST_MULTIARCH)
> -     mv debian/liblam$(SO)/usr/lib/lib* 
> debian/liblam$(SO)/usr/lib/$(DEB_HOST_MULTIARCH)
> +     mkdir -p debian/liblam$(SO)t64/usr/lib/$(DEB_HOST_MULTIARCH)
> +     mv debian/liblam$(SO)t64/usr/lib/lib* 
> debian/liblam$(SO)t64/usr/lib/$(DEB_HOST_MULTIARCH)
>       mkdir -p debian/lam$(SO)-dev/usr/lib/$(DEB_HOST_MULTIARCH)
>       mv debian/lam$(SO)-dev/usr/lib/lib* 
> debian/lam$(SO)-dev/usr/lib/$(DEB_HOST_MULTIARCH)
>       for i in debian/lam$(SO)-dev/usr/lib/lam/lib/*; do \
> @@ -521,8 +521,8 @@
>       dh_fixperms -a
>       dh_makeshlibs -a
>       dh_installdeb -a
> -     dh_shlibdeps -a -l `pwd`/debian/liblam$(SO)/usr/lib/
> -     cat debian/liblam$(SO).substvars | sed "s, *lam$(SO)[^,]*,,1" > tmp && 
> mv tmp debian/lam$(SO).substvars
> +     dh_shlibdeps -a -l `pwd`/debian/liblam$(SO)t64/usr/lib/
> +     cat debian/liblam$(SO)t64.substvars | sed "s, *lam$(SO)[^,]*,,1" > tmp 
> && mv tmp debian/lam$(SO)t64.substvars
>       dh_gencontrol -a
>       dh_md5sums -a
>       dh_builddeb -a
> @@ -540,7 +540,7 @@
>       dh_fixperms -i
>       dh_makeshlibs -i
>       dh_installdeb -i
> -     dh_shlibdeps -i -l `pwd`/debian/liblam$(SO)/usr/lib/
> +     dh_shlibdeps -i -l `pwd`/debian/liblam$(SO)t64/usr/lib/
>       dh_gencontrol -i
>       dh_md5sums -i
>       dh_builddeb -i


-- 
Steve Langasek                   Give me a lever long enough and a Free OS
Debian Developer                   to set it on, and I can move the world.
Ubuntu Developer                                   https://www.debian.org/
slanga...@ubuntu.com                                     vor...@debian.org
diff -Nru lam-7.1.4/debian/changelog lam-7.1.4/debian/changelog
--- lam-7.1.4/debian/changelog  2021-11-06 14:23:49.000000000 +0000
+++ lam-7.1.4/debian/changelog  2024-03-17 20:58:11.000000000 +0000
@@ -1,3 +1,17 @@
+lam (7.1.4-7.2) unstable; urgency=medium
+
+  * Non-maintainer upload.
+  * Drop archaic, redundant, and incorrect debian/shlibs.local.
+
+ -- Steve Langasek <vor...@debian.org>  Sun, 17 Mar 2024 20:58:11 +0000
+
+lam (7.1.4-7.1) unstable; urgency=medium
+
+  * Non-maintainer upload.
+  * Rename libraries for 64-bit time_t transition.  Closes: #1064165
+
+ -- Lukas Märdian <sl...@debian.org>  Wed, 28 Feb 2024 16:27:15 +0000
+
 lam (7.1.4-7) unstable; urgency=medium
 
   * --with-romio-flags=-ar_nolocal in two configure runs in debian/rules
diff -Nru lam-7.1.4/debian/control lam-7.1.4/debian/control
--- lam-7.1.4/debian/control    2021-11-06 14:22:46.000000000 +0000
+++ lam-7.1.4/debian/control    2024-02-28 16:27:15.000000000 +0000
@@ -2,7 +2,7 @@
 Section: devel
 Priority: extra
 Maintainer: Camm Maguire <c...@debian.org>
-Build-Depends: debhelper-compat ( = 13 
),gfortran,texinfo,autotools-dev,help2man,libltdl-dev
+Build-Depends: dpkg-dev (>= 1.22.5), debhelper-compat ( = 13 
),gfortran,texinfo,autotools-dev,help2man,libltdl-dev
 Standards-Version: 4.5.1
 
 Package: lam-mpidoc
@@ -21,7 +21,7 @@
 Package: lam4-dev
 Section: devel
 Architecture: any
-Depends: liblam4 (= ${binary:Version}), libc6-dev,${misc:Depends}
+Depends: liblam4t64 (= ${binary:Version}), libc6-dev,${misc:Depends}
 Provides: lam-dev
 Conflicts: lam-dev,lam,lam1-dev,mpi-doc (<< 1.2.7-4),lam-runtime (<= 7.1.2-2)
 Replaces: lam-dev,lam,lam1-dev,lam2-dev,lam3-dev,lam-runtime (<= 7.1.2-2)
@@ -31,16 +31,16 @@
  .
  This package provides the development headers and related files.
 
-Package: liblam4
+Package: liblam4t64
 Section: libs
 Architecture: any
 Multi-Arch: same
 Depends: ${shlibs:Depends},${misc:Depends}
-Provides: mpi
+Provides: ${t64:Provides}, mpi
 Conflicts: lam,lam1,lam4,lam4c2
-Replaces: lam,lam1,lam4,lam4c2
+Replaces: liblam4, lam,lam1,lam4,lam4c2
 Recommends: lam-runtime
-Breaks: libopenmpi-dev (<< 3.0.1~rc1-2), openmpi-bin (<< 3.0.1~rc1-2), mpich 
(<< 3.3~a3-2), libmpich-dev (<< 3.3~a3-2)
+Breaks: liblam4 (<< ${source:Version}), libopenmpi-dev (<< 3.0.1~rc1-2), 
openmpi-bin (<< 3.0.1~rc1-2), mpich (<< 3.3~a3-2), libmpich-dev (<< 3.3~a3-2)
 Description: Shared libraries used by LAM parallel programs
  LAM (Local Area Multicomputer) is an open source implementation of the
  Message Passing Interface (MPI) standard.
diff -Nru lam-7.1.4/debian/liblam4.files lam-7.1.4/debian/liblam4.files
--- lam-7.1.4/debian/liblam4.files      2012-04-05 14:02:40.000000000 +0000
+++ lam-7.1.4/debian/liblam4.files      1970-01-01 00:00:00.000000000 +0000
@@ -1 +0,0 @@
-usr/lib/*.so.*
diff -Nru lam-7.1.4/debian/liblam4t64.files lam-7.1.4/debian/liblam4t64.files
--- lam-7.1.4/debian/liblam4t64.files   1970-01-01 00:00:00.000000000 +0000
+++ lam-7.1.4/debian/liblam4t64.files   2012-04-05 14:02:40.000000000 +0000
@@ -0,0 +1 @@
+usr/lib/*.so.*
diff -Nru lam-7.1.4/debian/liblam4t64.lintian-overrides 
lam-7.1.4/debian/liblam4t64.lintian-overrides
--- lam-7.1.4/debian/liblam4t64.lintian-overrides       1970-01-01 
00:00:00.000000000 +0000
+++ lam-7.1.4/debian/liblam4t64.lintian-overrides       2024-02-28 
16:00:21.000000000 +0000
@@ -0,0 +1 @@
+liblam4t64: package-name-doesnt-match-sonames liblam4
diff -Nru lam-7.1.4/debian/rules lam-7.1.4/debian/rules
--- lam-7.1.4/debian/rules      2021-11-06 13:42:30.000000000 +0000
+++ lam-7.1.4/debian/rules      2024-02-28 16:27:13.000000000 +0000
@@ -443,8 +443,8 @@
        rm -rf $(MDIR)/usr/lib/lam/bin/.libs
        dh_movefiles
        mv ./debian/lam4-dev/usr/share/man/man3/MPI_Comm_set_name.3 
./debian/lam4-dev/usr/share/man/man3/MPI_Comm_set_name_lam4-dev.3
-       mkdir -p debian/liblam$(SO)/usr/lib/$(DEB_HOST_MULTIARCH)
-       mv debian/liblam$(SO)/usr/lib/lib* 
debian/liblam$(SO)/usr/lib/$(DEB_HOST_MULTIARCH)
+       mkdir -p debian/liblam$(SO)t64/usr/lib/$(DEB_HOST_MULTIARCH)
+       mv debian/liblam$(SO)t64/usr/lib/lib* 
debian/liblam$(SO)t64/usr/lib/$(DEB_HOST_MULTIARCH)
        mkdir -p debian/lam$(SO)-dev/usr/lib/$(DEB_HOST_MULTIARCH)
        mv debian/lam$(SO)-dev/usr/lib/lib* 
debian/lam$(SO)-dev/usr/lib/$(DEB_HOST_MULTIARCH)
        for i in debian/lam$(SO)-dev/usr/lib/lam/lib/*; do \
@@ -521,8 +521,8 @@
        dh_fixperms -a
        dh_makeshlibs -a
        dh_installdeb -a
-       dh_shlibdeps -a -l `pwd`/debian/liblam$(SO)/usr/lib/
-       cat debian/liblam$(SO).substvars | sed "s, *lam$(SO)[^,]*,,1" > tmp && 
mv tmp debian/lam$(SO).substvars
+       dh_shlibdeps -a -l `pwd`/debian/liblam$(SO)t64/usr/lib/
+       cat debian/liblam$(SO)t64.substvars | sed "s, *lam$(SO)[^,]*,,1" > tmp 
&& mv tmp debian/lam$(SO)t64.substvars
        dh_gencontrol -a
        dh_md5sums -a
        dh_builddeb -a
@@ -540,7 +540,7 @@
        dh_fixperms -i
        dh_makeshlibs -i
        dh_installdeb -i
-       dh_shlibdeps -i -l `pwd`/debian/liblam$(SO)/usr/lib/
+       dh_shlibdeps -i -l `pwd`/debian/liblam$(SO)t64/usr/lib/
        dh_gencontrol -i
        dh_md5sums -i
        dh_builddeb -i
diff -Nru lam-7.1.4/debian/shlibs.local lam-7.1.4/debian/shlibs.local
--- lam-7.1.4/debian/shlibs.local       2012-04-05 14:02:40.000000000 +0000
+++ lam-7.1.4/debian/shlibs.local       1970-01-01 00:00:00.000000000 +0000
@@ -1,3 +0,0 @@
-liblam 4 liblam4
-liblam++ 4 liblam4
-liblamio 4 liblam4

Attachment: signature.asc
Description: PGP signature

Reply via email to