X-Recipient: archive-cygwin@delorie.com
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 039F8386EC3F
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com;
	s=default; t=1621246362;
	bh=QA5ec0V6jVUTGUdz/28aQge2uptKCLh8uQW8jUCf1AQ=;
	h=Date:To:Subject:References:In-Reply-To:List-Id:List-Unsubscribe:
	 List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc:
	 From;
	b=JP8MKKDnW74OGhblwhFKsi9PMTeZ43LML2tTB5Uc7Hu8ixzartYHqtAgJiwa2A9+e
	 GIIDv9YfaJrdJ+LlA74qrXNrJzpTuB85eL8BH+2lWJlX1RfMPCBWFB9hPzvlHJkwxH
	 LilEzzkQryw8wS1uzKFoJ5Mpl8QwuntIbfV0pqgE=
X-Original-To: cygwin@cygwin.com
Delivered-To: cygwin@cygwin.com
DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 05CD33857C7E
Date: Mon, 17 May 2021 12:12:28 +0200
To: Jeremy Drake <cygwin@jdrake.com>
Subject: Re: realpath issue with native[strict] symlinks
Message-ID: <YKJBjDZSCpQ2TexJ@calimero.vinschen.de>
Mail-Followup-To: Jeremy Drake <cygwin@jdrake.com>, cygwin@cygwin.com,
 Orgad Shaneh <orgads@gmail.com>
References: <alpine.WNT.2.22.394.2105142102180.10796@persephone>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <alpine.WNT.2.22.394.2105142102180.10796@persephone>
X-Provags-ID: V03:K1:D8qPs/moJOsze75hkZX2SPEBXoLs4anzKHxyYxclmdadEyZmE7W
 pThD4d8YASCZRVlv7dBVTr4RMZO8WFg4zya1QSrg6/K39LRhd74U1yRRPMrR9OXs4cnp350
 thbNDLs9LJDyGpkHHEVlZHdmVKPJfuSqNTfgLcHifyA06+UsGbWgGQJefR8FxcLym+9OjtS
 E93VPAYCkhWlC7ia32ODA==
X-UI-Out-Filterresults: notjunk:1;V03:K0:Hi7tFZBaKe8=:e/oM6sqgTcVkZwZuKGvoso
 o1emCjBGHcvbKrpgewo7Ny+9l0tKs0B60dD89dUTmOb2+IskawfL+GDP88pPUBOgqBJaxJUHR
 asRdQguJkbSTCJlg7meWeZR51QDRfxRVtdxqwyATOIxbPvYsOEAmlH2gHPtwJ5Btk24eH4U4j
 vm/UNUpDF+/Y+d9JHwzLXeYJBOWDq9Ugqv53WhNPw9BlLci/2dtwnNfyvjnZkZftVPk45wjiC
 mhJlE8sKE1BPCZFwFzoBm4IY2O2eSpEIvugCVy2Qu354lSGUYCZ6y/9TRWVAo600xu1AmX953
 sm+A18l789cv3p2hB50G1ZnTR68yE+VPsHxGs5S455U8U7u7sXP6M0nZ/2IDHkK/jRkRIBmbs
 8oOHcsWbvWO/7aQjnOf9yB2OxMQoUdSwAJh9uYViXhQN5O/8ONu9bjmo1aHX38D6Z5dK2zkmS
 bTO0ToauViqMnz4EqOnZI64rrfZtf9BQZ+2cvVo4uNGxuX95cxWSC7YN4WJuu/ZhaIrKgixQo
 BVDP8rTLIQFnKG9UCbktGg=
X-Spam-Status: No, score=-100.3 required=5.0 tests=BAYES_00,
 GOOD_FROM_CORINNA_CYGWIN, KAM_DMARC_NONE, KAM_DMARC_STATUS, RCVD_IN_DNSWL_NONE,
 RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_NEUTRAL,
 TXREP autolearn=ham autolearn_force=no version=3.4.2
X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on
 server2.sourceware.org
X-BeenThere: cygwin@cygwin.com
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: General Cygwin discussions and problem reports <cygwin.cygwin.com>
List-Unsubscribe: <https://cygwin.com/mailman/options/cygwin>,
 <mailto:cygwin-request@cygwin.com?subject=unsubscribe>
List-Archive: <https://cygwin.com/pipermail/cygwin/>
List-Post: <mailto:cygwin@cygwin.com>
List-Help: <mailto:cygwin-request@cygwin.com?subject=help>
List-Subscribe: <https://cygwin.com/mailman/listinfo/cygwin>,
 <mailto:cygwin-request@cygwin.com?subject=subscribe>
From: Corinna Vinschen via Cygwin <cygwin@cygwin.com>
Reply-To: cygwin@cygwin.com
Cc: Corinna Vinschen <corinna-cygwin@cygwin.com>, cygwin@cygwin.com,
        Orgad Shaneh <orgads@gmail.com>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Errors-To: cygwin-bounces@cygwin.com
Sender: "Cygwin" <cygwin-bounces@cygwin.com>

On May 14 21:12, Jeremy Drake via Cygwin wrote:
> I apologize for not replying to the message properly, I am not subscribed
> and am copy-pasting from web archive.
> 
> On Sat, May 8, 2021 at 12:20 AM Corinna Vinschen wrote:
> > The changes have a behavioral change, but I think this is for the
> > better: Virtual drives are not treated as drives anymore, but as
> > symlinks.  Given they are just pointers to other drives or directories,
> > tha't much closer to reality.  I. e., in case of my above virtual drive
> > T:, what you'll see in the /cygdrive dir (unless your cygdrive prefix is
> > / only) is this:
> 
> I am concerned about this behavior.  The reason I was using subst to begin
> with was that some build tools encode the full path in their filenames,
> resulting in hitting MAX_PATH-related issues for not horribly long/deep
> paths.  With this change, running a native Windows process (MinGW-w64)
> from a subst drive results in what it sees as the CWD being 'dereferenced'
> as though subst was not used, defeating the path-shortening purpose.

Sorry, but there's only this or that, not both.  Either we revert the
entire change, including the native shortcut stuff, or we do it
completely and fully, including handling virtual drives as symlinks.

The alternative is to rewrite the path handling from scratch, which
is a massive undertaking I simply don't have the time for.

MAX_PATH is not of big concern anymore thiese days.  More recent Windows
10 allows long path names in the ANSI interface as well.  If you're using
dumb tools not being able to cope with such long paths, then use a wrapper
converting the affected paths back to a drive letter.

It might also be helpful to put matching functionality into the cygpath
tool.  Patches are welcome.


Corinna

-- 
Problem reports:      https://cygwin.com/problems.html
FAQ:                  https://cygwin.com/faq/
Documentation:        https://cygwin.com/docs.html
Unsubscribe info:     https://cygwin.com/ml/#unsubscribe-simple
