diff options
Diffstat (limited to 'meta/recipes-core')
24 files changed, 0 insertions, 6695 deletions
diff --git a/meta/recipes-core/coreutils/coreutils-6.9/coreutils-6.9-cp-i-u.patch b/meta/recipes-core/coreutils/coreutils-6.9/coreutils-6.9-cp-i-u.patch deleted file mode 100644 index 5452b46bbc..0000000000 --- a/meta/recipes-core/coreutils/coreutils-6.9/coreutils-6.9-cp-i-u.patch +++ /dev/null @@ -1,120 +0,0 @@ -Upstream-Status: Inappropriate [legacy version] - -This patch was imported from the Fedora Core 8 coreutils-6.9-9 package. - -The package is stated as being Licensed as GPLv2+. - -Signed-off-by: Mark Hatle <mark.hatle@windriver.com> - ----- - -When "cp -i --update old new" would do nothing because "new" is -newer than "old", cp would nonetheless prompt for whether it is -ok to overwrite "new". Then, regardless of the response (because -of the --update option), cp would do nothing. - -The following patch eliminates the unnecessary prompt in that case. - -diff --git a/src/copy.c b/src/copy.c -index b7bf73b..0e549d2 100644 ---- a/src/copy.c -+++ b/src/copy.c -@@ -1210,6 +1210,30 @@ copy_internal (char const *src_name, char const *dst_name, - return false; - } - -+ if (!S_ISDIR (src_mode) && x->update) -+ { -+ /* When preserving time stamps (but not moving within a file -+ system), don't worry if the destination time stamp is -+ less than the source merely because of time stamp -+ truncation. */ -+ int options = ((x->preserve_timestamps -+ && ! (x->move_mode -+ && dst_sb.st_dev == src_sb.st_dev)) -+ ? UTIMECMP_TRUNCATE_SOURCE -+ : 0); -+ -+ if (0 <= utimecmp (dst_name, &dst_sb, &src_sb, options)) -+ { -+ /* We're using --update and the destination is not older -+ than the source, so do not copy or move. Pretend the -+ rename succeeded, so the caller (if it's mv) doesn't -+ end up removing the source file. */ -+ if (rename_succeeded) -+ *rename_succeeded = true; -+ return true; -+ } -+ } -+ - /* When there is an existing destination file, we may end up - returning early, and hence not copying/moving the file. - This may be due to an interactive `negative' reply to the -@@ -1302,30 +1326,6 @@ copy_internal (char const *src_name, char const *dst_name, - return false; - } - } -- -- if (x->update) -- { -- /* When preserving time stamps (but not moving within a file -- system), don't worry if the destination time stamp is -- less than the source merely because of time stamp -- truncation. */ -- int options = ((x->preserve_timestamps -- && ! (x->move_mode -- && dst_sb.st_dev == src_sb.st_dev)) -- ? UTIMECMP_TRUNCATE_SOURCE -- : 0); -- -- if (0 <= utimecmp (dst_name, &dst_sb, &src_sb, options)) -- { -- /* We're using --update and the destination is not older -- than the source, so do not copy or move. Pretend the -- rename succeeded, so the caller (if it's mv) doesn't -- end up removing the source file. */ -- if (rename_succeeded) -- *rename_succeeded = true; -- return true; -- } -- } - } - - if (x->move_mode) -diff --git a/tests/mv/update b/tests/mv/update -index 0c06024..6c3d149 100755 ---- a/tests/mv/update -+++ b/tests/mv/update -@@ -1,7 +1,7 @@ - #!/bin/sh - # make sure --update works as advertised - --# Copyright (C) 2001, 2004, 2006 Free Software Foundation, Inc. -+# Copyright (C) 2001, 2004, 2006-2007 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 -@@ -46,11 +46,16 @@ fi - - fail=0 - --for cp_or_mv in cp mv; do -- # This is a no-op. -- $cp_or_mv --update old new || fail=1 -- case "`cat new`" in new) ;; *) fail=1 ;; esac -- case "`cat old`" in old) ;; *) fail=1 ;; esac -+for interactive in '' -i; do -+ for cp_or_mv in cp mv; do -+ # This is a no-op, with no prompt. -+ # With coreutils-6.9 and earlier, using --update with -i would -+ # mistakenly elicit a prompt. -+ $cp_or_mv $interactive --update old new < /dev/null > out 2>&1 || fail=1 -+ test -s out && fail=1 -+ case "`cat new`" in new) ;; *) fail=1 ;; esac -+ case "`cat old`" in old) ;; *) fail=1 ;; esac -+ done - done - - # This will actually perform the rename. --- -1.5.3.rc1.16.g9d6f diff --git a/meta/recipes-core/coreutils/coreutils-6.9/coreutils-fix-install.patch b/meta/recipes-core/coreutils/coreutils-6.9/coreutils-fix-install.patch deleted file mode 100644 index 88f61fa108..0000000000 --- a/meta/recipes-core/coreutils/coreutils-6.9/coreutils-fix-install.patch +++ /dev/null @@ -1,101 +0,0 @@ -Upstream-Status: Inappropriate [legacy version] - -The install command doesn't over write the dangling symlink, for -example: - -$ install fileA /tmp/fileA - -If /tmp/fileA is a dangling symlink, there would be an error: - -install: cannot create regular file '/tmp/fileA': File exists - -This is because of the following code in copy.c: - - if (!new_dst) - { - if (XSTAT (x, dst_name, &dst_sb) != 0) - { - if (errno != ENOENT) - { - error (0, errno, _("cannot stat %s"), quote (dst_name)); - return false; - } - else - { - new_dst = true; - } - } - -XSTAT() use stat() for dst_name(the dangling symlink /tmp/fileA) when -install.c invokes it, and stat will set errno to ENOENT, and then -new_dst will be set to true which means that /tmp/fileA doesn't exist, -then we will create /tmp/fileA without remove it first, so the error -comes. - -This is fixed in a way which adds the member cmd_install in -struct cp_options to make sure my change only affected to the install -command and use lstat to fix the problem. - -Signed-off-by: Robert Yang <liezhi.yang@windriver.com> -Signed-off-by: Mark Hatle <mark.hatle@windriver.com> - ---- - src/copy.c | 10 +++++++++- - src/copy.h | 3 +++ - src/install.c | 1 + - 3 files changed, 13 insertions(+), 1 deletions(-) - -diff --git a/src/copy.c b/src/copy.c ---- a/src/copy.c -+++ b/src/copy.c -@@ -1029,6 +1029,7 @@ copy_internal (char const *src_name, char const *dst_name, - bool delayed_ok; - bool copied_as_regular = false; - bool preserve_metadata; -+ int dst_stat_result; - - if (x->move_mode && rename_succeeded) - *rename_succeeded = false; -@@ -1069,7 +1070,14 @@ copy_internal (char const *src_name, char const *dst_name, - - if (!new_dst) - { -- if (XSTAT (x, dst_name, &dst_sb) != 0) -+ if ( x->cmd_install && ( x->backup_type == no_backups)) -+ dst_stat_result = lstat (dst_name, &dst_sb); -+ else -+ { -+ dst_stat_result = XSTAT (x, dst_name, &dst_sb); -+ } -+ -+ if (dst_stat_result != 0) - { - if (errno != ENOENT) - { -diff --git a/src/copy.h b/src/copy.h ---- a/src/copy.h -+++ b/src/copy.h -@@ -114,6 +114,9 @@ struct cp_options - If that fails, then resort to copying. */ - bool move_mode; - -+ /* For the install command */ -+ bool cmd_install; -+ - /* Whether this process has appropriate privileges to chown a file - whose owner is not the effective user ID. */ - bool chown_privileges; -diff --git a/src/install.c b/src/install.c ---- a/src/install.c -+++ b/src/install.c -@@ -149,6 +149,7 @@ cp_option_init (struct cp_options *x) - x->hard_link = false; - x->interactive = I_UNSPECIFIED; - x->move_mode = false; -+ x->cmd_install = true; - x->chown_privileges = chown_privileges (); - x->one_file_system = false; - x->preserve_ownership = false; --- -1.7.0.1 - diff --git a/meta/recipes-core/coreutils/coreutils-6.9/coreutils-fix-texinfo.patch b/meta/recipes-core/coreutils/coreutils-6.9/coreutils-fix-texinfo.patch deleted file mode 100644 index 3ae5a2faeb..0000000000 --- a/meta/recipes-core/coreutils/coreutils-6.9/coreutils-fix-texinfo.patch +++ /dev/null @@ -1,375 +0,0 @@ -From 170be4023bbf9e9698a709e03265945588ac8e01 Mon Sep 17 00:00:00 2001 -From: Robert Yang <liezhi.yang@windriver.com> -Date: Tue, 26 Nov 2013 00:21:50 +0800 -Subject: [PATCH] doc/coreutils.texi: Use '@item' instead of '@itemx' - -Use '@item' instead of '@itemx' in several places, as Texinfo 5 refuses -to process an '@itemx' that is not preceded by an '@item'. Ensure that -node extended names in menus and sectioning are consistent, and that -ordering and presence of nodes in menus and in the actual text are -consistent as well. - -Upstream-Status: Backport [From: coreutils.7620.n7.nabble.com, bug#11828] - -Signed-off-by: Robert Yang <liezhi.yang@windriver.com> ---- - doc/coreutils.texi | 82 +++++++++++++++++++++++++++--------------------------- - 1 file changed, 41 insertions(+), 41 deletions(-) - -diff --git a/doc/coreutils.texi b/doc/coreutils.texi -index 588147f..2dae3fe 100644 ---- a/doc/coreutils.texi -+++ b/doc/coreutils.texi -@@ -555,7 +555,7 @@ symbolic link to a directory. @xref{Target directory}. - @end macro - - @macro optSi --@itemx --si -+@item --si - @opindex --si - @cindex SI output - Append an SI-style abbreviation to each size, such as @samp{M} for -@@ -578,7 +578,7 @@ Use the @option{--si} option if you prefer powers of 1000. - @end macro - - @macro optStripTrailingSlashes --@itemx @w{@kbd{--strip-trailing-slashes}} -+@item @w{@kbd{--strip-trailing-slashes}} - @opindex --strip-trailing-slashes - @cindex stripping trailing slashes - Remove any trailing slashes from each @var{source} argument. -@@ -2496,7 +2496,7 @@ by 1048576. - However, if @var{n} starts with a @samp{-}, - print all but the last @var{n} bytes of each file. - --@itemx -n @var{n} -+@item -n @var{n} - @itemx --lines=@var{n} - @opindex -n - @opindex --lines -@@ -2633,7 +2633,7 @@ This option is the same as @option{--follow=name --retry}. That is, tail - will attempt to reopen a file when it is removed. Should this fail, tail - will keep trying until it becomes accessible again. - --@itemx --retry -+@item --retry - @opindex --retry - This option is useful mainly when following by name (i.e., with - @option{--follow=name}). -@@ -2641,7 +2641,7 @@ Without this option, when tail encounters a file that doesn't - exist or is otherwise inaccessible, it reports that fact and - never checks it again. - --@itemx --sleep-interval=@var{number} -+@item --sleep-interval=@var{number} - @opindex --sleep-interval - Change the number of seconds to wait between iterations (the default is 1.0). - During one iteration, every specified file is checked to see if it has -@@ -2651,7 +2651,7 @@ Historical implementations of @command{tail} have required that - an arbitrary floating point number (using a period before any - fractional digits). - --@itemx --pid=@var{pid} -+@item --pid=@var{pid} - @opindex --pid - When following by name or by descriptor, you may specify the process ID, - @var{pid}, of the sole writer of all @var{file} arguments. Then, shortly -@@ -2674,7 +2674,7 @@ terminate until long after the real writer has terminated. - Note that @option{--pid} cannot be supported on some systems; @command{tail} - will print a warning if this is the case. - --@itemx --max-unchanged-stats=@var{n} -+@item --max-unchanged-stats=@var{n} - @opindex --max-unchanged-stats - When tailing a file by name, if there have been @var{n} (default - n=@value{DEFAULT_MAX_N_UNCHANGED_STATS_BETWEEN_OPENS}) consecutive -@@ -2686,7 +2686,7 @@ number of seconds between when tail prints the last pre-rotation lines - and when it prints the lines that have accumulated in the new log file. - This option is meaningful only when following by name. - --@itemx -n @var{n} -+@item -n @var{n} - @itemx --lines=@var{n} - @opindex -n - @opindex --lines -@@ -2817,7 +2817,7 @@ option. - @opindex --numeric-suffixes - Use digits in suffixes rather than lower-case letters. - --@itemx --verbose -+@item --verbose - @opindex --verbose - Write a diagnostic to standard error just before each output file is opened. - -@@ -3055,7 +3055,7 @@ Print only the newline counts. - @opindex --max-line-length - Print only the maximum line lengths. - --@itemx --files0-from=@var{FILE} -+@item --files0-from=@var{FILE} - @opindex --files0-from=@var{FILE} - @cindex including files from @command{du} - Rather than processing files named on the command line, process those -@@ -3250,7 +3250,7 @@ an MD5 checksum inconsistent with the associated file, or if no valid - line is found, @command{md5sum} exits with nonzero status. Otherwise, - it exits successfully. - --@itemx --status -+@item --status - @opindex --status - @cindex verifying MD5 checksums - This option is useful only when verifying checksums. -@@ -5837,7 +5837,7 @@ command line unless the @option{--dereference-command-line} (@option{-H}), - If a command line argument specifies a symbolic link, show information - for the file the link references rather than for the link itself. - --@itemx --dereference-command-line-symlink-to-dir -+@item --dereference-command-line-symlink-to-dir - @opindex --dereference-command-line-symlink-to-dir - @cindex symbolic links, dereferencing - Do not dereference symbolic links, with one exception: -@@ -7015,15 +7015,15 @@ If specified, the @var{attribute_list} must be a comma-separated list - of one or more of the following strings: - - @table @samp --@itemx mode -+@item mode - Preserve the file mode bits and access control lists. --@itemx ownership -+@item ownership - Preserve the owner and group. On most modern systems, - only users with appropriate privileges may change the owner of a file, - and ordinary users - may preserve the group ownership of a file only if they happen to be - a member of the desired group. --@itemx timestamps -+@item timestamps - Preserve the times of last access and last modification, when possible. - In general, it is not possible to preserve these attributes - when the affected file is a symbolic link. -@@ -7031,12 +7031,12 @@ However, FreeBSD now provides the @code{lutimes} function, which makes - it possibile even for symbolic links. However, this implementation does - not yet take advantage of that. - @c FIXME: once we provide lutimes support, update the above. --@itemx links -+@item links - Preserve in the destination files - any links between corresponding source files. - @c Give examples illustrating how hard links are preserved. - @c Also, show how soft links map to hard links with -L and -H. --@itemx all -+@item all - Preserve all file attributes. - Equivalent to specifying all of the above. - @end table -@@ -7049,12 +7049,12 @@ mode bits of the corresponding source file, minus the bits set in the - umask and minus the set-user-ID and set-group-ID bits. - @xref{File permissions}. - --@itemx @w{@kbd{--no-preserve}=@var{attribute_list}} -+@item @w{@kbd{--no-preserve}=@var{attribute_list}} - @cindex file information, preserving - Do not preserve the specified attributes. The @var{attribute_list} - has the same form as for @option{--preserve}. - --@itemx --parents -+@item --parents - @opindex --parents - @cindex parent directories and @command{cp} - Form the name of each destination file by appending to the target -@@ -7070,7 +7070,7 @@ cp --parents a/b/c existing_dir - copies the file @file{a/b/c} to @file{existing_dir/a/b/c}, creating - any missing intermediate directories. - --@itemx @w{@kbd{--reply}=@var{how}} -+@item @w{@kbd{--reply}=@var{how}} - @opindex --reply - @cindex interactivity - @c FIXME: remove in 2008 -@@ -7742,7 +7742,7 @@ Prompt whether to overwrite each existing destination file, regardless - of its permissions. - If the response is not affirmative, the file is skipped. - --@itemx @w{@kbd{--reply}=@var{how}} -+@item @w{@kbd{--reply}=@var{how}} - @opindex --reply - @cindex interactivity - @c FIXME: remove in 2008 -@@ -7847,7 +7847,7 @@ files are named or if a recursive removal is requested. Ignore any - previous @option{--force} (@option{-f}) option. Equivalent to - @option{--interactive=once}. - --@itemx --interactive [=@var{when}] -+@item --interactive [=@var{when}] - @opindex --interactive - Specify when to issue an interactive prompt. @var{when} may be - omitted, or one of: -@@ -7866,7 +7866,7 @@ removal is requested. Equivalent to @option{-I}. - Specifying @option{--interactive} and no @var{when} is equivalent to - @option{--interactive=always}. - --@itemx --one-file-system -+@item --one-file-system - @opindex --one-file-system - @cindex one file system, restricting @command{rm} to - When removing a hierarchy recursively, skip any directory that is on a -@@ -7884,7 +7884,7 @@ warn about and skip directories on other file systems. - Of course, this will not save your @file{/home} if it and your - chroot happen to be on the same file system. - --@itemx --preserve-root -+@item --preserve-root - @opindex --preserve-root - @cindex root directory, disallow recursive destruction - Fail upon any attempt to remove the root directory, @file{/}, -@@ -7892,7 +7892,7 @@ when used with the @option{--recursive} option. - This is the default behavior. - @xref{Treating / specially}. - --@itemx --no-preserve-root -+@item --no-preserve-root - @opindex --no-preserve-root - @cindex root directory, allow recursive destruction - Do not treat @file{/} specially when removing recursively. -@@ -8874,7 +8874,7 @@ actually changes. - Do not print error messages about files whose ownership cannot be - changed. - --@itemx @w{@kbd{--from}=@var{old-owner}} -+@item @w{@kbd{--from}=@var{old-owner}} - @opindex --from - @cindex symbolic links, changing owner - Change a @var{file}'s ownership only if it has current attributes specified -@@ -8928,14 +8928,14 @@ is a symbolic link. - By default, no diagnostic is issued for symbolic links encountered - during a recursive traversal, but see @option{--verbose}. - --@itemx --preserve-root -+@item --preserve-root - @opindex --preserve-root - @cindex root directory, disallow recursive modification - Fail upon any attempt to recursively change the root directory, @file{/}. - Without @option{--recursive}, this option has no effect. - @xref{Treating / specially}. - --@itemx --no-preserve-root -+@item --no-preserve-root - @opindex --no-preserve-root - @cindex root directory, allow recursive modification - Cancel the effect of any preceding @option{--preserve-root} option. -@@ -9054,14 +9054,14 @@ is a symbolic link. - By default, no diagnostic is issued for symbolic links encountered - during a recursive traversal, but see @option{--verbose}. - --@itemx --preserve-root -+@item --preserve-root - @opindex --preserve-root - @cindex root directory, disallow recursive modification - Fail upon any attempt to recursively change the root directory, @file{/}. - Without @option{--recursive}, this option has no effect. - @xref{Treating / specially}. - --@itemx --no-preserve-root -+@item --no-preserve-root - @opindex --no-preserve-root - @cindex root directory, allow recursive modification - Cancel the effect of any preceding @option{--preserve-root} option. -@@ -9175,14 +9175,14 @@ actually changes. - Do not print error messages about files whose permissions cannot be - changed. - --@itemx --preserve-root -+@item --preserve-root - @opindex --preserve-root - @cindex root directory, disallow recursive modification - Fail upon any attempt to recursively change the root directory, @file{/}. - Without @option{--recursive}, this option has no effect. - @xref{Treating / specially}. - --@itemx --no-preserve-root -+@item --no-preserve-root - @opindex --no-preserve-root - @cindex root directory, allow recursive modification - Cancel the effect of any preceding @option{--preserve-root} option. -@@ -9603,7 +9603,7 @@ The program accepts the following options. Also see @ref{Common options}. - @opindex --all - Show counts for all files, not just directories. - --@itemx --apparent-size -+@item --apparent-size - @opindex --apparent-size - Print apparent sizes, rather than disk usage. The apparent size of a - file is the number of bytes reported by @code{wc -c} on regular files, -@@ -9654,7 +9654,7 @@ Does not affect other symbolic links. This is helpful for finding - out the disk usage of directories, such as @file{/usr/tmp}, which - are often symbolic links. - --@itemx --files0-from=@var{FILE} -+@item --files0-from=@var{FILE} - @opindex --files0-from=@var{FILE} - @cindex including files from @command{du} - Rather than processing files named on the command line, process those -@@ -9733,7 +9733,7 @@ Output a null byte at the end of each line, rather than a newline. - This option enables other programs to parse the output of @command{du} - even when that output would contain file names with embedded newlines. - --@itemx --si -+@item --si - @opindex --si - @cindex SI output - Append an SI-style abbreviation to each size, such as @samp{MB} for -@@ -9754,13 +9754,13 @@ Display only a total for each argument. - Report the size of each directory separately, not including the sizes - of subdirectories. - --@itemx --time -+@item --time - @opindex --time - @cindex last modified dates, displaying in @command{du} - Show time of the most recent modification of any file in the directory, - or any of its subdirectories. - --@itemx --time=ctime -+@item --time=ctime - @itemx --time=status - @itemx --time=use - @opindex --time -@@ -9770,7 +9770,7 @@ or any of its subdirectories. - Show the most recent status change time (the @samp{ctime} in the inode) of - any file in the directory, instead of the modification time. - --@itemx --time=atime -+@item --time=atime - @itemx --time=access - @opindex --time - @opindex atime@r{, show the most recent} -@@ -9911,7 +9911,7 @@ $ stat --format=%d:%i / /usr - 2057:2 - @end example - --@itemx --printf=@var{format} -+@item --printf=@var{format} - @opindex --printf=@var{format} - @cindex output format - Use @var{format} rather than the default format. -@@ -12240,7 +12240,7 @@ Overrides all other options. - @opindex -s - Ignored; for compatibility with other versions of @command{who}. - --@itemx -u -+@item -u - @opindex -u - @cindex idle time - After the login time, print the number of hours and minutes that the -@@ -12254,7 +12254,7 @@ user has been idle. @samp{.} means the user was active in the last minute. - List only the entries that correspond to processes via which the - system is waiting for a user to login. The user name is always @samp{LOGIN}. - --@itemx --lookup -+@item --lookup - @opindex --lookup - Attempt to canonicalize hostnames found in utmp through a DNS lookup. This - is not the default because it can cause significant delays on systems with --- -1.8.3.1 - diff --git a/meta/recipes-core/coreutils/coreutils-6.9/coreutils-i18n.patch b/meta/recipes-core/coreutils/coreutils-6.9/coreutils-i18n.patch deleted file mode 100644 index 653722348a..0000000000 --- a/meta/recipes-core/coreutils/coreutils-6.9/coreutils-i18n.patch +++ /dev/null @@ -1,4051 +0,0 @@ -Upstream-Status: Inappropriate [legacy version] - -This patch was imported from the Fedora Core 8 coreutils-6.9-9 package. - -The package is stated as being Licensed as GPLv2+. - -The comment indicates that the purpose is lin18nux/lsb compliance. - -Signed-off-by: Mark Hatle <mark.hatle@windriver.com> - ---- /dev/null 2007-03-01 09:16:39.219409909 +0000 -+++ coreutils-6.8+/tests/sort/sort-mb-tests 2007-03-01 15:08:24.000000000 +0000 -@@ -0,0 +1,58 @@ -+#! /bin/sh -+case $# in -+ 0) xx='../../src/sort';; -+ *) xx="$1";; -+esac -+test "$VERBOSE" && echo=echo || echo=: -+$echo testing program: $xx -+errors=0 -+test "$srcdir" || srcdir=. -+test "$VERBOSE" && $xx --version 2> /dev/null -+ -+export LC_ALL=en_US.UTF-8 -+locale -k LC_CTYPE 2>&1 | grep -q charmap.*UTF-8 || exit 77 -+errors=0 -+ -+$xx -t @ -k2 -n mb1.I > mb1.O -+code=$? -+if test $code != 0; then -+ $echo "Test mb1 failed: $xx return code $code differs from expected value 0" 1>&2 -+ errors=`expr $errors + 1` -+else -+ cmp mb1.O $srcdir/mb1.X > /dev/null 2>&1 -+ case $? in -+ 0) if test "$VERBOSE"; then $echo "passed mb1"; fi;; -+ 1) $echo "Test mb1 failed: files mb1.O and $srcdir/mb1.X differ" 1>&2 -+ (diff -c mb1.O $srcdir/mb1.X) 2> /dev/null -+ errors=`expr $errors + 1`;; -+ 2) $echo "Test mb1 may have failed." 1>&2 -+ $echo The command "cmp mb1.O $srcdir/mb1.X" failed. 1>&2 -+ errors=`expr $errors + 1`;; -+ esac -+fi -+ -+$xx -t @ -k4 -n mb2.I > mb2.O -+code=$? -+if test $code != 0; then -+ $echo "Test mb2 failed: $xx return code $code differs from expected value 0" 1>&2 -+ errors=`expr $errors + 1` -+else -+ cmp mb2.O $srcdir/mb2.X > /dev/null 2>&1 -+ case $? in -+ 0) if test "$VERBOSE"; then $echo "passed mb2"; fi;; -+ 1) $echo "Test mb2 failed: files mb2.O and $srcdir/mb2.X differ" 1>&2 -+ (diff -c mb2.O $srcdir/mb2.X) 2> /dev/null -+ errors=`expr $errors + 1`;; -+ 2) $echo "Test mb2 may have failed." 1>&2 -+ $echo The command "cmp mb2.O $srcdir/mb2.X" failed. 1>&2 -+ errors=`expr $errors + 1`;; -+ esac -+fi -+ -+if test $errors = 0; then -+ $echo Passed all 113 tests. 1>&2 -+else -+ $echo Failed $errors tests. 1>&2 -+fi -+test $errors = 0 || errors=1 -+exit $errors ---- /dev/null 2007-03-01 09:16:39.219409909 +0000 -+++ coreutils-6.8+/tests/sort/mb2.I 2007-03-01 15:08:24.000000000 +0000 -@@ -0,0 +1,4 @@ -+Apple@AA10@@20 -+Banana@AA5@@30 -+Citrus@AA20@@5 -+Cherry@AA30@@10 ---- /dev/null 2007-03-01 09:16:39.219409909 +0000 -+++ coreutils-6.8+/tests/sort/mb2.X 2007-03-01 15:08:24.000000000 +0000 -@@ -0,0 +1,4 @@ -+Citrus@AA20@@5 -+Cherry@AA30@@10 -+Apple@AA10@@20 -+Banana@AA5@@30 ---- /dev/null 2007-03-01 09:16:39.219409909 +0000 -+++ coreutils-6.8+/tests/sort/mb1.I 2007-03-01 15:08:24.000000000 +0000 -@@ -0,0 +1,4 @@ -+Apple@10 -+Banana@5 -+Citrus@20 -+Cherry@30 ---- /dev/null 2007-03-01 09:16:39.219409909 +0000 -+++ coreutils-6.8+/tests/sort/mb1.X 2007-03-01 15:08:24.000000000 +0000 -@@ -0,0 +1,4 @@ -+Banana@5 -+Apple@10 -+Citrus@20 -+Cherry@30 ---- coreutils-6.8+/tests/sort/Makefile.am.i18n 2007-01-24 07:47:37.000000000 +0000 -+++ coreutils-6.8+/tests/sort/Makefile.am 2007-03-01 15:09:59.000000000 +0000 -@@ -66,15 +66,17 @@ - bigfield.O bigfield.E - ##test-files-end - --EXTRA_DIST = Test.pm $x-tests $(explicit) $(maint_gen) --noinst_SCRIPTS = $x-tests -+run_gen += mb1.0 mb2.0 -+ -+EXTRA_DIST = Test.pm $x-tests $(explicit) $(maint_gen) mb1.I mb1.X mb2.I mb2.X -+noinst_SCRIPTS = $x-tests # $x-mb-tests - TESTS_ENVIRONMENT = \ - CU_TEST_NAME=`basename $(abs_srcdir)`,$$tst \ - PATH="$(VG_PATH_PREFIX)`pwd`/../../src$(PATH_SEPARATOR)$$PATH" - - editpl = sed -e 's,@''PERL''@,$(PERL),g' -e 's,@''srcdir''@,$(srcdir),g' - --TESTS = $x-tests -+TESTS = $x-tests $x-mb-tests - - mk_script = $(srcdir)/../mk-script - $(srcdir)/$x-tests: $(mk_script) Test.pm Makefile.am ---- coreutils-6.8+/lib/linebuffer.h.i18n 2005-05-14 07:44:24.000000000 +0100 -+++ coreutils-6.8+/lib/linebuffer.h 2007-03-01 15:08:24.000000000 +0000 -@@ -22,6 +22,11 @@ - - # include <stdio.h> - -+/* Get mbstate_t. */ -+# if HAVE_WCHAR_H -+# include <wchar.h> -+# endif -+ - /* A `struct linebuffer' holds a line of text. */ - - struct linebuffer -@@ -29,6 +34,9 @@ - size_t size; /* Allocated. */ - size_t length; /* Used. */ - char *buffer; -+# if HAVE_WCHAR_H -+ mbstate_t state; -+# endif - }; - - /* Initialize linebuffer LINEBUFFER for use. */ ---- coreutils-6.8+/src/expand.c.i18n 2007-01-14 15:41:28.000000000 +0000 -+++ coreutils-6.8+/src/expand.c 2007-03-01 15:08:24.000000000 +0000 -@@ -38,11 +38,28 @@ - #include <stdio.h> - #include <getopt.h> - #include <sys/types.h> -+ -+/* Get mbstate_t, mbrtowc(), wcwidth(). */ -+#if HAVE_WCHAR_H -+# include <wchar.h> -+#endif -+ - #include "system.h" - #include "error.h" - #include "quote.h" - #include "xstrndup.h" - -+/* MB_LEN_MAX is incorrectly defined to be 1 in at least one GCC -+ installation; work around this configuration error. */ -+#if !defined MB_LEN_MAX || MB_LEN_MAX < 2 -+# define MB_LEN_MAX 16 -+#endif -+ -+/* Some systems, like BeOS, have multibyte encodings but lack mbstate_t. */ -+#if HAVE_MBRTOWC && defined mbstate_t -+# define mbrtowc(pwc, s, n, ps) (mbrtowc) (pwc, s, n, 0) -+#endif -+ - /* The official name of this program (e.g., no `g' prefix). */ - #define PROGRAM_NAME "expand" - -@@ -183,6 +200,7 @@ - stops = num_start + len - 1; - } - } -+ - else - { - error (0, 0, _("tab size contains invalid character(s): %s"), -@@ -365,6 +383,142 @@ - } - } - -+#if HAVE_MBRTOWC -+static void -+expand_multibyte (void) -+{ -+ FILE *fp; /* Input strem. */ -+ mbstate_t i_state; /* Current shift state of the input stream. */ -+ mbstate_t i_state_bak; /* Back up the I_STATE. */ -+ mbstate_t o_state; /* Current shift state of the output stream. */ -+ char buf[MB_LEN_MAX + BUFSIZ]; /* For spooling a read byte sequence. */ -+ char *bufpos; /* Next read position of BUF. */ -+ size_t buflen = 0; /* The length of the byte sequence in buf. */ -+ wchar_t wc; /* A gotten wide character. */ -+ size_t mblength; /* The byte size of a multibyte character -+ which shows as same character as WC. */ -+ int tab_index = 0; /* Index in `tab_list' of next tabstop. */ -+ int column = 0; /* Column on screen of the next char. */ -+ int next_tab_column; /* Column the next tab stop is on. */ -+ int convert = 1; /* If nonzero, perform translations. */ -+ -+ fp = next_file ((FILE *) NULL); -+ if (fp == NULL) -+ return; -+ -+ memset (&o_state, '\0', sizeof(mbstate_t)); -+ memset (&i_state, '\0', sizeof(mbstate_t)); -+ -+ for (;;) -+ { -+ /* Refill the buffer BUF. */ -+ if (buflen < MB_LEN_MAX && !feof(fp) && !ferror(fp)) -+ { -+ memmove (buf, bufpos, buflen); -+ buflen += fread (buf + bufle |
