Subject: bug#14152: closed (Re: bug#14152: [PATCH] build: use 'chmod a-w' instead of 'chmod -w')

From: [email-masked] (GNU bug Tracking System)
Date: Sun, 07 Apr 2013 01:23:02 +0000

Your bug report

#14152: [PATCH] build: use 'chmod a-w' instead of 'chmod -w'

which was filed against the coreutils package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
14152: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=14152
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#14152: [PATCH] build: use 'chmod a-w' instead of 'chmod -w'
From: Pádraig Brady <[email-masked]>
To: Bob Proulx <[email-masked]>
Cc: Enrico Scholz <[email-masked]>, [email-masked]
Date: Sun, 07 Apr 2013 02:19:25 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

On 04/06/2013 11:27 PM, Bob Proulx wrote:
> Pádraig Brady wrote:
>>> -	  && chmod -w $@-t						\
>>> +	  && chmod a-w $@-t						\
>>
>> I'll apply that fix.
> 
> I think it is always a good idea to use 'a' when there isn't any other
> specific reason to do anything different.  Or put the reverse way,
> whenever I see a naken "-[rwx]" then I am suspicious of the action.
> Because it masks with umask and is almost never what is desired.
> 
>> What system does the build fail on as a matter of interest.
> 
> This will occur on any system that has umask set to 022.  Here is an example:
> 
>   $ umask 022
>   $ touch foo
>   $ chmod ug+w foo
>   $ chmod -w foo
>   chmod: foo: new permissions are r--rw-r--, not r--r--r--
>   $ echo $?
>   1

But if the umask is 022, then those write bits shouldn't be set anyway?
You're forcing g+w above.

thanks,
Pádraig.

Subject: [PATCH] build: use 'chmod a-w' instead of 'chmod -w'
From: Enrico Scholz <[email-masked]>
To: [email-masked]
Cc: Enrico Scholz <[email-masked]>
Date: Sat, 6 Apr 2013 14:23:59 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

'chmod -w' is not portable and breaks the build:

| WARNING: Cannot create proper 'hostid.1' man page, since perl is missing or
| WARNING: inadequate on this system.  Creating a stub man page instead.
| chmod: man/hostid.1-t: new permissions are r--rw-r--, not r--r--r--
| make[2]: *** [man/hostid.1] Error 1

Signed-off-by: Enrico Scholz <[email-masked]>
---
 man/local.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/man/local.mk b/man/local.mk
index b5e6e21..53debad 100644
--- a/man/local.mk
+++ b/man/local.mk
@@ -192,5 +192,5 @@ man/yes.1:       src/yes
 		     --output=$$t/$$name.1 $$t/$$name			\
 	  && sed 's|$*\.td/||g' $$t/$$name.1 > $@-t			\
 	  && rm -rf $$t							\
-	  && chmod -w $@-t						\
+	  && chmod a-w $@-t						\
 	  && mv $@-t $@
-- 
1.8.1.4