bug-coreutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: chown xxx.yyy, POSIX, and LSB


From: Tim Waugh
Subject: Re: chown xxx.yyy, POSIX, and LSB
Date: Mon, 23 Feb 2004 17:57:16 +0000
User-agent: Mutt/1.4.1i

On Mon, Feb 23, 2004 at 06:49:55PM +0100, Jim Meyering wrote:

> Let's hope the LSB is flexible on this, if they haven't
> already corrected things for the next version.

Version 1.3 says that '.' is supported, while the current 2.0 draft
says that it is deprecated (but still supported).  On the off-chance
that it can be removed altogether I filed this bug report:

http://bugs.linuxbase.org/show_bug.cgi?id=98

> > Is there any chance of making this new rejection behaviour dependent
> > on POSIXLY_CORRECT (i.e. having the old behaviour remain the default
> > in its absence), rather than only providing the old behaviour with
> > _POSIX2_VERSION=199209?
> 
> It wouldn't make sense to tie chown's accepting `.' in place of `:'
> to POSIXLY_CORRECT, since it would make chown interpret a.b as username
> `a' and group `b' while POSIX requires that it be interpreted
> as username `a.b'.
> 
> So I guess it'd be more like POSIXLY_INCORRECT :)

Just to be clear about what I mean, here is the patch I intend to
apply for the Fedora Core coreutils package:

--- coreutils-5.2.0/lib/userspec.c.allow_old_options    2004-02-23 
16:51:00.000000000 +0000
+++ coreutils-5.2.0/lib/userspec.c      2004-02-23 17:04:41.000000000 +0000
@@ -171,7 +171,8 @@
   separator = strchr (spec, ':');
 
   /* If there is no colon, then see if there's a `.'.  */
-  if (separator == NULL && posix2_version () < 200112)
+  if (separator == NULL && (posix2_version () < 200112 ||
+                           !getenv ("POSIXLY_CORRECT")))
     {
       dot = strchr (spec, '.');
       /* If there's no colon but there is a `.', then first look up the


Tim.
*/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]