FWIW another option would be to just do a straight library transition on all
archs, bumping the soname to libc-client2007f and not bothering to try to
provide binary compatibility.  There are only 5 reverse-dependencies on
libc-client2007e in the archive, so forcing an ABI transition on all archs
wouldn't be particularly disruptive.  But this should still be left to the
maintainers to decide how to handle it.

On Sun, Feb 25, 2024 at 01:44:27PM -0800, Steve Langasek wrote:
> Control: tags -1 - pending patch
> 
> And that package built but resulted in a change to the soname of the
> library.  And my attempts to fix this have also failed, because d-shlibs
> --t64 support has a strict expectation of 't64' appended to the full name of
> the runtime lib package as deduced from the soname, so wants
> 'libc-client2007et64' when we were trying for 'libc-client2007t64'.
> 
> At this point I'm bailing on trying to fix this package.  cdbs and d-shlibs
> should both have been put down in favor of dh long ago.  Please find
> attached my work in progress for a patch, maybe it's useful to you; but as I
> can't find a solution for this that works with your tooling of choice, I am
> not planning to NMU this package for the time_t transition.
> 
> If you decide that the package name 'libc-client2007et64' is acceptable, I
> can update the override map for the ftp team so that the package passes the
> NEW queue and we can NMU it.
> 
> Or if you work with the d-shlibs maintainer to have sensible behavior for
> your package when being named 'libc-client2007t64', then this patch should
> be sufficient.
> 
> But for now, dropping the pending+patch tags.
> 
> On Sat, Feb 24, 2024 at 02:40:23AM -0800, Steve Langasek wrote:
> > Hello,
> > 
> > The package that was previously uploaded to experimental was unfortunately
> > broken because we did not notice that additional changes were needed to
> > debian/control.in.in.
> > 
> > Please find a fixed patch attached.
> 
> -- 
> 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 uw-imap-2007f~dfsg/debian/changelog 
> uw-imap-2007f~dfsg/debian/changelog
> --- uw-imap-2007f~dfsg/debian/changelog       2019-08-26 20:52:52.000000000 
> +0000
> +++ uw-imap-2007f~dfsg/debian/changelog       2024-02-25 21:19:39.000000000 
> +0000
> @@ -1,3 +1,23 @@
> +uw-imap (8:2007f~dfsg-7.1~exp3) experimental; urgency=medium
> +
> +  * Fix debian/rules to not change the upstream soname.
> +  * Bump build-dependency on d-shlibs for t64 support.
> +
> + -- Steve Langasek <vor...@debian.org>  Sun, 25 Feb 2024 21:19:39 +0000
> +
> +uw-imap (8:2007f~dfsg-7.1~exp2) experimental; urgency=medium
> +
> +  * Update debian/control.in.in, not just debian/control.in.
> +
> + -- Steve Langasek <vor...@debian.org>  Sat, 24 Feb 2024 10:23:12 +0000
> +
> +uw-imap (8:2007f~dfsg-7.1~exp1) experimental; urgency=medium
> +
> +  * Non-maintainer upload.
> +  * Rename libraries for 64-bit time_t transition.
> +
> + -- Steve Langasek <vor...@debian.org>  Mon, 05 Feb 2024 20:18:10 +0000
> +
>  uw-imap (8:2007f~dfsg-7) unstable; urgency=low
>  
>    * 2014_openssl1.1.1_sni.patch (new, from Ubuntu): Use SNI when building
> diff -Nru uw-imap-2007f~dfsg/debian/control uw-imap-2007f~dfsg/debian/control
> --- uw-imap-2007f~dfsg/debian/control 2019-08-26 20:52:52.000000000 +0000
> +++ uw-imap-2007f~dfsg/debian/control 2024-02-24 10:19:59.000000000 +0000
> @@ -16,15 +16,15 @@
>  Vcs-Browser: https://salsa.debian.org/holmgren/uw-imap
>  Homepage: http://www.washington.edu/imap/
>  
> -Package: libc-client2007e-dev
> +Package: libc-client2007t64-dev
>  Section: libdevel
>  Architecture: any
>  Depends: ${devlibs:Depends},
>   ${misc:Depends},
> - libc-client2007e (= ${binary:Version})
> + libc-client2007t64 (= ${binary:Version})
>  Conflicts: libc-client-dev
>  Replaces: libc-client-dev
> -Provides: libc-client-dev
> +Provides: libc-client-dev, libc-client-2007e-dev (= ${binary:Version})
>  Description: c-client library for mail protocols - development files
>   IMAP (Internet Message Access Protocol) is a method of accessing
>   electronic messages kept on a (possibly shared) mail server.
> @@ -37,7 +37,10 @@
>   This package contains the static c-client library and development
>   headers.
>  
> -Package: libc-client2007e
> +Package: libc-client2007t64
> +Provides: ${t64:Provides}
> +Breaks: libc-client2007e (<< ${source:Version})
> +Replaces: libc-client2007e
>  Section: libs
>  Architecture: any
>  Depends: ${cdbs:Depends},
> diff -Nru uw-imap-2007f~dfsg/debian/control.in 
> uw-imap-2007f~dfsg/debian/control.in
> --- uw-imap-2007f~dfsg/debian/control.in      2019-08-26 20:52:52.000000000 
> +0000
> +++ uw-imap-2007f~dfsg/debian/control.in      2024-02-25 21:19:39.000000000 
> +0000
> @@ -2,22 +2,21 @@
>  Priority: optional
>  Section: mail
>  Maintainer: Magnus Holmgren <holmg...@debian.org>
> -Standards-Version: 3.9.8
> +Standards-Version: 4.4.0
>  Build-Depends: @cdbs@
> -Vcs-Git: git://git.debian.org/git/collab-maint/uw-imap.git
> -Vcs-Browser: http://anonscm.debian.org/gitweb/?p=collab-maint/uw-imap.git
> +Vcs-Git: https://salsa.debian.org/holmgren/uw-imap.git
> +Vcs-Browser: https://salsa.debian.org/holmgren/uw-imap
>  Homepage: http://www.washington.edu/imap/
>  
> -Package: libc-client2007e-dev
> +Package: libc-client2007t64-dev
>  Section: libdevel
>  Architecture: any
> -Priority: extra
>  Depends: ${devlibs:Depends},
>   ${misc:Depends},
> - libc-client2007e (= ${binary:Version})
> + libc-client2007t64 (= ${binary:Version})
>  Conflicts: libc-client-dev
>  Replaces: libc-client-dev
> -Provides: libc-client-dev
> +Provides: libc-client-dev, libc-client-2007e-dev (= ${binary:Version})
>  Description: c-client library for mail protocols - development files
>   IMAP (Internet Message Access Protocol) is a method of accessing
>   electronic messages kept on a (possibly shared) mail server.
> @@ -30,7 +29,10 @@
>   This package contains the static c-client library and development
>   headers.
>  
> -Package: libc-client2007e
> +Package: libc-client2007t64
> +Provides: ${t64:Provides}
> +Breaks: libc-client2007e (<< ${source:Version})
> +Replaces: libc-client2007e
>  Section: libs
>  Architecture: any
>  Depends: ${cdbs:Depends},
> diff -Nru uw-imap-2007f~dfsg/debian/control.in.in 
> uw-imap-2007f~dfsg/debian/control.in.in
> --- uw-imap-2007f~dfsg/debian/control.in.in   2019-08-26 20:52:52.000000000 
> +0000
> +++ uw-imap-2007f~dfsg/debian/control.in.in   2024-02-24 10:13:34.000000000 
> +0000
> @@ -2,22 +2,21 @@
>  Priority: optional
>  Section: mail
>  Maintainer: Magnus Holmgren <holmg...@debian.org>
> -Standards-Version: 3.9.8
> +Standards-Version: 4.4.0
>  Build-Depends: @cdbs@
> -Vcs-Git: git://git.debian.org/git/collab-maint/uw-imap.git
> -Vcs-Browser: http://anonscm.debian.org/gitweb/?p=collab-maint/uw-imap.git
> +Vcs-Git: https://salsa.debian.org/holmgren/uw-imap.git
> +Vcs-Browser: https://salsa.debian.org/holmgren/uw-imap
>  Homepage: http://www.washington.edu/imap/
>  
>  Package: libc-client__VER__-dev
>  Section: libdevel
>  Architecture: any
> -Priority: extra
>  Depends: ${devlibs:Depends},
>   ${misc:Depends},
>   libc-client__VER__ (= ${binary:Version})
>  Conflicts: libc-client-dev
>  Replaces: libc-client-dev
> -Provides: libc-client-dev
> +Provides: libc-client-dev, libc-client-2007e-dev (= ${binary:Version})
>  Description: c-client library for mail protocols - development files
>   IMAP (Internet Message Access Protocol) is a method of accessing
>   electronic messages kept on a (possibly shared) mail server.
> @@ -31,6 +30,9 @@
>   headers.
>  
>  Package: libc-client__VER__
> +Provides: ${t64:Provides}
> +Breaks: libc-client2007e (<< ${source:Version})
> +Replaces: libc-client2007e
>  Section: libs
>  Architecture: any
>  Depends: ${cdbs:Depends},
> diff -Nru uw-imap-2007f~dfsg/debian/libc-client2007e-dev.substvars 
> uw-imap-2007f~dfsg/debian/libc-client2007e-dev.substvars
> --- uw-imap-2007f~dfsg/debian/libc-client2007e-dev.substvars  1970-01-01 
> 00:00:00.000000000 +0000
> +++ uw-imap-2007f~dfsg/debian/libc-client2007e-dev.substvars  2024-02-25 
> 21:19:39.000000000 +0000
> @@ -0,0 +1 @@
> +devlibs:Depends=krb5-multidev, libpam0g-dev, libssl-dev
> diff -Nru uw-imap-2007f~dfsg/debian/rules uw-imap-2007f~dfsg/debian/rules
> --- uw-imap-2007f~dfsg/debian/rules   2019-08-26 20:52:52.000000000 +0000
> +++ uw-imap-2007f~dfsg/debian/rules   2024-02-25 21:19:39.000000000 +0000
> @@ -35,10 +35,11 @@
>  DEB_UPSTREAM_REPACKAGE_EXCLUDES = docs/rfc/ docs/draft/ 
> src/osdep/mac/mtest.sit.hqx
>  
>  major = 2007e
> +pkg_major = 2007t64
>  minor = 0
>  
> -SEDRULE_FILENAME = -e 's/__VER__/$(major)/g'
> -SEDRULE_CONTENT = -e 's/__LIBVER__/$(major)/g' -e 
> 's/__LIBFULLVER__/$(major).$(minor)/g' -e 's/__VER__/$(major)/g'
> +SEDRULE_FILENAME = -e 's/__VER__/$(pkg_major)/g'
> +SEDRULE_CONTENT = -e 's/__LIBVER__/$(pkg_major)/g' -e 
> 's/__LIBFULLVER__/$(major).$(minor)/g' -e 's/__VER__/$(pkg_major)/g'
>  
>  # Hardcode CDBS-resolved build flags, and stuff CPPFLAGS into CFLAGS
>  CFLAGS := $(deb_cflags) $(deb_cppflags)
> @@ -126,7 +127,7 @@
>  common-binary-post-install-arch:: debian/install-libs-stamp
>  
>  debian/install-libs-stamp:
> -     d-shlibmove --commit --override s/libkrb5-dev/krb5-multidev/ \
> +     d-shlibmove --t64 --commit --override s/libkrb5-dev/krb5-multidev/ \
>               --movedev "debian/tmp/usr/include/*" usr/include \
>               debian/tmp/usr/lib/libc-client.so
>       touch $@
> @@ -152,8 +153,8 @@
>  CDBS_BUILD_DEPENDS += , libpam-dev, krb5-multidev, comerr-dev, libssl-dev
>  
>  # Needed for our packaging routines
> -CDBS_BUILD_DEPENDS += , d-shlibs
> +CDBS_BUILD_DEPENDS += , d-shlibs (>= 0.106~)
>  
>  # Needed (always/often/seldom) at runtime
> -CDBS_DEPENDS_libc-client$(major) = libpam-modules, mlock
> -CDBS_SUGGESTS_libc-client$(major) = uw-mailutils
> +CDBS_DEPENDS_libc-client$(pkg_major) = libpam-modules, mlock
> +CDBS_SUGGESTS_libc-client$(pkg_major) = uw-mailutils


-- 
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

Attachment: signature.asc
Description: PGP signature

Reply via email to