Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

POSIX conformance in coreutils



GNU coreutils (at least versions 5.2.1 and 5.3.0) enforce POSIX
conformance, so they don't like 'tail -1', instead they require
'tail -n 1'.

This causes problems in E01options.tst:

  # Count the number of directories on the stack.  Don't care what they are.
  dircount() { dirs -v | tail -1 | awk '{ print $1 + 1}'; }

tail: `-1' option is obsolete; use `-n 1'
Try `tail --help' for more information.


It's easy enough to change the E01options.tst script to use 'test -n
1', but that's probably not the right thing to do.

We could also add

_POSIX2_VERSION=199209

to the test.  This would probably not break older versions of tail,
and would force new versions of tail to accept the old syntax.  Patch
attached:

Index: ChangeLog
===================================================================
RCS file: /cvsroot/zsh/zsh/ChangeLog,v
retrieving revision 1.2463
diff -a -u -U0 -r1.2463 ChangeLog
--- ChangeLog	10 Jan 2005 18:43:19 -0000	1.2463
+++ ChangeLog	12 Jan 2005 00:58:28 -0000
@@ -0,0 +1,5 @@
+2005-01-11  Vin Shelton  <acs@xxxxxxxxxx>
+
+	* Test/E01options.ztst: Add _POSIX2_VERSION=199209 to silence new
+	coreutils' versions of tail.
+
Index: Test/E01options.ztst
===================================================================
RCS file: /cvsroot/zsh/zsh/Test/E01options.ztst,v
retrieving revision 1.13
diff -a -u -r1.13 E01options.ztst
--- Test/E01options.ztst	9 Sep 2004 15:03:31 -0000	1.13
+++ Test/E01options.ztst	12 Jan 2005 00:58:32 -0000
@@ -116,7 +116,7 @@
 >scalar
   
   # Count the number of directories on the stack.  Don't care what they are.
-  dircount() { dirs -v | tail -1 | awk '{ print $1 + 1}'; }
+  dircount() { dirs -v | _POSIX2_VERSION=199209 tail -1 | awk '{ print $1 + 1}'; }
   unsetopt autopushd
   cd tmpcd
   dircount

HTH,
  Vin



Messages sorted by: Reverse Date, Date, Thread, Author