Compare commits

..

No commits in common. "rawhide" and "f42" have entirely different histories.

20 changed files with 29 additions and 332 deletions

View file

@ -1 +0,0 @@
1

View file

@ -1,85 +0,0 @@
From 45a4762bf3241e7fb6a2e01d382791ae44236841 Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Wed, 23 Apr 2025 11:34:20 -0700
Subject: [PATCH] sdiff: pacify gcc -flto -Wmaybe-uninitialized
* src/sdiff.c (edit): Portmanteauize two locals into one, which
arguably makes the code clearer, and anyway pacifies gcc -flto
-Wmaybe-uninitialized with gcc (GCC) 15.0.1 20250329 (Red Hat
15.0.1-0) x86-64 (Bug#78019).
---
src/sdiff.c | 19 +++++++++++--------
1 file changed, 11 insertions(+), 8 deletions(-)
diff --git a/src/sdiff.c b/src/sdiff.c
index 5b1b162..15b8dce 100644
--- a/src/sdiff.c
+++ b/src/sdiff.c
@@ -857,8 +857,7 @@ edit (struct line_filter *left, char const *lname, lin lline, lin llen,
{
for (;;)
{
- int cmd0;
- int cmd1;
+ int cmd;
bool gotcmd = false;
while (! gotcmd)
@@ -867,8 +866,8 @@ edit (struct line_filter *left, char const *lname, lin lline, lin llen,
perror_fatal (_("write failed"));
ck_fflush (stdout);
- cmd0 = skip_white ();
- switch (cmd0)
+ cmd = skip_white ();
+ switch (cmd)
{
case '1': case '2': case 'l': case 'r':
case 's': case 'v': case 'q':
@@ -882,12 +881,15 @@ edit (struct line_filter *left, char const *lname, lin lline, lin llen,
break;
case 'e':
- cmd1 = skip_white ();
+ int cmd1 = skip_white ();
switch (cmd1)
{
case '1': case '2': case 'b': case 'd': case 'l': case 'r':
if (skip_white () == '\n')
- gotcmd = true;
+ {
+ gotcmd = true;
+ cmd |= cmd1 << UCHAR_WIDTH;
+ }
else
{
give_help ();
@@ -908,7 +910,7 @@ edit (struct line_filter *left, char const *lname, lin lline, lin llen,
if (feof (stdin))
{
gotcmd = true;
- cmd0 = 'q';
+ cmd = 'q';
break;
}
FALLTHROUGH;
@@ -921,7 +923,7 @@ edit (struct line_filter *left, char const *lname, lin lline, lin llen,
}
}
- switch (cmd0)
+ switch (cmd & UCHAR_MAX)
{
case '1': case 'l':
lf_copy (left, llen, outfile);
@@ -954,6 +956,7 @@ edit (struct line_filter *left, char const *lname, lin lline, lin llen,
if (! tmp)
perror_fatal (squote (0, tmpname));
+ int cmd1 = cmd >> UCHAR_WIDTH;
switch (cmd1)
{
case 'd':
--
2.48.1

View file

@ -1,27 +0,0 @@
From 686357a40ca038edc902276cb3b33f4757d8cfb2 Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Sat, 26 Apr 2025 12:54:06 -0700
Subject: [PATCH] sdiff: port back to C17-
* src/sdiff.c (edit): Do not use a label just before a statement.
Problem reported by Bruno Haible (Bug#78032).
---
src/sdiff.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/sdiff.c b/src/sdiff.c
index 15b8dce..cc961c3 100644
--- a/src/sdiff.c
+++ b/src/sdiff.c
@@ -880,7 +880,7 @@ edit (struct line_filter *left, char const *lname, lin lline, lin llen,
}
break;
- case 'e':
+ case 'e':;
int cmd1 = skip_white ();
switch (cmd1)
{
--
2.48.1

View file

@ -1,30 +0,0 @@
From d9083a4cc638cf9c7dfc3cc534a7c6b4debf50ab Mon Sep 17 00:00:00 2001
From: Bruno Haible <bruno@clisp.org>
Date: Thu, 10 Apr 2025 16:42:14 +0200
Subject: strcasecmp: Support cross-compilation.
Reported by Rudi Heitbaum <rudi@heitbaum.com> in
<https://lists.gnu.org/archive/html/bug-gnulib/2025-04/msg00055.html>.
diff --git a/m4/strcasecmp.m4 b/m4/strcasecmp.m4
index e40ee5d..eb4345d 100644
--- a/m4/strcasecmp.m4
+++ b/m4/strcasecmp.m4
@@ -1,5 +1,5 @@
# strcasecmp.m4
-# serial 2
+# serial 3
dnl Copyright (C) 2002-2025 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
@@ -57,7 +57,7 @@ int main ()
gl_cv_func_strcasecmp_works=no
fi
],
- [])
+ [:])
])
])
--
cgit v1.1

View file

@ -1,65 +0,0 @@
commit 80053ab7b57c1f0825deb4a22018dacfa62d7272
Author: Paul Eggert <eggert@cs.ucla.edu>
Date: Wed Apr 23 11:17:53 2025 -0700
sdiff: continue → break
* src/sdiff.c (edit): Dont use continue when a simple
break from the switch will do.
diff --git a/src/sdiff.c b/src/sdiff.c
index 7734a82..5b1b162 100644
--- a/src/sdiff.c
+++ b/src/sdiff.c
@@ -872,13 +872,13 @@ edit (struct line_filter *left, char const *lname, lin lline, lin llen,
{
case '1': case '2': case 'l': case 'r':
case 's': case 'v': case 'q':
- if (skip_white () != '\n')
+ if (skip_white () == '\n')
+ gotcmd = true;
+ else
{
give_help ();
flush_line ();
- continue;
}
- gotcmd = true;
break;
case 'e':
@@ -886,13 +886,13 @@ edit (struct line_filter *left, char const *lname, lin lline, lin llen,
switch (cmd1)
{
case '1': case '2': case 'b': case 'd': case 'l': case 'r':
- if (skip_white () != '\n')
+ if (skip_white () == '\n')
+ gotcmd = true;
+ else
{
give_help ();
flush_line ();
- continue;
}
- gotcmd = true;
break;
case '\n':
gotcmd = true;
@@ -900,7 +900,7 @@ edit (struct line_filter *left, char const *lname, lin lline, lin llen,
default:
give_help ();
flush_line ();
- continue;
+ break;
}
break;
@@ -917,7 +917,7 @@ edit (struct line_filter *left, char const *lname, lin lline, lin llen,
FALLTHROUGH;
case '\n':
give_help ();
- continue;
+ break;
}
}

View file

@ -1,18 +1,11 @@
Summary: GNU collection of diff utilities
Name: diffutils
Version: 3.12
Release: 3%{?dist}
Release: 1%{?dist}
URL: https://www.gnu.org/software/diffutils/diffutils.html
Source: https://ftp.gnu.org/gnu/diffutils/diffutils-%{version}.tar.xz
# upstream fixes
# cross compile build of 3.12 diffutils fails
Patch: diffutils-3.12-cross-compiler-build-fail.patch
# sdiff: continue → break
Patch: diffutils-3.12-sdiff-continue-break.patch
# sdiff: pacify gcc -flto -Wmaybe-uninitialized
Patch: 0001-sdiff-pacify-gcc-flto-Wmaybe-uninitialized.patch
# sdiff: port back to C17
Patch: 0001-sdiff-port-back-to-C17.patch
License: GPL-3.0-or-later
Provides: bundled(gnulib)
BuildRequires: gcc
@ -62,16 +55,6 @@ make check
%{_infodir}/diffutils.info*
%changelog
* Wed Jul 23 2025 Fedora Release Engineering <releng@fedoraproject.org> - 3.12-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Mon May 05 2025 Than Ngo <than@redhat.com> - 3.12-2
- Upstream patches
* cross compile build of 3.12 diffutils fails
* sdiff: continue break
* sdiff: pacify gcc -flto -Wmaybe-uninitialized
* sdiff: port back to C17
* Fri Apr 11 2025 Than Ngo <than@redhat.com> - 3.12-1
- Fixed rhbz#2358545, Update to 3.12

View file

@ -1,5 +0,0 @@
summary: Basic smoke test
discover:
how: fmf
execute:
how: tmt

View file

@ -1,17 +0,0 @@
summary: Test for cmp -s returns 1 even if files are identical
description: "Bug summary: cmp -s returns 1 even if files are identical\n\nDescription:\n\
'cmp -s' can return 1 even if files are identical, for example, if comparing\n\
a file from /proc with a copy of that file in /tmp, since all files in\n/proc
have a size of 0 bytes.\n"
contact: Jeffrey Bastian <jbastian@redhat.com>
component:
- diffutils
test: ./runtest.sh
framework: beakerlib
recommend:
- diffutils
duration: 5m
extra-summary:
/CoreOS/diffutils/Regression/cmp-s-returns-1-even-if-files-are-identical
extra-task:
/CoreOS/diffutils/Regression/cmp-s-returns-1-even-if-files-are-identical

View file

@ -26,7 +26,8 @@
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Include rhts environment
. /usr/share/beakerlib/beakerlib.sh || exit 1
. /usr/bin/rhts-environment.sh
. /usr/share/rhts-library/rhtslib.sh
PACKAGE="diffutils"
#set -x

View file

@ -1,13 +0,0 @@
summary: Test for diffutils to check if comparing two files using diff -Z with
mixed line endings doesn't hang
description: "Bug summary: diff -Z hangs\n"
contact: Filip Holec <fholec@redhat.com>
component:
- diffutils
test: ./runtest.sh
framework: beakerlib
recommend:
- diffutils
duration: 5m
extra-summary: /CoreOS/diffutils/Regression/diff-Z-hangs
extra-task: /CoreOS/diffutils/Regression/diff-Z-hangs

1
tests/diff-Z-hangs/runtest.sh Executable file → Normal file
View file

@ -27,6 +27,7 @@
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Include Beaker environment
. /usr/bin/rhts-environment.sh
. /usr/share/beakerlib/beakerlib.sh
PACKAGE="diffutils"

View file

@ -1,20 +0,0 @@
summary: Diff appears to hang in long file
description: "Test Name: diff-hang-long-files\nAuthor: Michal Fabry <mfabry@redhat.com>\n\
Location: /CoreOS/diffutils/Regression/diff-hang-long-files\n\nShort Description:
Diff appears to hang in long file\n\n\nLong Description:\n\nRunning the \"diff
-bBw\" command on a very large input file (eg 250 MB), in a multi-byte locale
(ie UTF-8), took a very long time to complete, if at all. In a reported case,
a diff ran for multiple days and did not complete. In certain situations, this
could cause 100% CPU usage.\n"
contact: Michal Fabry <mfabry@redhat.com>
component:
- diffutils
test: ./runtest.sh
framework: beakerlib
recommend:
- diffutils
- words
- time
duration: 5m
extra-summary: /CoreOS/diffutils/Regression/diff-hang-long-files
extra-task: /CoreOS/diffutils/Regression/diff-hang-long-files

2
tests/diff-hang-long-files/runtest.sh Executable file → Normal file
View file

@ -15,6 +15,7 @@
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
# Include Beaker environment
. /usr/bin/rhts-environment.sh || exit 1
. /usr/share/beakerlib/beakerlib.sh || exit 1
@ -75,4 +76,3 @@ rlPhaseEnd
#rlCreateLogFromJournal | tee $OUTPUTFILE
rlJournalPrintText
rlJournalEnd

View file

@ -1,17 +0,0 @@
summary: Test for diffutils to ensure U3000 ideographic space is treated as
space when used -b or -w options
description: "Bug summary: diff -w/-b doesn't treat U3000 (IDEOGRAPHIC SPACE) as space\n\
\nTest for diffutils to ensure U3000 ideographic space is treated as space when
used -b or -w options\n"
contact: Filip Holec <fholec@redhat.com>
component:
- diffutils
test: ./runtest.sh
framework: beakerlib
recommend:
- diffutils
duration: 5m
extra-summary:
/CoreOS/diffutils/Regression/diff-w-b-doesn-t-treat-U3000-IDEOGRAPHIC-SPACE-as-space
extra-task:
/CoreOS/diffutils/Regression/diff-w-b-doesn-t-treat-U3000-IDEOGRAPHIC-SPACE-as-space

View file

@ -27,6 +27,7 @@
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Include Beaker environment
. /usr/bin/rhts-environment.sh
. /usr/share/beakerlib/beakerlib.sh
PACKAGE="diffutils"

View file

@ -1,14 +0,0 @@
summary: Test for sdiff does not recognize -E option
description: "Bug summary: sdiff does not recognize -E option\n\nThe test runs sdiff
-E on two files differing just in use of tab/8 spaces. sdiff shall not fail and
shall return that the files are identical.\n"
contact: Martin Kyral <mkyral@redhat.com>
component:
- diffutils
test: ./runtest.sh
framework: beakerlib
recommend:
- diffutils
duration: 10m
extra-summary: /CoreOS/diffutils/Regression/sdiff-does-not-recognize-E-option
extra-task: /CoreOS/diffutils/Regression/sdiff-does-not-recognize-E-option

3
tests/sdiff-does-not-recognize-E-option/runtest.sh Executable file → Normal file
View file

@ -27,7 +27,8 @@
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Include Beaker environment
. /usr/share/beakerlib/beakerlib.sh || exit 1
. /usr/bin/rhts-environment.sh
. /usr/lib/beakerlib/beakerlib.sh
PACKAGE="diffutils"

18
tests/tests.yml Normal file
View file

@ -0,0 +1,18 @@
---
# Tests that run in classic context
- hosts: localhost
roles:
- role: standard-test-beakerlib
tags:
- classic
- container
- atomic
tests:
- cmp-s-returns-1-even-if-files-are-identical
- diff-hang-long-files
- diff-w-b-doesn-t-treat-U3000-IDEOGRAPHIC-SPACE-as-space
- diff-Z-hangs
- sdiff-does-not-recognize-E-option
- whitespace
required_packages:
- findutils # beakerlib needs find command

View file

@ -1,15 +0,0 @@
summary: diff -b should ignore whitespace
description: "Create 2 files, f1, f2 with contents \"abc\" and \"abc \" (without quotes),\n\
i.e. the same line with a space on the end.\n\nDiff ignoring whitespace:\n\ndiff
-b f1 f2\n\nshould produce no diff output, but does on F8. Works fine on FC6.\n\
\nversion: diffutils-2.8.1-17.fc8\n"
contact: Bill Peck <bpeck@redhat.com>
component:
- diffutils
test: ./runtest.sh
framework: beakerlib
recommend:
- diffutils
duration: 5m
extra-summary: /CoreOS/diffutils/whitespace
extra-task: /CoreOS/diffutils/whitespace

3
tests/whitespace/runtest.sh Executable file → Normal file
View file

@ -15,7 +15,8 @@
#
# Author: Bill Peck
. /usr/share/beakerlib/beakerlib.sh || exit 1
. /usr/bin/rhts-environment.sh
. /usr/share/rhts-library/rhtslib.sh
PACKAGE="diffutils"