SHA256
1
0
forked from pool/coreutils

- Update to 8.14. Changes since 8.12:

Bug fixes:

  - ls --dereference no longer outputs erroneous "argetm" strings for
    dangling symlinks when an 'ln=target' entry is in $LS_COLORS.
    [bug introduced in fileutils-4.0]

  - ls -lL symlink once again properly prints "+" when the referent has
    an ACL.  [bug introduced in coreutils-8.13]

  - sort -g no longer infloops for certain inputs containing NaNs [bug
    introduced in coreutils-8.5]

  - chown and chgrp with the -v --from= options, now output the correct
    owner.  I.E.  for skipped files, the original ownership is output,
    not the new one.  [bug introduced in sh-utils-2.0g]

  - cp -r could mistakenly change the permissions of an existing
    destination directory.  [bug introduced in coreutils-6.8]

  - cp -u -p would fail to preserve one hard link for each up-to-date
    copy of a src-hard-linked name in the destination tree.  I.e., if
    s/a and s/b are hard-linked and dst/s/a is up to date, "cp -up s
    dst" would copy s/b to dst/s/b rather than simply linking dst/s/b
    to dst/s/a.  [This bug appears to have been present in "the
    beginning".]

  - fts-using tools (rm, du, chmod, chgrp, chown, chcon) no longer use
    memory proportional to the number of entries in each directory they
    process.  Before, rm -rf 4-million-entry-directory would consume
    about 1GiB of memory.  Now, it uses less than 30MB, no matter how
    many entries there are.  [this bug was inherent in the use of fts:
    thus, for rm the bug was introduced in coreutils-8.0.  The prior
    implementation of rm did not use as much memory.  du, chmod, chgrp
    and chown started using fts in 6.0.  chcon was added in
    coreutils-6.9.91 with fts support.  ]

  - pr -T no longer ignores a specified LAST_PAGE to stop at.  [bug
    introduced in textutils-1.19q]

  - printf '%d' '"' no longer accesses out-of-bounds memory in the
    diagnostic.  [bug introduced in sh-utils-1.16]

  - split --number l/... no longer creates extraneous files in certain
    cases.  [bug introduced in coreutils-8.8]

  - timeout now sends signals to commands that create their own process
    group.  timeout is no longer confused when starting off with a
    child process.  [bugs introduced in coreutils-7.0]

  - unexpand -a now aligns correctly when there are spaces spanning a
    tabstop, followed by a tab.  In that case a space was dropped,
    causing misalignment.  We also now ensure that a space never
    precedes a tab.  [bug introduced in coreutils-5.3.0]
  
  New features:

  - date now accepts ISO 8601 date-time strings with "T" as the
    separator.  It has long parsed dates like "2004-02-29 16:21:42"
    with a space between the date and time strings.  Now it also parses
    "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
    variants like "2004-02-29T16:21:42.333-07:00"
  - md5sum accepts the new --strict option.  With --check, it makes the
    tool exit non-zero for any invalid input line, rather than just warning.
    This also affects sha1sum, sha224sum, sha384sum and sha512sum.

  - split accepts a new --filter=CMD option.  With it, split filters
    output through CMD.  CMD may use the $FILE environment variable,
    which is set to the nominal output file name for each invocation of
    CMD.  For example, to split a file into 3 approximately equal
    parts, which are then compressed:

    split -n3 --filter='xz > $FILE.xz' big

    Note the use of single quotes, not double quotes.  That creates
    files named xaa.xz, xab.xz and xac.xz.

  - timeout accepts a new --foreground option, to support commands not
    started directly from a shell prompt, where the command is
    interactive or needs to receive signals initiated from the
    terminal.

  Improvements:

  - md5sum --check now supports the -r format from the corresponding
    BSD tool.  This also affects sha1sum, sha224sum, sha384sum and
    sha512sum.

  - pwd now works also on systems without openat.  On such systems, pwd
    would fail when run from a directory whose absolute name contained
    more than PATH_MAX / 3 components.  The df, stat and readlink
    programs are also affected due to their use of the canonicalize_*
    functions.

  - join --check-order now prints "join: FILE:LINE_NUMBER: bad_line"
    for an unsorted input, rather than e.g., "join: file 1 is not in
    sorted order".

  - shuf outputs small subsets of large permutations much more
    efficiently.  For example `shuf -i1-$((2**32-1)) -n2` no longer
    exhausts memory.

  - stat -f now recognizes the GPFS, MQUEUE and PSTOREFS file system
    types.

  - timeout now supports sub-second timeouts.

  Changes in behavior:

  - chmod, chown and chgrp now output the original attributes in
    messages, when -v or -c specified.

  - cp -au (where --preserve=links is implicit) may now replace newer
    files in the destination, to mirror hard links from the source.

OBS-URL: https://build.opensuse.org/package/show/Base:System/coreutils?expand=0&rev=128
This commit is contained in:
Philipp Thomas 2011-10-14 10:07:06 +00:00 committed by Git OBS Bridge
parent 8ecb2df7ed
commit 51dadaabd0
10 changed files with 262 additions and 152 deletions

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f9ac025bf430e6d3dab722a31ff12eba0e4a38652e097fa24ea2908a0a0262e9
size 95088

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1e3c0182cdd0042871741d694ae1166dd90eb9f03a16c0aac0a9072a7aa92faf
size 4842776

3
coreutils-8.14.de.po.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ed335a4c08fd5dcb7735ebf472d6853a3656008c44f89b4c93bac89b19a48114
size 96300

3
coreutils-8.14.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:202a0fe64bc7a7b6eaef45af4d2813a4dc17a319d1f33aab9df039405aeab566
size 5064104

View File

@ -19,8 +19,8 @@
Index: lib/linebuffer.h
===================================================================
--- lib/linebuffer.h.orig 2011-01-06 09:47:56.000000000 +0100
+++ lib/linebuffer.h 2011-02-10 15:59:59.159604973 +0100
--- lib/linebuffer.h.orig 2011-04-24 19:21:45.000000000 +0200
+++ lib/linebuffer.h 2011-10-13 15:53:04.233558260 +0200
@@ -21,6 +21,11 @@
# include <stdio.h>
@ -45,8 +45,8 @@ Index: lib/linebuffer.h
/* Initialize linebuffer LINEBUFFER for use. */
Index: src/cut.c
===================================================================
--- src/cut.c.orig 2011-01-31 13:40:38.000000000 +0100
+++ src/cut.c 2011-02-10 16:00:21.825167755 +0100
--- src/cut.c.orig 2011-10-02 11:20:54.000000000 +0200
+++ src/cut.c 2011-10-13 15:53:04.234558247 +0200
@@ -28,6 +28,11 @@
#include <assert.h>
#include <getopt.h>
@ -247,7 +247,7 @@ Index: src/cut.c
}
max_range_endpoint = 0;
@@ -580,6 +662,63 @@ cut_bytes (FILE *stream)
@@ -582,6 +664,63 @@ cut_bytes (FILE *stream)
}
}
@ -311,7 +311,7 @@ Index: src/cut.c
/* Read from stream STREAM, printing to standard output any selected fields. */
static void
@@ -702,13 +841,192 @@ cut_fields (FILE *stream)
@@ -704,13 +843,192 @@ cut_fields (FILE *stream)
}
}
@ -507,7 +507,7 @@ Index: src/cut.c
}
/* Process file FILE to standard output.
@@ -760,6 +1078,8 @@ main (int argc, char **argv)
@@ -762,6 +1080,8 @@ main (int argc, char **argv)
bool ok;
bool delim_specified = false;
char *spec_list_string IF_LINT ( = NULL);
@ -516,7 +516,7 @@ Index: src/cut.c
initialize_main (&argc, &argv);
set_program_name (argv[0]);
@@ -782,7 +1102,6 @@ main (int argc, char **argv)
@@ -784,7 +1104,6 @@ main (int argc, char **argv)
switch (optc)
{
case 'b':
@ -524,7 +524,7 @@ Index: src/cut.c
/* Build the byte list. */
if (operating_mode != undefined_mode)
FATAL_ERROR (_("only one type of list may be specified"));
@@ -790,6 +1109,14 @@ main (int argc, char **argv)
@@ -792,6 +1111,14 @@ main (int argc, char **argv)
spec_list_string = optarg;
break;
@ -539,7 +539,7 @@ Index: src/cut.c
case 'f':
/* Build the field list. */
if (operating_mode != undefined_mode)
@@ -801,10 +1128,35 @@ main (int argc, char **argv)
@@ -803,10 +1130,35 @@ main (int argc, char **argv)
case 'd':
/* New delimiter. */
/* Interpret -d '' to mean `use the NUL byte as the delimiter.' */
@ -579,7 +579,7 @@ Index: src/cut.c
break;
case OUTPUT_DELIMITER_OPTION:
@@ -817,6 +1169,7 @@ main (int argc, char **argv)
@@ -819,6 +1171,7 @@ main (int argc, char **argv)
break;
case 'n':
@ -587,7 +587,7 @@ Index: src/cut.c
break;
case 's':
@@ -839,7 +1192,7 @@ main (int argc, char **argv)
@@ -841,7 +1194,7 @@ main (int argc, char **argv)
if (operating_mode == undefined_mode)
FATAL_ERROR (_("you must specify a list of bytes, characters, or fields"));
@ -596,7 +596,7 @@ Index: src/cut.c
FATAL_ERROR (_("an input delimiter may be specified only\
when operating on fields"));
@@ -866,15 +1219,34 @@ main (int argc, char **argv)
@@ -868,15 +1221,34 @@ main (int argc, char **argv)
}
if (!delim_specified)
@ -639,8 +639,8 @@ Index: src/cut.c
if (optind == argc)
Index: src/expand.c
===================================================================
--- src/expand.c.orig 2011-01-31 13:40:38.000000000 +0100
+++ src/expand.c 2011-02-10 15:59:59.229600533 +0100
--- src/expand.c.orig 2011-10-10 09:56:46.000000000 +0200
+++ src/expand.c 2011-10-13 15:53:04.234558247 +0200
@@ -38,12 +38,29 @@
#include <stdio.h>
#include <getopt.h>
@ -830,8 +830,8 @@ Index: src/expand.c
error (EXIT_FAILURE, errno, "-");
Index: src/fold.c
===================================================================
--- src/fold.c.orig 2011-01-31 13:40:38.000000000 +0100
+++ src/fold.c 2011-02-10 15:59:59.271597870 +0100
--- src/fold.c.orig 2011-10-02 11:20:54.000000000 +0200
+++ src/fold.c 2011-10-13 15:53:04.235558234 +0200
@@ -22,12 +22,34 @@
#include <getopt.h>
#include <sys/types.h>
@ -1232,8 +1232,8 @@ Index: src/fold.c
case 's': /* Break at word boundaries. */
Index: src/join.c
===================================================================
--- src/join.c.orig 2011-01-31 13:40:38.000000000 +0100
+++ src/join.c 2011-02-10 16:03:29.484268348 +0100
--- src/join.c.orig 2011-10-10 09:56:46.000000000 +0200
+++ src/join.c 2011-10-13 15:54:10.933662792 +0200
@@ -22,18 +22,32 @@
#include <sys/types.h>
#include <getopt.h>
@ -1268,7 +1268,7 @@ Index: src/join.c
/* The official name of this program (e.g., no `g' prefix). */
#define PROGRAM_NAME "join"
@@ -129,10 +143,12 @@ static struct outlist outlist_head;
@@ -135,10 +149,12 @@ static struct outlist outlist_head;
/* Last element in `outlist', where a new element can be added. */
static struct outlist *outlist_end = &outlist_head;
@ -1285,7 +1285,7 @@ Index: src/join.c
/* If nonzero, check that the input is correctly ordered. */
static enum
@@ -257,13 +273,14 @@ xfields (struct line *line)
@@ -263,13 +279,14 @@ xfields (struct line *line)
if (ptr == lim)
return;
@ -1303,7 +1303,7 @@ Index: src/join.c
{
/* Skip leading blanks before the first field. */
while (isblank (to_uchar (*ptr)))
@@ -287,6 +304,148 @@ xfields (struct line *line)
@@ -293,6 +310,148 @@ xfields (struct line *line)
extract_field (line, ptr, lim - ptr);
}
@ -1452,7 +1452,7 @@ Index: src/join.c
static void
freeline (struct line *line)
{
@@ -308,56 +467,115 @@ keycmp (struct line const *line1, struct
@@ -314,56 +473,115 @@ keycmp (struct line const *line1, struct
size_t jf_1, size_t jf_2)
{
/* Start of field to compare in each file. */
@ -1591,19 +1591,20 @@ Index: src/join.c
}
/* Check that successive input lines PREV and CURRENT from input file
@@ -438,6 +656,11 @@ get_line (FILE *fp, struct line **linep,
return false;
@@ -455,6 +673,12 @@ get_line (FILE *fp, struct line **linep,
}
++line_no[which - 1];
+#if HAVE_MBRTOWC
+ if (MB_CUR_MAX > 1)
+ xfields_multibyte (line);
+ else
+#endif
+
xfields (line);
if (prevline[which - 1])
@@ -536,22 +759,29 @@ prfield (size_t n, struct line const *li
@@ -553,22 +777,29 @@ prfield (size_t n, struct line const *li
}
/* Output all the fields in line, other than the join field. */
@ -1636,7 +1637,7 @@ Index: src/join.c
prfield (i, line);
}
}
@@ -562,7 +792,6 @@ static void
@@ -579,7 +810,6 @@ static void
prjoin (struct line const *line1, struct line const *line2)
{
const struct outlist *outlist;
@ -1644,7 +1645,7 @@ Index: src/join.c
size_t field;
struct line const *line;
@@ -596,7 +825,7 @@ prjoin (struct line const *line1, struct
@@ -613,7 +843,7 @@ prjoin (struct line const *line1, struct
o = o->next;
if (o == NULL)
break;
@ -1653,7 +1654,7 @@ Index: src/join.c
}
putchar ('\n');
}
@@ -1075,21 +1304,46 @@ main (int argc, char **argv)
@@ -1091,21 +1321,46 @@ main (int argc, char **argv)
case 't':
{
@ -1711,8 +1712,8 @@ Index: src/join.c
case NOCHECK_ORDER_OPTION:
Index: src/pr.c
===================================================================
--- src/pr.c.orig 2011-01-31 13:40:38.000000000 +0100
+++ src/pr.c 2011-02-10 15:59:59.310595397 +0100
--- src/pr.c.orig 2011-10-10 09:56:46.000000000 +0200
+++ src/pr.c 2011-10-13 15:53:04.237558208 +0200
@@ -312,6 +312,32 @@
#include <getopt.h>
@ -2437,8 +2438,8 @@ Index: src/pr.c
Index: src/sort.c
===================================================================
--- src/sort.c.orig 2011-02-03 11:24:35.000000000 +0100
+++ src/sort.c 2011-02-10 16:00:21.720174413 +0100
--- src/sort.c.orig 2011-10-10 09:56:46.000000000 +0200
+++ src/sort.c 2011-10-13 15:55:54.951266167 +0200
@@ -22,11 +22,20 @@
#include <config.h>
@ -2460,7 +2461,7 @@ Index: src/sort.c
#include "system.h"
#include "argmatch.h"
#include "error.h"
@@ -163,12 +172,34 @@ static int thousands_sep;
@@ -167,12 +176,34 @@ static int thousands_sep;
/* Nonzero if the corresponding locales are hard. */
static bool hard_LC_COLLATE;
@ -2496,7 +2497,7 @@ Index: src/sort.c
/* The kind of blanks for '-b' to skip in various options. */
enum blanktype { bl_start, bl_end, bl_both };
@@ -335,13 +366,11 @@ static bool reverse;
@@ -343,13 +374,11 @@ static bool reverse;
they were read if all keys compare equal. */
static bool stable;
@ -2513,7 +2514,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. */
@@ -775,6 +804,46 @@ reap_all (void)
@@ -783,6 +812,46 @@ reap_all (void)
reap (-1);
}
@ -2560,7 +2561,7 @@ Index: src/sort.c
/* Clean up any remaining temporary files. */
static void
@@ -1207,7 +1276,7 @@ zaptemp (char const *name)
@@ -1215,7 +1284,7 @@ zaptemp (char const *name)
free (node);
}
@ -2569,7 +2570,7 @@ Index: src/sort.c
static int
struct_month_cmp (void const *m1, void const *m2)
@@ -1222,7 +1291,7 @@ struct_month_cmp (void const *m1, void c
@@ -1230,7 +1299,7 @@ struct_month_cmp (void const *m1, void c
/* Initialize the character class tables. */
static void
@ -2578,7 +2579,7 @@ Index: src/sort.c
{
size_t i;
@@ -1234,7 +1303,7 @@ inittables (void)
@@ -1242,7 +1311,7 @@ inittables (void)
fold_toupper[i] = toupper (i);
}
@ -2587,7 +2588,7 @@ Index: src/sort.c
/* If we're not in the "C" locale, read different names for months. */
if (hard_LC_TIME)
{
@@ -1316,6 +1385,84 @@ specify_nmerge (int oi, char c, char con
@@ -1324,6 +1393,84 @@ specify_nmerge (int oi, char c, char con
xstrtol_fatal (e, oi, c, long_options, s);
}
@ -2672,7 +2673,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)
@@ -1544,7 +1691,7 @@ buffer_linelim (struct buffer const *buf
@@ -1552,7 +1699,7 @@ buffer_linelim (struct buffer const *buf
by KEY in LINE. */
static char *
@ -2681,7 +2682,7 @@ Index: src/sort.c
{
char *ptr = line->text, *lim = ptr + line->length - 1;
size_t sword = key->sword;
@@ -1553,10 +1700,10 @@ begfield (struct line const *line, struc
@@ -1561,10 +1708,10 @@ begfield (struct line const *line, struc
/* The leading field separator itself is included in a field when -t
is absent. */
@ -2694,7 +2695,7 @@ Index: src/sort.c
++ptr;
if (ptr < lim)
++ptr;
@@ -1582,11 +1729,70 @@ begfield (struct line const *line, struc
@@ -1590,11 +1737,70 @@ begfield (struct line const *line, struc
return ptr;
}
@ -2766,7 +2767,7 @@ Index: src/sort.c
{
char *ptr = line->text, *lim = ptr + line->length - 1;
size_t eword = key->eword, echar = key->echar;
@@ -1601,10 +1807,10 @@ limfield (struct line const *line, struc
@@ -1609,10 +1815,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. */
@ -2779,7 +2780,7 @@ Index: src/sort.c
++ptr;
if (ptr < lim && (eword || echar))
++ptr;
@@ -1650,10 +1856,10 @@ limfield (struct line const *line, struc
@@ -1658,10 +1864,10 @@ limfield (struct line const *line, struc
*/
/* Make LIM point to the end of (one byte past) the current field. */
@ -2792,7 +2793,7 @@ Index: src/sort.c
if (newlim)
lim = newlim;
}
@@ -1684,6 +1890,130 @@ limfield (struct line const *line, struc
@@ -1692,6 +1898,130 @@ limfield (struct line const *line, struc
return ptr;
}
@ -2923,7 +2924,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
@@ -1770,8 +2100,22 @@ fillbuf (struct buffer *buf, FILE *fp, c
@@ -1778,8 +2108,22 @@ fillbuf (struct buffer *buf, FILE *fp, c
else
{
if (key->skipsblanks)
@ -2948,7 +2949,7 @@ Index: src/sort.c
line->keybeg = line_start;
}
}
@@ -1892,7 +2236,7 @@ human_numcompare (char const *a, char co
@@ -1900,7 +2244,7 @@ human_numcompare (char const *a, char co
hideously fast. */
static int
@ -2957,8 +2958,8 @@ Index: src/sort.c
{
while (blanks[to_uchar (*a)])
a++;
@@ -1902,6 +2246,25 @@ numcompare (char const *a, char const *b
return strnumcmp (a, b, decimal_point, thousands_sep);
@@ -1928,6 +2272,25 @@ nan_compare (char const *sa, char const
return memcmp (&a, &b, sizeof a);
}
+#if HAVE_MBRTOWC
@ -2983,7 +2984,7 @@ Index: src/sort.c
static int
general_numcompare (char const *sa, char const *sb)
{
@@ -1934,7 +2297,7 @@ general_numcompare (char const *sa, char
@@ -1960,7 +2323,7 @@ general_numcompare (char const *sa, char
Return 0 if the name in S is not recognized. */
static int
@ -2992,7 +2993,7 @@ Index: src/sort.c
{
size_t lo = 0;
size_t hi = MONTHS_PER_YEAR;
@@ -2209,15 +2572,14 @@ debug_key (struct line const *line, stru
@@ -2235,15 +2598,14 @@ debug_key (struct line const *line, stru
char saved = *lim;
*lim = '\0';
@ -3010,7 +3011,7 @@ Index: src/sort.c
else if (key->general_numeric)
ignore_value (strtold (beg, &tighter_lim));
else if (key->numeric || key->human_numeric)
@@ -2361,7 +2723,7 @@ key_warnings (struct keyfield const *gke
@@ -2387,7 +2749,7 @@ key_warnings (struct keyfield const *gke
bool maybe_space_aligned = !hard_LC_COLLATE && default_key_compare (key)
&& !(key->schar || key->echar);
bool line_offset = key->eword == 0 && key->echar != 0; /* -k1.x,1.y */
@ -3019,7 +3020,7 @@ Index: src/sort.c
&& ((!key->skipsblanks && !(implicit_skip || maybe_space_aligned))
|| (!key->skipsblanks && key->schar)
|| (!key->skipeblanks && key->echar)))
@@ -2419,11 +2781,83 @@ key_warnings (struct keyfield const *gke
@@ -2445,11 +2807,83 @@ key_warnings (struct keyfield const *gke
error (0, 0, _("option `-r' only applies to last-resort comparison"));
}
@ -3104,7 +3105,7 @@ Index: src/sort.c
{
struct keyfield *key = keylist;
@@ -2508,7 +2942,7 @@ keycompare (struct line const *a, struct
@@ -2534,7 +2968,7 @@ keycompare (struct line const *a, struct
else if (key->human_numeric)
diff = human_numcompare (ta, tb);
else if (key->month)
@ -3113,7 +3114,7 @@ Index: src/sort.c
else if (key->random)
diff = compare_random (ta, tlena, tb, tlenb);
else if (key->version)
@@ -2624,6 +3058,179 @@ keycompare (struct line const *a, struct
@@ -2650,6 +3084,179 @@ keycompare (struct line const *a, struct
return key->reverse ? -diff : diff;
}
@ -3293,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. */
@@ -4087,7 +4694,7 @@ main (int argc, char **argv)
@@ -4113,7 +4720,7 @@ main (int argc, char **argv)
initialize_exit_failure (SORT_FAILURE);
hard_LC_COLLATE = hard_locale (LC_COLLATE);
@ -3302,7 +3303,7 @@ Index: src/sort.c
hard_LC_TIME = hard_locale (LC_TIME);
#endif
@@ -4108,6 +4715,29 @@ main (int argc, char **argv)
@@ -4134,6 +4741,29 @@ main (int argc, char **argv)
thousands_sep = -1;
}
@ -3332,7 +3333,7 @@ Index: src/sort.c
have_read_stdin = false;
inittables ();
@@ -4378,13 +5008,34 @@ main (int argc, char **argv)
@@ -4404,13 +5034,34 @@ main (int argc, char **argv)
case 't':
{
@ -3371,7 +3372,7 @@ Index: src/sort.c
else
{
/* Provoke with `sort -txx'. Complain about
@@ -4395,9 +5046,12 @@ main (int argc, char **argv)
@@ -4421,9 +5072,12 @@ main (int argc, char **argv)
quote (optarg));
}
}
@ -3388,8 +3389,8 @@ Index: src/sort.c
Index: src/unexpand.c
===================================================================
--- src/unexpand.c.orig 2011-01-31 13:40:38.000000000 +0100
+++ src/unexpand.c 2011-02-10 15:59:59.390590326 +0100
--- src/unexpand.c.orig 2011-10-10 09:56:46.000000000 +0200
+++ src/unexpand.c 2011-10-13 15:53:04.239558180 +0200
@@ -39,12 +39,29 @@
#include <stdio.h>
#include <getopt.h>
@ -3645,8 +3646,8 @@ Index: src/unexpand.c
error (EXIT_FAILURE, errno, "-");
Index: src/uniq.c
===================================================================
--- src/uniq.c.orig 2011-01-31 13:40:38.000000000 +0100
+++ src/uniq.c 2011-02-10 15:59:59.440587155 +0100
--- src/uniq.c.orig 2011-10-10 09:56:46.000000000 +0200
+++ src/uniq.c 2011-10-13 15:56:46.935568114 +0200
@@ -21,6 +21,16 @@
#include <getopt.h>
#include <sys/types.h>
@ -3699,9 +3700,9 @@ Index: src/uniq.c
@@ -207,7 +233,7 @@ size_opt (char const *opt, char const *m
return a pointer to the beginning of the line's field to be compared. */
static char *
static char * _GL_ATTRIBUTE_PURE
-find_field (struct linebuffer const *line)
+find_field_uni (struct linebuffer *line)
+find_field_uni (struct linebuffer const *line)
{
size_t count;
char const *lp = line->buffer;
@ -3798,7 +3799,7 @@ Index: src/uniq.c
if (check_chars < oldlen)
oldlen = check_chars;
if (check_chars < newlen)
@@ -242,15 +347,93 @@ different (char *old, char *new, size_t
@@ -242,14 +347,92 @@ different (char *old, char *new, size_t
if (ignore_case)
{
@ -3825,8 +3826,8 @@ Index: src/uniq.c
+ }
+
+ return xmemcoll (copy_old, oldlen, copy_new, newlen);
}
+}
+
+#if HAVE_MBRTOWC
+static int
+different_multi (const char *old, const char *new, size_t oldlen, size_t newlen, mbstate_t oldstate, mbstate_t newstate)
@ -3891,12 +3892,11 @@ Index: src/uniq.c
+ }
+
+ return xmemcoll (copy[0], len[0], copy[1], len[1]);
+}
}
+#endif
+
/* Output the line in linebuffer LINE to standard output
provided that the switches say it should be output.
MATCH is true if the line matches the previous line.
@@ -305,15 +488,43 @@ check_file (const char *infile, const ch
{
char *prevfield IF_LINT ( = NULL);
@ -4016,9 +4016,9 @@ Index: src/uniq.c
check_chars = SIZE_MAX;
Index: tests/Makefile.am
===================================================================
--- tests/Makefile.am.orig 2011-01-31 18:26:06.000000000 +0100
+++ tests/Makefile.am 2011-02-10 16:00:18.705365581 +0100
@@ -236,6 +236,7 @@ TESTS = \
--- 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 = \
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 \
@@ -505,6 +506,10 @@ TESTS = \
@@ -521,6 +522,10 @@ TESTS = \
$(root_tests)
pr_data = \
@ -4039,9 +4039,9 @@ Index: tests/Makefile.am
pr/0FFnt \
Index: tests/misc/cut
===================================================================
--- tests/misc/cut.orig 2011-01-31 13:40:38.000000000 +0100
+++ tests/misc/cut 2011-02-10 16:00:18.981348087 +0100
@@ -26,7 +26,7 @@ use strict;
--- tests/misc/cut.orig 2011-10-10 09:30:55.000000000 +0200
+++ tests/misc/cut 2011-10-13 15:53:04.240558166 +0200
@@ -30,7 +30,7 @@ my $mb_locale = $ENV{LOCALE_FR_UTF8};
my $prog = 'cut';
my $try = "Try \`$prog --help' for more information.\n";
my $from_1 = "$prog: fields and positions are numbered from 1\n$try";
@ -4050,7 +4050,7 @@ Index: tests/misc/cut
my $no_endpoint = "$prog: invalid range with no endpoint: -\n$try";
my @Tests =
@@ -143,7 +143,7 @@ my @Tests =
@@ -147,7 +147,7 @@ my @Tests =
# None of the following invalid ranges provoked an error up to coreutils-6.9.
['inval1', qw(-f 2-0), {IN=>''}, {OUT=>''}, {EXIT=>1},
@ -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-02-10 15:59:59.632574982 +0100
+++ tests/misc/mb1.I 2011-10-13 15:53:04.240558166 +0200
@@ -0,0 +1,4 @@
+Apple10
+Banana5
@ -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-02-10 15:59:59.673572383 +0100
+++ tests/misc/mb1.X 2011-10-13 15:53:04.240558166 +0200
@@ -0,0 +1,4 @@
+Banana5
+Apple10
@ -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-02-10 15:59:59.698570797 +0100
+++ tests/misc/mb2.I 2011-10-13 15:53:04.241558153 +0200
@@ -0,0 +1,4 @@
+Apple1020
+Banana530
@ -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-02-10 15:59:59.732568640 +0100
+++ tests/misc/mb2.X 2011-10-13 15:53:04.241558153 +0200
@@ -0,0 +1,4 @@
+Citrus205
+Cherry3010
@ -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-02-10 15:59:59.757567054 +0100
+++ tests/misc/sort-mb-tests 2011-10-13 15:53:04.241558153 +0200
@@ -0,0 +1,58 @@
+#! /bin/sh
+case $# in

View File

@ -10,11 +10,11 @@ Date: Fri Jul 22 14:48:42 2011 +0200
* m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
This addresses http://bugzilla.redhat.com/692823.
Index: coreutils-8.12/lib/acl-internal.h
Index: lib/acl-internal.h
===================================================================
--- coreutils-8.12.orig/lib/acl-internal.h
+++ coreutils-8.12/lib/acl-internal.h
@@ -124,6 +124,12 @@ rpl_acl_set_fd (int fd, acl_t acl)
--- lib/acl-internal.h.orig 2011-10-05 17:31:39.000000000 +0200
+++ lib/acl-internal.h 2011-10-13 16:02:40.895813897 +0200
@@ -133,6 +133,12 @@ rpl_acl_set_fd (int fd, acl_t acl)
# endif
/* Linux-specific */
@ -27,11 +27,11 @@ Index: coreutils-8.12/lib/acl-internal.h
# ifndef HAVE_ACL_FROM_MODE
# define HAVE_ACL_FROM_MODE false
# define acl_from_mode(mode) (NULL)
Index: coreutils-8.12/lib/file-has-acl.c
Index: lib/file-has-acl.c
===================================================================
--- coreutils-8.12.orig/lib/file-has-acl.c
+++ coreutils-8.12/lib/file-has-acl.c
@@ -339,12 +339,20 @@ file_has_acl (char const *name, struct s
--- lib/file-has-acl.c.orig 2011-10-05 17:31:39.000000000 +0200
+++ lib/file-has-acl.c 2011-10-13 16:02:40.895813897 +0200
@@ -454,12 +454,20 @@ file_has_acl (char const *name, struct s
/* Linux, FreeBSD, MacOS X, IRIX, Tru64 */
int ret;
@ -53,10 +53,10 @@ Index: coreutils-8.12/lib/file-has-acl.c
}
else /* FreeBSD, MacOS X, IRIX, Tru64 */
{
Index: coreutils-8.12/m4/acl.m4
Index: m4/acl.m4
===================================================================
--- coreutils-8.12.orig/m4/acl.m4
+++ coreutils-8.12/m4/acl.m4
--- m4/acl.m4.orig 2011-10-05 17:31:39.000000000 +0200
+++ m4/acl.m4 2011-10-13 16:02:40.895813897 +0200
@@ -33,7 +33,7 @@ AC_DEFUN([gl_FUNC_ACL],
AC_CHECK_FUNCS(
[acl_get_file acl_get_fd acl_set_file acl_set_fd \
@ -66,11 +66,14 @@ Index: coreutils-8.12/m4/acl.m4
acl_delete_fd_np acl_delete_file_np \
acl_copy_ext_native acl_create_entry_np \
acl_to_short_text acl_free_text])
Index: coreutils-8.12/ChangeLog
Index: ChangeLog
===================================================================
--- coreutils-8.12.orig/ChangeLog
+++ coreutils-8.12/ChangeLog
@@ -1,3 +1,11 @@
--- ChangeLog.orig 2011-10-12 11:56:55.000000000 +0200
+++ ChangeLog 2011-10-13 16:04:55.772001787 +0200
@@ -751,6 +751,14 @@
MacOS X 10.7 has an fdatasync that is not declared, and is rumored to
be ineffective. (Bug#9141)
+2011-07-22 Kamil Dudka <kdudka@redhat.com>
+
+ file-has-acl: use acl_extended_file_nofollow if available
@ -79,6 +82,6 @@ Index: coreutils-8.12/ChangeLog
+ * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
+ * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
+
2011-04-26 Jim Meyering <meyering@redhat.com>
2011-07-20 Mike Frysinger <vapier@gentoo.org>
version 8.12
dircolors: add screen.Eterm terminal type

View File

@ -1,8 +1,8 @@
Index: configure
===================================================================
--- configure.orig 2011-04-13 21:22:30.000000000 +0200
+++ configure 2011-04-14 14:39:11.027077753 +0200
@@ -3513,7 +3513,6 @@ as_fn_append ac_func_list " alarm"
--- configure.orig 2011-10-12 11:45:49.000000000 +0200
+++ configure 2011-10-13 16:01:35.584691275 +0200
@@ -3641,7 +3641,6 @@ as_fn_append ac_func_list " alarm"
as_fn_append ac_header_list " sys/statvfs.h"
as_fn_append ac_header_list " sys/select.h"
as_fn_append ac_func_list " nl_langinfo"
@ -12,13 +12,13 @@ Index: configure
as_fn_append ac_header_list " utmp.h"
Index: m4/gnulib-comp.m4
===================================================================
--- m4/gnulib-comp.m4.orig 2011-04-09 09:51:23.000000000 +0200
+++ m4/gnulib-comp.m4 2011-04-14 14:38:04.363003296 +0200
@@ -1217,7 +1217,6 @@ AC_DEFUN([gl_INIT],
# Code from module printf-frexpl:
gl_FUNC_PRINTF_FREXPL
# Code from module printf-safe:
- m4_divert_text([INIT_PREPARE], [gl_printf_safe=yes])
# Code from module priv-set:
gl_PRIV_SET
# Code from module progname:
--- m4/gnulib-comp.m4.orig 2011-10-09 19:02:39.000000000 +0200
+++ m4/gnulib-comp.m4 2011-10-13 16:02:07.582261432 +0200
@@ -1417,7 +1417,6 @@ gl_POSIXTM
gl_POSIXVER
gl_FUNC_PRINTF_FREXP
gl_FUNC_PRINTF_FREXPL
-m4_divert_text([INIT_PREPARE], [gl_printf_safe=yes])
gl_PRIV_SET
AC_CHECK_DECLS([program_invocation_name], [], [], [#include <errno.h>])
AC_CHECK_DECLS([program_invocation_short_name], [], [], [#include <errno.h>])

View File

@ -1,8 +1,8 @@
Index: gnulib-tests/test-isnanl.h
===================================================================
--- gnulib-tests/test-isnanl.h.orig 2010-11-27 16:11:07.000000000 +0100
+++ gnulib-tests/test-isnanl.h 2011-01-03 13:26:31.990205613 +0100
@@ -48,7 +48,7 @@ main ()
--- gnulib-tests/test-isnanl.h.orig 2011-10-09 19:02:27.000000000 +0200
+++ gnulib-tests/test-isnanl.h 2011-10-13 15:58:39.627054718 +0200
@@ -49,7 +49,7 @@ main ()
/* Quiet NaN. */
ASSERT (isnanl (NaNl ()));
@ -11,7 +11,7 @@ Index: gnulib-tests/test-isnanl.h
/* A bit pattern that is different from a Quiet NaN. With a bit of luck,
it's a Signalling NaN. */
{
@@ -90,6 +90,7 @@ main ()
@@ -91,6 +91,7 @@ main ()
{ LDBL80_WORDS (0xFFFF, 0x83333333, 0x00000000) };
ASSERT (isnanl (x.value));
}
@ -19,7 +19,7 @@ Index: gnulib-tests/test-isnanl.h
/* The isnanl function should recognize Pseudo-NaNs, Pseudo-Infinities,
Pseudo-Zeroes, Unnormalized Numbers, and Pseudo-Denormals, as defined in
Intel IA-64 Architecture Software Developer's Manual, Volume 1:
@@ -123,6 +124,7 @@ main ()
@@ -124,6 +125,7 @@ main ()
ASSERT (isnanl (x.value));
}
#endif
@ -27,23 +27,10 @@ Index: gnulib-tests/test-isnanl.h
return 0;
}
Index: src/system.h
===================================================================
--- src/system.h.orig 2010-07-07 12:08:06.000000000 +0200
+++ src/system.h 2011-01-03 13:26:32.043207142 +0100
@@ -138,7 +138,7 @@ enum
# define DEV_BSIZE BBSIZE
#endif
#ifndef DEV_BSIZE
-# define DEV_BSIZE 4096
+# define DEV_BSIZE 512
#endif
/* Extract or fake data from a `struct stat'.
Index: tests/misc/help-version
===================================================================
--- tests/misc/help-version.orig 2010-05-31 10:21:14.000000000 +0200
+++ tests/misc/help-version 2011-01-03 13:26:32.068207863 +0100
--- tests/misc/help-version.orig 2011-07-28 12:38:27.000000000 +0200
+++ tests/misc/help-version 2011-10-13 15:58:39.628054705 +0200
@@ -250,6 +250,7 @@ parted_setup () { args="-s $tmp_in mklab
for i in $built_programs; do
# Skip these.
@ -54,14 +41,15 @@ Index: tests/misc/help-version
echo z |gzip > $zin
Index: tests/other-fs-tmpdir
===================================================================
--- tests/other-fs-tmpdir.orig 2010-01-01 14:06:47.000000000 +0100
+++ tests/other-fs-tmpdir 2011-01-03 13:26:32.109209046 +0100
@@ -43,6 +43,8 @@ for d in $CANDIDATE_TMP_DIRS; do
fi
--- tests/other-fs-tmpdir.orig 2011-07-28 12:38:27.000000000 +0200
+++ tests/other-fs-tmpdir 2011-10-13 16:01:02.181139986 +0200
@@ -44,6 +44,9 @@ for d in $CANDIDATE_TMP_DIRS; do
done
+# Autobuild hack
+test -f /bin/uname.bin && other_partition_tmpdir=
+
if test -z "$other_partition_tmpdir"; then
skip_test_ \
skip_ \
"requires a writable directory on a different disk partition,

View File

@ -1,3 +1,121 @@
-------------------------------------------------------------------
Thu Oct 13 16:07:16 CEST 2011 - pth@suse.de
- Update to 8.14. Changes since 8.12:
Bug fixes:
- ls --dereference no longer outputs erroneous "argetm" strings for
dangling symlinks when an 'ln=target' entry is in $LS_COLORS.
[bug introduced in fileutils-4.0]
- ls -lL symlink once again properly prints "+" when the referent has
an ACL. [bug introduced in coreutils-8.13]
- sort -g no longer infloops for certain inputs containing NaNs [bug
introduced in coreutils-8.5]
- chown and chgrp with the -v --from= options, now output the correct
owner. I.E. for skipped files, the original ownership is output,
not the new one. [bug introduced in sh-utils-2.0g]
- cp -r could mistakenly change the permissions of an existing
destination directory. [bug introduced in coreutils-6.8]
- cp -u -p would fail to preserve one hard link for each up-to-date
copy of a src-hard-linked name in the destination tree. I.e., if
s/a and s/b are hard-linked and dst/s/a is up to date, "cp -up s
dst" would copy s/b to dst/s/b rather than simply linking dst/s/b
to dst/s/a. [This bug appears to have been present in "the
beginning".]
- fts-using tools (rm, du, chmod, chgrp, chown, chcon) no longer use
memory proportional to the number of entries in each directory they
process. Before, rm -rf 4-million-entry-directory would consume
about 1GiB of memory. Now, it uses less than 30MB, no matter how
many entries there are. [this bug was inherent in the use of fts:
thus, for rm the bug was introduced in coreutils-8.0. The prior
implementation of rm did not use as much memory. du, chmod, chgrp
and chown started using fts in 6.0. chcon was added in
coreutils-6.9.91 with fts support. ]
- pr -T no longer ignores a specified LAST_PAGE to stop at. [bug
introduced in textutils-1.19q]
- printf '%d' '"' no longer accesses out-of-bounds memory in the
diagnostic. [bug introduced in sh-utils-1.16]
- split --number l/... no longer creates extraneous files in certain
cases. [bug introduced in coreutils-8.8]
- timeout now sends signals to commands that create their own process
group. timeout is no longer confused when starting off with a
child process. [bugs introduced in coreutils-7.0]
- unexpand -a now aligns correctly when there are spaces spanning a
tabstop, followed by a tab. In that case a space was dropped,
causing misalignment. We also now ensure that a space never
precedes a tab. [bug introduced in coreutils-5.3.0]
New features:
- date now accepts ISO 8601 date-time strings with "T" as the
separator. It has long parsed dates like "2004-02-29 16:21:42"
with a space between the date and time strings. Now it also parses
"2004-02-29T16:21:42" and fractional-second and time-zone-annotated
variants like "2004-02-29T16:21:42.333-07:00"
- md5sum accepts the new --strict option. With --check, it makes the
tool exit non-zero for any invalid input line, rather than just warning.
This also affects sha1sum, sha224sum, sha384sum and sha512sum.
- split accepts a new --filter=CMD option. With it, split filters
output through CMD. CMD may use the $FILE environment variable,
which is set to the nominal output file name for each invocation of
CMD. For example, to split a file into 3 approximately equal
parts, which are then compressed:
split -n3 --filter='xz > $FILE.xz' big
Note the use of single quotes, not double quotes. That creates
files named xaa.xz, xab.xz and xac.xz.
- timeout accepts a new --foreground option, to support commands not
started directly from a shell prompt, where the command is
interactive or needs to receive signals initiated from the
terminal.
Improvements:
- md5sum --check now supports the -r format from the corresponding
BSD tool. This also affects sha1sum, sha224sum, sha384sum and
sha512sum.
- pwd now works also on systems without openat. On such systems, pwd
would fail when run from a directory whose absolute name contained
more than PATH_MAX / 3 components. The df, stat and readlink
programs are also affected due to their use of the canonicalize_*
functions.
- join --check-order now prints "join: FILE:LINE_NUMBER: bad_line"
for an unsorted input, rather than e.g., "join: file 1 is not in
sorted order".
- shuf outputs small subsets of large permutations much more
efficiently. For example `shuf -i1-$((2**32-1)) -n2` no longer
exhausts memory.
- stat -f now recognizes the GPFS, MQUEUE and PSTOREFS file system
types.
- timeout now supports sub-second timeouts.
Changes in behavior:
- chmod, chown and chgrp now output the original attributes in
messages, when -v or -c specified.
- cp -au (where --preserve=links is implicit) may now replace newer
files in the destination, to mirror hard links from the source.
-------------------------------------------------------------------
Sat Sep 17 23:29:33 UTC 2011 - jengelh@medozas.de

View File

@ -23,8 +23,8 @@ BuildRequires: help2man libacl-devel libcap-devel libselinux-devel pam-devel xz
Url: http://www.gnu.org/software/coreutils/
License: GFDLv1.2 ; GPLv2+ ; GPLv3+
Group: System/Base
Version: 8.12
Release: 7
Version: 8.14
Release: 1
Provides: fileutils = %{version}, sh-utils = %{version}, stat = %version}, textutils = %{version}, mktemp = %{version}
Obsoletes: fileutils < %{version}, sh-utils < %{version}, stat < %version}, textutils < %{version}, mktemp < %{version}
Obsoletes: libselinux <= 1.23.11-3 libselinux-32bit = 9 libselinux-64bit = 9 libselinux-x86 = 9
@ -35,7 +35,7 @@ Source: coreutils-%{version}.tar.xz
Source1: su.pamd
Source2: su.default
Source3: baselibs.conf
Source4: coreutils-8.12.de.po.xz
Source4: coreutils-8.14.de.po.xz
Patch0: coreutils-misc.patch
Patch1: coreutils-remove_hostname_documentation.patch
Patch2: coreutils-gl_printf_safe.patch
@ -96,7 +96,7 @@ uname unexpand uniq unlink uptime users vdir wc who whoami yes
%patch31
%patch32
%patch33
%patch34 -p1
%patch34
xz -dc %{S:4} >po/de.po
@ -108,11 +108,12 @@ export CFLAGS="%optflags -Wall"
gl_cv_func_printf_directive_n=yes \
gl_cv_func_isnanl_works=yes \
DEFAULT_POSIX2_VERSION=199209
make -C po update-po
make %{?_smp_mflags} V=1
%install
%makeinstall
%makeinstall pkglibexecdir=%{_libdir}/%{name}
test -f %{buildroot}%{_bindir}/su || \
install src/su %{buildroot}%{_bindir}/su
install -d %{buildroot}/bin