From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 93249 invoked by alias); 22 Aug 2015 00:36:06 -0000 Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner@cygwin.com Mail-Followup-To: cygwin@cygwin.com Received: (qmail 93241 invoked by uid 89); 22 Aug 2015 00:36:05 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: Yes, score=5.4 required=5.0 tests=AWL,BAYES_50,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=no version=3.3.2 X-HELO: forward13.mail.yandex.net Received: from forward13.mail.yandex.net (HELO forward13.mail.yandex.net) (95.108.130.120) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Sat, 22 Aug 2015 00:36:00 +0000 Received: from smtp14.mail.yandex.net (smtp14.mail.yandex.net [95.108.131.192]) by forward13.mail.yandex.net (Yandex) with ESMTP id 4C102141624 for ; Sat, 22 Aug 2015 03:35:57 +0300 (MSK) Received: from smtp14.mail.yandex.net (localhost [127.0.0.1]) by smtp14.mail.yandex.net (Yandex) with ESMTP id 1A8D31B602CC for ; Sat, 22 Aug 2015 03:35:56 +0300 (MSK) Received: by smtp14.mail.yandex.net (nwsmtp/Yandex) with ESMTPSA id wcbsoerHnH-ZuZ4JQLD; Sat, 22 Aug 2015 03:35:56 +0300 (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client certificate not present) Authentication-Results: smtp14.mail.yandex.net; dkim=pass header.i=@aosc.xyz X-Yandex-ForeignMX: US From: "Mingye Wang (Arthur2e5)" Subject: 2.2.1: NTFS directory symlinks handling To: cygwin@cygwin.com Message-ID: <55D7C3E0.3020703@aosc.xyz> Date: Sat, 22 Aug 2015 00:36:00 -0000 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:40.0) Gecko/20100101 Thunderbird/40.0 MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="MLiUxIJX4vSiWigLUXPE1SgJxkWmuSBAR" X-SW-Source: 2015-08/txt/msg00370.txt.bz2 --MLiUxIJX4vSiWigLUXPE1SgJxkWmuSBAR Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Content-length: 1462 It is known that cygwin has a naive interpretation for NTFS symlinks, by translating those paths directly. This works fine with most cases, but when you link stuffs under `/` to somewhere like `../cygwin/home`, it simply breaks. I have a directory tree like this: |- cygwin/ |- home/ |- Arthur/ |- .gnupg/ (mklink /D .gnupg \Users\Arthur\Appdata\Roaming\gnupg) |- .ssh/ (mklink /D .ssh \Users\Arthur\.ssh) |- tmp/ |- 1.txt |- cygwin64/ |- tmp@ (mklink /D tmp ..\cygwin\tmp) |- home@ (mklink /D home ..\cygwin\home) It appears that those `.gnupg` and `.ssh` with an absolute path to the drive root was interpreted correctly, like `/cygdrive/c/Users/Arthur/.ssh`, but cygwin64's /tmp and /home breaks, with the following manner described: 1. Directly interacting with those paths, like attempting a `cd` into them, cause 'File not found' errors. Running `ls --color` on them gives a cyan color of it, but doesn't list their contents. 1. `readlink -n /tmp` gives naively translated paths like `../cygwin/tmp` which I believe what cygwin is using. Adding an extra link like `ln -s /cygdrive/c/cygwin` fixes this, by making that `/../cygwin` available. 2. bash also does some startup checking and warns me about '/tmp missing'. 2. Operations like reading the contents of those directories are not affected. For example, `cd` into `/home/Arthur` and running `cat` on `/tmp/1.txt`. `ls` works, too. --=20 Regards, Arthur2e5 --MLiUxIJX4vSiWigLUXPE1SgJxkWmuSBAR Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" Content-length: 884 -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQIcBAEBCAAGBQJV18PhAAoJEK4jzpUiLXvaMSYP/2Fi4zLEEo1rdhVLlBjDVWjy shJCjYIdJtSvfPNoOrHZDQAYF2/bCQmwkCVOP//3i8rf9+ctwKp/wgkai121MXwy VLLVxTV0wX8ny48t6gIZbUYyWo3rD9lPoh4/k3garl+mP1eO6Q6U1qwc+jnT+lAL adrwmRy0SgVfk7/QyZp4mOca+5hJz/Ii4Ih5w5TERca/vmzIF8b2hGlUm9GChK0R 4Rlh91Gs1Ef6STvZq54UH0GJ1+Kh1IOApey2Bhqi3R9g6qElGplJp+VPDXgDxFNc 2rP7fveG+IZmlrFnkIP8PRsFWw5G/KaJ3sxEeGTahqxCR18Y6z8jkkwhquYMPid3 RJCoPdNZQLmG3uZTOjnYihP8/+okjgguvt2GfYQ0B+fmHquu+8WAtKILXvzAZi5+ 7krHxzTFCVtBBsm9q5xlhuuI+7PT8TactQRMXd8D5S3BaktOf5L6G22W9TO2JlcI iYGOMU1PAxQynSvsZyEtZImhF2PANCt2AUprXa9F3hIj03JY5qnxouqsVvVNVt3O AC1NmcV1yyqn8115BlkalboYMkpHx5TJAibbTdwuZH7eNKSvd8CLK/MoTtFZggHp tBeau5QZ0Ayaj6RX4mGYTGrefQ9PLix/JSN3zMLqQ50wiCCckFubqKJvtzdhyWET 8S+H/fsobhyVULuNcNoy =fS2n -----END PGP SIGNATURE----- --MLiUxIJX4vSiWigLUXPE1SgJxkWmuSBAR--