1
0
mirror of git://git.sv.gnu.org/coreutils.git synced 2026-04-19 10:15:48 +02:00

* NEWS: sort no longer compresses temporaries by default.

* bootstrap.conf: Remove findprog.
* doc/coreutils.texi (sort invocation): The default is to not
compress.  Don't treat "" specially.
* src/sort.c: Don't include findprog.h.
(create_temp): Compress only if the user specified --compress-program.
* tests/misc/sort-compress: Adjusts tests to match new behavior.
This commit is contained in:
Paul Eggert
2007-02-24 12:24:27 +01:00
committed by Jim Meyering
parent 75460e090c
commit 3ea177e3fa
6 changed files with 20 additions and 26 deletions

View File

@@ -1,3 +1,13 @@
2007-02-24 Paul Eggert <eggert@cs.ucla.edu>
* NEWS: sort no longer compresses temporaries by default.
* bootstrap.conf: Remove findprog.
* doc/coreutils.texi (sort invocation): The default is to not
compress. Don't treat "" specially.
* src/sort.c: Don't include findprog.h.
(create_temp): Compress only if the user specified --compress-program.
* tests/misc/sort-compress: Adjusts tests to match new behavior.
2007-02-24 Jim Meyering <jim@meyering.net>
Avoid a shell syntax error, when building with an inadequate Perl.

5
NEWS
View File

@@ -44,10 +44,9 @@ GNU coreutils NEWS -*- outline -*-
** New features
By default, sort usually compresses each temporary file it writes.
sort's new --compress-program=PROG option specifies a compression
program to use when writing and reading temporary files.
This can help save both time and disk space when sorting large inputs.
The default compression program is gzip, but this can be overridden
with sort's new --compress-program=PROG option.
** New features

View File

@@ -44,7 +44,7 @@ gnulib_modules="
config-h configmake
closeout cycle-check d-ino d-type diacrit dirfd dirname dup2
error euidaccess exclude exitfail fchdir fcntl fcntl-safer fdl
file-type fileblocks filemode filenamecat findprog fnmatch-gnu
file-type fileblocks filemode filenamecat fnmatch-gnu
fopen-safer
fprintftime fsusage ftruncate fts getdate getgroups gethrxtime
getline getloadavg getndelim2 getopt getpagesize getpass-gnu

View File

@@ -3634,9 +3634,7 @@ Other options are:
@table @samp
@item --compress-program=@var{prog}
If @var{prog} is not the empty string, compress any temporary files
with the program @var{prog} rather than with the default compression
method. The default is currently @command{gzip} but this may change.
Compress any temporary files with the program @var{prog}.
With no arguments, @var{prog} must compress standard input to standard
output, and when given the @option{-d} option it must decompress
@@ -3647,9 +3645,6 @@ Terminate with an error if @var{prog} exits with nonzero status.
Whitespace and the backslash character should not appear in
@var{prog}; they are reserved for future use.
If @var{prog} is the empty string, do not compress temporary
files.
@item -k @var{pos1}[,@var{pos2}]
@itemx --key=@var{pos1}[,@var{pos2}]
@opindex -k

View File

@@ -30,7 +30,6 @@
#include "system.h"
#include "argmatch.h"
#include "error.h"
#include "findprog.h"
#include "hard-locale.h"
#include "hash.h"
#include "inttostr.h"
@@ -847,14 +846,7 @@ create_temp (FILE **pfp, pid_t *ppid)
struct tempnode *node = create_temp_file (&tempfd);
char *name = node->name;
if (! compress_program)
{
static char const default_compress_program[] = "gzip";
char const *prog = find_in_path (default_compress_program);
compress_program = (prog == default_compress_program ? "" : prog);
}
if (*compress_program)
if (compress_program)
{
int pipefds[2];
@@ -875,8 +867,7 @@ create_temp (FILE **pfp, pid_t *ppid)
dup2_or_die (pipefds[0], STDIN_FILENO);
close (pipefds[0]);
if (execlp (compress_program, compress_program,
(char *) NULL) < 0)
if (execlp (compress_program, compress_program, (char *) NULL) < 0)
error (SORT_FAILURE, errno, _("couldn't execute %s"),
compress_program);
}
@@ -925,8 +916,7 @@ open_temp (const char *name, pid_t pid)
dup2_or_die (pipefds[1], STDOUT_FILENO);
close (pipefds[1]);
if (execlp (compress_program, compress_program,
"-d", (char *) NULL) < 0)
if (execlp (compress_program, compress_program, "-d", (char *) NULL) < 0)
error (SORT_FAILURE, errno, _("couldn't execute %s -d"),
compress_program);
}

View File

@@ -57,14 +57,14 @@ EOF
chmod +x gzip
# This will find our new gzip in PATH
PATH=.:$PATH sort -S 1k in > out || fail=1
PATH=.:$PATH sort -S 1k --compress-program=gzip in > out || fail=1
cmp exp out || fail=1
test $fail = 1 && diff out exp 2> /dev/null
test -f ok || fail=1
rm -f ok
# This is to make sure we can disable compression
PATH=.:$PATH sort --compress-program= -S 1k in > out || fail=1
# This is to make sure it works with no compression.
PATH=.:$PATH sort -S 1k in > out || fail=1
cmp exp out || fail=1
test $fail = 1 && diff out exp 2> /dev/null
test -f ok && fail=1