tools/coreutils: update to 9.4

Update to latest stable release.

Add configure option to disable support for the Year 2038 problem.
(for now, as some versions of GCC do not yet support it)

Syncing bootstrap script fails, backport an upstream patch which can be
removed at next coreutils update.

Several headers from the stable gnulib branch cause build failure because
the changes in the imported versions are incompatible with the Makefile
that gets generated for coreutils. This version of coreutils was released
after being bootstrapped and autoreconf'ed with a significantly different
version of gnulib compared to our local gnulib, so skip importing them
(and restore the backup).

While at it, organize restoring the originally shipped version of files
into a Make foreach function.

Refresh patch:
- 000-bootstrap.patch

New patch:
- 001-bootstrap-sync.patch

Link: https://lists.gnu.org/archive/html/coreutils/2023-08/msg00099.html
Tested-by: Georgi Valkov <gvalkov@gmail.com> # MacOS
Signed-off-by: Michael Pratt <mcpratt@pm.me>
Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
This commit is contained in:
Michael Pratt 2023-09-04 18:59:51 -04:00 committed by Robert Marko
parent 41bc16dcc4
commit 0489436506
3 changed files with 96 additions and 13 deletions

View File

@ -8,11 +8,11 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=coreutils PKG_NAME:=coreutils
PKG_CPE_ID:=cpe:/a:gnu:coreutils PKG_CPE_ID:=cpe:/a:gnu:coreutils
PKG_VERSION:=9.3 PKG_VERSION:=9.4
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=@GNU/coreutils PKG_SOURCE_URL:=@GNU/coreutils
PKG_HASH:=a33d2c0bc49be3c79a4794944dcd87103bf497b53a14bafcd431c8ca53975252 PKG_HASH:=5f600d9093973b0afe25393d9bc18c44f2232657f4ca0d95ea31c702eb66b739
HOST_BUILD_PARALLEL := 1 HOST_BUILD_PARALLEL := 1
@ -22,7 +22,17 @@ include $(INCLUDE_DIR)/host-build.mk
export GNULIB_SRCDIR:=$(HOST_GNULIB_SRCDIR) export GNULIB_SRCDIR:=$(HOST_GNULIB_SRCDIR)
HOST_GNULIB_SKIP := \
lib/math.in.h \
lib/stdlib.in.h \
lib/string.in.h \
lib/uchar.in.h \
lib/unistd.in.h \
lib/wchar.in.h \
lib/wctype.in.h
HOST_CONFIGURE_ARGS += \ HOST_CONFIGURE_ARGS += \
--disable-year2038 \
--enable-install-program=$(subst $(space),$(comma),$(strip $(PKG_PROGRAMS))) --enable-install-program=$(subst $(space),$(comma),$(strip $(PKG_PROGRAMS)))
HOST_MAKE_FLAGS += \ HOST_MAKE_FLAGS += \
@ -50,7 +60,7 @@ endef
define Host/Configure define Host/Configure
$(if $(QUILT),$(call Host/Bootstrap)) $(if $(QUILT),$(call Host/Bootstrap))
-$(CP) $(HOST_BUILD_DIR)/lib/time.in.h~ $(HOST_BUILD_DIR)/lib/time.in.h # @GNULIB_TIME@ not defined $(foreach src,$(HOST_GNULIB_SKIP),mv -f $(HOST_BUILD_DIR)/$(src)~ $(HOST_BUILD_DIR)/$(src) || true; )
$(call Host/Configure/Default) $(call Host/Configure/Default)
endef endef

View File

