Dpkg::Vendor::Debian: Enable time64 feature by default except on <some>-i386
commit1f0ebe1945724fd57fd3984af0031ce9bf55b524
authorGuillem Jover <guillem@debian.org>
Tue, 27 Feb 2024 03:19:53 +0000 (27 04:19 +0100)
committerGuillem Jover <guillem@debian.org>
Tue, 27 Feb 2024 03:19:53 +0000 (27 04:19 +0100)
tree47c0a3ec8773398df11337d3044cca01bb755aa5
parent5822b37460127d772f06a09b0acceaf87a1fec66
Dpkg::Vendor::Debian: Enable time64 feature by default except on <some>-i386

On Debian the plan is to switch all architectures to default to time64,
except for i386 (which is left to use time32 for backwards binary
compatibility reasons), and hurd-i386 and kfreebsd-i386 (which do not
have time64 support).

In addition, the default compiler (gcc) also emits the necessary
pre-processor flags on armel, armhf, hppa, m68k, mips, mipsel, powerpc
and sh4, so for those if the user has explicitly requested abi=-time64
we need to emit options to unset the macros.

If the user explicitly requests abi=+time64, then it will be enabled
everywhere (except for hurd-i386 and kfreebsd-i386 where the kernel does
not support it), so that it can be requested explicitly on packages that
want or need to be time64 aware regardless of the default exception, and
so that we do not break any ABI with packages that might have already
opted in.

Based-on-patch-by: Steve Langasek <steve.langasek@ubuntu.com>
Closes: #1037136
man/dpkg-buildflags.pod
scripts/Dpkg/Vendor/Debian.pm
scripts/t/Dpkg_BuildFlags.t