Cygwin doesn't support IO_REPARSE_TAG_APPEXECLINK

Marco Atzeri marco.atzeri@gmail.com
Sun May 24 09:33:56 GMT 2020


Reply always with mailing list in copy, please
and bottom posting as standard

On 23.05.2020 18:34, Kagami Rosylight wrote:
> Hi Marco,
> 
>>Not clear why you expect that a Windows specific tag as
> IO_REPARSE_TAG_APPEXECLINK should be supported on a Posix platform ?
> 
> https://cygwin.com/git/?p=newlib-cygwin.git;a=blob;f=winsup/cygwin/path.cc;h=36aa8278fd8495bdfe5ec82b8c36d7d3d7881ebb;hb=refs/heads/master#l2473 
> 
> 
> Because Cygwin already supports common reparse points (such as symlinks) 
> and APPEXECLINK is also a common one used by Microsoft Store. This issue 
> causes some CLI tools depending on MSYS2 (which again on Cygwin) to fail 
> calling system Python executable.
> 
>  > that seems a bit short to help third party in properly using it.
> 
> Good point, and that’s why I only could provide the prior works. 
> REPARSE_DATA_BUFFER_APPEXECLINK in the PowerShell patch shows how the 
> structure look like, but this definitely needs an official 
> documentation. I don’t think it’s a strict blocker given that there are 
> public working patches, though.
> 
> -Kagami
> 
> *From: *Marco Atzeri 
> *Sent: *Saturday, 23 May 2020 5:50 PM
> *To: *cygwin@cygwin.com , saschanaz@outlook.com 
> *Subject: *Re: Cygwin doesn't support IO_REPARSE_TAG_APPEXECLINK
> 
> On 23.05.2020 17:09, Kagami Rosylight via Cygwin wrote:
>  > Hi Cygwin community,
>  >
>  > I found that Cygwin can’t run UWP based CLI tools, as they expose 
> their executables as reparse points with the tag 
> IO_REPARSE_TAG_APPEXECLINK which Cygwin does not support.
>  >
>  > Way to reproduce this issue on Cygwin:
>  >
>  > 1. Install Python from Microsoft Store: 
> https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.microsoft.com%2Fen-us%2Fp%2Fpython-38%2F9mssztt1n39l&data=02%7C01%7C%7Ca89ae101a11349ad859008d7ff3113b0%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637258458551804597&sdata=NnwQ27A9WsjWdilY6nqF3WR0WnGUvzzeHoajB3onPpo%3D&reserved=0 
> (assuming you don’t already have python3.8 on your PATH.)
>  > 2. Try running `python3.8` on Cygwin. It will say 
> “/cygdrive/c/Users/Kagami/AppData/Local/Microsoft/WindowsApps/python3.8: 
> Permission denied”
>  > 3. Check it’s real path by `get-childitem -path 
> C:/Users/Kagami/AppData/Local/Microsoft/WindowsApps/python3.8.exe` on 
> PowerShell. It’s `C:\Program 
> Files\WindowsApps\PythonSoftwareFoundation.Python.3.8_3.8.1008.0_x64__qbz5n2kfra8p0\python3.8.exe`.
>  > 4. Try running python again with that path. This succeeds.
>  >
>  > I posted this issue on MSYS2 GitHub repo 
> (https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmsys2%2FMSYS2-packages%2Fissues%2F1943&data=02%7C01%7C%7Ca89ae101a11349ad859008d7ff3113b0%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637258458551804597&sdata=9Othhu3kprUrr7PcweU%2BXyj3Srqb47nK4vLNhgBI%2FlQ%3D&reserved=0) 
> but I think Cygwin is the right place to file this.
>  >
>  > Relevant prior works:
>  >
>  > * Python 
> https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fpython%2Fcpython%2Fcommit%2Fdf2d4a6f3d5da2839c4fc11d31511c8e028daf2c&data=02%7C01%7C%7Ca89ae101a11349ad859008d7ff3113b0%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637258458551804597&sdata=k6HtZ2Sl51OgudNjdbdmhcC12c6FTMM8%2F%2BoEv8gNlN0%3D&reserved=0
>  > * libuv 
> https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Flibuv%2Flibuv%2Fcommit%2Fe7ebae26247d2fee0a04547eb7f9aa8f78d4a642&data=02%7C01%7C%7Ca89ae101a11349ad859008d7ff3113b0%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637258458551804597&sdata=ulo1a%2Fy4iwjUK6BRAAi88VEMrXNlU8fIxxLptA6Y3uU%3D&reserved=0
>  > * PowerShell 
> https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FPowerShell%2FPowerShell%2Fpull%2F10331&data=02%7C01%7C%7Ca89ae101a11349ad859008d7ff3113b0%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637258458551804597&sdata=OhuYhKsNYkfCEB3trhdm6QF1wdzAhGdqRRTQi8V350w%3D&reserved=0
>  >
>  > Thanks,
>  >
>  > -Kagami
>  >
> 
> Not clear why you expect that a Windows specific tag as
> IO_REPARSE_TAG_APPEXECLINK should be supported on a Posix platform ?
> 
> Moreover all the documentation from MS seems
> 
> https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fopenspecs%2Fwindows_protocols%2Fms-fscc%2Fc8e77b37-3909-4fe6-a4ea-2b9d423b1ee4&data=02%7C01%7C%7Ca89ae101a11349ad859008d7ff3113b0%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637258458551814592&sdata=IdYc3OG4UdvTo2IJeSmwsSvaqcAFdsM3ZmhV2RicMqA%3D&reserved=0
> 
> that seems a bit short to help third party in properly using it.
> 
> Regards
> Marco
> 
> 
> PS: Python 3.8 is available as Cygwin binary
> 


have you tested

"cygstart 
/cygdrive/c/Users/Kagami/AppData/Local/Microsoft/WindowsApps/python3.8.exe 
  " ?


Regards
Marco


More information about the Cygwin mailing list