@ -1,6 +1,6 @@
--- a/bootstrap --- a/bootstrap
+++ b/bootstrap +++ b/bootstrap
@@ -278,7 +278,7 @@ check_exists() { @@ -244,7 +244,7 @@ check_exists() {
($2 --version </dev/null) ($2 --version </dev/null)
fi fi
else else
@ -9,7 +9,7 @@
fi fi
test $? -lt 126 test $? -lt 126
@@ -563,7 +563,7 @@ p @@ -309,7 +309,7 @@ p
q' q'
get_version() { get_version() {
@ -18,7 +18,7 @@
$app --version >/dev/null 2>&1 || { $app --version; return 1; } $app --version >/dev/null 2>&1 || { $app --version; return 1; }
@@ -620,13 +620,13 @@ check_versions() { @@ -366,13 +366,13 @@ check_versions() {
if [ "$req_ver" = "-" ]; then if [ "$req_ver" = "-" ]; then
# Merely require app to exist; not all prereq apps are well-behaved # Merely require app to exist; not all prereq apps are well-behaved
# so we have to rely on $? rather than get_version. # so we have to rely on $? rather than get_version.
@ -34,12 +34,12 @@
if [ ! "$inst_ver" ]; then if [ ! "$inst_ver" ]; then
warn_ "Error: '$app' not found" warn_ "Error: '$app' not found"
ret=1 ret=1
@@ -923,7 +923,7 @@ version_controlled_file() { @@ -1155,7 +1155,7 @@ autogen()
# two just-pre-run programs. # two just-pre-run programs.
# Import from gettext. # Import from gettext.
-with_gettext=yes - with_gettext=yes
+with_gettext=no + with_gettext=no
grep '^[ ]*AM_GNU_GETTEXT_VERSION(' configure.ac >/dev/null || \ grep '^[ ]*AM_GNU_GETTEXT_VERSION(' configure.ac >/dev/null || \
with_gettext=no with_gettext=no

View File

@ -0,0 +1,73 @@
From 9becda5d9371c16a6e5e2815c8a28158696e4a23 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?P=C3=A1draig=20Brady?= <P@draigBrady.com>
Date: Sun, 10 Dec 2023 19:04:59 +0000
Subject: build: update gnulib submodule to latest
* bootstrap: Copy from latest Gnulib,
to fix --bootstrap-sync with other options.
---
bootstrap | 16 ++++++++++------
1 file changed, 10 insertions(+), 6 deletions(-)
(limited to 'bootstrap')
--- a/bootstrap
+++ b/bootstrap
@@ -3,7 +3,7 @@
# Bootstrap this package from checked-out sources.
-scriptversion=2023-07-01.18; # UTC
+scriptversion=2023-12-10.18; # UTC
# Copyright (C) 2003-2023 Free Software Foundation, Inc.
#
@@ -37,7 +37,7 @@ medir=`dirname "$me"`
# A library of shell functions for autopull.sh, autogen.sh, and bootstrap.
-scriptlibversion=2023-07-01.17; # UTC
+scriptlibversion=2023-12-10.18; # UTC
# Copyright (C) 2003-2023 Free Software Foundation, Inc.
#
@@ -659,7 +659,9 @@ Optional environment variables:
Use this if you already have gnulib sources
and history on your machine, and do not want
to waste your bandwidth downloading them again.
- GNULIB_URL Cloneable URL of the gnulib repository.
+ GNULIB_URL URL of the gnulib repository. The default is
+ $default_gnulib_url,
+ which is Gnulib's upstream repository.
Options:
--bootstrap-sync if this bootstrap script is not identical to
@@ -775,7 +777,7 @@ autopull()
if $use_gnulib || $bootstrap_sync; then
prepare_GNULIB_SRCDIR
if $bootstrap_sync; then
- upgrade_bootstrap
+ upgrade_bootstrap "$@"
fi
fi
@@ -1347,7 +1349,9 @@ Optional environment variables:
have gnulib sources on your machine, and
do not want to waste your bandwidth downloading
them again.
- GNULIB_URL Cloneable URL of the gnulib repository.
+ GNULIB_URL URL of the gnulib repository. The default is
+ $default_gnulib_url,
+ which is Gnulib's upstream repository.
Options:
@@ -1492,7 +1496,7 @@ check_build_prerequisites $use_git
if $bootstrap_sync; then
prepare_GNULIB_SRCDIR
- upgrade_bootstrap
+ upgrade_bootstrap "$@"
# Since we have now upgraded if needed, no need to try it a second time below.
bootstrap_sync=false
fi