Re: Problems on darwin with coreutils-6.10.133-677610

2008-03-26 Thread Pádraig Brady
Jim Meyering wrote:
 Eric Blake [EMAIL PROTECTED] wrote:
 According to Jim Meyering on 3/25/2008 3:47 PM:
 | -  user_name = pwd ? pwd-pw_name : NULL;
 | +  user_name = pwd ? xstrdup (pwd-pw_name) : NULL;

 Doesn't this leak memory?
 
 Thanks for mentioning it, but I think of this as a pseudo leak,
 since that allocated storage is still reachable at exit:
 
 $ valgrind --leak-check=full --show-reachable=yes ./id -G
 ...
 ==18858== 9 bytes in 1 blocks are still reachable in loss record 1 of 4
 ==18858==at 0x4C20FAB: malloc (vg_replace_malloc.c:207)
 ==18858==by 0x403D49: xstrdup (in /f/w/cu/src/id)
 ==18858==by 0x40198E: main (id.c:214)
 ...
 
 IMHO, it's best not even to try to free such memory,
 unless the total amount can become large enough to interfere
 with regular operation.

It's easier to use the tools though without this noise.
For my own programs I often change main to run in an
infinite loop (with suitable ulimit) to check leaks.

Pádraig.


___
Bug-coreutils mailing list
Bug-coreutils@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-coreutils


Re: Problems on darwin with coreutils-6.10.133-677610

2008-03-26 Thread Jim Meyering
Pádraig Brady [EMAIL PROTECTED] wrote:
 Jim Meyering wrote:
 Eric Blake [EMAIL PROTECTED] wrote:
 According to Jim Meyering on 3/25/2008 3:47 PM:
 | -  user_name = pwd ? pwd-pw_name : NULL;
 | +  user_name = pwd ? xstrdup (pwd-pw_name) : NULL;

 Doesn't this leak memory?

 Thanks for mentioning it, but I think of this as a pseudo leak,
 since that allocated storage is still reachable at exit:

 $ valgrind --leak-check=full --show-reachable=yes ./id -G
 ...
 ==18858== 9 bytes in 1 blocks are still reachable in loss record 1 of 4
 ==18858==at 0x4C20FAB: malloc (vg_replace_malloc.c:207)
 ==18858==by 0x403D49: xstrdup (in /f/w/cu/src/id)
 ==18858==by 0x40198E: main (id.c:214)
 ...

 IMHO, it's best not even to try to free such memory,
 unless the total amount can become large enough to interfere
 with regular operation.

 It's easier to use the tools though without this noise.
 For my own programs I often change main to run in an
 infinite loop (with suitable ulimit) to check leaks.

It's a trade-off.
I admit that if it'd been trivial I would have freed that memory.
However, when I look for leaks, I routinely ignore such reachable-memory
leaks.  If freeing that single user name string were to impose the
_slightest_ bit of unnecessary work or a decrease in readability, then
it's not worthwhile, in my opinion.

If you can free it cleanly, who knows...


___
Bug-coreutils mailing list
Bug-coreutils@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-coreutils


Re: configure fails on Maemo/OS2008 (sed: no previous regexp)

2008-03-26 Thread Vincent Lefevre
On 2008-03-25 21:30:58 -0600, Eric Blake wrote:
 Thanks for this portability analysis.  I agree that it is a violation of
 POSIX; perhaps someone should report this to the busybox maintainers.

I can't reproduce the problem with BusyBox v1.9.2 (now in Debian).
But I don't know when BusyBox will be upgraded in Maemo.

-- 
Vincent Lefèvre [EMAIL PROTECTED] - Web: http://www.vinc17.org/
100% accessible validated (X)HTML - Blog: http://www.vinc17.org/blog/
Work: CR INRIA - computer arithmetic / Arenaire project (LIP, ENS-Lyon)


___
Bug-coreutils mailing list
Bug-coreutils@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-coreutils


df error

2008-03-26 Thread jose antonio arjona garzon
Good afternoon,

When I run the application it shows me this error:

