Compare commits
93 commits
diffutils-
...
rawhide
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
30c705e495 | ||
|
|
fd5c7c3b39 | ||
|
|
66c0191743 |
||
|
|
f07f8c37a4 | ||
|
|
3ef05884d7 | ||
|
|
1159f22114 | ||
|
|
d7a248ef6e | ||
|
|
e55ec778c3 | ||
|
|
0d56b9fccf | ||
|
|
efeeb64f37 | ||
|
|
112f3556e3 | ||
|
|
33ebdf4509 | ||
|
|
9421e38500 | ||
|
|
22cf0d6a15 | ||
|
|
0ea6b50511 | ||
|
|
96115b78aa | ||
|
|
2b29d95c6c | ||
|
|
d2e1c85231 | ||
|
|
2de4d2f417 | ||
|
|
5c223564ef | ||
|
|
b3d7b433f0 |
||
|
|
2aba9bf603 | ||
|
|
9a171232f3 | ||
|
|
6958cd94fe |
||
|
|
4216d4197e | ||
|
|
8363a7f4b1 |
||
|
|
775035f1b7 |
||
|
|
26b96e3108 | ||
|
|
0489ee8312 | ||
|
|
7c51935b92 | ||
|
|
9b2b8d9dea |
||
|
|
5274a69ee0 | ||
|
|
972db8de2d | ||
|
|
e32d8be992 | ||
|
|
a73ccd0f1d | ||
|
|
0ac5385bd9 | ||
|
|
9129d879f7 | ||
|
|
3c89f4400e | ||
|
|
b3095ad7f2 | ||
|
|
12ce2b4fd7 | ||
|
|
03744b2863 |
||
|
|
863087bea7 | ||
|
|
5c365f1189 | ||
|
|
bd91ce8b69 |
||
|
|
c86338cc28 | ||
|
|
661786d26a | ||
|
|
b0f848841e | ||
|
|
bfd003b76d | ||
|
|
3de146fa2d | ||
|
|
f23332592b | ||
|
|
165207b40b | ||
|
|
18e019b2c4 | ||
|
|
4387dd65d0 | ||
|
|
c7eed45830 | ||
|
|
7b8b596501 | ||
|
|
8230287ec0 | ||
|
|
40895fa64b | ||
|
|
effdc229f3 | ||
|
|
d65f00f4af | ||
|
|
a33fe8d70c | ||
|
|
54c1294ee0 | ||
|
|
9f25f6e3a4 | ||
|
|
54f92ba2a0 | ||
|
|
c2f0dc48e6 | ||
|
|
8ad2a97dc7 | ||
|
|
445a625327 | ||
|
|
5b4e2e345c | ||
|
|
6911aa14f4 | ||
|
|
47f8f06f47 | ||
|
|
ca4a9c85a5 | ||
|
|
9778ec992d | ||
|
|
412939e9f4 | ||
|
|
3f1ab3a398 | ||
|
|
f9c3557e7b | ||
|
|
2ce78f30a3 | ||
|
|
9ec387dac2 | ||
|
|
850062d256 | ||
|
|
fd098f57fe | ||
|
|
b11f11b60d | ||
|
|
3e4dbb4b66 | ||
|
|
19e3849f88 | ||
|
|
dd743c5196 | ||
|
|
a7dc13421f | ||
|
|
953cdeac82 | ||
|
|
2749439c4f | ||
|
|
d145ae3879 | ||
|
|
780813e990 | ||
|
|
cc6ff26220 | ||
|
|
92231b6232 | ||
|
|
f5a08e3918 | ||
|
|
ab0dcc7b2c | ||
|
|
7e7a5bbfb7 | ||
|
|
ee05c0487a |
53 changed files with 481587 additions and 1914 deletions
|
|
@ -1 +0,0 @@
|
|||
diffutils-2.8.1.tar.gz
|
||||
1
.fmf/version
Normal file
1
.fmf/version
Normal file
|
|
@ -0,0 +1 @@
|
|||
1
|
||||
13
.gitignore
vendored
Normal file
13
.gitignore
vendored
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
diffutils-2.8.1.tar.gz
|
||||
/diffutils-3.0.tar.xz
|
||||
/diffutils-3.1.tar.xz
|
||||
/diffutils-3.2.tar.xz
|
||||
/diffutils-3.3.tar.xz
|
||||
/diffutils-3.5.tar.xz
|
||||
/diffutils-3.6.tar.xz
|
||||
/diffutils-3.7.tar.xz
|
||||
/diffutils-3.8.tar.xz
|
||||
/diffutils-3.9.tar.xz
|
||||
/diffutils-3.10.tar.xz
|
||||
/diffutils-3.11.tar.xz
|
||||
/diffutils-3.12.tar.xz
|
||||
85
0001-sdiff-pacify-gcc-flto-Wmaybe-uninitialized.patch
Normal file
85
0001-sdiff-pacify-gcc-flto-Wmaybe-uninitialized.patch
Normal file
|
|
@ -0,0 +1,85 @@
|
|||
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
|
||||
|
||||
27
0001-sdiff-port-back-to-C17.patch
Normal file
27
0001-sdiff-port-back-to-C17.patch
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
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
|
||||
|
||||
21
Makefile
21
Makefile
|
|
@ -1,21 +0,0 @@
|
|||
# Makefile for source rpm: diffutils
|
||||
# $Id: Makefile,v 1.2 2007/10/15 18:42:08 notting Exp $
|
||||
NAME := diffutils
|
||||
SPECFILE = $(firstword $(wildcard *.spec))
|
||||
|
||||
define find-makefile-common
|
||||
for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done
|
||||
endef
|
||||
|
||||
MAKEFILE_COMMON := $(shell $(find-makefile-common))
|
||||
|
||||
ifeq ($(MAKEFILE_COMMON),)
|
||||
# attempt a checkout
|
||||
define checkout-makefile-common
|
||||
test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2
|
||||
endef
|
||||
|
||||
MAKEFILE_COMMON := $(shell $(checkout-makefile-common))
|
||||
endif
|
||||
|
||||
include $(MAKEFILE_COMMON)
|
||||
7
STAGE1-diffutils
Normal file
7
STAGE1-diffutils
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
srpm $1
|
||||
mcd $BUILDDIR/$1
|
||||
$SRC/${1}-*/configure $TCONFIGARGS
|
||||
notparallel
|
||||
test -d tools/gnulib/lib && make $J V=1 -C tools/gnulib/lib
|
||||
make $J V=1
|
||||
make $J install DESTDIR=${ROOTFS}
|
||||
107
cmp.1
107
cmp.1
|
|
@ -1,107 +0,0 @@
|
|||
.\" Copyright (c) 1987, 1990, 1993
|
||||
.\" The Regents of the University of California. All rights reserved.
|
||||
.\"
|
||||
.\" This code is derived from software contributed to Berkeley by
|
||||
.\" the Institute of Electrical and Electronics Engineers, Inc.
|
||||
.\"
|
||||
.\" Redistribution and use in source and binary forms, with or without
|
||||
.\" modification, are permitted provided that the following conditions
|
||||
.\" are met:
|
||||
.\" 1. Redistributions of source code must retain the above copyright
|
||||
.\" notice, this list of conditions and the following disclaimer.
|
||||
.\" 2. Redistributions in binary form must reproduce the above copyright
|
||||
.\" notice, this list of conditions and the following disclaimer in the
|
||||
.\" documentation and/or other materials provided with the distribution.
|
||||
.\" 3. All advertising materials mentioning features or use of this software
|
||||
.\" must display the following acknowledgement:
|
||||
.\" This product includes software developed by the University of
|
||||
.\" California, Berkeley and its contributors.
|
||||
.\" 4. Neither the name of the University nor the names of its contributors
|
||||
.\" may be used to endorse or promote products derived from this software
|
||||
.\" without specific prior written permission.
|
||||
.\"
|
||||
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" @(#)cmp.1 8.1 (Berkeley) 6/6/93
|
||||
.\"
|
||||
.Dd June 6, 1993
|
||||
.Dt CMP 1
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm cmp
|
||||
.Nd compare two files
|
||||
.Sh SYNOPSIS
|
||||
.Nm cmp
|
||||
.Op Fl l | Fl s
|
||||
.Ar file1 file2
|
||||
.Op Ar skip1 Op Ar skip2
|
||||
.Sh DESCRIPTION
|
||||
The cmp utility compares two files of any type and writes the results
|
||||
to the standard output.
|
||||
By default,
|
||||
.Nm
|
||||
is silent if the files are the same; if they differ, the byte
|
||||
and line number at which the first difference occurred is reported.
|
||||
.Pp
|
||||
Bytes and lines are numbered beginning with one.
|
||||
.Pp
|
||||
The following options are available:
|
||||
.Bl -tag -width flag
|
||||
.It Fl l
|
||||
Print the byte number (decimal) and the differing
|
||||
byte values (octal) for each difference.
|
||||
.It Fl s
|
||||
Print nothing for differing files; return exit
|
||||
status only.
|
||||
.El
|
||||
.Pp
|
||||
The optional arguments
|
||||
.Ar skip1
|
||||
and
|
||||
.Ar skip2
|
||||
are the byte offsets from the beginning of
|
||||
.Ar file1
|
||||
and
|
||||
.Ar file2 ,
|
||||
respectively, where the comparison will begin.
|
||||
The offset is decimal by default, but may be expressed as an hexadecimal
|
||||
or octal value by preceding it with a leading ``0x'' or ``0''.
|
||||
.Pp
|
||||
The
|
||||
.Nm cmp
|
||||
utility exits with one of the following values:
|
||||
.Bl -tag -width 4n
|
||||
.It 0
|
||||
The files are identical.
|
||||
.It 1
|
||||
The files are different; this includes the case
|
||||
where one file is identical to the first part of
|
||||
the other.
|
||||
In the latter case, if the
|
||||
.Fl s
|
||||
option has not been specified,
|
||||
.Nm cmp
|
||||
writes to standard output that EOF was reached in the shorter
|
||||
file (before any differences were found).
|
||||
.It >1
|
||||
An error occurred.
|
||||
.El
|
||||
.Sh SEE ALSO
|
||||
.Xr diff 1 ,
|
||||
.Xr diff3 1
|
||||
.Sh STANDARDS
|
||||
The
|
||||
.Nm cmp
|
||||
utility is expected to be
|
||||
.St -p1003.2
|
||||
compatible.
|
||||
485
diff.1
485
diff.1
|
|
@ -1,485 +0,0 @@
|
|||
.TH DIFF 1 "22sep1993" "GNU Tools" "GNU Tools"
|
||||
.SH NAME
|
||||
diff \- find differences between two files
|
||||
.SH SYNOPSIS
|
||||
.B diff
|
||||
[options] from-file to-file
|
||||
.SH DESCRIPTION
|
||||
In the simplest case,
|
||||
.I diff
|
||||
compares the contents of the two files
|
||||
.I from-file
|
||||
and
|
||||
.IR to-file .
|
||||
A file name of
|
||||
.B \-
|
||||
stands for
|
||||
text read from the standard input. As a special case,
|
||||
.B "diff \- \-"
|
||||
compares a copy of standard input to itself.
|
||||
|
||||
If
|
||||
.I from-file
|
||||
is a directory and
|
||||
.I to-file
|
||||
is not,
|
||||
.I diff
|
||||
compares the file in
|
||||
.I from-file
|
||||
whose file name is that of
|
||||
.IR to-file ,
|
||||
and vice versa. The non-directory file must not be
|
||||
.BR \- .
|
||||
|
||||
If both
|
||||
.I from-file
|
||||
and
|
||||
.I to-file
|
||||
are directories,
|
||||
.I diff
|
||||
compares corresponding files in both directories, in
|
||||
alphabetical order; this comparison is not recursive unless the
|
||||
.B \-r
|
||||
or
|
||||
.B \-\-recursive
|
||||
option is given.
|
||||
.I diff
|
||||
never
|
||||
compares the actual contents of a directory as if it were a file. The
|
||||
file that is fully specified may not be standard input, because standard
|
||||
input is nameless and the notion of ``file with the same name'' does not
|
||||
apply.
|
||||
|
||||
.B diff
|
||||
options begin with
|
||||
.BR \- ,
|
||||
so normally
|
||||
.I from-file
|
||||
and
|
||||
.I to-file
|
||||
may not begin with
|
||||
.BR \- .
|
||||
However,
|
||||
.B \-\-
|
||||
as an
|
||||
argument by itself treats the remaining arguments as file names even if
|
||||
they begin with
|
||||
.BR \- .
|
||||
.SS Options
|
||||
Below is a summary of all of the options that GNU
|
||||
.I diff
|
||||
accepts.
|
||||
Most options have two equivalent names, one of which is a single letter
|
||||
preceded by
|
||||
.BR \- ,
|
||||
and the other of which is a long name preceded by
|
||||
.BR \-\- .
|
||||
Multiple single letter options (unless they take an
|
||||
argument) can be combined into a single command line word:
|
||||
.B \-ac
|
||||
is
|
||||
equivalent to
|
||||
.BR "\-a \-c" .
|
||||
Long named options can be abbreviated to
|
||||
any unique prefix of their name. Brackets
|
||||
.RB ( [
|
||||
and
|
||||
.BR ] )
|
||||
indicate that an
|
||||
option takes an optional argument.
|
||||
.TP
|
||||
.BI \- lines
|
||||
Show
|
||||
.I lines
|
||||
(an integer) lines of context. This option does not
|
||||
specify an output format by itself; it has no effect unless it is
|
||||
combined with
|
||||
.B \-c
|
||||
or
|
||||
.BR \-u .
|
||||
This option is obsolete. For proper
|
||||
operation,
|
||||
.I patch
|
||||
typically needs at least two lines of context.
|
||||
.TP
|
||||
.B \-a
|
||||
Treat all files as text and compare them line-by-line, even if they
|
||||
do not seem to be text.
|
||||
.TP
|
||||
.B \-b
|
||||
Ignore changes in amount of white space.
|
||||
.TP
|
||||
.B \-B
|
||||
Ignore changes that just insert or delete blank lines.
|
||||
.TP
|
||||
.B \-\-brief
|
||||
Report only whether the files differ, not the details of the
|
||||
differences.
|
||||
.TP
|
||||
.B \-c
|
||||
Use the context output format.
|
||||
.TP
|
||||
.BI "\-C " lines
|
||||
.br
|
||||
.ns
|
||||
.TP
|
||||
.BI \-\-context[= lines ]
|
||||
Use the context output format, showing
|
||||
.I lines
|
||||
(an integer) lines of
|
||||
context, or three if
|
||||
.I lines
|
||||
is not given.
|
||||
For proper operation,
|
||||
.I patch
|
||||
typically needs at least two lines of
|
||||
context.
|
||||
.TP
|
||||
.BI \-\-changed\-group\-format= format
|
||||
Use
|
||||
.I format
|
||||
to output a line group containing differing lines from
|
||||
both files in if-then-else format.
|
||||
.TP
|
||||
.B \-d
|
||||
Change the algorithm to perhaps find a smaller set of changes. This makes
|
||||
.I diff
|
||||
slower (sometimes much slower).
|
||||
.TP
|
||||
.BI "\-D " name
|
||||
Make merged if-then-else format output, conditional on the preprocessor
|
||||
macro
|
||||
.IR name .
|
||||
.TP
|
||||
.B \-e
|
||||
.br
|
||||
.ns
|
||||
.TP
|
||||
.B \-\-ed
|
||||
Make output that is a valid
|
||||
.I ed
|
||||
script.
|
||||
.TP
|
||||
.BI \-\-exclude= pattern
|
||||
When comparing directories, ignore files and subdirectories whose basenames
|
||||
match
|
||||
.IR pattern .
|
||||
.TP
|
||||
.BI \-\-exclude\-from= file
|
||||
When comparing directories, ignore files and subdirectories whose basenames
|
||||
match any pattern contained in
|
||||
.IR file .
|
||||
.TP
|
||||
.B \-\-expand\-tabs
|
||||
Expand tabs to spaces in the output, to preserve the alignment of tabs
|
||||
in the input files.
|
||||
.TP
|
||||
.B \-f
|
||||
Make output that looks vaguely like an
|
||||
.I ed
|
||||
script but has changes
|
||||
in the order they appear in the file.
|
||||
.TP
|
||||
.BI "\-F " regexp
|
||||
In context and unified format, for each hunk of differences, show some
|
||||
of the last preceding line that matches
|
||||
.IR regexp .
|
||||
.TP
|
||||
.B \-\-forward\-ed
|
||||
Make output that looks vaguely like an
|
||||
.B ed
|
||||
script but has changes
|
||||
in the order they appear in the file.
|
||||
.TP
|
||||
.B \-h
|
||||
This option currently has no effect; it is present for Unix
|
||||
compatibility.
|
||||
.TP
|
||||
.B \-H
|
||||
Use heuristics to speed handling of large files that have numerous
|
||||
scattered small changes.
|
||||
.TP
|
||||
.BI \-\-horizon\-lines= lines
|
||||
Do not discard the last
|
||||
.I lines
|
||||
lines of the common prefix
|
||||
and the first
|
||||
.I lines
|
||||
lines of the common suffix.
|
||||
.TP
|
||||
.B \-i
|
||||
Ignore changes in case; consider upper- and lower-case letters
|
||||
equivalent.
|
||||
.TP
|
||||
.BI "\-I " regexp
|
||||
Ignore changes that just insert or delete lines that match
|
||||
.IR regexp .
|
||||
.TP
|
||||
.BI \-\-ifdef= name
|
||||
Make merged if-then-else format output, conditional on the preprocessor
|
||||
macro
|
||||
.IR name .
|
||||
.TP
|
||||
.B \-\-ignore\-all\-space
|
||||
Ignore white space when comparing lines.
|
||||
.TP
|
||||
.B \-\-ignore\-blank\-lines
|
||||
Ignore changes that just insert or delete blank lines.
|
||||
.TP
|
||||
.B \-\-ignore\-case
|
||||
Ignore changes in case; consider upper- and lower-case to be the same.
|
||||
.TP
|
||||
.BI \-\-ignore\-matching\-lines= regexp
|
||||
Ignore changes that just insert or delete lines that match
|
||||
.IR regexp .
|
||||
.TP
|
||||
.B \-\-ignore\-space\-change
|
||||
Ignore changes in amount of white space.
|
||||
.TP
|
||||
.B \-\-initial\-tab
|
||||
Output a tab rather than a space before the text of a line in normal or
|
||||
context format. This causes the alignment of tabs in the line to look
|
||||
normal.
|
||||
.TP
|
||||
.B \-l
|
||||
Pass the output through
|
||||
.I pr
|
||||
to paginate it.
|
||||
.TP
|
||||
.BI "\-L " label
|
||||
.br
|
||||
.ns
|
||||
.TP
|
||||
.BI \-\-label= label
|
||||
Use
|
||||
.I label
|
||||
instead of the file name in the context format
|
||||
and unified format
|
||||
headers.
|
||||
.TP
|
||||
.B \-\-left\-column
|
||||
Print only the left column of two common lines in side by side format.
|
||||
.TP
|
||||
.BI \-\-line\-format= format
|
||||
Use
|
||||
.I format
|
||||
to output all input lines in in-then-else format.
|
||||
.TP
|
||||
.B \-\-minimal
|
||||
Change the algorithm to perhaps find a smaller set of changes. This
|
||||
makes
|
||||
.I diff
|
||||
slower (sometimes much slower).
|
||||
.TP
|
||||
.B \-n
|
||||
Output RCS-format diffs; like
|
||||
.B \-f
|
||||
except that each command
|
||||
specifies the number of lines affected.
|
||||
.TP
|
||||
.B \-N
|
||||
.br
|
||||
.ns
|
||||
.TP
|
||||
.B \-\-new\-file
|
||||
In directory comparison, if a file is found in only one directory,
|
||||
treat it as present but empty in the other directory.
|
||||
.TP
|
||||
.BI \-\-new\-group\-format= format
|
||||
Use
|
||||
.I format
|
||||
to output a group of lines taken from just the second
|
||||
file in if-then-else format.
|
||||
.TP
|
||||
.BI \-\-new\-line\-format= format
|
||||
Use
|
||||
.I format
|
||||
to output a line taken from just the second file in
|
||||
if-then-else format.
|
||||
.TP
|
||||
.BI \-\-old\-group\-format= format
|
||||
Use
|
||||
.I format
|
||||
to output a group of lines taken from just the first
|
||||
file in if-then-else format.
|
||||
.TP
|
||||
.BI \-\-old\-line\-format= format
|
||||
Use
|
||||
.I format
|
||||
to output a line taken from just the first file in
|
||||
if-then-else format.
|
||||
.TP
|
||||
.B \-p
|
||||
Show which C function each change is in.
|
||||
.TP
|
||||
.B \-P
|
||||
When comparing directories, if a file appears only in the second
|
||||
directory of the two, treat it as present but empty in the other.
|
||||
.TP
|
||||
.B \-\-paginate
|
||||
Pass the output through
|
||||
.I pr
|
||||
to paginate it.
|
||||
.TP
|
||||
.B \-q
|
||||
Report only whether the files differ, not the details of the
|
||||
differences.
|
||||
.TP
|
||||
.B \-r
|
||||
When comparing directories, recursively compare any subdirectories
|
||||
found.
|
||||
.TP
|
||||
.B \-\-rcs
|
||||
Output RCS-format diffs; like
|
||||
.B \-f
|
||||
except that each command
|
||||
specifies the number of lines affected.
|
||||
.TP
|
||||
.B \-\-recursive
|
||||
When comparing directories, recursively compare any subdirectories
|
||||
found.
|
||||
.TP
|
||||
.B \-\-report\-identical\-files
|
||||
.br
|
||||
.ns
|
||||
.TP
|
||||
.B \-s
|
||||
Report when two files are the same.
|
||||
.TP
|
||||
.BI "\-S " file
|
||||
When comparing directories, start with the file
|
||||
.IR file .
|
||||
This is
|
||||
used for resuming an aborted comparison.
|
||||
.TP
|
||||
.BI \-\-from\-file= file
|
||||
Compare
|
||||
.I file
|
||||
to all operands.
|
||||
.I file
|
||||
can be a directory.
|
||||
.TP
|
||||
.BI \-\-to\-file= file
|
||||
Compare all operands to
|
||||
.IR file . " file"
|
||||
can be a directory.
|
||||
.TP
|
||||
.B \-\-sdiff\-merge\-assist
|
||||
Print extra information to help
|
||||
.IR sdiff .
|
||||
.I sdiff
|
||||
uses this
|
||||
option when it runs
|
||||
.IR diff .
|
||||
This option is not intended for users
|
||||
to use directly.
|
||||
.TP
|
||||
.B \-\-show\-c\-function
|
||||
Show which C function each change is in.
|
||||
.TP
|
||||
.BI \-\-show\-function\-line= regexp
|
||||
In context and unified format, for each hunk of differences, show some
|
||||
of the last preceding line that matches
|
||||
.IR regexp .
|
||||
.TP
|
||||
.B \-\-side\-by\-side
|
||||
Use the side by side output format.
|
||||
.TP
|
||||
.B \-\-speed\-large\-files
|
||||
Use heuristics to speed handling of large files that have numerous
|
||||
scattered small changes.
|
||||
.TP
|
||||
.BI \-\-starting\-file= file
|
||||
When comparing directories, start with the file
|
||||
.IR file .
|
||||
This is
|
||||
used for resuming an aborted comparison.
|
||||
.TP
|
||||
.B \-\-suppress\-common\-lines
|
||||
Do not print common lines in side by side format.
|
||||
.TP
|
||||
.B \-t
|
||||
Expand tabs to spaces in the output, to preserve the alignment of tabs
|
||||
in the input files.
|
||||
.TP
|
||||
.B \-T
|
||||
Output a tab rather than a space before the text of a line in normal or
|
||||
context format. This causes the alignment of tabs in the line to look
|
||||
normal.
|
||||
.TP
|
||||
.B \-\-text
|
||||
Treat all files as text and compare them line-by-line, even if they
|
||||
do not appear to be text.
|
||||
.TP
|
||||
.B \-u
|
||||
Use the unified output format.
|
||||
.TP
|
||||
.BI \-\-unchanged\-group\-format= format
|
||||
Use
|
||||
.I format
|
||||
to output a group of common lines taken from both files
|
||||
in if-then-else format.
|
||||
.TP
|
||||
.BI \-\-unchanged\-line\-format= format
|
||||
Use
|
||||
.I format
|
||||
to output a line common to both files in if-then-else
|
||||
format.
|
||||
.TP
|
||||
.B \-\-unidirectional\-new\-file
|
||||
When comparing directories, if a file appears only in the second
|
||||
directory of the two, treat it as present but empty in the other.
|
||||
.TP
|
||||
.BI "\-U " lines
|
||||
.br
|
||||
.ns
|
||||
.TP
|
||||
.BI \-\-unified[= lines ]
|
||||
Use the unified output format, showing
|
||||
.I lines
|
||||
(an integer) lines of
|
||||
context, or three if
|
||||
.I lines
|
||||
is not given.
|
||||
For proper operation,
|
||||
.I patch
|
||||
typically needs at least two lines of
|
||||
context.
|
||||
.TP
|
||||
.B \-v
|
||||
.br
|
||||
.ns
|
||||
.TP
|
||||
.B \-\-version
|
||||
Output the version number of
|
||||
.IR diff .
|
||||
.TP
|
||||
.B \-w
|
||||
Ignore white space when comparing lines.
|
||||
.TP
|
||||
.BI "\-W " columns
|
||||
.br
|
||||
.ns
|
||||
.TP
|
||||
.BI \-\-width= columns
|
||||
Use an output width of
|
||||
.I columns
|
||||
in side by side format.
|
||||
.TP
|
||||
.BI "\-x " pattern
|
||||
When comparing directories, ignore files and subdirectories whose basenames
|
||||
match
|
||||
.IR pattern .
|
||||
.TP
|
||||
.BI "\-X " file
|
||||
When comparing directories, ignore files and subdirectories whose basenames
|
||||
match any pattern contained in
|
||||
.IR file .
|
||||
.TP
|
||||
.B \-y
|
||||
Use the side by side output format.
|
||||
.SH SEE ALSO
|
||||
cmp(1), comm(1), diff3(1), ed(1), patch(1), pr(1), sdiff(1).
|
||||
.SH DIAGNOSTICS
|
||||
An exit status of 0 means no differences were found, 1 means some
|
||||
differences were found, and 2 means trouble.
|
||||
210
diff3.1
210
diff3.1
|
|
@ -1,210 +0,0 @@
|
|||
.TH DIFF3 1 "22sep1993" "GNU Tools" "GNU Tools"
|
||||
.SH NAME
|
||||
diff3 \- find differences between three files
|
||||
.SH SYNOPSIS
|
||||
.B diff3
|
||||
[options] mine older yours
|
||||
.SH DESCRIPTION
|
||||
The
|
||||
.I diff3
|
||||
command compares three files and outputs descriptions
|
||||
of their differences.
|
||||
|
||||
The files to compare are
|
||||
.IR mine ,
|
||||
.IR older ,
|
||||
and
|
||||
.IR yours .
|
||||
At most one of these three file names may be
|
||||
.BR \- ,
|
||||
which tells
|
||||
.I diff3
|
||||
to read the standard input for that file.
|
||||
.SS Options
|
||||
Below is a summary of all of the options that GNU
|
||||
.I diff3
|
||||
accepts. Multiple single letter options (unless they take an argument)
|
||||
can be combined into a single command line argument.
|
||||
.TP
|
||||
.B \-a
|
||||
Treat all files as text and compare them line-by-line, even if they
|
||||
do not appear to be text.
|
||||
.TP
|
||||
.B \-A
|
||||
Incorporate all changes from
|
||||
.I older
|
||||
to
|
||||
.I yours
|
||||
into
|
||||
.IR mine ,
|
||||
surrounding all conflicts with bracket lines.
|
||||
.TP
|
||||
.B \-B
|
||||
Old behavior of -A. Shows non-conflicts.
|
||||
.TP
|
||||
.B \-e
|
||||
Generate an
|
||||
.I ed
|
||||
script that incorporates all the changes from
|
||||
.I older
|
||||
to
|
||||
.I yours
|
||||
into
|
||||
.IR mine .
|
||||
.TP
|
||||
.B \-E
|
||||
Like
|
||||
.BR \-e ,
|
||||
except bracket lines from overlapping changes' first
|
||||
and third files.
|
||||
With
|
||||
.BR \-e ,
|
||||
an overlapping change looks like this:
|
||||
.sp
|
||||
.nf
|
||||
<<<<<<< \fImine\fP
|
||||
lines from \fImine\fP
|
||||
=======
|
||||
lines from \fIyours\fP
|
||||
>>>>>>> \fIyours\fP
|
||||
.fi
|
||||
.TP
|
||||
.B \-\-ed
|
||||
Generate an
|
||||
.I ed
|
||||
script that incorporates all the changes from
|
||||
.I older
|
||||
to
|
||||
.I yours
|
||||
into
|
||||
.IR mine .
|
||||
.TP
|
||||
.B \-\-easy\-only
|
||||
Like
|
||||
.BR \-e ,
|
||||
except output only the nonoverlapping changes.
|
||||
.TP
|
||||
.B \-i
|
||||
Generate
|
||||
.B w
|
||||
and
|
||||
.B q
|
||||
commands at the end of the
|
||||
.I ed
|
||||
script for System V compatibility. This option must be combined with
|
||||
one of the
|
||||
.B \-AeExX3
|
||||
options, and may not be combined with
|
||||
.BR \-m .
|
||||
.TP
|
||||
.B \-\-initial\-tab
|
||||
Output a tab rather than two spaces before the text of a line in normal format.
|
||||
This causes the alignment of tabs in the line to look normal.
|
||||
.TP
|
||||
.BI "\-L " label
|
||||
.ns
|
||||
.TP
|
||||
.BI \-\-label= label
|
||||
Use the label
|
||||
.I label
|
||||
for the brackets output by the
|
||||
.BR \-A ,
|
||||
.B \-E
|
||||
and
|
||||
.B \-X
|
||||
options. This option may be given up to three
|
||||
times, one for each input file. The default labels are the names of
|
||||
the input files. Thus
|
||||
.B "diff3 \-L X \-L Y \-L Z \-m A B C"
|
||||
acts like
|
||||
.BR "diff3 \-m A B C ,
|
||||
except that the output looks like it came from
|
||||
files named
|
||||
.BR X ,
|
||||
.B Y
|
||||
and
|
||||
.B Z
|
||||
rather than from files
|
||||
named
|
||||
.BR A ,
|
||||
.B B
|
||||
and
|
||||
.BR C .
|
||||
.TP
|
||||
.B \-m
|
||||
.br
|
||||
.ns
|
||||
.TP
|
||||
.B \-\-merge
|
||||
Apply the edit script to the first file and send the result to standard
|
||||
output. Unlike piping the output from
|
||||
.I diff3
|
||||
to
|
||||
.IR ed ,
|
||||
this
|
||||
works even for binary files and incomplete lines.
|
||||
.B \-A
|
||||
is assumed
|
||||
if no edit script option is specified.
|
||||
.TP
|
||||
.B \-\-overlap\-only
|
||||
Like
|
||||
.BR \-e ,
|
||||
except output only the overlapping changes.
|
||||
.TP
|
||||
.B \-\-show\-all
|
||||
Incorporate all unmerged changes from
|
||||
.I older
|
||||
to
|
||||
.I yours
|
||||
into
|
||||
.IR mine ,
|
||||
surrounding all overlapping changes with bracket lines.
|
||||
.TP
|
||||
.B \-\-show\-overlap
|
||||
Like
|
||||
.BR \-e ,
|
||||
except bracket lines from overlapping changes' first
|
||||
and third files.
|
||||
.TP
|
||||
.B \-T
|
||||
Output a tab rather than two spaces before the text of a line in normal format.
|
||||
This causes the alignment of tabs in the line to look normal.
|
||||
.TP
|
||||
.B \-\-text
|
||||
Treat all files as text and compare them line-by-line, even if they
|
||||
do not appear to be text.
|
||||
.TP
|
||||
.B \-v
|
||||
.br
|
||||
.ns
|
||||
.TP
|
||||
.B \-\-version
|
||||
Output the version number of
|
||||
.IR diff3 .
|
||||
.TP
|
||||
.B \-x
|
||||
Like
|
||||
.BR \-e ,
|
||||
except output only the overlapping changes.
|
||||
.TP
|
||||
.B \-X
|
||||
Like
|
||||
.BR \-E ,
|
||||
except output only the overlapping changes.
|
||||
In other words, like
|
||||
.BR \-x ,
|
||||
except bracket changes as in
|
||||
.BR \-E .
|
||||
.TP
|
||||
.B \-3
|
||||
Like
|
||||
.BR \-e ,
|
||||
except output only the nonoverlapping changes.
|
||||
.SH SEE ALSO
|
||||
cmp(1), comm(1), diff(1), ed(1), patch(1), sdiff(1).
|
||||
.SH DIAGNOSTICS
|
||||
An exit status of 0 means
|
||||
.I diff3
|
||||
was successful, 1 means some
|
||||
conflicts were found, and 2 means trouble.
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
--- diffutils-2.8.1/src/analyze.c.badc 2004-01-08 10:05:59.094598972 +0000
|
||||
+++ diffutils-2.8.1/src/analyze.c 2004-01-08 10:06:22.294841900 +0000
|
||||
@@ -983,7 +983,7 @@
|
||||
changes = briefly_report (changes, cmp->file);
|
||||
else
|
||||
{
|
||||
- if (changes | !no_diff_means_no_output)
|
||||
+ if (changes || !no_diff_means_no_output)
|
||||
{
|
||||
/* Record info for starting up output,
|
||||
to be used if and when we have some output to print. */
|
||||
|
|
@ -1,806 +0,0 @@
|
|||
--- diffutils-2.8.1/src/diff.c.i18n 2002-03-24 07:35:28.000000000 +0000
|
||||
+++ diffutils-2.8.1/src/diff.c 2007-08-14 10:39:40.000000000 +0100
|
||||
@@ -273,6 +273,13 @@
|
||||
re_set_syntax (RE_SYNTAX_GREP | RE_NO_POSIX_BACKTRACKING);
|
||||
excluded = new_exclude ();
|
||||
|
||||
+#ifdef HANDLE_MULTIBYTE
|
||||
+ if (MB_CUR_MAX > 1)
|
||||
+ lines_differ = lines_differ_multibyte;
|
||||
+ else
|
||||
+#endif
|
||||
+ lines_differ = lines_differ_singlebyte;
|
||||
+
|
||||
/* Decode the options. */
|
||||
|
||||
while ((c = getopt_long (argc, argv, shortopts, longopts, 0)) != -1)
|
||||
--- diffutils-2.8.1/src/diff.h.i18n 2002-03-11 21:24:42.000000000 +0000
|
||||
+++ diffutils-2.8.1/src/diff.h 2007-08-14 10:41:21.000000000 +0100
|
||||
@@ -25,6 +25,19 @@
|
||||
|
||||
#define TAB_WIDTH 8
|
||||
|
||||
+/* For platform which support the ISO C amendement 1 functionality we
|
||||
+ support user defined character classes. */
|
||||
+#if defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H
|
||||
+/* Solaris 2.5 has a bug: <wchar.h> must be included before <wctype.h>. */
|
||||
+# include <wchar.h>
|
||||
+# include <wctype.h>
|
||||
+# if defined (HAVE_MBRTOWC)
|
||||
+# define HANDLE_MULTIBYTE 1
|
||||
+# endif
|
||||
+#endif
|
||||
+
|
||||
+#define TAB_WIDTH 8
|
||||
+
|
||||
/* What kind of changes a hunk contains. */
|
||||
enum changes
|
||||
{
|
||||
@@ -349,7 +362,13 @@
|
||||
extern char const pr_program[];
|
||||
char *concat (char const *, char const *, char const *);
|
||||
char *dir_file_pathname (char const *, char const *);
|
||||
-bool lines_differ (char const *, char const *);
|
||||
+
|
||||
+bool (*lines_differ) (char const *, size_t, char const *, size_t);
|
||||
+bool lines_differ_singlebyte (char const *, size_t, char const *, size_t);
|
||||
+#ifdef HANDLE_MULTIBYTE
|
||||
+bool lines_differ_multibyte (char const *, size_t, char const *, size_t);
|
||||
+#endif
|
||||
+
|
||||
lin translate_line_number (struct file_data const *, lin);
|
||||
struct change *find_change (struct change *);
|
||||
struct change *find_reverse_change (struct change *);
|
||||
--- diffutils-2.8.1/src/io.c.i18n 2002-03-25 04:58:36.000000000 +0000
|
||||
+++ diffutils-2.8.1/src/io.c 2007-08-14 10:40:05.000000000 +0100
|
||||
@@ -25,6 +25,7 @@
|
||||
#include <regex.h>
|
||||
#include <setmode.h>
|
||||
#include <xalloc.h>
|
||||
+#include <assert.h>
|
||||
|
||||
/* Rotate an unsigned value to the left. */
|
||||
#define ROL(v, n) ((v) << (n) | (v) >> (sizeof (v) * CHAR_BIT - (n)))
|
||||
@@ -212,6 +213,28 @@
|
||||
|
||||
/* Split the file into lines, simultaneously computing the equivalence
|
||||
class for each line. */
|
||||
+#ifdef HANDLE_MULTIBYTE
|
||||
+# define MBC2WC(P, END, MBLENGTH, WC, STATE, CONVFAIL) \
|
||||
+do \
|
||||
+{ \
|
||||
+ mbstate_t state_bak = STATE; \
|
||||
+ \
|
||||
+ CONVFAIL = 0; \
|
||||
+ MBLENGTH = mbrtowc (&WC, P, END - (char const *)P, &STATE); \
|
||||
+ \
|
||||
+ switch (MBLENGTH) \
|
||||
+ { \
|
||||
+ case (size_t)-2: \
|
||||
+ case (size_t)-1: \
|
||||
+ STATE = state_bak; \
|
||||
+ ++CONVFAIL; \
|
||||
+ /* Fall through. */ \
|
||||
+ case 0: \
|
||||
+ MBLENGTH = 1; \
|
||||
+ } \
|
||||
+} \
|
||||
+while (0)
|
||||
+#endif
|
||||
|
||||
static void
|
||||
find_and_hash_each_line (struct file_data *current)
|
||||
@@ -238,12 +261,280 @@
|
||||
bool same_length_diff_contents_compare_anyway =
|
||||
diff_length_compare_anyway | ignore_case;
|
||||
|
||||
+#ifdef HANDLE_MULTIBYTE
|
||||
+ wchar_t wc;
|
||||
+ size_t mblength;
|
||||
+ mbstate_t state;
|
||||
+ int convfail;
|
||||
+
|
||||
+ memset (&state, '\0', sizeof (mbstate_t));
|
||||
+#endif
|
||||
+
|
||||
while ((char const *) p < suffix_begin)
|
||||
{
|
||||
char const *ip = (char const *) p;
|
||||
|
||||
h = 0;
|
||||
+#ifdef HANDLE_MULTIBYTE
|
||||
+ if (MB_CUR_MAX > 1)
|
||||
+ {
|
||||
+ wchar_t lo_wc;
|
||||
+ char mbc[MB_LEN_MAX];
|
||||
+ mbstate_t state_wc;
|
||||
+
|
||||
+ /* Hash this line until we find a newline. */
|
||||
+ switch (ignore_white_space)
|
||||
+ {
|
||||
+ case IGNORE_ALL_SPACE:
|
||||
+ while (1)
|
||||
+ {
|
||||
+ if (*p == '\n')
|
||||
+ {
|
||||
+ ++p;
|
||||
+ break;
|
||||
+ }
|
||||
+
|
||||
+ MBC2WC (p, suffix_begin, mblength, wc, state, convfail);
|
||||
+
|
||||
+ if (convfail)
|
||||
+ mbc[0] = *p++;
|
||||
+ else if (!iswspace (wc))
|
||||
+ {
|
||||
+ bool flag = 0;
|
||||
+
|
||||
+ if (ignore_case)
|
||||
+ {
|
||||
+ lo_wc = towlower (wc);
|
||||
+ if (lo_wc != wc)
|
||||
+ {
|
||||
+ flag = 1;
|
||||
+
|
||||
+ p += mblength;
|
||||
+ memset (&state_wc, '\0', sizeof(mbstate_t));
|
||||
+ mblength = wcrtomb (mbc, lo_wc, &state_wc);
|
||||
+
|
||||
+ assert (mblength != (size_t)-1 &&
|
||||
+ mblength != (size_t)-2);
|
||||
+
|
||||
+ mblength = (mblength < 1) ? 1 : mblength;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ if (!flag)
|
||||
+ {
|
||||
+ for (i = 0; i < mblength; i++)
|
||||
+ mbc[i] = *p++;
|
||||
+ }
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ p += mblength;
|
||||
+ continue;
|
||||
+ }
|
||||
+
|
||||
+ for (i = 0; i < mblength; i++)
|
||||
+ h = HASH (h, mbc[i]);
|
||||
+ }
|
||||
+ break;
|
||||
+
|
||||
+ case IGNORE_SPACE_CHANGE:
|
||||
+ while (1)
|
||||
+ {
|
||||
+ if (*p == '\n')
|
||||
+ {
|
||||
+ ++p;
|
||||
+ break;
|
||||
+ }
|
||||
|
||||
+ MBC2WC (p, suffix_begin, mblength, wc, state, convfail);
|
||||
+
|
||||
+ if (!convfail && iswspace (wc))
|
||||
+ {
|
||||
+ while (1)
|
||||
+ {
|
||||
+ if (*p == '\n')
|
||||
+ {
|
||||
+ ++p;
|
||||
+ goto hashing_done;
|
||||
+ }
|
||||
+
|
||||
+ p += mblength;
|
||||
+ MBC2WC (p, suffix_begin, mblength, wc, state, convfail);
|
||||
+ if (convfail || (!convfail && !iswspace (wc)))
|
||||
+ break;
|
||||
+ }
|
||||
+ h = HASH (h, ' ');
|
||||
+ }
|
||||
+
|
||||
+ /* WC is now the first non-space. */
|
||||
+ if (convfail)
|
||||
+ mbc[0] = *p++;
|
||||
+ else
|
||||
+ {
|
||||
+ bool flag = 0;
|
||||
+
|
||||
+ if (ignore_case)
|
||||
+ {
|
||||
+ lo_wc = towlower (wc);
|
||||
+ if (lo_wc != wc)
|
||||
+ {
|
||||
+ flag = 1;
|
||||
+
|
||||
+ p += mblength;
|
||||
+ memset (&state_wc, '\0', sizeof(mbstate_t));
|
||||
+ mblength = wcrtomb (mbc, lo_wc, &state_wc);
|
||||
+
|
||||
+ assert (mblength != (size_t)-1 &&
|
||||
+ mblength != (size_t)-2);
|
||||
+
|
||||
+ mblength = (mblength < 1) ? 1 : mblength;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ if (!flag)
|
||||
+ {
|
||||
+ for (i = 0; i < mblength; i++)
|
||||
+ mbc[i] = *p++;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ for (i = 0; i < mblength; i++)
|
||||
+ h = HASH (h, mbc[i]);
|
||||
+ }
|
||||
+ break;
|
||||
+
|
||||
+ case IGNORE_TAB_EXPANSION:
|
||||
+ {
|
||||
+ size_t column = 0;
|
||||
+
|
||||
+ while (1)
|
||||
+ {
|
||||
+ if (*p == '\n')
|
||||
+ {
|
||||
+ ++p;
|
||||
+ break;
|
||||
+ }
|
||||
+
|
||||
+ MBC2WC (p, suffix_begin, mblength, wc, state, convfail);
|
||||
+
|
||||
+ if (convfail)
|
||||
+ {
|
||||
+ h = HASH (h, *p++);
|
||||
+ ++column;
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ bool flag;
|
||||
+
|
||||
+ switch (wc)
|
||||
+ {
|
||||
+ case L'\b':
|
||||
+ column -= 0 < column;
|
||||
+ h = HASH (h, '\b');
|
||||
+ ++p;
|
||||
+ break;
|
||||
+
|
||||
+ case L'\t':
|
||||
+ {
|
||||
+ int repetitions;
|
||||
+
|
||||
+ repetitions = TAB_WIDTH - column % TAB_WIDTH;
|
||||
+ column += repetitions;
|
||||
+ do
|
||||
+ h = HASH (h, ' ');
|
||||
+ while (--repetitions != 0);
|
||||
+ ++p;
|
||||
+ }
|
||||
+ break;
|
||||
+
|
||||
+ case L'\r':
|
||||
+ column = 0;
|
||||
+ h = HASH (h, '\r');
|
||||
+ ++p;
|
||||
+ break;
|
||||
+
|
||||
+ default:
|
||||
+ flag = 0;
|
||||
+ column += wcwidth (wc);
|
||||
+ if (ignore_case)
|
||||
+ {
|
||||
+ lo_wc = towlower (wc);
|
||||
+ if (lo_wc != wc)
|
||||
+ {
|
||||
+ flag = 1;
|
||||
+ p += mblength;
|
||||
+ memset (&state_wc, '\0', sizeof(mbstate_t));
|
||||
+ mblength = wcrtomb (mbc, lo_wc, &state_wc);
|
||||
+
|
||||
+ assert (mblength != (size_t)-1 &&
|
||||
+ mblength != (size_t)-2);
|
||||
+
|
||||
+ mblength = (mblength < 1) ? 1 : mblength;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ if (!flag)
|
||||
+ {
|
||||
+ for (i = 0; i < mblength; i++)
|
||||
+ mbc[i] = *p++;
|
||||
+ }
|
||||
+
|
||||
+ for (i = 0; i < mblength; i++)
|
||||
+ h = HASH (h, mbc[i]);
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ break;
|
||||
+
|
||||
+ default:
|
||||
+ while (1)
|
||||
+ {
|
||||
+ if (*p == '\n')
|
||||
+ {
|
||||
+ ++p;
|
||||
+ break;
|
||||
+ }
|
||||
+
|
||||
+ MBC2WC (p, suffix_begin, mblength, wc, state, convfail);
|
||||
+
|
||||
+ if (convfail)
|
||||
+ mbc[0] = *p++;
|
||||
+ else
|
||||
+ {
|
||||
+ int flag = 0;
|
||||
+
|
||||
+ if (ignore_case)
|
||||
+ {
|
||||
+ lo_wc = towlower (wc);
|
||||
+ if (lo_wc != wc)
|
||||
+ {
|
||||
+ flag = 1;
|
||||
+ p += mblength;
|
||||
+ memset (&state_wc, '\0', sizeof(mbstate_t));
|
||||
+ mblength = wcrtomb (mbc, lo_wc, &state_wc);
|
||||
+
|
||||
+ assert (mblength != (size_t)-1 &&
|
||||
+ mblength != (size_t)-2);
|
||||
+
|
||||
+ mblength = (mblength < 1) ? 1 : mblength;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ if (!flag)
|
||||
+ {
|
||||
+ for (i = 0; i < mblength; i++)
|
||||
+ mbc[i] = *p++;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ for (i = 0; i < mblength; i++)
|
||||
+ h = HASH (h, mbc[i]);
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ else
|
||||
+#endif
|
||||
/* Hash this line until we find a newline. */
|
||||
if (ignore_case)
|
||||
switch (ignore_white_space)
|
||||
@@ -438,7 +729,7 @@
|
||||
else if (!diff_length_compare_anyway)
|
||||
continue;
|
||||
|
||||
- if (! lines_differ (eqline, ip))
|
||||
+ if (! lines_differ (eqline, eqs[i].length + 1, ip, length + 1))
|
||||
break;
|
||||
}
|
||||
|
||||
--- diffutils-2.8.1/src/side.c.i18n 2002-02-07 18:17:04.000000000 +0000
|
||||
+++ diffutils-2.8.1/src/side.c 2007-08-14 10:39:40.000000000 +0100
|
||||
@@ -74,11 +74,72 @@
|
||||
register unsigned int out_position = 0;
|
||||
register char const *text_pointer = line[0];
|
||||
register char const *text_limit = line[1];
|
||||
+#if defined HAVE_WCHAR_H && defined HAVE_WCTYPE_H
|
||||
+ unsigned char mbc[MB_LEN_MAX];
|
||||
+ wchar_t wc;
|
||||
+ mbstate_t state, state_bak;
|
||||
+ size_t mbc_pos, mblength;
|
||||
+ int mbc_loading_flag = 0;
|
||||
+ int wc_width;
|
||||
+
|
||||
+ memset (&state, '\0', sizeof (mbstate_t));
|
||||
+#endif
|
||||
|
||||
while (text_pointer < text_limit)
|
||||
{
|
||||
register unsigned char c = *text_pointer++;
|
||||
|
||||
+#if defined HAVE_WCHAR_H && defined HAVE_WCTYPE_H
|
||||
+ if (MB_CUR_MAX > 1 && mbc_loading_flag)
|
||||
+ {
|
||||
+ mbc_loading_flag = 0;
|
||||
+ state_bak = state;
|
||||
+ mbc[mbc_pos++] = c;
|
||||
+
|
||||
+process_mbc:
|
||||
+ mblength = mbrtowc (&wc, mbc, mbc_pos, &state);
|
||||
+
|
||||
+ switch (mblength)
|
||||
+ {
|
||||
+ case (size_t)-2: /* Incomplete multibyte character. */
|
||||
+ mbc_loading_flag = 1;
|
||||
+ state = state_bak;
|
||||
+ break;
|
||||
+
|
||||
+ case (size_t)-1: /* Invalid as a multibyte character. */
|
||||
+ if (in_position++ < out_bound)
|
||||
+ {
|
||||
+ out_position = in_position;
|
||||
+ putc (mbc[0], out);
|
||||
+ }
|
||||
+ memmove (mbc, mbc + 1, --mbc_pos);
|
||||
+ if (mbc_pos > 0)
|
||||
+ {
|
||||
+ mbc[mbc_pos] = '\0';
|
||||
+ goto process_mbc;
|
||||
+ }
|
||||
+ break;
|
||||
+
|
||||
+ default:
|
||||
+ wc_width = wcwidth (wc);
|
||||
+ if (wc_width < 1) /* Unprintable multibyte character. */
|
||||
+ {
|
||||
+ if (in_position <= out_bound)
|
||||
+ fprintf (out, "%lc", (wint_t)wc);
|
||||
+ }
|
||||
+ else /* Printable multibyte character. */
|
||||
+ {
|
||||
+ in_position += wc_width;
|
||||
+ if (in_position <= out_bound)
|
||||
+ {
|
||||
+ out_position = in_position;
|
||||
+ fprintf (out, "%lc", (wint_t)wc);
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ continue;
|
||||
+ }
|
||||
+#endif
|
||||
switch (c)
|
||||
{
|
||||
case '\t':
|
||||
@@ -136,8 +197,39 @@
|
||||
break;
|
||||
|
||||
default:
|
||||
- if (! ISPRINT (c))
|
||||
- goto control_char;
|
||||
+#if defined HAVE_WCHAR_H && defined HAVE_WCTYPE_H
|
||||
+ if (MB_CUR_MAX > 1)
|
||||
+ {
|
||||
+ memset (mbc, '\0', MB_LEN_MAX);
|
||||
+ mbc_pos = 0;
|
||||
+ mbc[mbc_pos++] = c;
|
||||
+ state_bak = state;
|
||||
+
|
||||
+ mblength = mbrtowc (&wc, mbc, mbc_pos, &state);
|
||||
+
|
||||
+ /* The value of mblength is always less than 2 here. */
|
||||
+ switch (mblength)
|
||||
+ {
|
||||
+ case (size_t)-2: /* Incomplete multibyte character. */
|
||||
+ state = state_bak;
|
||||
+ mbc_loading_flag = 1;
|
||||
+ continue;
|
||||
+
|
||||
+ case (size_t)-1: /* Invalid as a multibyte character. */
|
||||
+ state = state_bak;
|
||||
+ break;
|
||||
+
|
||||
+ default:
|
||||
+ if (! iswprint (wc))
|
||||
+ goto control_char;
|
||||
+ }
|
||||
+ }
|
||||
+ else
|
||||
+#endif
|
||||
+ {
|
||||
+ if (! ISPRINT (c))
|
||||
+ goto control_char;
|
||||
+ }
|
||||
/* falls through */
|
||||
case ' ':
|
||||
if (in_position++ < out_bound)
|
||||
--- diffutils-2.8.1/src/util.c.i18n 2002-02-28 04:23:10.000000000 +0000
|
||||
+++ diffutils-2.8.1/src/util.c 2007-08-14 10:42:19.000000000 +0100
|
||||
@@ -312,7 +312,8 @@
|
||||
Return nonzero if the lines differ. */
|
||||
|
||||
bool
|
||||
-lines_differ (char const *s1, char const *s2)
|
||||
+lines_differ_singlebyte (char const *s1, size_t s1len,
|
||||
+ char const *s2, size_t s2len)
|
||||
{
|
||||
register unsigned char const *t1 = (unsigned char const *) s1;
|
||||
register unsigned char const *t2 = (unsigned char const *) s2;
|
||||
@@ -441,6 +442,294 @@
|
||||
|
||||
return 1;
|
||||
}
|
||||
+
|
||||
+#ifdef HANDLE_MULTIBYTE
|
||||
+# define MBC2WC(T, END, MBLENGTH, WC, STATE, CONVFAIL) \
|
||||
+do \
|
||||
+{ \
|
||||
+ mbstate_t bak = STATE; \
|
||||
+ \
|
||||
+ CONVFAIL = 0; \
|
||||
+ MBLENGTH = mbrtowc (&WC, T, END - T, &STATE); \
|
||||
+ \
|
||||
+ switch (MBLENGTH) \
|
||||
+ { \
|
||||
+ case (size_t)-2: \
|
||||
+ case (size_t)-1: \
|
||||
+ STATE = bak; \
|
||||
+ ++CONVFAIL; \
|
||||
+ /* Fall through. */ \
|
||||
+ case 0: \
|
||||
+ MBLENGTH = 1; \
|
||||
+ } \
|
||||
+} \
|
||||
+while (0)
|
||||
+
|
||||
+bool
|
||||
+lines_differ_multibyte (char const *s1, size_t s1len,
|
||||
+ char const *s2, size_t s2len)
|
||||
+{
|
||||
+ unsigned char const *end1, *end2;
|
||||
+ unsigned char c1, c2;
|
||||
+ wchar_t wc1, wc2, wc1_bak, wc2_bak;
|
||||
+ size_t mblen1, mblen2;
|
||||
+ mbstate_t state1, state2, state1_bak, state2_bak;
|
||||
+ int convfail1, convfail2, convfail1_bak, convfail2_bak;
|
||||
+
|
||||
+ unsigned char const *t1 = (unsigned char const *) s1;
|
||||
+ unsigned char const *t2 = (unsigned char const *) s2;
|
||||
+ unsigned char const *t1_bak, *t2_bak;
|
||||
+ size_t column = 0;
|
||||
+
|
||||
+ if (ignore_white_space == IGNORE_NO_WHITE_SPACE && !ignore_case)
|
||||
+ {
|
||||
+ while (*t1 != '\n')
|
||||
+ if (*t1++ != * t2++)
|
||||
+ return 1;
|
||||
+ return 0;
|
||||
+ }
|
||||
+
|
||||
+ memset (&state1, '\0', sizeof (mbstate_t));
|
||||
+ memset (&state2, '\0', sizeof (mbstate_t));
|
||||
+
|
||||
+ end1 = s1 + s1len;
|
||||
+ end2 = s2 + s2len;
|
||||
+
|
||||
+ while (1)
|
||||
+ {
|
||||
+ c1 = *t1;
|
||||
+ c2 = *t2;
|
||||
+ MBC2WC (t1, end1, mblen1, wc1, state1, convfail1);
|
||||
+ MBC2WC (t2, end2, mblen2, wc2, state2, convfail2);
|
||||
+
|
||||
+ /* Test for exact char equality first, since it's a common case. */
|
||||
+ if (convfail1 ^ convfail2)
|
||||
+ break;
|
||||
+ else if (convfail1 && convfail2 && c1 != c2)
|
||||
+ break;
|
||||
+ else if (!convfail1 && !convfail2 && wc1 != wc2)
|
||||
+ {
|
||||
+ switch (ignore_white_space)
|
||||
+ {
|
||||
+ case IGNORE_ALL_SPACE:
|
||||
+ /* For -w, just skip past any white space. */
|
||||
+ while (1)
|
||||
+ {
|
||||
+ if (convfail1)
|
||||
+ break;
|
||||
+ else if (wc1 == L'\n' || !iswspace (wc1))
|
||||
+ break;
|
||||
+
|
||||
+ t1 += mblen1;
|
||||
+ c1 = *t1;
|
||||
+ MBC2WC (t1, end1, mblen1, wc1, state1, convfail1);
|
||||
+ }
|
||||
+
|
||||
+ while (1)
|
||||
+ {
|
||||
+ if (convfail2)
|
||||
+ break;
|
||||
+ else if (wc2 == L'\n' || !iswspace (wc2))
|
||||
+ break;
|
||||
+
|
||||
+ t2 += mblen2;
|
||||
+ c2 = *t2;
|
||||
+ MBC2WC (t2, end2, mblen2, wc2, state2, convfail2);
|
||||
+ }
|
||||
+ t1 += mblen1;
|
||||
+ t2 += mblen2;
|
||||
+ break;
|
||||
+
|
||||
+ case IGNORE_SPACE_CHANGE:
|
||||
+ /* For -b, advance past any sequence of white space in
|
||||
+ line 1 and consider it just one space, or nothing at
|
||||
+ all if it is at the end of the line. */
|
||||
+ if (wc1 != L'\n' && iswspace (wc1))
|
||||
+ {
|
||||
+ size_t mblen_bak;
|
||||
+ mbstate_t state_bak;
|
||||
+
|
||||
+ do
|
||||
+ {
|
||||
+ t1 += mblen1;
|
||||
+ mblen_bak = mblen1;
|
||||
+ state_bak = state1;
|
||||
+ MBC2WC (t1, end1, mblen1, wc1, state1, convfail1);
|
||||
+ }
|
||||
+ while (!convfail1 && (wc1 != L'\n' && iswspace (wc1)));
|
||||
+
|
||||
+ state1 = state_bak;
|
||||
+ mblen1 = mblen_bak;
|
||||
+ t1 -= mblen1;
|
||||
+ convfail1 = 0;
|
||||
+ wc1 = L' ';
|
||||
+ }
|
||||
+
|
||||
+ /* Likewise for line 2. */
|
||||
+ if (wc2 != L'\n' && iswspace (wc2))
|
||||
+ {
|
||||
+ size_t mblen_bak;
|
||||
+ mbstate_t state_bak;
|
||||
+
|
||||
+ do
|
||||
+ {
|
||||
+ t2 += mblen2;
|
||||
+ mblen_bak = mblen2;
|
||||
+ state_bak = state2;
|
||||
+ MBC2WC (t2, end2, mblen2, wc2, state2, convfail2);
|
||||
+ }
|
||||
+ while (!convfail2 && (wc2 != L'\n' && iswspace (wc2)));
|
||||
+
|
||||
+ state2 = state_bak;
|
||||
+ mblen2 = mblen_bak;
|
||||
+ t2 -= mblen2;
|
||||
+ convfail2 = 0;
|
||||
+ wc2 = L' ';
|
||||
+ }
|
||||
+
|
||||
+ if (wc1 != wc2)
|
||||
+ {
|
||||
+ if (wc2 == L' ' && wc1 != L'\n' &&
|
||||
+ t1 > (unsigned char const *)s1 &&
|
||||
+ !convfail1_bak && iswspace (wc1_bak))
|
||||
+ {
|
||||
+ t1 = t1_bak;
|
||||
+ wc1 = wc1_bak;
|
||||
+ state1 = state1_bak;
|
||||
+ convfail1 = convfail1_bak;
|
||||
+ continue;
|
||||
+ }
|
||||
+ if (wc1 == L' ' && wc2 != L'\n'
|
||||
+ && t2 > (unsigned char const *)s2
|
||||
+ && !convfail2_bak && iswspace (wc2_bak))
|
||||
+ {
|
||||
+ t2 = t2_bak;
|
||||
+ wc2 = wc2_bak;
|
||||
+ state2 = state2_bak;
|
||||
+ convfail2 = convfail2_bak;
|
||||
+ continue;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ t1_bak = t1; t2_bak = t2;
|
||||
+ wc1_bak = wc1; wc2_bak = wc2;
|
||||
+ state1_bak = state1; state2_bak = state2;
|
||||
+ convfail1_bak = convfail1; convfail2_bak = convfail2;
|
||||
+
|
||||
+ if (wc1 == L'\n')
|
||||
+ wc1 = L' ';
|
||||
+ else
|
||||
+ t1 += mblen1;
|
||||
+
|
||||
+ if (wc2 == L'\n')
|
||||
+ wc2 = L' ';
|
||||
+ else
|
||||
+ t2 += mblen2;
|
||||
+
|
||||
+ break;
|
||||
+
|
||||
+ case IGNORE_TAB_EXPANSION:
|
||||
+ if ((wc1 == L' ' && wc2 == L'\t')
|
||||
+ || (wc1 == L'\t' && wc2 == L' '))
|
||||
+ {
|
||||
+ size_t column2 = column;
|
||||
+
|
||||
+ while (1)
|
||||
+ {
|
||||
+ if (convfail1)
|
||||
+ {
|
||||
+ ++t1;
|
||||
+ break;
|
||||
+ }
|
||||
+ else if (wc1 == L' ')
|
||||
+ column++;
|
||||
+ else if (wc1 == L'\t')
|
||||
+ column += TAB_WIDTH - column % TAB_WIDTH;
|
||||
+ else
|
||||
+ {
|
||||
+ t1 += mblen1;
|
||||
+ break;
|
||||
+ }
|
||||
+
|
||||
+ t1 += mblen1;
|
||||
+ c1 = *t1;
|
||||
+ MBC2WC (t1, end1, mblen1, wc1, state1, convfail1);
|
||||
+ }
|
||||
+
|
||||
+ while (1)
|
||||
+ {
|
||||
+ if (convfail2)
|
||||
+ {
|
||||
+ ++t2;
|
||||
+ break;
|
||||
+ }
|
||||
+ else if (wc2 == L' ')
|
||||
+ column2++;
|
||||
+ else if (wc2 == L'\t')
|
||||
+ column2 += TAB_WIDTH - column2 % TAB_WIDTH;
|
||||
+ else
|
||||
+ {
|
||||
+ t2 += mblen2;
|
||||
+ break;
|
||||
+ }
|
||||
+
|
||||
+ t2 += mblen2;
|
||||
+ c2 = *t2;
|
||||
+ MBC2WC (t2, end2, mblen2, wc2, state2, convfail2);
|
||||
+ }
|
||||
+
|
||||
+ if (column != column2)
|
||||
+ return 1;
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ t1 += mblen1;
|
||||
+ t2 += mblen2;
|
||||
+ }
|
||||
+ break;
|
||||
+
|
||||
+ case IGNORE_NO_WHITE_SPACE:
|
||||
+ t1 += mblen1;
|
||||
+ t2 += mblen2;
|
||||
+ break;
|
||||
+ }
|
||||
+
|
||||
+ /* Lowercase all letters if -i is specified. */
|
||||
+ if (ignore_case)
|
||||
+ {
|
||||
+ if (!convfail1)
|
||||
+ wc1 = towlower (wc1);
|
||||
+ if (!convfail2)
|
||||
+ wc2 = towlower (wc2);
|
||||
+ }
|
||||
+
|
||||
+ if (convfail1 ^ convfail2)
|
||||
+ break;
|
||||
+ else if (convfail1 && convfail2 && c1 != c2)
|
||||
+ break;
|
||||
+ else if (!convfail1 && !convfail2 && wc1 != wc2)
|
||||
+ break;
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ t1_bak = t1; t2_bak = t2;
|
||||
+ wc1_bak = wc1; wc2_bak = wc2;
|
||||
+ state1_bak = state1; state2_bak = state2;
|
||||
+ convfail1_bak = convfail1; convfail2_bak = convfail2;
|
||||
+
|
||||
+ t1 += mblen1; t2 += mblen2;
|
||||
+ }
|
||||
+
|
||||
+ if (!convfail1 && wc1 == L'\n')
|
||||
+ return 0;
|
||||
+
|
||||
+ column += convfail1 ? 1 :
|
||||
+ (wc1 == L'\t') ? TAB_WIDTH - column % TAB_WIDTH : wcwidth (wc1);
|
||||
+ }
|
||||
+
|
||||
+ return 1;
|
||||
+}
|
||||
+#endif
|
||||
|
||||
/* Find the consecutive changes at the start of the script START.
|
||||
Return the last link before the first gap. */
|
||||
30
diffutils-3.12-cross-compiler-build-fail.patch
Normal file
30
diffutils-3.12-cross-compiler-build-fail.patch
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
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
|
||||
65
diffutils-3.12-sdiff-continue-break.patch
Normal file
65
diffutils-3.12-sdiff-continue-break.patch
Normal file
|
|
@ -0,0 +1,65 @@
|
|||
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): Don’t 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;
|
||||
}
|
||||
}
|
||||
|
||||
16
diffutils-3.12.tar.xz.sig
Normal file
16
diffutils-3.12.tar.xz.sig
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
iQIzBAABCgAdFiEEFV0/xQDINEhtHupnf9n8ywAL7u4FAmf14TEACgkQf9n8ywAL
|
||||
7u5tEg//YI75CvWhml5WPNESJWoNVcb+ak8K5g29sHXE5RW9ZuzvEjHAy2IGpkmG
|
||||
QbSC2GA3s1BhjIvrm567Xvnz5Rdn4lultZygznL/+oD4PMoantux4dF6P4KcO7jG
|
||||
KNPWBF0+/gue9KeJIx4tIGXjQ7g/aAxN/U7UukD5NELrF/4KAsFSWC0PA++taGyd
|
||||
R+kZNl3IX3rci0m4vMXCZX+h1td39NinLuYueOqniZhN84+kjfKfLe+EOPmpdSNr
|
||||
md25Ez5vcZ7p1meHHFIRhW1xnyF4FEC5H1ePv56wMlKShtflS2/hjmQadlo+9CQn
|
||||
fnotq12Yi2BEDwn/wlB9t0J4wgGVbvJM5Ie8ggK74ys77JsXbAtaTeJvCYKI/3bF
|
||||
D2Xt2gI2+Xdfm7zr9xXg4ygf/AqJ0Dc1Cx0hNpgV4BRgMUjKnyp1VgE7bDZn6R4w
|
||||
W2YRXMsKJQp8NpAk5+XI5El3EYoMcPuI6OQs+b+e98wcGgeeOafWjWrUliIUDln6
|
||||
iTXtOBFebV0JtdSWdzNPrxT0+WbmdYSfP7qrqIgMrPHbp5cN7XjVPu6nky07N2RE
|
||||
f4Q2Ny8KyCul8AskCNimYzGU0rsN1qQtDRSx2CR5ABYztwc/WY2KgXL9aGZ+eIfa
|
||||
YRIpzush1GB5Bu50huAT2VCCqrk6VCg7v1vLfr3V/eszEUVhPZg=
|
||||
=vkFD
|
||||
-----END PGP SIGNATURE-----
|
||||
|
|
@ -1,12 +0,0 @@
|
|||
diff -up diffutils-2.8.1/src/sdiff.c.sdiff-E diffutils-2.8.1/src/sdiff.c
|
||||
--- diffutils-2.8.1/src/sdiff.c.sdiff-E 2009-02-13 17:00:38.000000000 +0000
|
||||
+++ diffutils-2.8.1/src/sdiff.c 2009-02-13 17:31:08.000000000 +0000
|
||||
@@ -464,7 +464,7 @@ main (int argc, char *argv[])
|
||||
diffarg (DEFAULT_DIFF_PROGRAM);
|
||||
|
||||
/* parse command line args */
|
||||
- while ((opt = getopt_long (argc, argv, "abBdHiI:lo:stvw:W", longopts, 0))
|
||||
+ while ((opt = getopt_long (argc, argv, "abBdEHiI:lo:stvw:W", longopts, 0))
|
||||
!= -1)
|
||||
{
|
||||
switch (opt)
|
||||
|
|
@ -1,12 +0,0 @@
|
|||
--- diffutils-2.8.1/src/sdiff.c.sdiff 2005-04-06 14:59:26.000000000 +0100
|
||||
+++ diffutils-2.8.1/src/sdiff.c 2005-04-06 15:02:36.000000000 +0100
|
||||
@@ -724,7 +724,8 @@
|
||||
if (! interact_ok)
|
||||
exiterr ();
|
||||
|
||||
- ck_editor_status (werrno, wstatus);
|
||||
+ if (!WIFEXITED(wstatus))
|
||||
+ ck_editor_status (werrno, wstatus);
|
||||
untrapsig (0);
|
||||
checksigs ();
|
||||
exit (WEXITSTATUS (wstatus));
|
||||
313
diffutils.spec
313
diffutils.spec
|
|
@ -1,22 +1,24 @@
|
|||
Summary: A GNU collection of diff utilities
|
||||
Summary: GNU collection of diff utilities
|
||||
Name: diffutils
|
||||
Version: 2.8.1
|
||||
Release: 25%{?dist}
|
||||
Group: Applications/Text
|
||||
URL: http://www.gnu.org/software/diffutils/diffutils.html
|
||||
Source: ftp://ftp.gnu.org/gnu/diffutils/diffutils-%{version}.tar.gz
|
||||
Source1: cmp.1
|
||||
Source2: diff.1
|
||||
Source3: diff3.1
|
||||
Source4: sdiff.1
|
||||
Patch0: diffutils-2.8.4-i18n.patch
|
||||
Patch1: diffutils-2.8.1-badc.patch
|
||||
Patch2: diffutils-sdiff.patch
|
||||
Patch3: diffutils-sdiff-E.patch
|
||||
License: GPLv2+
|
||||
Requires(post): /sbin/install-info
|
||||
Requires(preun): /sbin/install-info
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||
Version: 3.12
|
||||
Release: 3%{?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
|
||||
BuildRequires: help2man
|
||||
BuildRequires: autoconf, automake, texinfo
|
||||
BuildRequires: make
|
||||
|
||||
%description
|
||||
Diffutils includes four utilities: diff, cmp, diff3 and sdiff. Diff
|
||||
|
|
@ -32,55 +34,266 @@ to merge two files interactively.
|
|||
Install diffutils if you need to compare text files.
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
%patch0 -p1 -b .i18n
|
||||
%patch1 -p1 -b .badc
|
||||
%patch2 -p1 -b .sdiff
|
||||
%patch3 -p1 -b .sdiff-E
|
||||
%autosetup -p1
|
||||
|
||||
# Run autoreconf for aarch64 support (bug #925256).
|
||||
autoreconf
|
||||
|
||||
%build
|
||||
%configure
|
||||
make PR_PROGRAM=%{_bindir}/pr
|
||||
|
||||
%install
|
||||
rm -rf $RPM_BUILD_ROOT
|
||||
make DESTDIR=$RPM_BUILD_ROOT install
|
||||
|
||||
( cd $RPM_BUILD_ROOT
|
||||
gzip -9nf .%{_infodir}/diff*
|
||||
mkdir -p .%{_mandir}/man1
|
||||
for manpage in %{SOURCE1} %{SOURCE2} %{SOURCE3} %{SOURCE4}
|
||||
do
|
||||
install -m 0644 ${manpage} .%{_mandir}/man1
|
||||
done
|
||||
)
|
||||
%make_install
|
||||
|
||||
rm -f $RPM_BUILD_ROOT%{_infodir}/dir
|
||||
%find_lang %{name}
|
||||
|
||||
%post
|
||||
if [ -f %{_infodir}/diff.info.gz ]; then
|
||||
/sbin/install-info %{_infodir}/diff.info.gz %{_infodir}/dir --entry="* diff: (diff). The GNU diff."
|
||||
fi
|
||||
exit 0
|
||||
|
||||
%preun
|
||||
if [ $1 = 0 ]; then
|
||||
/sbin/install-info --delete %{_infodir}/diff.info.gz %{_infodir}/dir --entry="* diff: (diff). The GNU diff."
|
||||
fi
|
||||
exit 0
|
||||
|
||||
%clean
|
||||
rm -rf $RPM_BUILD_ROOT
|
||||
%check
|
||||
# Disable update-copyright gnulib test (bug #1239428).
|
||||
>gnulib-tests/test-update-copyright.sh
|
||||
make check
|
||||
|
||||
%files -f %{name}.lang
|
||||
%defattr(-,root,root)
|
||||
%doc NEWS README
|
||||
%license COPYING
|
||||
%{_bindir}/*
|
||||
%{_mandir}/*/*
|
||||
%{_infodir}/diff.info*gz
|
||||
%{_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
|
||||
|
||||
* Thu Mar 27 2025 Than Ngo <than@redhat.com> - 3.11-3
|
||||
- diff does not show a unified diff when one of the file is empty
|
||||
|
||||
* Thu Mar 27 2025 Than Ngo <than@redhat.com> - 3.11-2
|
||||
- Backported upstream patch, Fixed allocation typo leading to crash
|
||||
|
||||
* Thu Mar 27 2025 Than Ngo <than@redhat.com> - 3.11-1
|
||||
- Fixed rhbz#2343469, Update to 3.11
|
||||
|
||||
* Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 3.10-9
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
|
||||
|
||||
* Tue Jul 30 2024 Than Ngo <than@redhat.com> - 3.10-8
|
||||
- refresh patch for 'cmp -s'
|
||||
|
||||
* Tue Jul 23 2024 Than Ngo <than@redhat.com> - 3.10-7
|
||||
- fix a regression, 'cmp -s' returns 1 even if files are identical
|
||||
|
||||
* Wed Jul 17 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.10-6
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
|
||||
|
||||
* Wed Jan 24 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.10-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
* Fri Jan 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.10-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
* Wed Jul 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 3.10-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
|
||||
|
||||
* Wed Jul 05 2023 Than Ngo <than@redhat.com> - 3.10-2
|
||||
- Fix output of "diff -l -y" for non-ASCII input files
|
||||
|
||||
* Thu Jun 29 2023 Than Ngo <than@redhat.com> - 3.10-1
|
||||
- Fix bz#2208831, update to 3.10
|
||||
- Fix bz#2196671, diff -D no longer fails to output #ifndef lines introduced in 3.9
|
||||
|
||||
* Tue Mar 28 2023 Than Ngo <than@redhat.com> - 3.9-4
|
||||
- Fix deprecated patch rpm marco
|
||||
|
||||
* Tue Feb 21 2023 Than Ngo <than@redhat.com> - 3.9-3
|
||||
- migrated to SPDX license
|
||||
|
||||
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 3.9-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
|
||||
|
||||
* Mon Jan 16 2023 Tim Waugh <twaugh@redhat.com> - 3.9-1
|
||||
- 3.9 (bug #2161117).
|
||||
|
||||
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 3.8-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
|
||||
|
||||
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 3.8-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
||||
|
||||
* Mon Aug 2 2021 Tim Waugh <twaugh@redhat.com> - 3.8-1
|
||||
- 3.8.
|
||||
|
||||
* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.7-10
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
|
||||
|
||||
* Mon Apr 12 2021 Tim Waugh <twaugh@redhat.com> - 3.7-9
|
||||
- Handle SIGSTKSZ no longer being a constant (bug #1943016).
|
||||
|
||||
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.7-8
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||
|
||||
* Thu Oct 8 2020 Tim Waugh <twaugh@redhat.com> - 3.7-7
|
||||
- Fix from gnulib upstream, commit 175e0bc (bug #1863423).
|
||||
|
||||
* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.7-6
|
||||
- Second attempt - Rebuilt for
|
||||
https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||
|
||||
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.7-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||
|
||||
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.7-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||
|
||||
* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.7-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||
|
||||
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.7-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||
|
||||
* Mon Jan 07 2019 Than Ngo <than@redhat.com> - 3.7-1
|
||||
- 3.7
|
||||
|
||||
* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.6-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||
|
||||
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.6-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
||||
|
||||
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.6-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
|
||||
|
||||
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.6-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
||||
|
||||
* Mon May 22 2017 Tim Waugh <twaugh@redhat.com> - 3.6-1
|
||||
- 3.6 (bug #1453019).
|
||||
|
||||
* Tue Feb 21 2017 Than Ngo <than@redhat.com> - 3.5-3
|
||||
- backport to fix FTBFs with GCC 7
|
||||
|
||||
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.5-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
||||
|
||||
* Wed Sep 21 2016 Tim Waugh <twaugh@redhat.com> - 3.5-1
|
||||
- 3.5 (bug #1365325).
|
||||
|
||||
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 3.3-13
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
|
||||
|
||||
* Mon Jul 6 2015 Tim Waugh <twaugh@redhat.com> - 3.3-12
|
||||
- Disable update-copyright gnulib test (bug #1239428).
|
||||
|
||||
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.3-11
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
|
||||
|
||||
* Sat Feb 21 2015 Till Maas <opensource@till.name> - 3.3-10
|
||||
- Rebuilt for Fedora 23 Change
|
||||
https://fedoraproject.org/wiki/Changes/Harden_all_packages_with_position-independent_code
|
||||
|
||||
* Sat Aug 16 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.3-9
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
|
||||
|
||||
* Fri Jul 11 2014 Tom Callaway <spot@fedoraproject.org> - 3.3-8
|
||||
- fix license handling
|
||||
|
||||
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.3-7
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
|
||||
|
||||
* Thu Mar 27 2014 Tim Waugh <twaugh@redhat.com> 3.3-6
|
||||
- Fix --help output and man page (bug #1079076).
|
||||
|
||||
* Wed Dec 4 2013 Tim Waugh <twaugh@redhat.com> 3.3-5
|
||||
- Applied upstream gnulib patch to avoid -Wformat-security warning
|
||||
(bug #1037038).
|
||||
|
||||
* Wed Oct 23 2013 Tim Waugh <twaugh@redhat.com> 3.3-4
|
||||
- Fixed multibyte handling logic for diff -Z (bug #1012075).
|
||||
|
||||
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.3-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
|
||||
|
||||
* Mon Apr 29 2013 Tim Waugh <twaugh@redhat.com> 3.3-2
|
||||
- Run autoreconf for aarch64 support (bug #925256).
|
||||
|
||||
* Tue Mar 26 2013 Tim Waugh <twaugh@redhat.com> 3.3-1
|
||||
- 3.3 (bug #927560).
|
||||
|
||||
* Fri Feb 22 2013 Tim Waugh <twaugh@redhat.com> 3.2-13
|
||||
- Fixed i18n handling of 'diff -E' (bug #914666).
|
||||
|
||||
* Wed Feb 13 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.2-12
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
|
||||
|
||||
* Fri Oct 26 2012 Tim Waugh <twaugh@redhat.com> 3.2-11
|
||||
- Ported i18n patch and reinstated it (bug #870460).
|
||||
|
||||
* Wed Sep 19 2012 Tim Waugh <twaugh@redhat.com> 3.2-10
|
||||
- Fixed license as current source says GPLv3+.
|
||||
|
||||
* Mon Jul 23 2012 Tim Waugh <twaugh@redhat.com> 3.2-9
|
||||
- Fixed build failure.
|
||||
|
||||
* Wed Jul 18 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.2-8
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
|
||||
|
||||
* Mon May 21 2012 Tim Waugh <twaugh@redhat.com> 3.2-7
|
||||
- Provides bundled(gnulib) (bug #821751).
|
||||
|
||||
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.2-6
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
|
||||
|
||||
* Thu Dec 8 2011 Tim Waugh <twaugh@redhat.com> 3.2-5
|
||||
- Fix bug #747969 again.
|
||||
|
||||
* Tue Nov 29 2011 Tim Waugh <twaugh@redhat.com> 3.2-4
|
||||
- Real fix for bug #747969: the diffutils info file changed name in
|
||||
3.1. Updated the scriptlets to install/remove the correct filename
|
||||
from the info directory.
|
||||
|
||||
* Fri Nov 25 2011 Tim Waugh <twaugh@redhat.com> 3.2-3
|
||||
- Fixed up reference to info page in man pages (bug #747969).
|
||||
|
||||
* Fri Nov 25 2011 Tim Waugh <twaugh@redhat.com> 3.2-2
|
||||
- Applied upstream gnulib fix for float test on ppc, as well as
|
||||
correction for LDBL_MANT_DIG definition (bug #733536).
|
||||
|
||||
* Fri Sep 2 2011 Tim Waugh <twaugh@redhat.com> 3.2-1
|
||||
- 3.2.
|
||||
|
||||
* Thu Aug 11 2011 Tim Waugh <twaugh@redhat.com> 3.1-1
|
||||
- 3.1.
|
||||
|
||||
* Wed Apr 13 2011 Tim Waugh <twaugh@redhat.com> 3.0-1
|
||||
- 3.0 (bug #566482).
|
||||
- The i18n patch is dropped for the time being.
|
||||
|
||||
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.8.1-30
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
|
||||
|
||||
* Fri Jun 25 2010 Tim Waugh <twaugh@redhat.com> 2.8.1-29
|
||||
- For 'cmp -s', compare file sizes only if both non-zero (bug #563618).
|
||||
|
||||
* Wed Apr 21 2010 Tim Waugh <twaugh@redhat.com> - 2.8.1-28
|
||||
- Build requires help2man (bug #577325). Fixes empty diff man page.
|
||||
|
||||
* Wed Mar 3 2010 Tim Waugh <twaugh@redhat.com> - 2.8.1-27
|
||||
- Added comments for all patches.
|
||||
|
||||
* Wed Mar 3 2010 Tim Waugh <twaugh@redhat.com> - 2.8.1-26
|
||||
- Use upstream man pages.
|
||||
- Ship COPYING file.
|
||||
|
||||
* Tue Aug 11 2009 Tim Waugh <twaugh@redhat.com> 2.8.1-25
|
||||
- Only try to install the info file if it exists so that package
|
||||
installation does not fail with --excludedocs (bug #515919).
|
||||
|
|
|
|||
5
plans/ci.fmf
Normal file
5
plans/ci.fmf
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
summary: Basic smoke test
|
||||
discover:
|
||||
how: fmf
|
||||
execute:
|
||||
how: tmt
|
||||
198
sdiff.1
198
sdiff.1
|
|
@ -1,198 +0,0 @@
|
|||
.TH SDIFF 1 "22sep1993" "GNU Tools" "GNU Tools"
|
||||
.SH NAME
|
||||
sdiff \- find differences between two files and merge interactively
|
||||
.SH SYNOPSIS
|
||||
.B sdiff
|
||||
.B -o
|
||||
outfile [options] from-file to-file
|
||||
.SH DESCRIPTION
|
||||
The
|
||||
.I sdiff
|
||||
command merges two files and interactively outputs the
|
||||
results to
|
||||
.IR outfile .
|
||||
|
||||
If
|
||||
.I from-file
|
||||
is a directory and
|
||||
.I to-file
|
||||
is not,
|
||||
.I sdiff
|
||||
compares the file in
|
||||
.I from-file
|
||||
whose file name is that of
|
||||
.IR to-file ,
|
||||
and vice versa.
|
||||
.I from-file
|
||||
and
|
||||
.I to-file
|
||||
may not both be
|
||||
directories.
|
||||
|
||||
.I sdiff
|
||||
options begin with
|
||||
.BR \- ,
|
||||
so normally
|
||||
.I from-file
|
||||
and
|
||||
.I to-file
|
||||
may not begin with
|
||||
.BR \- .
|
||||
However,
|
||||
.B \-\-
|
||||
as an
|
||||
argument by itself treats the remaining arguments as file names even if
|
||||
they begin with
|
||||
.BR \- .
|
||||
You may not use
|
||||
.B \-
|
||||
as an input file.
|
||||
|
||||
.I sdiff
|
||||
without
|
||||
.B \-o
|
||||
(or
|
||||
.BR \-\-output )
|
||||
produces a
|
||||
side-by-side difference. This usage is obsolete; use
|
||||
.B "diff \-\-side\-by\-side"
|
||||
instead.
|
||||
.SS Options
|
||||
Below is a summary of all of the options that GNU
|
||||
.I sdiff
|
||||
accepts.
|
||||
Each option has two equivalent names, one of which is a single
|
||||
letter preceded by
|
||||
.BR \- ,
|
||||
and the other of which is a long name
|
||||
preceded by
|
||||
.BR \-\- .
|
||||
Multiple single letter options (unless they take
|
||||
an argument) can be combined into a single command line argument. Long
|
||||
named options can be abbreviated to any unique prefix of their name.
|
||||
.TP
|
||||
.B \-a
|
||||
Treat all files as text and compare them line-by-line, even if they
|
||||
do not appear to be text.
|
||||
.TP
|
||||
.B \-b
|
||||
Ignore changes in amount of white space.
|
||||
.TP
|
||||
.B \-B
|
||||
Ignore changes that just insert or delete blank lines.
|
||||
.TP
|
||||
.B \-d
|
||||
Change the algorithm to perhaps find a smaller set of changes. This
|
||||
makes
|
||||
.I sdiff
|
||||
slower (sometimes much slower).
|
||||
.TP
|
||||
.B \-H
|
||||
Use heuristics to speed handling of large files that have numerous
|
||||
scattered small changes.
|
||||
.TP
|
||||
.B \-\-expand\-tabs
|
||||
Expand tabs to spaces in the output, to preserve the alignment of tabs
|
||||
in the input files.
|
||||
.TP
|
||||
.B \-i
|
||||
Ignore changes in case; consider upper- and lower-case to be the same.
|
||||
.TP
|
||||
.BI "\-I " regexp
|
||||
Ignore changes that just insert or delete lines that match
|
||||
.IR regexp .
|
||||
.TP
|
||||
.B \-\-ignore\-all\-space
|
||||
Ignore white space when comparing lines.
|
||||
.TP
|
||||
.B \-\-ignore\-blank\-lines
|
||||
Ignore changes that just insert or delete blank lines.
|
||||
.TP
|
||||
.B \-\-ignore\-case
|
||||
Ignore changes in case; consider upper- and lower-case to be the same.
|
||||
.TP
|
||||
.BI \-\-ignore\-matching\-lines= regexp
|
||||
Ignore changes that just insert or delete lines that match
|
||||
.IR regexp .
|
||||
.TP
|
||||
.B \-\-ignore\-space\-change
|
||||
Ignore changes in amount of white space.
|
||||
.TP
|
||||
.B \-l
|
||||
.br
|
||||
.ns
|
||||
.TP
|
||||
.B \-\-left\-column
|
||||
Print only the left column of two common lines.
|
||||
.TP
|
||||
.B \-\-minimal
|
||||
Change the algorithm to perhaps find a smaller set of changes. This
|
||||
makes
|
||||
.I sdiff
|
||||
slower (sometimes much slower).
|
||||
.TP
|
||||
.BI "\-o " file
|
||||
.br
|
||||
.ns
|
||||
.TP
|
||||
.BI \-\-output= file
|
||||
Put merged output into
|
||||
.IR file .
|
||||
This option is required for merging.
|
||||
.TP
|
||||
.B \-s
|
||||
.br
|
||||
.ns
|
||||
.TP
|
||||
.B \-\-suppress\-common\-lines
|
||||
Do not print common lines.
|
||||
.TP
|
||||
.B \-\-speed\-large\-files
|
||||
Use heuristics to speed handling of large files that have numerous
|
||||
scattered small changes.
|
||||
.TP
|
||||
.B \-t
|
||||
Expand tabs to spaces in the output, to preserve the alignment of tabs
|
||||
in the input files.
|
||||
.TP
|
||||
.B \-\-text
|
||||
Treat all files as text and compare them line-by-line, even if they
|
||||
do not appear to be text.
|
||||
.TP
|
||||
.B \-v
|
||||
.br
|
||||
.ns
|
||||
.TP
|
||||
.B \-\-version
|
||||
Output the version number of
|
||||
.IR sdiff .
|
||||
.TP
|
||||
.BI "\-w " columns
|
||||
.br
|
||||
.ns
|
||||
.TP
|
||||
.BI \-\-width= columns
|
||||
Use an output width of
|
||||
.IR columns .
|
||||
Note that for historical reasons, this option is
|
||||
.B \-W
|
||||
in
|
||||
.IR diff ,
|
||||
.B \-w
|
||||
in
|
||||
.IR sdiff .
|
||||
.TP
|
||||
.B \-W
|
||||
Ignore horizontal white space when comparing lines.
|
||||
Note that for historical reasons, this option is
|
||||
.B \-w
|
||||
in
|
||||
.IR diff ,
|
||||
.B \-W
|
||||
in
|
||||
.IR sdiff .
|
||||
.SH SEE ALSO
|
||||
cmp(1), comm(1), diff(1), diff3(1).
|
||||
.SH DIAGNOSTICS
|
||||
An exit status of 0 means no differences were found, 1 means some
|
||||
differences were found, and 2 means trouble.
|
||||
2
sources
2
sources
|
|
@ -1 +1 @@
|
|||
71f9c5ae19b60608f6c7f162da86a428 diffutils-2.8.1.tar.gz
|
||||
SHA512 (diffutils-3.12.tar.xz) = 10b17cf1dcdfa9ca0e5db91d62c4a079ebe9fd7eafa3aaebd4eb7e6206e4d753f348496622aa281e1bd7f7fcde65ce4a886dcc4acbb59332ef980f224197b4e4
|
||||
|
|
|
|||
63
tests/cmp-s-returns-1-even-if-files-are-identical/Makefile
Normal file
63
tests/cmp-s-returns-1-even-if-files-are-identical/Makefile
Normal file
|
|
@ -0,0 +1,63 @@
|
|||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# Makefile of /CoreOS/diffutils/Regression/cmp-s-returns-1-even-if-files-are-identical
|
||||
# Description: Test for cmp -s returns 1 even if files are identical
|
||||
# Author: Jeffrey Bastian <jbastian@redhat.com>
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# Copyright (c) 2010 Red Hat, Inc. All rights reserved.
|
||||
#
|
||||
# This copyrighted material is made available to anyone wishing
|
||||
# to use, modify, copy, or redistribute it subject to the terms
|
||||
# and conditions of the GNU General Public License version 2.
|
||||
#
|
||||
# This program is distributed in the hope that it will be
|
||||
# useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
# PURPOSE. See the GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public
|
||||
# License along with this program; if not, write to the Free
|
||||
# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
# Boston, MA 02110-1301, USA.
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
export TEST=/CoreOS/diffutils/Regression/cmp-s-returns-1-even-if-files-are-identical
|
||||
export TESTVERSION=1.0
|
||||
|
||||
BUILT_FILES=
|
||||
|
||||
FILES=$(METADATA) runtest.sh Makefile PURPOSE
|
||||
|
||||
.PHONY: all install download clean
|
||||
|
||||
run: $(FILES) build
|
||||
./runtest.sh
|
||||
|
||||
build: $(BUILT_FILES)
|
||||
chmod a+x runtest.sh
|
||||
|
||||
clean:
|
||||
rm -f *~ $(BUILT_FILES)
|
||||
|
||||
|
||||
include /usr/share/rhts/lib/rhts-make.include
|
||||
|
||||
$(METADATA): Makefile
|
||||
@echo "Owner: Jeffrey Bastian <jbastian@redhat.com>" > $(METADATA)
|
||||
@echo "Name: $(TEST)" >> $(METADATA)
|
||||
@echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
|
||||
@echo "Path: $(TEST_DIR)" >> $(METADATA)
|
||||
@echo "Description: Test for cmp -s returns 1 even if files are identical" >> $(METADATA)
|
||||
@echo "Type: Regression" >> $(METADATA)
|
||||
@echo "TestTime: 5m" >> $(METADATA)
|
||||
@echo "RunFor: diffutils" >> $(METADATA)
|
||||
@echo "Requires: diffutils" >> $(METADATA)
|
||||
@echo "Priority: Normal" >> $(METADATA)
|
||||
@echo "License: GPLv2" >> $(METADATA)
|
||||
@echo "Confidential: no" >> $(METADATA)
|
||||
@echo "Destructive: no" >> $(METADATA)
|
||||
|
||||
rhts-lint $(METADATA)
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
PURPOSE of /CoreOS/diffutils/Regression/cmp-s-returns-1-even-if-files-are-identical
|
||||
Description: Test for cmp -s returns 1 even if files are identical
|
||||
Author: Jeffrey Bastian <jbastian@redhat.com>
|
||||
Bug summary: cmp -s returns 1 even if files are identical
|
||||
|
||||
Description:
|
||||
'cmp -s' can return 1 even if files are identical, for example, if comparing
|
||||
a file from /proc with a copy of that file in /tmp, since all files in
|
||||
/proc have a size of 0 bytes.
|
||||
17
tests/cmp-s-returns-1-even-if-files-are-identical/main.fmf
Normal file
17
tests/cmp-s-returns-1-even-if-files-are-identical/main.fmf
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
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
|
||||
50
tests/cmp-s-returns-1-even-if-files-are-identical/runtest.sh
Executable file
50
tests/cmp-s-returns-1-even-if-files-are-identical/runtest.sh
Executable file
|
|
@ -0,0 +1,50 @@
|
|||
#!/bin/bash
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# runtest.sh of /CoreOS/diffutils/Regression/cmp-s-returns-1-even-if-files-are-identical
|
||||
# Description: Test for cmp -s returns 1 even if files are identical
|
||||
# Author: Jeffrey Bastian <jbastian@redhat.com>
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# Copyright (c) 2010 Red Hat, Inc. All rights reserved.
|
||||
#
|
||||
# This copyrighted material is made available to anyone wishing
|
||||
# to use, modify, copy, or redistribute it subject to the terms
|
||||
# and conditions of the GNU General Public License version 2.
|
||||
#
|
||||
# This program is distributed in the hope that it will be
|
||||
# useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
# PURPOSE. See the GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public
|
||||
# License along with this program; if not, write to the Free
|
||||
# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
# Boston, MA 02110-1301, USA.
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
# Include rhts environment
|
||||
. /usr/share/beakerlib/beakerlib.sh || exit 1
|
||||
|
||||
PACKAGE="diffutils"
|
||||
#set -x
|
||||
|
||||
rlJournalStart
|
||||
rlPhaseStartSetup
|
||||
rlAssertRpm $PACKAGE
|
||||
rlRun "TmpDir=\`mktemp -d\`" 0 "Creating tmp directory"
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStartTest
|
||||
rlAssertExists $TmpDir
|
||||
rlRun "cp /proc/version $TmpDir" 0 "Copy /proc/version to tmp directory"
|
||||
rlRun "cmp -s /proc/version $TmpDir/version" 0 "Compare /proc/version to tmp copy"
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStartCleanup
|
||||
rlRun "rm -fr $TmpDir" 0 "Removing tmp directory"
|
||||
rlPhaseEnd
|
||||
rlJournalEnd
|
||||
rlJournalPrintText
|
||||
64
tests/diff-Z-hangs/Makefile
Normal file
64
tests/diff-Z-hangs/Makefile
Normal file
|
|
@ -0,0 +1,64 @@
|
|||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# Makefile of /CoreOS/diffutils/Regression/diff-Z-hangs
|
||||
# Description: Test for diffutils to check if comparing two files using diff -Z with mixed line endings doesn't hang
|
||||
# Author: Filip Holec <fholec@redhat.com>
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# Copyright (c) 2014 Red Hat, Inc. All rights reserved.
|
||||
#
|
||||
# This copyrighted material is made available to anyone wishing
|
||||
# to use, modify, copy, or redistribute it subject to the terms
|
||||
# and conditions of the GNU General Public License version 2.
|
||||
#
|
||||
# This program is distributed in the hope that it will be
|
||||
# useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
# PURPOSE. See the GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public
|
||||
# License along with this program; if not, write to the Free
|
||||
# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
# Boston, MA 02110-1301, USA.
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
export TEST=/CoreOS/diffutils/Regression/diff-Z-hangs
|
||||
export TESTVERSION=1.0
|
||||
|
||||
BUILT_FILES=
|
||||
|
||||
FILES=$(METADATA) runtest.sh Makefile PURPOSE
|
||||
|
||||
.PHONY: all install download clean
|
||||
|
||||
run: $(FILES) build
|
||||
./runtest.sh
|
||||
|
||||
build: $(BUILT_FILES)
|
||||
test -x runtest.sh || chmod a+x runtest.sh
|
||||
|
||||
clean:
|
||||
rm -f *~ $(BUILT_FILES)
|
||||
|
||||
|
||||
include /usr/share/rhts/lib/rhts-make.include
|
||||
|
||||
$(METADATA): Makefile
|
||||
@echo "Owner: Filip Holec <fholec@redhat.com>" > $(METADATA)
|
||||
@echo "Name: $(TEST)" >> $(METADATA)
|
||||
@echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
|
||||
@echo "Path: $(TEST_DIR)" >> $(METADATA)
|
||||
@echo "Description: Test for diffutils to check if comparing two files using diff -Z with mixed line endings doesn't hang" >> $(METADATA)
|
||||
@echo "Type: Regression" >> $(METADATA)
|
||||
@echo "TestTime: 5m" >> $(METADATA)
|
||||
@echo "RunFor: diffutils" >> $(METADATA)
|
||||
@echo "Requires: diffutils" >> $(METADATA)
|
||||
@echo "Priority: Normal" >> $(METADATA)
|
||||
@echo "License: GPLv2" >> $(METADATA)
|
||||
@echo "Confidential: no" >> $(METADATA)
|
||||
@echo "Destructive: no" >> $(METADATA)
|
||||
@echo "Releases: RHEL7" >> $(METADATA)
|
||||
|
||||
rhts-lint $(METADATA)
|
||||
4
tests/diff-Z-hangs/PURPOSE
Normal file
4
tests/diff-Z-hangs/PURPOSE
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
PURPOSE of /CoreOS/diffutils/Regression/diff-Z-hangs
|
||||
Description: Test for diffutils to check if comparing two files using diff -Z with mixed line endings doesn't hang
|
||||
Author: Filip Holec <fholec@redhat.com>
|
||||
Bug summary: diff -Z hangs
|
||||
13
tests/diff-Z-hangs/main.fmf
Normal file
13
tests/diff-Z-hangs/main.fmf
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
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
|
||||
55
tests/diff-Z-hangs/runtest.sh
Executable file
55
tests/diff-Z-hangs/runtest.sh
Executable file
|
|
@ -0,0 +1,55 @@
|
|||
#!/bin/bash
|
||||
# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# runtest.sh of /CoreOS/diffutils/Regression/diff-Z-hangs
|
||||
# Description: Test for diffutils to check if comparing two files using diff -Z with mixed line endings doesn't hang
|
||||
# Author: Filip Holec <fholec@redhat.com>
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# Copyright (c) 2014 Red Hat, Inc. All rights reserved.
|
||||
#
|
||||
# This copyrighted material is made available to anyone wishing
|
||||
# to use, modify, copy, or redistribute it subject to the terms
|
||||
# and conditions of the GNU General Public License version 2.
|
||||
#
|
||||
# This program is distributed in the hope that it will be
|
||||
# useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
# PURPOSE. See the GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public
|
||||
# License along with this program; if not, write to the Free
|
||||
# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
# Boston, MA 02110-1301, USA.
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
# Include Beaker environment
|
||||
. /usr/share/beakerlib/beakerlib.sh
|
||||
|
||||
PACKAGE="diffutils"
|
||||
|
||||
rlJournalStart
|
||||
rlPhaseStartSetup
|
||||
rlAssertRpm $PACKAGE
|
||||
rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory"
|
||||
rlRun "pushd $TmpDir"
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStartTest
|
||||
rlRun "diff -Z <(printf 'a\nb\n') <(printf 'a\nb\n'); echo $?" \
|
||||
0 "First simple test"
|
||||
rlRun "timeout 10s diff -Z <(printf 'a\r\nb\n') <(printf 'a\nb\r\n')" \
|
||||
0 "Main test, should not timeout (124)"
|
||||
rlRun "timeout 10s diff -Z <(echo 'a') <(echo -n 'a')" \
|
||||
0 "Second test, should not timeout (124)"
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStartCleanup
|
||||
rlRun "popd"
|
||||
rlRun "rm -r $TmpDir" 0 "Removing tmp directory"
|
||||
rlPhaseEnd
|
||||
rlJournalPrintText
|
||||
rlJournalEnd
|
||||
61
tests/diff-hang-long-files/Makefile
Normal file
61
tests/diff-hang-long-files/Makefile
Normal file
|
|
@ -0,0 +1,61 @@
|
|||
# Makefile - diff-hang-long-files
|
||||
# Author: Michal Fabry <mfabry@redhat.com>
|
||||
# Location: /CoreOS/diffutils/Regression/diff-hang-long-files/Makefile
|
||||
|
||||
# Description: Diff appears to hang in long file
|
||||
|
||||
# Copyright (c) 2009 Red Hat, Inc. All rights reserved. This copyrighted material
|
||||
# is made available to anyone wishing to use, modify, copy, or
|
||||
# redistribute it subject to the terms and conditions of the GNU General
|
||||
# Public License v.2.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
# PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
|
||||
|
||||
|
||||
TOPLEVEL_NAMESPACE=/CoreOS
|
||||
PACKAGE_NAME=diffutils
|
||||
RELATIVE_PATH=Regression/diff-hang-long-files
|
||||
|
||||
export TEST=$(TOPLEVEL_NAMESPACE)/$(PACKAGE_NAME)/$(RELATIVE_PATH)
|
||||
export TESTVERSION=1.0
|
||||
|
||||
BUILT_FILES=
|
||||
|
||||
FILES=$(METADATA) runtest.sh Makefile
|
||||
|
||||
.PHONY: all install download clean
|
||||
|
||||
run: $(FILES) build
|
||||
./runtest.sh
|
||||
|
||||
build: $(BUILT_FILES)
|
||||
chmod a+x ./runtest.sh
|
||||
|
||||
clean:
|
||||
rm -f *~ $(BUILT_FILES)
|
||||
|
||||
|
||||
include /usr/share/rhts/lib/rhts-make.include
|
||||
|
||||
|
||||
$(METADATA): Makefile
|
||||
@touch $(METADATA)
|
||||
@echo "Owner: Michal Fabry <mfabry@redhat.com>" > $(METADATA)
|
||||
@echo "Name: $(TEST)" >> $(METADATA)
|
||||
@echo "Path: $(TEST_DIR)" >> $(METADATA)
|
||||
@echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
|
||||
@echo "Description: Diff appears to hang in long file" >> $(METADATA)
|
||||
@echo "Type: Regression" >> $(METADATA)
|
||||
@echo "TestTime: 5m" >> $(METADATA)
|
||||
@echo "RunFor: $(PACKAGE_NAME)" >> $(METADATA)
|
||||
@echo "Requires: $(PACKAGE_NAME) words time" >> $(METADATA)
|
||||
@echo "License: GPLv2" >> $(METADATA)
|
||||
|
||||
rhts-lint $(METADATA)
|
||||
10
tests/diff-hang-long-files/PURPOSE
Normal file
10
tests/diff-hang-long-files/PURPOSE
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
Test Name: diff-hang-long-files
|
||||
Author: Michal Fabry <mfabry@redhat.com>
|
||||
Location: /CoreOS/diffutils/Regression/diff-hang-long-files
|
||||
|
||||
Short Description: Diff appears to hang in long file
|
||||
|
||||
|
||||
Long Description:
|
||||
|
||||
Running 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.
|
||||
20
tests/diff-hang-long-files/main.fmf
Normal file
20
tests/diff-hang-long-files/main.fmf
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
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
|
||||
78
tests/diff-hang-long-files/runtest.sh
Executable file
78
tests/diff-hang-long-files/runtest.sh
Executable file
|
|
@ -0,0 +1,78 @@
|
|||
#!/bin/bash
|
||||
# Author: Michal Fabry <mfabry@redhat.com>
|
||||
|
||||
# Copyright (c) 2009 Red Hat, Inc. All rights reserved. This copyrighted material
|
||||
# is made available to anyone wishing to use, modify, copy, or
|
||||
# redistribute it subject to the terms and conditions of the GNU General
|
||||
# Public License v.2.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
# PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
|
||||
# Include Beaker environment
|
||||
. /usr/share/beakerlib/beakerlib.sh || exit 1
|
||||
|
||||
|
||||
rlJournalStart
|
||||
|
||||
# ===================================================================
|
||||
# Setup - ABORT if some assert fails
|
||||
# ===================================================================
|
||||
rlPhaseStartSetup Setup
|
||||
|
||||
set -o pipefail
|
||||
|
||||
function count_lines() {
|
||||
[ ! -r "$1" ] && return 1
|
||||
wc -l "$1" | sed "s/^\s*\([0-9]\+\)\s\+.*$/\1/"
|
||||
}
|
||||
|
||||
rlPhaseEnd
|
||||
|
||||
|
||||
# ===================================================================
|
||||
# Start the test
|
||||
# ===================================================================
|
||||
# -------------------------------------------------------------------
|
||||
# Create connection
|
||||
rlPhaseStartTest "Create big file"
|
||||
# -------------------------------------------------------------------
|
||||
|
||||
log=$( mktemp /tmp/log.XXXXXX )
|
||||
|
||||
rlRun "tr -d \"'\" <words | xargs echo >long-line" 0 "Create big file part 1"
|
||||
rlRun "for a in \$(seq 30); do cat long-line; done >long-lines" 0 "Create big file part 2"
|
||||
rlAssertExists 'long-lines'
|
||||
|
||||
# -------------------------------------------------------------------
|
||||
# Test /usr/sbin/ss output
|
||||
rlPhaseEnd; rlPhaseStartTest "Test diff"
|
||||
# -------------------------------------------------------------------
|
||||
|
||||
log2=$( mktemp /tmp/log.XXXXXX )
|
||||
now=$(date '+%s')
|
||||
rlRun "diff -bBw long-lines <(sed -e 's/ / /' long-lines) >/dev/null"
|
||||
rlAssertGreater "Less than 150 seconds" 150 `expr $now - $(date '+%s')`
|
||||
|
||||
rlPhaseEnd
|
||||
|
||||
|
||||
|
||||
# ===================================================================
|
||||
# Start the cleanup
|
||||
# ===================================================================
|
||||
rlPhaseStartCleanup Cleanup
|
||||
|
||||
rm -f $log $log2 long-line long-lines
|
||||
rlAssert0 "Remove the log" $?
|
||||
|
||||
rlPhaseEnd
|
||||
|
||||
#rlCreateLogFromJournal | tee $OUTPUTFILE
|
||||
rlJournalPrintText
|
||||
rlJournalEnd
|
||||
479828
tests/diff-hang-long-files/words
Normal file
479828
tests/diff-hang-long-files/words
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -0,0 +1,63 @@
|
|||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# Makefile of /CoreOS/diffutils/Regression/diff-w-b-doesn-t-treat-U3000-IDEOGRAPHIC-SPACE-as-space
|
||||
# Description: Test for diffutils to ensure U3000 ideographic space is treated as space when used -b or -w options
|
||||
# Author: Filip Holec <fholec@redhat.com>
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# Copyright (c) 2013 Red Hat, Inc. All rights reserved.
|
||||
#
|
||||
# This copyrighted material is made available to anyone wishing
|
||||
# to use, modify, copy, or redistribute it subject to the terms
|
||||
# and conditions of the GNU General Public License version 2.
|
||||
#
|
||||
# This program is distributed in the hope that it will be
|
||||
# useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
# PURPOSE. See the GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public
|
||||
# License along with this program; if not, write to the Free
|
||||
# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
# Boston, MA 02110-1301, USA.
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
export TEST=/CoreOS/diffutils/Regression/diff-w-b-doesn-t-treat-U3000-IDEOGRAPHIC-SPACE-as-space
|
||||
export TESTVERSION=1.0
|
||||
|
||||
BUILT_FILES=
|
||||
|
||||
FILES=$(METADATA) runtest.sh Makefile PURPOSE a b
|
||||
|
||||
.PHONY: all install download clean
|
||||
|
||||
run: $(FILES) build
|
||||
./runtest.sh
|
||||
|
||||
build: $(BUILT_FILES)
|
||||
test -x runtest.sh || chmod a+x runtest.sh
|
||||
|
||||
clean:
|
||||
rm -f *~ $(BUILT_FILES)
|
||||
|
||||
|
||||
include /usr/share/rhts/lib/rhts-make.include
|
||||
|
||||
$(METADATA): Makefile
|
||||
@echo "Owner: Filip Holec <fholec@redhat.com>" > $(METADATA)
|
||||
@echo "Name: $(TEST)" >> $(METADATA)
|
||||
@echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
|
||||
@echo "Path: $(TEST_DIR)" >> $(METADATA)
|
||||
@echo "Description: Test for diffutils to ensure U3000 ideographic space is treated as space when used -b or -w options" >> $(METADATA)
|
||||
@echo "Type: Regression" >> $(METADATA)
|
||||
@echo "TestTime: 5m" >> $(METADATA)
|
||||
@echo "RunFor: diffutils" >> $(METADATA)
|
||||
@echo "Requires: diffutils" >> $(METADATA)
|
||||
@echo "Priority: Normal" >> $(METADATA)
|
||||
@echo "License: GPLv2" >> $(METADATA)
|
||||
@echo "Confidential: no" >> $(METADATA)
|
||||
@echo "Destructive: no" >> $(METADATA)
|
||||
|
||||
rhts-lint $(METADATA)
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
PURPOSE of /CoreOS/diffutils/Regression/diff-w-b-doesn-t-treat-U3000-IDEOGRAPHIC-SPACE-as-space
|
||||
Description: Test for diffutils to ensure U3000 ideographic space is treated as space when used -b or -w options
|
||||
Author: Filip Holec <fholec@redhat.com>
|
||||
Bug summary: diff -w/-b doesn't treat U3000 (IDEOGRAPHIC SPACE) as space
|
||||
|
||||
Test for diffutils to ensure U3000 ideographic space is treated as space when used -b or -w options
|
||||
|
|
@ -0,0 +1 @@
|
|||
a b
|
||||
|
|
@ -0,0 +1 @@
|
|||
a b
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
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
|
||||
57
tests/diff-w-b-doesn-t-treat-U3000-IDEOGRAPHIC-SPACE-as-space/runtest.sh
Executable file
57
tests/diff-w-b-doesn-t-treat-U3000-IDEOGRAPHIC-SPACE-as-space/runtest.sh
Executable file
|
|
@ -0,0 +1,57 @@
|
|||
#!/bin/bash
|
||||
# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# runtest.sh of /CoreOS/diffutils/Regression/diff-w-b-doesn-t-treat-U3000-IDEOGRAPHIC-SPACE-as-space
|
||||
# Description: Test for diffutils to ensure U3000 ideographic space is treated as space when used -b or -w options
|
||||
# Author: Filip Holec <fholec@redhat.com>
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# Copyright (c) 2013 Red Hat, Inc. All rights reserved.
|
||||
#
|
||||
# This copyrighted material is made available to anyone wishing
|
||||
# to use, modify, copy, or redistribute it subject to the terms
|
||||
# and conditions of the GNU General Public License version 2.
|
||||
#
|
||||
# This program is distributed in the hope that it will be
|
||||
# useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
# PURPOSE. See the GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public
|
||||
# License along with this program; if not, write to the Free
|
||||
# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
# Boston, MA 02110-1301, USA.
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
# Include Beaker environment
|
||||
. /usr/share/beakerlib/beakerlib.sh
|
||||
|
||||
PACKAGE="diffutils"
|
||||
|
||||
# This test requires a non-C locale. Lets make it predictable
|
||||
export LC_ALL=en_US.utf8
|
||||
|
||||
rlJournalStart
|
||||
rlPhaseStartSetup
|
||||
rlAssertRpm $PACKAGE
|
||||
rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory"
|
||||
rlRun "cp a b $TmpDir" 0 "Copy files to $TmpDir"
|
||||
rlRun "pushd $TmpDir"
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStartTest
|
||||
rlRun "diff -w a b >out" 0 "diff with -w option"
|
||||
rlRun "[ ! -s out ]" 0 "Output should be empty"
|
||||
rlRun "diff -b a b >out" 0 "diff with -b option"
|
||||
rlRun "[ ! -s out ]" 0 "Output should be empty"
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStartCleanup
|
||||
rlRun "popd"
|
||||
rlRun "rm -r $TmpDir" 0 "Removing tmp directory"
|
||||
rlPhaseEnd
|
||||
rlJournalPrintText
|
||||
rlJournalEnd
|
||||
63
tests/sdiff-does-not-recognize-E-option/Makefile
Normal file
63
tests/sdiff-does-not-recognize-E-option/Makefile
Normal file
|
|
@ -0,0 +1,63 @@
|
|||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# Makefile of /CoreOS/diffutils/Regression/sdiff-does-not-recognize-E-option
|
||||
# Description: Test for sdiff does not recognize -E option
|
||||
# Author: Martin Kyral <mkyral@redhat.com>
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# Copyright (c) 2012 Red Hat, Inc. All rights reserved.
|
||||
#
|
||||
# This copyrighted material is made available to anyone wishing
|
||||
# to use, modify, copy, or redistribute it subject to the terms
|
||||
# and conditions of the GNU General Public License version 2.
|
||||
#
|
||||
# This program is distributed in the hope that it will be
|
||||
# useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
# PURPOSE. See the GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public
|
||||
# License along with this program; if not, write to the Free
|
||||
# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
# Boston, MA 02110-1301, USA.
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
export TEST=/CoreOS/diffutils/Regression/sdiff-does-not-recognize-E-option
|
||||
export TESTVERSION=1.0
|
||||
|
||||
BUILT_FILES=
|
||||
|
||||
FILES=$(METADATA) runtest.sh Makefile PURPOSE file1 file2
|
||||
|
||||
.PHONY: all install download clean
|
||||
|
||||
run: $(FILES) build
|
||||
./runtest.sh
|
||||
|
||||
build: $(BUILT_FILES)
|
||||
test -x runtest.sh || chmod a+x runtest.sh
|
||||
|
||||
clean:
|
||||
rm -f *~ $(BUILT_FILES)
|
||||
|
||||
|
||||
include /usr/share/rhts/lib/rhts-make.include
|
||||
|
||||
$(METADATA): Makefile
|
||||
@echo "Owner: Martin Kyral <mkyral@redhat.com>" > $(METADATA)
|
||||
@echo "Name: $(TEST)" >> $(METADATA)
|
||||
@echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
|
||||
@echo "Path: $(TEST_DIR)" >> $(METADATA)
|
||||
@echo "Description: Test for sdiff does not recognize -E option" >> $(METADATA)
|
||||
@echo "Type: Regression" >> $(METADATA)
|
||||
@echo "TestTime: 10m" >> $(METADATA)
|
||||
@echo "RunFor: diffutils" >> $(METADATA)
|
||||
@echo "Requires: diffutils" >> $(METADATA)
|
||||
@echo "Priority: Normal" >> $(METADATA)
|
||||
@echo "License: GPLv2" >> $(METADATA)
|
||||
@echo "Confidential: yes" >> $(METADATA)
|
||||
@echo "Destructive: no" >> $(METADATA)
|
||||
|
||||
rhts-lint $(METADATA)
|
||||
6
tests/sdiff-does-not-recognize-E-option/PURPOSE
Normal file
6
tests/sdiff-does-not-recognize-E-option/PURPOSE
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
PURPOSE of /CoreOS/diffutils/Regression/sdiff-does-not-recognize-E-option
|
||||
Description: Test for sdiff does not recognize -E option
|
||||
Author: Martin Kyral <mkyral@redhat.com>
|
||||
Bug summary: sdiff does not recognize -E option
|
||||
|
||||
The 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.
|
||||
2
tests/sdiff-does-not-recognize-E-option/file1
Normal file
2
tests/sdiff-does-not-recognize-E-option/file1
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
aaa
|
||||
bbb
|
||||
2
tests/sdiff-does-not-recognize-E-option/file2
Normal file
2
tests/sdiff-does-not-recognize-E-option/file2
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
aaa
|
||||
bbb
|
||||
14
tests/sdiff-does-not-recognize-E-option/main.fmf
Normal file
14
tests/sdiff-does-not-recognize-E-option/main.fmf
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
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
|
||||
51
tests/sdiff-does-not-recognize-E-option/runtest.sh
Executable file
51
tests/sdiff-does-not-recognize-E-option/runtest.sh
Executable file
|
|
@ -0,0 +1,51 @@
|
|||
#!/bin/bash
|
||||
# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# runtest.sh of /CoreOS/diffutils/Regression/sdiff-does-not-recognize-E-option
|
||||
# Description: Test for sdiff does not recognize -E option
|
||||
# Author: Martin Kyral <mkyral@redhat.com>
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# Copyright (c) 2012 Red Hat, Inc. All rights reserved.
|
||||
#
|
||||
# This copyrighted material is made available to anyone wishing
|
||||
# to use, modify, copy, or redistribute it subject to the terms
|
||||
# and conditions of the GNU General Public License version 2.
|
||||
#
|
||||
# This program is distributed in the hope that it will be
|
||||
# useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
# PURPOSE. See the GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public
|
||||
# License along with this program; if not, write to the Free
|
||||
# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
# Boston, MA 02110-1301, USA.
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
# Include Beaker environment
|
||||
. /usr/share/beakerlib/beakerlib.sh || exit 1
|
||||
|
||||
PACKAGE="diffutils"
|
||||
|
||||
rlJournalStart
|
||||
rlPhaseStartSetup
|
||||
rlAssertRpm $PACKAGE
|
||||
rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory"
|
||||
rlRun "cp file1 file2 $TmpDir"
|
||||
rlRun "pushd $TmpDir"
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStartTest
|
||||
rlRun "sdiff -E file1 file2"
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStartCleanup
|
||||
rlRun "popd"
|
||||
rlRun "rm -r $TmpDir" 0 "Removing tmp directory"
|
||||
rlPhaseEnd
|
||||
rlJournalPrintText
|
||||
rlJournalEnd
|
||||
85
tests/whitespace/Makefile
Normal file
85
tests/whitespace/Makefile
Normal file
|
|
@ -0,0 +1,85 @@
|
|||
# Copyright (c) 2006 Red Hat, Inc. All rights reserved. This copyrighted material
|
||||
# is made available to anyone wishing to use, modify, copy, or
|
||||
# redistribute it subject to the terms and conditions of the GNU General
|
||||
# Public License v.2.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
# PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
#
|
||||
# Author: bpeck@redhat.com
|
||||
|
||||
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
|
||||
# Example Makefile for RHTS #
|
||||
# This example is geared towards a test for a specific package #
|
||||
# It does most of the work for you, but may require further coding #
|
||||
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
|
||||
|
||||
# The toplevel namespace within which the test lives.
|
||||
# FIXME: You will need to change this:
|
||||
TOPLEVEL_NAMESPACE=CoreOS
|
||||
|
||||
# The name of the package under test:
|
||||
# FIXME: you wil need to change this:
|
||||
PACKAGE_NAME=diffutils
|
||||
|
||||
# The path of the test below the package:
|
||||
# FIXME: you wil need to change this:
|
||||
RELATIVE_PATH=whitespace
|
||||
|
||||
# Version of the Test. Used with make tag.
|
||||
export TESTVERSION=1.1
|
||||
|
||||
# The combined namespace of the test.
|
||||
export TEST=/$(TOPLEVEL_NAMESPACE)/$(PACKAGE_NAME)/$(RELATIVE_PATH)
|
||||
|
||||
|
||||
# A phony target is one that is not really the name of a file.
|
||||
# It is just a name for some commands to be executed when you
|
||||
# make an explicit request. There are two reasons to use a
|
||||
# phony target: to avoid a conflict with a file of the same
|
||||
# name, and to improve performance.
|
||||
.PHONY: all install download clean
|
||||
|
||||
# executables to be built should be added here, they will be generated on the system under test.
|
||||
BUILT_FILES=
|
||||
|
||||
# data files, .c files, scripts anything needed to either compile the test and/or run it.
|
||||
FILES=$(METADATA) runtest.sh Makefile PURPOSE file1 file2
|
||||
|
||||
run: $(FILES) build
|
||||
./runtest.sh
|
||||
|
||||
build: $(BUILT_FILES)
|
||||
chmod a+x ./runtest.sh
|
||||
|
||||
clean:
|
||||
rm -f *~ *.rpm $(BUILT_FILES)
|
||||
|
||||
# You may need to add other targets e.g. to build executables from source code
|
||||
# Add them here:
|
||||
|
||||
|
||||
# Include Common Makefile
|
||||
include /usr/share/rhts/lib/rhts-make.include
|
||||
|
||||
# Generate the testinfo.desc here:
|
||||
$(METADATA): Makefile
|
||||
@touch $(METADATA)
|
||||
# Change to the test owner's name
|
||||
@echo "Owner: Bill Peck <bpeck@redhat.com>" > $(METADATA)
|
||||
@echo "Name: $(TEST)" >> $(METADATA)
|
||||
@echo "Path: $(TEST_DIR)" >> $(METADATA)
|
||||
@echo "License: GPL V2" >> $(METADATA)
|
||||
@echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
|
||||
@echo "Description: diff -b should ignore whitespace ">> $(METADATA)
|
||||
@echo "TestTime: 5m" >> $(METADATA)
|
||||
@echo "RunFor: $(PACKAGE_NAME)" >> $(METADATA)
|
||||
@echo "Requires: $(PACKAGE_NAME)" >> $(METADATA)
|
||||
|
||||
# You may need other fields here; see the documentation
|
||||
rhts-lint $(METADATA)
|
||||
10
tests/whitespace/PURPOSE
Normal file
10
tests/whitespace/PURPOSE
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
Create 2 files, f1, f2 with contents "abc" and "abc " (without quotes),
|
||||
i.e. the same line with a space on the end.
|
||||
|
||||
Diff ignoring whitespace:
|
||||
|
||||
diff -b f1 f2
|
||||
|
||||
should produce no diff output, but does on F8. Works fine on FC6.
|
||||
|
||||
version: diffutils-2.8.1-17.fc8
|
||||
1
tests/whitespace/file1
Normal file
1
tests/whitespace/file1
Normal file
|
|
@ -0,0 +1 @@
|
|||
abc
|
||||
1
tests/whitespace/file2
Normal file
1
tests/whitespace/file2
Normal file
|
|
@ -0,0 +1 @@
|
|||
abc
|
||||
15
tests/whitespace/main.fmf
Normal file
15
tests/whitespace/main.fmf
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
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
|
||||
36
tests/whitespace/runtest.sh
Executable file
36
tests/whitespace/runtest.sh
Executable file
|
|
@ -0,0 +1,36 @@
|
|||
#!/bin/sh
|
||||
|
||||
# Copyright (c) 2006 Red Hat, Inc. All rights reserved. This copyrighted material
|
||||
# is made available to anyone wishing to use, modify, copy, or
|
||||
# redistribute it subject to the terms and conditions of the GNU General
|
||||
# Public License v.2.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
# PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
#
|
||||
# Author: Bill Peck
|
||||
|
||||
. /usr/share/beakerlib/beakerlib.sh || exit 1
|
||||
|
||||
PACKAGE="diffutils"
|
||||
|
||||
rlJournalStart
|
||||
rlPhaseStartSetup
|
||||
rlAssertRpm $PACKAGE
|
||||
rlRun "TmpDir=\`mktemp -d\`" 0 "Creating tmp directory"
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStartTest
|
||||
rlRun "diff -b file1 file2"
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStartCleanup
|
||||
rlRun "rm -fr $TmpDir" 0 "Removing tmp directory"
|
||||
rlPhaseEnd
|
||||
rlJournalEnd
|
||||
rlJournalPrintText
|
||||
371
upstream-key.gpg
Normal file
371
upstream-key.gpg
Normal file
|
|
@ -0,0 +1,371 @@
|
|||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
Version: GnuPG v1.4.11 (GNU/Linux)
|
||||
|
||||
mQINBEwWvdkBEACyOXTiLBZ5MFNM6jmm83ui3MqW0/eD8TcAI4gt0gwOvd/jXerI
|
||||
ros8dRVook7FBoNiFSiJSMVOiNPUMfv5h5wZm0bje33qTJPL7IanSKXtk/I7Za1G
|
||||
EJfEnfgZI/d4EIV8wrl0WI1lPEteTgRJbo76zfLIUOHpynVC2Wm5gALJ4oeJIS0A
|
||||
hYSzbFmHD9dFI7m3sO/HmbhxTiMISy0FbmoqE/cpo8ZX6eahND2UrS2oGNC0Ok8/
|
||||
nN8XLPPsikx35FKx6bDTfoAK/svx6PK1sSPfAdoZFZ5Jy6Ti4zubebUD+5I8+bOn
|
||||
6R9I7P0HerCTqMBLnf9LJHTPhTk8fHEwlAeH+WfpEmN9/4YORb84WY97tFbVK4f/
|
||||
icEjnYBc0Ozl4qMGI1g/1R5Q9Z8qxLGsW9tNWyIfAf+2BhLA08RfA0wxmEf2Gnfp
|
||||
J379s5c0U8xLZegOGRF1tOAEIC+5wRKFN/qU9zpLbUZIGrB+ysVeTlDuCDnTnyUe
|
||||
WBQeRnfItl4taEN0/axNGB/NuHvxShyzxez/flbyqKwsxc35/a2OCbwmADeUh+ct
|
||||
sYUGZya/GuXfejWbCuaqZLLkP6Ed9k4+LY+ww6jA7uNPRXpCYoXFo2WN9OaIqfb/
|
||||
RDk6zW708qbxvcWKe6j9f8R0lPMYdtUzZhyxZxeZ0/2BdDyXAj1Wvnw1UwARAQAB
|
||||
tB9KaW0gTWV5ZXJpbmcgPGppbUBtZXllcmluZy5uZXQ+iEUEEBECAAYFAkwiDagA
|
||||
CgkQDdyqMnjVJk6YVQCeOq5SMJuPrc81HvHOwX1D97LKZPcAl10n035+CppYktyX
|
||||
Sg1YU7GR5JCIRgQQEQIABgUCTBfqUQAKCRDaKMI6ef9EdMKzAJ9KpdKa/uvIMDUw
|
||||
ywcRyNMKuQh38QCgxVuvMWapOoBxn1ks0gbsZSg66AGIRgQQEQIABgUCTB9wggAK
|
||||
CRBUFGa+sS3Bm4VfAJ9e5QCa8gO799TkKBsL4Fk0Wceg4QCfSD7A23oY1NUS4OuI
|
||||
1h5Z6Dxy+4qIRgQQEQIABgUCTCIShAAKCRA4WcA7LiNuRw2OAJ4zaoNDGtst6ejq
|
||||
nrzPLXgPGtl4RQCfWh1KMUhZMB74xJT5BSs1nvI2n/iIRgQQEQIABgUCTDNAVAAK
|
||||
CRDx0szISXoXbaJKAKCUFvUr+lht0gpFtwPPdxNcA0MqXQCggRBUh8ZzrLBKmEbW
|
||||
875Gv4FkGACIRgQQEQIABgUCTDNBLgAKCRB33ZXi6lLs9CePAJ9Bvi3UKE+/xv/i
|
||||
CgeqQME1WajLQACfa1EhJ5R3HGcEVCx0joMpo7fPvHeIRgQQEQIABgUCTDT9mwAK
|
||||
CRA2bPCfLlFK/LeZAJ98RWITzmvm85hwmMWW89RRje2apQCeOe0HboBlK50YlX1G
|
||||
dbJHVG4q5ryIRgQQEQIABgUCTDXVZwAKCRByWV6xgXBLk9wiAKDZNrO+mzhily+w
|
||||
X3Z70JX/8ZkY3QCgzEscgnthhGJtq00TwiP1KP3+tCKIRgQQEQIABgUCTDZtxAAK
|
||||
CRAQVTXHvBwuYJwhAJ45efkT/7Ca+rBFfsXp2qoQO8dRvQCfWklbviJULmKHJeir
|
||||
fmRCI0+Z5hqIRgQQEQIABgUCTDoNfwAKCRAotfTdlI9kbLDZAJ9vQWDAcJpRdEoC
|
||||
LWzVeqkg7f7+4ACeJ39XXUmpWZMuJAj+c0Pp+Or+jcuIRgQQEQIABgUCTDtSaAAK
|
||||
CRCd+ZvaEWkRMLZZAJ0dJLva2Dl5ZpGe3V94waJ5qCe1UwCghgVtQLJkRgIt8Qxp
|
||||
CL/nPqiHNzyIRgQQEQIABgUCTD2LfgAKCRBewqd/NuzFIydXAJ92eQ2HMJtrM5uc
|
||||
UfCPbyB/pTD4vQCZAQgdM9e6pGs5PBoJODFtWsI+B7mIRgQQEQgABgUCTBd0twAK
|
||||
CRD90t6s0zPLodImAKChUgRycJK8ncpdkuIoXkLggwoHTACgrKOq5MOS0P8HNqjR
|
||||
hhtxZy29miKIRgQQEQgABgUCTBptuAAKCRALtRSl0G7Wn3gRAKCrqgwtoE8GSlNI
|
||||
Z2Xt/20fgUsV7gCggdy9XtoeocAPRvImENxEFzeL1+SIRgQQEQoABgUCTD8k1AAK
|
||||
CRAOp1a1FEhD9WLsAJ0cYywysXaO5mMT85o4rDdfV9Hv0ACgp2tN8vchNEyLSwzW
|
||||
JUwzTIilnSaIRgQSEQIABgUCTDxTTAAKCRDqBTDmFb6fpVG2AJ9k3ImsKNO/NfLu
|
||||
9qHOJWxn+Yk6EQCeK7EQV8i4Cya6IRvC1ccb97Vj5lOIRgQSEQIABgUCTDxVkQAK
|
||||
CRDqBTDmFb6fpWubAKCupuFFbUSdpGnVHjuHNJJiorjqhwCcDsxLlJFp2TCYa//1
|
||||
SieGZ/Ih1m+IRgQTEQIABgUCTDT/JgAKCRA2bPCfLlFK/J3zAJ9lh6gHCB5oqaB7
|
||||
C1T2O2LLegWI/ACgoj5GZO9QJsTy0BrvemhH5f9yjv6IRgQTEQIABgUCTDYHcgAK
|
||||
CRB5VZ9ngTXbGp4EAKDB121f4YLyw2j18VhIpq8mdirA0ACgt0j/nZtTH6icSZXD
|
||||
hBzt86WYwjeIXgQREQgABgUCTDdP9wAKCRD31cm/dlxh42WyAQCCdy/JZhkoAuyC
|
||||
4aOAuBRx1EZIh3I3ZWFTJY5HtVyJ2QEAkpdKbk0zD41EeLRuYQ+SleGkf3udWHAw
|
||||
30YNIE+XBjyIXgQREQoABgUCTDUNvwAKCRA1qTt06C5CCTzmAP4nWa6Pdhv4qIcK
|
||||
aUMB973zXZJ+P1TWFLABp3LARgvIPQD+NiNoHoBRo932v470wXw89CCNhqvpDfig
|
||||
9hwS/8LRg0CJARwEEAEIAAYFAkwX7uAACgkQp6FrSiUnQ2qfDQf9FQIy4ooXEzzm
|
||||
veh0Ap0euWzWJRMEvrodZxazOy4TqfXEojQPQbpBU1i3RLERJg2PAfq2RWpj00ia
|
||||
UshAIDRLcGfgL/NR45rbryEE7e1wEiiImQ7dhIKQF4ntn6FDia91X+EAaQkobG4N
|
||||
ug0wq7o+CImD6+5KM526eABYa5Ca1KuY8h6X8gGHmQxkwccUxop2nGYiBEhOWC9f
|
||||
MmfenOH2EatecrD3EDB8+/IvlRBETu7ARIjr90kwD3HlcYTA5hPKGDe1QxGeFOUd
|
||||
IgDM/ClmSvEzMpU45XI7wwQiEeqC6plgGWeAne39qZxDOQWig1T5g4fUCo7T4lRJ
|
||||
kioLmxpUIYkCHAQQAQIABgUCTDYj1wAKCRB2tTSy6ZAH4Gr8EACvM0xiNLjEezzS
|
||||
DoaZWghCEZiK1d/YTk7/zor8oFSPYyxVFM+g9WVUd7gL36azmijr158D7tsoqWaM
|
||||
CHeYehJ5LghMCPd+q1zWF4lAwD6NqBIG0hc8xnQ2LkdnIRBQdEv31sKueKfaP1zP
|
||||
u+MI/3BZubAsSD8Hq3B4pOBWODhJVKvpR/K66IcbPNWchhXUzwj9prGgcX6HTz90
|
||||
FKbqDlRRJPn70MrnObJYyHRWkrYSyAN7yaiX8RNAs/g/XlNGYUbL4VT65G/PcoqM
|
||||
KlReGiqrAfRATPLjICWCXFsIuW4SnbvtuTFx9bE72K6YuSmq1V/gDTYyJ+WGWWa7
|
||||
Bo8wnDfu4UAsKRO6i5NWWBGEmSwm9lsm7InYOne+LXiNlsnzTLkgqzAPl7DHuX+l
|
||||
wbp40qQHbRVRuNGwxbHZZ8DJ6IkO/0yYQJFGmBNkYSXnG5rnBNvZs5wfGllF4y3E
|
||||
xUWUygh2P4ha3IXlEjHBy6gk5nmzTjDXbMLFUvgapvMKEy2ARlBLwbeXwGWs3jwQ
|
||||
BfNBqP7BLU73uVoHB6hMqD9MmfR2onRqzOOoCJdeXJqx2Am/5FTWozcxdgdIKqEG
|
||||
OUmfD8jwLsKb0SALWdWEMCj2/uT3eadZNo+T14KiT59jVRqR1uois61jeS0GaEfX
|
||||
Na5voq0aTNiAp+Ohv4Y3waO4P2X7dIkCHAQQAQIABgUCTDdpgQAKCRDvgfcsKanW
|
||||
723WEACWbHdKZUEKMRnG7Af9OOIL4gf971SWP57IfPAodgl/VvfW2jQ9LV+HbMej
|
||||
TNdW5nYdGd3iy3yi3J+cd4L9eJcgjwOzitz2dbSb7BzAzaHD4ge0CtdnY2jeLOXA
|
||||
2VdczI9XbUhXSrcFYsOSj9j1UGW9UTMBNKyMvaaMB+VNFk8DQfHk5bcWg6wkag8D
|
||||
Y1mYIff844XiLNAZ6ohiYVYuMcVXijU0HDL/74q1DJwiMBMDIrWTDxiib1YpN/jv
|
||||
/NJDxaUUVMK1LIjJmykFvj7Y4MZpPGgJ7F2YD8ZFRWQPcZQKqXunVNVVVDkq5bWo
|
||||
ST+XSMInPiI3euaLm0srUOh8XTBocS8/fNZFmPD0DIC9kiZomrp1xa/3W9jbSERH
|
||||
Hfjju2odJjWz/DGm2P0gszlix1aibRhK+PnrSGR3Ql3VH0JEZw9UK0joxiODSQKH
|
||||
5paq0XBDJBisUR3MSP8oEUjbdmPuYE/oMmfJMGLWPbJK/7BBeL3dD2rv9hxSnoTS
|
||||
EImCoGCFOMZC0HG4iY75doo627XUbTaoL4nuUiRF/5fK/3oiTS/rBhGQOBSrKDUp
|
||||
Z6iuQKImIwhNGvttaiORTtmQkBzEvoHz6IvniL/SJh7SAEhrVFAR7HztEr3ODNIg
|
||||
RWn3F9hGeAEuev6BSKfkUhu6AFmm0ZU5fvBZMlUjpbxhd6BORokCHAQQAQIABgUC
|
||||
TD2XbgAKCRDsbnDffAimYoqPD/0UV4K/9ENdyc084RcDZ4OoUWfbwfNKUmOoNm6c
|
||||
FUr0m+lR+NL1STRCACTblTuBRdGILYvAAOk/QSjJchtV+VwgJrnmcxJawVZqieb9
|
||||
6cIr70rLblLhU3ONoAe7HvLhNkfJr8TFWzOw8oEOFIMCiIOjkbzeTmaXcf0q6s3n
|
||||
CVXnhNUz1VrTP2en5puzxTfjVmAF20hVOICsuVgFnVwO2DOAkel50eA3/19Lc0P4
|
||||
TYuOp5qllcl65y8yPSsX+DPJC9k5Wf3JuN6aXF1seo7soqXfabF8njqnpo0uZUNZ
|
||||
M+HTfOr1gAaLiKYtDzdOsEsrfX0/JmJP44e7tqor+tP8etuYqfzIS9m78wfJv+RG
|
||||
9lR4kOhhIGbf+MxjznmVX4Wf2yf8GEK/hxo0Td90OXlWQUR9JBZb9k2vcb26T5A9
|
||||
RMs0rSbxJKj2NRJW9nTHAnhZgENXv4nO/wnWISVVjdcQIZJzJCNZzves/Tbw98GF
|
||||
HQwMjiFHw2FET7J+ImFVnI/ooDApWsytdqqiXlhL4qzA3OvFDvHOpaqikf0XouwX
|
||||
834CN/8OukVByOWra0xlItjYePvCqocKNVtBRdDVIkPqf3FKKbPWRJPgY800Jt9h
|
||||
Rk3BNSjBu0TZUBCkIlL+X2KI/M0x/yIHnCKCrtwPA4zeCSav3KSUMA+bAEI1B9ym
|
||||
Cm3rPYkCHAQQAQgABgUCTGIaDAAKCRDlYr2UvwNEXjA+EAC9lh2HPZViXSWbiPKz
|
||||
0rKIvM9y+FwXhvKNC96RdmykXW70U7L6pRY/pLQJGdKmiYjUKFhaYYjlP34oTl+k
|
||||
cnjC8KnRDGs20kybNw6cX3vrwBkf4aBiKFLK7wteTOkSdZnJWjAg4ix0Q/Zsv2xX
|
||||
IVKZswLMe4s+zZUZfYmrwXIXJmpoQY/ikAlJKtyJiHAroolsagKRuYEDdwDFZIrm
|
||||
XOB3AaFg3U7tXinBDNigIVcM8kzhhLoPOT1WERfKpurwQc7vWXcOjbR6/fZcIdXW
|
||||
+6Or66lPIrd6CrmKehE6KCld9V2WphdKIeOyadCUxCfCIRKG2LRHQYPvi4a7E8bk
|
||||
paKeIAFg6P+XBojrSEqz/KlvJZofFfzdeY1L2jUxVRSOezDPAWGagq1vHjfNKYg7
|
||||
OwFLAUXpz2fQs8D3F/OXkZRsKkl2q36UX8yFHDi07ipT5Lyxn1eqGo00oZMeZ6p0
|
||||
r/DZzrnqBIcfH8AMTnkVUAMK/I6f2VdwhfVyhaUPMsldfG7YgsLFAZk2POcUgKx5
|
||||
fxSkCbuR8JuACKzS9VLRYpApI+sitMT+zoAaKEZYNRSWNvEvxGlmYklL/FpN8o/S
|
||||
jQoxg3yYMB6LGRiG2+yr6cOsoYbCdkYHfbMKC003YDQc0x7JwoJqtcWgA99k6mTo
|
||||
JuNjY3IuynvIH/WDu4ci1tp2GIkCHAQQAQoABgUCTD8k6QAKCRDTDezSWZMi/B84
|
||||
D/sHnY8Cz6vq5EMT8HwUX6/HKmCoMqX65UYFBKFxdbE7gdVOZs0qrJjHOEe+xVwZ
|
||||
b4qZQD97Wh2ReVzssKUZwibyXQDZWocN3p25A414VoyWS4tZ+l9ZGAP6ut6110o0
|
||||
O8K/dU9EgowupD89F3yTRwcGCN+u1gpI2Wwu88baJ8/f/2ZmKLI0SvHXQ3rQiAlM
|
||||
xmnKYD+KV451to5SmZ0E2QilDlNTfVYFUH6ITkbmzLCzb+6NOiQAsjMejY4Pp2hm
|
||||
Pbpf1hLPvn13vaYsnyVFU3oay5MI0IC0Sjna6y8A5HUPc0jwVyTNPB/Ljf3ezO1A
|
||||
wOmQc96tQL/oGJvMwslDq8pcp9eJu9b7MwRaIUz9FbAeEyqyg7EC5i4WX+1h26tV
|
||||
sNBEVMEcXhOUXfRa1TPyRzNZ9a4aZwRx12Ho7LyyOZ0UiJOVcvzhyQO2fY+3Y/2r
|
||||
FVNZOAPdO90kOQjEXFmHD7JZsImDUcczu4mY+M0unn0xjALbUZFhm6SlRgVo3t5z
|
||||
mym9ByiYnjB9NNRfSFH/bZQGuszITVISrSFRfgHasxGyxcFdGlDew5536FJWXP17
|
||||
u2Q3bQmzGnozK8h9Yme2dnsn30f3Bcaxo4Hjom/4gGciye8gzDwlS6LkM1B/eLBR
|
||||
BSp3EdVAFsTKntRxfv53X4d3hjlWKBqd1vQ4+XY5mKK5+4kCHAQTAQIABgUCTDTs
|
||||
7gAKCRC825W3CqO/Dp39D/94iYs359d7O2IAavBfSvqg8XuRW3RMAsKTaleRGVso
|
||||
6OVeLdG/J+M4dgO72lCMyXCAOW0aqFvTdL5LNxRqjt4t5i5C+FujQVYOafkrLHDn
|
||||
KPwBBSt3pGYqh35lYPCXNzHzz4zXhkm9sPtJBmNxSsh8zDF9c63psovVjSxbf+qW
|
||||
7oCYzcJOvyDvyq8AhYvXd9Rn0Z8mMrQy32TogfqnB0m6K8dXoppiOIIN1X9lQT01
|
||||
eZ/0Myvj0FyqSQalfwbkjY74nvu6IgTrPpvt4NLfkEYXu7L4j0M6q808UnskFAim
|
||||
DSklQMg4E89RMaKKVxczwu01it49CUuB/sB5h/JFXUybMHEO7ypacSEKKaaLP2HC
|
||||
+IXq8yVScb4cYLK27S09vzIEaAHCFuOJ5Ip5yKjdpIMXB5vLVsqAakV9uK7191ly
|
||||
i2bCUN1d3Xw/wfmsnRjc/eOdpvJP1vZiL2++Ou6yKTDqEtXJlr47PMkU+39LtMzq
|
||||
hfLXDa4cEP9jR6/7BATKZAvifSVNJ8j3SmIfKdKvWV/XIx/HL2VfA48VUurTE1qJ
|
||||
EEFvAPowXKgKWUmEQYFZ0KZTpee5K3cR+E6qhuPskG8S645KoiLk/4uyXwiIAQ6u
|
||||
Q9PaLwKTj7v93vkwIk6ioBo8wemrE+i7rU0p1NQKW0B7C/5eANb2FMTsJa8dTmje
|
||||
ZYkCOgQTAQgAJAIbLwULCQgHAwUVCgkICwUWAgMBAAIeAQIXgAUCTBd0VAIZAQAK
|
||||
CRB/2fzLAAvu7qF9D/4nlUUZ57ivkkXcz4iYLMuaJ3BGTsCHYa5rVe/wy8fTmRLF
|
||||
QZenzdrcXdmCjrSxHNDnr0QGOEK7Yd7DPened9aBiqeQq4Ig6GDuirt2KsRoVq11
|
||||
MeA3u24AIjabrSdx2BBr1LXe2aYTLjTuJmphAk20sUN7+voVx/pwMWeOIixV2TVY
|
||||
/LDeAuz+COCH4ybJBG2i1QsAcU9K6rW/ZJ0Te6ZqKWUYf2BJ+hpTw9R2cpGDJo4c
|
||||
DuYLQQd2AeTwW177lm2lsCdYkvsiVnDm6XpuvirdHL/lQv0ZttH+Zr0AwBgS3jY0
|
||||
yEsudo4duJULuLI2pKhWygtjxUVamsfF3fF75a3N0QxIup3qW+YIX0H4gCwu+9Bp
|
||||
qza/4W04q4MNFxYwWb+6XI/Frl7BJpuAH/GGvWfYpE4Em7IZe4gELOPZdO3aYKN+
|
||||
zpoxXsI6guIOhUOtzdKMztIhS+d2B6ZDt0IaZYQAmxEcdTUpbtcffJxiLbBqIU8v
|
||||
XqFNpQaLSyMhHnQ44xvMD8kHBSPWuhwrk4zVFt1mTi+7UZDBm4MEaxW8vp5yJc8U
|
||||
Rask1t2poJiJIpUYHI9VRSAsLqo9xVh7MI5x0lOsFp71j6Z7wHgryE0BTe398aU4
|
||||
XG3wprl1qg8sdvLD0Raj1A1YQeVM6GqEHfDThgkHCvF4jTu5GbRSGq59NF+1QbQf
|
||||
SmltIE1leWVyaW5nIDxtZXllcmluZ0BnbnUub3JnPohGBBARAgAGBQJMF+pRAAoJ
|
||||
ENoowjp5/0R0U0oAnjpPXWluAXHnih2whrMnc3j9afJ1AJ0XX1pBBUqbv7Wiju/6
|
||||
0aIH4w3WeIhGBBARAgAGBQJMH3CMAAoJEFQUZr6xLcGbiJ8AnA3zWLxof7rtaWju
|
||||
DTo4WWAoqeJmAKDDY5gHguwZxIVfBU04NvOXx07R5ohGBBARAgAGBQJMIg2oAAoJ
|
||||
EA3cqjJ41SZOmlQAnA1QfkU07RUFZ8T+X4O4J6Ovbk49AJ0TFi1pFNdl2gNr1ZFg
|
||||
Ok4DSCY7e4hGBBARAgAGBQJMIhKEAAoJEDhZwDsuI25Heo8An3JqUU6wHgJHieN4
|
||||
SZd5kRg5zEyTAKDIAaDTXfrYu4RfLeMvIkE7xRyPPohGBBARAgAGBQJMM0BUAAoJ
|
||||
EPHSzMhJehdtaJgAnj35G3QSydUyPmShnRe4dgJL4b4TAJ9lhYBAjBLPTegatr2h
|
||||
QQ+vAySxIIhGBBARAgAGBQJMM0E9AAoJEHfdleLqUuz0wLQAnjoLLqtv6Pb7IL65
|
||||
ZRVMYQ+tbcqNAJ9tuca4QamQFBN0HyikGKueDa6JN4hGBBARAgAGBQJMNP2bAAoJ
|
||||
EDZs8J8uUUr8PzUAoOfFHxOKeVeqUnpbIorBMchhd+ztAKDl5yf0WNWKXaJTxDvs
|
||||
oWToh1dqf4hGBBARAgAGBQJMNdVnAAoJEHJZXrGBcEuTNB0An3TGlrkaY2DZsww0
|
||||
7w4DttxTZE4vAJ9MDG//IXuvdG+qqX3LRtRIpOqTI4hGBBARAgAGBQJMNm3EAAoJ
|
||||
EBBVNce8HC5gkS4An02WqiMoNtuUONNy9wrqrXTdL7nzAJ4s2A6PbICoqI16jI1e
|
||||
ocBnR/2bUIhGBBARAgAGBQJMOg1/AAoJECi19N2Uj2Rs1s4AnRq5Ql/VCD2KagJ5
|
||||
roz1iTPOR2CHAJ9naBNevp3awRt8xfyjiXkzsf08b4hGBBARAgAGBQJMO1JoAAoJ
|
||||
EJ35m9oRaREwX6UAniI/SfuN8ii8g3QbEduuzC2ubeN/AJ9iFa8yhkxcqhOQk15h
|
||||
YxFbV6pl54hGBBARAgAGBQJMPYt+AAoJEF7Cp3827MUjbtwAmwV9TzCZt5kr6++h
|
||||
TPDISisZsN5NAJ9w2CFjKNWLbRbZJTj4ob5Qg4wm6IhGBBARCAAGBQJMF3S3AAoJ
|
||||
EP3S3qzTM8uhNEQAn3nlNlUX3IZAeDsV0UOSdjy2c+cwAJ4zKCadtJjj6B4+byeh
|
||||
2RGwTwUQn4hGBBARCAAGBQJMGm2+AAoJEAu1FKXQbtaffJUAn2Ot9qu+j6LNWpUC
|
||||
d5nwihNRuDXkAJ4lj0nvaONAu9MtSFQjMSSP2GILEYhGBBARCgAGBQJMPyTUAAoJ
|
||||
EA6nVrUUSEP18akAniVovi+1HGmXNlI0fR/dzafSUWfnAJ9RWRmlVjOfXAgQjE66
|
||||
7RlgR9haOIhGBBIRAgAGBQJMPFWSAAoJEOoFMOYVvp+lHlEAmgJo/y0PT6ySheTI
|
||||
iLRnjDC1v+jGAKCdqvWWueV29E7CFIvNcAKQL74S34hGBBMRAgAGBQJMNP81AAoJ
|
||||
EDZs8J8uUUr8xu4AoMtNvpHoT5SjVacGmyS2BKZ3RvcmAJ9MqCe/OMsMDfXr8Wr+
|
||||
cmaWl47Jt4hGBBMRAgAGBQJMNgd2AAoJEHlVn2eBNdsaFAgAnizWK7G6ew9td9V6
|
||||
/c5ltGFhem9HAKC7M9E9RRfEBIvI658BJR+OgWTYwIheBBERCAAGBQJMN0/4AAoJ
|
||||
EPfVyb92XGHjeVkA/RBAkrDdh8HJvnEY3yDe9IsGPVbON0+c8ZKnJ0CnLj1sAQCo
|
||||
dZyhrNPnCyJ6dm9vpsev3r1pfJViVl9LM6p3wcCqd4heBBERCgAGBQJMNQ3CAAoJ
|
||||
EDWpO3ToLkIJZ4oBAIItrGqmd1X0PuVqGPM6/ieqgYH8wuD5sPCvsn5GxvQYAP9w
|
||||
ZTQl5J04pPH0CRuj6neZRQwek4987JBj/PgisquxYIkBHAQQAQIABgUCTDrePAAK
|
||||
CRBfpUEojNTVmsDFB/9s71u74Pg2wF4pqzlMwj+01LftYcFcfZAnvRDuMjAcGfmu
|
||||
60tFzFvg4M8o06Mx6fNjx7PZOmqowp7rdHfWHpJ6j6Ygd4H0yDCUYXvFoKuYS6Iz
|
||||
xxK5iAruDSviswNPMjQmKzeaSluvCDGwMOUtVxy6rirZXAEdB6NzORJ0kniksPcy
|
||||
Wrda7geR+Zs9ZRxhd7Py4uGKtKEyy9dGQWSX6Nc65U/RBJYCwgWGIH/QfiSs6m+b
|
||||
rujLRgBdO0dHza35PQj6mtvCrq6GmWY/q1GQG3WcesqEwzR1j3P7WMO/rxhkvFDf
|
||||
Vg1RKIilGG0Mwonq7nY2GEMTsB16qc3Z1v8gD7dgiQEcBBABCAAGBQJMF+7oAAoJ
|
||||
EKeha0olJ0NqVhcH/iHkW4Cf8b4d/cMvlRZG3H5Ga/Xo3yLm60K9PCne8Hd4Mbd0
|
||||
pHe8aoJCPYhf4hb6AJwd7ibevpPjw1AD53hqKrZ88FHws5LhAP+5Z7/wNVomQOYs
|
||||
GSnu/5r1xWUePk5ih9Sfwj1kF1jlmefrM0aLAHliMBwzHRwBgxP8TyAzbDoh9pVv
|
||||
msEGAt9raGHtTnLPoUoA8R4sB7y+axB2uacbkf9OZeOjlMNYd+PTnnJPhUGYkFGL
|
||||
sCVnS4hiQg48S/5PWOnNmpx3QHEdnTc30jYuUsevvZREjqpzpRxMqe/HNAaGNpzH
|
||||
gnfDX6+KWpb55SLxkCl2+H+u1Bp9RNNTxUAiHz+JAhwEEAECAAYFAkw2JAYACgkQ
|
||||
drU0sumQB+ByvA//d1vc55QpP/YP+Oz1aJDzB+ktTgVIZTBX8TadeENwB2cTdFJx
|
||||
Qh7najvVRE2ktfjsCtO8JutWRKodjLob21OSRErvMmQKEYugGbhZcOMVU++vIH+a
|
||||
ldkTJO8hIClqNsnrKqIpNC5uS/V2EICewMN3ZhIsEmk7UqPcfWG4/pj+4YnZQxiQ
|
||||
oTqX/ozo1rWRQjotpP4tMBSrRxyV0M6a1pjWWX0S7Ce5nnZdOg/mbPObQw0s0Bva
|
||||
rG5w6wx6x2TmUspBlhwL/XVObVHLXXp8fGxCmNI06ERlqH7+veUdYhYoNkCtrH0u
|
||||
eZdxssoD6nMPC78VX1ETrvKWEVCDWkDozrmzQNgpfLKzLGFVQKFDgSIe66SigBMe
|
||||
HqjgfKaFJmJkN8l7jaAQcUyvM8P0rEO7MTocXtEV80QVri91dimPhtQUk1X0wUyJ
|
||||
NhyE2UO2rbI9StNdbcjMnH1pzsvvMfnjd/pJNbpdzEwUD8DEuJg8UPHKUjGP6fOy
|
||||
PIKAinPZb4txhqDi9rjXGkrz7D8SmU08lWEP5wM5E4w7DEGmOGiO1rwn3y0qJChQ
|
||||
1ZOAlvIG5d+OUUBkKVxRx6BCS/QKbI3gpNYP07Tz401Alez5KU9i/Ua8uzwyAo5k
|
||||
rUmbax2jlRMJgOAwaJ5n4KKLLZ0jT2pp9iNsInFse2UPLGhW03ujQVydMHyJAhwE
|
||||
EAECAAYFAkw3aYEACgkQ74H3LCmp1u9a5A/+MfHIUdcGkxOrBggqW8JickXwy9NW
|
||||
BCY/BXantaj5F32wbLFgj9pKdongGKKYp2kxYh4H9u5w5Rxgx0KtaLPH5LwODHhf
|
||||
sgDFPedWi3ljIYhAWcizY/SBIx/eiI1wvifNaZ3Kz48EoC0CkoQ69dSIey6UCSTe
|
||||
AY5FIEmXqGIVi+IozI5ssX5ywqct89e9mmLit+X6/M7i+PPLrHWnyn4T8ilGnAfq
|
||||
eCCYjw2jvVkXYjOkSaGd4RVNoq/RFbFXequYJpt0wD7sEk1sEKknwiabCOqkHUXd
|
||||
0uTMbs6ulM3vSnD53XM+UGdUhcpFStrww4Sv5F6wC8y4gft630/f0bB0zCQ7j5an
|
||||
Z/iEGneT2OIU1y8M6x0KaQ1SMjYWDF9Pp2E9izrzVKT088pzt9WbjiY8WTgPONMU
|
||||
pfmE+gzFqaGPI4wMeqWNKA5BM6lByEz6201Ty9lzTpIQxt6yKRCklfxfnbn13Dti
|
||||
kceb3tXbjFDBVFwzQsVyNtumHqQasf6SBfEAqq6b6p1MkUBa/avGvRhkLYoAPGVo
|
||||
Bl/YJ4WIDphXR4qMiR4ekkGyr6J18JhaU7pnydYqckloNgF/3JsqyjCR4PZCOHpz
|
||||
t51j6lEkt6eaHmbWYYfBmPSF9lPRu0Y/u8GDVJlcG8qtj2ON43elWbIOmtJrXv2K
|
||||
1giuHvqzuoSeCgyJAhwEEAECAAYFAkw9l3wACgkQ7G5w33wIpmJZEw/+MVz55nPg
|
||||
KSdhRP9lLFXPENuw9u19UsWFwTpzbfnjVdJmqH8xG+4vm0OZyYMuUHEEGLwVKwT7
|
||||
Ht4N0bCZcWDPFygtEJARm6EH09Ev/dmkdSd8rXu0khffZeTsfv+9mUTmylQMoRVa
|
||||
IwZpOR8RsNuAXaDx+055/Lp8DUnBfMekgJ6VPXWEZ03sXNAxrFj+Nm8SDKaYqLSn
|
||||
iPBBJyB3Fi6RBjRo7zSNqTa2A+PXFLLKVX8uB1bA7JCwIi7/bkcKv75Rye7nmEmw
|
||||
EaclmmzXyI5XJi7/DHAqtao35MoylI4iiNFH8kjUf+vvF/qRYwc22eC++O9GIdaz
|
||||
j7kZp6Jn8sUEDSltQwgs8quYhJYn2dgenVaM6UZGwp9dOD9t47B8ZTHN/VOvBUMe
|
||||
kemMeoQqJQilLYQjo9/VpCtXax5swkGOowkMvZGLVj8qXs5pkvV9UeMC/5iytZsQ
|
||||
nBiT8hWEc46cenNZfiX2ctvh92ElGbY4+BJTBngHMU8dOm5MPmAChSw7/6Sv7zZ5
|
||||
+ocB8LNLUXfMIv6D4hSV6Noqbq/FRBYPL/g403OCaL/02JuJ+fhEYhbzr/fIBqjT
|
||||
xqnw2G8/IkxbdSrCVA4ALqO1ATEE6E4jn62dYC41GWoBQbxTf2AYouJEV+pN0VAg
|
||||
mOsvuUr3ztEhlrIvSh1v6gIm/5H0jl+71O2JAhwEEAEKAAYFAkw/JOkACgkQ0w3s
|
||||
0lmTIvyWiQ/+K8sci/ujOZDzuGxcku8gROriJELNe/SFQblQFjYhHzypJc156jOO
|
||||
qBSWjdjjEyQfqVrubpx7yCYOlBrTgwKfF5s/a1I7MhNKSvVs2Pjz3yDCD+JHkqz9
|
||||
KD6Yq/MpEJEvpS/+18Dd8Ob+tFNNjIAgcKEnK75KJoaUXMrM5Bbn+pJoBCzKh6Bd
|
||||
8RwuTExJSjvVmFpLyZl4Ca1jUYW+JMIGCHiWd/lOvfuqchWVlu2qujUaubtJkL5M
|
||||
OZVnB4wkZLuIQMRkQ/Tfg9hz3EfAunYBaJr2pJxfkwPXfcZIPCIoXgxrcEFDCHXQ
|
||||
M9GP0Jfn2WAqreSbPv2WL17+SEWMM4BPzPDbm/BqtP8NUW5dsYasYgda5IZJDcZc
|
||||
QlPWL3yukwziH1qGrt6+YqoZU6+sNXb/J4DIgDw6Bs3e/VfKqsYSjugIsUz8DJzY
|
||||
ArB09WMxmwjZ5J3KMlztPLIHigFxvty4nqCstZkqRsTVgJor9bunownIkhbs5P++
|
||||
bFf/gdiG6pYwCDpIoktrgy837MtRhs7YLK8QfCfvnf8beli+7KF4UOIw8MbXZP2P
|
||||
d5OYoT0p5kXzLCYyGsk5i94y1lELAWqnk+D20Irze6d8gNGK38srbVQLui01dYQO
|
||||
+f3BnwIdYGG4S7OofPYbCmDCHBDMCANBy0kMpU9JMz8G4ELrbJI0TomJAhwEEwEC
|
||||
AAYFAkw07PYACgkQvNuVtwqjvw5pdA//ZIWJelr1yaj7f97ypaA2nk1DC9Hd/+9w
|
||||
06kKgX0qV+vHsusmCdQkfRCK7r/BUPtXWj7swc4DGDE40lJ+v1oswjQonQUh5tg2
|
||||
AkacZ7YTczPrr01Lk8nPC3a3QH/CCtMwwN+AX1PAAGfAH4rIlgLV4tMJIjvVgEd7
|
||||
ZY2+bEcc1LpwAdQXEySQPMs4lWK4itvYrQkRR40EMEhvEfQeLSvl32m7u7+2byGy
|
||||
X2cko+jlHL3phWfMKfLXVREgU4zFoPfejZW7x/pFw0euV9z3iRTi7EagFWVFPQAI
|
||||
edyUR8SFDYTYfVuDehXGpWk5b40a7+HBPMHtf65oE5WRC0YPq4zkk6lQBTF5pyQh
|
||||
/GyKdQdIWfNLRz0Q1ge1T0fEPOwl9KVwLOa1yT/576mgxScH7lSZymVMUWDY1Vxl
|
||||
YbMCOaaBoUUOPS8mjyPjOdJn+8b2p6kAeMh+xpmB4wONdu8ouLrcyp+P6O+gsEqD
|
||||
TuGwX1uAkiMpAmgHfsbh33e/CA0m+LtSS8WCRW4sa+Zd4DULkO40alCh1sxoFXrg
|
||||
aiNhawIu5gv9xT4wMrlzHJFlLsQGznX592rmNxyHyCbq393rjdzsNWoVbVk8d5Rd
|
||||
e+Fnxs36cwvoc6a0ieV9/Hn0j4sI5FjwrA1NzP1GHJJk3WaVcDf5Rs+0ilvmqJ6h
|
||||
zDnDAmyFX1SJAjcEEwEIACEFAkwXc5MCGy8FCwkIBwMFFQoJCAsFFgIDAQACHgEC
|
||||
F4AACgkQf9n8ywAL7u7dXg//TD0dsvwMl5gGSJspUHz08vwcM9zp2fldabi1GMC0
|
||||
q73nYnoUH9wHLVcPJ77CRqh+9lyvd230hnHPPbMksg/L6YetnVAo0NUz8pxx1hZB
|
||||
w8fJDvl4NxTgs8FbwtxL/ZnAs/RHzEEiECbWWnxaEWYuZAGD4S8u6fnzNfPCYbf/
|
||||
dCEdO4O+FIumPoJCJF9orHd3rvtB+P41YKaY1+K8lM02BoY3fXRwbCvX1Rn965/B
|
||||
tIJiUDJLxEXUk2Gq6pZ9zPcHKQjHcGs+2zS/Z6wmhuTEhFmpCw0jIt9rzMs5i5JO
|
||||
B0eqLtKD9C6tURA1KK1eXUvE4X8F7kaXkfPXhLzdLZskTt0kbNr+YU5AZtEDWpla
|
||||
w71t376JKOyn7yLqYLJLR0KMmn1DpU4kFSMK+zufLGo0gmp0054hwBqM0q8V69Ah
|
||||
fJQB/AV9MnpJ4h23N1kIRxfYMThZr29PBFR0xkq6hOW7sfbZmQDL8j6NaMKWVJx7
|
||||
cFDzMkXXGozuBltjFGa+q0Vf9QpDGiMPXIUz9elRZQ/pPP6ha6pycpElp9LJ9Dum
|
||||
BAtG2bimhhlEXNP0L7H5TQefDCgmfVY2DuyxbPP5knAmvEW4pEXd+UZ+epsRve5m
|
||||
u8yAHp+vznGM+SuBp1sGUL5VmkFtNnpXhW6hco2s3egz7hZOlsH+L8BbAmw5E+tG
|
||||
fP60IkppbSBNZXllcmluZyA8bWV5ZXJpbmdAcmVkaGF0LmNvbT6IRgQQEQIABgUC
|
||||
TBfqUQAKCRDaKMI6ef9EdEHpAJ4irBPGYN04lPnLnyOleoYDnjF4FwCeKK/hrAC1
|
||||
A5/3/XyNeN3T1ANhbvaIRgQQEQIABgUCTB9wjAAKCRBUFGa+sS3BmyRuAKDcUl4g
|
||||
fUciEF/UW0cPY8qy7IY1HACgiWltfZiQk/yIogddPLUqhlzbYLmIRgQQEQIABgUC
|
||||
TCINqAAKCRAN3KoyeNUmTqJNAJ4vO6D2RRZNPo/gyIHrFqLuexeZGwCdEI6aLpUi
|
||||
0/gxwe86X6gWAOMaplSIRgQQEQIABgUCTCIShAAKCRA4WcA7LiNuRyURAJ9qlw3C
|
||||
vXgukEo2Fopqa1yQJ8LLagCeKCsGPYhTONqBdHzWo2+szF1srG2IRgQQEQIABgUC
|
||||
TDNAVAAKCRDx0szISXoXbVF0AKCKIBH7zbRd086ZGLu29C/If/U2wQCeNSNdvnUH
|
||||
9jDsIsfZSHOzgcRshoKIRgQQEQIABgUCTDNBPQAKCRB33ZXi6lLs9EB4AJ4lwOXN
|
||||
JgRE16HlHR8paMlzY98VyACggaaBAyHzpuY+P/PdMZOSX/ElDK2IRgQQEQIABgUC
|
||||
TDT9mwAKCRA2bPCfLlFK/GIFAKCRIf1j7mtaGKa4GnSgV6/H61mBQQCfY1oiTQl8
|
||||
kz9PhtOPdbKP3iSMLFWIRgQQEQIABgUCTDXVZwAKCRByWV6xgXBLk289AKDGZmoD
|
||||
mGKUDGY5tIFmQddyA+D3UQCfRfOdwhC9BNnNDOU2u2NQlabGeeuIRgQQEQIABgUC
|
||||
TDZtxAAKCRAQVTXHvBwuYH3bAJ0StWBTeKgFB06n2OZn6BMlcZAaQwCcC5PWdTOD
|
||||
9J15tvKnqVQIACx7BTOIRgQQEQIABgUCTDoNfwAKCRAotfTdlI9kbMFaAJ9fx4sh
|
||||
j/V6whC4+XwKRnZ4fDDh+QCeJtiE7YbigcEvvxhbvQA32KED8MuIRgQQEQIABgUC
|
||||
TDtSaAAKCRCd+ZvaEWkRMCKJAJ0USpujY81nrzNSpPHi2+rWesgAFwCePptIdphu
|
||||
Wp34y3pSiTE0Beze+iKIRgQQEQIABgUCTD2LfgAKCRBewqd/NuzFI8VDAJ9pJfya
|
||||
8KHvEPcj1lpnyh/zByDH1wCeJRLKGNWfVJ+42M179/7U5+NgKbaIRgQQEQgABgUC
|
||||
TBd0twAKCRD90t6s0zPLoWs1AJ41LTvY9MRhWWmZoS/ubbyY4fdJHgCfTuTI6gky
|
||||
TrDl1J4vOKpUp0LjheqIRgQQEQgABgUCTBptvgAKCRALtRSl0G7Wn9c9AJ9/IwQq
|
||||
qm1j7L1i6eynlAhnAKgMSwCfaedasC5CGKl5Wh3tXkZlx+Z9+bCIRgQQEQoABgUC
|
||||
TD8k1AAKCRAOp1a1FEhD9RcyAJsFKQTaYy7fYtPPmrbolI4JsvB+UgCgiTxB2Fgs
|
||||
qO/aQ56s/o3IS/fmxiaIRgQSEQIABgUCTDxVkwAKCRDqBTDmFb6fpcFfAJ9Uhkmd
|
||||
rMwOebu6pjH4V3LZBFB8TACfb593Gs1+n/ryTP3cpdYD6dgO4wGIRgQTEQIABgUC
|
||||
TDT/QQAKCRA2bPCfLlFK/C4/AKCXSV+svPyfWnwnDEVKx/ZoALzKawCgz93w7Y03
|
||||
QB0kDMv7ld6UqKSt11aIRgQTEQIABgUCTDYHfAAKCRB5VZ9ngTXbGloJAJ9Yan5F
|
||||
LAijFFYqgDSMuYnPZuJY+QCgpXeCua5KiCuD+1+l3B2As/5JwfaIXgQREQgABgUC
|
||||
TDdP+gAKCRD31cm/dlxh4w/uAQCoLhQ8m4GltzbA9DU5XxvTc0Cs+MytsO+J1yQ0
|
||||
LUNeGQD/XDKDBMvJb5X9bWUSPPw45ifHPZbsum82WPgj9vKTEXOIXgQREQoABgUC
|
||||
TDUNxAAKCRA1qTt06C5CCXrYAP4t9uVRJIPN5EUNMTtCESjyTpS5jHEyI0d77gJe
|
||||
6D0LrAD+LCiWMvpP314zc+QazVisQl4OPVtt2iPOS7mRm7Ix9EaJARwEEAECAAYF
|
||||
Akw63jwACgkQX6VBKIzU1Zpnzwf/TIHhsflaNx6HQ1DrM6NTOQrKRbilMXNwAqvW
|
||||
QQ+EOebb4zHYqEUqUtDYgHpO0jz8tEHV/SC6/oU/1Ae5yWYeLVlpCdTXXtIW055Q
|
||||
EeZ2YRfKOQMSc8G80ZoOfz9NvKeD1nKvakYZoLNqqDwa0nVS/MwB7FSQsiKLT+DP
|
||||
zPqmhUvluX6d08S04puRFDDJ1IdaqSi4Nu/ug+mKQukLvijssUxM8ADauj2+bXIg
|
||||
HcbuXDgvCC96vPlfYPviKu+pkvaDgUDcva3Spj8S86g7Z2yy+Ig7GFYdYESmg59t
|
||||
Ftqs9NlChbI+rmtlbI1l1hQLz5XP1grDMX0EMqBG+YyW8yclCokBHAQQAQgABgUC
|
||||
TBfu6AAKCRCnoWtKJSdDauF2B/9kAt7wxL8CSC0Fc7mp9yMZrUSQuTZPRTvQ0qUf
|
||||
KgQ9GUWaATrzdrFJH4opIcJgWyBGsyvDCxRjsFLGoUeM+aGb/MUw2wpJjwu6oKm5
|
||||
X8/l4jcYaLx7htZOfjCxtABZItWdxn1tHA9LjS2xywvhAlISpHj0qXOtvgew5PCd
|
||||
bl33uoGGlVz0ygTIRRk8LpjatPcR/EpOR1aO9N7Yxw7F999Qzzr6lHeBkcmcShaq
|
||||
DRnPa21kJ6tHRbZMW2AzTdP7TATywL3G6hFF71twpDOXJSewtB/SsZIBdreQi5gU
|
||||
evEJVthaC0pWmfVyVx7O5XXuVybTmAcSZbzfskEeUVyBbLCBiQIcBBABAgAGBQJM
|
||||
NiQXAAoJEHa1NLLpkAfgDa0QAIMO0FP72pMy+LNB58MFKfRwyEPcySGQ9Rcc1ZR3
|
||||
p0m66J8MQmqttELSu10uffjDOas+J1cC9eHGWQBvPrNqVztwvL7E3wMW+tQZ4TrP
|
||||
NTinw6t/nq+Ct0vFELMlnUlMdG4koUIwJphs8w+F3PwkxJpN9GWaqBQ97wic6ENl
|
||||
xUaC83m3JK0nTpo7K+9LONSomwPDIhhWYj69jKU9ngN5QOmtvOYzHp7x446ZeyMl
|
||||
YamYPnxitjAg5mG8XFdwzMXhKg9WqpP3qq+f0Je/TnZgwbv27SvnClOIjhr4dHbn
|
||||
VrUHRjYrMg6T4gqYvZpUvL04i3c8Qiszvy+38i4Q6Ob2a/3CMNx/cBd6330Cj/Xb
|
||||
uprYzP1w2g0DMdCb6oKDCGyqsa5PoryKjI3c6+lp6rDL3te2TNtQvWXImFhkedur
|
||||
jr9/OKa8pozM/sdHj0wMkYqESKY14hMfyK5rMTuKnZ4J/kG7aFbwiIW20j1KD41D
|
||||
XzMd7BiWRbS3QltF1CxRMA8JxkXRPbab0fY2+2uq/WyhZl0rg7+x+NeGNnESYcP6
|
||||
o6PSGKQgwbnoLbqGLEV+q96onw46W6EsYj6mN+ee0Xvn4GsJ8G1tz56NQvD/vAlY
|
||||
oDdfTSXMupT42mU7OTm1aGPbTUR0TiyF7y6SSdzjxh6v4vPdPkq/DlcgNCi18OL4
|
||||
QKlLiQIcBBABAgAGBQJMN2mBAAoJEO+B9ywpqdbv6vMQAIgplS56EQ3zCRaOBa0K
|
||||
DJPwei9yIJ4kjnMd+3rrRpyJssRcuHfunb9efvN1oQIamNcX1t81rgyhEnnSagxH
|
||||
4fwjtO5TTAdmdV/7d1N+TkoBeNdwPDtP8w/FLlbLQa3RYATkm5LE+WyayAgnvfWm
|
||||
DK5dv1aBeUx9vwTyFsyDKO9OMV4nRTKHV4VLtOjKPIro4S3FHeUNC6FXRwOLJ28O
|
||||
d5lCv2EaDQshvXyjtO87Usb9JSHaR2OfkhhzCUMCbVxkOSXpigu3gkX2s+y9/v4V
|
||||
6vPu70bHi86bi61BQH/6nafUVoT27k6xzJ/wos6kY1YQqT5jOQl/D+vt8mFY8ljq
|
||||
zavFXGNPadubB7n5JmErxGxm71YXT3+vRHRuGmkQDHc8wMuxlI8dRGcvW/aIdbwJ
|
||||
OYlZpwKLunH3LIFOye6vk8jpFnytPvf/Gk/jwy0EHLJ9CPdMX3j3gmjqpCKPoIgw
|
||||
vTZRGl8xT6BdMoq6UwM2ziWxhaQcWtpNmEsSBS06q5ZqXI/zzFDRD9WnIL2iYa2m
|
||||
1lhSs+ptQK6P8cF+c8D+yHCSJPtiQMSG1ZzSKvBe7JTMZd7sK6hKsidTgrapl1pC
|
||||
86BletDPdeRHR1heAhABadyZH/MyHLyieC9pyjDHxhLVDuUio3LFt8qmT7ebBe7r
|
||||
tQijGEs+CIqTzMQ35bTbQhk5iQIcBBABAgAGBQJMPZd8AAoJEOxucN98CKZiqEwP
|
||||
/iN5n70cWR4FY0n3AaSvYV3mtaiisfkn/O27KWQjSdrVagXCoKdRmARZBFs1QBDH
|
||||
rLmDQ7UtH8O/G9QOTO77BXvDsk9zhf79Z3nyh18J8S4x+mWMuqG99k6u6hsLN4+S
|
||||
E7VZ02hC88UfcNvSSSZHlXfcrhzrwPIu1+fUGTGuPsVSOj589sQ5/GM1De5MWUXd
|
||||
fCoceLQu1bLZAgxebzcII7kllSFWsppATPkYX6rXMsQ6XgMp1WeY9RIjCo/9DIeQ
|
||||
GwcYsjrCdUah5le8cIML8xNyBE/UPhLZvL5vHOA2Jvo5zbHIhnRNlD105ydb0mzu
|
||||
AJPxxxdihTgGqJORlC/2pnmuXD6K9KT1Lt/PTtQBp4GAU/OKfSIF2N5e1vzkQVUs
|
||||
id5dfE1FIP52yA1FY2pFNCuwTSam3InOGvvfhAVLMYDDTrLBDzAM/kYwOTWgQ622
|
||||
OXMX1vJRzTrH6eFVUXr6/kelCJixUyV8RiiPmvKCGS5xEcQr2cyJvCuxXs1Wgnmn
|
||||
djyaffZKEtAPv5oHBLjQO2tMyrtXSrCmFL8sU2itN14I7q3IawWfQIbjU62dq+df
|
||||
6gzdBxud3X+ygTPpDb/cmeMuJ1GpKpgWC2Fy0C9d71v9tt/ViqHNUXSOes8Fculv
|
||||
t6h5imuRCQ+2IxsrVm43ILHq5h/fSQzFIICrv7r/f3jziQIcBBABCAAGBQJMYhoM
|
||||
AAoJEOVivZS/A0Re2EEP/jaZgjwkx/IFITCSb/hfF3jzM8/X5RgtspFWW3GePUOh
|
||||
jSzT6zB5b8fahSkyr3a+v1UVCHta+qQQ/HGsDcaPALlcWdG/ncqZ6jyxmmFCl0GX
|
||||
B8CxGJBzjX1QZWUAq2UONo9nfQqIOwfQr4n+bzjw5bajHmVyqR5ODR1n30SMKhA1
|
||||
jG/rUEHoqnkGXD6vk3Gvs89tLqZl8oir70MqcrmpYq8H8bU2ioCa1DgkI5kUEx+h
|
||||
W9N01TfcXG1q72CH4zohzNRIB5HGbc+6AkbBV90oF5d4s9rLeEbxy4WpUiDsgpq0
|
||||
rsfp3auKs+n806I5ktNIVXorYQCUs7yfrIupK2lbX+Y2UDSubilXBCEhs5HYvfkM
|
||||
osZp0hzvKyHIkJGDjZjxy0B+23+fMFwA/721uqOrvjjVV/P58QIvWorUxNt9hNjX
|
||||
+AlyX9X5Ju4gFa3OB62JOdFYcZ153KgxwdJBsWjUS4vSLJRdmO5bbaC5Rod/r1ZD
|
||||
zOvJ5vkeOHGUGQONobygUYBZEID7wdVcI8LBLX+bVTqOHEANObUJc4g1TsK83+X+
|
||||
xAJXKGFF65dN/8JmbSdoTM3wZwusVSHnmU3kfdpYgZzK+objco80JE0+4qQIPCnf
|
||||
Iyg/tSEccRwK7joMlRn/zC9idSG/40c+sl0U8dxiYQUf9pwnc9BCLnB4POZl/vMN
|
||||
iQIcBBABCgAGBQJMPyTpAAoJENMN7NJZkyL8DOMP/0MVWPmflNDf8uNnsoljCJvY
|
||||
Hi34fgUoF/RHs5nhQmNhKnEQ3TLmAFDnmwTPh9gpCAAJwohwCKn0jtwy47BjZgWJ
|
||||
5Dy2yl/sho8Qjt+cBJB/cMgumzS1vcSh1deftNJhsCi1MPVpguAcJTSd34JKpcY6
|
||||
hrDpTBbPg150pQYVs0H310P5DWdAkiI+pJIjdugZ0/gdfOer9UajB9MX3uYYUcsM
|
||||
jMeZWYjWBIOSZpyQY1dlAjsy9fm2xNWAh4hupR5CgwfvUFuugdSVlrZtcGclcbTe
|
||||
LuU+WRLPsVL1l6lHx/gPC2W85V9m1BvGENf7d7CxuhyERQRmtGzFmnn1b0fRckFM
|
||||
IfAC6AjYeg0bZnTmcLRRVpF8g7nwZksdwN7Horb5e3DNnx9i5FYrOepLkqejUede
|
||||
2VjJR3n0XMuFz5Of9VV3U/FDR4WyjEPIwN7LOwhZJDGUO4L3fO/deM+uC5zNkFOL
|
||||
LJAIikqI2ABkBMYBy8IJzRnRcrosroPIlQuEAviuPNTChCMabS3Zl2whUIYtj9Av
|
||||
W8nemWJk6FYkB2D9Gat/Cg79S/SCyL/nsX35HO/QN7mRIY0PKltp5bdoWZve4JHw
|
||||
y/4vLpZBPIJyaMgE/OETwmSrEiaA3S6iNjGDS37dhnuQ/a5v+fgHRVS0B7sAkCcy
|
||||
ZH2kWZCrCsbSkBQ6ZfBWiQIcBBMBAgAGBQJMNOz6AAoJELzblbcKo78OO2oP/ipe
|
||||
9Ty3IBNZv36yJn6D09D53eS6ZfJId/AUngImxapdzSU4lCmeYxmvcmP9gzvNHDZe
|
||||
BUtHYRaUzSsvBF9oxBfIT5WAXYQToiKEsfdWLN58WlAQcKgsRzqBnVXtSPaScBmx
|
||||
3vJuZuyNE0lNB+JkeLPOCaFRAJfb98ycCp+MqL7qKW+GmDGetXhwYSXQrRpmw4yK
|
||||
q81G8S/5Y1W+Tl8GyRWhXVimZLMOQ8HNmYGQUFDIyYmu75cLv5m4/18qIRe18+pF
|
||||
r9pYdLzsGx/oPsbTUC5r+fWTBm/qVJzLQSUgfjTTmolLlIff50wHD+Mxk0mQQiBN
|
||||
1WWY/+5vg9MaqH1gujIPzGioZaPXKBfU85NIkiJ/jrgbnM8ty2FsN1pirwH+3AR3
|
||||
7nHOMHVsvT5irJpWMZg8H+VHOjYyMKikMp37VO+H1qyZotZuv+8AMmqw4GgFF90B
|
||||
m0pVCzwyPaWaW0fe/FwiWSXQZz3rvQy7dKbs+/4tM7WJXm3I2CxApxLQAlTKWR0o
|
||||
zZxFd+EJ5xOpnnM3N1Aw9+GlkyWsZTIKmIlY9aw4naySCGMNoUFb5F9LDet0lGmV
|
||||
I8JKyNqsBnXm2qT5yKuqIWeTSsZ78mTbEn18T9teJp1r+pIvisiiUgm8UR4NCFmE
|
||||
ZuSzdPqZqCfe3koQDMfXQMTXhv8oRCh/Cf37E9E8iQI3BBMBCAAhBQJMF3E9Ahsv
|
||||
BQsJCAcDBRUKCQgLBRYCAwEAAh4BAheAAAoJEH/Z/MsAC+7uQ1wP/1YVbfNBaod/
|
||||
malsZCksoa7fFIATOdunMT72KA5s/RQ7GETUX9zJmdQnePg0jabptCnFi4epzslu
|
||||
AVA2DGt+H9AqN5gHlI2DK6DlNovpmSRG4+7hewCKq2axfq7GzY+gsSh7moxQWgrL
|
||||
VlnzO56rXOH5PWGQb0POj0dItj6ZfTberH/I33Wts67Wu/BaxgQjpw2c5mZw9A7v
|
||||
5PKgJHm/W3YXb5ibDyGrQCb1+J/2jZI2VtQxpZuT5k8d+NYSCw80X0X9pLL+jFQk
|
||||
Apol9/YVoBe7ybQ2EbzE7ovwu2YTfRDdDlr4EObhggQwMpck16Id/yrRe+ELd4ay
|
||||
uuT4/EVvrh93+rMydRWYALZyLCcQycWtxjo0tcvMr+JC644nlSbyh3dWPqlfNm2H
|
||||
n70UMHpo/XCT3hJplrT8sXyQXA3WgFTnbyavNf0G1e/R1vnjn1iqRR9eBpC8ykQy
|
||||
Y8TtuYz8wG3nmTQqHjZMwGjh7gsFNy46hcg4ofX+DpoNuyzor0vINqxhEU7bdm4s
|
||||
s/eE/2G/cYk4wi8oYlUv4tUw2wP5ggkiCxaj8k6Cb13H6yQmBuj5yVQATFQE3n/u
|
||||
xK9njPWi4Qge6JRd9gixON+iCaeFozpvUd2ywO8CnGPOKP6YwPcqJE4j1AlQLLEv
|
||||
TsT5hoBVIBulDJ13iotYt5qIhAlhASJs
|
||||
=Nb2k
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
Loading…
Add table
Add a link
Reference in a new issue