forked from pool/coreutils
Accepting request 254465 from Base:System
Automatic submission by obs-autosubmit OBS-URL: https://build.opensuse.org/request/show/254465 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/coreutils?expand=0&rev=106
This commit is contained in:
parent
d2c184a38c
commit
3453a4af5f
@ -4,9 +4,9 @@
|
|||||||
|
|
||||||
Index: gnulib-tests/gnulib.mk
|
Index: gnulib-tests/gnulib.mk
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gnulib-tests/gnulib.mk.orig 2014-09-18 18:39:37.692580154 +0200
|
--- gnulib-tests/gnulib.mk.orig
|
||||||
+++ gnulib-tests/gnulib.mk 2014-09-18 18:40:13.905127435 +0200
|
+++ gnulib-tests/gnulib.mk
|
||||||
@@ -877,11 +877,11 @@ EXTRA_DIST += test-getloadavg.c signatur
|
@@ -883,11 +883,11 @@ EXTRA_DIST += test-getloadavg.c signatur
|
||||||
## end gnulib module getloadavg-tests
|
## end gnulib module getloadavg-tests
|
||||||
|
|
||||||
## begin gnulib module getlogin-tests
|
## begin gnulib module getlogin-tests
|
||||||
|
@ -94,11 +94,11 @@ sufficient nowadays.
|
|||||||
tests/du/2g.sh | 17 ++++++++---------
|
tests/du/2g.sh | 17 ++++++++---------
|
||||||
1 file changed, 8 insertions(+), 9 deletions(-)
|
1 file changed, 8 insertions(+), 9 deletions(-)
|
||||||
|
|
||||||
Index: coreutils-8.22/tests/du/2g.sh
|
Index: tests/du/2g.sh
|
||||||
===================================================================
|
===================================================================
|
||||||
--- coreutils-8.22.orig/tests/du/2g.sh 2013-12-04 15:48:30.000000000 +0100
|
--- tests/du/2g.sh.orig
|
||||||
+++ coreutils-8.22/tests/du/2g.sh 2014-09-16 14:00:30.718944253 +0200
|
+++ tests/du/2g.sh
|
||||||
@@ -46,15 +46,14 @@ test $min_kb -lt $free_kb ||
|
@@ -43,15 +43,14 @@ test $min_kb -lt $free_kb ||
|
||||||
|
|
||||||
big=big
|
big=big
|
||||||
rm -f $big
|
rm -f $big
|
||||||
|
@ -4,8 +4,8 @@
|
|||||||
|
|
||||||
Index: tests/misc/shuf-reservoir.sh
|
Index: tests/misc/shuf-reservoir.sh
|
||||||
===================================================================
|
===================================================================
|
||||||
--- tests/misc/shuf-reservoir.sh.orig 2013-12-09 14:40:46.000000000 +0100
|
--- tests/misc/shuf-reservoir.sh.orig
|
||||||
+++ tests/misc/shuf-reservoir.sh 2014-09-18 18:30:07.752705383 +0200
|
+++ tests/misc/shuf-reservoir.sh
|
||||||
@@ -37,8 +37,7 @@ run_shuf_n()
|
@@ -37,8 +37,7 @@ run_shuf_n()
|
||||||
|
|
||||||
# Critical memory-related bugs will cause a segfault here
|
# Critical memory-related bugs will cause a segfault here
|
||||||
|
@ -1,3 +1,9 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Sat Sep 27 17:46:01 UTC 2014 - schwab@linux-m68k.org
|
||||||
|
|
||||||
|
- sort-keycompare-mb.patch: make sure to NUL-terminate the sort keys.
|
||||||
|
Fixes http://bugs.gnu.org/18540
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Thu Sep 18 18:04:37 CEST 2014 - pth@suse.de
|
Thu Sep 18 18:04:37 CEST 2014 - pth@suse.de
|
||||||
|
|
||||||
|
@ -91,6 +91,7 @@ Source1: baselibs.conf
|
|||||||
Patch1: coreutils-remove_hostname_documentation.patch
|
Patch1: coreutils-remove_hostname_documentation.patch
|
||||||
Patch3: coreutils-remove_kill_documentation.patch
|
Patch3: coreutils-remove_kill_documentation.patch
|
||||||
Patch4: coreutils-i18n.patch
|
Patch4: coreutils-i18n.patch
|
||||||
|
Patch5: sort-keycompare-mb.patch
|
||||||
Patch8: coreutils-sysinfo.patch
|
Patch8: coreutils-sysinfo.patch
|
||||||
Patch16: coreutils-invalid-ids.patch
|
Patch16: coreutils-invalid-ids.patch
|
||||||
|
|
||||||
@ -150,6 +151,7 @@ the GNU fileutils, sh-utils, and textutils packages.
|
|||||||
%prep
|
%prep
|
||||||
%setup -q -n coreutils-%{version}
|
%setup -q -n coreutils-%{version}
|
||||||
%patch4
|
%patch4
|
||||||
|
%patch5
|
||||||
%patch1
|
%patch1
|
||||||
%patch3
|
%patch3
|
||||||
%patch8
|
%patch8
|
||||||
@ -169,7 +171,7 @@ the GNU fileutils, sh-utils, and textutils packages.
|
|||||||
%patch303
|
%patch303
|
||||||
%patch400
|
%patch400
|
||||||
%patch401
|
%patch401
|
||||||
%patch416 -p1
|
%patch416
|
||||||
%patch500
|
%patch500
|
||||||
%patch501
|
%patch501
|
||||||
|
|
||||||
|
@ -1,3 +1,9 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Sat Sep 27 17:46:01 UTC 2014 - schwab@linux-m68k.org
|
||||||
|
|
||||||
|
- sort-keycompare-mb.patch: make sure to NUL-terminate the sort keys.
|
||||||
|
Fixes http://bugs.gnu.org/18540
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Thu Sep 18 18:04:37 CEST 2014 - pth@suse.de
|
Thu Sep 18 18:04:37 CEST 2014 - pth@suse.de
|
||||||
|
|
||||||
|
@ -91,6 +91,7 @@ Source1: baselibs.conf
|
|||||||
Patch1: coreutils-remove_hostname_documentation.patch
|
Patch1: coreutils-remove_hostname_documentation.patch
|
||||||
Patch3: coreutils-remove_kill_documentation.patch
|
Patch3: coreutils-remove_kill_documentation.patch
|
||||||
Patch4: coreutils-i18n.patch
|
Patch4: coreutils-i18n.patch
|
||||||
|
Patch5: sort-keycompare-mb.patch
|
||||||
Patch8: coreutils-sysinfo.patch
|
Patch8: coreutils-sysinfo.patch
|
||||||
Patch16: coreutils-invalid-ids.patch
|
Patch16: coreutils-invalid-ids.patch
|
||||||
|
|
||||||
@ -150,6 +151,7 @@ the GNU fileutils, sh-utils, and textutils packages.
|
|||||||
%prep
|
%prep
|
||||||
%setup -q -n coreutils-%{version}
|
%setup -q -n coreutils-%{version}
|
||||||
%patch4
|
%patch4
|
||||||
|
%patch5
|
||||||
%patch1
|
%patch1
|
||||||
%patch3
|
%patch3
|
||||||
%patch8
|
%patch8
|
||||||
@ -169,7 +171,7 @@ the GNU fileutils, sh-utils, and textutils packages.
|
|||||||
%patch303
|
%patch303
|
||||||
%patch400
|
%patch400
|
||||||
%patch401
|
%patch401
|
||||||
%patch416 -p1
|
%patch416
|
||||||
%patch500
|
%patch500
|
||||||
%patch501
|
%patch501
|
||||||
|
|
||||||
|
95
sort-keycompare-mb.patch
Normal file
95
sort-keycompare-mb.patch
Normal file
@ -0,0 +1,95 @@
|
|||||||
|
Subject: sort i18n: make sure to NUL-terminate the sort keys
|
||||||
|
|
||||||
|
Fixes http://bugs.gnu.org/18540
|
||||||
|
|
||||||
|
* src/sort.c (keycompare_mb): use the keys alone, i.e. null-terminated.
|
||||||
|
Patch analogously to non-multibyte upstream patch:
|
||||||
|
http://git.sv.gnu.org/cgit/coreutils.git/commit/?id=b877ea4b3e
|
||||||
|
|
||||||
|
* tests/misc/sort.pl (23): Add test, taken from upstream patch:
|
||||||
|
http://git.sv.gnu.org/cgit/coreutils.git/commit/?id=4d8c4dfc21
|
||||||
|
(11a): Exempt from MB run, as the collation order in the French
|
||||||
|
locale would provoke a false positive, because the strcoll() comparison
|
||||||
|
between the trailing blank and tabs leads to a different result there.
|
||||||
|
(11b): Likewise.
|
||||||
|
|
||||||
|
---
|
||||||
|
src/sort.c | 22 ++++++++++++++++++++--
|
||||||
|
tests/misc/sort.pl | 5 +++++
|
||||||
|
2 files changed, 25 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
Index: src/sort.c
|
||||||
|
===================================================================
|
||||||
|
--- src/sort.c.orig
|
||||||
|
+++ src/sort.c
|
||||||
|
@@ -3236,6 +3236,9 @@ keycompare_mb (const struct line *a, con
|
||||||
|
size_t lena = lima <= texta ? 0 : lima - texta;
|
||||||
|
size_t lenb = limb <= textb ? 0 : limb - textb;
|
||||||
|
|
||||||
|
+ char enda IF_LINT (= 0);
|
||||||
|
+ char endb IF_LINT (= 0);
|
||||||
|
+
|
||||||
|
char const *translate = key->translate;
|
||||||
|
bool const *ignore = key->ignore;
|
||||||
|
|
||||||
|
@@ -3253,6 +3256,12 @@ keycompare_mb (const struct line *a, con
|
||||||
|
texta = copy_a; textb = copy_b;
|
||||||
|
lena = new_len_a; lenb = new_len_b;
|
||||||
|
}
|
||||||
|
+ else
|
||||||
|
+ {
|
||||||
|
+ /* Use the keys in-place, temporarily null-terminated. */
|
||||||
|
+ enda = texta[lena]; texta[lena] = '\0';
|
||||||
|
+ endb = textb[lenb]; textb[lenb] = '\0';
|
||||||
|
+ }
|
||||||
|
|
||||||
|
if (key->random)
|
||||||
|
diff = compare_random (texta, lena, textb, lenb);
|
||||||
|
@@ -3276,13 +3285,22 @@ keycompare_mb (const struct line *a, con
|
||||||
|
diff = 1;
|
||||||
|
else if (hard_LC_COLLATE && !folding)
|
||||||
|
{
|
||||||
|
- diff = xmemcoll0 (texta, lena, textb, lenb);
|
||||||
|
+ diff = xmemcoll0 (texta, lena + 1, textb, lenb + 1);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
- diff = memcmp (texta, textb, MIN (lena + 1,lenb + 1));
|
||||||
|
+ {
|
||||||
|
+ diff = memcmp (texta, textb, MIN (lena, lenb));
|
||||||
|
+ if (diff == 0)
|
||||||
|
+ diff = lena < lenb ? -1 : lena != lenb;
|
||||||
|
+ }
|
||||||
|
|
||||||
|
if (ignore || translate)
|
||||||
|
free (texta);
|
||||||
|
+ else
|
||||||
|
+ {
|
||||||
|
+ texta[lena] = enda;
|
||||||
|
+ textb[lenb] = endb;
|
||||||
|
+ }
|
||||||
|
|
||||||
|
if (diff)
|
||||||
|
goto not_equal;
|
||||||
|
Index: tests/misc/sort.pl
|
||||||
|
===================================================================
|
||||||
|
--- tests/misc/sort.pl.orig
|
||||||
|
+++ tests/misc/sort.pl
|
||||||
|
@@ -322,6 +322,10 @@ my @Tests =
|
||||||
|
["22a", '-k 2,2fd -k 1,1r', {IN=>"3 b\n4 B\n"}, {OUT=>"4 B\n3 b\n"}],
|
||||||
|
["22b", '-k 2,2d -k 1,1r', {IN=>"3 b\n4 b\n"}, {OUT=>"4 b\n3 b\n"}],
|
||||||
|
|
||||||
|
+# This fails in Fedora 20, per Göran Uddeborg in: http://bugs.gnu.org/18540
|
||||||
|
+["23", '-s -k1,1 -t/', {IN=>"a b/x\na-b-c/x\n"}, {OUT=>"a b/x\na-b-c/x\n"},
|
||||||
|
+ {ENV => "LC_ALL=$mb_locale"}],
|
||||||
|
+
|
||||||
|
["no-file1", 'no-file', {EXIT=>2}, {ERR=>$no_file}],
|
||||||
|
# This test failed until 1.22f. Sort didn't give an error.
|
||||||
|
# From Will Edgington.
|
||||||
|
@@ -446,6 +450,7 @@ if ($mb_locale ne 'C')
|
||||||
|
#disable several failing tests until investigation, disable all tests with envvars set
|
||||||
|
next if (grep {ref $_ eq 'HASH' && exists $_->{ENV}} (@new_t));
|
||||||
|
next if ($test_name =~ "18g" or $test_name =~ "sort-numeric" or $test_name =~ "08[ab]" or $test_name =~ "03[def]" or $test_name =~ "h4" or $test_name =~ "n1" or $test_name =~ "2[01]a");
|
||||||
|
+ next if ($test_name =~ "11[ab]"); # avoid FP: expected result differs to MB result due to collation rules.
|
||||||
|
push @new, ["$test_name-mb", @new_t, {ENV => "LC_ALL=$mb_locale"}];
|
||||||
|
}
|
||||||
|
push @Tests, @new;
|
Loading…
Reference in New Issue
Block a user