df: `/var/cache/pbuilder/build/8394/dev/pts': No existe el fichero o el
directorio

No existe el fichero o el directorio - The file or directory doesn't
exists.

I want that it doesn't display the mistake but I don't understand why it
does it.

Can you help me please?

Thanks,

José Antonio Arjona
___
Bug-coreutils mailing list
Bug-coreutils@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-coreutils


Re: Bug#467378: coreutils: Please include a program to truncate files

2008-03-26 Thread Pádraig Brady
Proposed truncate command attached
From 34b9bc72ffe70ec83710b12021e889d5ae65e508 Mon Sep 17 00:00:00 2001
From: =?utf-8?q?P=C3=A1draig=20Brady?= [EMAIL PROTECTED]
Date: Wed, 26 Mar 2008 14:03:31 +
Subject: [PATCH] Add new program: truncate
 * AUTHORS: Register as the author.
 * NEWS: Mention this change.
 * README: Add truncate command to list
 * src/truncate.c: New command.
 * src/Makefile.am: Add truncate command to list to build
 * doc/coreutils.texi (truncate invocation): Add truncate info.
 * man/Makefile.am: Add truncate man page to list to build
 * man/truncate.x: Add truncate man page template
 * tests/misc/Makefile.am: Add truncate tests
 * tests/misc/help-version: Add support for new truncate command.
 * tests/misc/truncate-dangling-symlink: check dangling link ok
 * tests/misc/truncate-dir-fail: ensure dirs fail
 * tests/misc/truncate-fail-diag: validate messages for missing paths
 * tests/misc/truncate-fifo: ensure fifos ignored
 * tests/misc/truncate-no-create-missing: ensure -c option honoured
 * tests/misc/truncate-overflow: check signed integer overflows
 * tests/misc/truncate-owned-by-other: root permissions check
 * tests/misc/truncate-parameters: check invalid parameter combinations
 * tests/misc/truncate-relative: check invalid relative sizes


Signed-off-by: Pádraig Brady [EMAIL PROTECTED]
---
 AUTHORS   |1 +
 ChangeLog-2008|   24 ++-
 NEWS  |4 +
 README|3 +-
 doc/coreutils.texi|   80 +++-
 man/Makefile.am   |1 +
 man/truncate.x|6 +
 src/Makefile.am   |2 +-
 src/truncate.c|  371 +
 tests/misc/Makefile.am|9 +
 tests/misc/help-version   |1 +
 tests/misc/truncate-dangling-symlink  |   35 +++
 tests/misc/truncate-dir-fail  |   14 ++
 tests/misc/truncate-fail-diag |   52 +
 tests/misc/truncate-fifo  |   38 
 tests/misc/truncate-no-create-missing |   31 +++
 tests/misc/truncate-overflow  |   52 +
 tests/misc/truncate-owned-by-other|   40 
 tests/misc/truncate-parameters|   43 
 tests/misc/truncate-relative  |   40 
 20 files changed, 841 insertions(+), 6 deletions(-)
 create mode 100644 man/truncate.x
 create mode 100644 src/truncate.c
 create mode 100755 tests/misc/truncate-dangling-symlink
 create mode 100755 tests/misc/truncate-dir-fail
 create mode 100755 tests/misc/truncate-fail-diag
 create mode 100755 tests/misc/truncate-fifo
 create mode 100755 tests/misc/truncate-no-create-missing
 create mode 100755 tests/misc/truncate-overflow
 create mode 100755 tests/misc/truncate-owned-by-other
 create mode 100755 tests/misc/truncate-parameters
 create mode 100755 tests/misc/truncate-relative

diff --git a/AUTHORS b/AUTHORS
index 807857f..8b33318 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -87,6 +87,7 @@ test: Kevin Braunsdorf, Matthew Bradburn
 touch: Paul Rubin, Arnold Robbins, Jim Kingdon, David MacKenzie, Randy Smith
 tr: Jim Meyering
 true: Jim Meyering
+truncate: Pádraig Brady
 tsort: Mark Kettenis
 tty: David MacKenzie
 uname: David MacKenzie
diff --git a/ChangeLog-2008 b/ChangeLog-2008
index 279530a..d692adb 100644
--- a/ChangeLog-2008
+++ b/ChangeLog-2008
@@ -0,0 +1,25 @@
+2008-03-26  Pádraig Brady [EMAIL PROTECTED]
 
+	Add new program: truncate
+	* AUTHORS: Register as the author.
+	* NEWS: Mention this change.
+	* README: Add truncate command to list
+	* src/truncate.c: New command.
+	* src/Makefile.am: Add truncate command to list to build
+	* doc/coreutils.texi (truncate invocation): Add truncate info.
+	* man/Makefile.am: Add truncate man page to list to build
+	* man/truncate.x: Add truncate man page template
+	* tests/misc/Makefile.am: Add truncate tests
+	* tests/misc/help-version: Add support for new truncate command.
+	* tests/misc/truncate-dangling-symlink: check dangling link ok
+	* tests/misc/truncate-dir-fail: ensure dirs fail
+	* tests/misc/truncate-fail-diag: validate messages for missing paths
+	* tests/misc/truncate-fifo: ensure fifos ignored
+	* tests/misc/truncate-no-create-missing: ensure -c option honoured
+	* tests/misc/truncate-overflow: check signed integer overflows
+	* tests/misc/truncate-owned-by-other: root permissions check
+	* tests/misc/truncate-parameters: check invalid parameter combinations
+	* tests/misc/truncate-relative: check invalid relative sizes
 
 2008-02-07  Jim Meyering  [EMAIL PROTECTED]
 
diff --git a/NEWS b/NEWS
index 948bced..e3d059d 100644
--- a/NEWS
+++ b/NEWS
@@ -2,6 +2,10 @@ GNU coreutils NEWS-*- outline -*-
 
 * Noteworthy changes in release 6.?? (2008-??-??) [stable]
 
+** New programs
+
+  truncate: Set the size of a file to a specified size.
+
 ** Bug fixes
 
   configure 

Re: Bug#467378: coreutils: Please include a program to truncate files

2008-03-26 Thread Jim Meyering
Pádraig Brady [EMAIL PROTECTED] wrote:
 Subject: [PATCH] Add new program: truncate

Nice!
Thanks for doing all that.

Here's a first pass:

  - fix a typo s/tound/round/ :  [EMAIL PROTECTED]  = tound up to multiple of

  - please indent using only spaces (no TABs) and add this at the end of
the file:
/*
 * Local variables:
 *  indent-tabs-mode: nil
 * End:
 */

  - don't use a bare %s as a format string in a diagnostic;
instead, always include some English text to say what failed
or was unexpected.  E.g., this
   +  if (stat (ref_file, sb) != 0)
   +   error (EXIT_FAILURE, errno, %s, quote (ref_file));
would become this:
   +  if (stat (ref_file, sb) != 0)
   +error (EXIT_FAILURE, errno, _(cannot access %s), quote 
(ref_file));

  - I noticed this spacing oddity in a couple of places (space after *):
 +static int parse_len (const char *str, off_t * size);
You can fix that by adding this line to ~/.indent.pro:
  -Toff_t
and rerunning GNU indent:

  - Remove trailing blanks in these format strings:
  (I see that it makes diagnostics a little more symmetric, but all other
  tools emit no space before the : strerror(error) string, so it's
  better for consistency.  Another alternative: use quotearg_colon rather
  than just quote, since it's delimited on the right by a :, and most
  of the time, the quote()-supplied `...' delimiters are not useful)
 +   if (parse_len (optarg, size) == -1)
 + error (EXIT_FAILURE, errno, %s , quote (optarg));
 +   /* Rounding to multiple of 0 is nonsensical */
 +   if ((rel_mode == rm_rup || rel_mode == rm_rdn)  size == 0)
 + error (EXIT_FAILURE, EINVAL, %s , quote (optarg));

  - run make syntax-check:
   = The po-check failure would have told you that you need to add the
   file name, src/truncate.c to po/POTFILES.in.
   = Then, the sc_prohibit_safe_read_without_use failure would have
   told you to remove the unnecessary `#include safe-read.h' line.

  - Rather than relying on EOVERFLOW (which, as you note, may not apply),
how about just saying you can't use that file because its
size appears to be negative?
   + /* overflow is the only reason I can think
   +this would ever go negative for the above types */
   + error (0, EOVERFLOW, %s, quote (fname));
E.g.,
  error (0, 0, %s has unusable, apparently negative size, quote (fname));

  - I've made a point of avoiding prototypes for static functions (defining
usage before main, etc.), in most src/*.c files, so for consistency,
it'd be nice, but with just two simple functions here, it's not a big deal.

  - when you amend that commit, please leave an empty line between the first
line of the log message and all the remaining ones.  Otherwise, some git
tools end up using a *very* long (entire log concatenated) subject line.


___
Bug-coreutils mailing list
Bug-coreutils@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-coreutils


Re: coreutils not installable without extra features???

2008-03-26 Thread Dennis Heuer
On Wed, 19 Mar 2008 17:24:06 -0600
[EMAIL PROTECTED] (Bob Proulx) wrote:

 Dennis Heuer wrote:
  i tried to install coreutils onto a new partition as part of a plain
  new x86_64 system.
 
 Thanks for the report.  Bug reports and improvement suggestions are
 always welcome.  However some of your report wasn't clear enough for
 me to understand it.
 
 Are you trying to bootstrap create a from scratch build of
 everything?  Into a completely empty partition?

yes! for about a decade i use distros only as hosts for installation. 
no! only the most neccessary stuff to switch to the new system
early and do the rest on it natively. however, it gets harder because
the minimum install base gets bigger, more interdependend and greedier.

  i did this from a fedora8 system because my old one
  is a 32bit system.
 
 Is this from a 32-bit or a 64-bit host system?  If 32-bit I assume you
 are trying to cross-compile 64-bit binaries from a 32-bit compiler?
 That is certainly possible but rather tedious.  Since 64-bit systems
 are readily available it would be easier to bootstrap from a 64-bit
 system.  If you are doing something different then please explain.

the fedora8 version i use is for x86_64

  however, the fedora8 system is really more than
  feature-complete (including compatibility and deprecated stuff) and all
  the tool packages i installed linked to all of that freeheartedly.
 
 I think you just said that the system has a lot of libraries that you
 didn't realize were there and the coreutils ./configure found them and
 they were linked into your resulting binaries.  Now the program
 binaries that were installed are looking for libraries that don't
 exist.  Is that correct?

yes!
no! i was shure about the situation but wasn't aware of the coreutils
using this all with no option to stop them. 

  other packages, like util-linux, at least allowed for disabling this
  behaviour. coreutils doesn't provide such a --without-extras (or
  similar) option. this said, i now have a problem with all of the
  freshly installed coreutils searching for something (libtinfo,
  libselinux, etc.) when i try to start the plain new system to populate
  it natively. this is a great problem because the new system should be as
  small as possible to make stripping dependencies to the parent system
  as easy as possible.
 
  please support a 'plain' installation without extra dependencies.
 
 Bootstrapping a port from pristine source to a new architecture is not
 something that can be trivially done.  Have you looked at how other
 systems such as the Gentoo and Linux-From-Scratch projects do their
 bootstrapping?  There will be good insight and learning into how the
 process works by studying how others have done ports to new
 architectures before.  And since amd64 is pretty well known and
 one of the dominant architectures most of the underlying work of the
 port has already been done.

i'm not shure about what you're interpreting into my person. the last
ditro i used was a SuSE 5 or so (in the black yewel case, without carton
and nice cover graphics). i'm independent for about a decade now and
know how to install a new system. the point is a different one. the old
coreutils didn't rely on selinux and stuff and worked right out of the
box on a from scratch system (such a thing is not existing). the new
coreutils don't. and there is no way to reduce their greediness. i
tried some older coreutils versions but, on fedora8, some function
definitions caused conflicts with posix headers (futimens and others).
so i fell back to the old fileutils and textutils packages, which worked
fine.

 
 The way that I know that new systems have been bootstrapped is to
 create a small set required utilities that are needed to build the
 next layer of utilities which are needed to build the next level of
 utilities and so forth until it is done.  Eventually one gets to the
 point where they can build full projects directly but initially that
 doesn't work.  A layer of bootstrapping code must be ported first.  It
 reads to me that you are trying to jump in at the very end of this
 process without having done all of the earlier part of the process.

can you please tell me why coreutils is at the end of this process? is
it to install even after openoffice and friends? the coreutils MUST be
there even on the most simple but running and usable linux system
(think of ls, mv and cp.) please get aware of this. coreutils MUST be
installable without all the fancy new dependencies. it MUST also be
installable without compatibility but unneeded stuff like libtinfo.
ncurses installs this only at wish.

 What is your goal in doing this?  If it is simply a from scratch
 system then using one of the other source distributions such as I
 already mentioned would be able to provide you with a fully compiled
 from source system more easily.  They have already worked through the
 bootstrapping problems.  If you simply want an amd64 64-bit system
 then using one of the 

Not a bug, a wish

2008-03-26 Thread Samuel GRANJEAUD - IR/IFR137

Hello,

I thank you very much for devolopping coreutils that allows quick and 
simple replacement of SQL queries and check. What I would appreciate is 
a tool that does head and tail in one command, giving the top and bottom 
lines from a piped output.


Regards.



___
Bug-coreutils mailing list
Bug-coreutils@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-coreutils


Re: coreutils not installable without extra features???

2008-03-26 Thread Jim Meyering
Dennis Heuer [EMAIL PROTECTED] wrote:
 i tried to install coreutils onto a new partition as part of a plain
 new x86_64 system. i did this from a fedora8 system because my old one
 is a 32bit system. however, the fedora8 system is really more than
 feature-complete (including compatibility and deprecated stuff) and all
 the tool packages i installed linked to all of that freeheartedly.
 other packages, like util-linux, at least allowed for disabling this
 behaviour. coreutils doesn't provide such a --without-extras (or
 similar) option. this said, i now have a problem with all of the
 freshly installed coreutils searching for something (libtinfo,
 libselinux, etc.) when i try to start the plain new system to populate
 it natively. this is a great problem because the new system should be as
 small as possible to make stripping dependencies to the parent system
 as easy as possible.

 please support a 'plain' installation without extra dependencies.

It's already supported, albeit not well-documented,
because so few people want to do such things, these days.

Run ./configure something like the following, and
the resulting binaries won't link to SELinux-related libraries:

env \
  ac_cv_header_selinux_context_h=no \
  ac_cv_header_selinux_flask_h=no \
  ac_cv_header_selinux_selinux_h=no \
  ac_cv_search_setfilecon=no \
  ./configure


___
Bug-coreutils mailing list
Bug-coreutils@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-coreutils


Re: coreutils not installable without extra features???

2008-03-26 Thread Dennis Heuer
On Wed, 26 Mar 2008 22:38:07 +0100
Jim Meyering [EMAIL PROTECTED] wrote:

  please support a 'plain' installation without extra dependencies.
 
 It's already supported, albeit not well-documented,
 because so few people want to do such things, these days.
 
 Run ./configure something like the following, and
 the resulting binaries won't link to SELinux-related libraries:
 
 env \
   ac_cv_header_selinux_context_h=no \
   ac_cv_header_selinux_flask_h=no \
   ac_cv_header_selinux_selinux_h=no \
   ac_cv_search_setfilecon=no \
   ./configure

many thanks. still, could you please offer --disable-xxx options?

many thanks, again!

dennis


___
Bug-coreutils mailing list
Bug-coreutils@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-coreutils


Re: coreutils not installable without extra features???

2008-03-26 Thread Jim Meyering
Dennis Heuer [EMAIL PROTECTED] wrote:
 On Wed, 26 Mar 2008 22:38:07 +0100
 Jim Meyering [EMAIL PROTECTED] wrote:

  please support a 'plain' installation without extra dependencies.

 It's already supported, albeit not well-documented,
 because so few people want to do such things, these days.

 Run ./configure something like the following, and
 the resulting binaries won't link to SELinux-related libraries:

 env \
   ac_cv_header_selinux_context_h=no \
   ac_cv_header_selinux_flask_h=no \
   ac_cv_header_selinux_selinux_h=no \
   ac_cv_search_setfilecon=no \
   ./configure

 many thanks. still, could you please offer --disable-xxx options?

Sorry.  It's not worth my time right now.


___
Bug-coreutils mailing list
Bug-coreutils@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-coreutils


Re: Not a bug, a wish

2008-03-26 Thread Micah Cowan
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Samuel GRANJEAUD - IR/IFR137 wrote:
 Hello,
 
 I thank you very much for devolopping coreutils that allows quick and
 simple replacement of SQL queries and check. What I would appreciate is
 a tool that does head and tail in one command, giving the top and bottom
 lines from a piped output.

Do you literally mean just the one top line and one bottom line? That
could easily be achieved with the sed command: sed -n '1p;$p'.

If you need more lines, sed can still do it, but requires a bit more
work. You might look to a simple solution in
awk/Perl/your-scripting-language-of-choice.

- --
HTH,
Micah J. Cowan
Programmer, musician, typesetting enthusiast, gamer,
and GNU Wget Project Maintainer.
http://micah.cowan.name/
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.7 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFH6s8H7M8hyUobTrERArSOAJ9rBMUJuI8qRcyHWLx95UM8o8aUhACeIcGM
cT8GeCpjotLFHLQRI1ogEYI=
=SHiW
-END PGP SIGNATURE-


___
Bug-coreutils mailing list
Bug-coreutils@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-coreutils


Re: Not a bug, a wish

2008-03-26 Thread Martin Bernreuther
Hello,

Am Mittwoch, 26. März 2008 schrieb Micah Cowan:
  I thank you very much for devolopping coreutils that allows quick and
  simple replacement of SQL queries and check. What I would appreciate is
  a tool that does head and tail in one command, giving the top and bottom
  lines from a piped output.

I also think that such a command would be easier to use than head and tail,
which both just extract lines from a stream and therefore do a similar thing.

 Do you literally mean just the one top line and one bottom line? That
 could easily be achieved with the sed command: sed -n '1p;$p'.

Nice.

In my case I often want to extract some part of a file (or stream).
Consider something like
headtail 3:5 inputfile
and
head -n 5 inputfile | tail -n $[5-3+1]
The first version would be easier to understand and might
be more efficient to implement.
(I found the pipe mechanism for file sizes 100 GB not very reliable.)
Often you like to remove a header...
A negative number is sometimes used in scripting-languages
to mark or count from the end of the file like
headtail 2:-1 inputfile
To just remove the first line a combination of tail and wc
theoretically would work (quite inefficient)
tail -n $[`wc -l inputfile`-1] inputfile
You might also want to remove a footer like
headtail 2:-2 inputfile
Using head and tail: How does that work (with n header lines and m footer 
lines)?

Is there another easy way to do it? Is sed the command the way to go?

 If you need more lines, sed can still do it, but requires a bit more
 work. You might look to a simple solution in
 awk/Perl/your-scripting-language-of-choice.

No!!! I definitely don't want to use Perl or my-scripting-language-of-choice
for such an easy task. What is the sense of these tools then?
You probably master most of the coreutil-tasks also with these
scripting-languages-of-choice, don't you?

Martin Bernreuther
-- 
_
Martin Bernreuther  [EMAIL PROTECTED]


___
Bug-coreutils mailing list
Bug-coreutils@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-coreutils


Re: Bug#467378: coreutils: Please include a program to truncate files

2008-03-26 Thread Pádraig Brady
Take 2 attached
From 345b3af13f3e44d365535b93691ae897b5512805 Mon Sep 17 00:00:00 2001
From: =?utf-8?q?P=C3=A1draig=20Brady?= [EMAIL PROTECTED]
Date: Thu, 27 Mar 2008 01:11:25 +
Subject: [PATCH] Add new program: truncate

* AUTHORS: Register as the author
* NEWS: Mention this change
* README: Add truncate command to list
* src/truncate.c: New command
* src/Makefile.am: Add truncate command to list to build
* doc/coreutils.texi (truncate invocation): Add truncate info
* man/Makefile.am: Add truncate man page to list to build
* man/truncate.x: Add truncate man page template
* po/POTFILES.in: Add truncate to list to translate
* tests/misc/Makefile.am: Add truncate tests
* tests/misc/help-version: Add support for new truncate command
* tests/misc/truncate-dangling-symlink: check dangling link ok
* tests/misc/truncate-dir-fail: ensure dirs fail
* tests/misc/truncate-fail-diag: validate messages for missing paths
* tests/misc/truncate-fifo: ensure fifos ignored
* tests/misc/truncate-no-create-missing: ensure -c option honoured
* tests/misc/truncate-overflow: check signed integer overflows
* tests/misc/truncate-owned-by-other: root permissions check
* tests/misc/truncate-parameters: check invalid parameter combinations
* tests/misc/truncate-relative: check invalid relative sizes

Signed-off-by: Pádraig Brady [EMAIL PROTECTED]
---
 AUTHORS   |1 +
 ChangeLog-2008|   24 ++
 NEWS  |4 +
 README|3 +-
 doc/coreutils.texi|   80 +++-
 man/Makefile.am   |1 +
 man/truncate.x|6 +
 po/POTFILES.in|1 +
 src/Makefile.am   |2 +-
 src/truncate.c|  382 +
 tests/Makefile.am |4 +-
 tests/misc/Makefile.am|9 +
 tests/misc/help-version   |1 +
 tests/misc/truncate-dangling-symlink  |   35 +++
 tests/misc/truncate-dir-fail  |   14 ++
 tests/misc/truncate-fail-diag |   52 +
 tests/misc/truncate-fifo  |   38 
 tests/misc/truncate-no-create-missing |   31 +++
 tests/misc/truncate-overflow  |   52 +
 tests/misc/truncate-owned-by-other|   40 
 tests/misc/truncate-parameters|   43 
 tests/misc/truncate-relative  |   40 
 22 files changed, 859 insertions(+), 4 deletions(-)
 create mode 100644 man/truncate.x
 create mode 100644 src/truncate.c
 create mode 100755 tests/misc/truncate-dangling-symlink
 create mode 100755 tests/misc/truncate-dir-fail
 create mode 100755 tests/misc/truncate-fail-diag
 create mode 100755 tests/misc/truncate-fifo
 create mode 100755 tests/misc/truncate-no-create-missing
 create mode 100755 tests/misc/truncate-overflow
 create mode 100755 tests/misc/truncate-owned-by-other
 create mode 100755 tests/misc/truncate-parameters
 create mode 100755 tests/misc/truncate-relative

diff --git a/AUTHORS b/AUTHORS
index 807857f..89e82b7 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -87,6 +87,7 @@ test: Kevin Braunsdorf, Matthew Bradburn
 touch: Paul Rubin, Arnold Robbins, Jim Kingdon, David MacKenzie, Randy Smith
 tr: Jim Meyering
 true: Jim Meyering
+truncate: Padraig Brady
 tsort: Mark Kettenis
 tty: David MacKenzie
 uname: David MacKenzie
diff --git a/ChangeLog-2008 b/ChangeLog-2008
index aac9feb..5de93c6 100644
--- a/ChangeLog-2008
+++ b/ChangeLog-2008
@@ -1,3 +1,27 @@
+2008-03-26  Pádraig Brady [EMAIL PROTECTED]
+
+	Add new program: truncate
+	* AUTHORS: Register as the author
+	* NEWS: Mention this change
+	* README: Add truncate command to list
+	* src/truncate.c: New command
+	* src/Makefile.am: Add truncate command to list to build
+	* doc/coreutils.texi (truncate invocation): Add truncate info
+	* man/Makefile.am: Add truncate man page to list to build
+	* man/truncate.x: Add truncate man page template
+	* po/POTFILES.in: Add truncate to list to translate
+	* tests/misc/Makefile.am: Add truncate tests
+	* tests/misc/help-version: Add support for new truncate command
+	* tests/misc/truncate-dangling-symlink: check dangling link ok
+	* tests/misc/truncate-dir-fail: ensure dirs fail
+	* tests/misc/truncate-fail-diag: validate messages for missing paths
+	* tests/misc/truncate-fifo: ensure fifos ignored
+	* tests/misc/truncate-no-create-missing: ensure -c option honoured
+	* tests/misc/truncate-overflow: check signed integer overflows
+	* tests/misc/truncate-owned-by-other: root permissions check
+	* tests/misc/truncate-parameters: check invalid parameter combinations
+	* tests/misc/truncate-relative: check invalid relative sizes
+
 2008-02-07  Jim Meyering  [EMAIL PROTECTED]
 
 	We *do* need two different version files.
diff --git a/NEWS b/NEWS
index 5250ed8..42b9774 100644
--- a/NEWS
+++ b/NEWS
@@ -2,6 +2,10 @@ GNU coreutils NEWS-*- outline -*-