This is the mail archive of the
mailing list for the Cygwin project.
Re: unzip, find broken by auto handling of .exe file extension
- From: cyg Simple <cygsimple at gmail dot com>
- To: cygwin at cygwin dot com
- Date: Fri, 2 Sep 2016 14:40:22 -0400
- Subject: Re: unzip, find broken by auto handling of .exe file extension
- Authentication-results: sourceware.org; auth=none
- References: <FDF650EB6B144CDE9983FC655ABFF5FA@skywavemobile.com>
On 9/1/2016 12:00 PM, Stephen Anderson wrote:
> I am in the process of importing zip archive contents into an SVN repo
> and have encountered problems when unzip-6.00 expands an archive
> containing an executable file in a directory that contains a
> subdirectory with the same base name as the executable. If the
> executable happens to occur after the subdirectory, unzip works, however
> if the executable is first, unzip fails with the error:
> checkdir error: testAutoExeExpansion/test exists but is not directory
> unable to process testAutoExeExpansion/test/.
How can a directory and a file of the same name exist? It can't and
because Cygwin stats the foo.exe to be foo then that is the filename
> Luckily I am able to use 7z extract, which does not exhibit the unzip
> problem and even allows me to exclude the culprit subdirectory (which
> luckily contains nothing I am interested in).
Unzip has the -x option to exclude archive items.
> In the process of trying to solve this problem, I used find-4.6.0 to try
> and delete the subdirectory after extracting with 7z to no avail.
> Even preceding the path match with a type directory spec find gets
> confused (so did the svn commit BTW).
Did you trail the name with / for the delete? The rmdir command should
work. You would use the -exec option with find to execute rmdir rather
than the delete function of find.
> The enclosed ruby unit test reproduces the minimal circumstances of the
> issue for both unzip and find.
> It is likely that this is a common problem somewhere in the bowels of
> file 'globbing' in cygwin only.
Yes and one that allows the stat of foo.exe by foo only so that it can
launch the application. It has existed since the beginning of Cygwin
and I doubt it will ever be resolved without requiring the full file
name for executables.
Problem reports: http://cygwin.com/problems.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple