Bug#1067427: dpkg-dev: Fail to generate a substitution variable ${t64:Provides} (time_t transition)
Package: dpkg-dev Version: 1.22.6 Severity: serious Dear Maintainer, Feel free to reassign. I noticed this bug with the libopenshot-audio source and with armel, armh and powerpc architectures from buildd logs and my rebuild. I didn't pay attention for others sources, but I noticed that only after a second rebuild... , | pkg-gencontrol: warning: Provides field of package libopenshot-audio9t64: substitution variable ${t64:Provides} used, but is not defined | dpkg-gencontrol: warning: Provides field of package libopenshot-audio9t64: substitution variable ${t64:Provides} used, but is not defined ` https://buildd.debian.org/status/fetch.php?pkg=libopenshot-audio&arch=powerpc&ver=0.3.2%2Bdfsg1-2.1&stamp=1709343482&raw=0 https://buildd.debian.org/status/fetch.php?pkg=libopenshot-audio&arch=armhf&ver=0.3.2%2Bdfsg1-2.1&stamp=1709142395&raw=0 Chirstian -- Package-specific info: -- System Information: Debian Release: trixie/sid APT prefers buildd-unstable APT policy: (500, 'buildd-unstable'), (500, 'unstable') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 6.8.1-1-custom (SMP w/24 CPU threads; PREEMPT) Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8), LANGUAGE not set Shell: /bin/sh linked to /usr/bin/dash Init: systemd (via /run/systemd/system) Versions of packages dpkg-dev depends on: ii binutils 2.42-4 ii bzip2 1.0.8-5.1 ii libdpkg-perl 1.22.6 ii make 4.3-4.1 ii patch 2.7.6-7 ii perl 5.38.2-3.2 ii tar 1.35+dfsg-3 ii xz-utils 5.6.0-0.2 Versions of packages dpkg-dev recommends: ii build-essential 12.10 ii clang-16 [c-compiler]1:16.0.6-23 ii fakeroot 1.34-1 ii gcc [c-compiler] 4:13.2.0-7 ii gcc-13 [c-compiler] 13.2.0-19 ii gnupg2.2.40-3 ii gpgv 2.2.40-3 pn libalgorithm-merge-perl Versions of packages dpkg-dev suggests: pn debian-keyring -- no debconf information
Bug#1067427: dpkg-dev: Fail to generate a substitution variable ${t64:Provides} (time_t transition)
Control: tags -1 + moreinfo On Thu, 21 Mar 2024 at 15:00:52 +0100, Christian Marillat wrote: > I noticed this bug with the libopenshot-audio source and with > armel, armh and powerpc architectures from buildd logs and my rebuild. > > I didn't pay attention for others sources, but I noticed that only > after a second rebuild... > > , > | pkg-gencontrol: warning: Provides field of package libopenshot-audio9t64: > substitution variable ${t64:Provides} used, but is not defined > | dpkg-gencontrol: warning: Provides field of package libopenshot-audio9t64: > substitution variable ${t64:Provides} used, but is not defined > ` This appears to be working as designed (cc'ing the instigator of this transition for confirmation). It is correct that no ${t64:Provides} is generated on armel, armhf and powerpc (and other 32-bit non-i386 architectures, like hppa). There are four categories of architectures for this transition (text adapted from https://wiki.debian.org/ReleaseGoals/64bit-time, which was itself adapted from a recent message from me to -devel): 1. amd64, arm64, mips64el, ppc64el, riscv64, s390x are all 64-bit, so they already had 64-bit time_t. Non-release architectures in the same category: alpha hurd-amd64 ia64 loong64 ppc64 sparc64. On these architectures, libopenshot-audio9t64 can safely have Provides: libopenshot-audio9, because the ABI has not actually changed. 2. i386 is 32-bit but has been excluded from the 64-bit time_t transition because its major purpose this decade is running legacy 32-bit binaries, a purpose that would no longer be possible if it broke ABI. Non-release architectures in the same category: hurd-i386. On i386, libopenshot-audio9t64 can have the Provides, as above. 3. There is currently no release architecture that is 32-bit but already had a 64-bit time_t prior to 2024. Non-release architectures in this category: x32. On x32, libopenshot-audio9t64 should ideally have the Provides, as above (I'm not sure whether it actually does, but given the status of x32, I don't think this is actually harming anyone.) 4. armel, armhf are the two 32-bit release architectures which are not in any of the previous categories, so they are genuinely changing their ABIs. Non-release architectures in the same category: hppa m68k powerpc sh4. On these architectures, libopenshot-audio9t64 must not have a Provides on libopenshot-audio9, because its ABI has changed, so the new library does not provide an interface that is compatible with the old library. (This is the reason why we're doing all this renaming!) So I think this is not a bug, and certainly not a RC bug. The warnings are a bit annoying, but do not indicate a genuine problem. smcv
Bug#1067427: dpkg-dev: Fail to generate a substitution variable ${t64:Provides} (time_t transition)
On 21 mars 2024 15:41, Simon McVittie wrote: [...] > 4. armel, armhf are the two 32-bit release architectures which are > not in any of the previous categories, so they are genuinely changing > their ABIs. > Non-release architectures in the same category: hppa m68k powerpc sh4. > > On these architectures, libopenshot-audio9t64 must not have a Provides > on libopenshot-audio9, because its ABI has changed, so the new library > does not provide an interface that is compatible with the old library. > (This is the reason why we're doing all this renaming!) I did not know. > So I think this is not a bug, and certainly not a RC bug. The warnings are > a bit annoying, but do not indicate a genuine problem. Yes of course, you can close this bug. Christian