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