From patchwork Thu May 18 18:43:18 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Adolf Belka X-Patchwork-Id: 6868 Return-Path: Received: from mail01.ipfire.org (mail01.haj.ipfire.org [172.28.1.202]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384) server-digest SHA384 client-signature ECDSA (P-384) client-digest SHA384) (Client CN "mail01.haj.ipfire.org", Issuer "R3" (verified OK)) by web04.haj.ipfire.org (Postfix) with ESMTPS id 4QMf4t0TpJz3wlM for ; Thu, 18 May 2023 18:43:42 +0000 (UTC) Received: from mail02.haj.ipfire.org (mail02.haj.ipfire.org [172.28.1.201]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384) server-digest SHA384 client-signature ECDSA (P-384) client-digest SHA384) (Client CN "mail02.haj.ipfire.org", Issuer "R3" (verified OK)) by mail01.ipfire.org (Postfix) with ESMTPS id 4QMf4p2cCLzkg; Thu, 18 May 2023 18:43:38 +0000 (UTC) Received: from mail02.haj.ipfire.org (localhost [127.0.0.1]) by mail02.haj.ipfire.org (Postfix) with ESMTP id 4QMf4p0Mt3z30Jw; Thu, 18 May 2023 18:43:38 +0000 (UTC) Received: from mail01.ipfire.org (mail01.haj.ipfire.org [172.28.1.202]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384) server-digest SHA384 client-signature ECDSA (P-384) client-digest SHA384) (Client CN "mail01.haj.ipfire.org", Issuer "R3" (verified OK)) by mail02.haj.ipfire.org (Postfix) with ESMTPS id 4QMf4m33Plz2xNS for ; Thu, 18 May 2023 18:43:36 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384) server-digest SHA384) (No client certificate requested) by mail01.ipfire.org (Postfix) with ESMTPSA id 4QMf4l0WQbzGy; Thu, 18 May 2023 18:43:35 +0000 (UTC) DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=ipfire.org; s=202003ed25519; t=1684435415; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eJHo6obSLfRzTtfJ9gIC+Vys23dhsRSGPdRHkjFAPiE=; b=nUl1ScS6kNjYR9VROIcoTRzR0xRazHecRBv1EtcpECGIilKzw8D1osu52Y0g4JOeTLXHDQ KPFJGR3L7deekwDw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ipfire.org; s=202003rsa; t=1684435415; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eJHo6obSLfRzTtfJ9gIC+Vys23dhsRSGPdRHkjFAPiE=; b=vIsh4TLtvoAXoYsKrtnFA+JLyb4lqbMZO+gw5WtyPhyHWnEMSFXblBY0MuYYPONBCHidCt VRZogDKeMlMim/T6lPWRzEZc2mrQjqN5YIcKba5dJnIo3jj/UGnYMPCv6i1cg2AGvxXVq8 OpDUwI/3b4DUVL4DzoufRtCvY5ZjQaI6uwq7wWn0a5R753VS3earbPDpCVT4tLxJfI3FsX N97RxOBL3Q2kcXZjjo7kkvE+9cAFAglObOSdffbgNNRVCZ1QxD3yVwjA58VrofiY6LzeH9 oOH1Xi1+Cvl0KGcaTAXKTwsAcRc+r6Q1ZmdgmY7/Ty+UN4RMv83I9I7ylRGNVw== From: Adolf Belka To: development@lists.ipfire.org Subject: [PATCH] diffutils: Update to version 3.9 Date: Thu, 18 May 2023 20:43:18 +0200 Message-Id: <20230518184328.172754-1-adolf.belka@ipfire.org> MIME-Version: 1.0 X-BeenThere: development@lists.ipfire.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: IPFire development talk List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: development-bounces@lists.ipfire.org Sender: "Development" - Update from version 3.8 to 3.9 - Update of rootfile not required - Changelog version 3.9 * NEWS: Record release date. build: update gnulib to latest 2023-01-05 Jim Meyering tests: avoid large-subopt XPASS on systems without perl * tests/large-subopt: Use $PERL, rather than hard-coding "perl". * bootstrap.conf (gnulib_modules): Add "perl" to the list. Reported by Bruno Haible in https://lists.gnu.org/r/diffutils-devel/2023-01/msg00000.html 2023-01-05 Bruno Haible tests: avoid a test failure when using Solaris 11.4's old grep * tests/colors (nanosecond_zeros): Use a dumbed-down grep '\.' in place of "grep -F ." to accommodate Solaris 11.4's old versions of grep in the default PATH. Reported here: https://lists.gnu.org/r/diffutils-devel/2023-01/msg00001.html 2023-01-01 Jim Meyering build: update gnulib to latest maint: update copyright dates 2022-12-31 Paul Eggert build: simplify GCC 12 false alarm workaround * src/util.c (print_message_queue): Pacify GCC in a more-straightforward way. maint: fix assumption typo Fix a typo I introduced in my August 2021 signal handling fixes. Problem reported by Sam James (Bug#60457). * src/util.c (xsigismember): Don’t assume sigismember cannot return 0. 2022-12-30 Jim Meyering build: update gnulib to latest build: temp?-disable -Wanalyzer-use-of-uninitialized-value * src/util.c (print_message_queue): This function triggers false positive warnings from GCC12, so add pragmas to ignore that new warning in this one function. Required when using either of these: - gcc version 12.2.1 20221121 - gcc version 13.0.0 20221229 (experimental) 2022-12-11 Jim Meyering build: update gnulib to latest 2022-11-12 Jim Meyering build: update gnulib to latest 2022-02-14 Paul Eggert doc: mark up SEE ALSO (Bug#53976) 2022-01-24 Jim Meyering tests: fix false-failure on systems without valgrind * tests/init.cfg (require_valgrind_): Use exit status of subshell, not that of the "local" declaration. 2022-01-14 Paul Eggert build: update gnulib submodule to latest 2022-01-03 Jim Meyering maint: avoid new syntax-check failure * cfg.mk (local-checks-to-skip): Add sc_indent, to skip it. Otherwise, "make syntax-check" would fail. maint: make update-copyright build: update gnulib to latest; also bootstrap and init.sh 2021-10-30 Paul Eggert maint: modernize README-{hacking,prereq} 2021-10-16 Paul Eggert doc: copy fdl.texi into git This pacifies this notice from ./bootstrap: “Notice from module fdl: Don't use this module! Instead, copy the referenced license file into your version control repository.” * bootstrap.conf (gnulib_modules): Remove fdl. * doc/fdl.texi: New file, taken from Gnulib. maint: direct dependency on time_rz now Now that diff calls tzalloc, it depends directly on time_rz. * bootstrap.conf (gnulib_modules): Add time_rz. build: update gnulib submodule to latest 2021-10-15 Paul Eggert diff: fix timezone bug on Solaris Problem reported by Vladimir Marek (bug#51228). * NEWS: Mention this. * src/context.c (print_context_label): Pass localtz to nstrftime, instead of always passing 0. * src/diff.c (main) [!HAVE_TM_GMTOFF]: Initialize localtz if time_format uses %z. * src/diff.h (localtz): New decl. * tests/Makefile.am (TESTS): Add timezone. * tests/timezone: New test. 2021-08-31 Paul Eggert diff3: port better to MS-Windows * src/diff3.c (enum diff_type): Prefix constants like ADD with "DIFF_" to avoid collisions with unwise system headers. 2021-08-30 Paul Eggert maint: port better to non-POSIX Problem privately reported by Gisle Vanem for MS-Windows. * src/util.c (sig, install_signal_handlers): Don’t assume SIGTSTP, SIGALRM, SIGQUIT. (is_tstp_index): New function, for use in SIGTSTP avoidance. maint: prefer attribute.h attributes Prefer the macros used in attribute.h, and _Noreturn, to the by-hand use of __attribute__, as this is more portable. * bootstrap.conf (gnulib_modules): Add attribute. * src/system.h: Include attribute.h. All uses of attributes changed to use the attribute.h macros. Plus, use _Noreturn. (FALLTHROUGH): Remove; attribute.h now defines this. build: update gnulib submodule to latest diff: avoid double translation * src/analyze.c (briefly_report): Do not translate here, as ‘message’ translates its format. diff: use variable arg list for messages This simplifies the code by using varargs. * bootstrap.conf (gnulib_modules): Add flexmember. (XGETTEXT_OPTIONS): Do not flag message5. * src/util.c: Include flexmember.h, stdarg.h. (struct msg): New members msgid, argbytes. args is now FLEXIBLE_ARRAY_MEMBER, and does not contain msgid. All uses changed. (message): Now varargs. Detect number of args by counting '%'s. Use FLEXSIZEOF, to avoid problems on systems with buggy allocators. Avoid redundant ‘*p = 0’ when *p is already zero after stpcpy. (message5): Remove; all callers changed to use ‘message’. (print_message_queue): Abort if too many args were passed; this cannot happen with current diffutils. 2021-08-29 Paul Eggert diff: port better to MS-Windows Problem reported by Gisle Vanem (Bug#36488#30). * src/util.c (xsigaction) [SA_NOCLDSTOP]: Remove; no longer needed. (install_signal_handlers): If the first call to sigaction or signal fails, do not exit; just skip the signal and continue, in case the runtime does not support the signal even though the corresponding SIG* macro is defined. 2021-08-28 Paul Eggert diff: cleanup signal handling just before exit This should fix an unlikely signal handling bug with colored output, and should also fix a Debian FTBFS (Fails To Build From Source) on powerpc64le-linux. See Bug#34519 and Frédéric Bonnard’s report in: https://bugs.debian.org/922552#19 * bootstrap.conf (gnulib_modules): Add raise, sigprocmask. * src/diff.c (main): Call cleanup_signal_handlers before exiting. Don’t bother calling ‘exit’; no longer needed nowadays. * src/util.c (sigprocmask, siginterrupt) [!SA_NOCLDSTOP]: Define to 0 instead of empty, since the results are now used. (sigset_t) [!SA_NOCLDSTOP]: Remove; we now rely on Gnulib. (xsigaction) [SA_NOCLDSTOP]: New function. (xsigaddset, xsigismember, xsignal, xsigprocmask): New functions. (some_signals_caught): New static var. (process_signals): Omit a conditional branch. Don’t bother loading interrupt_signal if stop_signal_count is nonzero. (process_signals, install_signal_handlers): Check for failures from sigprocmask etc. (sig, nsig): Now at top level, since multiple functions need them. (install_signal_handlers): No need for caught_sig array; just use caught_signals. However, set some_signals_caught. (cleanup_signal_handlers): New function. 2021-08-22 Paul Eggert diff: add integer overflow checking * src/diff.c (option_list, main): Check for integer overflow in some unlikely and hard-to-test cases. maint: refactor integer overflow checking Rely on more-modern Gnulib capabilities instead of doing integer overflow checking by hand, in some cases. * lib/cmpbuf.c (buffer_lcm): * src/io.c (slurp, find_identical_ends): Use INT_ADD_WRAPV and INT_MULTIPLY_WRAPV rather than checking overflow by hand. * src/diff3.c (process_diff): * src/dir.c (dir_read): * src/io.c (find_identical_ends, read_files): Use xnmalloc rather than checking overflow by hand. (read_files): Rely on xcalloc to do overflow checking. diff: avoid sprintf %s sprintf fails if the result contains more than INT_MAX bytes, so rework the code to avoid usage of sprintf %s where the string might be longer than that. * bootstrap.conf (gnulib_modules): Remove xvasprintf. * src/diff.c (specify_style): * src/util.c (begin_output): Rewrite to avoid sprintf %s. * src/util.c: Do not include xvasprintf.h. (concat): Remove, as it uses sprintf %s. All uses rewritten. diff: use mempcpy * bootstrap.conf (gnulib_modules): Add mempcpy, stpcpy. * src/ifdef.c (do_printf_spec): * src/sdiff.c (expand_name, lf_snarf, temporary_file): * src/util.c (message5): Prefer mempcpy to memcpy plus manual size-updating. Prefer stpcpy to mempcpy plus manual size-spec. sdiff: fix unlikely memory leak * src/sdiff.c (temporary_file): Fix memory leak when mkstemp fails. Don’t assume temporary file name length fits in ‘int’. diff3: simplify process_diff * src/diff3.c (process_diff): Remove LAST_BLOCK arg, since callers no longer needed it. All callers changed. This removes an unnecessary initialization of bptr to NULL. maint: modernize IF_LINT for GCC 11.2.1 * src/cmp.c (cmp): * src/dir.c (find_dir_file_pathname): * src/sdiff.c (edit): Mention which GCC bug this IF_LINT works around. * src/diff3.c (process_diff): Always initialize to NULL, to avoid problems on mostly-theoretical hosts where accessing uninitialized variables traps. The next patch will have a better fix for this. * src/ifdef.c (do_printf_spec): No need for IF_LINT in GCC 11.2.1. maint: lint → GCC_LINT ‘lint’ is for traditional lint and perhaps some other tools; ‘GCC_LINT’ is targeted more for what we do. Gnulib accepts either, but we might as well be more accurate. * configure.ac (GCC_LINT): Define this instead of ‘lint’. All uses changed. diff: remove printint * src/system.h (printint): Remove. All uses removed. This type was only for porting to pre-C89 hosts, and is no longer needed. diff: remove INT_MAX limit on -F/-p searches * src/context.c (find_function): Don’t limit function-line searches to INT_MAX bytes, removing a FIXME. maint: .gitignore updates * .gitignore: Remove lib/unused-parameter.h. Add all of m4, since no files there need to be committed; this lets us remove m4/.gitignore and m4/gnulib-cache.m4. Add *.orig, *.patch, .Tpo, /*.diff, lib/*/ (which lets us remove /lib/sys/), lib/ctype.h, lib/errno.h, lib/float.h, lib/fnmatch.h, lib/getopt-cdefs.h, lib/getopt.h, lib/limits.h, lib/sigsegv.h, lib/stdalign.h, lib/stdarg.h, lib/stdbool.h, lib/stddef.h, lib/stdint.h, lib/stdopen.[ch], vc-dwim-log-*. Add slashes to autom4te.cache, build-aux. Remove redundant initial slashes from patterns that also have internal slashes. Remove plain ABOUT-NLS, since /ABOUT-NLS suffices. Sort using LC_ALL=C. maint: omit unused function if not debugging * src/util.c (debug_script): Compile only if DEBUG. maint: remove prepargs * lib/Makefile.am (noinst_HEADERS): Remove prepargs.h. (libdiffutils_a_SOURCES): Remove prepargs.c. * lib/prepargs.c, lib/prepargs.h: Remove. Hasn’t been needed for many years. * src/diff.c: Do not include prepargs.h. maint: zalloc → xzalloc * src/util.c (zalloc): Remove. All uses replaced by xzalloc, which means the same thing. 2021-08-22 Paul Eggert diff3: suppress -fanalyzer alarms * src/diff3.c: Add pragma to suppress -Wanalyzer-null-dereference alarms. * src/diff.h (find_dir_file_pathname): Add malloc-related attributes, to pacify gcc -Wsuggest-attribute=malloc. 2021-08-22 Paul Eggert maint: remove January workaround for Gnulib issue * configure.ac: Don’t add -Wno-analyzer-null-argument, since the issue is now fixed in Gnulib. build: update gnulib submodule to latest 2021-08-01 Paul Eggert maint: remove stray init.cfg * init.cfg: Remove. I guess this file was a stray, since it was a copy of tests/init.cfg when it was checked in, and it hasn’t been maintained since. tests: port to valgrind 3.16.0 + GCC 11.2 * tests/init.cfg (stderr_fileno_): Reject valgrind if it reports a "Serious error" on a trival use of ‘diff’. Without this patch, on RHEL 8.4 when I compile diffutils with a GCC 11.2.0 that I built myself, ‘valgrind diff’ spits out messages like WARNING: Serious error when reading debug info / When reading debug info from diff: Ignoring non-Dwarf2/3/4 block in .debug_info’ and this causes the strip-trailing-cr test to fail. I guess valgrind complains because the valgrind version 3.16.0 that came with RHEL 8.4 cannot grok the debug entries generated by GCC 11.2.0. 2021-08-01 Jim Meyering maint: post-release administrivia * NEWS: Add header line for next release. * .prev-version: Record previous version. * cfg.mk (old_NEWS_hash): Auto-update. Signed-off-by: Adolf Belka --- lfs/diffutils | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lfs/diffutils b/lfs/diffutils index b3dab42ca..7fdfb5d87 100644 --- a/lfs/diffutils +++ b/lfs/diffutils @@ -1,7 +1,7 @@ ############################################################################### # # # IPFire.org - A linux based firewall # -# Copyright (C) 2007-2018 IPFire Team # +# Copyright (C) 2007-2023 IPFire Team # # # # This program is free software: you can redistribute it and/or modify # # it under the terms of the GNU General Public License as published by # @@ -24,7 +24,7 @@ include Config -VER = 3.8 +VER = 3.9 THISAPP = diffutils-$(VER) DL_FILE = $(THISAPP).tar.xz @@ -47,7 +47,7 @@ objects = $(DL_FILE) $(DL_FILE) = $(DL_FROM)/$(DL_FILE) -$(DL_FILE)_BLAKE2 = 573abbfba55c62ba30d2084ca68860e9681cfe92648407f7fb04e1aaed2e4719e2fb5a29cf25bd125d762f4dfd52f85ee91f2ec19b099365bada7fe27a0394af +$(DL_FILE)_BLAKE2 = d43ed9f1643ac46b69083755974fc9611ad00c3b98b08332c681223d17d762567562233b51342a16f7dad8f28dfc5536999143594e33a64e6624001a71787c8f install : $(TARGET)