Processed: Re: Bug#1061866: adns: NMU diff for 64-bit time_t transition
Processing control commands: > severity -1 important Bug #1061866 [src:adns] adns: NMU diff for 64-bit time_t transition Severity set to 'important' from 'serious' -- 1061866: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1061866 Debian Bug Tracking System Contact ow...@bugs.debian.org with problems
Bug#1061866: adns: NMU diff for 64-bit time_t transition
Control: severity -1 important Ian Jackson writes ("Re: Bug#1061866: adns: NMU diff for 64-bit time_t transition"): > I have just got an alert saying adns is now scheduled for autoremoval > due to #1061866. > > My understanding was that you were intending to NMU to unstable after > "several days". I have been holding off making an upload myself so as > not to interfere. I'm not sure if I should: (i) wait (ii) apply that patch (on top of what's in experimental) and upload to experimental (iii) apply that patch on top of what's in experimental and upload the result to sid. For now I am going to downgrade this bug in the hope that the current answer is (i). Regards, Ian. -- Ian JacksonThese opinions are my own. Pronouns: they/he. If I emailed you from @fyvzl.net or @evade.org.uk, that is a private address which bypasses my fierce spamfilter.
Bug#1061866: adns: NMU diff for 64-bit time_t transition
Steve Langasek writes ("Bug#1061866: adns: NMU diff for 64-bit time_t transition"): > Apologies, an oversight in the conversion script caused us to fail to update > strict versioned dependencies on the previous package name. Please find > attached a fixed patch. Hi. Thanks for this project. I have just got an alert saying adns is now scheduled for autoremoval due to #1061866. My understanding was that you were intending to NMU to unstable after "several days". I have been holding off making an upload myself so as not to interfere. FTR, anything which causes autoremoval to be scheduled will attract a lot of attention, because removal can be a significant setback. Maintainers such as myself will want to act ASAP to resolve the situation. Please advise. Thanks, Ian. -- Ian JacksonThese opinions are my own. Pronouns: they/he. If I emailed you from @fyvzl.net or @evade.org.uk, that is a private address which bypasses my fierce spamfilter.
Bug#1061866: adns: NMU diff for 64-bit time_t transition
Source: adns Followup-For: Bug #1061866 Apologies, an oversight in the conversion script caused us to fail to update strict versioned dependencies on the previous package name. Please find attached a fixed patch. This has also now been uploaded to experimental. diff -Nru adns-1.6.0/debian/changelog adns-1.6.0/debian/changelog --- adns-1.6.0/debian/changelog 2020-08-23 20:25:53.0 + +++ adns-1.6.0/debian/changelog 2024-01-31 02:31:47.0 + @@ -1,3 +1,11 @@ +adns (1.6.0-2.1~exp2) experimental; urgency=medium + + * Non-maintainer upload. + * Rename libraries for 64-bit time_t transition. + * Fix uninstallable packages from the previous upload. + + -- Steve Langasek Wed, 31 Jan 2024 02:31:47 + + adns (1.6.0-2) unstable; urgency=medium * Don't ignore make clean failures. diff -Nru adns-1.6.0/debian/control adns-1.6.0/debian/control --- adns-1.6.0/debian/control 2020-08-23 20:25:53.0 + +++ adns-1.6.0/debian/control 2024-01-31 02:31:24.0 + @@ -10,7 +10,7 @@ Package: libadns1-dev Section: libdevel Architecture: any -Depends: libadns1 (= ${binary:Version}), libc6-dev, ${misc:Depends} +Depends: libadns1t64 (= ${binary:Version}), libc6-dev, ${misc:Depends} Conflicts: libadns0 Description: Asynchronous-capable DNS client library (development) adns is a resolver library for C (and C++) programs. In contrast @@ -36,7 +36,10 @@ This package contains useful utilities for IP address resolving, fast bulk logfile processing, and testing. -Package: libadns1 +Package: libadns1t64 +Provides: ${t64:Provides} +Replaces: libadns1 +Breaks: libadns1 (<< ${source:Version}) Section: libs Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} @@ -54,7 +57,7 @@ Section: debug Priority: extra Architecture: any -Depends: libadns1 (= ${binary:Version}), ${misc:Depends} +Depends: libadns1t64 (= ${binary:Version}), ${misc:Depends} Description: Asynchronous-capable DNS client library (debugging symbols) adns is a resolver library for C (and C++) programs. In contrast with the existing interfaces, gethostbyname et al and libresolv, it @@ -62,5 +65,5 @@ convenient interface which doesn't require the application to handle any DNS data formats. Many queries can be handled simultaneously. . - This package contains the debugging symbols associated with libadns1, + This package contains the debugging symbols associated with libadns1t64, for debugging adns and programs that use it. diff -Nru adns-1.6.0/debian/libadns1.dirs adns-1.6.0/debian/libadns1.dirs --- adns-1.6.0/debian/libadns1.dirs 2020-08-23 20:25:53.0 + +++ adns-1.6.0/debian/libadns1.dirs 1970-01-01 00:00:00.0 + @@ -1,2 +0,0 @@ -usr/lib -usr/share/doc diff -Nru adns-1.6.0/debian/libadns1.docs adns-1.6.0/debian/libadns1.docs --- adns-1.6.0/debian/libadns1.docs 2020-08-23 20:25:53.0 + +++ adns-1.6.0/debian/libadns1.docs 1970-01-01 00:00:00.0 + @@ -1,3 +0,0 @@ -GPL-vs-LGPL -README.html -README diff -Nru adns-1.6.0/debian/libadns1.install adns-1.6.0/debian/libadns1.install --- adns-1.6.0/debian/libadns1.install 2020-08-23 20:25:53.0 + +++ adns-1.6.0/debian/libadns1.install 1970-01-01 00:00:00.0 + @@ -1,2 +0,0 @@ -usr/lib/libadns.so.1 -usr/lib/libadns.so.1.6 diff -Nru adns-1.6.0/debian/libadns1.symbols adns-1.6.0/debian/libadns1.symbols --- adns-1.6.0/debian/libadns1.symbols 2020-08-23 20:25:53.0 + +++ adns-1.6.0/debian/libadns1.symbols 1970-01-01 00:00:00.0 + @@ -1,34 +0,0 @@ -libadns.so.1 libadns1 #MINVER# - (regex)"^adns__.*@Base$" 1.5.0~ - adns_afterpoll@Base 1.5.0~ - adns_afterselect@Base 1.5.0~ - adns_beforepoll@Base 1.5.0~ - adns_beforeselect@Base 1.5.0~ - adns_cancel@Base 1.5.0~ - adns_check@Base 1.5.0~ - adns_checkconsistency@Base 1.5.0~ - adns_errabbrev@Base 1.5.0~ - adns_errtypeabbrev@Base 1.5.0~ - adns_finish@Base 1.5.0~ - adns_firsttimeout@Base 1.5.0~ - adns_forallqueries_begin@Base 1.5.0~ - adns_forallqueries_next@Base 1.5.0~ - adns_globalsystemfailure@Base 1.5.0~ - adns_init@Base 1.5.0~ - adns_init_logfn@Base 1.5.0~ - adns_init_strcfg@Base 1.5.0~ - adns_processany@Base 1.5.0~ - adns_processexceptional@Base 1.5.0~ - adns_processreadable@Base 1.5.0~ - adns_processtimeouts@Base 1.5.0~ - adns_processwriteable@Base 1.5.0~ - adns_rr_info@Base 1.5.0~ - adns_strerror@Base 1.5.0~ - adns_submit@Base 1.5.0~0 - adns_submit_reverse@Base 1.5.0~ - adns_submit_reverse_any@Base 1.5.0~ - adns_synchronous@Base 1.5.0~0 - adns_wait@Base 1.5.0~ - adns_wait_poll@Base 1.5.0~ - adns_addr2text@Base 1.5.0~ - adns_text2addr@Base 1.5.0~ diff -Nru adns-1.6.0/debian/libadns1t64.dirs adns-1.6.0/debian/libadns1t64.dirs --- adns-1.6.0/debian/libadns1t64.dirs 1970-01-01 00:00:00.0 + +++ adns-1.6.0/debian/libadns1t64.dirs 2020-08-23 20:25:53.0 + @@ -0,0 +1,2 @@ +usr/lib +usr/share/doc diff -Nru adns-1.6.0/debian/libadns1t64.docs adns-1.6.0/debian/libadns1t64.docs ---
Bug#1061866: adns: NMU diff for 64-bit time_t transition
On Tue, Jan 30, 2024 at 12:34:50AM +, Ian Jackson wrote: > > 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. > I'm surprised at > +Provides: ${t64:Provides} > +Replaces: libadns1 > +Breaks: libadns1 (<< ${source:Version}) > I don't know why this isn't just a soname transition. But I think > probably people more involved in this have thoughyt this through. > (Perhaps this to do with making this a no-op on 64-bit arches.) Well first, sonames are generally considered upstream's namespace to manage so we would have to have Debian-specific sonames here which is a bit ugly. Second, changing the soname requires changes to the upstream build systems of each of the 1200 different packages, so that would really be incompatible with mass-NMUing. And third, yes, the ABI is only changing on 32-bit architectures; so maintaining compatibility with third-party packages that depend on e.g. libpam0g on amd64 has at least some value, and thus we maximize this value by applying compatibility rules consistently rather than trying to suss out which libraries it's worth keeping compatibility for. > > 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. > If what I have written doesn't indicate that something has been > overlooked, you should go ahead as planned. I guess I should avoid > uploading myself. > adns is not an "unusual" package, other than insofar as time_t being > part of an ABI-exposed struct makes it unusual. Cheers, -- 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 signature.asc Description: PGP signature
Bug#1061866: adns: NMU diff for 64-bit time_t transition
Hi. Thanks for your work on this. Steve Langasek writes ("Bug#1061866: adns: NMU diff for 64-bit time_t transition"): > 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 > adns 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). Thanks. I have verified that adns.h, and the ABI of adns, is indeed 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. I'm surprised at +Provides: ${t64:Provides} +Replaces: libadns1 +Breaks: libadns1 (<< ${source:Version}) I don't know why this isn't just a soname transition. But I think probably people more involved in this have thoughyt this through. (Perhaps this to do with making this a no-op on 64-bit arches.) > 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. If what I have written doesn't indicate that something has been overlooked, you should go ahead as planned. I guess I should avoid uploading myself. adns is not an "unusual" package, other than insofar as time_t being part of an ABI-exposed struct makes it unusual. HTH. Ian. -- Ian JacksonThese opinions are my own. Pronouns: they/he. If I emailed you from @fyvzl.net or @evade.org.uk, that is a private address which bypasses my fierce spamfilter.
Bug#1061866: adns: NMU diff for 64-bit time_t transition
Source: adns Version: 1.6.0-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 adns 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 adns 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 adns-1.6.0/debian/changelog adns-1.6.0/debian/changelog --- adns-1.6.0/debian/changelog 2020-08-23 20:25:53.0 + +++ adns-1.6.0/debian/changelog 2024-01-29 21:43:08.0 + @@ -1,3 +1,10 @@ +adns (1.6.0-2.1) experimental; urgency=medium + + * Non-maintainer upload. + * Rename libraries for 64-bit time_t transition. + + -- Steve Langasek Mon, 29 Jan 2024 21:43:08 + + adns (1.6.0-2) unstable; urgency=medium * Don't ignore make clean failures. diff -Nru adns-1.6.0/debian/control adns-1.6.0/debian/control --- adns-1.6.0/debian/control 2020-08-23 20:25:53.0 + +++ adns-1.6.0/debian/control 2024-01-29 21:43:08.0 + @@ -36,7 +36,10 @@ This package contains useful utilities for IP address resolving, fast bulk logfile processing, and testing. -Package: libadns1 +Package: libadns1t64 +Provides: ${t64:Provides} +Replaces: libadns1 +Breaks: libadns1 (<< ${source:Version}) Section: libs Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} diff -Nru adns-1.6.0/debian/libadns1.dirs adns-1.6.0/debian/libadns1.dirs --- adns-1.6.0/debian/libadns1.dirs 2020-08-23 20:25:53.0 + +++ adns-1.6.0/debian/libadns1.dirs 1970-01-01 00:00:00.0 + @@ -1,2 +0,0 @@ -usr/lib -usr/share/doc diff -Nru adns-1.6.0/debian/libadns1.docs adns-1.6.0/debian/libadns1.docs --- adns-1.6.0/debian/libadns1.docs 2020-08-23 20:25:53.0 + +++ adns-1.6.0/debian/libadns1.docs 1970-01-01 00:00:00.0 + @@ -1,3 +0,0 @@ -GPL-vs-LGPL -README.html -README diff -Nru adns-1.6.0/debian/libadns1.install adns-1.6.0/debian/libadns1.install --- adns-1.6.0/debian/libadns1.install 2020-08-23 20:25:53.0 + +++ adns-1.6.0/debian/libadns1.install 1970-01-01 00:00:00.0 + @@ -1,2 +0,0 @@ -usr/lib/libadns.so.1 -usr/lib/libadns.so.1.6 diff -Nru adns-1.6.0/debian/libadns1.symbols adns-1.6.0/debian/libadns1.symbols --- adns-1.6.0/debian/libadns1.symbols 2020-08-23 20:25:53.0 + +++ adns-1.6.0/debian/libadns1.symbols 1970-01-01 00:00:00.0 + @@ -1,34 +0,0 @@ -libadns.so.1 libadns1 #MINVER# - (regex)"^adns__.*@Base$" 1.5.0~ - adns_afterpoll@Base 1.5.0~ - adns_afterselect@Base 1.5.0~ - adns_beforepoll@Base 1.5.0~ - adns_beforeselect@Base 1.5.0~ - adns_cancel@Base 1.5.0~ - adns_check@Base 1.5.0~ - adns_checkconsistency@Base 1.5.0~ - adns_errabbrev@Base 1.5.0~ - adns_errtypeabbrev@Base 1.5.0~ - adns_finish@Base 1.5.0~ - adns_firsttimeout@Base 1.5.0~ - adns_forallqueries_begin@Base 1.5.0~ - adns_forallqueries_next@Base 1.5.0~ - adns_globalsystemfailure@Base 1.5.0~ - adns_init@Base 1.5.0~ - adns_init_logfn@Base 1.5.0~ - adns_init_strcfg@Base 1.5.0~ - adns_processany@Base 1.5.0~ - adns_processexceptional@Base 1.5.0~ - adns_processreadable@Base 1.5.0~ - adns_processtimeouts@Base 1.5.0~ - adns_processwriteable@Base 1.5.0~ - adns_rr_info@Base 1.5.0~ - adns_strerror@Base 1.5.0~ -