From 7f1088f9cae9f191740423a0084bb31f94af2e75 Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Sun, 1 Oct 2023 23:32:36 +0200 Subject: [PATCH] package/tar: allowing building even on non-Y2038 compliant systems Since the bump of tar to version 1.35 in Buildroot commit d4d483451f0a305781b94b96c15a6cf4b489cd84 ("package/tar: security bump to version 1.35"), the build will fail on systems that are not Y2038, such as uClibc configurations. In order to preserve the previous behavior, pass --disable-year2038. See the gnulib documentation for details [0]. Contrary to what the option name might suggest, it doesn't really disable Y2038 support, but only the check that the system is Y2038 compliant. So even with --disable-year2038, if the system is Y2038 compliant (uses a 64-bit arch, uses the musl C library, or uses the glibc C library with BR2_TIME_BITS_64=y), tar will be Y2038 compliant. [0] https://www.gnu.org/software/gnulib/manual/html_node/Avoiding-the-year-2038-problem.html Signed-off-by: Thomas Petazzoni Signed-off-by: Yann E. MORIN --- package/tar/tar.mk | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/package/tar/tar.mk b/package/tar/tar.mk index eea112ebc7..8a612b6f45 100644 --- a/package/tar/tar.mk +++ b/package/tar/tar.mk @@ -7,9 +7,15 @@ TAR_VERSION = 1.35 TAR_SOURCE = tar-$(TAR_VERSION).tar.xz TAR_SITE = $(BR2_GNU_MIRROR)/tar -# busybox installs in /bin, so we need tar to install as well in /bin -# so that we don't end up with two different tar -TAR_CONF_OPTS = --exec-prefix=/ +# --exec-prefix=/: busybox installs in /bin, so we need tar to install +# as well in /bin so that we don't end up with two different tar +# +# --disable-year2038: tells the configure script to not abort if the +# system is not Y2038 compliant. tar will support year2038 if the +# system is compliant even with this option passed +TAR_CONF_OPTS = \ + --exec-prefix=/ \ + --disable-year2038 TAR_LICENSE = GPL-3.0+ TAR_LICENSE_FILES = COPYING TAR_CPE_ID_VENDOR = gnu