Forcing setup.exe not to create WSL symlinks

Jon Turney jon.turney@dronecode.org.uk
Wed Aug 26 20:55:45 GMT 2020


On 26/08/2020 19:29, Achim Gratz wrote:
> Michael Wild via Cygwin writes:
>> Is there a way to disable WSL symlinks when installing Cygwin with
>> setup.exe? Problem is that Docker on Windows apparently doesn't support
>> them (see https://github.com/moby/moby/issues/41058). I would like to use a

As a comment in that issue identifies [1], this isn't actually an issue 
with setup per se, but the post-install scripts it runs.

[1] https://github.com/moby/moby/issues/41058#issuecomment-674402289

setup itself always creates symlinks when unpacking packages as 
traditional Cygwin symlinks (a plain file containing a magic value and 
the path, which are only understood by Cygwin).

(Setup probably should match Cygwin's behaviour and/or have an option to 
specify how it creates symlinks)

>> custom Docker image for GitHub Actions to reproducibly build my packages
>> but am failing to build the base image because of this.
> 
> That description is not very clear.  If the symlinks are created during
> postinstall, then they should obey the value of CYGWIN environment that
> is in effect at that time.  If so, then the behaviour should start
> appearing with cygwin-3.1.5, which is the first release that has the
> code supporting these (and makes them the default).  I'm not aware that
> the behaviour of setup.exe has changed in that respect recently, but I
> haven't checked thoroughly.

It turns out to be the case that setup doesn't propagate the CYGWIN 
environment variable into the environment for scripts it runs, so 
setting that isn't going to make any difference.  That should probably 
be considered a bug.

However, even if that's fixed, there's no value for winsymlinks in 
CYGWIN env var to specify the behaviour of Cygwin 3.1.4 and previous 
(i.e. always create traditional symlinks, don't use WSL symlink reparse 
points)


More information about the Cygwin mailing list