Bug#1063270: xen: NMU diff for 64-bit time_t transition
Dear maintainer, Please find attached a final version of this patch for the time_t transition. This patch is being uploaded to unstable. Note that this adds a versioned build-dependency on dpkg-dev, to guard against accidental backports with a wrong ABI. Thanks! -- 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 xen-4.17.3+10-g091466ba55/debian/.gitignore xen-4.17.3+10-g091466ba55/debian/.gitignore --- xen-4.17.3+10-g091466ba55/debian/.gitignore 2024-02-04 12:45:17.0 + +++ xen-4.17.3+10-g091466ba55/debian/.gitignore 1970-01-01 00:00:00.0 + @@ -1,39 +0,0 @@ -.debhelper -*.debhelper.* -*.preinst.debhelper -*.postinst.debhelper -*.prerm.debhelper -*.postrm.debhelper -*.substvars -*.stamp -tmp -*-[0-9]*.bug-control -*-[0-9]*.postinst -*-[0-9]*.postrm -*.tmp -files -xen-doc -xen-hypervisor-common -xen-system-amd64 -xen-system-armhf -xen-system-arm64 -xen-hypervisor-[0-9]*[0-9] -xen-hypervisor-[0-9]*[0-9].install -xen-hypervisor-[0-9]*[0-9].lintian-overrides -xen-utils-[0-9]*[0-9] -xen-utils-[0-9]*[0-9].install -xen-utils-[0-9]*[0-9].NEWS -xen-utils-[0-9]*[0-9].README.Debian -xen-utils-[0-9]*[0-9].lintian-overrides -xen-utils-[0-9]*[0-9].prerm -libxenmisc[0-9]*[0-9].lintian-overrides -libxenmisc[0-9]*[0-9] -libxenmisc[0-9]*[0-9].install -libxenmisc[0-9]*[0-9].lintian-overrides -libxen-dev -libxen*[0-9] -xen-utils-common -xenstore-utils -autoreconf.before -autoreconf.after -debhelper-build-stamp diff -Nru xen-4.17.3+10-g091466ba55/debian/changelog xen-4.17.3+10-g091466ba55/debian/changelog --- xen-4.17.3+10-g091466ba55/debian/changelog 2024-02-04 12:45:17.0 + +++ xen-4.17.3+10-g091466ba55/debian/changelog 2024-02-29 07:08:41.0 + @@ -1,3 +1,10 @@ +xen (4.17.3+10-g091466ba55-1.1) unstable; urgency=medium + + * Non-maintainer upload. + * Rename libraries for 64-bit time_t transition. Closes: #1063270 + + -- Steve Langasek Thu, 29 Feb 2024 07:08:41 + + xen (4.17.3+10-g091466ba55-1) unstable; urgency=medium * Update to new upstream version 4.17.3+10-g091466ba55, which also contains diff -Nru xen-4.17.3+10-g091466ba55/debian/control xen-4.17.3+10-g091466ba55/debian/control --- xen-4.17.3+10-g091466ba55/debian/control 2024-02-04 12:45:17.0 + +++ xen-4.17.3+10-g091466ba55/debian/control 2024-02-29 07:08:41.0 + @@ -4,7 +4,7 @@ Uploaders: Ian Jackson , Hans van Kranenburg Section: admin Standards-Version: 4.6.2 -Build-Depends: +Build-Depends: dpkg-dev (>= 1.22.5), debhelper-compat (= 13), dh-exec, dpkg-dev (>= 1.16.0~), @@ -212,16 +212,16 @@ Section: libdevel Architecture: amd64 arm64 armhf Depends: ${shlibs:Depends}, ${misc:Depends}, - libxenmisc4.17 (= ${binary:Version}), - libxencall1 (= ${binary:Version}), - libxendevicemodel1 (= ${binary:Version}), - libxenevtchn1 (= ${binary:Version}), - libxenforeignmemory1 (= ${binary:Version}), - libxengnttab1 (= ${binary:Version}), - libxenstore4 (= ${binary:Version}), - libxentoolcore1 (= ${binary:Version}), - libxentoollog1 (= ${binary:Version}), - libxenhypfs1 (= ${binary:Version}), + libxenmisc4.17t64 (= ${binary:Version}), + libxencall1t64 (= ${binary:Version}), + libxendevicemodel1t64 (= ${binary:Version}), + libxenevtchn1t64 (= ${binary:Version}), + libxenforeignmemory1t64 (= ${binary:Version}), + libxengnttab1t64 (= ${binary:Version}), + libxenstore4t64 (= ${binary:Version}), + libxentoolcore1t64 (= ${binary:Version}), + libxentoollog1t64 (= ${binary:Version}), + libxenhypfs1t64 (= ${binary:Version}), Description: Public headers and libs for Xen This package contains the public headers and static libraries for Xen. . @@ -236,7 +236,10 @@ Most of the other included libraries are internal, and intended for use by the Xen toolstack, rather than directly. -Package: libxenmisc4.17 +Package: libxenmisc4.17t64 +Provides: ${t64:Provides} +Replaces: libxenmisc4.17 +Breaks: libxenmisc4.17 (<< ${source:Version}) Section: libs Architecture: amd64 arm64 armhf Depends: ${shlibs:Depends}, ${misc:Depends} @@ -247,7 +250,10 @@ knowledge of hypervisor-version-specific hypercall ABIs. Multi-Arch: same -Package: libxencall1 +Package: libxencall1t64 +Provides: ${t64:Provides} +Replaces: libxencall1 +Breaks: libxencall1 (<< ${source:Version}) Section: libs Architecture: amd64 arm64 armhf Depends: ${shlibs:Depends}, ${misc:Depends} @@ -255,7 +261,10 @@ Shared library for Xen utilities. Multi-Arch: same -Package: libxendevicemodel1 +Package: libxendevicemodel1t64 +Provides: ${t64:Provides} +Replaces: libxendevicemodel1 +Breaks: libxendevicemodel1 (<< ${source:
Bug#1063270: xen: NMU diff for 64-bit time_t transition
Hello, The previous NMU of xen failed to build in experimental because we did not handle the file renames in debian/shuffle-binaries. Please see the attached corrected patch which has been uploaded to experimental. -- 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 xen-4.17.3+10-g091466ba55/debian/changelog xen-4.17.3+10-g091466ba55/debian/changelog --- xen-4.17.3+10-g091466ba55/debian/changelog 2024-02-04 04:45:17.0 -0800 +++ xen-4.17.3+10-g091466ba55/debian/changelog 2024-02-23 18:53:03.0 -0800 @@ -1,3 +1,17 @@ +xen (4.17.3+10-g091466ba55-1.1~exp2) experimental; urgency=medium + + * debian/shuffle-binaries: handle rename of +debian/libxenmiscV.install.vsn-in + + -- Steve Langasek Sat, 24 Feb 2024 02:53:03 + + +xen (4.17.3+10-g091466ba55-1.1~exp1) experimental; urgency=medium + + * Non-maintainer upload. + * Rename libraries for 64-bit time_t transition. + + -- Steve Langasek Mon, 05 Feb 2024 23:01:29 + + xen (4.17.3+10-g091466ba55-1) unstable; urgency=medium * Update to new upstream version 4.17.3+10-g091466ba55, which also contains diff -Nru xen-4.17.3+10-g091466ba55/debian/control xen-4.17.3+10-g091466ba55/debian/control --- xen-4.17.3+10-g091466ba55/debian/control2024-02-04 04:45:17.0 -0800 +++ xen-4.17.3+10-g091466ba55/debian/control2024-02-05 15:01:29.0 -0800 @@ -212,16 +212,16 @@ Section: libdevel Architecture: amd64 arm64 armhf Depends: ${shlibs:Depends}, ${misc:Depends}, -libxenmisc4.17 (= ${binary:Version}), -libxencall1 (= ${binary:Version}), -libxendevicemodel1 (= ${binary:Version}), -libxenevtchn1 (= ${binary:Version}), -libxenforeignmemory1 (= ${binary:Version}), -libxengnttab1 (= ${binary:Version}), -libxenstore4 (= ${binary:Version}), -libxentoolcore1 (= ${binary:Version}), -libxentoollog1 (= ${binary:Version}), -libxenhypfs1 (= ${binary:Version}), +libxenmisc4.17t64 (= ${binary:Version}), +libxencall1t64 (= ${binary:Version}), +libxendevicemodel1t64 (= ${binary:Version}), +libxenevtchn1t64 (= ${binary:Version}), +libxenforeignmemory1t64 (= ${binary:Version}), +libxengnttab1t64 (= ${binary:Version}), +libxenstore4t64 (= ${binary:Version}), +libxentoolcore1t64 (= ${binary:Version}), +libxentoollog1t64 (= ${binary:Version}), +libxenhypfs1t64 (= ${binary:Version}), Description: Public headers and libs for Xen This package contains the public headers and static libraries for Xen. . @@ -236,7 +236,10 @@ Most of the other included libraries are internal, and intended for use by the Xen toolstack, rather than directly. -Package: libxenmisc4.17 +Package: libxenmisc4.17t64 +Provides: ${t64:Provides} +Replaces: libxenmisc4.17 +Breaks: libxenmisc4.17 (<< ${source:Version}) Section: libs Architecture: amd64 arm64 armhf Depends: ${shlibs:Depends}, ${misc:Depends} @@ -247,7 +250,10 @@ knowledge of hypervisor-version-specific hypercall ABIs. Multi-Arch: same -Package: libxencall1 +Package: libxencall1t64 +Provides: ${t64:Provides} +Replaces: libxencall1 +Breaks: libxencall1 (<< ${source:Version}) Section: libs Architecture: amd64 arm64 armhf Depends: ${shlibs:Depends}, ${misc:Depends} @@ -255,7 +261,10 @@ Shared library for Xen utilities. Multi-Arch: same -Package: libxendevicemodel1 +Package: libxendevicemodel1t64 +Provides: ${t64:Provides} +Replaces: libxendevicemodel1 +Breaks: libxendevicemodel1 (<< ${source:Version}) Section: libs Architecture: amd64 arm64 armhf Depends: ${shlibs:Depends}, ${misc:Depends} @@ -263,7 +272,10 @@ Shared library for Xen utilities. Multi-Arch: same -Package: libxenevtchn1 +Package: libxenevtchn1t64 +Provides: ${t64:Provides} +Replaces: libxenevtchn1 +Breaks: libxenevtchn1 (<< ${source:Version}) Section: libs Architecture: amd64 arm64 armhf Depends: ${shlibs:Depends}, ${misc:Depends} @@ -271,7 +283,10 @@ Shared library for Xen utilities. Multi-Arch: same -Package: libxenforeignmemory1 +Package: libxenforeignmemory1t64 +Provides: ${t64:Provides} +Replaces: libxenforeignmemory1 +Breaks: libxenforeignmemory1 (<< ${source:Version}) Section: libs Architecture: amd64 arm64 armhf Depends: ${shlibs:Depends}, ${misc:Depends} @@ -279,7 +294,10 @@ Shared library for Xen utilities. Multi-Arch: same -Package: libxengnttab1 +Package: libxengnttab1t64 +Provides: ${t64:Provides} +Replaces: libxengnttab1 +Breaks: libxengnttab1 (<< ${source:Version}) Section: libs Architecture: amd64 arm64 armhf Depends: ${shlibs:Depends}, ${misc:Depends} @@ -287,7 +305,10 @@ Shared library for Xen utilities. Multi-Arch: same -Package: libxenstore4 +Package:
Bug#1063270: xen: NMU diff for 64-bit time_t transition
Control: found -1 4.17.2+76-ge1f9cb16e2-1 Hi Steve, Thanks for taking care about the 64-bit time_t transition. Unfortunately your attached patch looks a bit strange to me. It adds autogenerated files, but especially FTBFS in your experimental upload. You can find an updated patch attached to this mail that only contains the relevant changes and does the rename in one more place to fix the FTBFS. With this mail I also mark the xen version currently in testing as affected so this bug does not prevent the migration of the xen version currently in unstable (4.17.3+10-g091466ba55-1). I also did compile xen in qemu for armhf one time with the current unstable version and one time with the change below to test the time_t transition. The resulting binaries were the same (thanks xen is buildable reproducibly). So maybe the transition is not needed for xen, but unfortunately my knowledge is not that much that I can say this for sure. --- a/debian/rules +++ b/debian/rules @@ -12,6 +12,10 @@ export DEB_VERSION # DEB_MAINTAINER is used by our delta queue export DEB_MAINTAINER := $(shell sed -ne 's/^Maintainer: \(.*\)$$/\1/p' debian/control) +export DEB_BUILD_OPTIONS=abi=+lfs +export _FILE_OFFSET_BITS=64 +export _TIME_BITS=64 + # This influences dpkg-buildflags to specify better linker # options. See https://wiki.debian.org/Hardening # Apparently some of these might incur silent breakage @@ -26,7 +30,7 @@ export DEB_MAINTAINER := $(shell sed -ne 's/^Maintainer: \(.*\)$$/\1/p' debian/c # Inexplicably, if you tell make `export V=value' and `$(shell ...)' # it does not pass V to the shell. WTF. So we set a variable # dbmo which we include in the relevant $(shell ...) invocations. -dbmo= DEB_BUILD_MAINT_OPTIONS="hardening=+all" +dbmo= DEB_BUILD_MAINT_OPTIONS="hardening=+all abi=+lfs" _FILE_OFFSET_BITS=64 _TIME_BITS=64 # Architecture handling. # diff -Nru xen-4.17.3+10-g091466ba55/debian/changelog xen-4.17.3+10-g091466ba55/debian/changelog --- xen-4.17.3+10-g091466ba55/debian/changelog 2024-02-04 13:45:17.0 +0100 +++ xen-4.17.3+10-g091466ba55/debian/changelog 2024-02-05 23:37:19.0 +0100 @@ -1,3 +1,10 @@ +xen (4.17.3+10-g091466ba55-1.1) experimental; urgency=medium + + * Non-maintainer upload. + * Rename libraries for 64-bit time_t transition. + + -- Steve Langasek Mon, 05 Feb 2024 22:37:19 + + xen (4.17.3+10-g091466ba55-1) unstable; urgency=medium * Update to new upstream version 4.17.3+10-g091466ba55, which also contains diff -Nru xen-4.17.3+10-g091466ba55/debian/control xen-4.17.3+10-g091466ba55/debian/control --- xen-4.17.3+10-g091466ba55/debian/control 2024-02-04 13:45:17.0 +0100 +++ xen-4.17.3+10-g091466ba55/debian/control 2024-02-05 23:37:19.0 +0100 @@ -212,16 +212,16 @@ Section: libdevel Architecture: amd64 arm64 armhf Depends: ${shlibs:Depends}, ${misc:Depends}, - libxenmisc4.17 (= ${binary:Version}), - libxencall1 (= ${binary:Version}), - libxendevicemodel1 (= ${binary:Version}), - libxenevtchn1 (= ${binary:Version}), - libxenforeignmemory1 (= ${binary:Version}), - libxengnttab1 (= ${binary:Version}), - libxenstore4 (= ${binary:Version}), - libxentoolcore1 (= ${binary:Version}), - libxentoollog1 (= ${binary:Version}), - libxenhypfs1 (= ${binary:Version}), + libxenmisc4.17t64 (= ${binary:Version}), + libxencall1t64 (= ${binary:Version}), + libxendevicemodel1t64 (= ${binary:Version}), + libxenevtchn1t64 (= ${binary:Version}), + libxenforeignmemory1t64 (= ${binary:Version}), + libxengnttab1t64 (= ${binary:Version}), + libxenstore4t64 (= ${binary:Version}), + libxentoolcore1t64 (= ${binary:Version}), + libxentoollog1t64 (= ${binary:Version}), + libxenhypfs1t64 (= ${binary:Version}), Description: Public headers and libs for Xen This package contains the public headers and static libraries for Xen. . @@ -236,7 +236,10 @@ Most of the other included libraries are internal, and intended for use by the Xen toolstack, rather than directly. -Package: libxenmisc4.17 +Package: libxenmisc4.17t64 +Provides: ${t64:Provides} +Replaces: libxenmisc4.17 +Breaks: libxenmisc4.17 (<< ${source:Version}) Section: libs Architecture: amd64 arm64 armhf Depends: ${shlibs:Depends}, ${misc:Depends} @@ -247,7 +250,10 @@ knowledge of hypervisor-version-specific hypercall ABIs. Multi-Arch: same -Package: libxencall1 +Package: libxencall1t64 +Provides: ${t64:Provides} +Replaces: libxencall1 +Breaks: libxencall1 (<< ${source:Version}) Section: libs Architecture: amd64 arm64 armhf Depends: ${shlibs:Depends}, ${misc:Depends} @@ -255,7 +261,10 @@ Shared library for Xen utilities. Multi-Arch: same -Package: libxendevicemodel1 +Package: libxendevicemodel1t64 +Provides: ${t64:Provides} +Replaces: libxendevicemodel1 +Breaks: libxendevicemodel1 (<< ${source:Version}) Section: libs Architecture: amd64 arm64 armhf Depends: ${shlibs:Depends}, ${misc:Depends} @@ -263,7 +272,10 @@ Shared library for Xen utilities. Multi-Arch: same
Bug#1063270: xen: NMU diff for 64-bit time_t transition
Source: xen Version: 4.17.3+10-g091466ba55-1 Severity: serious Tags: patch pending sid trixie Justification: library ABI skew on upgrade 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 xen 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 xen 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 xen-4.17.3+10-g091466ba55/debian/.gitignore xen-4.17.3+10-g091466ba55/debian/.gitignore --- xen-4.17.3+10-g091466ba55/debian/.gitignore 2024-02-04 12:45:17.0 + +++ xen-4.17.3+10-g091466ba55/debian/.gitignore 1970-01-01 00:00:00.0 + @@ -1,39 +0,0 @@ -.debhelper -*.debhelper.* -*.preinst.debhelper -*.postinst.debhelper -*.prerm.debhelper -*.postrm.debhelper -*.substvars -*.stamp -tmp -*-[0-9]*.bug-control -*-[0-9]*.postinst -*-[0-9]*.postrm -*.tmp -files -xen-doc -xen-hypervisor-common -xen-system-amd64 -xen-system-armhf -xen-system-arm64 -xen-hypervisor-[0-9]*[0-9] -xen-hypervisor-[0-9]*[0-9].install -xen-hypervisor-[0-9]*[0-9].lintian-overrides -xen-utils-[0-9]*[0-9] -xen-utils-[0-9]*[0-9].install -xen-utils-[0-9]*[0-9].NEWS -xen-utils-[0-9]*[0-9].README.Debian -xen-utils-[0-9]*[0-9].lintian-overrides -xen-utils-[0-9]*[0-9].prerm -libxenmisc[0-9]*[0-9].lintian-overrides -libxenmisc[0-9]*[0-9] -libxenmisc[0-9]*[0-9].install -libxenmisc[0-9]*[0-9].lintian-overrides -libxen-dev -libxen*[0-9] -xen-utils-common -xenstore-utils -autoreconf.before -autoreconf.after -debhelper-build-stamp diff -Nru xen-4.17.3+10-g091466ba55/debian/changelog xen-4.17.3+10-g091466ba55/debian/changelog --- xen-4.17.3+10-g091466ba55/debian/changelog 2024-02-04 12:45:17.0 + +++ xen-4.17.3+10-g091466ba55/debian/changelog 2024-02-05 22:37:19.0 + @@ -1,3 +1,10 @@ +xen (4.17.3+10-g091466ba55-1.1) experimental; urgency=medium + + * Non-maintainer upload. + * Rename libraries for 64-bit time_t transition. + + -- Steve Langasek Mon, 05 Feb 2024 22:37:19 + + xen (4.17.3+10-g091466ba55-1) unstable; urgency=medium * Update to new upstream version 4.17.3+10-g091466ba55, which also contains diff -Nru xen-4.17.3+10-g091466ba55/debian/control xen-4.17.3+10-g091466ba55/debian/control --- xen-4.17.3+10-g091466ba55/debian/control2024-02-04 12:45:17.0 + +++ xen-4.17.3+10-g091466ba55/debian/control2024-02-05 22:37:18.0 + @@ -212,16 +212,16 @@ Section: libdevel Architecture: amd64 arm64 armhf Depends: ${shlibs:Depends}, ${misc:Depends}, -libxenmisc4.17 (= ${binary:Version}), -libxencall1 (= ${binary:Version}), -libxendevicemodel1 (= ${binary:Version}), -libxenevtchn1 (= ${binary:Version}), -libxenforeignmemory1 (= ${binary:Version}), -libxengnttab1 (= ${binary:Version}), -libxenstore4 (= ${binary:Version}), -libxentoolcore1 (= ${binary:Version}), -libxentoollog1 (= ${binary:Version}), -libxenhypfs1 (= ${binary:Version}), +libxenmisc4.17t64 (= ${binary:Version}), +libxencall1t64 (= ${binary:Version}), +libxendevicemodel1t64 (= ${binary:Version}), +libxenevtchn1t64 (= ${binary:Version}), +lib