diff --git a/diffutils-3.7.tar.xz b/diffutils-3.7.tar.xz deleted file mode 100644 index 33b0fbc..0000000 Binary files a/diffutils-3.7.tar.xz and /dev/null differ diff --git a/diffutils-3.8.tar.xz b/diffutils-3.8.tar.xz new file mode 100644 index 0000000..99a4ef6 Binary files /dev/null and b/diffutils-3.8.tar.xz differ diff --git a/diffutils-i18n.patch b/diffutils-i18n.patch index 6d2b341..13170ad 100644 --- a/diffutils-i18n.patch +++ b/diffutils-i18n.patch @@ -11,8 +11,8 @@ diff -up diffutils-3.6/src/diff.c.i18n diffutils-3.6/src/diff.c recursively. */ static bool recursive; @@ -298,6 +300,13 @@ main (int argc, char **argv) - excluded = new_exclude (); presume_output_tty = false; + xstdopen (); +#ifdef HANDLE_MULTIBYTE + if (MB_CUR_MAX > 1) @@ -398,15 +398,15 @@ diff -up diffutils-3.6/src/io.c.i18n diffutils-3.6/src/io.c + /* Hash this line until we find a newline. */ switch (ig_white_space) - { + { @@ -397,7 +708,7 @@ find_and_hash_each_line (struct file_dat - else if (!diff_length_compare_anyway) - continue; + else if (!diff_length_compare_anyway) + continue; -- if (! lines_differ (eqline, ip)) -+ if (! lines_differ (eqline, eqs[i].length + 1, ip, length + 1)) - break; - } +- if (! lines_differ (eqline, ip)) ++ if (! lines_differ (eqline, eqs[i].length + 1, ip, length + 1)) + break; + } diff -up diffutils-3.6/src/util.c.i18n diffutils-3.6/src/util.c --- diffutils-3.6/src/util.c.i18n 2017-05-18 18:39:59.000000000 +0100 diff --git a/diffutils.spec b/diffutils.spec index 1400527..e76093d 100644 --- a/diffutils.spec +++ b/diffutils.spec @@ -1,12 +1,11 @@ Name: diffutils -Version: 3.7 -Release: 5 +Version: 3.8 +Release: 1 Summary: A GNU collection of diff utilities URL: http://www.gnu.org/software/diffutils/diffutils.html Source: ftp://ftp.gnu.org/gnu/diffutils/diffutils-%{version}.tar.xz Patch1: diffutils-cmp-s-empty.patch Patch2: diffutils-i18n.patch -Patch3: gnulib-c-stack.patch License: GPLv3+ Provides: bundled(gnulib) BuildRequires: gcc, help2man, gettext-devel @@ -54,6 +53,12 @@ cat tests/test-suite.log %exclude %{_infodir}/dir %changelog +* Wed Dec 29 2021 zoulin 3.8-1 +- Type:enhancement +- ID:NA +- SUG:NA +- DESC:update version to 3.8 + * Wed Aug 11 2021 wangjie 3.7-5 - Type:bugfix - ID:NA diff --git a/gnulib-c-stack.patch b/gnulib-c-stack.patch deleted file mode 100644 index 460fca5..0000000 --- a/gnulib-c-stack.patch +++ /dev/null @@ -1,123 +0,0 @@ -From f9e2b20a12a230efa30f1d479563ae07d276a94b Mon Sep 17 00:00:00 2001 -From: Paul Eggert -Date: Wed, 30 Sep 2020 13:50:36 -0700 -Subject: [PATCH] c-stack: stop using SIGSTKSZ -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -It’s been proposed to stop making SIGSTKSZ an integer constant: -https://sourceware.org/pipermail/libc-alpha/2020-September/118028.html -Also, using SIGSTKSZ in #if did not conform to current POSIX. -Also, avoiding SIGSTKSZ makes the code simpler and easier to grok. -* lib/c-stack.c (SIGSTKSZ): Remove. -(alternate_signal_stack): Now a 64 KiB array, for simplicity. -All uses changed. ---- - lib/c-stack.c | 45 +++++++++++++++++---------------------------- - lib/c-stack.h | 2 +- - 2 files changed, 18 insertions(+), 29 deletions(-) - -diff --git a/lib/c-stack.c b/lib/c-stack.c -index 9bbe6fe..363942e 100644 ---- a/lib/c-stack.c -+++ b/lib/c-stack.c -@@ -50,15 +50,6 @@ - #if ! HAVE_STACK_T && ! defined stack_t - typedef struct sigaltstack stack_t; - #endif --#ifndef SIGSTKSZ --# define SIGSTKSZ 16384 --#elif HAVE_LIBSIGSEGV && SIGSTKSZ < 16384 --/* libsigsegv 2.6 through 2.8 have a bug where some architectures use -- more than the Linux default of an 8k alternate stack when deciding -- if a fault was caused by stack overflow. */ --# undef SIGSTKSZ --# define SIGSTKSZ 16384 --#endif - - #include - #include -@@ -89,6 +80,16 @@ typedef struct sigaltstack stack_t; - # endif - #endif - -+/* Storage for the alternate signal stack. -+ 64 KiB is not too large for Gnulib-using apps, and is large enough -+ for all known platforms. Smaller sizes may run into trouble. -+ For example, libsigsegv 2.6 through 2.8 have a bug where some -+ architectures use more than the Linux default of an 8 KiB alternate -+ stack when deciding if a fault was caused by stack overflow. */ -+static max_align_t alternate_signal_stack[(64 * 1024 -+ + sizeof (max_align_t) - 1) -+ / sizeof (max_align_t)]; -+ - /* The user-specified action to take when a SEGV-related program error - or stack overflow occurs. */ - static void (* volatile segv_action) (int); -@@ -133,18 +134,6 @@ die (int signo) - #if (HAVE_SIGALTSTACK && HAVE_DECL_SIGALTSTACK \ - && HAVE_STACK_OVERFLOW_HANDLING) || HAVE_LIBSIGSEGV - --/* Storage for the alternate signal stack. */ --static union --{ -- char buffer[SIGSTKSZ]; -- -- /* These other members are for proper alignment. There's no -- standard way to guarantee stack alignment, but this seems enough -- in practice. */ -- long double ld; -- long l; -- void *p; --} alternate_signal_stack; - - static void - null_action (int signo __attribute__ ((unused))) -@@ -210,8 +199,8 @@ c_stack_action (void (*action) (int)) - - /* Always install the overflow handler. */ - if (stackoverflow_install_handler (overflow_handler, -- alternate_signal_stack.buffer, -- sizeof alternate_signal_stack.buffer)) -+ alternate_signal_stack, -+ sizeof alternate_signal_stack)) - { - errno = ENOTSUP; - return -1; -@@ -284,14 +273,14 @@ c_stack_action (void (*action) (int)) - stack_t st; - struct sigaction act; - st.ss_flags = 0; -+ st.ss_sp = alternate_signal_stack; -+ st.ss_size = sizeof alternate_signal_stack; - # if SIGALTSTACK_SS_REVERSED - /* Irix mistakenly treats ss_sp as the upper bound, rather than - lower bound, of the alternate stack. */ -- st.ss_sp = alternate_signal_stack.buffer + SIGSTKSZ - sizeof (void *); -- st.ss_size = sizeof alternate_signal_stack.buffer - sizeof (void *); --# else -- st.ss_sp = alternate_signal_stack.buffer; -- st.ss_size = sizeof alternate_signal_stack.buffer; -+ st.ss_size -= sizeof (void *); -+ char *ss_sp = st.ss_sp; -+ st.ss_sp = ss_sp + st.ss_size; - # endif - r = sigaltstack (&st, NULL); - if (r != 0) -diff --git a/lib/c-stack.h b/lib/c-stack.h -index 57963c0..9d1a13a 100644 ---- a/lib/c-stack.h -+++ b/lib/c-stack.h -@@ -34,7 +34,7 @@ - A null ACTION acts like an action that does nothing. - - ACTION must be async-signal-safe. ACTION together with its callees -- must not require more than SIGSTKSZ bytes of stack space. Also, -+ must not require more than 64 KiB of stack space. Also, - ACTION should not call longjmp, because this implementation does - not guarantee that it is safe to return to the original stack. - --- -2.27.0 -