From a57cbc234f0cc3acbf9cdf720c79203f6af5a20ad8f7917c672debba4b5a5434 Mon Sep 17 00:00:00 2001 From: Philipp Thomas Date: Fri, 9 Mar 2012 18:02:35 +0000 Subject: [PATCH] - Update to 8.15: ** New programs realpath: print resolved file names. ** Bug fixes du --one-file-system (-x) would ignore any non-directory specified on the command line. For example, "touch f; du -x f" would print nothing. [bug introduced in coreutils-8.14] du -x no longer counts root directories of other file systems. [bug introduced in coreutils-5.1.0] ls --color many-entry-directory was uninterruptible for too long [bug introduced in coreutils-5.2.1] ls's -k option no longer affects how ls -l outputs file sizes. It now affects only the per-directory block counts written by -l, and the sizes written by -s. This is for compatibility with BSD and with POSIX 2008. Because -k is no longer equivalent to --block-size=1KiB, a new long option --kibibyte stands for -k. [bug introduced in coreutils-4.5.4] ls -l would leak a little memory (security context string) for each nonempty directory listed on the command line, when using SELinux. [bug probably introduced in coreutils-6.10 with SELinux support] split -n 1/2 FILE no longer fails when operating on a growing file, or (on some systems) when operating on a non-regular file like /dev/zero. It would report "/dev/zero: No such file or directory" even though the file obviously exists. Same for -n l/2. [bug introduced in coreutils-8.8, with the addition of the -n option] stat -f now recognizes the FhGFS and PipeFS file system types. tac no longer fails to handle two or more non-seekable inputs [bug introduced in coreutils-5.3.0] tail -f no longer tries to use inotify on GPFS or FhGFS file systems [you might say this was introduced in coreutils-7.5, along with inotify support, but the new magic numbers weren't in the usual places then.] ** Changes in behavior df avoids long UUID-including file system names in the default listing. With recent enough kernel/tools, these long names would be used, pushing second and subsequent columns far to the right. Now, when a long name refers to a symlink, and no file systems are specified, df prints the usually-short referent instead. tail -f now uses polling (not inotify) when any of its file arguments resides on a file system of unknown type. In addition, for each such argument, tail -f prints a warning with the FS type magic number and a request to report it to the bug-reporting address. - Bring german message catalog up to date. - Include upstream fix for du. - Include upstream patch fixing basename documentation. OBS-URL: https://build.opensuse.org/package/show/Base:System/coreutils?expand=0&rev=144 --- coreutils-8.14.de.po.xz | 3 - coreutils-8.14.tar.xz | 3 - coreutils-8.15.de.po.xz | 3 + coreutils-8.15.tar.xz | 3 + coreutils-8.6-i18n.patch | 142 +++++++++--------- coreutils-basename_documentation.patch | 21 +++ coreutils-fix_tac.patch | 137 ----------------- ...stem_ignores_non-directory_arguments.patch | 98 ++++++++++++ coreutils-remove_hostname_documentation.patch | 28 ++-- coreutils.changes | 63 ++++++++ coreutils.spec | 10 +- 11 files changed, 279 insertions(+), 232 deletions(-) delete mode 100644 coreutils-8.14.de.po.xz delete mode 100644 coreutils-8.14.tar.xz create mode 100644 coreutils-8.15.de.po.xz create mode 100644 coreutils-8.15.tar.xz create mode 100644 coreutils-basename_documentation.patch delete mode 100644 coreutils-fix_tac.patch create mode 100644 coreutils-one-file-system_ignores_non-directory_arguments.patch diff --git a/coreutils-8.14.de.po.xz b/coreutils-8.14.de.po.xz deleted file mode 100644 index 5417fec..0000000 --- a/coreutils-8.14.de.po.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a610e23181dcee7c0ace7ce865c6444168755daa470a7bda8b3af47e29eea7f8 -size 96312 diff --git a/coreutils-8.14.tar.xz b/coreutils-8.14.tar.xz deleted file mode 100644 index 916b771..0000000 --- a/coreutils-8.14.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:202a0fe64bc7a7b6eaef45af4d2813a4dc17a319d1f33aab9df039405aeab566 -size 5064104 diff --git a/coreutils-8.15.de.po.xz b/coreutils-8.15.de.po.xz new file mode 100644 index 0000000..cde3ff0 --- /dev/null +++ b/coreutils-8.15.de.po.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8fbae6e7639e09eb367ba2c0238b407ea571d44f832a98b0b4112812cc502186 +size 98088 diff --git a/coreutils-8.15.tar.xz b/coreutils-8.15.tar.xz new file mode 100644 index 0000000..fd38eb1 --- /dev/null +++ b/coreutils-8.15.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:837eb377414eae463fee17d0f77e6d76bed79b87bc97ef0c23887710107fd49c +size 4943172 diff --git a/coreutils-8.6-i18n.patch b/coreutils-8.6-i18n.patch index aec86dc..89999bd 100644 --- a/coreutils-8.6-i18n.patch +++ b/coreutils-8.6-i18n.patch @@ -19,18 +19,18 @@ Index: lib/linebuffer.h =================================================================== ---- lib/linebuffer.h.orig 2011-04-24 19:21:45.000000000 +0200 -+++ lib/linebuffer.h 2011-10-13 15:53:04.233558260 +0200 +--- lib/linebuffer.h.orig 2012-01-06 10:14:31.000000000 +0100 ++++ lib/linebuffer.h 2012-03-09 15:44:39.634217509 +0100 @@ -21,6 +21,11 @@ # include +/* Get mbstate_t. */ -+# if HAVE_WCHAR_H -+# include -+# endif ++#if HAVE_WCHAR_H ++# include ++#endif + - /* A `struct linebuffer' holds a line of text. */ + /* A 'struct linebuffer' holds a line of text. */ struct linebuffer @@ -28,6 +33,9 @@ struct linebuffer @@ -45,8 +45,8 @@ Index: lib/linebuffer.h /* Initialize linebuffer LINEBUFFER for use. */ Index: src/cut.c =================================================================== ---- src/cut.c.orig 2011-10-02 11:20:54.000000000 +0200 -+++ src/cut.c 2011-10-13 15:53:04.234558247 +0200 +--- src/cut.c.orig 2012-01-01 10:04:06.000000000 +0100 ++++ src/cut.c 2012-03-09 15:43:28.583977615 +0100 @@ -28,6 +28,11 @@ #include #include @@ -639,8 +639,8 @@ Index: src/cut.c if (optind == argc) Index: src/expand.c =================================================================== ---- src/expand.c.orig 2011-10-10 09:56:46.000000000 +0200 -+++ src/expand.c 2011-10-13 15:53:04.234558247 +0200 +--- src/expand.c.orig 2012-01-01 10:04:06.000000000 +0100 ++++ src/expand.c 2012-03-09 15:43:28.584977591 +0100 @@ -38,12 +38,29 @@ #include #include @@ -830,8 +830,8 @@ Index: src/expand.c error (EXIT_FAILURE, errno, "-"); Index: src/fold.c =================================================================== ---- src/fold.c.orig 2011-10-02 11:20:54.000000000 +0200 -+++ src/fold.c 2011-10-13 15:53:04.235558234 +0200 +--- src/fold.c.orig 2012-01-01 10:04:06.000000000 +0100 ++++ src/fold.c 2012-03-09 15:43:28.584977591 +0100 @@ -22,12 +22,34 @@ #include #include @@ -1232,8 +1232,8 @@ Index: src/fold.c case 's': /* Break at word boundaries. */ Index: src/join.c =================================================================== ---- src/join.c.orig 2011-10-10 09:56:46.000000000 +0200 -+++ src/join.c 2011-10-13 15:54:10.933662792 +0200 +--- src/join.c.orig 2012-01-01 10:04:06.000000000 +0100 ++++ src/join.c 2012-03-09 15:43:28.585977566 +0100 @@ -22,18 +22,32 @@ #include #include @@ -1712,8 +1712,8 @@ Index: src/join.c case NOCHECK_ORDER_OPTION: Index: src/pr.c =================================================================== ---- src/pr.c.orig 2011-10-10 09:56:46.000000000 +0200 -+++ src/pr.c 2011-10-13 15:53:04.237558208 +0200 +--- src/pr.c.orig 2012-01-01 10:04:06.000000000 +0100 ++++ src/pr.c 2012-03-09 15:47:03.432654173 +0100 @@ -312,6 +312,32 @@ #include @@ -1794,9 +1794,9 @@ Index: src/pr.c static void getoptarg (char *arg, char switch_char, char *character, + int *character_length, int *character_width, int *number); - void usage (int status); static void print_files (int number_of_files, char **av); -@@ -439,7 +491,6 @@ static void store_char (char c); + static void init_parameters (int number_of_files); +@@ -438,7 +490,6 @@ static void store_char (char c); static void pad_down (int lines); static void read_rest_of_line (COLUMN *p); static void skip_read (COLUMN *p, int column_number); @@ -1804,7 +1804,7 @@ Index: src/pr.c static void cleanup (void); static void print_sep_string (void); static void separator_string (const char *optarg_S); -@@ -451,7 +502,7 @@ static COLUMN *column_vector; +@@ -450,7 +501,7 @@ static COLUMN *column_vector; we store the leftmost columns contiguously in buff. To print a line from buff, get the index of the first character from line_vector[i], and print up to line_vector[i + 1]. */ @@ -1813,7 +1813,7 @@ Index: src/pr.c /* Index of the position in buff where the next character will be stored. */ -@@ -555,7 +606,7 @@ static int chars_per_column; +@@ -554,7 +605,7 @@ static int chars_per_column; static bool untabify_input = false; /* (-e) The input tab character. */ @@ -1822,7 +1822,7 @@ Index: src/pr.c /* (-e) Tabstops are at chars_per_tab, 2*chars_per_tab, 3*chars_per_tab, ... where the leftmost column is 1. */ -@@ -565,7 +616,10 @@ static int chars_per_input_tab = 8; +@@ -564,7 +615,10 @@ static int chars_per_input_tab = 8; static bool tabify_output = false; /* (-i) The output tab character. */ @@ -1834,7 +1834,7 @@ Index: src/pr.c /* (-i) The width of the output tab. */ static int chars_per_output_tab = 8; -@@ -639,7 +693,13 @@ static int power_10; +@@ -638,7 +692,13 @@ static int power_10; static bool numbered_lines = false; /* (-n) Character which follows each line number. */ @@ -1849,7 +1849,7 @@ Index: src/pr.c /* (-n) line counting starts with 1st line of input file (not with 1st line of 1st page printed). */ -@@ -692,6 +752,7 @@ static bool use_col_separator = false; +@@ -691,6 +751,7 @@ static bool use_col_separator = false; -a|COLUMN|-m is a `space' and with the -J option a `tab'. */ static char *col_sep_string = (char *) ""; static int col_sep_length = 0; @@ -1857,7 +1857,7 @@ Index: src/pr.c static char *column_separator = (char *) " "; static char *line_separator = (char *) "\t"; -@@ -848,6 +909,13 @@ separator_string (const char *optarg_S) +@@ -847,6 +908,13 @@ separator_string (const char *optarg_S) col_sep_length = (int) strlen (optarg_S); col_sep_string = xmalloc (col_sep_length + 1); strcpy (col_sep_string, optarg_S); @@ -1871,7 +1871,7 @@ Index: src/pr.c } int -@@ -872,6 +940,21 @@ main (int argc, char **argv) +@@ -871,6 +939,21 @@ main (int argc, char **argv) atexit (close_stdout); @@ -1893,7 +1893,7 @@ Index: src/pr.c n_files = 0; file_names = (argc > 1 ? xmalloc ((argc - 1) * sizeof (char *)) -@@ -948,8 +1031,12 @@ main (int argc, char **argv) +@@ -947,8 +1030,12 @@ main (int argc, char **argv) break; case 'e': if (optarg) @@ -1908,7 +1908,7 @@ Index: src/pr.c /* Could check tab width > 0. */ untabify_input = true; break; -@@ -962,8 +1049,12 @@ main (int argc, char **argv) +@@ -961,8 +1048,12 @@ main (int argc, char **argv) break; case 'i': if (optarg) @@ -1923,7 +1923,7 @@ Index: src/pr.c /* Could check tab width > 0. */ tabify_output = true; break; -@@ -990,8 +1081,8 @@ main (int argc, char **argv) +@@ -989,8 +1080,8 @@ main (int argc, char **argv) case 'n': numbered_lines = true; if (optarg) @@ -1934,7 +1934,7 @@ Index: src/pr.c break; case 'N': skip_count = false; -@@ -1030,7 +1121,7 @@ main (int argc, char **argv) +@@ -1029,7 +1120,7 @@ main (int argc, char **argv) old_s = false; /* Reset an additional input of -s, -S dominates -s */ col_sep_string = bad_cast (""); @@ -1943,7 +1943,7 @@ Index: src/pr.c use_col_separator = true; if (optarg) separator_string (optarg); -@@ -1187,10 +1278,45 @@ main (int argc, char **argv) +@@ -1186,10 +1277,45 @@ main (int argc, char **argv) a number. */ static void @@ -1991,7 +1991,7 @@ Index: src/pr.c if (*arg) { long int tmp_long; -@@ -1249,7 +1375,7 @@ init_parameters (int number_of_files) +@@ -1248,7 +1374,7 @@ init_parameters (int number_of_files) else col_sep_string = column_separator; @@ -2000,7 +2000,7 @@ Index: src/pr.c use_col_separator = true; } /* It's rather pointless to define a TAB separator with column -@@ -1280,11 +1406,11 @@ init_parameters (int number_of_files) +@@ -1279,11 +1405,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. */ @@ -2014,7 +2014,7 @@ Index: src/pr.c /* The number is part of the column width unless we are printing files in parallel. */ -@@ -1299,7 +1425,7 @@ init_parameters (int number_of_files) +@@ -1298,7 +1424,7 @@ init_parameters (int number_of_files) } chars_per_column = (chars_per_line - chars_used_by_number - @@ -2023,7 +2023,7 @@ Index: src/pr.c if (chars_per_column < 1) error (EXIT_FAILURE, 0, _("page width too narrow")); -@@ -1424,7 +1550,7 @@ init_funcs (void) +@@ -1423,7 +1549,7 @@ init_funcs (void) /* Enlarge p->start_position of first column to use the same form of padding_not_printed with all columns. */ @@ -2032,7 +2032,7 @@ Index: src/pr.c /* This loop takes care of all but the rightmost column. */ -@@ -1458,7 +1584,7 @@ init_funcs (void) +@@ -1457,7 +1583,7 @@ init_funcs (void) } else { @@ -2041,7 +2041,7 @@ Index: src/pr.c h_next = h + chars_per_column; } } -@@ -1749,9 +1875,9 @@ static void +@@ -1748,9 +1874,9 @@ static void align_column (COLUMN *p) { padding_not_printed = p->start_position; @@ -2053,7 +2053,7 @@ Index: src/pr.c padding_not_printed = ANYWHERE; } -@@ -2022,13 +2148,13 @@ store_char (char c) +@@ -2021,13 +2147,13 @@ store_char (char c) /* May be too generous. */ buff = X2REALLOC (buff, &buff_allocated); } @@ -2069,7 +2069,7 @@ Index: src/pr.c char *s; int left_cut; -@@ -2051,22 +2177,24 @@ add_line_number (COLUMN *p) +@@ -2050,22 +2176,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. */ @@ -2098,7 +2098,7 @@ Index: src/pr.c output_position = POS_AFTER_TAB (chars_per_output_tab, output_position); } -@@ -2227,7 +2355,7 @@ print_white_space (void) +@@ -2226,7 +2354,7 @@ print_white_space (void) while (goal - h_old > 1 && (h_new = POS_AFTER_TAB (chars_per_output_tab, h_old)) <= goal) { @@ -2107,7 +2107,7 @@ Index: src/pr.c h_old = h_new; } while (++h_old <= goal) -@@ -2247,6 +2375,7 @@ print_sep_string (void) +@@ -2246,6 +2374,7 @@ print_sep_string (void) { char *s; int l = col_sep_length; @@ -2115,7 +2115,7 @@ Index: src/pr.c s = col_sep_string; -@@ -2260,6 +2389,7 @@ print_sep_string (void) +@@ -2259,6 +2388,7 @@ print_sep_string (void) { for (; separators_not_printed > 0; --separators_not_printed) { @@ -2123,7 +2123,7 @@ Index: src/pr.c while (l-- > 0) { /* 3 types of sep_strings: spaces only, spaces and chars, -@@ -2273,12 +2403,15 @@ print_sep_string (void) +@@ -2272,12 +2402,15 @@ print_sep_string (void) } else { @@ -2140,7 +2140,7 @@ Index: src/pr.c /* sep_string ends with some spaces */ if (spaces_not_printed > 0) print_white_space (); -@@ -2306,7 +2439,7 @@ print_clump (COLUMN *p, int n, char *clu +@@ -2305,7 +2438,7 @@ print_clump (COLUMN *p, int n, char *clu required number of tabs and spaces. */ static void @@ -2149,7 +2149,7 @@ Index: src/pr.c { if (tabify_output) { -@@ -2330,6 +2463,74 @@ print_char (char c) +@@ -2329,6 +2462,74 @@ print_char (char c) putchar (c); } @@ -2224,7 +2224,7 @@ Index: src/pr.c /* Skip to page PAGE before printing. PAGE may be larger than total number of pages. */ -@@ -2509,9 +2710,9 @@ read_line (COLUMN *p) +@@ -2508,9 +2709,9 @@ read_line (COLUMN *p) align_empty_cols = false; } @@ -2236,7 +2236,7 @@ Index: src/pr.c padding_not_printed = ANYWHERE; } -@@ -2612,9 +2813,9 @@ print_stored (COLUMN *p) +@@ -2611,9 +2812,9 @@ print_stored (COLUMN *p) } } @@ -2248,7 +2248,7 @@ Index: src/pr.c padding_not_printed = ANYWHERE; } -@@ -2627,8 +2828,8 @@ print_stored (COLUMN *p) +@@ -2626,8 +2827,8 @@ print_stored (COLUMN *p) if (spaces_not_printed == 0) { output_position = p->start_position + end_vector[line]; @@ -2259,7 +2259,7 @@ Index: src/pr.c } return true; -@@ -2647,7 +2848,7 @@ print_stored (COLUMN *p) +@@ -2646,7 +2847,7 @@ print_stored (COLUMN *p) number of characters is 1.) */ static int @@ -2268,7 +2268,7 @@ Index: src/pr.c { unsigned char uc = c; char *s = clump_buff; -@@ -2657,10 +2858,10 @@ char_to_clump (char c) +@@ -2656,10 +2857,10 @@ char_to_clump (char c) int chars; int chars_per_c = 8; @@ -2281,7 +2281,7 @@ Index: src/pr.c { width = TAB_WIDTH (chars_per_c, input_position); -@@ -2741,6 +2942,154 @@ char_to_clump (char c) +@@ -2740,6 +2941,154 @@ char_to_clump (char c) return chars; } @@ -2438,8 +2438,8 @@ Index: src/pr.c Index: src/sort.c =================================================================== ---- src/sort.c.orig 2011-10-10 09:56:46.000000000 +0200 -+++ src/sort.c 2011-10-13 15:55:54.951266167 +0200 +--- src/sort.c.orig 2012-01-01 10:04:06.000000000 +0100 ++++ src/sort.c 2012-03-09 15:43:28.588977491 +0100 @@ -22,11 +22,20 @@ #include @@ -3294,7 +3294,7 @@ 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. */ -@@ -4113,7 +4720,7 @@ main (int argc, char **argv) +@@ -4110,7 +4717,7 @@ main (int argc, char **argv) initialize_exit_failure (SORT_FAILURE); hard_LC_COLLATE = hard_locale (LC_COLLATE); @@ -3303,7 +3303,7 @@ Index: src/sort.c hard_LC_TIME = hard_locale (LC_TIME); #endif -@@ -4134,6 +4741,29 @@ main (int argc, char **argv) +@@ -4131,6 +4738,29 @@ main (int argc, char **argv) thousands_sep = -1; } @@ -3333,7 +3333,7 @@ Index: src/sort.c have_read_stdin = false; inittables (); -@@ -4404,13 +5034,34 @@ main (int argc, char **argv) +@@ -4401,13 +5031,34 @@ main (int argc, char **argv) case 't': { @@ -3372,7 +3372,7 @@ Index: src/sort.c else { /* Provoke with `sort -txx'. Complain about -@@ -4421,9 +5072,12 @@ main (int argc, char **argv) +@@ -4418,9 +5069,12 @@ main (int argc, char **argv) quote (optarg)); } } @@ -3389,8 +3389,8 @@ Index: src/sort.c Index: src/unexpand.c =================================================================== ---- src/unexpand.c.orig 2011-10-10 09:56:46.000000000 +0200 -+++ src/unexpand.c 2011-10-13 15:53:04.239558180 +0200 +--- src/unexpand.c.orig 2012-01-01 10:04:06.000000000 +0100 ++++ src/unexpand.c 2012-03-09 15:43:28.588977491 +0100 @@ -39,12 +39,29 @@ #include #include @@ -3646,8 +3646,8 @@ Index: src/unexpand.c error (EXIT_FAILURE, errno, "-"); Index: src/uniq.c =================================================================== ---- src/uniq.c.orig 2011-10-10 09:56:46.000000000 +0200 -+++ src/uniq.c 2011-10-13 15:56:46.935568114 +0200 +--- src/uniq.c.orig 2012-01-01 10:04:06.000000000 +0100 ++++ src/uniq.c 2012-03-09 15:43:28.589977466 +0100 @@ -21,6 +21,16 @@ #include #include @@ -4016,9 +4016,9 @@ Index: src/uniq.c check_chars = SIZE_MAX; Index: tests/Makefile.am =================================================================== ---- tests/Makefile.am.orig 2011-10-10 09:30:55.000000000 +0200 -+++ tests/Makefile.am 2011-10-13 15:53:04.240558166 +0200 -@@ -240,6 +240,7 @@ TESTS = \ +--- tests/Makefile.am.orig 2012-01-03 16:48:48.000000000 +0100 ++++ tests/Makefile.am 2012-03-09 15:43:28.589977466 +0100 +@@ -241,6 +241,7 @@ TESTS = \ misc/sort-debug-keys \ misc/sort-debug-warn \ misc/sort-files0-from \ @@ -4026,7 +4026,7 @@ Index: tests/Makefile.am misc/sort-float \ misc/sort-merge \ misc/sort-merge-fdlimit \ -@@ -521,6 +522,10 @@ TESTS = \ +@@ -526,6 +527,10 @@ TESTS = \ $(root_tests) pr_data = \ @@ -4039,8 +4039,8 @@ Index: tests/Makefile.am pr/0FFnt \ Index: tests/misc/cut =================================================================== ---- tests/misc/cut.orig 2011-10-10 09:30:55.000000000 +0200 -+++ tests/misc/cut 2011-10-13 15:53:04.240558166 +0200 +--- tests/misc/cut.orig 2012-01-01 10:04:06.000000000 +0100 ++++ tests/misc/cut 2012-03-09 15:43:28.589977466 +0100 @@ -30,7 +30,7 @@ my $mb_locale = $ENV{LOCALE_FR_UTF8}; my $prog = 'cut'; my $try = "Try \`$prog --help' for more information.\n"; @@ -4062,7 +4062,7 @@ Index: tests/misc/cut Index: tests/misc/mb1.I =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ tests/misc/mb1.I 2011-10-13 15:53:04.240558166 +0200 ++++ tests/misc/mb1.I 2012-03-09 15:43:28.589977466 +0100 @@ -0,0 +1,4 @@ +Apple@10 +Banana@5 @@ -4071,7 +4071,7 @@ Index: tests/misc/mb1.I Index: tests/misc/mb1.X =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ tests/misc/mb1.X 2011-10-13 15:53:04.240558166 +0200 ++++ tests/misc/mb1.X 2012-03-09 15:43:28.589977466 +0100 @@ -0,0 +1,4 @@ +Banana@5 +Apple@10 @@ -4080,7 +4080,7 @@ Index: tests/misc/mb1.X Index: tests/misc/mb2.I =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ tests/misc/mb2.I 2011-10-13 15:53:04.241558153 +0200 ++++ tests/misc/mb2.I 2012-03-09 15:43:28.589977466 +0100 @@ -0,0 +1,4 @@ +Apple@AA10@@20 +Banana@AA5@@30 @@ -4089,7 +4089,7 @@ Index: tests/misc/mb2.I Index: tests/misc/mb2.X =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ tests/misc/mb2.X 2011-10-13 15:53:04.241558153 +0200 ++++ tests/misc/mb2.X 2012-03-09 15:43:28.589977466 +0100 @@ -0,0 +1,4 @@ +Citrus@AA20@@5 +Cherry@AA30@@10 @@ -4098,7 +4098,7 @@ Index: tests/misc/mb2.X Index: tests/misc/sort-mb-tests =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ tests/misc/sort-mb-tests 2011-10-13 15:53:04.241558153 +0200 ++++ tests/misc/sort-mb-tests 2012-03-09 15:43:28.589977466 +0100 @@ -0,0 +1,58 @@ +#! /bin/sh +case $# in diff --git a/coreutils-basename_documentation.patch b/coreutils-basename_documentation.patch new file mode 100644 index 0000000..fc2b298 --- /dev/null +++ b/coreutils-basename_documentation.patch @@ -0,0 +1,21 @@ +Index: doc/coreutils.texi +=================================================================== +--- doc/coreutils.texi.orig 2012-03-09 17:39:52.000000000 +0100 ++++ doc/coreutils.texi 2012-03-09 17:54:51.848754123 +0100 +@@ -12370,6 +12370,16 @@ This section describes commands that man + @command{basename} removes any leading directory components from + @var{name}. Synopsis: + ++@table @samp ++ ++@item -z ++@itemx --zero ++@opindex -z ++@opindex --zero ++Separate output items with @sc{nul} characters. ++ ++@end table ++ + @example + basename @var{name} [@var{suffix}] + @end example diff --git a/coreutils-fix_tac.patch b/coreutils-fix_tac.patch deleted file mode 100644 index 82dae15..0000000 --- a/coreutils-fix_tac.patch +++ /dev/null @@ -1,137 +0,0 @@ ->From cdd328f232a93fb40aec25d0681ef191eaeba2da Mon Sep 17 00:00:00 2001 -From: Jim Meyering -Date: Sun, 16 Oct 2011 10:35:56 +0200 -Subject: [PATCH 1/3] maint: tac: remove sole use of sprintf in favor of - stpcpy - -* src/tac.c (copy_to_temp): Use stpcpy rather than sprintf. -Move some declarations "down" to point of initialization. ---- - src/tac.c | 17 +++++++---------- - 1 files changed, 7 insertions(+), 10 deletions(-) - -Index: src/tac.c -=================================================================== ---- src/tac.c.orig 2011-02-19 18:17:03.000000000 +0100 -+++ src/tac.c 2011-10-17 15:46:27.879485098 +0200 -@@ -426,20 +426,17 @@ copy_to_temp (FILE **g_tmp, char **g_tem - { - static char *template = NULL; - static char const *tempdir; -- char *tempfile; -- FILE *tmp; -- int fd; - - if (template == NULL) - { -- char const * const Template = "%s/tacXXXXXX"; -+ char const * const Template = "tacXXXXXX"; - tempdir = getenv ("TMPDIR"); - if (tempdir == NULL) - tempdir = DEFAULT_TMPDIR; - -- /* Subtract 2 for `%s' and add 1 for the trailing NUL byte. */ -- template = xmalloc (strlen (tempdir) + strlen (Template) - 2 + 1); -- sprintf (template, Template, tempdir); -+ /* Add 1 for the slash and one for the trailing NUL byte. */ -+ template = xmalloc (strlen (tempdir) + strlen (Template) + 1 + 1); -+ stpcpy (stpcpy (stpcpy (template, tempdir), "/"), Template); - } - - /* FIXME: there's a small window between a successful mkstemp call -@@ -451,21 +448,23 @@ copy_to_temp (FILE **g_tmp, char **g_tem - FIXME: clean up upon fatal signal. Don't block them, in case - $TMPFILE is a remote file system. */ - -- tempfile = template; -- fd = mkstemp (template); -+ char *tempfile = xstrdup (template); -+ int fd = mkstemp (tempfile); - if (fd < 0) - { - error (0, errno, _("cannot create temporary file in %s"), - quote (tempdir)); -+ free (tempfile); - return false; - } - -- tmp = fdopen (fd, (O_BINARY ? "w+b" : "w+")); -+ FILE *tmp = fdopen (fd, (O_BINARY ? "w+b" : "w+")); - if (! tmp) - { - error (0, errno, _("cannot open %s for writing"), quote (tempfile)); - close (fd); - unlink (tempfile); -+ free (tempfile); - return false; - } - -@@ -501,6 +500,7 @@ copy_to_temp (FILE **g_tmp, char **g_tem - - Fail: - fclose (tmp); -+ free (tempfile); - return false; - } - -@@ -512,8 +512,14 @@ tac_nonseekable (int input_fd, const cha - { - FILE *tmp_stream; - char *tmp_file; -- return (copy_to_temp (&tmp_stream, &tmp_file, input_fd, file) -- && tac_seekable (fileno (tmp_stream), tmp_file)); -+ -+ if (!copy_to_temp (&tmp_stream, &tmp_file, input_fd, file)) -+ return false; -+ -+ bool ok = tac_seekable (fileno (tmp_stream), tmp_file); -+ fclose (tmp_stream); -+ free (tmp_file); -+ return ok; - } - - /* Print FILE in reverse, copying it to a temporary -Index: tests/Makefile.am -=================================================================== ---- tests/Makefile.am.orig 2011-10-17 15:40:44.533154336 +0200 -+++ tests/Makefile.am 2011-10-17 15:40:44.882149592 +0200 -@@ -270,6 +270,7 @@ TESTS = \ - misc/sum-sysv \ - misc/tac \ - misc/tac-continue \ -+ misc/tac-2-nonseekable \ - misc/tail \ - misc/tee \ - misc/tee-dash \ -Index: tests/misc/tac-2-nonseekable -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ tests/misc/tac-2-nonseekable 2011-10-17 15:40:44.883149578 +0200 -@@ -0,0 +1,27 @@ -+#!/bin/sh -+# ensure that tac works with two or more non-seekable inputs -+ -+# Copyright (C) 2011 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=.}/init.sh"; path_prepend_ ../src -+print_ver_ tac -+ -+echo x | tac - - > out 2> err || fail=1 -+echo x > exp || fail=1 -+compare out exp || fail=1 -+compare err /dev/null || fail=1 -+ -+Exit $fail diff --git a/coreutils-one-file-system_ignores_non-directory_arguments.patch b/coreutils-one-file-system_ignores_non-directory_arguments.patch new file mode 100644 index 0000000..61c174f --- /dev/null +++ b/coreutils-one-file-system_ignores_non-directory_arguments.patch @@ -0,0 +1,98 @@ +From b51e77776fbc4c8fa6727388b735427596595477 Mon Sep 17 00:00:00 2001 +From: Jim Meyering +Date: Thu, 8 Mar 2012 10:33:50 +0100 +Subject: [PATCH] du: --one-file-system (-x) ignores non-directory arguments + +Surprise! "du -x non-DIR" would print nothing. +Note that the problem arises only when processing a non-directory +specified on the command line. Not surprisingly, "du -x" still +works as expected for any directory argument. + +When performing its same-file-system check, du may skip an entry +only if it is at fts_level 1 or greater. Command-line arguments +are at fts_level == 0 (FTS_ROOTLEVEL). + +* src/du.c (process_file): Don't use the top-level FTS->fts_dev +when testing for --one-file-system (-x). It happens to be valid +for directories, but it is always 0 for a non-directory. +* tests/du/one-file-system: Add tests for this. +* NEWS (Bug fixes): Mention it. +Reported by Daniel Stavrovski in http://bugs.gnu.org/10967. +Introduced by commit v8.14-95-gcfe1040. +--- + NEWS | 4 ++++ + THANKS.in | 1 + + src/du.c | 9 ++++++++- + tests/du/one-file-system | 10 +++++++++- + 4 files changed, 22 insertions(+), 2 deletions(-) + +Signed-off-by: Philipp Thomas + +Index: NEWS +=================================================================== +--- NEWS.orig 2012-01-06 18:05:54.000000000 +0100 ++++ NEWS 2012-03-09 16:02:59.869039812 +0100 +@@ -8,6 +8,10 @@ GNU coreutils NEWS + + ** Bug fixes + ++ du --one-file-system (-x) would ignore any non-directory specified on ++ the command line. For example, "touch f; du -x f" would print nothing. ++ [bug introduced in coreutils-8.14] ++ + du -x no longer counts root directories of other file systems. + [bug introduced in coreutils-5.1.0] + +Index: THANKS.in +=================================================================== +--- THANKS.in.orig 2012-01-06 10:14:19.000000000 +0100 ++++ THANKS.in 2012-03-09 16:05:13.299787739 +0100 +@@ -133,6 +133,7 @@ Dan Hagerty hag@ + Dan Pascu dan@services.iiruc.ro + Daniel Bergstrom noa@melody.se + Daniel P. Berrangé berrange@redhat.com ++Daniel Stavrovski d@stavrovski.net + Dániel Varga danielv@axelero.hu + Danny Levinson danny.levinson@overture.com + Darrel Francis d.francis@cheerful.com +Index: src/du.c +=================================================================== +--- src/du.c.orig 2012-01-01 10:04:06.000000000 +0100 ++++ src/du.c 2012-03-09 16:02:22.412951567 +0100 +@@ -444,7 +444,14 @@ process_file (FTS *fts, FTSENT *ent) + return false; + } + +- if (fts->fts_options & FTS_XDEV && fts->fts_dev != sb->st_dev) ++ /* The --one-file-system (-x) option cannot exclude anything ++ specified on the command-line. By definition, it can exclude ++ a file or directory only when its device number is different ++ from that of its just-processed parent directory, and du does ++ not process the parent of a command-line argument. */ ++ if (fts->fts_options & FTS_XDEV ++ && FTS_ROOTLEVEL < ent->fts_level ++ && fts->fts_dev != sb->st_dev) + excluded = true; + } + +Index: tests/du/one-file-system +=================================================================== +--- tests/du/one-file-system.orig 2012-01-01 10:04:06.000000000 +0100 ++++ tests/du/one-file-system 2012-03-09 16:02:22.412951567 +0100 +@@ -43,7 +43,15 @@ compare exp out || fail=1 + du -xL d > u || fail=1 + sed 's/^[0-9][0-9]* //' u > out1 + echo d > exp1 || fail=1 +- + compare exp1 out1 || fail=1 + ++# With coreutils-8.15, "du -xs FILE" would print no output. ++touch f ++for opt in -x -xs; do ++ du $opt f > u || fail=1 ++ sed 's/^[0-9][0-9]* //' u > out2 ++ echo f > exp2 || fail=1 ++ compare exp2 out2 || fail=1 ++done ++ + Exit $fail diff --git a/coreutils-remove_hostname_documentation.patch b/coreutils-remove_hostname_documentation.patch index 6f27e7b..d14bf7c 100644 --- a/coreutils-remove_hostname_documentation.patch +++ b/coreutils-remove_hostname_documentation.patch @@ -1,7 +1,7 @@ Index: doc/coreutils.texi =================================================================== ---- doc/coreutils.texi.orig 2011-04-04 13:43:03.000000000 +0200 -+++ doc/coreutils.texi 2011-04-04 13:47:21.655051052 +0200 +--- doc/coreutils.texi.orig 2012-01-03 16:48:48.000000000 +0100 ++++ doc/coreutils.texi 2012-03-09 15:48:33.736415777 +0100 @@ -66,7 +66,6 @@ * groups: (coreutils)groups invocation. Print group names a user is in. * head: (coreutils)head invocation. Output the first part of files. @@ -10,8 +10,8 @@ Index: doc/coreutils.texi * id: (coreutils)id invocation. Print user identity. * install: (coreutils)install invocation. Copy and change attributes. * join: (coreutils)join invocation. Join lines on a common field. -@@ -197,7 +196,7 @@ Free Documentation License''. - * File name manipulation:: dirname basename pathchk mktemp +@@ -198,7 +197,7 @@ Free Documentation License''. + * File name manipulation:: dirname basename pathchk mktemp realpath * Working context:: pwd stty printenv tty * User information:: id logname whoami groups users who -* System context:: date arch nproc uname hostname hostid uptime @@ -19,7 +19,7 @@ Index: doc/coreutils.texi * SELinux context:: chcon runcon * Modified command invocation:: chroot env nice nohup stdbuf su timeout * Process control:: kill -@@ -414,7 +413,6 @@ System context +@@ -416,7 +415,6 @@ System context * date invocation:: Print or set system date and time * nproc invocation:: Print the number of processors * uname invocation:: Print system information @@ -27,7 +27,7 @@ Index: doc/coreutils.texi * hostid invocation:: Print numeric host identifier * uptime invocation:: Print system uptime and load -@@ -13761,7 +13759,6 @@ information. +@@ -14010,7 +14008,6 @@ information. * arch invocation:: Print machine hardware name. * nproc invocation:: Print the number of processors. * uname invocation:: Print system information. @@ -35,7 +35,7 @@ Index: doc/coreutils.texi * hostid invocation:: Print numeric host identifier. * uptime invocation:: Print system uptime and load. @end menu -@@ -14523,15 +14520,6 @@ easily available, as is the case with Li +@@ -14797,15 +14794,6 @@ easily available, as is the case with Li Print the machine hardware name (sometimes called the hardware class or hardware type). @@ -51,7 +51,7 @@ Index: doc/coreutils.texi @item -p @itemx --processor @opindex -p -@@ -14585,30 +14573,6 @@ Print the kernel version. +@@ -14859,30 +14847,6 @@ Print the kernel version. @exitstatus @@ -84,9 +84,9 @@ Index: doc/coreutils.texi @section @command{hostid}: Print numeric host identifier Index: man/Makefile.am =================================================================== ---- man/Makefile.am.orig 2011-01-01 22:19:23.000000000 +0100 -+++ man/Makefile.am 2011-01-05 14:27:40.742233767 +0100 -@@ -197,7 +197,7 @@ check-x-vs-1: +--- man/Makefile.am.orig 2012-01-03 16:48:48.000000000 +0100 ++++ man/Makefile.am 2012-03-09 15:47:39.651756452 +0100 +@@ -199,7 +199,7 @@ check-x-vs-1: @PATH=../src$(PATH_SEPARATOR)$$PATH; export PATH; \ t=$@-t; \ (cd $(srcdir) && ls -1 *.x) | sed 's/\.x$$//' | $(ASSORT) > $$t;\ @@ -97,9 +97,9 @@ Index: man/Makefile.am rm $$t Index: man/Makefile.in =================================================================== ---- man/Makefile.in.orig 2011-01-04 12:23:07.000000000 +0100 -+++ man/Makefile.in 2011-01-05 14:27:40.768234515 +0100 -@@ -1641,7 +1641,7 @@ check-x-vs-1: +--- man/Makefile.in.orig 2012-01-06 16:49:22.000000000 +0100 ++++ man/Makefile.in 2012-03-09 15:47:39.652756427 +0100 +@@ -1874,7 +1874,7 @@ check-x-vs-1: @PATH=../src$(PATH_SEPARATOR)$$PATH; export PATH; \ t=$@-t; \ (cd $(srcdir) && ls -1 *.x) | sed 's/\.x$$//' | $(ASSORT) > $$t;\ diff --git a/coreutils.changes b/coreutils.changes index 0560b12..0217656 100644 --- a/coreutils.changes +++ b/coreutils.changes @@ -1,3 +1,66 @@ +------------------------------------------------------------------- +Fri Mar 9 17:30:19 CET 2012 - pth@suse.de + +- Update to 8.15: + ** New programs + + realpath: print resolved file names. + + ** Bug fixes + + du --one-file-system (-x) would ignore any non-directory specified on + the command line. For example, "touch f; du -x f" would print nothing. + [bug introduced in coreutils-8.14] + + du -x no longer counts root directories of other file systems. + [bug introduced in coreutils-5.1.0] + + ls --color many-entry-directory was uninterruptible for too long + [bug introduced in coreutils-5.2.1] + + ls's -k option no longer affects how ls -l outputs file sizes. + It now affects only the per-directory block counts written by -l, + and the sizes written by -s. This is for compatibility with BSD + and with POSIX 2008. Because -k is no longer equivalent to + --block-size=1KiB, a new long option --kibibyte stands for -k. + [bug introduced in coreutils-4.5.4] + + ls -l would leak a little memory (security context string) for each + nonempty directory listed on the command line, when using SELinux. + [bug probably introduced in coreutils-6.10 with SELinux support] + + split -n 1/2 FILE no longer fails when operating on a growing file, or + (on some systems) when operating on a non-regular file like /dev/zero. + It would report "/dev/zero: No such file or directory" even though + the file obviously exists. Same for -n l/2. + [bug introduced in coreutils-8.8, with the addition of the -n option] + + stat -f now recognizes the FhGFS and PipeFS file system types. + + tac no longer fails to handle two or more non-seekable inputs + [bug introduced in coreutils-5.3.0] + + tail -f no longer tries to use inotify on GPFS or FhGFS file systems + [you might say this was introduced in coreutils-7.5, along with inotify + support, but the new magic numbers weren't in the usual places then.] + + ** Changes in behavior + + df avoids long UUID-including file system names in the default listing. + With recent enough kernel/tools, these long names would be used, pushing + second and subsequent columns far to the right. Now, when a long name + refers to a symlink, and no file systems are specified, df prints the + usually-short referent instead. + + tail -f now uses polling (not inotify) when any of its file arguments + resides on a file system of unknown type. In addition, for each such + argument, tail -f prints a warning with the FS type magic number and a + request to report it to the bug-reporting address. + +- Bring german message catalog up to date. +- Include upstream fix for du. +- Include upstream patch fixing basename documentation. + ------------------------------------------------------------------- Mon Feb 6 17:18:37 UTC 2012 - rschweikert@suse.com diff --git a/coreutils.spec b/coreutils.spec index e5680bb..b7e8ad8 100644 --- a/coreutils.spec +++ b/coreutils.spec @@ -28,7 +28,7 @@ BuildRequires: libselinux-devel BuildRequires: pam-devel BuildRequires: xz Url: http://www.gnu.org/software/coreutils/ -Version: 8.14 +Version: 8.15 Release: 0 Provides: fileutils = %{version}, sh-utils = %{version}, stat = %version}, textutils = %{version}, mktemp = %{version} Obsoletes: fileutils < %{version}, sh-utils < %{version}, stat < %version}, textutils < %{version}, mktemp < %{version} @@ -40,7 +40,7 @@ Source: coreutils-%{version}.tar.xz Source1: su.pamd Source2: su.default Source3: baselibs.conf -Source4: coreutils-8.14.de.po.xz +Source4: coreutils-%{version}.de.po.xz Patch0: coreutils-misc.patch Patch1: coreutils-remove_hostname_documentation.patch Patch2: coreutils-gl_printf_safe.patch @@ -61,7 +61,8 @@ Patch31: coreutils-getaddrinfo.patch Patch32: coreutils-ptr_int_casts.patch Patch33: coreutils-8.9-singlethreaded-sort.patch Patch34: coreutils-acl-nofollow.patch -Patch35: coreutils-fix_tac.patch +Patch35: coreutils-one-file-system_ignores_non-directory_arguments.patch +Patch36: coreutils-basename_documentation.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build # this will create a cycle, broken up randomly - coreutils is just too core to have other # prerequires @@ -104,8 +105,9 @@ uname unexpand uniq unlink uptime users vdir wc who whoami yes %patch33 %patch34 %patch35 +%patch36 -xz -dc %{S:4} >po/de.po +#xz -dc %{S:4} >po/de.po %build AUTOPOINT=true autoreconf -fi