Source: discover Version: 2.1.2-10 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 discover 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 discover 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-15-generic (SMP w/16 CPU threads; PREEMPT) Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set Shell: /bin/sh linked to /usr/bin/dash Init: systemd (via /run/systemd/system)
diff -Nru discover-2.1.2/debian/changelog discover-2.1.2/debian/changelog --- discover-2.1.2/debian/changelog 2022-01-09 07:48:08.000000000 +0000 +++ discover-2.1.2/debian/changelog 2024-02-01 04:30:47.000000000 +0000 @@ -1,3 +1,10 @@ +discover (2.1.2-10.1) experimental; urgency=medium + + * Non-maintainer upload. + * Rename libraries for 64-bit time_t transition. + + -- Michael Hudson-Doyle <mwhud...@debian.org> Thu, 01 Feb 2024 04:30:47 +0000 + discover (2.1.2-10) unstable; urgency=medium * Modernize packaging a little: diff -Nru discover-2.1.2/debian/control discover-2.1.2/debian/control --- discover-2.1.2/debian/control 2022-01-09 07:30:59.000000000 +0000 +++ discover-2.1.2/debian/control 2024-02-01 04:30:46.000000000 +0000 @@ -10,17 +10,20 @@ Package: discover Architecture: any -Depends: ${shlibs:Depends}, ${misc:Depends}, libdiscover2 (= ${binary:Version}) +Depends: ${shlibs:Depends}, ${misc:Depends}, libdiscover2t64 (= ${binary:Version}) Suggests: lsb-base Conflicts: discover1 (<< 2.0) Description: hardware identification system - Discover is a hardware identification system based on the libdiscover2 + Discover is a hardware identification system based on the libdiscover2t64 library. Discover provides a flexible interface that programs can use to report a wide range of information about the hardware that is installed on a Linux system. In addition to reporting information, Discover includes support for doing hardware detection at boot time. -Package: libdiscover2 +Package: libdiscover2t64 +Provides: ${t64:Provides} +Replaces: libdiscover2 +Breaks: libdiscover2 (<< ${source:Version}) Section: libs Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, discover-data (>> 2.2004.04) @@ -32,7 +35,7 @@ Package: libdiscover-dev Section: libdevel Architecture: any -Depends: ${misc:Depends}, libdiscover2 (= ${binary:Version}), libexpat1-dev +Depends: ${misc:Depends}, libdiscover2t64 (= ${binary:Version}), libexpat1-dev Description: hardware identification library development files libdiscover is a library enabling identification of various PCI, PCMCIA, and USB devices. diff -Nru discover-2.1.2/debian/libdiscover2.docs discover-2.1.2/debian/libdiscover2.docs --- discover-2.1.2/debian/libdiscover2.docs 2022-01-09 06:08:06.000000000 +0000 +++ discover-2.1.2/debian/libdiscover2.docs 1970-01-01 00:00:00.000000000 +0000 @@ -1,3 +0,0 @@ -AUTHORS -README -RELEASE diff -Nru discover-2.1.2/debian/libdiscover2.install discover-2.1.2/debian/libdiscover2.install --- discover-2.1.2/debian/libdiscover2.install 2022-01-09 07:46:15.000000000 +0000 +++ discover-2.1.2/debian/libdiscover2.install 1970-01-01 00:00:00.000000000 +0000 @@ -1,7 +0,0 @@ -usr/share/discover/dtd/discover.dtd -usr/share/discover/dtd/conffile.dtd -usr/share/doc/discover/guide.html -usr/share/doc/discover/guide.txt -usr/share/man/man5/discover.conf.5 -usr/lib/*/libdiscover.so.2* -etc/discover.conf.d/00discover diff -Nru discover-2.1.2/debian/libdiscover2.preinst discover-2.1.2/debian/libdiscover2.preinst --- discover-2.1.2/debian/libdiscover2.preinst 2022-01-09 06:08:06.000000000 +0000 +++ discover-2.1.2/debian/libdiscover2.preinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,44 +0,0 @@ -#!/bin/sh - -# $Progeny$ - -# Copyright 2004 Progeny Linux Systems, Inc. -# -# Permission is hereby granted, free of charge, to any person obtaining a -# copy of this software and associated documentation files (the "Software"), -# to deal in the Software without restriction, including without limitation -# the rights to use, copy, modify, merge, publish, distribute, sublicense, -# and/or sell copies of the Software, and to permit persons to whom the -# Software is furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in -# all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -# THE COPYRIGHT HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -# DEALINGS IN THE SOFTWARE. - -set -e - -#DEBHELPER# - -# Deal with /etc/discover.conf. - -if [ -f /etc/discover.conf ]; then - if [ `fgrep '<conffile>' /etc/discover.conf | wc -l` -gt 0 ]; then - # Discover 2 conffile; move it to the new location. - if [ -f /etc/discover.conf.d/00discover ]; then - mv /etc/discover.conf /etc/discover.conf.d/00discover.dpkg-old - else - mkdir -p /etc/discover.conf.d - mv /etc/discover.conf /etc/discover.conf.d/00discover - fi - else - # Discover 1 conffile; prepare it for migration. - mv /etc/discover.conf /etc/discover-v1.conf - fi -fi diff -Nru discover-2.1.2/debian/libdiscover2.shlibs discover-2.1.2/debian/libdiscover2.shlibs --- discover-2.1.2/debian/libdiscover2.shlibs 2022-01-09 06:08:06.000000000 +0000 +++ discover-2.1.2/debian/libdiscover2.shlibs 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -libdiscover 2 libdiscover2 (>= 2.0.7) diff -Nru discover-2.1.2/debian/libdiscover2t64.docs discover-2.1.2/debian/libdiscover2t64.docs --- discover-2.1.2/debian/libdiscover2t64.docs 1970-01-01 00:00:00.000000000 +0000 +++ discover-2.1.2/debian/libdiscover2t64.docs 2022-01-09 06:08:06.000000000 +0000 @@ -0,0 +1,3 @@ +AUTHORS +README +RELEASE diff -Nru discover-2.1.2/debian/libdiscover2t64.install discover-2.1.2/debian/libdiscover2t64.install --- discover-2.1.2/debian/libdiscover2t64.install 1970-01-01 00:00:00.000000000 +0000 +++ discover-2.1.2/debian/libdiscover2t64.install 2022-01-09 07:46:15.000000000 +0000 @@ -0,0 +1,7 @@ +usr/share/discover/dtd/discover.dtd +usr/share/discover/dtd/conffile.dtd +usr/share/doc/discover/guide.html +usr/share/doc/discover/guide.txt +usr/share/man/man5/discover.conf.5 +usr/lib/*/libdiscover.so.2* +etc/discover.conf.d/00discover diff -Nru discover-2.1.2/debian/libdiscover2t64.lintian-overrides discover-2.1.2/debian/libdiscover2t64.lintian-overrides --- discover-2.1.2/debian/libdiscover2t64.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ discover-2.1.2/debian/libdiscover2t64.lintian-overrides 2024-02-01 04:30:46.000000000 +0000 @@ -0,0 +1 @@ +libdiscover2t64: package-name-doesnt-match-sonames libdiscover2 diff -Nru discover-2.1.2/debian/libdiscover2t64.preinst discover-2.1.2/debian/libdiscover2t64.preinst --- discover-2.1.2/debian/libdiscover2t64.preinst 1970-01-01 00:00:00.000000000 +0000 +++ discover-2.1.2/debian/libdiscover2t64.preinst 2022-01-09 06:08:06.000000000 +0000 @@ -0,0 +1,44 @@ +#!/bin/sh + +# $Progeny$ + +# Copyright 2004 Progeny Linux Systems, Inc. +# +# Permission is hereby granted, free of charge, to any person obtaining a +# copy of this software and associated documentation files (the "Software"), +# to deal in the Software without restriction, including without limitation +# the rights to use, copy, modify, merge, publish, distribute, sublicense, +# and/or sell copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +# THE COPYRIGHT HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +# DEALINGS IN THE SOFTWARE. + +set -e + +#DEBHELPER# + +# Deal with /etc/discover.conf. + +if [ -f /etc/discover.conf ]; then + if [ `fgrep '<conffile>' /etc/discover.conf | wc -l` -gt 0 ]; then + # Discover 2 conffile; move it to the new location. + if [ -f /etc/discover.conf.d/00discover ]; then + mv /etc/discover.conf /etc/discover.conf.d/00discover.dpkg-old + else + mkdir -p /etc/discover.conf.d + mv /etc/discover.conf /etc/discover.conf.d/00discover + fi + else + # Discover 1 conffile; prepare it for migration. + mv /etc/discover.conf /etc/discover-v1.conf + fi +fi diff -Nru discover-2.1.2/debian/libdiscover2t64.shlibs discover-2.1.2/debian/libdiscover2t64.shlibs --- discover-2.1.2/debian/libdiscover2t64.shlibs 1970-01-01 00:00:00.000000000 +0000 +++ discover-2.1.2/debian/libdiscover2t64.shlibs 2024-02-01 04:30:46.000000000 +0000 @@ -0,0 +1 @@ +libdiscover 2 libdiscover2t64 (>= 2.0.7)