cygwin 1.7: why there is a directory E/cygwin/dev in the tree of cygwin ?

Eric Blake eblake@redhat.com
Wed Mar 17 18:25:00 GMT 2010


On 03/17/2010 02:19 AM, rolandc wrote:
> I do not understand why the postinstall script bash.sh is so complex
> 
>     DEVDIR="$(cygpath -au "C:/$(cygpath -am /dev/)" | sed 's|/c/\(.\):/|/\1/|')"
>     mkdir -p "$DEVDIR" || result=1
> 
> it would be simple (too simple?) to
>     mkdir -p /dev || result=1

Yes, it would be too simple.  /dev already exists, so the mkdir would
fail to do anything useful.  We REALLY want to create the underlying
Windows directory at the same location at where /dev would be mounted,
and to do that, we really do want to know the windows location (drive
letter and all) of /.  Then, by using mkdir of that fancy windows path
that happens to live at the same place as where /dev normally resolves
to, then we can guarantee that /dev/stdin gets created as an actual
symlink in the windows heirarchy (since it does NOT resolve via the /dev
magic mount point), and that tab-completion can see any contents placed
into the windows counterpart directory.

-- 
Eric Blake   eblake@redhat.com    +1-801-349-2682
Libvirt virtualization library http://libvirt.org

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 323 bytes
Desc: OpenPGP digital signature
URL: <http://cygwin.com/pipermail/cygwin/attachments/20100317/b9b4962b/attachment.sig>


More information about the Cygwin mailing list