X-Recipient: archive-cygwin AT delorie DOT com X-SWARE-Spam-Status: No, hits=-2.1 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_LOW,RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Date: Wed, 30 Nov 2011 16:17:34 -0600 (CST) From: Tim McDaniel To: cygwin AT cygwin DOT com Subject: ash is wrong about [ -w Temp ], so rebaseall fails Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed X-IsSubscribed: yes Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Windows 7, 64-bit, up-to-date Cygwin. I got "unable to remap to same address as parent" and did a rebaseall. It failed: $ /bin/rebaseall rebaseall: '/Users/TMCDAN~1/AppData/Local/Temp' is not writable I hand-disabled the condition that produced that and did some testing. I ran these commands in bash: $ [[ -d /Users/TMCDAN~1/AppData/Local/Temp ]] && echo yes || echo no yes $ [[ -w /Users/TMCDAN~1/AppData/Local/Temp ]] && echo yes || echo no yes $ [ -d /Users/TMCDAN~1/AppData/Local/Temp ] && echo yes || echo no yes $ [ -w /Users/TMCDAN~1/AppData/Local/Temp ] && echo yes || echo no yes $ /bin/ash -c ' [ -d /Users/TMCDAN~1/AppData/Local/Temp ] && echo yes || echo no ' yes $ /bin/ash -c ' [ -w /Users/TMCDAN~1/AppData/Local/Temp ] && echo yes || echo no' no $ /bin/ash -c ' [ -d /Users/tmcdaniel/AppData/Local/Temp ] && echo yes || echo no' yes $ /bin/ash -c ' [ -w /Users/tmcdaniel/AppData/Local/Temp ] && echo yes || echo no' no So bash and ash disagree on whether this Temp directory is writable. $ echo long > /Users/tmcdaniel/AppData/Local/Temp/long $ echo short > /Users/TMCDAN~1/AppData/Local/Temp/short $ ash -c 'echo ashlong > /Users/tmcdaniel/AppData/Local/Temp/ashlong' $ ash -c 'echo ashshort > /Users/TMCDAN~1/AppData/Local/Temp/ashshort' $ ls -l /Users/tmcdaniel/AppData/Local/Temp/*short* /Users/tmcdaniel/AppData/Local/Temp/*long* -rw-r--r--+ 1 tmcdaniel Domain Users 8 Nov 30 16:10 /Users/tmcdaniel/AppData/Local/Temp/ashlong -rw-r--r--+ 1 tmcdaniel Domain Users 9 Nov 30 16:11 /Users/tmcdaniel/AppData/Local/Temp/ashshort -rw-r--r--+ 1 tmcdaniel Domain Users 5 Nov 30 16:10 /Users/tmcdaniel/AppData/Local/Temp/long -rw-r--r--+ 1 tmcdaniel Domain Users 6 Nov 30 16:10 /Users/tmcdaniel/AppData/Local/Temp/short So bash is right about it being writable, and ash is wrong. (And /Users/tmcdaniel and /Users/TMCDAN~1 do indeed point to the same directory.) -- Tim McDaniel, tmcd AT panix DOT com -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple