summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Pratt <mcpratt@pm.me>2023-09-04 18:59:51 -0400
committerRobert Marko <robimarko@gmail.com>2024-04-25 21:33:51 +0200
commit0489436506f20207dc2177fc30e84f7fb0cc9d07 (patch)
tree55b6efce0bdf860dfbfde36101fbe05cb992239f
parent41bc16dcc4594cd85fb87942032dcbec0ade7068 (diff)
downloadopenwrt-0489436506f20207dc2177fc30e84f7fb0cc9d07.tar.gz
openwrt-0489436506f20207dc2177fc30e84f7fb0cc9d07.tar.bz2
openwrt-0489436506f20207dc2177fc30e84f7fb0cc9d07.zip
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>
-rw-r--r--tools/coreutils/Makefile16
-rw-r--r--tools/coreutils/patches/000-bootstrap.patch20
-rw-r--r--tools/coreutils/patches/001-bootstrap-sync.patch73
3 files changed, 96 insertions, 13 deletions
diff --git a/tools/coreutils/Makefile b/tools/coreutils/Makefile
index 69d1dcbd37..184281f0be 100644
--- a/tools/coreutils/Makefile
+++ b/tools/coreutils/Makefile
@@ -8,11 +8,11 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=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_URL:=@GNU/coreutils
-PKG_HASH:=a33d2c0bc49be3c79a4794944dcd87103bf497b53a14bafcd431c8ca53975252
+PKG_HASH:=5f600d9093973b0afe25393d9bc18c44f2232657f4ca0d95ea31c702eb66b739
HOST_BUILD_PARALLEL := 1
@@ -22,7 +22,17 @@ include $(INCLUDE_DIR)/host-build.mk
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 += \
+ --disable-year2038 \
--enable-install-program=$(subst $(space),$(comma),$(strip $(PKG_PROGRAMS)))
HOST_MAKE_FLAGS += \
@@ -50,7 +60,7 @@ endef
define Host/Configure
$(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)
endef
diff --git a/tools/coreutils/patches/000-bootstrap.patch b/tools/coreutils/patches/000-bootstrap.patch
index 91be9d338a..3faaa946f1 100644
--- a/tools/coreutils/patches/000-bootstrap.patch
+++ b/tools/coreutils/patches/000-bootstrap.patch
@@ -1,6 +1,6 @@
--- a/bootstrap
+++ b/bootstrap
-@@ -278,7 +278,7 @@ check_exists() {
+@@ -244,7 +244,7 @@ check_exists() {
($2 --version </dev/null)
fi
else
@@ -9,7 +9,7 @@
fi
test $? -lt 126
-@@ -563,7 +563,7 @@ p
+@@ -309,7 +309,7 @@ p
q'
get_version() {
@@ -18,7 +18,7 @@
$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
# Merely require app to exist; not all prereq apps are well-behaved
# so we have to rely on $? rather than get_version.
@@ -34,12 +34,12 @@
if [ ! "$inst_ver" ]; then
warn_ "Error: '$app' not found"
ret=1
-@@ -923,7 +923,7 @@ version_controlled_file() {
- # two just-pre-run programs.
+@@ -1155,7 +1155,7 @@ autogen()
+ # two just-pre-run programs.
- # Import from gettext.
--with_gettext=yes
-+with_gettext=no
- grep '^[ ]*AM_GNU_GETTEXT_VERSION(' configure.ac >/dev/null || \
- with_gettext=no
+ # Import from gettext.
+- with_gettext=yes
++ with_gettext=no
+ grep '^[ ]*AM_GNU_GETTEXT_VERSION(' configure.ac >/dev/null || \
+ with_gettext=no
diff --git a/tools/coreutils/patches/001-bootstrap-sync.patch b/tools/coreutils/patches/001-bootstrap-sync.patch
new file mode 100644
index 0000000000..1b9687733f
--- /dev/null
+++ b/tools/coreutils/patches/001-bootstrap-sync.patch
@@ -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