diff --git a/coreutils-8.27.tar.xz b/coreutils-8.27.tar.xz deleted file mode 100644 index f9e97d0..0000000 --- a/coreutils-8.27.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8891d349ee87b9ff7870f52b6d9312a9db672d2439d289bc57084771ca21656b -size 5285648 diff --git a/coreutils-8.27.tar.xz.sig b/coreutils-8.27.tar.xz.sig deleted file mode 100644 index 90c3741..0000000 --- a/coreutils-8.27.tar.xz.sig +++ /dev/null @@ -1,16 +0,0 @@ ------BEGIN PGP SIGNATURE----- - -iQIcBAABAgAGBQJYwOwaAAoJEN9v2XEwYDfZQrUP/RdXj/ug35e+u+VD1ts9/b8n -7JihJmxngEZQAJECNTMbJ7mNj6DhpMY0Jg/Hwg7zJT28T6QDeS1Iuk3Id4uM5eFa -CgHKAZumntSMTkQdNvnCEFEIqu+L8BtBYGcOaw66wAFNFw3jdJUUs2sOST2r46jR -N7aY9oARKJuHfgTZ2BI2zL0Q+poXM1O0k/U+BScE6c139zJsbg+1uM9kGVtJWPkM -EPLFWkbTgjYnt+qEFrDlWL0YFOS42sgR7P1sVfBC1nAu5lwgzPy62OtGv9WCEBhm -3+PRNZ0KLW8CKp06llG/0bG4QwssWs6p/vPwrRGeAg6pKsRNN1ni27AnDThiPgvz -YbBLgU+EZj1HuibvYArHXNKY2+O5ZC3nYU6bdAffl3TAtrGFA1ncZXGiFD5UgOQ2 -V9Q38S41FUEwKGtf9tWGCRTxrb4FQ1CDzJglV9vHKetn4mgH/HpEG/q07k4RNW5d -ikfrS0xFxbqtLjlY3UqvtkrFyVQFY093ozsP7fKsq53JAtEWc3YvXR8UCbliU+gV -5qug0REBQafe9EAyH+oq0dzD2BZ3KtFcjtKI/2UzAf3idcyygsHgcEPQObqI8BfD -NscEMjdFY7+Zh5w2shQlyq4xr2aI2nXCX3+AMcS/6Yfg6W6fBvgIjtmXBrQsbWpV -DBcx50TVDa/ERBX1+FI1 -=skPR ------END PGP SIGNATURE----- diff --git a/coreutils-8.28.tar.xz b/coreutils-8.28.tar.xz new file mode 100644 index 0000000..ca0c56f --- /dev/null +++ b/coreutils-8.28.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1117b1a16039ddd84d51a9923948307cfa28c2cea03d1a2438742253df0a0c65 +size 5252336 diff --git a/coreutils-8.28.tar.xz.sig b/coreutils-8.28.tar.xz.sig new file mode 100644 index 0000000..9484711 --- /dev/null +++ b/coreutils-8.28.tar.xz.sig @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +iQIcBAABAgAGBQJZqhkfAAoJEN9v2XEwYDfZZEQP/REePQxk2OXPSRSyYSaazIeP +gDno1D4tcHXHhvl210ouOEvCGux6tJtHmCQ5Y43Dkt56DJ3Eb9dk2JYrisvcrJhv +3m098YY2hseVLJ7M3jnf9slAXBrS23i+mUWHADeRpFIJZQQz1KEZVb1gsI0FO9Ch +Qp64hBPB4X1Ydxz57KywUpEgBC9Cj0KwWW9L6jIHK+V1izLoI1JslUxHXkyTy9as +WjmDuJp1nMewjbAza//HHNiqote59JewuLcxiA9EdK8jzQZXF+fbRasFO3XEobMl +0WYtN0MwYN2576xSGwTyp7IakFcNHjWciE9SuvPmg/VCLELV6vl4VJXAmv/kQKeE +whVq7kfdzRAKDwUXdXyCqzYSEi1+N+2izJaI4twgExDwm89OApe6aka8UBbqClyz +cn4UmqYMgjwvKXPJtqMUmzEwAzDxuXQJL6Uj5kY8RJLCqBv/eN+YoxODTZz3oDGU +988K6K2Q9QaOGSNJHiBrgddCARuxeRVizbDSi2GcSQdPRbTM4g7YK//KE8LoKdil +ngIeam0vomPJnJqI03U1wGKhxsDqOEEQ3CFch7mQ2S1eWtqeag3arcBVALZUdCzX +hckiSXd0Yuks8AyHb8LH7/3h1BJUWVg/v7iQ2E3UMHAE78Ww28MyppMhy+4U9knU +Dp2VXtxBOJVXJETdVFXY +=7Q/5 +-----END PGP SIGNATURE----- diff --git a/coreutils-cve-2017-7476-out-of-bounds-with-large-tz.patch b/coreutils-cve-2017-7476-out-of-bounds-with-large-tz.patch deleted file mode 100644 index 3d27a8f..0000000 --- a/coreutils-cve-2017-7476-out-of-bounds-with-large-tz.patch +++ /dev/null @@ -1,216 +0,0 @@ -# Upstream fix on top of coreutils-v8.27: -# Add upstream patch to fix an heap overflow security issue -# in date(1) and touch(1) with a large TZ variable -# (CVE-2017-7476, rh#1444774, boo#1037124). - -This issue is already fixed upstream, so here in openSUSE -we're just picking up the patches: - -* [PATCH 1/2] Upstream gnulib fix: - http://git.sv.gnu.org/cgit/gnulib.git/commit/?id=94e015715078 - - FWIW, this patch has been picked up by upstream coreutils by - the following update to latest gnulib: - http://git.sv.gnu.org/cgit/coreutils.git/commit/?id=5d4be52a982e - -* [PATCH 2/2] Upstream coreutils test: - http://git.sv.gnu.org/cgit/coreutils.git/commit/?id=9287ef2b1707 - -This downstream patch squashes both commits into one. -Here are the original commit messages. - -================================================================================ -From 94e01571507835ff59dd8ce2a0b56a4b566965a4 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?P=C3=A1draig=20Brady?= -Date: Mon, 24 Apr 2017 01:43:36 -0700 -Subject: [PATCH 1/2] time_rz: fix heap buffer overflow vulnerability - -This issue has been assigned CVE-2017-7476 and was -detected with American Fuzzy Lop 2.41b run on the -coreutils date(1) program with ASAN enabled. - - ERROR: AddressSanitizer: heap-buffer-overflow on address 0x... - WRITE of size 8 at 0x60d00000cff8 thread T0 - #1 0x443020 in extend_abbrs lib/time_rz.c:88 - #2 0x443356 in save_abbr lib/time_rz.c:155 - #3 0x44393f in localtime_rz lib/time_rz.c:290 - #4 0x41e4fe in parse_datetime2 lib/parse-datetime.y:1798 - -A minimized reproducer is the following 120 byte TZ value, -which goes beyond the value of ABBR_SIZE_MIN (119) on x86_64. -Extend the aa...b portion to overwrite more of the heap. - - date -d $(printf 'TZ="aaa%020daaaaaab%089d"') - -localtime_rz and mktime_z were affected since commit 4bc76593. -parse_datetime was affected since commit 4e6e16b3f. - -* lib/time_rz.c (save_abbr): Rearrange the calculation determining -whether there is enough buffer space available. The rearrangement -ensures we're only dealing with positive numbers, thus avoiding -the problematic promotion of signed to unsigned causing an invalid -comparison when zone_copy is more than ABBR_SIZE_MIN bytes beyond -the start of the buffer. -* tests/test-parse-datetime.c (main): Add a test case written by -Paul Eggert, which overwrites enough of the heap so that -standard glibc will fail with "free(): invalid pointer" -without the patch applied. -Reported and analyzed at https://bugzilla.redhat.com/1444774 - -================================================================================ -From 9287ef2b1707e2a222f8ae776ce3785abcb16fba Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?P=C3=A1draig=20Brady?= -Date: Wed, 26 Apr 2017 20:51:39 -0700 -Subject: [PATCH 2/2] date,touch: test and document large TZ security issue - -Add a test for CVE-2017-7476 which was fixed in gnulib at: -http://git.sv.gnu.org/gitweb/?p=gnulib.git;a=commitdiff;h=94e01571 - -* tests/misc/date-tz.sh: Add a new test which overwrites enough -of the heap to trigger a segfault, even without ASAN enabled. -* tests/local.mk: Reference the new test. -* NEWS: Mention the bug fix. - ---- - NEWS | 9 +++++++++ - gnulib-tests/test-parse-datetime.c | 16 ++++++++++++++++ - lib/time_rz.c | 15 +++++++++++++-- - tests/local.mk | 1 + - tests/misc/date-tz.sh | 26 ++++++++++++++++++++++++++ - 5 files changed, 65 insertions(+), 2 deletions(-) - -Index: NEWS -=================================================================== ---- NEWS.orig -+++ NEWS -@@ -1,5 +1,14 @@ - GNU coreutils NEWS -*- outline -*- - -+* Noteworthy openSUSE changes after release 8.27 [downstream] -+ -+** Bug fixes -+ -+ date and touch no longer overwrite the heap with large -+ user specified TZ values (CVE-2017-7476). -+ [bug introduced in coreutils-8.27] -+ -+ - * Noteworthy changes in release 8.27 (2017-03-08) [stable] - - ** Bug fixes -Index: gnulib-tests/test-parse-datetime.c -=================================================================== ---- gnulib-tests/test-parse-datetime.c.orig -+++ gnulib-tests/test-parse-datetime.c -@@ -432,5 +432,21 @@ main (int argc _GL_UNUSED, char **argv) - ASSERT ( parse_datetime (&result, "TZ=\"\\\\\"", &now)); - ASSERT ( parse_datetime (&result, "TZ=\"\\\"\"", &now)); - -+ /* Outlandishly-long time zone abbreviations should not cause problems. */ -+ { -+ static char const bufprefix[] = "TZ=\""; -+ enum { tzname_len = 2000 }; -+ static char const bufsuffix[] = "0\" 1970-01-01 01:02:03.123456789"; -+ enum { bufsize = sizeof bufprefix - 1 + tzname_len + sizeof bufsuffix }; -+ char buf[bufsize]; -+ memcpy (buf, bufprefix, sizeof bufprefix - 1); -+ memset (buf + sizeof bufprefix - 1, 'X', tzname_len); -+ strcpy (buf + bufsize - sizeof bufsuffix, bufsuffix); -+ ASSERT (parse_datetime (&result, buf, &now)); -+ LOG (buf, now, result); -+ ASSERT (result.tv_sec == 1 * 60 * 60 + 2 * 60 + 3 -+ && result.tv_nsec == 123456789); -+ } -+ - return 0; - } -Index: lib/time_rz.c -=================================================================== ---- lib/time_rz.c.orig -+++ lib/time_rz.c -@@ -27,6 +27,7 @@ - #include - - #include -+#include - #include - #include - #include -@@ -35,6 +36,10 @@ - #include "flexmember.h" - #include "time-internal.h" - -+#ifndef SIZE_MAX -+# define SIZE_MAX ((size_t) -1) -+#endif -+ - #if !HAVE_TZSET - static void tzset (void) { } - #endif -@@ -43,7 +48,7 @@ static void tzset (void) { } - the largest "small" request for the GNU C library malloc. */ - enum { DEFAULT_MXFAST = 64 * sizeof (size_t) / 4 }; - --/* Minimum size of the ABBRS member of struct abbr. ABBRS is larger -+/* Minimum size of the ABBRS member of struct tm_zone. ABBRS is larger - only in the unlikely case where an abbreviation longer than this is - used. */ - enum { ABBR_SIZE_MIN = DEFAULT_MXFAST - offsetof (struct tm_zone, abbrs) }; -@@ -150,7 +155,13 @@ save_abbr (timezone_t tz, struct tm *tm) - if (! (*zone_copy || (zone_copy == tz->abbrs && tz->tz_is_set))) - { - size_t zone_size = strlen (zone) + 1; -- if (zone_size < tz->abbrs + ABBR_SIZE_MIN - zone_copy) -+ size_t zone_used = zone_copy - tz->abbrs; -+ if (SIZE_MAX - zone_used < zone_size) -+ { -+ errno = ENOMEM; -+ return false; -+ } -+ if (zone_used + zone_size < ABBR_SIZE_MIN) - extend_abbrs (zone_copy, zone, zone_size); - else - { -Index: tests/local.mk -=================================================================== ---- tests/local.mk.orig -+++ tests/local.mk -@@ -282,6 +282,7 @@ all_tests = \ - tests/misc/csplit-suppress-matched.pl \ - tests/misc/date-debug.sh \ - tests/misc/date-sec.sh \ -+ tests/misc/date-tz.sh \ - tests/misc/dircolors.pl \ - tests/misc/dirname.pl \ - tests/misc/env-null.sh \ -Index: tests/misc/date-tz.sh -=================================================================== ---- /dev/null -+++ tests/misc/date-tz.sh -@@ -0,0 +1,26 @@ -+#!/bin/sh -+# Verify TZ processing. -+ -+# Copyright (C) 2017 Free Software Foundation, Inc. -+ -+# This program is free software: you can redistribute it and/or modify -+# it under the terms of the GNU General Public License as published by -+# the Free Software Foundation, either version 3 of the License, or -+# (at your option) any later version. -+ -+# 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, see . -+ -+. "${srcdir=.}/tests/init.sh"; path_prepend_ ./src -+print_ver_ date -+ -+# coreutils-8.27 would overwrite the heap with large TZ values -+tz_long=$(printf '%2000s' | tr ' ' a) -+date -d "TZ=\"${tz_long}0\" 2017" || fail=1 -+ -+Exit $fail diff --git a/coreutils-disable_tests.patch b/coreutils-disable_tests.patch index b7e2731..7315b11 100644 --- a/coreutils-disable_tests.patch +++ b/coreutils-disable_tests.patch @@ -1,27 +1,23 @@ --- - gnulib-tests/gnulib.mk | 12 ++++++------ - 1 file changed, 6 insertions(+), 6 deletions(-) + gnulib-tests/gnulib.mk | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) Index: gnulib-tests/gnulib.mk =================================================================== --- gnulib-tests/gnulib.mk.orig +++ gnulib-tests/gnulib.mk -@@ -893,12 +893,12 @@ EXTRA_DIST += test-getloadavg.c signatur - ## end gnulib module getloadavg-tests +@@ -895,10 +895,10 @@ EXTRA_DIST += test-getloadavg.c signatur ## begin gnulib module getlogin-tests -- + -TESTS += test-getlogin -check_PROGRAMS += test-getlogin -test_getlogin_LDADD = $(LDADD) $(LIB_GETLOGIN) --EXTRA_DIST += test-getlogin.c signature.h macros.h -- -+# +-EXTRA_DIST += test-getlogin.c test-getlogin.h signature.h macros.h +#TESTS += test-getlogin +#check_PROGRAMS += test-getlogin +#test_getlogin_LDADD = $(LDADD) $(LIB_GETLOGIN) -+#EXTRA_DIST += test-getlogin.c signature.h macros.h -+# ++#EXTRA_DIST += test-getlogin.c test-getlogin.h signature.h macros.h + ## end gnulib module getlogin-tests - ## begin gnulib module getndelim2-tests diff --git a/coreutils-i18n.patch b/coreutils-i18n.patch index 02a22f3..d584b89 100644 --- a/coreutils-i18n.patch +++ b/coreutils-i18n.patch @@ -41,7 +41,7 @@ Index: bootstrap.conf =================================================================== --- bootstrap.conf.orig +++ bootstrap.conf -@@ -152,6 +152,7 @@ gnulib_modules=" +@@ -154,6 +154,7 @@ gnulib_modules=" maintainer-makefile malloc-gnu manywarnings @@ -53,7 +53,7 @@ Index: configure.ac =================================================================== --- configure.ac.orig +++ configure.ac -@@ -429,6 +429,8 @@ fi +@@ -433,6 +433,8 @@ fi # I'm leaving it here for now. This whole thing needs to be modernized... gl_WINSIZE_IN_PTEM @@ -944,15 +944,15 @@ Index: src/expand-common.c =================================================================== --- src/expand-common.c.orig +++ src/expand-common.c -@@ -18,6 +18,7 @@ - +@@ -19,6 +19,7 @@ + #include #include #include +#include #include "system.h" #include "die.h" #include "error.h" -@@ -105,6 +106,119 @@ set_extend_size (uintmax_t tabval) +@@ -126,6 +127,119 @@ set_increment_size (uintmax_t tabval) return ok; } @@ -1109,7 +1109,7 @@ Index: src/expand.c #include "system.h" #include "die.h" #include "xstrndup.h" -@@ -100,19 +103,41 @@ expand (void) +@@ -98,19 +101,41 @@ expand (void) { /* Input stream. */ FILE *fp = next_file (NULL); @@ -1155,7 +1155,7 @@ Index: src/expand.c /* The following variables have valid values only when CONVERT is true: */ -@@ -122,17 +147,48 @@ expand (void) +@@ -120,17 +145,48 @@ expand (void) /* Index in TAB_LIST of next tab stop to examine. */ size_t tab_index = 0; @@ -1208,7 +1208,7 @@ Index: src/expand.c { /* Column the next input tab stop is on. */ uintmax_t next_tab_column; -@@ -151,32 +207,34 @@ expand (void) +@@ -149,32 +205,34 @@ expand (void) if (putchar (' ') < 0) die (EXIT_FAILURE, errno, _("write error")); @@ -2043,7 +2043,7 @@ Index: src/join.c xfields (line); if (prevline[which - 1]) -@@ -567,21 +807,28 @@ prfield (size_t n, struct line const *li +@@ -563,21 +803,28 @@ prfield (size_t n, struct line const *li /* Output all the fields in line, other than the join field. */ @@ -2075,7 +2075,7 @@ Index: src/join.c prfield (i, line); } } -@@ -592,7 +839,6 @@ static void +@@ -588,7 +835,6 @@ static void prjoin (struct line const *line1, struct line const *line2) { const struct outlist *outlist; @@ -2083,7 +2083,7 @@ Index: src/join.c size_t field; struct line const *line; -@@ -626,7 +872,7 @@ prjoin (struct line const *line1, struct +@@ -622,7 +868,7 @@ prjoin (struct line const *line1, struct o = o->next; if (o == NULL) break; @@ -2092,7 +2092,7 @@ Index: src/join.c } putchar (eolchar); } -@@ -1104,20 +1350,43 @@ main (int argc, char **argv) +@@ -1099,20 +1345,43 @@ main (int argc, char **argv) case 't': { @@ -2369,7 +2369,7 @@ Index: src/pr.c use_col_separator = true; if (optarg) separator_string (optarg); -@@ -1166,10 +1250,45 @@ getoptnum (const char *n_str, int min, i +@@ -1165,10 +1249,45 @@ getoptnum (const char *n_str, int min, i a number. */ static void @@ -2417,7 +2417,7 @@ Index: src/pr.c if (*arg) { long int tmp_long; -@@ -1191,6 +1310,11 @@ static void +@@ -1190,6 +1309,11 @@ static void init_parameters (int number_of_files) { int chars_used_by_number = 0; @@ -2429,7 +2429,7 @@ Index: src/pr.c lines_per_body = lines_per_page - lines_per_header - lines_per_footer; if (lines_per_body <= 0) -@@ -1228,7 +1352,7 @@ init_parameters (int number_of_files) +@@ -1227,7 +1351,7 @@ init_parameters (int number_of_files) else col_sep_string = column_separator; @@ -2438,7 +2438,7 @@ Index: src/pr.c use_col_separator = true; } /* It's rather pointless to define a TAB separator with column -@@ -1258,11 +1382,11 @@ init_parameters (int number_of_files) +@@ -1257,11 +1381,11 @@ init_parameters (int number_of_files) + TAB_WIDTH (chars_per_input_tab, chars_per_number); */ /* Estimate chars_per_text without any margin and keep it constant. */ @@ -2452,7 +2452,7 @@ Index: src/pr.c /* The number is part of the column width unless we are printing files in parallel. */ -@@ -1271,7 +1395,7 @@ init_parameters (int number_of_files) +@@ -1270,7 +1394,7 @@ init_parameters (int number_of_files) } int sep_chars, useful_chars; @@ -2461,7 +2461,7 @@ Index: src/pr.c sep_chars = INT_MAX; if (INT_SUBTRACT_WRAPV (chars_per_line - chars_used_by_number, sep_chars, &useful_chars)) -@@ -1294,7 +1418,7 @@ init_parameters (int number_of_files) +@@ -1293,7 +1417,7 @@ init_parameters (int number_of_files) We've to use 8 as the lower limit, if we use chars_per_default_tab = 8 to expand a tab which is not an input_tab-char. */ free (clump_buff); @@ -2470,7 +2470,7 @@ Index: src/pr.c } /* Open the necessary files, -@@ -1402,7 +1526,7 @@ init_funcs (void) +@@ -1399,7 +1523,7 @@ init_funcs (void) /* Enlarge p->start_position of first column to use the same form of padding_not_printed with all columns. */ @@ -2479,7 +2479,7 @@ Index: src/pr.c /* This loop takes care of all but the rightmost column. */ -@@ -1436,7 +1560,7 @@ init_funcs (void) +@@ -1433,7 +1557,7 @@ init_funcs (void) } else { @@ -2488,7 +2488,7 @@ Index: src/pr.c h_next = h + chars_per_column; } } -@@ -1727,9 +1851,9 @@ static void +@@ -1724,9 +1848,9 @@ static void align_column (COLUMN *p) { padding_not_printed = p->start_position; @@ -2500,7 +2500,7 @@ Index: src/pr.c padding_not_printed = ANYWHERE; } -@@ -2004,13 +2128,13 @@ store_char (char c) +@@ -2001,13 +2125,13 @@ store_char (char c) /* May be too generous. */ buff = X2REALLOC (buff, &buff_allocated); } @@ -2516,7 +2516,7 @@ Index: src/pr.c char *s; int num_width; -@@ -2027,22 +2151,24 @@ add_line_number (COLUMN *p) +@@ -2024,22 +2148,24 @@ add_line_number (COLUMN *p) /* Tabification is assumed for multiple columns, also for n-separators, but 'default n-separator = TAB' hasn't been given priority over equal column_width also specified by POSIX. */ @@ -2545,7 +2545,7 @@ Index: src/pr.c output_position = POS_AFTER_TAB (chars_per_output_tab, output_position); } -@@ -2203,7 +2329,7 @@ print_white_space (void) +@@ -2198,7 +2324,7 @@ print_white_space (void) while (goal - h_old > 1 && (h_new = POS_AFTER_TAB (chars_per_output_tab, h_old)) <= goal) { @@ -2554,7 +2554,7 @@ Index: src/pr.c h_old = h_new; } while (++h_old <= goal) -@@ -2223,6 +2349,7 @@ print_sep_string (void) +@@ -2218,6 +2344,7 @@ print_sep_string (void) { char const *s = col_sep_string; int l = col_sep_length; @@ -2562,7 +2562,7 @@ Index: src/pr.c if (separators_not_printed <= 0) { -@@ -2234,6 +2361,7 @@ print_sep_string (void) +@@ -2229,6 +2356,7 @@ print_sep_string (void) { for (; separators_not_printed > 0; --separators_not_printed) { @@ -2570,7 +2570,7 @@ Index: src/pr.c while (l-- > 0) { /* 3 types of sep_strings: spaces only, spaces and chars, -@@ -2247,12 +2375,15 @@ print_sep_string (void) +@@ -2242,12 +2370,15 @@ print_sep_string (void) } else { @@ -2587,7 +2587,7 @@ Index: src/pr.c /* sep_string ends with some spaces */ if (spaces_not_printed > 0) print_white_space (); -@@ -2280,7 +2411,7 @@ print_clump (COLUMN *p, int n, char *clu +@@ -2275,7 +2406,7 @@ print_clump (COLUMN *p, int n, char *clu required number of tabs and spaces. */ static void @@ -2596,7 +2596,7 @@ Index: src/pr.c { if (tabify_output) { -@@ -2304,6 +2435,74 @@ print_char (char c) +@@ -2299,6 +2430,74 @@ print_char (char c) putchar (c); } @@ -2671,7 +2671,7 @@ Index: src/pr.c /* Skip to page PAGE before printing. PAGE may be larger than total number of pages. */ -@@ -2483,9 +2682,9 @@ read_line (COLUMN *p) +@@ -2476,9 +2675,9 @@ read_line (COLUMN *p) align_empty_cols = false; } @@ -2683,8 +2683,8 @@ Index: src/pr.c padding_not_printed = ANYWHERE; } -@@ -2555,7 +2754,7 @@ print_stored (COLUMN *p) - int i; +@@ -2547,7 +2746,7 @@ print_stored (COLUMN *p) + COLUMN *q; int line = p->current_line++; - char *first = &buff[line_vector[line]]; @@ -2692,7 +2692,7 @@ Index: src/pr.c /* FIXME UMR: Uninitialized memory read: * This is occurring while in: -@@ -2567,7 +2766,7 @@ print_stored (COLUMN *p) +@@ -2559,7 +2758,7 @@ print_stored (COLUMN *p) xmalloc [xmalloc.c:94] init_store_cols [pr.c:1648] */ @@ -2701,7 +2701,7 @@ Index: src/pr.c pad_vertically = true; -@@ -2586,9 +2785,9 @@ print_stored (COLUMN *p) +@@ -2579,9 +2778,9 @@ print_stored (COLUMN *p) } } @@ -2713,7 +2713,7 @@ Index: src/pr.c padding_not_printed = ANYWHERE; } -@@ -2601,8 +2800,8 @@ print_stored (COLUMN *p) +@@ -2594,8 +2793,8 @@ print_stored (COLUMN *p) if (spaces_not_printed == 0) { output_position = p->start_position + end_vector[line]; @@ -2724,7 +2724,7 @@ Index: src/pr.c } return true; -@@ -2621,7 +2820,7 @@ print_stored (COLUMN *p) +@@ -2614,7 +2813,7 @@ print_stored (COLUMN *p) number of characters is 1.) */ static int @@ -2733,7 +2733,7 @@ Index: src/pr.c { unsigned char uc = c; char *s = clump_buff; -@@ -2631,10 +2830,10 @@ char_to_clump (char c) +@@ -2624,10 +2823,10 @@ char_to_clump (char c) int chars; int chars_per_c = 8; @@ -2746,7 +2746,7 @@ Index: src/pr.c { width = TAB_WIDTH (chars_per_c, input_position); -@@ -2715,6 +2914,164 @@ char_to_clump (char c) +@@ -2708,6 +2907,164 @@ char_to_clump (char c) return chars; } @@ -2930,7 +2930,7 @@ Index: src/sort.c #include "system.h" #include "argmatch.h" #include "die.h" -@@ -165,14 +173,39 @@ static int decimal_point; +@@ -169,14 +177,39 @@ static int decimal_point; /* Thousands separator; if -1, then there isn't one. */ static int thousands_sep; @@ -2971,7 +2971,7 @@ Index: src/sort.c /* The kind of blanks for '-b' to skip in various options. */ enum blanktype { bl_start, bl_end, bl_both }; -@@ -346,13 +379,11 @@ static bool reverse; +@@ -350,13 +383,11 @@ static bool reverse; they were read if all keys compare equal. */ static bool stable; @@ -2988,7 +2988,7 @@ Index: src/sort.c /* Flag to remove consecutive duplicate lines from the output. Only the last of a sequence of equal lines will be output. */ -@@ -811,6 +842,46 @@ reap_all (void) +@@ -814,6 +845,46 @@ reap_all (void) reap (-1); } @@ -3035,7 +3035,7 @@ Index: src/sort.c /* Clean up any remaining temporary files. */ static void -@@ -1255,7 +1326,7 @@ zaptemp (char const *name) +@@ -1264,7 +1335,7 @@ zaptemp (char const *name) free (node); } @@ -3044,7 +3044,7 @@ Index: src/sort.c static int struct_month_cmp (void const *m1, void const *m2) -@@ -1270,7 +1341,7 @@ struct_month_cmp (void const *m1, void c +@@ -1279,7 +1350,7 @@ struct_month_cmp (void const *m1, void c /* Initialize the character class tables. */ static void @@ -3053,7 +3053,7 @@ Index: src/sort.c { size_t i; -@@ -1282,7 +1353,7 @@ inittables (void) +@@ -1291,7 +1362,7 @@ inittables (void) fold_toupper[i] = toupper (i); } @@ -3062,7 +3062,7 @@ Index: src/sort.c /* If we're not in the "C" locale, read different names for months. */ if (hard_LC_TIME) { -@@ -1364,6 +1435,84 @@ specify_nmerge (int oi, char c, char con +@@ -1373,6 +1444,84 @@ specify_nmerge (int oi, char c, char con xstrtol_fatal (e, oi, c, long_options, s); } @@ -3147,7 +3147,7 @@ Index: src/sort.c /* Specify the amount of main memory to use when sorting. */ static void specify_sort_size (int oi, char c, char const *s) -@@ -1597,7 +1746,7 @@ buffer_linelim (struct buffer const *buf +@@ -1604,7 +1753,7 @@ buffer_linelim (struct buffer const *buf by KEY in LINE. */ static char * @@ -3156,7 +3156,7 @@ Index: src/sort.c { char *ptr = line->text, *lim = ptr + line->length - 1; size_t sword = key->sword; -@@ -1606,10 +1755,10 @@ begfield (struct line const *line, struc +@@ -1613,10 +1762,10 @@ begfield (struct line const *line, struc /* The leading field separator itself is included in a field when -t is absent. */ @@ -3169,7 +3169,7 @@ Index: src/sort.c ++ptr; if (ptr < lim) ++ptr; -@@ -1635,11 +1784,70 @@ begfield (struct line const *line, struc +@@ -1642,11 +1791,70 @@ begfield (struct line const *line, struc return ptr; } @@ -3241,7 +3241,7 @@ Index: src/sort.c { char *ptr = line->text, *lim = ptr + line->length - 1; size_t eword = key->eword, echar = key->echar; -@@ -1654,10 +1862,10 @@ limfield (struct line const *line, struc +@@ -1661,10 +1869,10 @@ limfield (struct line const *line, struc 'beginning' is the first character following the delimiting TAB. Otherwise, leave PTR pointing at the first 'blank' character after the preceding field. */ @@ -3254,7 +3254,7 @@ Index: src/sort.c ++ptr; if (ptr < lim && (eword || echar)) ++ptr; -@@ -1703,10 +1911,10 @@ limfield (struct line const *line, struc +@@ -1710,10 +1918,10 @@ limfield (struct line const *line, struc */ /* Make LIM point to the end of (one byte past) the current field. */ @@ -3267,7 +3267,7 @@ Index: src/sort.c if (newlim) lim = newlim; } -@@ -1737,6 +1945,130 @@ limfield (struct line const *line, struc +@@ -1744,6 +1952,130 @@ limfield (struct line const *line, struc return ptr; } @@ -3398,7 +3398,7 @@ Index: src/sort.c /* Fill BUF reading from FP, moving buf->left bytes from the end of buf->buf to the beginning first. If EOF is reached and the file wasn't terminated by a newline, supply one. Set up BUF's line -@@ -1823,8 +2155,22 @@ fillbuf (struct buffer *buf, FILE *fp, c +@@ -1830,8 +2162,22 @@ fillbuf (struct buffer *buf, FILE *fp, c else { if (key->skipsblanks) @@ -3423,7 +3423,7 @@ Index: src/sort.c line->keybeg = line_start; } } -@@ -1958,12 +2304,10 @@ find_unit_order (char const *number) +@@ -1965,12 +2311,10 @@ find_unit_order (char const *number) < K/k < M < G < T < P < E < Z < Y */ static int @@ -3439,7 +3439,7 @@ Index: src/sort.c int diff = find_unit_order (a) - find_unit_order (b); return (diff ? diff : strnumcmp (a, b, decimal_point, thousands_sep)); -@@ -1974,7 +2318,7 @@ human_numcompare (char const *a, char co +@@ -1981,7 +2325,7 @@ human_numcompare (char const *a, char co hideously fast. */ static int @@ -3448,7 +3448,7 @@ Index: src/sort.c { while (blanks[to_uchar (*a)]) a++; -@@ -1984,6 +2328,25 @@ numcompare (char const *a, char const *b +@@ -1991,6 +2335,25 @@ numcompare (char const *a, char const *b return strnumcmp (a, b, decimal_point, thousands_sep); } @@ -3474,7 +3474,7 @@ Index: src/sort.c /* Work around a problem whereby the long double value returned by glibc's strtold ("NaN", ...) contains uninitialized bits: clear all bytes of A and B before calling strtold. FIXME: remove this function once -@@ -2034,7 +2397,7 @@ general_numcompare (char const *sa, char +@@ -2041,7 +2404,7 @@ general_numcompare (char const *sa, char Return 0 if the name in S is not recognized. */ static int @@ -3483,7 +3483,7 @@ Index: src/sort.c { size_t lo = 0; size_t hi = MONTHS_PER_YEAR; -@@ -2310,15 +2673,14 @@ debug_key (struct line const *line, stru +@@ -2317,15 +2680,14 @@ debug_key (struct line const *line, stru char saved = *lim; *lim = '\0'; @@ -3501,7 +3501,7 @@ Index: src/sort.c else if (key->general_numeric) ignore_value (strtold (beg, &tighter_lim)); else if (key->numeric || key->human_numeric) -@@ -2452,7 +2814,7 @@ key_warnings (struct keyfield const *gke +@@ -2459,7 +2821,7 @@ key_warnings (struct keyfield const *gke /* Warn about significant leading blanks. */ bool implicit_skip = key_numeric (key) || key->month; bool line_offset = key->eword == 0 && key->echar != 0; /* -k1.x,1.y */ @@ -3510,7 +3510,7 @@ Index: src/sort.c && ((!key->skipsblanks && !implicit_skip) || (!key->skipsblanks && key->schar) || (!key->skipeblanks && key->echar))) -@@ -2510,11 +2872,87 @@ key_warnings (struct keyfield const *gke +@@ -2517,11 +2879,87 @@ key_warnings (struct keyfield const *gke error (0, 0, _("option '-r' only applies to last-resort comparison")); } @@ -3599,7 +3599,7 @@ Index: src/sort.c { struct keyfield *key = keylist; -@@ -2599,7 +3037,7 @@ keycompare (struct line const *a, struct +@@ -2606,7 +3044,7 @@ keycompare (struct line const *a, struct else if (key->human_numeric) diff = human_numcompare (ta, tb); else if (key->month) @@ -3608,7 +3608,7 @@ Index: src/sort.c else if (key->random) diff = compare_random (ta, tlena, tb, tlenb); else if (key->version) -@@ -2715,6 +3153,211 @@ keycompare (struct line const *a, struct +@@ -2722,6 +3160,211 @@ keycompare (struct line const *a, struct return key->reverse ? -diff : diff; } @@ -3820,16 +3820,16 @@ Index: src/sort.c /* Compare two lines A and B, returning negative, zero, or positive depending on whether A compares less than, equal to, or greater than B. */ -@@ -2742,7 +3385,7 @@ compare (struct line const *a, struct li +@@ -2749,7 +3392,7 @@ compare (struct line const *a, struct li diff = - NONZERO (blen); else if (blen == 0) diff = 1; - else if (hard_LC_COLLATE) + else if (hard_LC_COLLATE && !folding) { - /* Note xmemcoll0 is a performance enhancement as + /* xmemcoll0 is a performance enhancement as it will not unconditionally write '\0' after the -@@ -4139,6 +4782,7 @@ set_ordering (char const *s, struct keyf +@@ -4144,6 +4787,7 @@ set_ordering (char const *s, struct keyf break; case 'f': key->translate = fold_toupper; @@ -3837,7 +3837,7 @@ Index: src/sort.c break; case 'g': key->general_numeric = true; -@@ -4218,7 +4862,7 @@ main (int argc, char **argv) +@@ -4223,7 +4867,7 @@ main (int argc, char **argv) initialize_exit_failure (SORT_FAILURE); hard_LC_COLLATE = hard_locale (LC_COLLATE); @@ -3846,7 +3846,7 @@ Index: src/sort.c hard_LC_TIME = hard_locale (LC_TIME); #endif -@@ -4239,6 +4883,29 @@ main (int argc, char **argv) +@@ -4244,6 +4888,29 @@ main (int argc, char **argv) thousands_sep = -1; } @@ -3876,7 +3876,7 @@ Index: src/sort.c have_read_stdin = false; inittables (); -@@ -4513,13 +5180,34 @@ main (int argc, char **argv) +@@ -4518,13 +5185,34 @@ main (int argc, char **argv) case 't': { @@ -3915,7 +3915,7 @@ Index: src/sort.c else { /* Provoke with 'sort -txx'. Complain about -@@ -4530,9 +5218,11 @@ main (int argc, char **argv) +@@ -4535,9 +5223,11 @@ main (int argc, char **argv) quote (optarg)); } } @@ -3929,7 +3929,7 @@ Index: src/sort.c } break; -@@ -4770,12 +5460,10 @@ main (int argc, char **argv) +@@ -4765,12 +5455,10 @@ main (int argc, char **argv) sort (files, nfiles, outfile, nthreads); } @@ -4763,7 +4763,7 @@ Index: tests/local.mk =================================================================== --- tests/local.mk.orig +++ tests/local.mk -@@ -352,6 +352,8 @@ all_tests = \ +@@ -357,6 +357,8 @@ all_tests = \ tests/misc/sort-discrim.sh \ tests/misc/sort-files0-from.pl \ tests/misc/sort-float.sh \ @@ -4772,7 +4772,7 @@ Index: tests/local.mk tests/misc/sort-h-thousands-sep.sh \ tests/misc/sort-merge.pl \ tests/misc/sort-merge-fdlimit.sh \ -@@ -544,6 +546,7 @@ all_tests = \ +@@ -550,6 +552,7 @@ all_tests = \ tests/du/threshold.sh \ tests/du/trailing-slash.sh \ tests/du/two-args.sh \ @@ -4780,7 +4780,7 @@ Index: tests/local.mk tests/id/gnu-zero-uids.sh \ tests/id/no-context.sh \ tests/id/context.sh \ -@@ -684,6 +687,7 @@ all_tests = \ +@@ -692,6 +695,7 @@ all_tests = \ tests/touch/read-only.sh \ tests/touch/relative.sh \ tests/touch/trailing-slash.sh \ @@ -4834,8 +4834,8 @@ Index: tests/misc/expand.pl my @Tests = ( ['t1', '--tabs=3', {IN=>"a\tb"}, {OUT=>"a b"}], -@@ -152,6 +161,8 @@ my @Tests = - ['trail9', '--tab=1,2 -t/5',{IN=>"\ta\tb\tc"}, {OUT=>" a b c"}], +@@ -168,6 +177,8 @@ my @Tests = + # Test errors + # FIXME: The following tests contain ‘quoting’ specific to LC_MESSAGES @@ -4843,7 +4843,7 @@ Index: tests/misc/expand.pl ['e1', '--tabs="a"', {IN=>''}, {OUT=>''}, {EXIT=>1}, {ERR => "$prog: tab size contains invalid character(s): 'a'\n"}], ['e2', "-t $UINTMAX_OFLOW", {IN=>''}, {OUT=>''}, {EXIT=>1}, -@@ -168,6 +179,37 @@ my @Tests = +@@ -184,6 +195,37 @@ my @Tests = {ERR => "$prog: '/' specifier not at start of number: '/'\n"}], ); diff --git a/coreutils-remove_hostname_documentation.patch b/coreutils-remove_hostname_documentation.patch index 06692b2..5a37895 100644 --- a/coreutils-remove_hostname_documentation.patch +++ b/coreutils-remove_hostname_documentation.patch @@ -31,7 +31,7 @@ Index: doc/coreutils.texi * hostid invocation:: Print numeric host identifier * uptime invocation:: Print system uptime and load -@@ -15422,7 +15420,6 @@ information. +@@ -15515,7 +15513,6 @@ information. * arch invocation:: Print machine hardware name. * nproc invocation:: Print the number of processors. * uname invocation:: Print system information. @@ -39,7 +39,7 @@ Index: doc/coreutils.texi * hostid invocation:: Print numeric host identifier. * uptime invocation:: Print system uptime and load. @end menu -@@ -16266,15 +16263,6 @@ Note this is non-portable (even across G +@@ -16359,15 +16356,6 @@ Note this is non-portable (even across G Print the machine hardware name (sometimes called the hardware class or hardware type). @@ -55,7 +55,7 @@ Index: doc/coreutils.texi @item -p @itemx --processor @opindex -p -@@ -16328,34 +16316,6 @@ Print the kernel version. +@@ -16421,34 +16409,6 @@ Print the kernel version. @exitstatus diff --git a/coreutils-remove_kill_documentation.patch b/coreutils-remove_kill_documentation.patch index aa9acea..308909f 100644 --- a/coreutils-remove_kill_documentation.patch +++ b/coreutils-remove_kill_documentation.patch @@ -33,7 +33,7 @@ Index: doc/coreutils.texi Delaying * sleep invocation:: Delay for a specified time -@@ -17250,90 +17244,6 @@ the exit status of @var{command} otherwi +@@ -17369,90 +17363,6 @@ the exit status of @var{command} otherwi @end display diff --git a/coreutils-skip-gnulib-test-tls.patch b/coreutils-skip-gnulib-test-tls.patch index 0a23f1a..f5480dd 100644 --- a/coreutils-skip-gnulib-test-tls.patch +++ b/coreutils-skip-gnulib-test-tls.patch @@ -21,7 +21,7 @@ Index: gnulib-tests/gnulib.mk =================================================================== --- gnulib-tests/gnulib.mk.orig +++ gnulib-tests/gnulib.mk -@@ -2239,9 +2239,10 @@ EXTRA_DIST += test-timespec.c macros.h +@@ -2250,9 +2250,10 @@ EXTRA_DIST += test-timespec.c macros.h ## begin gnulib module tls-tests diff --git a/coreutils-tests-port-to-timezone-2017a.patch b/coreutils-tests-port-to-timezone-2017a.patch deleted file mode 100644 index 61a06f6..0000000 --- a/coreutils-tests-port-to-timezone-2017a.patch +++ /dev/null @@ -1,50 +0,0 @@ -Upstream patch on top of coreutils-8.27. -Avoid a FP of tests/misc/date-debug.sh with newer timezone-2017a. - -Upstream patch: - http://git.sv.gnu.org/cgit/coreutils.git/commit/?id=612086660b - -From 612086660bab9bf981894da146550e9101224b17 Mon Sep 17 00:00:00 2001 -From: Paul Eggert -Date: Thu, 9 Mar 2017 23:59:05 -0800 -Subject: [PATCH] tests: port to tzdb-2017a - -Problem reported by Bernhard Voelker in: -http://lists.gnu.org/archive/html/coreutils/2017-03/msg00026.html -* tests/misc/date-debug.sh: Port test to tzdb 2017a, -and future-proof the America/Belize test. ---- - tests/misc/date-debug.sh | 8 ++++++-- - 1 file changed, 6 insertions(+), 2 deletions(-) - -Index: tests/misc/date-debug.sh -=================================================================== ---- tests/misc/date-debug.sh.orig -+++ tests/misc/date-debug.sh -@@ -52,10 +52,11 @@ date: output timezone: +09:00 (set from - date: final: 661095000.000000000 (epoch-seconds) - date: final: (Y-M-D) 1990-12-13 13:30:00 (UTC0) - date: final: (Y-M-D) 1990-12-13 22:30:00 (output timezone TZ=+09:00) --Thu Dec 13 07:30:00 CST 1990 -+Thu Dec 13 07:30:00 -0600 1990 - EOF - --TZ=America/Belize date --debug -d "$in1" >out1 2>&1 || fail=1 -+TZ=America/Belize date --debug -d "$in1" +'%a %b %e %T %z %Y' >out1 2>&1 || -+ fail=1 - - compare exp1 out1 || fail=1 - -@@ -94,10 +95,10 @@ date: output timezone: -05:00 (set from - date: final: 1.000000000 (epoch-seconds) - date: final: (Y-M-D) 1970-01-01 00:00:01 (UTC0) - date: final: (Y-M-D) 1969-12-31 19:00:01 (output timezone TZ=-05:00) --Wed Dec 31 19:00:01 PET 1969 -+Wed Dec 31 19:00:01 -0500 1969 - EOF - --TZ=America/Lima date --debug -d "$in3" >out3 2>&1 || fail=1 -+TZ=America/Lima date --debug -d "$in3" +'%a %b %e %T %z %Y' >out3 2>&1 || fail=1 - compare exp3 out3 || fail=1 - - ## diff --git a/coreutils-tests-shorten-extreme-factor-tests.patch b/coreutils-tests-shorten-extreme-factor-tests.patch index c59df00..59dbe21 100644 --- a/coreutils-tests-shorten-extreme-factor-tests.patch +++ b/coreutils-tests-shorten-extreme-factor-tests.patch @@ -16,7 +16,7 @@ Index: tests/local.mk =================================================================== --- tests/local.mk.orig +++ tests/local.mk -@@ -693,14 +693,9 @@ all_tests = \ +@@ -701,14 +701,9 @@ all_tests = \ # See tests/factor/create-test.sh. tf = tests/factor factor_tests = \ diff --git a/coreutils-testsuite.changes b/coreutils-testsuite.changes index 21c4959..a2e9739 100644 --- a/coreutils-testsuite.changes +++ b/coreutils-testsuite.changes @@ -1,9 +1,27 @@ +------------------------------------------------------------------- +Mon Sep 4 18:00:24 UTC 2017 - mail@bernhard-voelker.de + +- Update to 8.28 + (for details see included NEWS file) +- Refresh patches: + * coreutils-disable_tests.patch + * coreutils-i18n.patch + * coreutils-remove_hostname_documentation.patch + * coreutils-remove_kill_documentation.patch + * coreutils-skip-gnulib-test-tls.patch + * coreutils-tests-shorten-extreme-factor-tests.patch +- coreutils.keyring: Update from upstream (Savannah). +- Remove now-upstream patches: + * coreutils-cve-2017-7476-out-of-bounds-with-large-tz.patch + * coreutils-tests-port-to-timezone-2017a.patch +- coreutils.spec: Add "BuildRequires: user(bin)" for the tests. + ------------------------------------------------------------------- Wed Aug 16 14:26:30 UTC 2017 - ghe@suse.com - Drop coreutils-ocfs2_reflinks.patch OCFS2 file system has supported file clone ioctls like btrfs, - then, coreutils doesn't need this patch from the kernel v4.10-rc1 + then, coreutils doesn't need this patch from the kernel v4.10-rc1 ------------------------------------------------------------------- Tue May 2 21:29:32 UTC 2017 - mail@bernhard-voelker.de diff --git a/coreutils-testsuite.spec b/coreutils-testsuite.spec index abd48c1..6bee904 100644 --- a/coreutils-testsuite.spec +++ b/coreutils-testsuite.spec @@ -21,7 +21,7 @@ Summary: GNU Core Utilities License: GPL-3.0+ Group: System/Base Url: http://www.gnu.org/software/coreutils/ -Version: 8.27 +Version: 8.28 Release: 0 ################################################################# @@ -53,6 +53,8 @@ BuildRequires: perl-Expect BuildRequires: python-pyinotify BuildRequires: strace BuildRequires: timezone +# Some tests need the 'bin' user. +BuildRequires: user(bin) %ifarch %ix86 x86_64 ppc ppc64 s390x armv7l armv7hl BuildRequires: valgrind %endif @@ -126,16 +128,6 @@ Patch303: coreutils-tests-shorten-extreme-factor-tests.patch Patch500: coreutils-disable_tests.patch Patch501: coreutils-test_without_valgrind.patch -# Upstream patch on top of coreutils-8.27. -# Avoid a FP of tests/misc/date-debug.sh with newer timezone-2017a. -Patch700: coreutils-tests-port-to-timezone-2017a.patch - -# Upstream fix on top of coreutils-v8.27: -# Add upstream patch to fix an heap overflow security issue -# in date(1) and touch(1) with a large TZ variable -# (CVE-2017-7476, rh#1444774, boo#1037124). -Patch710: coreutils-cve-2017-7476-out-of-bounds-with-large-tz.patch - # ================================================ %description These are the GNU core utilities. This package is the union of @@ -177,9 +169,6 @@ the GNU fileutils, sh-utils, and textutils packages. %patch500 %patch501 -%patch700 -%patch710 - #???## We need to statically link to gmp, otherwise we have a build loop #???#sed -i s,'$(LIB_GMP)',%%{_libdir}/libgmp.a,g Makefile.in diff --git a/coreutils.changes b/coreutils.changes index 21c4959..a2e9739 100644 --- a/coreutils.changes +++ b/coreutils.changes @@ -1,9 +1,27 @@ +------------------------------------------------------------------- +Mon Sep 4 18:00:24 UTC 2017 - mail@bernhard-voelker.de + +- Update to 8.28 + (for details see included NEWS file) +- Refresh patches: + * coreutils-disable_tests.patch + * coreutils-i18n.patch + * coreutils-remove_hostname_documentation.patch + * coreutils-remove_kill_documentation.patch + * coreutils-skip-gnulib-test-tls.patch + * coreutils-tests-shorten-extreme-factor-tests.patch +- coreutils.keyring: Update from upstream (Savannah). +- Remove now-upstream patches: + * coreutils-cve-2017-7476-out-of-bounds-with-large-tz.patch + * coreutils-tests-port-to-timezone-2017a.patch +- coreutils.spec: Add "BuildRequires: user(bin)" for the tests. + ------------------------------------------------------------------- Wed Aug 16 14:26:30 UTC 2017 - ghe@suse.com - Drop coreutils-ocfs2_reflinks.patch OCFS2 file system has supported file clone ioctls like btrfs, - then, coreutils doesn't need this patch from the kernel v4.10-rc1 + then, coreutils doesn't need this patch from the kernel v4.10-rc1 ------------------------------------------------------------------- Tue May 2 21:29:32 UTC 2017 - mail@bernhard-voelker.de diff --git a/coreutils.keyring b/coreutils.keyring index 34e4e97..8fa0845 100644 --- a/coreutils.keyring +++ b/coreutils.keyring @@ -807,6 +807,36 @@ c+yN4vdeplccZRYyhMi2FOLWGF7GwfmScuHUz/2Fh20LpSWC4I7umRC6YZM43Onj Nwmjme97uBlV6LYXnlGm1B0= =BG/W -----END PGP PUBLIC KEY BLOCK----- +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v2 + +mQENBFPirzMBCACyzYldTjQ4ufFOkByY5Nn5USb5GFoL48nWBwNHjd9KUbtRRNlQ +iPNKd6hKGvd3BGi5aoFKA4ytfRk6jbAbW3jVb3R8wYaV08mOy4KVEKxqN4bxsXlM +jNChXVR+rtKDmfI+oPTL+cPH2X6gW4W02IRbVw0uUhNm6zEedC/gNrY/mTlf1enZ +46jxZ7BTUZaG+kx38UMISIMBzSzLRtdkwgmHj4jS3p1fF2cwRqLclIfMjKGpbNFP +EXeXKWrCLcqHw78795eAR9q0YvrDkfInGdDBwfb3VM4NdulwIFzvYZMSXvSbbyPL +B5YkHU5aAWQHUse4WlfT5ccDpbzUYldRAvF9ABEBAAG0K0Jlcm5oYXJkIFZvZWxr +ZXIgPG1haWxAYmVybmhhcmQtdm9lbGtlci5kZT6JATkEEwECACMFAlPirzMCGwMH +CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRBGUC73lpFxle5wCACCdbs0QaJ0 +vR3Sff2cKdTk41rUq3YfWngsR///IOU0C5DdkePmCnJE/lUsUy0LRTxcUDLxQR+x +QHU8ssRT0JUO9726dI3miy36UdsgmBYaOtLvQcidGmW1R7o0PYYf04+TFtyqKgng +OUBPpMgR6o4UsQxy/OD4bN1WDqOgIjL+D/qJpkKmgp6L6+hhaBCpiOFKRmmV7YyQ +3SqVlfQNiHs5ZtkRnXpIjgZARV+GllKucI17bO0CGmTJZ1tstVy0+W3DQT1lbBkT +Tc++5LONM99D3jjn23l1ocOpfolR53F7I4cb2RNfT23v1I59RH37lB9wMOqrKj0U +jYAC2YoPGQ3BuQENBFPirzMBCADXLWWpQihBldY6reca8ZKdc3T9qXEOa3akE3DW +KztIBmNJhtYOjmpLYajQTkGa7UoJTnbmZE2Rn6ZEoNnvb0gcFNAIcY95KOI+bjOR +8HEgh4cx2REXh6L6olIgyXqt/KFusE4wtVZAFxZl+30HzN6nD+1HvrjXxPJRX6Ms +IYOYyyX9/6OofwJK6QHODYGp8WL2olHDnmsXg4AT6Wlr7qKpKrQELlcFR4xkvdmg +L/Ghw/tK0yJTxMIcewCCZWLPOXRmFRbvAadZWPAgVsJ63siNyUlVnVMSzDgTJl+s +l/DMabXpqrJQx3/1Yy6mTaDs3XZT/wmBKaTLXx/LByaPxQQ7ABEBAAGJAR8EGAEC +AAkFAlPirzMCGwwACgkQRlAu95aRcZWVPwgAqZT6iTXkoP37wYb41323RzhBcJ8J +Sk4cyBDBUXX0lMrM3qhiClKG7phpxVdu817Gwc6Hsecg7FfjQAV8MHQ0ZFeEFdk3 +b2rKBqfsStc+h49/xF3Fb+ifCzR9qeQF82fMSxkg18++7hMcHCMO/hPZ/Q0xRi+l +rSr2QKDJQuLzSyVU14TxrCkevZjEhtmaVNvcJlJzCbiBXee9Fpc5jITUXPFG8E8d +xqo1n+duOyIMgozrAnzP7X5V/Ob/Ozf/aGGX9+JdinyfCX18nWcHALKMU/36Eua/ +ylalf/2c2YkBp9KCLVmGgPkUgW52EeRPgroIsiwu+rwCSV6ZUyCJ+OymCg== +=d/K6 +-----END PGP PUBLIC KEY BLOCK----- -----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1 diff --git a/coreutils.spec b/coreutils.spec index fc4ca3f..767770b 100644 --- a/coreutils.spec +++ b/coreutils.spec @@ -21,7 +21,7 @@ Summary: GNU Core Utilities License: GPL-3.0+ Group: System/Base Url: http://www.gnu.org/software/coreutils/ -Version: 8.27 +Version: 8.28 Release: 0 ################################################################# @@ -53,6 +53,8 @@ BuildRequires: perl-Expect BuildRequires: python-pyinotify BuildRequires: strace BuildRequires: timezone +# Some tests need the 'bin' user. +BuildRequires: user(bin) %ifarch %ix86 x86_64 ppc ppc64 s390x armv7l armv7hl BuildRequires: valgrind %endif @@ -126,16 +128,6 @@ Patch303: coreutils-tests-shorten-extreme-factor-tests.patch Patch500: coreutils-disable_tests.patch Patch501: coreutils-test_without_valgrind.patch -# Upstream patch on top of coreutils-8.27. -# Avoid a FP of tests/misc/date-debug.sh with newer timezone-2017a. -Patch700: coreutils-tests-port-to-timezone-2017a.patch - -# Upstream fix on top of coreutils-v8.27: -# Add upstream patch to fix an heap overflow security issue -# in date(1) and touch(1) with a large TZ variable -# (CVE-2017-7476, rh#1444774, boo#1037124). -Patch710: coreutils-cve-2017-7476-out-of-bounds-with-large-tz.patch - # ================================================ %description These are the GNU core utilities. This package is the union of @@ -177,9 +169,6 @@ the GNU fileutils, sh-utils, and textutils packages. %patch500 %patch501 -%patch700 -%patch710 - #???## We need to statically link to gmp, otherwise we have a build loop #???#sed -i s,'$(LIB_GMP)',%%{_libdir}/libgmp.a,g Makefile.in